嵌入式系统及应用Linux学习笔记(一)——常用命令
Linux简介Linux是一款优秀的计算机操作系统LINUX是在UNIX基础上开发,具有UNIX全部功能。1991年,芬兰赫尔辛基大学的学生Linus Torvalds开发了Linux。Linus Torvalds把它变成了“自由”软件。注意:“自由”不是“免费”, “自由”即开源。开源与免费的区别:免费软件通常以二进制文件形式发布。用户虽然可以免费使用,但无权对软件进行任何修改。开源软件是将软件
https://blog.csdn.net/qq_40700822/article/details/106080389
Linux学习笔记(一)
Linux简介
Linux是一款优秀的计算机操作系统
LINUX是在UNIX基础上开发,具有UNIX全部功能。
1991年,芬兰赫尔辛基大学的学生Linus Torvalds开发了Linux。
Linus Torvalds把它变成了“自由”软件。
注意:“自由”不是“免费”, “自由”即开源。
开源与免费的区别:免费软件通常以二进制文件形式发布。用户虽然可以免费使用,但无权对软件进行任何修改。开源软件是将软件以源代码形式发布,并遵循GPL等开源协议,用户不仅能使用,而且还可对软件进行改进。
Linux特点
1.开放性
开放性是指系统遵循世界标准规范,特别是遵循开放系统互联(OSI)国际标准。
2.多用户
Linux操作系统允许多个用户同时登录到系统当中
3.多任务
计算机同时执行多个程序,而且各个程序的运行相互独立
4.出色的稳定性能
统一当作文件来看
7.丰富的网络功能
完善的内置网络是Linux的一大特点
8.安全性
采取了许多安全措施,包括对读、写操作进行权限控制,带保护的子系统,审计跟踪和内核授权
9.可移植性
能够在微型机到大型计算机的任何环境和平台上运行
Linux基本操作
1、Linux的登录
有2种方式可以进入Linux的文本界面
虚拟控制台:用组合键Ctrl+Alt+F2、 Ctrl+Alt+F7切换
GUI下的仿真终端:(ALT+CTL+T)
2、shell程序命令

Linux的基本命令
- passwd命令
更改用户密码 - –help
–help选项放在命令之后,用来显示命令的信息。 - man命令
显示系统文档中的man页内容。 - nfo命令
是一个基于菜单的超文本系统,是有GNU项目开发并有Linux发布的。 - who命令
用于查看当前登录到系统的用户信息 - uname命令
uname命令显示正在使用的Linux系统信息r:显示操作系统的内核发行号(Release Number)n:显示网络上本机的节点名(Node Name)v:显示操作系统的内核版本号(Version Number) - date命令
显示或设置系统的时间
格式:date [+%adDhHjmMrSTwWy] - cal命令
在屏幕上输出日历信息
格式:cal [month] [year] - echo命令
用于回显输入内容
格式:echo strings - clear命令
clear命令清除shell窗口中的内容
格式:clear - su命令
用户进入到系统后,切换到其他用户,使用su命令。
退回到原来用户使用exit命令
若想成功切换需要切换用户账号的密码。
Linux文件系统的特点
1.Linux文件系统采用树形结构,从根目录root(/)开始。
2.Linux的虚拟文件系统允许众多不同类型的文件系统共存,并支持跨文件系统的操作。
3.Linux的文件是无结构字符流式文件,不考虑文件内部的逻辑结构,只把文件简单地看作是一系列字符的序列。
4.Linux的文件可由文件拥有者或超级用户设置相应的访问权限而受到保护。
5.Linux把所有的外部设备都看作文件,可以使用与文件系统相同的系统调用和函数来读写外部设备。
Linux文件系统的组成
/bin:存放二进制可执行命令目录;
/home:用户主目录的基点目录,默认情况每个用户主目录都设在该目录下,如默认情况下用户user01的主目录是/home/user01;
/lib:存放标准程序设计库目录,又叫动态链接共享库目录,目录中文件类似windows里的.dll文件;
/etc:存放系统管理和配置文件目录;
/dev:存放设备特殊文件目录,如声卡文件、磁盘文件等;
Linux文件系统类型
EXT文件系统
其它文件系统
文件系统操作
1. 建立文件系统。
当硬盘完成分区后,应该在该分区上建立文件系统,该操作又称为格式化。建立文件系统是通过mkfs工具来完成的。例如,如果需要在分区/dev/hdb1上建立ext4文件系统,可使用下列命令:mkfs -t ext4 /dev/hdb1
按照Linux系统对分区的命名规则,ATA接口的硬盘以字母组合hd开始,SCSI和SATA接口硬盘以字母组合sd开始。第3个字母是硬盘的序号,a为第1块硬盘,b为第2块硬盘,依次类推。最后一位数字是分区的序号。
2. 挂载子文件系统。
创建文件系统后,需要使用命令mount将该文件系统安装到主文件系统中。例如将第 1 .步中的hdb1分区挂载到“/mnt/dev”节点上,可使用下列命令:
su // 切换到根用户权限
mkdir /mnt/dev // 创建目录
chmod 777 /mnt/dev // 修改目录权限
mount -t ext4 /dev/hdb1 /mnt/dev // 挂载子文件系统
在进行挂载前,首先要切换为根用户权限,否则无法访问“/mnt”目录。然后,为挂载点建立一个空目录,为了让所有用户都能访问和修改该目录,还需要使用chmod命令修改目录的权限。最后执行mount命令进行挂载,第1个参数是文件系统类型,第2个参数是分区的路径,第3个参数是挂载点的路径。
3.卸载子文件系统。
对于一些可读写的移动设备来说,移除设备前需要进行卸载子文件系统操作。因为Linux系统使用了缓存机制,如果不卸载就移除设备可能会造成子文件系统数据丢失。例如某个已挂载的USB存储器挂载点为/mnt/usbdisk,卸载该文件系统的命令如下:
umount /mnt/usbdisk
***注意:对于正在进行读写操作的子文件系统不能使用umount命令卸载。卸载子文件系统前,应保证其中没有文件被打开。
Linux文件系统操作命令
1.显示文件命令
1)cat命令
格式:cat [选项] …[文件]…
说明:把多个文件连接后输出到标准输出(屏幕)或加“> 文件名”输出到另一个文件中。
常用选项:-b或--number-noblank:从1开始对所有非空输出行进行编号。-n或--number:从1开始对所有输出行编号。-s或--squeeze-blank:将连续两行以上的空白行合并成一
2.more命令
格式:more [选项] [文件…]
说明:该命令显示文本文件的内容,一次显示一屏,满屏后停下来,可按如下键继续。
(1)Space键 :默认显示文本的下一屏内容。
(2)Enter键:默认显示文本的下一行内容。
(3)d键或CTRL+D:向下显示文本半屏,默认为11行。
(4)b键或CTRL+B:默认显示文本的上一屏内容。
(5)q or Q or INTERRUPT键:退出more命令。
常用选项:-num:指定一个整数,表示一屏显示多少行。-d:在每屏底部显示提示信息,包括当前显示的百分比,按键提示等。-c或 –p:不滚屏,在显示下一屏之前先清屏。+num:从行号num开始显示。+/pattern:定义一字符串,在文件中查找该字符串,从该字符串后开始显示。
3.less命令
格式:less [选项] [文件]…
说明:与more命令相似,分屏显示文件的内容。less命令允许用户向前(PageUp)或向后(PageDown)浏览文件。在less命令提示符下按q键退出。
常用选项:-i或--ignore-case:搜索时忽略大小写,除非搜索串中包含大写字母。-I或--IGNORE-CASE:搜索时忽略大小写。-m或--long-prompt:显示读取文件的百分比。-M或--LONG-PROMPT:显法读取文件的百分比、行号及总行数。-N或--LINE-NUMBERS:在每行前输出行号。-p pattern或--pattern=pattern:定义一字符串,在文件中查找该字符串,从该字符串后开始显示。
4.head命令
格式:head [选项] …[文件]…
说明:head 命令用于查看一个文本文件的开头部分,行数由参数值决定,默认值是10。
常用选项:-c或--bytes=num:显示文件前面num个字节。-n或--lines=num:显示文件前面num行,不指定此参数显示前10行。
5.tail命令
格式:tail [选项] … [文件] …
说明:tail命令用于查看一文本文件的末尾若干行,行数由参数值决定,默认值是10。如果给定的文件不止一个,则在显示的每个文件前面加一个文件名标题。
常用选项:-c或--bytes=num:显示文件最后面num个字节。-n或--lines=num:显示文件最后面的num行,不指定此参数显示10行。
6.复制、删除和移动文件的命令
cp命令
格式:cp [选项] 源文件或目录 目标文件或目录
说明:cp命令完成文件的复制。
如果源是普通文件,该命令把源文件复制成指定的目标文件或复制到指定的目标目录中。
如果源是目录,目标是一已存在的目录,该命令把源目录下的所有文件和子目录都复制到目标目录中;
如果源是目录,目标不是一已存在的目录,命令出现错误信息。
常用选项:-a 或--archive:等同于 –dpR。-d:复制符号链接时,把目标文件或目录也建立为符号链接,并指向与源文件或目录链接的原始文件或目录。-f 或--force:强行复制文件或目录-i或--interactive:覆盖目标文件前需要确认。-n或--no-clobber:不覆盖已存在的目标文件。-p:复制源文件或目录内容的同时也复制文件属性-R,-r 或--recursive:递归复制目录,将源目录下所有文件及子目录都复制到目标位置。
rm 命令
格式:rm [选项] …文件或目录…
说明:rm命令可以删除文件或目录,删除目录必须要加“-r”选项。
常用选项:-f或--force:强制删除文件或目录。-i 或--interactive:删除文件或目录前提示要用户确认。-r,-R, 或--recursive:递归删除指定目录及其下属各级子目录和相应的文件。
mv命令
格式:mv [选项] 源文件或目录 目标文件或目录
说明:mv命令可移动文件或目录;更改文件或目录的名称。
常用选项:-i或--interactive:覆盖文件前需要确认。-f 或--force:若目标文件或目录已存在,直接覆盖。-n或--no-clobber:不覆盖已存在的文件。-u 或--update:移动或更改文件名时,若目标文件已存在,且文件日期比源文件新,则不覆盖目标文件。
7.文件内容统计命令
格式:wc [选项] …[文件]…
说明:wc命令统计给定文件中的字节数、字数、行数。
常用选项:-c或--bytes:统计字节数。-m或--chars:统计字符数。-l或--lines:统计行数。-w或--words:统计字数。
8.文件的压缩和备份
bzip2命令
格式:bzip2 [选项] [要压缩的文件]
说明:bzip2压缩生成.bz2文件的压缩程序,并删除原始的文件。
常用选项:-c 或--stdout:将压缩或解压缩的结果送到标准输出。-d或--decompress:执行解压缩。-f或--force:压缩或解压缩时,若输出文件与现有文件同名,覆盖现有文件。-k 或--keep:bzip2 在压缩或解压缩后,保留原始文件。
gzip命令
格式:gzip [选项] [文件 …]
说明:gzip压缩会产生".gz"的压缩文件,并删除原始文件。
常用选项:-c或--stdout或--to-stdout:压缩后文件输出到标准输出设备,不改变原始文件。-d 或--decompress 或--uncompress:解开压缩文件。-f或--force:强行压缩文件。-n 或--no-name:压缩文件时,不保存原来的文件名称及时间戳记。-N 或--name:压缩文件时,保存原来的文件名称及时间戳记。-r 或--recursive:递归处理,将指定目录下的所有文件及子目录一并处理。
tar(tape archive)命令
格式:tar [选项…] [文件或目录]…
说明:tar 是用来建立,还原备份文件的工具程序,它可以加入,解开备份文件内的文件。
常用选项:-A 或--catenate:新增tar文件到已存在的备份文件。-c或--create:建立新的备份文件。-f<备份文件>或--file=<备份文件>:指定备份文件。-t或--list:列出备份文件的内容。-v或--verbose:显示指令执行过程。-x 或--extract 或--get:从备份文件中还原文件。--delete:从备份文件中删除指定的文件。
Linux目录操作命令
1.切换工作目录和显示目录内容的命令
cd命令
格式:cd [目的目录]
说明:切换目录至目的目录,前提是用户必须拥有进入目的目录的权限。 其中目的目录可为绝对路径或相对路径,若目录名称省略,则切换至使用者的主目录。
pwd命令
格式:pwd
说明:pwd命令不带任何选项或参数,Linux系统用 pwd 命令来查看“当前工作目录”的完整路径。
ls命令
格式:ls [选项]… [文件或目录]…
说明:ls命令可列出目录的内容,包括文件和子目录的名称。
常用选项:-a或--all:列出目录下的所有文件和目录,包括以 “.” 开头的隐含文件。-A或--almost-all:列出除“.”(当前目录)及”…”(当前目录的上级目录)外的任何文件和目录。-b或--escape:把文件名中不可输出的字符用反斜杠加字符编号的形式列出。-c:输出文件的ctime(文件最后更改的时间),并根据ctime 排序。-C:分成多列显示文件和目录。-F或--classify:加上文件类型的指示符号,其中“*”表示可执行的普通文件;“/”表示目录;“@”表示符号链接;“|”表示管道文件;“=”表示套接字。-d或 --directory:将目录像文件一样显示,而不是显示其下的文件。-l:列出文件详细信息,输出信息分成7个字段列表
第1字段:文件类型及访问权限字段。
文件属性字段总共有10个字母组成,第一个字母表示文件类型,具体如下。- 表示该文件是一个普通文件。d 表示该文件是一个目录。c 表示该文件是字符设备文件。b 表示该文件是块设备文件。p 表示该文件是管道文件。l 表示该文件是符号链接文件。s 表示该文件是套接字。
后面的9个字符表示文件的访问权限,我们在存取权限部分详细介绍。
第2字段:文件链接数字段。
表示文件硬链接数或目录子目录数。
第3字段:文件属主字段。
表示文件的所有者。
第4字段:文件所属用户组字段。
表示该文件所属的用户组。
第5字段:文件大小字段。
表示该文件的大小,以字节为单位。
第6字段:最后修改时间字段。
表示该文件最后修改时间。
第7字段:文件名字段。
表示该文件的文件名,如果是符号链接,-> 箭头符号后面跟一个它指向的文件。
2.创建和删除目录命令
mkdir命令
格式:mkdir [选项] … 目录名…
说明:该命令创建由目录名命名的目录,同时设置该目录的权限。要求创建目录的用户在当前目录中具有写权限,并且目录名不能是当前目录中已有的目录或文件名称。
常用选项:-m或--mode=MODE:对新建目录设置存取权限。-p 或--parents:若所建目录的上层目录不存在,会一并建立。
rmdir命令
格式:rmdir [选项]… 目录名…
说明:该命令从一个目录中删除一个或多个目录。删除目录时,必须对该目录的父目录具有写权限,目录被删除前应该是空目录。
常用选项:-p或--parents:删除指定目录后,若该目录的上层目录已变成空目录,则其一并删除。
Linux改变文件或目录存取权限命令
用户和用户组
Linux系统是一个多用户多任务的分时操作系统,任何一个要使用系统资源的用户,都必须首先向系统管理员申请一个账号,然后以这个账号的身份进入系统。 Linux内部用UID标识各用户。
用户组(group)就是具有相同特征的用户的集合体,Linux系统中每个用户都属于一个用户组,系统能对一个用户组中的所有用户进行集中管理。在Linux内部用户组用GID标识。
Linux系统规定了4种不同类型的用户,分别是文件主、同组用户、其他用户、超级用户。
存取权限
存取权限就是用来确定谁可以通过何种方式对文件和目录进行访问,Linux系统规定3种访问文件和目录的方式。
(1)读(r)
对文件表示只允许指定用户读取该文件的内容,禁止做任何更改操作;对目录表示可以列出存储在该目录下的文件。
(2)写(w)
对文件表示允许指定用户打开并修改该文件;对目录表示允许从该目录中删除或添加新的文件。
(3)执行(x)
对文件表示允许指定用户执行该文件;对目录表示允许在该目录中进行查找,能用cd命令将工作目录改为该目录。
用ls -l命令可以显示文件或目录的详细信息,其中第一字段即为文件属性字段
chmod命令
用字母设定法改变文件或目录的访问权限。
格式:chmod [who] [opt] [mode] 文件或目录名…
说明:用于改变文件或目录的访问权限,是Linux系统管理员最常用到的命令之一。其中who表示对象,是以下字母中的一个或多个的组合。u:表示文件所有者。g:表示同组用户。o:表示其它用户。a:表示所有用户。opt表示操作,可以为如下符号。+:添加某个权限。-:取消某个权限。=:赋予给定的权限,并取消原有的权限。mode表示权限,是以下字母一个或多个的组合。r:可读。w:可写。x:可执行。
用数字设定法改变文件或目录的访问权限。
格式:chmod [mode] 文件或目录名…
说明:将rwx看成二进制数,如果该位有权限,用1表示,该位没有权限用0表示,那么rwx r-x r- -可以表示为:111 101 100,再将其每三位转换成为一位八进制数,就是754。
Linux改变用户组和文件主的命令
chgrp命令
格式:chgrp [选项]… 所属组 文件或目录…
说明:chgrp命令改变指定文件所属的用户组,其中所属组可以是用户组的ID,也可以是用户组的组名。文件是以空格分开的要改变属组的文件列表,支持通配符。在Linux下一般只有超级用户才能改变该文件的属组。
常用选项:-R或--recursive:递归式地改变指定目录及其下的所有子目录和文件的属组。
chown命令
格式:chown [选项] … [用户][:[组]] 文件 …
说明:chown命令将指定文件的拥有者改为指定的用户或组。用户可以是用户名或用户ID。组可以是组名或组ID。文件是以空格分开的要改变权限的文件列表,支持通配符。在linux下一般只有超级用户才可以使用该命令。
常用选项:-R或--recursive:递归式改变指定目录及其下的所有子目录和文件的拥有者。
本文中没有提到的命令都可以用--help命令来进行查询。
END
2020.5.12 by iNBC form SDUT
openvela 操作系统专为 AIoT 领域量身定制,以轻量化、标准兼容、安全性和高度可扩展性为核心特点。openvela 以其卓越的技术优势,已成为众多物联网设备和 AI 硬件的技术首选,涵盖了智能手表、运动手环、智能音箱、耳机、智能家居设备以及机器人等多个领域。
更多推荐

所有评论(0)