![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=1738886346-D3xWAfI6PMfOvQnQh80znq25v7PaLhko-0-82f00dddb8cb3572cdd21c7f8d70e832)
图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=1738886346-qOedkq8mDbMkp0PIImXR5JrDNR8MJF6z-0-519f63f4917adac92e141844086ec40b)
图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=1738886346-xNG5x5SB4ylVJ3euFViI9avd8EUq1s6K-0-ed9b28cba4f70d448f6823afb2893d8f)
图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=1738886346-gPwcRH8xyWG6DNzSiJJrkjJVgblo9fs3-0-697f93d991a62c21ed2238a8a73266f6)
图2-4 查看new文件夹详细信息
Step 2 修改new文件夹的other权限下的写入权限,如图2-5所示。
![](https://epubservercos.yuewen.com/DEDA9F/21570843408785506/epubprivate/OEBPS/Images/31_02.jpg?sign=1738886346-pMS551k2EH7BNCvWFFX7kCxOku9YCfdx-0-a038116cf29aeda250fe813ea4c5b6b2)
图2-5 修改new文件夹other用户的写权限
Step 3 限制user用户权限下的读、写权限,如图2-6所示。
![](https://epubservercos.yuewen.com/DEDA9F/21570843408785506/epubprivate/OEBPS/Images/31_03.jpg?sign=1738886346-mMJVVWg7sAL7jzQE7fu4qcsRdBgxImYW-0-2de913bb83eebf19f4351b976178d241)
图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=1738886346-KuPelCYiQ8cbHS3GJSSrBjUZuEa3VyEq-0-95227f7f22dda8b483af36a099ac3fee)
图2-7 ls、ls-l、ls-a命令
![](https://epubservercos.yuewen.com/DEDA9F/21570843408785506/epubprivate/OEBPS/Images/32_02.jpg?sign=1738886346-fXNlKMj4eUzjFxe5jer0FqB0VD89uIgW-0-3c11e3a2e1bf429784e9b62d734027bf)
图2-8 ls-al命令
2.pwd当前工作目录打印命令
pwd命令用于打印当前工作目录的绝对路径,如图2-9所示。
![](https://epubservercos.yuewen.com/DEDA9F/21570843408785506/epubprivate/OEBPS/Images/32_03.jpg?sign=1738886346-YkV2AJ3IBGLS17X0dAKgd1tY0y0EFTIZ-0-0aeb4abd80d179187adf164e6fd83925)
图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=1738886346-LY4zne3SWoH7aLRLp12USqIDthby5sP7-0-0225434fcd23136837784eabbd13808a)
图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=1738886346-qQbZUuFNugYTlpZk6FxxAq62NmJFgJFZ-0-baf22ccc0e3da03f5c25da098e4ad9a6)
图2-11 mkdir命令
5.touch创建文件命令
touch为创建空白文件命令,如图2-12所示。
![](https://epubservercos.yuewen.com/DEDA9F/21570843408785506/epubprivate/OEBPS/Images/33_02.jpg?sign=1738886346-7HREU4hH1MGfMiUkuq0jZxg5Gaspn6SX-0-cfbb2f8977fbe9f57478b93885b575c1)
图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=1738886346-pfSWw4YeHtz0Yhvk6GsaSNlaHGTyOejc-0-d377878494ad6605c65ff44e0fa18dcd)
图2-13 rm命令
7.chmod文件权限修改命令
Linux的文件调用权限分为三级:文件拥有者、群组和其他。用户可以利用chmod命令修改文件的权限,如图2-14所示。
![](https://epubservercos.yuewen.com/DEDA9F/21570843408785506/epubprivate/OEBPS/Images/34_01.jpg?sign=1738886346-xSOrpsWfQCZegKRR6ev3BlS0MZsfM5Ch-0-c2c6c6ad54b4631b72bc31582b2a4cc6)
图2-14 chmod命令
8.find文件查找命令
Linux操作系统下的查找命令,常用的有find命令,该命令是根据文件的属性进行查找,如文件名、文件大小、所有者、所属组、是否为空、访问时间以及修改时间等,其中/代表全盘搜索,也可以指定目录搜索,如图2-15所示。
![](https://epubservercos.yuewen.com/DEDA9F/21570843408785506/epubprivate/OEBPS/Images/34_02.jpg?sign=1738886346-YxNgmtjq40KlYjqtJLRfCuYNPyu5ubkP-0-59652d2509ae3b4bbdc7b84d884ea045)
图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=1738886346-vJ9FPkjYqkPCdEQ2zULle8qrCWuK4cG6-0-021ec51992d3c29374f821dfa3177129)
图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=1738886346-wThdjUQiyzv2K9ivyzav0kHJPjTnDw26-0-1ead64f1e66490a0f94a26bcad7b6b6e)
图2-17 apt-get install tree命令
![](https://epubservercos.yuewen.com/DEDA9F/21570843408785506/epubprivate/OEBPS/Images/35_02.jpg?sign=1738886346-wX853vFPOAiOteRIvts5zGtnUiUABqLj-0-77bdf231ad8c939aed3d44b2d4b05936)
图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中最常用命令选项的集合。