![Linux嵌入式系统开发从小白到大牛](https://wfqqreader-1252317822.image.myqcloud.com/cover/667/41398667/b_41398667.jpg)
2.2 Linux操作系统基本命令
Linux操作系统之所以学习起来比较困难,首先是因为系统的基本命令比较多,其次是命令需要跟着各种参数。因此在刚开始学习Linux操作系统时,要先熟悉基本命令和常用命令,切忌对着系统命令死记硬背,这样会增加学习难度,容易受挫。我们要边学边用边记忆,这样在学习Linux操作系统过程中就熟悉了命令,随着学习内容的深入,会渐渐明白基本命令的执行过程,更加有利于理解和记忆Linux系统命令。
2.2.1 Linux操作系统权限管理
Linux操作系统不是单一用户的操作系统,它是多用户操作系统,主要分为普通用户权限和超级用户权限。超级用户权限最大,可以访问系统的所有文件,而普通用户只能访问不受限制的文件,对于系统命令也是如此。
在学习Linux操作系统基本命令之前,首先需要了解Linux操作系统的权限管理,要知道在Linux操作系统下,有三种不同类型的用户,分别是user用户(也称为文件用户)、group用户(同组用户)和访问系统的others用户(其他用户)。除了三种用户类型以外,Linux系统还设置了rwx权限。图2-1显示了文件的读写属性。
![](https://epubservercos.yuewen.com/DEDA9F/21570843408785506/epubprivate/OEBPS/Images/29_01.jpg?sign=1739701901-7MWPHTpojtBDejv1RWNTJEAcvFMj6mz9-0-3959859d879833903b3845bab18a21a0)
图2-1 普通用户home目录文件的详细信息
小白成长之路:Linux操作系统的rwx权限
1)r(Read,读取):对文件而言,具有读取文件内容的权限;对目录来说,具有浏览目录信息的权限。
2)w(Write,写入):对文件而言,具有新增、修改文件内容的权限(但不含删除该文件);对目录来说,具有新建、删除、修改、移动目录内文件的权限。
3)x(eXecute,执行):对文件而言,具有执行文件的权限;对目录来说,该用户具有进入目录的权限。
1.Linux操作系统的rwx权限
文件的rwx权限整体上分为4部分,分别是文件类型、用户权限、同组用户权限和其他用户权限,如图2-2所示。
![](https://epubservercos.yuewen.com/DEDA9F/21570843408785506/epubprivate/OEBPS/Images/30_01.jpg?sign=1739701901-o4YBdMZgnzRvzhZ6DoR110U2twNprozL-0-2db3cf3a890784ba0aec8adaf9e6434e)
图2-2 文件的rwx权限分类
Linux的文件类型分别有文件夹(d表示)、普通文件(-表示)、链接(l表示)、块设备文件(b表示)、管道文件(p表示)、字符设备文件(c表示)以及套接口文件(s表示)。
user权限:第2~4位表示这个文件的属主拥有的权限。r是读、w是写、x是执行。
group权限:第5~7位表示和这个文件属主所在同一个组的用户所具有的权限。
other权限:第8~10位表示其他用户所具有的权限。
2.权限修改
权限修改是为了给文件类型添加或者删除不同用户权限的读、写、执行权限,为了方便权限的修改,这里使用数字修改权限记忆法。我们将图2-2的文件rwx属性分类重新定义,除了文件类型,每个组设置3位八进制数表示形式,如图2-3所示。
![](https://epubservercos.yuewen.com/DEDA9F/21570843408785506/epubprivate/OEBPS/Images/30_02.jpg?sign=1739701901-IfvSwWq9GGFmhNl57nvkZTe8ZEqMGY4X-0-c9553404d275650d4697171452805d8a)
图2-3 文件的rwx权限数字表示形式
小白成长之路:~$、/$、~#和/#的含义
1)$:表示普通用户。
2)#:表示超级用户。
3)~:表示home目录。
4)/:表示根目录。
3.修改文件夹的权限
下面将介绍如何使用命令修改文件夹的权限,操作步骤如下。
Step 1 首先在pillar用户下新建new文件夹,然后查看详细信息,如图2-4所示。
![](https://epubservercos.yuewen.com/DEDA9F/21570843408785506/epubprivate/OEBPS/Images/31_01.jpg?sign=1739701901-1OEi481b7sHOEk4OBJ0A0UtSfXfs14PN-0-796f05c2cb671c1caabd889e63a851e5)
图2-4 查看new文件夹详细信息
Step 2 修改new文件夹的other权限下的写入权限,如图2-5所示。
![](https://epubservercos.yuewen.com/DEDA9F/21570843408785506/epubprivate/OEBPS/Images/31_02.jpg?sign=1739701901-Fm7qrqqu9zvJkkYJEjGHAsIuLt9jevvL-0-80c5d45f56c82fd21a473f2b548d1922)
图2-5 修改new文件夹other用户的写权限
Step 3 限制user用户权限下的读、写权限,如图2-6所示。
![](https://epubservercos.yuewen.com/DEDA9F/21570843408785506/epubprivate/OEBPS/Images/31_03.jpg?sign=1739701901-PSbPGHDRFGYEvZHup3zSWMn7dRfAHE52-0-2502fe6d016ea9f9894d34fcfa845788)
图2-6 限制pillar用户读、写权限
小白成长之路:su和sudo的区别
• su命令是系统用来切换用户的,sudo则表示使用超级用户来执行命令,一般指root用户。
·在Linux系统命令中输入su命令,默认是切换到root用户下,而使用sudo命令是查看当前用户下可以使用sudo执行的命令。
2.2.2 Linux常用基本命令
Linux操作系统和Windows操作系统使用方式最大的不同在于,Linux使用命令的方式和计算机进行交互,而Windows操作系统使用友好的窗口方式和用户交互,因此学习使用Linux操作系统的难度要远远大于Windows操作系统。Linux操作系统命令种类繁多,命令参数丰富,因此用户在刚开始学习Linux操作系统时,不需要掌握全部的操作命令,先掌握常用的基本命令即可。
1.ls文件信息列表命令
ls命令用于查看当前目录的文件信息,常用参数-l,查看文件详细信息;参数-a查看当前目录所有文件,包括隐藏文件;参数-al,综合了列表查看和全部查看内容,如图2-7和图2-8所示。
![](https://epubservercos.yuewen.com/DEDA9F/21570843408785506/epubprivate/OEBPS/Images/32_01.jpg?sign=1739701901-mH11kRemRzMWnZ225407Dzp3qgjf0oPK-0-7a4d9778eb2a468127289ad0a2322628)
图2-7 ls、ls-l、ls-a命令
![](https://epubservercos.yuewen.com/DEDA9F/21570843408785506/epubprivate/OEBPS/Images/32_02.jpg?sign=1739701901-48B3S2WvdnHkLCIpUiniBcv0kiezsuvc-0-6f5115a087840b8eeff13b503b5ce434)
图2-8 ls-al命令
2.pwd当前工作目录打印命令
pwd命令用于打印当前工作目录的绝对路径,如图2-9所示。
![](https://epubservercos.yuewen.com/DEDA9F/21570843408785506/epubprivate/OEBPS/Images/32_03.jpg?sign=1739701901-59a4BD47gcmUw4URQvzlwWZPAsIIJrWs-0-0f37c871aad33096072c00b542e1d45b)
图2-9 pwd命令
3.cd目录切换命令
cd命令用于在目录间切换,常用的方式为cd[目录参数]。目录参数只能是相对目录或者绝对目录,其中cd~表示用户切换到用户目录,cd/代表用户切换到根目录,cd.表示当前目录,cd..代表返回上级目录,如图2-10所示。
![](https://epubservercos.yuewen.com/DEDA9F/21570843408785506/epubprivate/OEBPS/Images/32_04.jpg?sign=1739701901-7M53udkbN1xcWfCNdu4Gu4ajcpWExv6B-0-e704e9a4b6dddee2461a96b31acc85e8)
图2-10 cd命令
4.mkdir文件夹创建命令
mkdir命令用于创建目录,在pillar目录下,使用mkdir file命令创建了一个名为file的空白文件夹,如图2-11所示。
![](https://epubservercos.yuewen.com/DEDA9F/21570843408785506/epubprivate/OEBPS/Images/33_01.jpg?sign=1739701901-KNkSfJFK4XU0BUQylXxmUuMenz1ZZltg-0-9cece0bd7a446a26f26eadd096b58f71)
图2-11 mkdir命令
5.touch创建文件命令
touch为创建空白文件命令,如图2-12所示。
![](https://epubservercos.yuewen.com/DEDA9F/21570843408785506/epubprivate/OEBPS/Images/33_02.jpg?sign=1739701901-IVBsd8ggASUUm3j7ZmTSnzMbVMGriEWf-0-6b74d7756b5c6e6cc44ee2158506c444)
图2-12 touch命令
6.rm删除文件命令
rm命令用于删除文件或文件夹,rm pathname删除文件,-r参数删除文件夹,-rf参数以递归方式删除文件夹及其文件,如图2-13所示。
![](https://epubservercos.yuewen.com/DEDA9F/21570843408785506/epubprivate/OEBPS/Images/33_03.jpg?sign=1739701901-rTR6s6wqUNH8eNeRLNFh3QfM35bTXM1O-0-1c4f1855cb46e9a78f9a539b26eaf570)
图2-13 rm命令
7.chmod文件权限修改命令
Linux的文件调用权限分为三级:文件拥有者、群组和其他。用户可以利用chmod命令修改文件的权限,如图2-14所示。
![](https://epubservercos.yuewen.com/DEDA9F/21570843408785506/epubprivate/OEBPS/Images/34_01.jpg?sign=1739701901-mHVRoNGVAxPn7O12qI7qZRPQYOE5lk2o-0-bc6aec684d3bec48274520a67a3c73fe)
图2-14 chmod命令
8.find文件查找命令
Linux操作系统下的查找命令,常用的有find命令,该命令是根据文件的属性进行查找,如文件名、文件大小、所有者、所属组、是否为空、访问时间以及修改时间等,其中/代表全盘搜索,也可以指定目录搜索,如图2-15所示。
![](https://epubservercos.yuewen.com/DEDA9F/21570843408785506/epubprivate/OEBPS/Images/34_02.jpg?sign=1739701901-bHtqoOWxMuGO0wNnOh3x0CmLRFIFBoXW-0-1d1a242662b5047917b955ed3a6e93b5)
图2-15 find命令
9.mv文件移动命令
mv是文件或者目录移动操作命令,作用是将指定的文件或目录移动到指定的位置。此外,mv命令还用于重命名文件和目录。例如,让我们将一个名为amy的文件从当前工作目录移动到一个名为test的现有子目录中,同时将文件的名称更改为first,如图2-16所示。
![](https://epubservercos.yuewen.com/DEDA9F/21570843408785506/epubprivate/OEBPS/Images/34_03.jpg?sign=1739701901-qVjAIfx4NLP82aDLEJIZ5qTwHRXh1Yip-0-e1ab218fa0e1163daae06879d08eaad8)
图2-16 mv命令
10.apt-get安装包管理工具命令
apt-get通常用于主流Linux系统,包括Debian和Ubuntu,是Linux系统在线安装、卸载软件的程序,apt-get install tree和apt-get remove tree命令的应用如图2-17和图2-18所示。
![](https://epubservercos.yuewen.com/DEDA9F/21570843408785506/epubprivate/OEBPS/Images/35_01.jpg?sign=1739701901-AvzZUgxeG4m0J00lgk5umK2BA7Lnu2l9-0-c5797b40bed9a15ce7aad8c4427aa4a3)
图2-17 apt-get install tree命令
![](https://epubservercos.yuewen.com/DEDA9F/21570843408785506/epubprivate/OEBPS/Images/35_02.jpg?sign=1739701901-qNmmu6S4lx9adtAikJsAsTbWxFMn7xhU-0-301478daa4262da30f4db52f4daf7898)
图2-18 apt-get remove tree命令
本小节主要讲解了Linux常用的基本命令,在学习的时候,切忌死记硬背,随着内容的继续讲解,学习的命令会越来越多,大家在学习的时候,要多动手、多实践,这样才能更好且熟练地掌握Linux的命令。
小白成长之路:关于apt-get命令
apt-get命名的安装和卸载都是在线的,也就是说Ubuntu必须联网才能使用apt-get。
apt-get安装软件的原理:由于Linux操作系统的发行版、内核版本众多且本身具备高度灵活的定制性等特点,造成了Linux中软件的不兼容性。在Linux中安装软件是一件困难的事情,有时装了软件不一定能用。Ubuntu解决了这个问题,Ubuntu为适合某个发行版的所有软件做了一个列表,用户通过apt-get install的方式安装软件,就会实时连接到Ubuntu服务器,服务器会根据当前的Ubuntu版本,下载合适的软件来安装。这样确保了软件的兼容性。
apt=apt-get、apt-cache和apt-config中最常用命令选项的集合。