绑定完请刷新页面
取消
刷新

分享好友

×
取消 复制
如何在 Linux 上正确使用 cat 命令
2022-08-10 16:47:30


cat 可能是您将在 Linux 上首先学习的命令之一。以下是在 Linux 上使用 cat 的正确方法(和错误方法)。
您将在 Linux 上使用的基本的命令之一是 cat。乍一看似乎很神秘,但实际上使用起来很简单。
下面介绍如何在 Linux 上使用 cat 命令,以及何时不使用它。

什么是 cat?

cat 是一个非常古老的实用程序,可以追溯到 Unix 的原始实现。这个名字可能看起来很奇怪,但它是“连接 concatenate”的缩写。这是将一堆东西粘在一起的花哨术语。在这种情况下,“东西”是指文件。cat 是将一堆文本文件粘在一起的实用程序。大多数人使用它将文件打印到屏幕或另一个文件中。
GNU 实现是大多数 Linux 发行版上默认安装的 coreutils 软件包的一部分,但 BusyBox 上也有一个在小型或实时发行版上很常见的版本。

将 cat 与标准 I/O 一起使用

cat 对标准输入和输出进行操作。这意味着它将接受来自键盘或使用 I/O 重定向的其他程序的文本输入,并且您可以使用管道将其输出与另一个程序一起使用:
cat | some_program
请记住,许多其他 Linux 命令也接受标准 I/O,因此您可能不需要在管道中实际使用 cat。稍后再谈。
它还接受来自命令行的文件作为参数。您可以使用以下命令将整个文件打印到终端:
cat file.txt
您还可以使用 cat 打印多个文件:
cat file1 file2
这是 cat 的“连接”部分。
自行调用, cat 将等待您输入文本并按Enter,然后回显您在终端输入的任何内容,直到您按Ctrl + D。您还可以使用重定向运算符将文本重定向到文件中:
cat > some_file

cat 的低效率使用

鉴于 cat 是一个如此基本的实用程序,很容易将它与管道一起使用。Randal Schwartz 是以 Perl 编程方面的杰出贡献而闻名的人,他创建了Useless use of cat (UUOC)“奖”(如Era Eriksson 的主页上所见),并且偶尔会在 Usenet 上分发它们。
如果脚本中使用 cat 命令的代码可以用"重定向"代替,你就可以称其为UUOC。因为重定向的效率要比运行一个外部命令要高。比如:
cat file | tr -d 'xyz'
象cat file | somecommand这种用法,现被称为UUOC,是一种效率低的用法。
UUOC 的主要条件是使用 cat 将输出通过管道传输到已经将标准输入或文件作为参数的命令。由于有这么多 Unix 和 Linux 命令这样做,使用 cat 管道标准输出或单个文件是浪费时间。您应该查看手册页以了解您想要使用的任何命令,并确保它接受标准输入,这样您就不会“赢得”这个奖项。
如果您要查看长文件,好使用像 Most或文本编辑器这样的阅读工具。
更多:Linux cat命令使用详解 https://www.linuxmi.com/linux-cat-mingling.html

cat:一个基本但不可或缺的 Linux 工具

cat 可能是一个基本命令,但就像许多基本的 Linux 工具一样,它可以方便地打印文本文件并将输出发送到其他程序。如果您想在终端中添加更多颜色,您可能需要考虑 lolcat,这是另一个基于过滤器的程序,可在终端中生成彩虹色文本。
本文到此结束,如果你还有什么疑问或建议,请在下面的评论栏里告诉我们。
来自:Linux迷
链接:https://www.linuxmi.com/linux-cat.html
分享好友

分享这个小栈给你的朋友们,一起进步吧。

Linux技术精选专区
创建时间:2020-07-08 10:30:23
Linux,全称GNU/Linux,是一套免费使用和自由传播的类UNIX操作系统,其内核由林纳斯·本纳第克特·托瓦兹于1991年次释出,它主要受到Minix和Unix思想的启发,是一个基于POSIX和Unix的多用户、多任务、支持多线程和多CPU的操作系统。它能运行主要的Unix工具软件、应用程序和网络协议。
展开
订阅须知

• 所有用户可根据关注领域订阅专区或所有专区

• 付费订阅:虚拟交易,一经交易不退款;若特殊情况,可3日内客服咨询

• 专区发布评论属默认订阅所评论专区(除付费小栈外)

技术专家

查看更多
  • dapan
    专家
戳我,来吐槽~