OnWorks Linux 和 Windows 在线工作站

商标

工作站免费在线托管

<上一页 | 内容 | 下一页>

cat - 连接文件

这个 命令读取一个或多个文件并将它们复制到标准输出,如下所示:


猫 [文件...]

猫 [文件...]


大多数情况下,你可以想到 类似于 DOS下的命令。 您可以使用它来显示不分页的文件,例如:



[我@linuxbox ~]$ 猫 ls-output.txt

[我@linuxbox ~]$ 猫 ls-output.txt


将显示文件的内容 ls-输出.txt. 常用于显示短文本文件。 自从 可以接受多个文件作为参数,也可以用于将文件连接在一起。 假设我们下载了一个被分割成多个部分的大文件(多媒体文件在 Usenet 上经常以这种方式分割),我们想将它们重新连接在一起。 如果文件被命名为:

电影.mpeg.001 电影.mpeg.002 ... 电影.mpeg.099

我们可以使用以下命令将它们重新连接在一起:



猫电影.mpeg.0* > 电影.mpeg

猫电影.mpeg.0* > 电影.mpeg


由于通配符始终按排序顺序扩展,因此参数将按正确顺序排列。

这一切都很好,但这与标准输入有什么关系? 什么都还没有,但让我们尝试别的东西。 如果我们不带参数输入“cat”会发生什么:



[我@linuxbox ~]$

[我@linuxbox ~]$


什么都没有发生,它只是像挂着一样坐在那里。 看起来似乎是这样,但它确实在做它应该做的事情。

If 没有给出任何参数,它从标准输入读取,并且由于标准输入默认连接到键盘,它正在等待我们输入一些东西! 尝试添加以下文本并按 Enter:

重定向标准输入


[我@linuxbox ~]$

敏捷的棕色狐狸跳过了那只懒惰的狗。

[我@linuxbox ~]$

敏捷的棕色狐狸跳过了那只懒惰的狗。


接下来,输入一个 Ctrl-d (即,按住 Ctrl 键并按“d”)告诉 它已经达到 文件结尾 (EOF) 在标准输入上:



[我@linuxbox ~]$

敏捷的棕色狐狸跳过了那只懒惰的狗。

敏捷的棕色狐狸跳过了那只懒惰的狗。

[我@linuxbox ~]$

敏捷的棕色狐狸跳过了那只懒惰的狗。

敏捷的棕色狐狸跳过了那只懒惰的狗。


在没有文件名参数的情况下, 将标准输入复制到标准输出,所以我们看到我们的文本行重复了。 我们可以使用这种行为来创建短文本文件。 假设我们想创建一个名为“lazy_dog.txt”的文件,其中包含我们示例中的文本。 我们会这样做:



[我@linuxbox ~]$ 猫 > lazy_dog.txt

敏捷的棕色狐狸跳过了那只懒惰的狗。

[我@linuxbox ~]$ 猫 > lazy_dog.txt

敏捷的棕色狐狸跳过了那只懒惰的狗。


键入命令,后跟我们要放置在文件中的文本。 记得打字 Ctrl-d 在末尾。 使用命令行,我们实现了世界上最愚蠢的文字处理器! 要查看我们的结果,我们可以使用 再次将文件复制到标准输出:


[我@linuxbox ~]$ 猫lazy_dog.txt

敏捷的棕色狐狸跳过了那只懒惰的狗。

[我@linuxbox ~]$ 猫lazy_dog.txt

敏捷的棕色狐狸跳过了那只懒惰的狗。


现在我们知道了 接受标准输入,除了文件名参数,让我们尝试重定向标准输入:



[我@linuxbox ~]$ 猫 <lazy_dog.txt

敏捷的棕色狐狸跳过了那只懒惰的狗。

[我@linuxbox ~]$ 猫 <lazy_dog.txt

敏捷的棕色狐狸跳过了那只懒惰的狗。


使用“<”重定向运算符,我们将标准输入的源从键盘更改为文件 懒狗.txt. 我们看到结果与传递单个文件名参数相同。 与传递文件名参数相比,这不是特别有用,但它用于演示如何使用文件作为标准输入源。 其他命令更好地利用了标准输入,我们很快就会看到。


在我们继续之前,请查看手册页 ,因为它有几个有趣的选项。


OnWorks 的顶级操作系统云计算: