cat
用来查看文本文件
[01:39:12 root@C8-3-55 ~]#cat --help
用法:cat [选项]... [文件]...
连接所有指定文件并将结果写到标准输出。
如果没有指定文件,或者文件为"-",则从标准输入读取。
-A, --show-all equivalent to -vET
-b, --number-nonblank number nonempty output lines, overrides -n
-e equivalent to -vE
-E, --show-ends display $ at end of each line
-n, --number number all output lines
-s, --squeeze-blank suppress repeated empty output lines
-t 与-vT 等价
-T, --show-tabs 将跳格字符显示为^I
-u (被忽略)
-v, --show-nonprinting 使用^ 和M- 引用,除了LFD和 TAB 之外
--help 显示此帮助信息并退出
--version 显示版本信息并退出
示例:
cat f - g 先输出f 的内容,然后输出标准输入的内容,最后输出g 的内容。
cat 将标准输入的内容复制到标准输出。
GNU coreutils 在线帮助:<https://www.gnu.org/software/coreutils/>
请向 <http://translationproject.org/team/zh_CN.html> 报告 cat 的翻译错误
完整文档请见:<https://www.gnu.org/software/coreutils/cat>
或者在本地使用:info '(coreutils) cat invocation'
从标准输入读入内容并显示
直接回车,输入并显示
[01:39:25 root@C8-3-55 ~]#cat
123
123
123
123
bbc
bbc
bbc
bbc
^C
看起来没啥用,但是可以用来输入重定向
cat -n 显示行号,空行也显示
[01:41:50 root@C8-3-55 ~]#cat -n /etc/passwd
1 root:x:0:0:root:/root:/bin/bash
2 bin:x:1:1:bin:/bin:/sbin/nologin
3 daemon:x:2:2:daemon:/sbin:/sbin/nologin
4 adm:x:3:4:adm:/var/adm:/sbin/nologin
5 lp:x:4:7:lp:/var/spool/lpd:/sbin/nologin
6 sync:x:5:0:sync:/sbin:/bin/sync
7 shutdown:x:6:0:shutdown:/sbin:/sbin/shutdown
8 halt:x:7:0:halt:/sbin:/sbin/halt
9 mail:x:8:12:mail:/var/spool/mail:/sbin/nologin
10 operator:x:11:0:operator:/root:/sbin/nologin
cat -b 显示行号,不显示空行
number nonempty output lines, overrides -n
[01:47:47 root@C8-3-55 ~]#cat -b /etc/passwd
1 root:x:0:0:root:/root:/bin/bash
2 bin:x:1:1:bin:/bin:/sbin/nologin
3 daemon:x:2:2:daemon:/sbin:/sbin/nologin
4 adm:x:3:4:adm:/var/adm:/sbin/nologin
5 lp:x:4:7:lp:/var/spool/lpd:/sbin/nologin
6 sync:x:5:0:sync:/sbin:/bin/sync
7 shutdown:x:6:0:shutdown:/sbin:/sbin/shutdown
8 halt:x:7:0:halt:/sbin:/sbin/halt
9 mail:x:8:12:mail:/var/spool/mail:/sbin/nologin
10 operator:x:11:0:operator:/root:/sbin/nologin
cat -A 查看不可见字符
shell编程或者配置文件不生效,其中可能有一些不可见字符影响,用-A可以
[01:44:23 root@C8-3-55 ~]#hostname -I | cat -A
10.0.0.55 $
nl
加行号,基本等于cat -b
[01:47:52 root@C8-3-55 ~]#nl --help
用法:nl [选项]... [文件]...
Write each FILE to standard output, with line numbers added.
如果没有指定文件,或者文件为"-",则从标准输入读取。
必选参数对长短选项同时适用。
-b, --body-numbering=STYLE use STYLE for numbering body lines
-d, --section-delimiter=CC use CC for logical page delimiters
-f, --footer-numbering=STYLE use STYLE for numbering footer lines
-h, --header-numbering=STYLE use STYLE for numbering header lines
-i, --line-increment=NUMBER line number increment at each line
-l, --join-blank-lines=NUMBER group of NUMBER empty lines counted as one
-n, --number-format=FORMAT insert line numbers according to FORMAT
-p, --no-renumber do not reset line numbers for each section
-s, --number-separator=STRING add STRING after (possible) line number
-v, --starting-line-number=NUMBER first line number for each section
-w, --number-width=NUMBER use NUMBER columns for line numbers
--help 显示此帮助信息并退出
--version 显示版本信息并退出
Default options are: -bt -d':' -fn -hn -i1 -l1 -n'rn' -s<TAB> -v1 -w6
CC are two delimiter characters used to construct logical page delimiters;
a missing second character implies ':'.
STYLE is one of:
a number all lines
t number only nonempty lines
n number no lines
pBRE number only lines that contain a match for the basic regular
expression, BRE
FORMAT is one of:
ln left justified, no leading zeros
rn right justified, no leading zeros
rz right justified, leading zeros
tac
cat反过来写就是tac,也是用来反过来查看文件的
[01:49:51 root@C8-3-55 ~]#tac --help
用法:tac [选项]... [文件]...
Write each FILE to standard output, last line first.
如果没有指定文件,或者文件为"-",则从标准输入读取。
必选参数对长短选项同时适用。
-b, --before 在行前而非行尾添加分隔标志
-r, --regex 将分隔标志视作正则表达式来解析
-s, --separator=字符串 使用指定字符串代替换行作为分隔标志
--help 显示此帮助信息并退出
--version 显示版本信息并退出
[01:52:18 root@C8-3-55 ~]#cat f1.txt ;tac f1.txt
1
2
3
4
5
6
7
8
9
10
10
9
8
7
6
5
4
3
2
1
rev
基于行的倒过来
C[01:55:06 root@C8-3-55 ~]#rev --help
用法:rev [选项] [文件 ...]
对成行的内容逐字翻转。
选项:
-h, --help display this help
-V, --version display version
[01:52:54 root@C8-3-55 ~]#rev
asdfghjkl
lkjhgfdsa
zxcvbnm
mnbvcxz