Fork me on GitHub

cat命令

摘要: cat (concatenate,连接)命令将[文件]或标准输入组合输出到标准输出,如果没有指定文件,或者文件为”-“,则从标准输入读取。

1、命令简介

cat (concatenate,连接)命令将[文件]或标准输入组合输出到标准输出,如果没有指定文件,或者文件为”-“,则从标准输入读取。

2、用法

1
cat [选项]... [文件]...

3、选项

1
2
3
4
5
6
7
8
9
10
11
12
-A, --show-all 等于-vET
-b, --number-nonblank 对非空输出行编号
-e 等于-vE
-E, --show-ends 在每行结束处显示"$"
-n, --number 对所有行编号,包括空行
-s, --squeeze-blank 压缩多行空行为一空行
-t 与-vT 等价
-T, --show-tabs 将跳格(TAB)字符显示为^I
-u (被忽略)
-v, --show-nonprinting 使用^ 和M- 引用,除了LFD和 TAB 之外
--help 显示此帮助信息并退出
--version 显示版本信息并退出

4、示例

示例1:显示文件内容
1
2
3
4
[root@oracledb ~]# cat test1.log
2011
2012
2013
示例2:显示文件内容及行号
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
[root@oracledb ~]# cat -b test1.log
1 2011
2 2012
3 2013
4 2014
5 2015
[root@oracledb ~]# cat -n test1.log
1 2011
2 2012
3 2013
4
5
6 2014
7 2015
[root@oracledb ~]# cat -s test1.log
2011
2012
2013
2014
2015
[root@oracledb ~]# cat -ns test1.log
1 2011
2 2012
3 2013
4
5 2014
6 2015
示例3:-T选项
1
2
3
4
5
6
7
8
9
10
[root@oracledb ~]# cat -T test1.log
2011
2012
2013
^I行前面为tab
2014
2015
示例4:顺序连接两个文件log1,log2 ,并将结果输出到log3
1
[root@oracledb ~]# cat test1.log test2.log >test3.log
示例5:将标准输入的内容定向输出到文件
1
[root@oracledb ~]# cat >test4.log

按ctrl+D结束输入or EOF(End Of File)

1
2
3
4
5
6
7
8
9
10
11
12
13
[root@oracledb ~]# cat >log.txt <<EOF
> Hello
> World
> Linux
> PWD=$(pwd)
> EOF
[root@localhost test]# ls -l log.txt
-rw-r--r-- 1 root root 37 10-28 17:07 log.txt
[root@localhost test]# cat log.txt
Hello
World
Linux
PWD=/opt/soft/test
示例6:tac (反向列示)
1
2
3
4
5
6
7
8
[root@oracledb ~]# cat test2.log
2016
2017
2018
[root@oracledb ~]# tac test2.log
2018
2017
2016
好记性不如烂笔头,生命不息,学习不止!

分享