cat命令详解

cat命令是linux下的一个文本输出命令,通常是用于观看某个文件的内容的;

cat主要有三大功能:
1.一次显示整个文件。
如 cat   filename
2.从键盘创建一个文件。
如 cat  >  filename
只能创建新文件,不能编辑已有文件.
3.将几个文件合并为一个文件(点击查看实用例子)。
如 cat   file1   file2  > file3

cat具体命令格式为 : cat [-AbeEnstTuv] [--help] [--version] fileName
说明:把档案串连接后传到基本输出(屏幕或加 > 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
第一行
第二行
第三行
使用下面的组合键就可以结束输入啦!

发表评论

gravatar

:?::razz::sad::evil::!::smile::oops::grin::eek::shock::???::cool::lol::mad::twisted::roll::wink::idea::arrow::neutral::cry::mrgreen:

刷新评论

加载中,请稍候...