cat
命令的用途是连接文件或标准输入并打印。这个命令常用来显示文件内容,或者将几个文件连接起来显示,或者从标准输入读取内容并显示,它常与重定向符号配合使用。
命令格式:
cat [选项] [文件]...
命令功能:
cat主要有三大功能:
1.一次显示整个文件
cat filename
2.从标准输入创建一个文件
cat > filename
3.将几个文件合并为一个文件
cat file1 file2 > file
命令参数:
-A
, --show-all
等价于 -vET
-b
, <code class="prettyprint" >--number-nonblank
对非空输出行编号
-e
等价于 -vE
-E
, --show-ends
在每行结束处显示 $
-n
, --number
对输出的所有行编号,由1开始对所有输出的行数编号
-s
, --squeeze-blank
有连续两行以上的空白行,就代换为一行的空白行
-t
与 -vT 等价
-T
, --show-tabs
将跳格字符显示为 ^I
-u
(被忽略)
-v
, --show-nonprinting
使用 ^ 和 M- 引用,除了 LFD 和 TAB 之外
使用实例:
实例一:把 log2012.log 的文件内容加上行号后保存 log2013.log 这个文件里
cat -n log2012.log >log2013.log
实例二:把 log2012.log 和 log2013.log 的文件内容加上行号(空白行不加)之后将内容附加到 log.log 里。
cat -b log2012.log log2013.log >>log.log
实例三:使用heredoc来生成文件
输出:
[root@localhost test]# cat >log.txt <Hello > World > Linux > PWD=$(pwd) > EOF
cat log.txt Hello World Linux PWD=/opt/soft/test
说明:
EOF
可以是任意字符串,不过Linux下约定俗成就是这么写。
cat >>log
可以追加
cat >log <<-EOF
调整格式
tac
反序显示
tac
命令也是 cat
命令倒过来写
[root@centos test]# cat 1 1234567 2222222 3333333 4444444 5555555 7654321
再看看 tac
[root@centos test]# tac 1 7654321 5555555 4444444 3333333 2222222 1234567
还有个 rev
命令可以左右颠掉,从最后一个字符开始显示。
rev /etc/passwd
hsab/nib/:toor/:toor:0:0:x:toor nigolon/nibs/:nib/:nib:1:1:x:nib nigolon/nibs/:nibs/:nomead:2:2:x:nomead nigolon/nibs/:mda/rav/:mda:4:3:x:mda nigolon/nibs/:dpl/loops/rav/:pl:7:4:x:pl cnys/nib/:nibs/:cnys:0:5:x:cnys nwodtuhs/nibs/:nibs/:nwodtuhs:0:6:x:nwodtuhs tlah/nibs/:nibs/:tlah:0:7:x:tlah