6

cat命令详解

 3 years ago
source link: https://zhang.ge/277.html
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.
neoserver,ios ssh client

cat命令详解

Jager · 12月24日 · 2013年linux · shell 4697次已读

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
第一行
第二行
第三行
使用下面的组合键就可以结束输入啦!


About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK