运维工程师必会的 109 个 Linux 命令

1 文件管理
1.1 basename
1.1.1 功能说明
从文件名中去掉路径和扩展名
例:basename include/stdio.h .h
Output "stdio".
1.1.2 选项
--help 显示此帮助信息并离开
--version 显示版本信息并离开
1.2 cat
1.2.1 功能说明
把档案串连接后传到基本输出(屏幕或加 > filename 到另一个档案)
1.2.2 语 法
cat [-AbeEnstTuv] [--help] [--version] filename
1.2.3 参数
-n 或 --number 由 1 开始对所有输出的行数编号
-b 或 --number-nonblank 和 -n 相似,只不过对于空白行不编号
-s 或 --squeeze-blank 当遇到有连续两行以上的空白行,就代换为一行的空白行
-v 或 --show-nonprinting
范例:
cat -n textfile1 > textfile2 把 textfile1 的档案内容加上行号后输入 textfile2 这个档案里
cat -b textfile1 textfile2 >> textfile3 把 textfile1 和 textfile2 的档案内容加上行号(空白行不加)之后将内容
附加到 textfile3 里。
5
1.3 cd
1.3.1 功能说明
切换目录。
1.3.2 语法
cd [目的目录]
1.3.3 补充说明
cd 指令可让用户在不同的目录间切换,但该用户必须拥有足够的权限进入目的目录。
1.4 chgrp
1.4.1 功能说明
变更文件或目录的所属群组。
语法:
chgrp [-cfhRv][--help][--version][所属群组][文件或目录...]
或 chgrp [-cfhRv][--help][--reference=<参考文件或目录>][--version][文件或目录...]
1.4.2 补充说明
在 UNIX 系统家族里,文件或目录权限的掌控以拥有者及所属群组来管理。您可以使用 chgrp 指令去变更文
件与目录的所属群组,设置方式采用群组名称或群组识别码皆可。
1.4.3 参数 -c 或--changes 效果类似"-v"参数,但仅回报更改的部分。
-f 或--quiet 或--silent 不显示错误信息。
-h 或--no-dereference 只对符号连接的文件作修改,而不更动其他任何相关文件。
-R 或--recursive 递归处理,将指定目录下的所有文件及子目录一并处理。
-v 或--verbose 显示指令执行过程。
--help 在线帮助。
--reference=<参考文件或目录> 把指定文件或目录的所属群组全部设成和参考文件或目录的所属群组
6
相同。
--version 显示版本信息。
1.5 chmod
1.5.1 功能说明
变更文件或目录的权限。
语法:
chmod [-cfRv][--help][--version][<权限范围>+/-/=<权限设置...>][文件或目录...]
或 chmod [-cfRv][--help][--version][数字代号][文件或目录...]
或 chmod [-cfRv][--help][--reference=<参考文件或目录>][--version][文件或目录...]
1.5.2 补充说明
在 UNIX 系统家族里,文件或目录权限的控制分别以读取,写入,执行 3 种一般权限来区分,另有 3 种特殊
权限可供运用,再搭配拥有者与所属群组管理权限范围。您可以使用 chmod 指令去变更文件与目录的权限,
设置方式采用文字或数字代号皆可。符号连接的权限无法变更,如果您对符号连接修改权限,其改变会作
用在被连接的原始文件。权限范围的表示法如下:
u:User,即文件或目录的拥有者。
g:Group,即文件或目录的所属群组。
o:Other,除了文件或目录拥有者或所属群组之外,其他用户皆属于这个范围。
a:All,即全部的用户,包含拥有者,所属群组以及其他用户。
有关权限代号的部分,列表于下:
r:读取权限,数字代号为"4"。 w:写入权限,数字代号为"2"。 x:执行或切换权限,数字代号为"1"。 -:不具任何权限,数字代号为"0"。
1.5.3 参数
-c 或--changes 效果类似"-v"参数,但仅回报更改的部分。
-f 或--quiet 或--silent 不显示错误信息。
-R 或--recursive 递归处理,将指定目录下的所有文件及子目录一并处理。
-v 或--verbose 显示指令执行过程。
7
--help 在线帮助。
--reference=<参考文件或目录> 把指定文件或目录的权限全部设成和参考文件或目录的权限相同
--version 显示版本信息。
<权限范围>+<权限设置> 开启权限范围的文件或目录的该项权限设置。
<权限范围>-<权限设置> 关闭权限范围的文件或目录的该项权限设置。
<权限范围>=<权限设置> 指定权限范围的文件或目录的该项权限设置。
1.6 chown
1.6.1 功能说明
变更文件或目录的拥有者或所属群组。
1.6.2 语法
chown [-cfhRv][--dereference][--help][--version][拥有者.<所属群组>][文件或目录..]
或 chown [-chfRv][--dereference][--help][--version][.所属群组][文件或目录... ...]
或 chown [-cfhRv][--dereference][--help][--reference=<参考文件或目录>][--version][文件或目录...]
1.6.3 补充说明
在 UNIX 系统家族里,文件或目录权限的掌控以拥有者及所属群组来管理。您可以使用 chown 指令去变更
文件与目录的拥有者或所属群组,设置方式采用用户名称或用户识别码皆可,设置群组则用群组名称或群
组识别码。
1.6.4 参数
-c 或--changes 效果类似"-v"参数,但仅回报更改的部分。
-f 或--quite 或--silent 不显示错误信息。
-h 或--no-dereference 之对符号连接的文件作修改,而不更动其他任何相关文件。
-R 或--recursive 递归处理,将指定目录下的所有文件及子目录一并处理。
-v 或--version 显示指令执行过程。
--dereference 效果和"-h"参数相同。
--help 在线帮助。
--reference=<参考文件或目录> 把指定文件或目录的拥有者与所属群组全部设成和参考文件或目 录
的拥有者与所属群组相同。
--version 显示版本信息。
8
1.7 comm
1.7.1 功能说明
比较两个已排过序的文件。
1.7.2 语法
comm [-123][--help][--version][第 1 个文件][第 2 个文件]
1.7.3 补充说明
这项指令会一列列地比较两个已排序文件的差异,并将其结果显示出来,如果没有指定任何参数,则
会把结果分成 3 行显示:第 1 行仅是在第 1 个文件中出现过的列,第 2 行是仅在第 2 个文件中出现过的列,
第 3 行则是在第 1 与第 2 个文件里都出现过的列。若给予的文件名称为"-",则 comm 指令会从标准输入设
备读取数据。
1.7.4 参数
-1 不显示只在第 1 个文件里出现过的列。
-2 不显示只在第 2 个文件里出现过的列。
-3 不显示只在第 1 和第 2 个文件里出现过的列。
--help 在线帮助。
--version 显示版本信息。
1.8 cp
1.8.1 功能说明
复制文件或目录。
1.8.2 语法
cp [-abdfilpPrRsuvx][-S <备份字尾字符串>][-V <备份方式>][--help][--spares=<使用时机>][--version][源文件或
目录][目标文件或目录] [目的目录]
1.8.3 补充说明
cp 指令用在复制文件或目录,如同时指定两个以上的文件或目录,且最后的目的地是一个已经存在的目录,
9
则它会把前面指定的所有文件或目录复制到该目录中。若同时指定多个文件或目录,而最后的目的地并非
是一个已存在的目录,则会出现错误信息。
1.8.4 参数
-a 或--archive 此参数的效果和同时指定"-dpR"参数相同。
-b 或--backup 删除,覆盖目标文件之前的备份,备份文件会在字尾加上一个备份字符串。
-d 或--no-dereference 当复制符号连接时,把目标文件或目录也建立为符号连接,并指向与源文件或目
录连接的原始文件或目录。
-f 或--force 强行复制文件或目录,不论目标文件或目录是否已存在。
-i 或--interactive 覆盖既有文件之前先询问用户。
-l 或--link 对源文件建立硬连接,而非复制文件。
-p 或--preserve 保留源文件或目录的属性。
-P 或--parents 保留源文件或目录的路径。
-r 递归处理,将指定目录下的文件与子目录一并处理。
-R 或--recursive 递归处理,将指定目录下的所有文件与子目录一并处理。
-s 或--symbolic-link 对源文件建立符号连接,而非复制文件。
-S<备份字尾字符串>或--suffix=<备份字尾字符串> 用"-b"参数备份目标文件后,备份文件的字尾会被加
上一个备份字符串,预设的备份字尾字符串是符号"~"。 -u 或--update 使用这项参数后只会在源文件的更改时间较目标文件更新时或是 名称相互对应的目标
文件并不存在,才复制文件。
-v 或--verbose 显示指令执行过程。
-V<备份方式>或--version-control=<备份方式> 用"-b"参数备份目标文件后,备份文件的字尾会被加上一
个备份字符串,这字符串不仅可用"-S"参数变更,当使用"-V"参数指定不同备份方式时,也会产生不同字尾
的备份字串。
-x 或--one-file-system 复制的文件或目录存放的文件系统,必须与 cp 指令执行时所处的文件系统相同,
否则不予复制。
--help 在线帮助。
--sparse=<使用时机> 设置保存稀疏文件的时机。
--version 显示版本信息。
1.9 cut
1.9.1 功能说明
显示每行从开头算起 num1 到 num2 的文字。
10
1.9.2 语法
cut -cnum1-num2 filename
1.9.3 举例
shell>> cat example
test2
this is test1
shell>> cut -c0-6 example ## print 开头算起前 6 个字元
test2
this i 
1.10 dd
1.10.1 功能说明
读取,转换并输出数据。
1.10.2 语法
dd [bs=<字节数>][cbs=<字节数>][conv=<关键字>][count=<区块数>][ibs=<字节数>][if=<文件>][obs=<字节
数>][of=<文件>][seek=<区块数>][skip=<区块数>][--help][--version]
1.10.3 补充说明
dd 可从标准输入或文件读取数据,依指定的格式来转换数据,再输出到文件,设备或标准输出。
1.10.4 参数
bs=<字节数> 将 ibs( 输入)与 obs(输出)设成指定的字节数。
cbs=<字节数> 转换时,每次只转换指定的字节数。
conv=<关键字> 指定文件转换的方式。
count=<区块数> 仅读取指定的区块数。
ibs=<字节数> 每次读取的字节数。
if=<文件> 从文件读取。
obs=<字节数> 每次输出的字节数。
of=<文件> 输出到文件。
11
seek=<区块数> 一开始输出时,跳过指定的区块数。
skip=<区块数> 一开始读取时,跳过指定的区块数。
--help 帮助。
--version 显示版本信息。
1.11 diff
1.11.1 功能说明
比较文件的差异。
1.11.2 语法
diff [-abBcdefHilnNpPqrstTuvwy][-<行数>][-C <行数>][-D <巨集名称>][-I <字符或字符串>][-S <文件>][-W <宽 度>][-x <文件或目录>][-X <文件>][--help][--left-column][--suppress-common-line][文件或目录1][文件或目录2]
1.11.3 补充说明
diff 以逐行的方式,比较文本文件的异同处。所是指定要比较目录,则 diff 会比较目录中相同文件名的文件,
但不会比较其中子目录。
1.11.4 参数
-<行数> 指定要显示多少行的文本。此参数必须与-c 或-u 参数一并使用。
-a 或--text diff 预设只会逐行比较文本文件。
-b 或--ignore-space-change 不检查空格字符的不同。
-B 或--ignore-blank-lines 不检查空白行。
-c 显示全部内文,并标出不同之处。
-C<行数>或--context<行数> 与执行"-c-<行数>"指令相同。
-d 或--minimal 使用不同的演算法,以较小的单位来做比较。
-D<巨集名称>或 ifdef<巨集名称> 此参数的输出格式可用于前置处理器巨集。
-e 或--ed 此参数的输出格式可用于 ed 的 script 文件。
-f 或-forward-ed 输出的格式类似 ed 的 script 文件,但按照原来文件的顺序来显示不同处。
-H 或--speed-large-files 比较大文件时,可加快速度。
-l<字符或字符串>或--ignore-matching-lines<字符或字符串> 若两个文件在某几行有所不同,而这几行同
时都包含了选项中指定的字符或字符串,则不显示这两个文件的差异。
-i 或--ignore-case 不检查大小写的不同。
12
-l 或--paginate 将结果交由 pr 程序来分页。
-n 或--rcs 将比较结果以 RCS 的格式来显示。
-N 或--new-file 在比较目录时,若文件 A 仅出现在某个目录中,预设会显示:
Only in 目录:文件 A 若使用-N 参数,则 diff 会将文件 A 与一个空白的文件比较。
-p 若比较的文件为 C 语言的程序码文件时,显示差异所在的函数名称。
-P 或--unidirectional-new-file 与-N 类似,但只有当第二个目录包含了一个第一个目录所没有的文件时,
才会将这个文件与空白的文件做比较。
-q 或--brief 仅显示有无差异,不显示详细的信息。
-r 或--recursive 比较子目录中的文件。
-s 或--report-identical-files 若没有发现任何差异,仍然显示信息。
-S<文件>或--starting-file<文件> 在比较目录时,从指定的文件开始比较。
-t 或--expand-tabs 在输出时,将 tab 字符展开。
-T 或--initial-tab 在每行前面加上 tab 字符以便对齐。
-u,-U<列数>或--unified=<列数> 以合并的方式来显示文件内容的不同。
-v 或--version 显示版本信息。
-w 或--ignore-all-space 忽略全部的空格字符。
-W<宽度>或--width<宽度> 在使用-y 参数时,指定栏宽。
-x<文件名或目录>或--exclude<文件名或目录> 不比较选项中所指定的文件或目录。
-X<文件>或--exclude-from<文件> 您可以将文件或目录类型存成文本文件,然后在=<文件>中指定此文本
文件。
-y 或--side-by-side 以并列的方式显示文件的异同之处。
--help 显示帮助。
--left-column 在使用-y 参数时,若两个文件某一行内容相同,则仅在左侧的栏位显示该行内容。
--suppress-common-lines 在使用-y 参数时,仅显示不同之处。
1.12 dir
1.12.1 功能说明
列出<文件>的信息 (默认为目前的目录)。
1.12.2 语法
dir [选项]... [文件]...
13
14
1.12.3 参数
如果不指定 - cftuSUX 或 --sort 任何一个选项,则根据字母大小排序。
 -a, --a--ll 不隐藏任何以 . 字符开始的项目
 -A, --almost-all 列出除了 . 及 .. 以外的任何项目
 --author 印出每个文件著作者
 -b, --escape 以八进制溢出序列表示不可打印的字符
 --block-size=大小 块以指定<大小>的字节为单位
 -B, --ignore-backups 不列出任何以 ~ 字符结束的项目
 -c 配合 -lt:根据 ctime 排序及显示 ctime (文件
 状态最后更改的时间)
 配合 -l:显示 ctime 但根据名称排序
 否则:根据 ctime 排序
 -C 按列列举。
 -f 不进行排序,-aU 选项生效,-lst 选项失效
 -F, --classify 加上文件类型的指示符号 (*/=@| 其中一个)
 -i, --inode 印出每个文件的 inode 号
 -I, --ignore=样式 不印出任何符合 shell 万用字符<样式>的项目
 -k 即 --block-size=1K
 -l 使用较长格式列出信息
 -L, --dereference 当显示符号链接的文件信息时,显示符号链接所指示
 的对象而并非符号链接本身的信息
 -m 所有项目以逗号分隔,并填满整行行宽
 -n, --numeric-uid-gid 类似 -l,但列出 UID 及 GID 号
 -N, --literal 印出未经处理的项目名称 (例如不特别处理控制字符)
 -o 类似 -l,但不列出有关组的信息
 -p, --file-type 加上文件类型的指示符号 (/=@| 其中一个)
 -q, --hide-control-chars 以 ? 字符代替无法打印的字符
 --show-control-chars 直接显示无法打印的字符 (这是默认方式,除非调用
 的程序名称是‘ls’而且是在终端机画面输出结果)
 -Q, --quote-name 将项目名称括上双引号
 --quoting-style=方式 使用指定的 quoting <方式>显示项目的名称:
 literal、locale、shell、shell-always、c、escape
 -r, --reverse 依相反次序排列
 -R, --recursive 同时列出所有子目录层
15
 -s, --size 以块大小为单位列出所有文件的大小
 -S 按文件大小排序。
 -t 按修改时间排序
 -u 配合 -lt:显示访问时间而且依访问时间排序
 配合 -l:显示访问时间但根据名称排序
 否则:根据访问时间排序
 -U 不进行排序;依文件系统原有的次序列出项目
 -v 根据版本进行排序
 -w, --width=COLS 自行指定萤幕宽度而不使用目前的数值
 -x 逐行列出项目而不是逐栏列出
 -X 根据扩展名排序
 -1 每行只列出一个文件
 --help 显示此帮助信息并离开
 --version 显示版本信息并离开
1.13 dos2unix
1.13.1 功能说明
将一个 DOS 格式的文件转换为 UNIX 格式的文件。主要差别在换行符。
语法: 
dos2unix [-hkqV] [-c convmode] [-o file ...] [-n infile outfile ...]
参数:
-h --help 帮助
-k --keepdate 保留文件输出日期
-q --quiet 安静模式,屏蔽所有警告。 -V --version 显示版本。
-c --convmode 转换模式,可以是 ASCII, 7bit, ISO, Mac, 默认为 ASCII
-l --newline 增加一行。
-o --oldfile 写到原始文件中
file ... 转换为旧文件的模式
-n --newfile 写入新文件
infile 输入文件名
outfile 输出文件名
1.14 egrep
1.14.1 功能说明
在文件内查找指定的字符串。
egrep 执行效果如 grep -E,使用的语法及参数可参照 grep 指令,与 grep 不同点在于解读字符串的方
法,egrep 是用 extended regular expression 语法来解读,而 grep 则用 basic regular expression 语法,
extended regular expression 比 basic regular expression 有更完整的表达规范。
1.15 fgrep
1.15.1 功能说明
查找文件里符合条件的字符串。本指令相当于执行 grep 指令加上参数"-F",详见 grep 指令说明。
1.15.2 语法
fgrep [范本样式][文件或目录...]
1.16 file
1.16.1 功能说明
辨识文件类型。
1.16.2 语法
file [-beLvz][-f <名称文件>][-m <魔法数字文件>...][文件或目录...]
1.16.3 补充说明
通过 file 指令,我们得以辨识该文件的类型。
16
1.16.4 参数
-b 列出辨识结果时,不显示文件名称。
-c 详细显示指令执行过程,便于排错或分析程序执行的情形。
-f<名称文件> 指定名称文件,其内容有一个或多个文件名称呢感,让 file 依序辨识这些文件,格式为每
列一个文件名称。
-L 直接显示符号连接所指向的文件的类别。
-m<魔法数字文件> 指定魔法数字文件。
-v 显示版本信息。
-z 尝试去解读压缩文件的内容。
1.17 find
1.17.1 功能说明
查找文件或目录。
1.17.2 语法
find [目录...][-amin <分钟>][-anewer <参考文件或目录>][-atime <24小时数>][-cmin <分钟>]
[-cnewer <参考文件或目录>][-ctime <24 小时数>][-daystart][-depyh][-empty][-exec <执行指
令>]
[-false][-fls <列表文件>][-follow][-fprint <列表文件>][-fprint0 <列表文件>]
[-fprintf <列表文件><输出格式>][-fstype <文件系统类型>][-gid <群组识别码>]
[-group <群组名称>][-help][-ilname <范本样式>][-iname <范本样式>]
[-inum <inode 编号>][-ipath <范本样式>][-iregex <范本样式>][-links <连接数目>]
[-lname < 范本样式 >][-ls][-maxdepth < 目录层级 >][-mindepth < 目录层级 >][-mmin < 分 钟>][-mount]
[-mtime <24 小时数>][-name <范本样式>][-newer <参考文件或目录>]
[-nogroup][noleaf] [-nouser][-ok <执行指令>][-path <范本样式>][-perm <权限数值>]
[-print][-print0][-printf <输出格式>][-prune][-regex <范本样式>][-size <文件大小>]
[-true][-type <文件类型>][-uid <用户识别码>][-used <日数>][-user <拥有者名称>]
[-version][-xdev][-xtype <文件类型>]
17
1.17.3 补充说明
find 指令用于查找符合条件的文件。任何位于参数之前的字符串都将被视为欲查找的目录。
1.17.4 参数
-amin<分钟> 查找在指定时间曾被存取过的文件或目录,单位以分钟计算。
-anewer<参考文件或目录> 查找其存取时间较指定文件或目录的存取时间更接近现在的文件或目
录。
-atime<24 小时数> 查找在指定时间曾被存取过的文件或目录,单位以 24 小时计算。
-cmin<分钟> 查找在指定时间之时被更改的文件或目录。
-cnewer<参考文件或目录> 查找其更改时间较指定文件或目录的更改时间更接近现在的文件或目
录。
-ctime<24 小时数> 查找在指定时间之时被更改的文件或目录,单位以 24 小时计算。
-daystart 从本日开始计算时间。
-depth 从指定目录下最深层的子目录开始查找。
-expty 寻找文件大小为 0 Byte 的文件,或目录下没有任何子目录或文件的空目录。
-exec<执行指令> 假设 find 指令的回传值为 True,就执行该指令。
-false 将 find 指令的回传值皆设为 False。 -fls<列表文件> 此参数的效果和指定"-ls"参数类似,但会把结果保存为指定的列表文件。
-follow 排除符号连接。
-fprint<列表文件> 此参数的效果和指定"-print"参数类似,但会把结果保存成指定的列表文件。
-fprint0<列表文件> 此参数的效果和指定"-print0"参数类似,但会把结果保存成指定的列表文
件。
-fprintf<列表文件><输出格式> 此参数的效果和指定"-printf"参数类似,但会把结果保存成指定的
列表文件。
-fstype<文件系统类型> 只寻找该文件系统类型下的文件或目录。
-gid<群组识别码> 查找符合指定之群组识别码的文件或目录。
-group<群组名称> 查找符合指定之群组名称的文件或目录。
-help 或--help 在线帮助。
-ilname<范本样式> 此参数的效果和指定"-lname"参数类似,但忽略字符大小写的差别。
-iname<范本样式> 此参数的效果和指定"-name"参数类似,但忽略字符大小写的差别。
-inum<inode 编号> 查找符合指定的 inode 编号的文件或目录。
-ipath<范本样式> 此参数的效果和指定"-ipath"参数类似,但忽略字符大小写的差别。
-iregex<范本样式> 此参数的效果和指定"-regexe"参数类似,但忽略字符大小写的差别。
18
-links<连接数目> 查找符合指定的硬连接数目的文件或目录。
-iname<范本样式> 指定字符串作为寻找符号连接的范本样式。
-ls 假设 find 指令的回传值为 True,就将文件或目录名称列出到标准输出。
-maxdepth<目录层级> 设置最大目录层级。
-mindepth<目录层级> 设置最小目录层级。
-mmin<分钟> 查找在指定时间曾被更改过的文件或目录,单位以分钟计算。
-mount 此参数的效果和指定"-xdev"相同。
-mtime<24 小时数> 查找在指定时间曾被更改过的文件或目录,单位以 24 小时计算。
-name<范本样式> 指定字符串作为寻找文件或目录的范本样式。
-newer<参考文件或目录> 查找其更改时间较指定文件或目录的更改时间更接近现在的文件或目
录。
-nogroup 找出不属于本地主机群组识别码的文件或目录。
-noleaf 不去考虑目录至少需拥有两个硬连接存在。
-nouser 找出不属于本地主机用户识别码的文件或目录。
-ok<执行指令> 此参数的效果和指定"-exec"参数类似,但在执行指令之前会先询问用户,若回答"y"
或"Y",则放弃执行指令。
-path<范本样式> 指定字符串作为寻找目录的范本样式。
-perm<权限数值> 查找符合指定的权限数值的文件或目录。
-print 假设 find 指令的回传值为 True,就将文件或目录名称列出到标准输出。格式为每列一个名
称,每个名称之前皆有"./"字符串。
-print0 假设 find 指令的回传值为 True,就将文件或目录名称列出到标准输出。格式为全部的名称
皆在同一行。
-printf<输出格式> 假设 find 指令的回传值为 True,就将文件或目录名称列出到标准输出。格式可
以自行指定。
-prune 不寻找字符串作为寻找文件或目录的范本样式。
-regex<范本样式> 指定字符串作为寻找文件或目录的范本样式。
-size<文件大小> 查找符合指定的文件大小的文件。
-true 将 find 指令的回传值皆设为 True。 -typ<文件类型> 只寻找符合指定的文件类型的文件。
-uid<用户识别码> 查找符合指定的用户识别码的文件或目录。
-used<日数> 查找文件或目录被更改之后在指定时间曾被存取过的文件或目录,单位以日计算。
-user<拥有者名称> 查找符合指定的拥有者名称的文件或目录。
-version 或--version 显示版本信息。
-xdev 将范围局限在先行的文件系统中。
-xtype<文件类型> 此参数的效果和指定"-type"参数类似,差别在于它针对符号连接检查。
19
1.18 grep
1.18.1 功能说明
查找文件里符合条件的字符串。
1.18.2 语法
grep [-abcEFGhHilLnqrsvVwxy][-A<显示列数>][-B<显示列数>][-C<显示列数>][-d<进行动作>][-e<范本样式>][-f<
范本文件>][--help][范本样式][文件或目录...]
1.18.3 补充说明
grep 指令用于查找内容包含指定的范本样式的文件,如果发现某文件的内容符合所指定的范本样式,预设
grep 指令会把含有范本样式的那一列显示出来。若不指定任何文件名称,或是所给予的文件名为“-”,则 grep
指令会从标准输入设备读取数据。
1.18.4 参数
-a 或--text 不要忽略二进制的数据。
-A<显示列数>或--after-context=<显示列数> 除了显示符合范本样式的那一列之外,并显示该列之后的内
容。
-b 或--byte-offset 在显示符合范本样式的那一列之前,标示出该列第一个字符的位编号。
-B<显示列数>或--before-context=<显示列数> 除了显示符合范本样式的那一列之外,并显示该列之前的内
容。
-c 或--count 计算符合范本样式的列数。
-C<显示列数>或--context=<显示列数>或-<显示列数> 除了显示符合范本样式的那一列之外,并显示该列之
前后的内容。
-d<进行动作>或--directories=<进行动作> 当指定要查找的是目录而非文件时,必须使用这项参数,否则
grep 指令将回报信息并停止动作。
-e<范本样式>或--regexp=<范本样式> 指定字符串做为查找文件内容的范本样式。
-E 或--extended-regexp 将范本样式为延伸的普通表示法来使用。
-f<范本文件>或--file=<范本文件> 指定范本文件,其内容含有一个或多个范本样式,让 grep 查找符合范本
条件的文件内容,格式为每列一个范本样式。
-F 或--fixed-regexp 将范本样式视为固定字符串的列表。
-G 或--basic-regexp 将范本样式视为普通的表示法来使用。
20
21
-h 或--no-filename 在显示符合范本样式的那一列之前,不标示该列所属的文件名称。
-H 或--with-filename 在显示符合范本样式的那一列之前,表示该列所属的文件名称。
-i 或--ignore-case 忽略字符大小写的差别。
-l 或--file-with-matches 列出文件内容符合指定的范本样式的文件名称。
-L 或--files-without-match 列出文件内容不符合指定的范本样式的文件名称。
-n 或--line-number 在显示符合范本样式的那一列之前,标示出该列的列数编号。
-q 或--quiet 或--silent 不显示任何信息。
-r 或--recursive 此参数的效果和指定“-d recurse”参数相同。
-s 或--no-messages 不显示错误信息。
-v 或--revert-match 反转查找。
-V 或--version 显示版本信息。
-w 或--word-regexp 只显示全字符合的列。
-x 或--line-regexp 只显示全列符合的列。
-y 此参数的效果和指定“-i”参数相同。
--help 在线帮助。
1.19 head
1.19.1 功能说明
先是文件的前几行(默认 10 行)。
1.19.2 语法
head [options] [files] 
1.19.3 参数
 -c, --bytes=[-]N 每个文件显示前 N 字节; -n, --lines=[-]N 每个文件显示前 N 行;
 -q, --quiet, --silent 不打印文件头
 -v, --verbose 打印文件头
 --help 显示此帮助信息并离开
 --version 显示版本信息并离开
1.19.4 例子
显示文件 phone_list 前 20 行
head -20 phone_list 
显示有 202 区号的前 10 个号码
grep '(202)' phone_list | head 
1.20 Less
1.20.1 功能说明
less 命令的功能几乎和 more 命令一样,也是用来按页显示文件,不同之处在于 less 命令在显示文件时
允许用户既可以向前又可以向后翻阅文件。同时因为 less 并未在一开始就读入整个档案,因此在遇上大型
档案的开启时,会比一般的文书编辑器(如 vi)来的快速。
1.20.2 语法
less [options] [filename] 
1.21 ln
1.21.1 功能说明
连接文件或目录。
1.21.2 语法
ln [-bdfinsv][-S <字尾备份字符串>][-V <备份方式>][--help][--version][源文件或目录][目标文件或目录] 或 ln [-bdfinsv][-S <字尾备份字符串>][-V <备份方式>][--help][--version][源文件或目录...][目的目录]
1.21.3 补充说明
ln 指令用在连接文件或目录,如同时指定两个以上的文件或目录,且最后的目的地是一个已经存在的目录,
则会把前面指定的所有文件或目录复制到该目录中。若同时指定多个文件或目录,且最后的目的地并非是
一个已存在的目录,则会出现错误信息。
1.21.4 参数
-b 或--backup 删除,覆盖目标文件之前的备份。
-d 或-F 或--directory 建立目录的硬连接。
-f 或--force 强行建立文件或目录的连接,不论文件或目录是否存在。
22
-i 或--interactive 覆盖既有文件之前先询问用户。
-n 或--no-dereference 把符号连接的目的目录视为一般文件。
-s 或--symbolic 对源文件建立符号连接,而非硬连接。
-S<字尾备份字符串>或--suffix=<字尾备份字符串> 用"-b"参数备份目标文件后,备份文件的字尾会被加
上一个备份字符串,预设的字尾备份字符串是符号"~",您可通过"-S"参数来改变它。
-v 或--verbose 显示指令执行过程。
-V<备份方式>或--version-control=<备份方式> 用"-b"参数备份目标文件后,备份文件的字尾会被加上一
个备份字符串,这个字符串不仅可用"-S"参数变更,当使用"-V"参数<备份方式>指定不同备份方式时,也会
产生不同字尾的备份字符串。
--help 在线帮助。
--version 显示版本信息。
1.22 locate
1.22.1 功能说明
查找文件。
1.22.2 语法
locate [-d <数据库文件>][--help][--version][范本样式...]
1.22.3 补充说明
locate 指令用于查找符合条件的文件,它会去保存文件与目录名称的数据库内,查找合乎范本样式条件的
文件或目录。
1.22.4 参数
-d<数据库文件>或--database=<数据库文件> 设置 locate 指令使用的数据库。locate 指令预设的数
据库位于/var/lib/slocate 目录里,文件名为 slocate.db,您可使用这个参数另行指定。
--help 在线帮助。
--version 显示版本信息。
23
1.23 ls
1.23.1 功能说明
列出目录内容。
1.23.2 语法
ls [-1aAbBcCdDfFgGhHiklLmnNopqQrRsStuUvxX][-I < 范 本 样 式 >][-T < 跳 格 字 数 >][-w < 每 列 字 符
数>][--block-size=<区块大小>][--color=<使用时机>][--format=<列表格式>][--full-time][--help][--indicator-style=<
标注样式 >][--quoting-style=< 引号样式 >][--show-control-chars][--sort=< 排序方式 >][--time=< 时间戳
记>][--version][文件或目录...]
1.23.3 补充说明
执行 ls 指令可列出目录的内容,包括文件和子目录的名称。
1.23.4 参数
-1 每列仅显示一个文件或目录名称。
-a 或--all 下所有文件和目录。
-A 或--almost-all 显示所有文件和目录,但不显示现行目录和上层目录。
-b 或--escape 显示脱离字符。
-B 或--ignore-backups 忽略备份文件和目录。
-c 以更改时间排序,显示文件和目录。
-C 以又上至下,从左到右的直行方式显示文件和目录名称。
-d 或--directory 显示目录名称而非其内容。
-D 或--dired 用 Emacs 的模式产生文件和目录列表。
-f 此参数的效果和同时指定"aU"参数相同,并关闭"lst"参数的效果。
-F 或--classify 在执行文件,目录,Socket,符号连接,管道名称后面,各自加上"*","/","=","@","|"号。
-g 次参数将忽略不予处理。
-G 或--no-group 不显示群组名称。
-h 或--human-readable 用"K","M","G"来显示文件和目录的大小。
-H 或--si 此参数的效果和指定"-h"参数类似,但计算单位是 1000Bytes 而非 1024Bytes。 -i 或--inode 显示文件和目录的 inode 编号。
-I<范本样式>或--ignore=<范本样式> 不显示符合范本样式的文件或目录名称。
-k 或--kilobytes 此参数的效果和指定"block-size=1024"参数相同。
24
-l 使用详细格式列表。
-L 或--dereference 如遇到性质为符号连接的文件或目录,直接列出该连接所指向的原始文件或目录。
-m 用","号区隔每个文件和目录的名称。
-n 或--numeric-uid-gid 以用户识别码和群组识别码替代其名称。
-N 或--literal 直接列出文件和目录名称,包括控制字符。
-o 此参数的效果和指定"-l" 参数类似,但不列出群组名称或识别码。
-p 或--file-type 此参数的效果和指定"-F"参数类似,但不会在执行文件名称后面加上"*"号。
-q 或--hide-control-chars 用"?"号取代控制字符,列出文件和目录名称。
-Q 或--quote-name 把文件和目录名称以""号标示起来。
-r 或--reverse 反向排序。
-R 或--recursive 递归处理,将指定目录下的所有文件及子目录一并处理。
-s 或--size 显示文件和目录的大小,以区块为单位。
-S 用文件和目录的大小排序。
-t 用文件和目录的更改时间排序。
-T<跳格字符>或--tabsize=<跳格字数> 设置跳格字符所对应的空白字符数。
-u 以最后存取时间排序,显示文件和目录。
-U 列出文件和目录名称时不予排序。
-v 文件和目录的名称列表以版本进行排序。
-w<每列字符数>或--width=<每列字符数> 设置每列的最大字符数。
-x 以从左到右,由上至下的横列方式显示文件和目录名称。
-X 以文件和目录的最后一个扩展名排序。
--block-size=<区块大小> 指定存放文件的区块大小。
--color=<列表格式> 培植文件和目录的列表格式。
--full-time 列出完整的日期与时间。
--help 在线帮助。
--indicator-style=<标注样式> 在文件和目录等名称后面加上标注,易于辨识该名称所属的类型。
--quoting-syte=<引号样式> 把文件和目录名称以指定的引号样式标示起来。
--show-control-chars 在文件和目录列表时,使用控制字符。
--sort=<排
  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值