Linux常用命令及参数(持续更新)


一、磁盘操作

1. ls命令

“ls”即 list 的缩写,通过 ls 命令可以查看 linux 目录下包含的文件,以及查看文件权限(包括目录、文件夹、文件权限)、查看目录信息等。

常用参数:

-a 列出目录所有文件,包含以.开始的隐藏文件
-A 列出除.及..的其它文件
-r 反序排列
-t 以文件修改时间排序
-S 以文件大小排序
-h 以易读大小显示
-l 除了文件名之外,还将文件的权限、所有者、文件大小等信息详细列出来

应用:

  1. 按大小反序显示文件详细信息

    ls -lrS

  2. 列出当前目录中所有以”t”开头的目录的详细内容

    ls -l t*

2. cd命令

“cd”为changeDirectory的缩写,即切换目录。

语法: cd [目录名]

应用:

  1. 进入根目录

    cd /

  2. 进入根目录下的bin目录

    cd /bin

3. pwd命令

pwd命令用于查看当前工作目录

语法: pwd

4. mkdir命令

mkdir命令用于创建目录

常用参数:

-m 对新建目录设置存取权限,也可以用 ”chmod“ 命令设置;

-p 可以是一个路径名称。此时若路径中的某些目录尚不存在,加上此选项后,系统将自动建立好那些尚不在的目录,即一次可以建立多个目录

应用:

  1. 当前工作目录下创建名为abc的文件夹

    mkdir abc

  2. 在 tmp 目录下创建路径为 a/b/c 的目录,若不存在,则创建

    mkdir -p /tmp/a/b/c

5. rmdir命令

rmdir命令的作用是从一个目录中删除一个或多个子目录项,删除某目录时必须具有对其父目录的写权限。

常用参数:

-p 当前目录删除后若其父目录成为空目录,则将其父目录一起删除

应用:

  1. 在 aaa 目录下,删除名为 bbb 的子目录,若删除 bbb 后,aaa 成为空目录,则 将aaa 一并删除。

    rmdir -p aaa/bbb

二、文件操作

1. cat命令

cat命令用于连接文件并打印到标准输出设备上

常用参数:

-n 或 –number:由 1 开始对所有输出的行数编号。

-b 或 –number-nonblank:和 -n 相似,只不过对于空白行不编号。

-s 或 –squeeze-blank:当遇到有连续两行以上的空白行,就代换为一行的空白行。

-v 或 –show-nonprinting:使用 ^ 和 M- 符号,除了 LFD 和 TAB 之外。

-E 或 –show-ends : 在每行结束处显示 $。

-T 或 –show-tabs: 将 TAB 字符显示为 ^I。

-A, –show-all:等价于 -vET。

-e:等价于”-vE”选项;

-t:等价于”-vT”选项;

应用:

  1. 把 file1 的文档内容加上行号后输入 file2 这个文档里

    cat -n file1 > file2

  2. 清空 /etc/file.txt 文档内容

    cat /dev/null > /etc/file.txt

2. more命令

more 命令类似 cat ,不过会以一页一页的形式显示,更方便阅读,而最基本的指令就是按空格键(space)就往下一页显示,按 b 键就会往回(back)一页显示,而且还有搜寻字串的功能(与 vi 相似) 。

常用参数:

-num: 一次显示的行数

-d: 提示使用者,在画面下方显示 [Press space to continue, ‘q’ to quit.] ,如果使用者按错键,则会显示 [Press ‘h’ for instructions.] 而不是 ‘哔’ 声

-l: 取消遇见特殊字元 ^L(送纸字元)时会暂停的功能

-f: 计算行数时,以实际上的行数,而非自动换行过后的行数(有些单行字数太长的会被扩展为两行或两行以上)

-p: 不以卷动的方式显示每一页,而是先清除萤幕后再显示内容

-c: 跟 -p 相似,不同的是先显示内容再清除其他旧资料

-s: 当遇到有连续两行以上的空白行,就代换为一行的空白行

-u: 不显示下引号 (根据环境变数 TERM 指定的 terminal 而有所不同)

+/pattern: 在每个文档显示前搜寻该字串(pattern),然后从该字串之后开始显示

+num :从第 num 行开始显示

fileNames: 欲显示内容的文档,可为复数个数

3. less命令

less 与 more 类似,less 可以随意浏览文件,支持翻页和搜索,支持向上翻页和向下翻页。

常用参数:

-b: <缓冲区大小> 设置缓冲区的大小

-e: 当文件显示结束后,自动离开

-f :强迫打开特殊文件,例如外围设备代号、目录和二进制文件

**-g: **只标志最后搜索的关键词

-i: 忽略搜索时的大小写

-m: 显示类似more命令的百分比

-N: 显示每行的行号

-o: <文件名> 将less 输出的内容在指定文件中保存起来

-Q: 不使用警告音

-s: 显示连续空行为一行

-S: 行过长时间将超出部分舍弃

-x: <数字> 将”tab”键显示为规定的数字空格

/字符串:向下搜索”字符串”的功能

?字符串:向上搜索”字符串”的功能

n:重复前一个搜索(与 / 或 ? 有关)

N:反向重复前一个搜索(与 / 或 ? 有关)

控制方法:

b :向上翻一页

d :向后翻半页

h :显示帮助界面

Q :退出less 命令

u :向前滚动半页

y :向前滚动一行

空格键: 滚动一页

回车键: 滚动一行

[pagedown]: 向下翻动一页

[pageup]: 向上翻动一页

4. chattr命令

chattr命令用于改变文件属性。

这项指令可改变存放在ext2文件系统上的文件或目录属性,这些属性共有以下8种模式:

a:让文件或目录仅供附加用途。

b:不更新文件或目录的最后存取时间。

c:将文件或目录压缩后存放。

d:将文件或目录排除在倾倒操作之外。

i:不得任意更动文件或目录。

s:保密性删除文件或目录。

S:即时更新文件或目录。

u:预防意外删除。

语法:

chattr [-RV][-v<版本编号>][+/-/=<属性>][文件或目录...]

常用参数:

-R: 递归处理,将指定目录下的所有文件及子目录一并处理。

-v: <版本编号> 设置文件或目录版本。

-V: 显示指令执行过程。

+<属性>: 开启文件或目录的该项属性。

-<属性>: 关闭文件或目录的该项属性。

=<属性>: 指定文件或目录的该项属性。

5. mv命令

mv(英文全拼:move file)命令用来为文件或目录改名、或将文件或目录移入其它位置。

常用参数:

-b: 当目标文件或目录存在时,在执行覆盖前,会为其创建一个备份。

-i: 如果指定移动的源目录或文件与目标的目录或文件同名,则会先询问是否覆盖旧文件,输入 y 表示直接覆盖,输入 n 表示取消该操作。

-f: 如果指定移动的源目录或文件与目标的目录或文件同名,不会询问,直接覆盖旧文件。

-n: 不要覆盖任何已存在的文件或目录。

-u:当源文件比目标文件新或者目标文件不存在时,才执行移动操作。

命令格式 含义
mv source_file(源文件) dest_file(目标文件) 将源文件名 source_file 改为目标文件名 dest_file
mv source_file(源文件) dest_directory(目标目录) 将源文件 source_file 移动到目标目录 dest_directory 中
mv source_directory(源目录) dest_directory(目标目录) 若目标目录 dest_directory 已存在,将 source_directory 移动到目标目录 dest_directory 中;若目标目录 dest_directory 不存在则将源目录名 source_directory 改名为目标目录名 dest_directory

应用:

  1. 将文件 aaa 改名为 bbb

    mv aaa bbb

  2. 将 aaa目录放入 bbb 目录中。如果 bbb目录不存在,则该命令将 aaa改名为 bbb

    mv aaa/ bbb

6. rm命令

”rm“是remove的缩写,作用是删除一个目录中的一个或多个文件或目录。

常用参数:

-f 强制删除(force),和 -i 选项相反,使用 -f,系统将不再询问,而是直接删除目标文件或目录。

-i 和 -f 正好相反,在删除文件或目录之前,系统会给出提示信息,使用 -i 可以有效防止不小心删除有用的文件或目录。

-r 递归删除,主要用于删除目录,可删除指定目录及包含的所有内容,包括所有的子目录和文件。

-d 用于删除目录

应用:

  1. 删除任何 .log 文件,删除前逐一询问确认

    rm -i *.log

  2. 强制删除 abc 子目录及子目录中所有档案删除,删除前不询问

    rm -rf abc

7. cp命令

cp(英文:copy file)命令主要用于复制文件或目录。

常用参数:

-a:此选项通常在复制目录时使用,它保留链接、文件属性,并复制目录下的所有内容。其作用等于dpR参数组合。

-d:复制时保留链接。这里所说的链接相当于 Windows 系统中的快捷方式。

-f:覆盖已经存在的目标文件而不给出提示。

-i:-f 选项相反,在覆盖目标文件之前给出提示,要求用户确认是否覆盖,回答 y 时目标文件将被覆盖。

-p:除复制文件的内容外,还把修改时间和访问权限也复制到新文件中。

-r:若给出的源文件是一个目录文件,此时将复制该目录下所有的子目录和文件。

-l:不复制文件,只是生成链接文件。

应用:

  1. 将目录 根目录下的aaa目录下的所有文件复制/root目录bbb下

    cp –r /aaa/ /root/bbb

三、压缩 / 解压缩操作

1. tar命令

tar(英文全拼:tape archive )命令用于备份文件,tar 是用来建立,还原压缩文件的工具程序,它可以加入,解压压缩文件内的文件。

常用参数:

-A: 新增文件到已存在的备份文件。

-c: 建立新的备份文件。

-C<目的目录>: 切换到指定的目录。

-d: 对比备份文件内和文件系统上的文件的差异。

-f<备份文件>: 指定备份文件。

-h: 不建立符号连接,直接复制该连接所指向的原始文件。

-k: 解开备份文件时,不覆盖已有的文件。

-l: 复制的文件或目录存放的文件系统,必须与tar指令执行时所处的文件系统相同,否则不予复制。

-m: 还原文件时,不变更文件的更改时间。

-p: 用原来的文件权限还原文件。

-P: 文件名使用绝对名称,不移除文件名称前的”/“号。

-r: 新增文件到已存在的备份文件的结尾部分。

-t: 列出备份文件的内容。

-v: 显示指令执行过程。

-w: 遭遇问题时先询问用户。

-W: 写入备份文件后,确认文件正确无误。

-x: 从备份文件中还原文件。

-z: 通过gzip指令处理备份文件。

-Z: 通过compress指令处理备份文件。

应用:

  1. 压缩aaa.file文件为aaa.tar.gz

    tar -zcvf aaa.tar.gz aaa.file

  2. 列出压缩文件aaa.tar.gz中的内容

    tar -tzvf aaa.tar.gz

  3. 解压aaa.tar.gz文件

    tar -zxvf aaa.tar.gz

2. zip命令

zip 命令用于压缩文件,压缩后的文件后缀名为 .zip

常用参数:

-A: 调整可执行的自动解压缩文件。

-b<工作目录>: 指定暂时存放文件的目录。

-c: 替每个被压缩的文件加上注释。

-d: 从压缩文件内删除指定的文件。

-D: 压缩文件内不建立目录名称。

-f: 更新现有的文件。

-F: 尝试修复已损坏的压缩文件。

-g: 将文件压缩后附加在既有的压缩文件之后,而非另行建立新的压缩文件。

-i<范本样式>: 只压缩符合条件的文件。

-j: 只保存文件名称及其内容,而不存放任何目录名称。

-J: 删除压缩文件前面不必要的数据。

-m: 将文件压缩并加入压缩文件后,删除原始文件,即把文件移到压缩文件中。

-n<字尾字符串>: 不压缩具有特定字尾字符串的文件。

-o: 以压缩文件内拥有最新更改时间的文件为准,将压缩文件的更改时间设成和该文件相同。

-q: 不显示指令执行过程。

-r: 递归处理,将指定目录下的所有文件和子目录一并处理。

-T: 检查备份文件内的每个文件是否正确无误。

-u:-f 参数类似,但是除了更新现有的文件外,也会将压缩文件中的其他文件解压缩到目录中。

-v: 显示指令执行过程或显示版本信息。

-x<范本样式>: 压缩时排除符合条件的文件。

-X: 不保存额外的文件属性。

-z: 替压缩文件加上注释。

应用:

  1. 将 /root/aaa/ 这个目录下所有文件和文件夹打包为当前目录下的 aaa.zip

    zip -q -r aaa.zip /root/aaa

  2. 从压缩文件 aaa.zip 中删除文件 aaa.file

    zip -dv aaa.zip aaa.file

3. unzip命令

unzip命令用于解压缩zip文件,unzip是.zip压缩文件的解压缩程序。

常用参数:

-c: 将解压缩的结果显示到屏幕上,并对字符做适当的转换。

-f: 更新现有的文件。

-l: 显示压缩文件内所包含的文件。

-p: 与**-c**参数类似,会将解压缩的结果显示到屏幕上,但不会执行任何的转换。

-t: 检查压缩文件是否正确。

-u: 与**-f**参数类似,但是除了更新现有的文件外,也会将压缩文件中的其他文件解压缩到目录中。

-v: 执行时显示详细的信息。

-z: 仅显示压缩文件的备注文字。

-a: 对文本文件进行必要的字符转换。

-b: 不要对文本文件进行字符转换。

-C: 压缩文件中的文件名称区分大小写。

-j: 不处理压缩文件中原有的目录路径。

-L: 将压缩文件中的全部文件名改为小写。

-n: 解压缩时不要覆盖原有的文件。

-o: 不必先询问用户,unzip执行后覆盖原有文件。

-P<密码>: 使用zip的密码选项。

-q: 执行时不显示任何信息。

-s: 将文件名中的空白字符转换为底线字符。

-d<目录>: 指定文件解压缩后所要存储的目录。

-x<文件>: 指定不要处理.zip压缩文件中的哪些文件。


文章作者: Cikian
版权声明: 本博客所有文章除特別声明外,均采用 CC BY 4.0 许可协议。转载请注明来源 Cikian !
评论
  目录