方便于作者自用的命令手册,不喜勿喷
ls
ls是查看指定路径下的文件信息,可以是相对路径也可以是绝对路径
使用参数:
- -a:列出全部文件(包含隐藏文件,如.bashrc)
- -l:列出文件的全部信息
示例:
列出 /etc 下的文件
bash
ls /etc
列出 /etc 下的所有文件
bash
ls -a /etc
使用参数还可以组合使用,其他的命令也是一样,后面不在介绍
列出 /etc 下的所有文件(包含隐藏文件),包含其详细信息
bash
ls -al /etc
cd
cd是进入指定路径命令,不加路径,默认进入当前用户的家目录
示例:
进入 /etc 目录
bash
cd /etc
alias
alias是给命令取别名,注意的是使用该命令取别名的时候该命令不会判断是否是当前系统已经存在的有效命令,比如将ls取了别名为cd
示例:
给 ls -l 取一个别名为 myls
bash
alias myls='ls -l' #注意,等号两边不能有空格
clear
clear是清屏命令,注意是当前终端窗口屏幕。在Ubuntu系统中还可以使用Crtl+L的快捷键清屏
示例:
将当前终端屏幕清屏
bash
clear
date
date是获取当前系统时间的命令
示例:
bash
date
pwd
pwd是获取当前路径的命令
示例:
bash
pwd
echo
echo是打印文字,类似于c语言中的printf打印函数
示例:
打印hello到终端屏幕
bash
echo "hello"
sort
sort是排序命令(按照ASCII表去排序,并且是行排序,也就是比较每一行的总大小)
参数:
- -b:忽略每行前面开始出的空格字符。
- -c:检查文件是否已经按照顺序排序。
- -f :排序时,忽略大小写字母。
- -M:将前面3个字母依照月份的缩写进行排序。
- -n:依照数值的大小排序。
- -o <输出文件> :将排序后的结果存入指定的文件。
- -r:以相反的顺序来排序。
- -t <分隔字符>:指定排序时所用的栏位分隔字符。
- -k:选择以哪个区间进行排序。
uniq
uniq是对文本文件进行行去去重的工具。(以行为单位,进行行与行之间的字符串比较并进行去重,一般对有序的文本行进行有效去重,所以常与sort命令结合使用)
参数:
- -c:统计行出现的次数
- -d:只显示重复的行并且去重
- -u:只显示唯一的行
- -i:忽略字母大小写
- -f:忽略前N个字段(字段间用空白字符分隔)
which
which命令用于查找文件。(which指令会在环境变量$PATH设置的目录里查找符合条件的文件。)
参数:
- -n <文件名长度>:指定文件名长度,指定的长度必须大于或等于所有文件中最长的文件名。
- -p <文件名长度>:与-n参数相同,但此处的<文件名长度>包括了文件的路径。
- -w:指定输出时栏位的宽度。
- -V:显示版本信息。
|
| 可不是大写的 i 或者 L ,这是一个管道符,一般情况在你的 \ 键一起,他的作用是将多个命令连接在一起,将前面命令的结果给后面的命令
示例:
将当前目录下的所有文件列表信息给sort命令排序
bash
ls -l | sort
head
head 命令可用于查看文件的开头部分的内容,有一个常用的参数 -n 用于显示行数,默认为 10,即显示 10 行的内容。
参数:
- -q:隐藏文件名
- -v:显示文件名
- -c <数目>:显示的字节数。
- -n <行数>:显示的行数。
tail
tail 命令可用于查看文件的内容,有一个常用的参数 -f 常用于查阅正在改变的日志文件。tail -f filename 会把 filename 文件里的最尾部的内容显示在屏幕上,并且不断刷新,只要 filename 更新就可以看到最新的文件内容。
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]: 向上翻动一页
more
more 命令类似 cat ,不过会以一页一页的形式显示,更方便使用者逐页阅读,而最基本的指令就是按空白键(space)就往下一页显示,按 b 键就会往回(back)一页显示,而且还有搜寻字串的功能(与 vi 相似),使用中的说明文件,请按 h 。
参数:
- -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 欲显示内容的文档,可为复数个数
od
od命令用于输出文件内容。od指令会读取所给予的文件的内容,并将其内容以八进制字码呈现出来。
参数:
- -a 此参数的效果和同时指定"-ta"参数相同。
- -A<字码基数> 选择要以何种基数计算字码。
- -b 此参数的效果和同时指定"-toC"参数相同。
- -c 此参数的效果和同时指定"-tC"参数相同。
- -d 此参数的效果和同时指定"-tu2"参数相同。
- -f 此参数的效果和同时指定"-tfF"参数相同。
- -h 此参数的效果和同时指定"-tx2"参数相同。
- -i 此参数的效果和同时指定"-td2"参数相同。
- -j<字符数目>或--skip-bytes=<字符数目> 略过设置的字符数目。
- -l 此参数的效果和同时指定"-td4"参数相同。
- -N<字符数目>或--read-bytes=<字符数目> 到设置的字符数目为止。
- -o 此参数的效果和同时指定"-to2"参数相同。
- -s<字符串字符数>或--strings=<字符串字符数> 只显示符合指定的字符数目的字符串。
- -t<输出格式>或--format=<输出格式> 设置输出格式。
- -v或--output-duplicates 输出时不省略重复的数据。
- -w<每列字符数>或--width=<每列字符数> 设置每列的最大字符数。
- -x 此参数的效果和同时指定"-h"参数相同。
- --help 在线帮助。
- --version 显示版本信息。
mkdir/rmdir
用于创建目录/删除空的目录。
参数:
- -p 确保目录名称存在,不存在的就建一个。/ 是当子目录被删除后使它也成为空目录的话,则顺便一并删除。
rm
删除文件
参数:
- -r:递归删除
- -f:强制删除
mv
用来为文件或目录改名、或将文件或目录移入其它位置。
参数:
- -b: 当目标文件或目录存在时,在执行覆盖前,会为其创建一个备份。
- -i: 如果指定移动的源目录或文件与目标的目录或文件同名,则会先询问是否覆盖旧文件,输入 y 表示直接覆盖,输入 n 表示取消该操作。
- -f: 如果指定移动的源目录或文件与目标的目录或文件同名,不会询问,直接覆盖旧文件。
- -n: 不要覆盖任何已存在的文件或目录。
- -u:当源文件比目标文件新或者目标文件不存在时,才执行移动操作。
cp
用于复制文件或目录。
参数:
- -a:此选项通常在复制目录时使用,它保留链接、文件属性,并复制目录下的所有内容。其作用等于 dpR 参数组合。
- -d:复制时保留链接。这里所说的链接相当于 Windows 系统中的快捷方式。
-r
或--recursive
:用于复制目录及其所有的子目录和文件,如果要复制目录,需要使用该选项。-i
或--interactive
:在复制前提示确认,如果目标文件已存在,则会询问是否覆盖,回答 y 时目标文件将被覆盖。。-u
或--update
:仅复制源文件中更新时间较新的文件。-v
或--verbose
:显示详细的复制过程。-p
或--preserve
:保留源文件的权限、所有者和时间戳信息。-f
或--force
:强制复制,即使目标文件已存在也会覆盖,而且不给出提示。- -l:不复制文件,只是生成链接文件。
touch
touch命令用于修改文件或者目录的时间属性,包括存取时间和更改时间。若文件不存在,系统会建立一个新的文件。
ls -l 可以显示档案的时间记录。
参数:
- a 改变档案的读取时间记录。
- m 改变档案的修改时间记录。
- c 假如目的档案不存在,不会建立新的档案。与 --no-create 的效果一样。
- f 不使用,是为了与其他 unix 系统的相容性而保留。
- r 使用参考档的时间记录,与 --file 的效果一样。
- d 设定时间与日期,可以使用各种不同的格式。
- t 设定档案的时间记录,格式与 date 指令相同。
- --no-create 不会建立新档案。
- --help 列出指令格式。
- --version 列出版本讯息。
find
find 命令用于在指定目录下查找文件和目录。它可以使用不同的选项来过滤和限制查找的结果。
bash
find [路径] [匹配条件] [动作]
参数:
路径 是要查找的目录路径,可以是一个目录或文件名,也可以是多个路径,多个路径之间用空格分隔,如果未指定路径,则默认为当前目录。
expression 是可选参数,用于指定查找的条件,可以是文件名、文件类型、文件大小等等。
匹配条件 中可使用的选项有二三十个之多,以下列出最常用的部份:
-name pattern
:按文件名查找,支持使用通配符*
和?
。-type type
:按文件类型查找,可以是f
(普通文件)、d
(目录)、l
(符号链接)等。-size [+-]size[cwbkMG]
:按文件大小查找,支持使用+
或-
表示大于或小于指定大小,单位可以是c
(字节)、w
(字数)、b
(块数)、k
(KB)、M
(MB)或G
(GB)。-mtime days
:按修改时间查找,支持使用+
或-
表示在指定天数前或后,days 是一个整数表示天数。-user username
:按文件所有者查找。-group groupname
:按文件所属组查找。
**动作:**可选的,用于对匹配到的文件执行操作,比如删除、复制等。
find 命令中用于时间的参数如下:
-amin n
:查找在 n 分钟内被访问过的文件。-atime n
:查找在 n*24 小时内被访问过的文件。-cmin n
:查找在 n 分钟内状态发生变化的文件(例如权限)。-ctime n
:查找在 n*24 小时内状态发生变化的文件(例如权限)。-mmin n
:查找在 n 分钟内被修改过的文件。-mtime n
:查找在 n*24 小时内被修改过的文件。
在这些参数中,n 可以是一个正数、负数或零。正数表示在指定的时间内修改或访问过的文件,负数表示在指定的时间之前修改或访问过的文件,零表示在当前时间点上修改或访问过的文件。
正数应该表示时间之前,负数表示时间之内。
例如:-mtime 0 表示查找今天修改过的文件,-mtime -7 表示查找一周以前修改过的文件。
关于时间 n 参数的说明:
-
+n:查找比 n 天前更早的文件或目录。
-
-n:查找在 n 天内更改过属性的文件或目录。
-
n:查找在 n 天前(指定那一天)更改过属性的文件或目录。
grep
grep (global regular expression) 命令用于查找文件里符合条件的字符串或正则表达式。
grep 指令用于查找内容包含指定的范本样式的文件,如果发现某文件的内容符合所指定的范本样式,预设 grep 指令会把含有范本样式的那一列显示出来。若不指定任何文件名称,或是所给予的文件名为 -,则 grep 指令会从标准输入设备读取数据。
参数:
-i
:忽略大小写进行匹配。-v
:反向查找,只打印不匹配的行。-n
:显示匹配行的行号。-r
:递归查找子目录中的文件。-l
:只打印匹配的文件名。-c
:只打印匹配的行数。
wc
wc命令用于计算字数。
利用wc指令我们可以计算文件的Byte数、字数、或是列数,若不指定文件名称、或是所给予的文件名为"-",则wc指令会从标准输入设备读取数据。
参数:
- -c或--bytes或--chars 只显示Bytes数。
- -l或--lines 显示行数。
- -w或--words 只显示字数(比如单词的数量)。
- --help 在线帮助。
- --version 显示版本信息。
diff
diff 命令用于比较文件的差异。
diff 以逐行的方式,比较文本文件的异同处。如果指定要比较目录,则 diff 会比较目录中相同文件名的文件,但不会比较其中子目录。
参数:
- -<行数> 指定要显示多少行的文本。此参数必须与-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 比较大文件时,可加快速度。
- -I<字符或字符串>或--ignore-matching-lines<字符或字符串> 若两个文件在某几行有所不同,而这几行同时都包含了选项中指定的字符或字符串,则不显示这两个文件的差异。
- -i或--ignore-case 不检查大小写的不同。
- -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参数时,仅显示不同之处。