Linux常用命令 - cat命令用法详解
cat命令
cat命令用于连接文件打印到输出设备中
cat是Linux的基本文本输出命令,通常用于查看文件内容。
作用:连接多个文件并且打印到屏幕输出,或者重定向到其他文件,也可以用来查看显示单个文件,或者多个文件。
语法
cat (参数)(选项)
-n 或 --number:由 1 开始对所有输出的行数编号。
-b 或 --number-nonblank:和 -n 相似,只不过对于空白行不编号。
-s 或 --squeeze-blank:当遇到有连续两行以上的空白行,就代换为一行的空白行。
-v 或 --show-nonprinting:使用 ^ 和 M- 符号,除了 LFD 和 TAB 之外。
-E 或 --show-ends : 在每行结束处显示 $。
-T 或 --show-tabs: 将 TAB 字符显示为 ^I。
-e : 等价于 -vE。
-A, --show-all:等价于 -vET。
-t:等价于"-vT"选项;
cat主要功能
1、一次显示文件的所有内容 cat filename
2、从磁盘创建一个新文件cat >filename(只能创建新文件不能编辑已有文件)
3、将几个文件合并为一个文件cat file1 file2 > file
事例
cat -n file1 > file2 把 file1 的档案内容加上行号后输入 file2 这个档案里
cat -b file1file2 >> file3 file1 和 file2 的文档内容加上行号(空白行不加)之后将内容附加到 file3 文档里:
如果原来没有 b.txt 文件。那么:
cat >b.txt <<EOF
EOF
输入第一行后,输入EOF,回车,就可以生成一个 b.txt 文件。其中EOF是告诉 bash 哪个符号代表文件结束。当然你也可以使用自己习惯的符号。
[bob@bob tmp]$ cat >b.txt<<abc
1
2
3
abc
[bob@bob tmp]$ cat b.txt
1
2
3
清空 /etc/test.txt 文档内容:
cat /dev/null > /etc/test.txt
格式:
cat [option] [file]
1,最简单的用法,直接跟文件名称,查看文件内容
linuxidc@linuxidc:~/linux/cat$ ls
linuxidc@linuxidc:~/linux/cat$ echo 'hello,my name is linuxidc, how are you?' > test.txt
linuxidc@linuxidc:~/linux/cat$ cat test.txt
hello,my name is linuxidc, how are you?
linuxidc@linuxidc:~/linux/cat$
2,也可以使用如下方式,向文件写入或者追加内容
linuxidc@linuxidc:~/linux/cat$ ls
test.txt
linuxidc@linuxidc:~/linux/cat$ cat >> test.txt << EOF
> 这是我新增的内容
> 这是第三行内容
> EOF
linuxidc@linuxidc:~/linux/cat$ cat test.txt
hello,my name is linuxidc, how are you?
这是我新增的内容
这是第三行内容
3,-n与-b 都是对文件进行编号,-b不会对空行编号
linuxidc@linuxidc:~/linux/cat$ cat test.txt
hello,my name is linuxidc, how are you?
这是我新增的内容
这是第三行内容
linuxidc@linuxidc:~/linux/cat$ cat >> test.txt << EOF
>
>
> 上面加入了两个空行
> EOF
linuxidc@linuxidc:~/linux/cat$ cat test.txt
hello,my name is linuxidc, how are you?
这是我新增的内容
这是第三行内容
上面加入了两个空行
linuxidc@linuxidc:~/linux/cat$ cat -n test.txt
1 hello,my name is linuxidc, how are you?
2 这是我新增的内容
3 这是第三行内容
4
5
6 上面加入了两个空行
linuxidc@linuxidc:~/linux/cat$ cat -b test.txt
1 hello,my name is linuxidc, how are you?
2 这是我新增的内容
3 这是第三行内容
4 上面加入了两个空行
linuxidc@linuxidc:~/linux/cat$
4,-E 在每一行的行尾显示美元符号
linuxidc@linuxidc:~/linux/cat$ cat -E test.txt
hello,my name is linuxidc, how are you?$
这是我新增的内容$
这是第三行内容$
$
$
上面加入了两个空行$
5,-s: 把两个以上连续的空行,变成一个
linuxidc@linuxidc:~/linux/cat$ cat -n test.txt
1 hello,my name is linuxidc, how are you?
2 这是我新增的内容
3 这是第三行内容
4
5
6
7
8 上面加入了两个空行
9
10 上面加入了一个空行
linuxidc@linuxidc:~/linux/cat$ cat -ns test.txt
1 hello,my name is linuxidc, how are you?
2 这是我新增的内容
3 这是第三行内容
4
5 上面加入了两个空行
6
7 上面加入了一个空行
6,利用/linuxidc/null 删除文件内容
linuxidc@linuxidc:~/linux/cat$ cat test.txt
hello,my name is linuxidc, how are you?
这是我新增的内容
这是第三行内容
上面加入了两个空行
上面加入了一个空行
linuxidc@linuxidc:~/linux/cat$ cat /linuxidc/null > test.txt
linuxidc@linuxidc:~/linux/cat$ cat test.txt
7,利用重定向写入内容
linuxidc@linuxidc:~/linux/cat$ cat test.txt
linuxidc@linuxidc:~/linux/cat$ cat > test.txt
this is linuxidc
how are you
linuxidc@linuxidc:~/linux/cat$ cat test.txt
this is linuxidc
how are you
内容输入完毕,用ctrl+d或者ctrl+c中断输入
8,显示多个文件内容
linuxidc@linuxidc:~/linux/cat$ cat > abc.txt
this is abc.txt
linuxidc@linuxidc:~/linux/cat$ cat test.txt abc.txt
this is linuxidc
how are you
this is abc.txt