linux 命令之cat命令

时间:2021-10-23 09:20:56

cat主要有三大功能:


显示一个或者多个文件的所有内容(可以通过选项增加行数 将多个空白行替换成一个空白

等),创建一个文件,追加一个文件(在文件后面加内容)。


1.一次显示整个文件。

$cat filename

2.从键盘创建一个文件。

$cat > filename<<EOF

只能创建新文件,不能编辑已有文件.

追加一个文件。

$cat>> filename<<EOF


将多个文件追加到一个文件后面

$cat file1 file2 >>filename

3.将几个文件合并为一个文件。

$cat file1 file2 > file

怎么记忆呢?

>file>符号有直观上有输入的感觉在里面,那么当file文件不存在的时候,就创建一个文字叫file的文件,当file


文件存在的时候,就重新编辑这个文件,原来的东西就清空了,而>>file就是追加,你看,有两个>就理解为在原来


的基础上编辑。所以就是追加。而需要注意的是,当将两个或者多个文件追加到另一个文件上的时候,只能追加,无法编辑。


网上很多写命令的时候都是cat<<EOF >file这种形式,如同我后面的例子,但是我觉得不方便记忆,因此上面的表达

方式更好记忆一些。

cat具体命令格式为:cat [-AbeEnstTuv] [--help] [--version] fileName

如果没有>file的话,就表示讲file1file2连接后输出到屏幕,有>file的话就是连接后存入到file文件中。

参数:

-n或–number1开始对所有输出的行数编号

-b或–number-nonblank-n相似,只不过对于空白行不编号

-s或–squeeze-blank当遇到有连续两行以上的空白行,就代换为一行的空白行

-v或–show-nonprinting

4几个有意思的例子

清空档案内容

1.$cat/dev/null > /home/melody/workspace/qk.c

此为清空/home/melody/workspace/qk.c

档案内容

在文件中添加行,可以是多行。覆盖原有内容。

2.$ cat <<ABDCEFG> qk.txt这里的ABCDEFG可以换,表示的文件结束符,参见下例子:

melody@melody:~/workspace$cat <<khs> op.txt

>j

>khs

melody@melody:~/workspace$cat <<e> op.txt

>hello

>e

melody@melody:~/workspace$cat op.txt

hello

在文件中添加行,可以是多行。不覆盖原有内容。”追加”

3.$cat <<ABDCEFG>>qk.txt这里的ABCDEFG可以换,表示的文件结束符,参见下例子:

melody@melody:~/workspace$cat <<khs>> op.txt

>nice to meet you

>bye

>khs

melody@melody:~/workspace$cat op.txt

catop.txt

niceto meet you

bye

melody@melody:~/workspace$cat <<e>> op.txt

>see you again

>e

melody@melody:~/workspace$cat op.txt

catop.txt

niceto meet you

bye

seeyou again