星空网 > 软件开发 > 操作系统

Linux基础知识

1、Linux内核与发行版

  Linux本身指的是一个操作系统的内核,而内核是无法直接使用的,只有既包括内核又包括一些有用的应用程序的一个集合体,即Linux的发行版才是我们所需要的;

  Linux的发行版:Debian(Debian运行起来极其稳定,适合用于服务器)、Gentoo(包含数量众多的软件包)、Ubuntu(Ubuntu是Debian的一款衍生版,也是当今最受欢迎的免费操作系统)、红帽企业级Linux(第一款面向商业市场的Linux发行版)……

2、GUI和cmdline

  人机交互时,常用GUI或cmdline,Windows、Linux中既有GUI又有cmdline,但Windows中常用GUI,Linux中常用cmdline;

  GUI:图形用户界面,(Graphical User Interface,又称图形用户接口),是指采用图形方式显示的计算机操作用户界面;

  Linux基础知识images/loading.gif' data-original="http://images2015.cnblogs.com/blog/1104012/201702/1104012-20170223213722445-609546379.jpg" width="344" height="275">

  cmdline:命令行,(command line);

Linux基础知识

3、隐藏文件与非隐藏文件

  Windows:文件隐不隐藏是可以通过设置文件属性来实现的。在Windows中查看隐藏文件方法:菜单栏 工具->文件夹选项->查看->显示所有文件;

  Linux:隐藏文件以.开头,与文件属性无关。在linux中查看隐藏文件用ls -a命令;

4、绝对路径与相对路径

  路径(pathname):用来标识一个文件在文件系统中存储的位置;

  如:C:\Windows\test.c    全路径  pathname

    C:\Windows        路径   path

    test.c            文件名  name

  绝对路径:从某一盘符c:\开始(Windows)或根目录/开始的路径;

  相对路径:相对于现在位置开始的路径;

  如:C:\Windows\1\1.c

    C:\Windows\2\2.c

    当前在1.c,要去2.c,使用绝对路径:C:\Windows\2\2.c

                相对路径:../2/2.c

5、Linux常用命令

  (1) ls (list,列表):以列表形式把当前文件夹下的所有文件显示出来;

    ls -a  显示所有文件(包括隐藏文件)

    ls -l  显示文件的详细信息

    可以搭配起来使用:ls -al  ls -la  ls -a -l  ls -l -a

  (2) cd (change directory,变更目录):切换目录;

    cd ..  ..表示上一层目录

    cd .   .表示当前目录

  (3) pwd (print work directory,打印工作目录):打印出当前所在目录的绝对路径;

  (4) mkdir (make directory,创建文件夹):创建空文件夹;

    mkdir -p  级联创建空文件夹

  (5) mv (move,移动):在目录间移动文件,重命名文件;

    mv 源文件pathname 目的文件pathname

  (6) touch:创建空文件;

    touch pathname

  (7) cp (copy,复制):复制文件,文件夹;

    cp 源文件pathname 目的文件pathname

    cp -r  复制文件夹

    cp -f  强制复制

    实际使用时都是用cp -f来复制文件,用cp -rf来复制文件夹

  (8) rm (remove,移除):删除文件,文件夹;

    rm 文件pathname

    rm -r 文件夹pathname

  (9) cat:直接在文件夹下显示文件内容,或向文件输入;

  (10) rmdir (remove directory,移除文件夹):删除空文件夹;

    rmdir与rm -r的区别:rmdir只能删除空文件夹,而rm -r可以删除空文件夹与非空文件夹

  (11) ln (link,链接文件):类似于Windows中的快捷方式(实际上快捷方式和它指向的文件是独立的两个文件,都会占用内存);

    Linux中有两种连接文件:软链接(符号链接),类似于Windows中的快捷方式;

                  创建软链接文件:ln -s 源文件名 符号链接文件名

                硬链接,实际上和源文件是一模一样的两个东西,每次删除一个文件时,只要它还有其他的硬链接存在,这个文件就不会被真正的删除,

                只有把这个文件连同它的全部硬链接都删除了,这个文件才会被真正从硬盘上删除;

                  创建硬链接文件:ln 源文件名 链接文件名

  (12) man:查询man手册,获得帮助信息(退出man手册,按Q键);

    man 1 xxx  1表示查询的是Linux命令

    man 2 xxx  2表示查询的是Linux api

    man 3 xxx  3表示查询的是C库函数

  (13) apt-get:在ubuntu中在线安装、卸载软件的程序;

    apt-get install xxx    安装

    apt-get remove xxx   卸载

    为什么需要在线安装软件?

    由于Linux操作系统的发行版,内核版本,定制性等等问题造成了在不同的Linux中软件的不兼容性。要在Linux中安装软件很麻烦,装了软件能不能用不一定。

    ubuntu解决了这个问题,ubuntu就适合某个发行版(ubuntu14.04)的所有软件做了一个列表,然后用户通过apt-get install的方式安装软件,就会实时连接到

    ubuntu的服务器,服务器会根据你的ubuntu版本,给你下载合适的软件来安装。这样确保了软件的兼容性。

6、ls -l显示的详细信息(-rwxrw-rw-)中:一共10个字符,第一个字符表示文件类型,后面9个表示文件权限;

  文件类型:- 表示普通文件,即文本文件(.txt)、二进制文件等

       d 表示文件夹

        l 表示符号链接文件,后面会用->打印出它所指向的文件

       s 表示socket文件

       p 表示管道文件

7、vi编辑器:Linux中常用的编辑器,另外还有gedit编辑器等,其vim是vi的升级版,后面提到的vi其实都是vim;

  (1) vi的使用:vi pathname

  (2) vi的命令模式:当vi打开时默认为命令模式,此时键盘上输入的所有东西都被vi当作命令来对待。

      vi的输入模式:输入模式用来向文件输入内容。在命令模式中按A或I键则转入输入模式。进入输入模式后,就可以随意按键盘进行输入了。输入完成后如果要保存,要先退

           回到命令模式(因为保存也是一种命令),即在输入模式下按ESC键退回到命令模式。

  (3) 保存命令:  :wq  保存并退出

             :w   保存但不退出

           :q    不保存退出

           :q!   不保存强制退出

           :wq!   保存并强制退出

  (4) vi的一些命令(均在命令模式下):

    /xxx      查找xxx

    :num       快速切换到num行

    :set nu      显示行号

    :set nonu    不显示行号

      注:设置永久显示行号,修改vi的配置文件~/.vimrc,在其中输入set nu即可;

    dd       删除光标所在行

    4dd       删除连续行

    nyy        复制,需把光标放在多行的第一行

    p         粘贴到光标所在的下一行

8、Linux中的权限表示与管理:

  (1) 普通用户与特权用户:

    普通用户:一般情况下我们使用的都是普通用户,每个普通用户只能处理自己的文件,不能访问其他用户的文件,更不能随意处理操作系统的文件;

    特权用户:系统的管理员,对系统内所有文件具有操作权限;

    Windows/Linux中的普通用户可以有很多个,而特权用户在Windows中是Administrator,在Linux中是root;

    在Linux中,普通用户不能cd /root,也不能用apt-get install来装软件,……;

    使用su可以在不同用户间来回切换:su 用户名;

    使用sudo可以不需切换用户而暂时获取root权限;

  (2) Linux中的权限:

    ls -l显示的详细信息(-rwxr-xrw-)中:一共10个字符,第一个字符表示文件类型,后面9个表示文件权限;

    文件类型:- 表示普通文件,即文本文件(.txt)、二进制文件等

         d 表示文件夹

          l 表示符号链接文件,后面会用->打印出它所指向的文件

         s 表示socket文件

         p 表示管道文件

    权限表示:r 表示可读,w 表示可写,x 表示可执行

       如:rwx  可读,可写,可执行

         r-x   可读,不可写,可执行

         rw-   可读,可写,不可执行

    后9个字符,每3个一组,第1组表示文件属主的权限,第2组表示属主所在的组用户的权限,第3组表示其他用户的权限;

9、虚拟机中的Linux上网:

  (1) VMWare中网络有三种设置:NAT、桥接(bridged)、Host only(该模式仅主机可上网,虚拟机上不了网);

  (2) NAT方式:设置较简单,但不能用在嵌入式开发中。设置步骤如下:

         step1:菜单栏中的虚拟机 -> 设置 -> 硬件 -> 网络适配器,右侧选择NAT模式;

         step2:在命令行中输入vi /etc/network/interfaces,打开该文件,将内容编辑如下:

              auto lo

              iface lo inet loopback

              auto eth0
              iface eth0 inet dhcp
              address 192.168.1.141
              netmask 255.255.255.0
              gateway 192.168.1.1

             关键是dhcp处,最后三行可以不要;

         step3:在命令行中执行/etc/init.d/networking  restart 来重启网卡即可;

  (3) 桥接方式:设置较麻烦(相对而言),但可用于嵌入式开发中。设置步骤如下:

         step1:菜单栏中的虚拟机 -> 设置 -> 硬件 -> 网络适配器,右侧选择桥接模式;

         step2:在菜单栏中的编辑 -> 虚拟网络编辑器,选择桥接到自己Windows中可以上网的网卡上(一般就是Wifi网络或者有线网络);

         step3:在命令行中输入vi /etc/network/interfaces,打开该文件,将内容编辑如下:

              auto lo

              iface lo inet loopback

              auto eth0
              iface eth0 inet dhcp
              address 192.168.1.141
              netmask 255.255.255.0
              gateway 192.168.1.1

              保存并退出。关键是dhcp处,最后三行可以不要;

           step4:在命令行中执行/etc/init.d/networking  restart 来重启网卡即可;

10、Linux命令补充:这些命令的掌握与否不影响你的一般操作,因此不必可以去背,除非你是搞Linux运维的,但是如果掌握将有助你熟练操作Linux;

  (1) find:在文件系统中查找一个文件,但得知道其文件名;

    find 大概路径 -name "文件名"

  (2) grep:在文本文件中,查找某个词;

    grep -nr "要查找的符号" 要查找的目录或文件集合    -n表示在查找结果中显示行号,-r表示使用递归查找

  (3) which与whereis:查找一个应用程序(二进制文件)的位置;

    which 文件名      只显示二进制文件的路径

    whereis 文件名     显示二进制文件的路径,和其源码或man手册位置

  (4) uname:查看系统信息;

    uname -a

  (5) 开机与关机:

    shutdown -h now    立即关机

    init 0            关机

    shutdown -r now     立即重启

    reboot            重启

  (6) tree与lstree:显示文件和目录由根目录开始的树形结构;

  (7) mount与umount:挂载磁盘到文件系统中;

    mount -t nfs -o nolock 192.168.1.141:/root/rootfs /mnt    挂载

    umount /mnt    卸载

  (8) 磁盘空间相关:

    df -h    显示已挂载的分区列表

    du -h     以人容易识别的方式列出文件或文件夹的大小

  (9) 用户管理:

    useradd user1    添加一个名为user1的用户

    userdel user2     删除一个名为user2的用户

    passwd user3     为名为user3的用户设置密码

    adduser user4    添加一个名为user4的用户,同时创建宿主目录,用户shell

    注:adduser是一个脚本,而useradd则是一个二进制应用程序。用adduser创建用户时比较麻烦,但是一次设定完所有的信息;

      而用useradd创建用户时较简单,但是需要另外设置宿主目录,密码那些信息。

  (10) 权限管理:管理系统中文件的权限;

    chmod    change mode,修改文件权限(常用)

    chown     change owner,修改属主

    chgrp      change group,修改文件的组

    权限可以使用数字来表示:r   可读    4

                w  可写    2

                x   可执行   1

                -   无权限   0

    如:rwxr-xrw-对应756

    第1种修改权限的方法:如把权限改为rwxr-xrw-,则修改命令为:chmod 756 文件名

    第2种修改权限的方法:在原来的权限基础上进行修改,即增加或减少某项权限。三个组用户的编码依次为:属主 u  属主所在的组 g  其他用户 o

             如 :要属主增加可写权限    chmod u+w 文件名

                其他用户减少可读权限   chmod o-r 文件名

  (11) 文件打包、压缩与解压缩:

    tar -czvf dir.tar.gz dir/      将dir目录打包成dir.tar.gz

    tar -cjvf dir.tar.bz2 dir/       将dir目录打包成dir.tar.bz2

    tar -zxvf dir.tar.gz        解压缩dir.tar.gz

    tar -jxvf dir.tar.bz2         解压缩dir.tar.bz2

  (12) 网络配置命令

    ifconfig eth0 192.168.5.19                  设置IP地址

    ifconfig eth0 up                         启动网卡

    ifconfig eth0 down                       禁用网卡

    ifup eth0                            启动网卡

    ifdown eth0                          禁用网卡

    ifconfig eth0 192.168.5.19 netmask 255.255.255.0      同时设置IP和子网掩码

(以上所述内容为学习朱老师的嵌入式课程后复习笔记所得,目的是自己复习巩固知识,同时把自己学到的知识分享出来。能力有限,水平一般,如有错误,欢迎指正,谢谢!)

2017-02-24 22:15:52




原标题:Linux基础知识

关键词:linux

*特别声明:以上内容来自于网络收集,著作权属原作者所有,如有侵权,请联系我们: admin#shaoqun.com (#换成@)。
相关文章
我的浏览记录
最新相关资讯
海外公司注册 | 跨境电商服务平台 | 深圳旅行社 | 东南亚物流