cat.1

CAT(1)

CAT(1)

FreeBSD General Commands Manual

CAT(1)

cat

连接并打印文件

cat [-belnstuv] [file ...]

cat 实用程序按顺序读取文件,并将它们写入标准输出。 file 操作数按命令行顺序处理。 如果 file 是单个破折号 (‘-’) 或不存在,则 cat 从标准输入读取。 如果 file 是 UNIX 域套接字,则 cat 连接到它,然后读取它直到 EOF 。 这补充了 inetd(8) 中可用的 UNIX 域绑定功能。

选项如下:

-b

对非空白输出行编号,从 1 开始。

-e

显示非打印字符(参见 -v 选项),并在每行的末尾显示一个美元符号 (‘$’) 。

-l

在标准输出文件描述符上设置排他咨询锁。 这个锁是使用 fcntl(2) 和 F_SETLKW 命令设置的。 如果输出文件已经被锁定, cat 将阻塞直到获得锁定。

-n

对输出行编号,从 1 开始。

-s

挤压多个相邻的空行,导致输出为单行距。

-t

显示非打印字符(参见 -v 选项),并将制表符显示为 ‘^I’ 。

-u

禁用输出缓冲。

-v

显示非打印字符,使其可见。 对于 control-X,控制字符打印为 ‘^X’ ;删除字符(八进制 0177)打印为 ‘^?’ 。 Non-ASCII 非 ASCII 字符(设置了高位)打印为 ‘M-’ (用于元),后跟低 7 位的字符。

The cat utility exits 0 on success, and >0 if an error occurs.

命令:

cat file1

将 file1 的内容打印到标准输出。

命令:

cat file1 file2 > file3

将依次将 file1 和 file2 的内容打印到文件 file3, 如果 file3 已经存在则截断它。 有关重定向的更多信息,请参见您的 shell(例如 sh(1) )的手册页。

命令:

cat file1 - file2 - file3

将打印 file1 的内容,打印从标准输入接收到的数据,直到收到 EOF (‘^D’) 字符,打印 file2 的内容,再次读取并输出标准输入的内容,最后输出 file3 。 请注意,如果标准输入引用了一个文件,那么命令行上的第二个破折号将不起作用,因为当 cat 遇到第一个 ‘-’ 操作数时,文件的全部内容已经被读取并打印了。

head(1), more(1), pr(1), sh(1), tail(1), vis(1), zcat(1), fcntl(2), setbuf(3) Rob Pike, UNIX Style, or cat -v Considered Harmful, USENIX Summer Conference Proceedings, 1983.

cat 实用程序符合 IEEE Std 1003.2-1992 (“POSIX.2”) 规范。

标志 [-belnstv] 是规范的扩展。

cat 实用程序出现在 Version 1 AT&T UNIX 中。 Dennis Ritchie 设计并编写了第一个手册页。 似乎是为了 cat

由于用于执行输出重定向的 shell 语言机制,命令 “cat file1 file2 > file1” 将导致 file1 中的原始数据被破坏!

-t-v 选项生效时, cat 实用程序无法识别多字节字符。

January 29, 2013

FreeBSD 13.1-RELEASE

最后更新于

FreeBSD 中文社区