嵌入式技术
大家好,我是嵌入式老林,从事嵌入式软件开发多年,今天分享的内容是Linux基础知识,最常用的命令,希望能对你有所帮助
Linux系统命令接近400个,初学者很难在短时间之内掌握这么多命令,没必要一股脑学完,我们只要掌握常用的就好了,其他的以后慢慢积累即可。此处整理常用的Linux命令,便于在Linux系统开发中查阅
Linux命令由三部分组成:
补充说明:
命令缩写对应的英文单词
命令 | 英文全称 |
---|---|
cd | change directory 改变工作目录 |
rm | remove 删除 |
ls | list 列出 |
cp | copy 复制 |
mv | move 移动 |
pwd | print working directory 打印工作目录 |
功能:改变工作目录 语法:cd [dirname] 说明:将当前工作目录切换至 dirname 所指定的目录。若没有指定 dirname, 则回到用户的家目录~
cd .. 到父目录,即上一级目录,相当于“向上” cd ../.. 到上上级目录 cd – 到上一次目录,相当于“后退” cd / 到根目录 cd ~ 或者只写 cd 到用户家目录下
注意:Linux系统下,路径分为绝对路径和相对路径。
功能:列出目录的内容。这是用户最常用的一个命令之一,因为用户需要不时地查看某个目录的内容。该命令类似于 DOS 下的 dir 命令。语法:ls [选项] [目录或是文件] 说明:对于每个目录,该命令将列出其中的所有子目录与文件。对于每个文件,ls 将输出其文件名以及所要求的其他信息。默认情况下,输出条目按字母顺序排序。当未给出目录名或是文件名时,就显示当前目录的信息
常用参数:-a 显示指定目录下所有子目录与文件,包括隐藏文件。-A 显示指定目录下所有子目录与文件,包括隐藏文件。但不列出“ .”和 “ ..”。-i 在输出的第一列显示文件的 i 节点号。-l 以长格式来显示文件的详细信息。这个选项最常用。-d 列出目录本身 -p 在目录后面加一个“ /”。-R 递归式地显示指定目录的各个子目录中的文件。
例子:ls -al “-l”和“-a”组合选项,显示所有文件及完整信息。
例子:ls -lh 将文件大小以Kb、MB、GB的形式列出
以-l长格式来显示文件的详细信息时, 每行列出的信息依次是:
文件类型、权限、链接数、文件所有者、文件所属用户组、文件大小、最近修改的时间、文件名
对于符号链接文件,显示的文件名之后有“ —〉”和引用文件路径名。对于设备文件,其“文件大小”字段显示主、次设备号,而不是文件大小。目录中的总块数显示在长格式列表的开头,其中包含间接块。
用 ls - l 命令显示的信息中,开头是由 10 个字符构成的字符串,其中第一个字符表示文件类型, 它可以是下述类型之一:
Linux系统中常见的文件类型:-- 普通文件 d 目录 l 符号链接 b 块设备文件 c 字符设备文件 p 命名管道( FIFO) s socket 文件
后 9 个字符表示文件的访问权限,分为 3 组,每组 3 位。第一组表示文件所有者的权限,第二组表示同组用户的权限,第三组表示其他用户的权限。每一组的三个字符分别表示对文件的读、写和执行权限。
各权限如下所示:r 读 ( 4) w 写 ( 2) x 执行 ( 1) 对于目录,表示进入权限。-- 没有设置权限。
另外:ls 输出内容是有颜色的,比如:目录是蓝色,压缩文件是红色的显示。如果没有颜色,可以加上参数:
ls -a --color=never //表示输出没有彩色, ls -a --color=auto //表示自动 ls -a --color=always //表示始终有颜色。
功能:创建一个目录 语法:mkdir [选项] dirname 说明:创建由 dirname 命名的目录。要求创建目录的用户在当前目录中 ( dirname 的父目录中)具有写权限,并且 dirname 不能是当前目录中已有的目录或 文件名称。
参数:-m 对新建目录设置存取权限。也可以用 chmod 命令设置。一般用的比较少 -p 可以是一个路径名称。若路径中的某些目录尚不存在,加上此选项后,系统将自动建立好那些尚不存在的目录,即可以创建目录和子目录。
功能:创建一个文件 语法:touch 文件名
功能:拷贝文件或目录 语法:cp [选项] 源文件或目录 目标文件或目录 说明:把指定的源文件复制到目标文件,或把多个源文件复制到目标目录中。
常用参数:-a 拷贝目录时使用,它保留链接、文件属性,并递归地拷贝目录。-d 拷贝时保留链接。-f 强制删除目标文件而不提示。-i 在覆盖目标文件之前会提示,要用户确认,和 f 选项相反。输入 y 时目标文件将被覆盖。-r 拷贝的是目录文件,则 cp 将递归复制该目录下所有的子目录和文件。此时目标文件必须为一个目录名。
功能:将文件由一个目录移入另一个目录中,或者为文件/目录名。
语法:mv [选项] 源文件或目录 目标文件或目录
常用参数:-i 交互方式操作。如果 mv 操作将导致对已存在的目标文件的覆盖,此时系统询问是否重写,要求用户回答 y 或 n,这样可以避免误覆盖文件。-f 禁止交互操作。在 mv 操作要覆盖某已有的目标文件时不给任何指示,指定此选项后, i 选项将不再起作用。如果所给目标文件(不是目录)已存在,此时该文件的内容将被新文件覆盖。为防止用户在不经意的情况下用 mv 命令破坏另一个文件,建议用户在使用 mv 命令移动文件时,最好使用 i 选项。注意:mv与 cp 的结果不同。mv 像文件“搬家”,文件个数并未增加,而 cp 对文件进行复制,文件个数增加了。
功能:删除文件或目录,它可以将某个目录及其下的所有文件及子目录均删除。对于链接文件,只是删除了链接,原有文件均保持不变。语法:rm [选项] 文件… 说明:如果没有使用 -r 选项,则 rm 不会删除目录。
参数:-f 强制删除,不给出提示。-r 将参数中列出的全部目录和子目录均递归地删除。-i 进行交互式删除。使用 rm 命令要格外小心。因为一旦一个文件被删除,它是不能被恢复的。例如,用户在输入 cp,mv 或其他命令时,不小心误输入了 rm 命令,当用户按了回车键并认识到自己的错误时,已经太晚了,文件已经没有了。为了防止此种情况的发生,可以使用 rm 命令中的 i 选项来确认要删除的每个文件。如果用户输入 y,文件将被删除。如果输入任何其他东西,文件将被保留。
功能:查看文件内容 语法:cat [选项] 文件
参数:-b 对非空输出行编号 -E 在每行结束处显示$ -n 对输出的所有行编号 -s 不输出多行空行
重定向符号:
1)< 重定向输入
2) >重定向输出
3) >> 添加输出 4)&> 错误和信息重定向 cat 常常与重定向一起使用。如果 cat 的命令行中没有参数,它就会从标准输入中读取数据,并将其送到标准输出
功能:用于修改文件(夹)的权限。语法:简便的用法是 chmod 777 文件(夹) 如果出现权限不允许,可执行文件不能执行,文件夹不能访问等情况,则需要执行 chmod 777 文件(夹)来解决。
该命令有两种用法。一种是包含字母和操作符表达式的文字设定法;另一种是数字设定法。
1. 文字设定法
形式如下:chmod [who] [ + 或 - 或 = ] [mode] 文件名 修改指定文件名中who的权限增加/去除/赋值为 mode
字母who | 含义 |
---|---|
u | 表示“用户(user)”,即文件或目录的所有者。 |
g | 表示“同组(group)用户”,即与文件所有者有相同组 ID 的所有用户。 |
o | 表示“其他(others)用户”。 |
a | 表示“所有( all)用户”,它是系统默认值。即 chmod +x 1.c 表示所有人都有可执行的权限。 |
操作符号:
操作符号 | 含义 |
---|---|
+ | 添加某个权限 |
- | 取消某个权限 |
= | 赋予权限,如果有其他权限的话,并取消其他权限 |
mode 所表示的含义,可任意组合:
字母mode | 含义 |
---|---|
r | 可读 |
w | 可写 |
x | 可执行 |
示例1:给某个文件的所有用户添加可执行权限,a 可省略,系统默认所有用户
示例2:给某个文件的文件所有者(u)和同组用户(g)添加“写”权限,给其他用户(o)删除“可执行权限”
2. 数字设定法
形式如下:chmod [XXX] 文件名
数字含义:
数值 | 含义 |
---|---|
0 | 表示没有权限 |
1 | 表示有可执行权限 |
2 | 表示有可写权限 |
4 | 表示有可读权限 |
示例:这个要注意一点,如果只给某个文件添加某一个权限时,之前已经有的权限会被清除,如下图
全部0条评论
快来发表一下你的评论吧 !