您的位置:首页 > 运维架构 > Linux

linux 命令之cat命令

2016-03-04 11:34 471 查看
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或–number由1开始对所有输出的行数编号
-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
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: