cat


cat

cat(英文全拼:concatenate)命令用于连接文件并打印到标准输出设备上。

使用权限

所有使用者

语法格式

cat [-AbeEnstTuv] [--help] [--version] fileName

参数说明:

  • -n 或 –number:由1开始对所有输出的行数编号。
  • -b 或 –number-nonblank:和 -n 相似,只不过对于空白行不编号。
  • -s 或 –squeeze-blank:当遇到有连续两行以上的空白行,就换为一行的空白行。
  • -v 或 –show-nonprinting:使用 ^M- 符号,除了 LFDTAB 之外。
  • -E 或 –show-ends:在每行结束处显示 $
  • -T 或 –show-tabs:将 TAB 字符显示为 ^I
  • -A 或 –show-all:等价于 -vET
  • -e :等价于 -vE 选项。
  • -t :等价于 -vT 选项。

实例

把textfile的文档内容加上行号后输入到 filetext 文档里:

cat -n textfile > filetext

将textfile和filetext的文档内容加上行号(空白行不加)之后将内容附加到text文件中:

cat -b textfile filetext > text

清空 /etc/text.txt 文件内容:

cat /dev/null > /etc/text.txt

cat也可以用来制作镜像文件。例如要制作软盘的镜像文件,将软盘放好后输入:

cat /dev/fd0 > OUTFILE

相反,如果想把image file写道软盘,输入:

cat IMG_FILE > /dev/fd0

注:

  • 1、OUTFILE指输出的镜像文件名。
  • 2、IMG_FILE指镜像文件名。
  • 3、若从镜像文件写会device时,device容量需与镜像相当。
  • 4、通常用制作开机磁片。

笔记

dev/null:在类Unix系统中,/dev/null称空设备,是一个特殊的设备文件,它丢弃一切写入其中的数据(但报告写入操作成功),读取它则会立即得到一个EOF。

使用 cat $filename > /dev/null 则不会得到任何信息,因为我们将本来通过标准输出显示的文件信息重定向到了 /dev/null 中。

使用 cat $filename 1 > /dev/null 也会得到同样的效果,因为默认重定向的1 就是标准输出。如果你对 shell 脚本或者重定向比较熟悉的话,应该会联想到2,也即标准错误输出。

如果我们不想看到错误输出呢?我们可以禁止标准错误 cat $badname 2 > /dev/null


文章作者: 刘宇亭
版权声明: 本博客所有文章除特別声明外,均采用 CC BY 4.0 许可协议。转载请注明来源 刘宇亭 !
评论
  目录