
cat命令的用途不仅仅是显示文件内容。
cat命令用于打印文本文件的文件内容。至少,大多数 Linux 用户都是这么做的,而且没有什么问题。
cat实际上代表 “ 连接 concatenate ”,创建它是为了 合并文本文件。但只要有一个参数,它就会打印文件内容。因此,它是用户在终端中读取文件而无需任何其他选项的首选。在 Linux 中使用 cat 命令
要使用
cat命令,你必须遵循给定的命令语法:cat [options] Filename(s)这里:
[options]用于修改cat命令的默认行为,例如使用-n选项获取每行的数字。Filename是你输入要使用的文件的文件名的位置。为了简单起见,我将在本指南中使用名为
Haruki.txt的文本文件,其中包含以下文本行:Hear the Wind Sing (1979) Pinball, 1973 (1980) A Wild Sheep Chase (1982) Hard-Boiled Wonderland and the End of the World (1985) Norwegian Wood (1987) Dance Dance Dance (1990) South of the Border, West of the Sun (1992) The Wind-Up Bird Chronicle (1994) Sputnik Sweetheart (1999) Kafka on the Shore (2002) After Dark (2004) 1Q84 (2009-2010) Colorless Tsukuru Tazaki and His Years of Pilgrimage (2013) Men Without Women (2014) Killing Commendatore (2017)那么,在没有任何选项的情况下使用时,输出会是什么? 好吧,让我们看一下:
cat Haruki.txt
正如你所看到的,它打印了整个文本文件!
但你可以做的远不止这些。让我向你展示一些实际例子。
1、创建新文件
大多数 Linux 用户使用
touch命令来 创建新文件,但使用cat命令也可以完成相同的操作!在这种场景下,
cat命令比touch命令有一个优势,因为你可以在创建文件时向文件添加文本。听起来很酷。不是吗?为此,你需要使用
cat命令,将文件名附加到>后面,如下所示:cat > Filename例如,在这里,我创建了一个名为
NewFile.txt的文件:cat > NewFile.txt当你这样做了,就会有一个闪烁的光标要求你写一些东西,最后,你可以使用
Ctrl + d来保存更改。如果你想创建一个空文件,则只需按
Ctrl + d而不进行任何更改。
这就好了!现在,你可以使用
ls命令来显示 当前工作目录的内容:
2、将文件内容复制到另一个文件
考虑一个场景,你要将
FileA的文件内容重定向到FileB。当然,你可以复制和粘贴。但是如果有几百或几千行怎么办?
简单。你可以使用
cat命令来重定向数据流。为此,你必须遵循给定的命令语法:cat FileA > FileB? 如果使用上述语法重定向文件内容,它将删除
FileB的文件内容,然后重定向FileA的文件内容。例如,我将使用两个文本文件
FileA和FileB,其中包含以下内容:
现在,如果我使用从
FileA到FileB的重定向,它将删除FileB的数据,然后重定向FileA的数据:cat FileA > FileB
同样,你可以对多个文件执行相同的操作:
cat FileA FileB > FileC
可以看到,上面的命令删除了
FileC的数据,然后重定向了FileA和FileB的数据。3、将一个文件的内容附加到另一个文件
有时你想要将数据附加到现有数据,在这种情况下,你必须使用
>>而不是单个>:cat FileA >> FileB例如,在这里,我将把两个文件
FileA和FileB重定向到FileC:cat FileA.txt FileB.txt >> FileC.txt
如你所见,它保留了
FileC.txt的数据,并将数据附加在末尾。? 你可以使用
>>向现有文件添加新行。使用cat >> filename并开始添加所需的文本,最后使用Ctrl+D保存更改。4、显示行数
你可能会遇到这样的情况,你想查看行数,这可以使用
-n选项来实现:cat -n File例如,在这里,我将
-n选项与Haruki.txt一起使用:
5、删除空行
在文本文档中留下多个空白行?
cat命令将为你修复它!为此,你所要做的就是使用
-s标志。但使用
-s标志有一个缺点。你仍然留有一行空白:
正如你所看到的,它有效,但结果接近预期。
那么如何删除所有空行呢? 通过管道将其传递给
grep命令:cat File | grep -v '^$'这里,
-v标志将根据指定的模式过滤掉结果,'^$'是匹配空行的正则表达式。以下是我在
Haruki.txt上使用它时的结果:cat Haruki.txt | grep -v '^$'
当获得完美的输出,你可以将其重定向到文件以保存输出:
cat Haruki.txt | grep -v '^$' > File
这就是你到目前为止所学到的
以下是我在本教程中解释的内容的快速摘要:
?️ 练习时间
如果你学到了新东西,用不同的可能性来执行它是最好的记忆方式。
为此,你可以使用
cat命令进行一些简单的练习。它们将是超级基本的,就像cat一样是最基本的命令之一。出于练习目的,你可以 使用 GitHub 上的文本文件。
- 如何使用
cat命令创建空文件?- 将
cat命令生成的输出重定向到新文件IF.txt- 能否将三个或更多文件输入重定向到一个文件? 如果是,该如何做?
(题图:MJ/f06c9b9c-689e-4a67-abe9-0487e26bd34b)









