Linux常用命令-cat

命令

cat

描述

concatenate files and print on the standard output
查看文件内容

用法

1
cat [OPTION]... [FILE]...

选项

1
2
3
4
5
6
7
8
9
10
Options:
-A 等同于-vET
-b 显示行号(跳过空行)
-e 等同于-vE选项
-E 显示行尾的$符号
-n 显示行号(包括空行)
-s 合并显示多个连续空行为一个空行
-t 等同于-vT选项
-T 显示tab字符^I
-v 显示非打印字符

注意

如果文件特别大或行数特别多,不建议使用cat命令,可以通过more命令分页显示文件内容

示例

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
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
$ echo -e "aaa\n\n\nbbb" > a
$ cat a
aaa


bbb
# 合并显示连续空行
$ cat -s a
aaa

bbb
# 只显示非空行行号
$ cat -b a
1 aaa


2 bbb
# 显示所有行行号
$ cat -n a
1 aaa
2
3
4 bbb
$ cat -e a
aaa$
$
$
bbb$
$ echo -e "aaa\tbbb" > a
$ cat a
aaa bbb
# 显示tab键
$ cat -T a
aaa^Ibbb
$ cat -t a
aaa^Ibbb

# 随机生成20位字符,包括大小写字母和数字
$ cat /dev/urandom | tr -dc '0-9a-zA-Z' |head -c20

# 通过cat创建文件>,也支持追加>>
$ cat > a << EOF
> aaa
> bbb
> asdf
> EOF
$ cat a
aaa
bbb
asdf
# 如果遇到特殊字符,需要使用\转义
$ cat > a << EOF
> a=3
> echo \$a
> EOF
$ cat a
a=3
echo $a
# 通过cat复制文件
$ cat a > b
$ more b
a=3
echo $a
# 通过cat合并文件
$ cat a b > c
$ cat c
a=3
echo $a
a=3
echo $a