简单来说,连接就是连接两个字符串。
为了 example,有两个字符串: snow
和 ball
. 所以当你连接它们时,它将形成一个字符串 snowball
.
在使用 Linux 时,您经常会发现自己处于必须连接两个或多个文件的情况。
因此,在本指南中,我将分享多个示例来连接文件。
如何在 Linux 中连接文件
当您考虑在 Linux 中串联文本文件时,cat 命令控制着整个类别。
为了演示,我将使用两个名为 TextFile1
和 TextFile2
他们的文件包含如下:
[email protected]:~$ cat TextFile1
File contents of TextFile1
[email protected]:~$ cat TextFile2
File contents of TextFile2
现在,让我们跳到示例部分。
在标准输出中连接多个文件
这是大多数用户使用的最简单的串联,您可以在标准输出中组合多个文件的输出:
cat TextFile1 TextFile2
连接文件内容并将其保存到新文件
上面,我解释了如何连接多个文件,但它不会保存任何更改。
所以如果你想连接文件并将输出保存到另一个文件,你可以将输出数据流重定向到一个新文件。
为了 example,在这里,我连接了文件内容 TextFile1
和 TextFile2
并将输出保存到一个名为 Output_File
:
cat TextFile1 TextFile2 > Output_File
但它会覆盖的文件内容 Ouput_File
(如果有)并且您可能会丢失敏感数据。
要连接输出并将其保存到另一个文件而不覆盖,请使用 >>
代替 >
:
cat TextFile1 TextFile2 >> Output_File

并且可以看到,两个文件的污染被保存在下面的内容中 Output_File
.
连接时从标准输入添加额外数据
您并不总是只想连接两个不同文件的文件内容,您可能还想向其中添加其他数据。
所以假设我想连接两个文件 TextFile1
和 TextFile2
但我想添加一些额外的数据,在这种情况下,使用标准输入是最佳选择。
哪个可以被调用 -
旗帜。
为了 example我想在内容上面添加数据 TextFile1
,所以我将使用以下内容:
cat - TextFile1 >> TextFile2
它将作为普通的 cat 命令执行,您可以在其中添加简单文本。
添加完文本后,保存文件并退出使用 Ctrl + D
.
供您参考,我添加了以下行:
Text from the standard output that should be placed above the file contents of TextFile1

如您所见,在这里,我将两个文件与来自标准输入的附加数据连接在一起。
同样,如果你想在污染两个文件之后添加额外的数据而不是上面的,你可以参考以下内容:
cat TextFile1 - >> TextFile2
在这里,我在标准输入中输入了以下内容:
Content from standard input that will be placed after contents of two files

将命令输出连接到文件
如果要使用 cat 命令将命令的输出连接到特定文件,可以参考给定的命令语法:
Command | cat > file
为了 example,在这里,我连接了 我目前使用的内核版本 到一个名为 Kernels
:
uname -r | cat > Kernels

但是您知道您还可以将输出、错误和标准输入重定向到文件吗?
这非常简单,并且在您只想连接错误的情况下非常有用:
充分利用 cat 命令
虽然大多数用户使用 cat 命令来创建和读取文件,但是如果我告诉你你可以用它做更多的事情呢?
在阅读以下指南之前,我什至没有意识到它的强大功能:
我希望您会发现本指南对您有所帮助。
如果您有任何疑问,请随时在评论中提问。