cat [optin]... [file]...
主要用途
- 显示文件内容,如果没有文件或文件为
-
则读取标准输入。 - 将多个文件的内容进行连接并打印到标准输出。
- 显示文件内容中的不可见字符(控制字符、换行符、制表符等)。
参数
file(可选):要处理的文件,可以为一或多个。
选项
-A, --show-all 等价于"-vET"组合选项。 -b, --number-nonblank 只对非空行编号,从1开始编号,覆盖"-n"选项。 -e 等价于"-vE"组合选项。 -E, --show-ends 在每行的结尾显示'$'字符。 -n, --number 对所有行编号,从1开始编号。 -s, --squeeze-blank 压缩连续的空行到一行。 -t 等价于"-vT"组合选项。 -T, --show-tabs 使用"^I"表示TAB(制表符)。 -u POSIX兼容性选项,无意义。 -v, --show-nonprinting 使用"^"和"M-"符号显示控制字符,除了LFD(line feed,即换行符'\n')和TAB(制表符)。 --help 显示帮助信息并退出。 --version 显示版本信息并退出。
返回值
返回状态为成功除非给出了非法选项或非法参数。
实例
# 合并显示多个文件 cat ./1.log ./2.log ./3.log # 显示文件中的非打印字符、tab、换行符 cat -A test.log # 压缩文件的空行 cat -s test.log # 显示文件并在所有行开头附加行号 cat -n test.log # 显示文件并在所有非空行开头附加行号 cat -b test.log # 将标准输入的内容和文件内容一并显示 echo '######' |cat - test.log
more
more命令 是一个基于vi编辑器文本过滤器,它以全屏幕的方式按页显示文本文件的内容,支持vi中的关键字定位操作。more名单中内置了若干快捷键,常用的有H(获得帮助信息),Enter(向下翻滚一行),空格(向下滚动一屏),Q(退出命令)。
该命令一次显示一屏文本,满屏后停下来,并且在屏幕的底部出现一个提示信息,给出至今己显示的该文件的百分比:--More--(XX%)可以用下列不同的方法对提示做出回答:
- 按
Space
键:显示文本的下一屏内容。 - 按
Enter
键:只显示文本的下一行内容。 - 按斜线符
|
:接着输入一个模式,可以在文本中寻找下一个相匹配的模式。 - 按H键:显示帮助屏,该屏上有相关的帮助信息。
- 按B键:显示上一屏内容。
- 按Q键:退出more命令。
选项
-<数字>:指定每屏显示的行数;
-d:显示“[press space to continue,'q' to quit.]”和“[Press 'h' for instructions]”;
-c:不进行滚屏操作。每次刷新这个屏幕;
-s:将多个空行压缩成一行显示;
-u:禁止下划线; +<数字>:从指定数字的行开始显示。
实例
显示文件file的内容,但在显示之前先清屏,并且在屏幕的最下方显示完成的百分比。
more -dc file
显示文件file的内容,每10行显示一次,而且在显示之前先清屏。
more -c -10 file
less
less命令 的作用与more十分相似,都可以用来浏览文字档案的内容,不同的是less命令允许用户向前或向后浏览文件,而more命令只能向前浏览。用less命令显示文件时,用PageUp键向上翻页,用PageDown键向下翻页。要退出less程序,应按Q键。
选项
-e:文件内容显示完毕后,自动退出;
-f:强制显示文件;
-g:不加亮显示搜索到的所有关键词,仅显示当前显示的关键字,以提高显示速度;
-l:搜索时忽略大小写的差异;
-N:每一行行首显示行号;
-s:将连续多个空行压缩成一行显示;
-S:在单行显示较长的内容,而不换行显示;
-x<数字>:将TAB字符显示为指定个数的空格字符。
实例
sudo less /var/log/shadowsocks.log
head
主要用途
- 在未指定行数时默认显示前10行。
- 处理多个文件时会在各个文件之前附加含有文件名的行。
- 当没有文件或文件为
-
时,读取标准输入。
选项
-c, --bytes=[-]NUM 显示前NUM字节;如果NUM前有"-",那么会打印除了文件末尾的NUM字节以外的其他内容。
-n, --lines=[-]NUM 显示前NUM行而不是默认的10行;如果NUM前有"-",那么会打印除了文件末尾的NUM行以外的其他行。
-q, --quiet, --silent 不打印文件名行。
-v, --verbose 总是打印文件名行。
-z, --zero-terminated 行终止符为NUL而不是换行符。
--help 显示帮助信息并退出。
--version 显示版本信息并退出。
NUM可以有一个乘数后缀:
b 512
kB 1000
k 1024
MB 1000*1000
M 1024*1024
GB 1000*1000*1000 G 1024*1024*1024
T、P、E、Z、Y等以此类推。
也可以使用二进制前缀:
KiB=K
MiB=M
以此类推。
实例
# 查看历史文件的前6行:
[user2@pc ~]$ head -n 6 ~/.bash_history #1575425555
cd ~
#1575425558
ls -lh
#1575425562 vi ~/Desktop/ZhuangZhu-74.txt
# 查看多个文件:
[user2@pc ~]$ head -n ~/.bash_history ~/.bas
hrc
==> /allhome/user2/.bash_history <== #1575425555
cd ~
#1575425558
ls -lh
#1575425562
vi ~/Desktop/ZhuangZhu-74.txt
#1575425566
uptime
#1575425570
find ~/ -maxdepth 3 -name 'test.sh' -exec lh {} \; ==> /allhome/user2/.bashrc <==
# .bashrc
# forbid use Ctrl+D to exit shell.
set -o ignoreeof
# Source global definitions. if [ -f /etc/bashrc ]; then . /etc/bashrc fi
tail
tail命令 用于输入文件中的尾部内容。tail命令默认在屏幕上显示指定文件的末尾10行。如果给定的文件不止一个,则在显示的每个文件前面加一个文件名标题。如果没有指定文件或者文件名为“-”,则读取标准输入。
注意:如果表示字节或行数的N值之前有一个”+”号,则从文件开头的第N项开始显示,而不是显示文件的最后N项。N值后面可以有后缀:b表示512,k表示1024,m表示1 048576(1M)。
选项
--retry:即是在tail命令启动时,文件不可访问或者文件稍后变得不可访问,都始终尝试打开文件。使用此选项时需要与选项“——follow=name”连用;
-c<N>或——bytes=<N>:输出文件尾部的N(N为整数)个字节内容;
-f<name/descriptor>或;--follow<nameldescript>:显示文件最新追加的内容。“name”表示以文件名的方式监视文件的变化。“-f”与“-fdescriptor”等效; -F:与选项“-follow=name”和“--retry"连用时功能相同;
-n<N>或——line=<N>:输出文件的尾部N(N位数字)行内容。
--pid=<进程号>:与“-f”选项连用,当指定的进程号的进程终止后,自动退出tail命令;
-q或——quiet或——silent:当有多个文件参数时,不输出各个文件名;
-s<秒数>或——sleep-interal=<秒数>:与“-f”选项连用,指定监视文件变化时间隔的秒数;
-v或——verbose:当有多个文件参数时,总是输出各个文件名;
--help:显示指令的帮助信息; --version:显示指令的版本信息。
实例
tail file #(显示文件file的最后10行)
tail -n +20 file #(显示文件file的内容,从第20行至文件末尾)
tail -c 10 file #(显示文件file的最后10个字符)
tail -25 mail.log # 显示 mail.log 最后的 25 行
tail -f mail.log # 等同于--follow=descriptor,根据文件描述符进行追踪,当文件改名或被删除,追踪停止
tail -F mail.log # 等同于--follow=name --retry,根据文件名进行追踪,并保持重试,即该文件被删除或改名后,如果再次创建相同的文件名,会继续追踪