什么是cat命令?
cat命令是linux下的一个文本输出命令,一般是用于查看某个文件的内容的;
cat主要有有那个几个功能:
cat命令主要有三大功能
1.一次显示整个文件。
如:cat filename
2.从键盘创建一个文件。
如:cat > filename
只能创建新文件,不能编辑已有文件.
3.将几个文件合并为一个文件。
如:cat file1 file2 > file3
cat具体命令格式为 : cat [-AbeEnstTuv] [–help] [–version] fileName
这条命令的意思是:把档案串连接后传到基本输出
参数:
-n 或 –number 由 1 开始对所有输出的行数编号
-b 或 –number-nonblank 和 -n 相似,只不过对于空白行不编号
-s 或 –squeeze-blank 当遇到有连续两行以上的空白行,就代换为一行的空白行
-v 或 –show-nonprinting
比如:把 file1 的档案内容加上行号后输入 file2 这个档案里:那么命令就是:cat -n file1 > file2
如果想把 file1 和 file2 的档案内容加上除空白行的行号之后将内容附加到file3 里,那么命令就是:cat -b file1 file2 >> file3
cat /dev/null > /etc/test.txt这条内容就是清空/etc/test.txt档案的内容,和 >/etc/test.txt是一样的功能。这条大家一定要慎用!
在linux shell脚本中我们经常见到类似于cat << EOF的语句,不熟悉的朋友可能觉得很奇怪:EOF好像是文件的结束符,用在这里起到什么作用?
EOF是“end of file”,表示文本结束符,也就是说cat检测到EOF字串的时候就会结束操作。
二、使用
看例子是最快的熟悉方法:
# cat << EOF > test.sh
> 第一行内容
> 第二行内容
> EOF
结果:
cat test.sh
第一行内容
第二行内容
可以看到,当cat检测到EOF时,就会结束操作,仅保存EOF之前的内容。
而EOF并不是固定的,可以使用其他字符串代替,比如EEE或HOH之类的,简单说就是你在cat命令后自行约定的中断字符串。
所以 cat << EFF > test.sh和上面的例子是一样的,不过结束字符串就变成了EFF了。
另外,后面的符号>如果是1个就是覆盖写入,2个就是追加写入。
4、非脚本中
如果不是在脚本中,我们可以用Ctrl-D结束cat操作:
# cat > test.txt
第一行内容
第二行内容
第三行内容
使用下面的组合键Ctrl-D就可以结束输入啦!
结果:
引用# cat test.txt
第一行内容
第二行内容
第三行内容
使用下面的组合键Ctrl-D就可以结束输入啦!