我们在学习Linux终端的过程中可能会遇到很多的符号只是会用,但是重来没有真正了解过它是如何使用的,就比如我们今天要讨论的 > 和 >> 的区别,你可能用过他们,但是真正让你说出他们区别的时候却又不太理解了。
例如,Linux 中最常用的运算符集之一是方向运算符。方向运算符将命令的输入或输出重定向到文件或任何其他命令。
重定向有两种方法:输入重定向和输出重定向。对于输入重定向,我们使用小于<符号,对于输出重定向大于>符号,也称为尖括号。
了解运算符可能有点麻烦,向运算符添加一个字符可以完全更改其功能。许多Linux用户在终端中使用 > 和 >> 运算符时也面临着类似的情况。两者都是输出方向运算符。那么,有什么区别呢?这篇文章就是要讨论这两个运算符的区别。让我们开始吧。
> 和 >> 之间的区别这两个运算符都是输出方向运算符,主要区别如下:
>:覆盖现有文件,如果目录中不存在上述名称的文件,则创建一个文件。
>>:追加现有文件,如果目录中不存在上述名称的文件,则创建一个文件。
在文件中进行修改并希望覆盖现有数据时,请使用 > 运算符。如果要将某些内容追加到该文件,请使用 >> 运算符。让我们用一个例子来理解它。我正在终端执行以下命令:
echo “Welcome to LinuxHint” > my_file_1.txt

您会注意到,将在目录中创建一个文本文件,其中包含文本Welcome to LinuxHint。

我们可以通过cat命令来查看文本文件中的内容:
cat my_file_1.txt

让我们运行相同的命令,但使用不同的文本:
echo “Learn latest tips and tricks about Linux” > my_file_1.txt

现在我们继续使用cat 命令来查看文本中的内容;
cat my_file_1.txt

我们可以看到原来的文本已经被覆盖掉,整个文件都变成了新的内容,那如果我们使用>>呢?
echo “Welcome to LinuxHint” >> my_file_2.txt

它还将在当前目录中创建一个名为my_file_2.txt的文件。键入ls进行验证:

现在让我们cat 一下:
cat my_file_2.txt

让我们向其中使用>>向里面写入以下内容:
echo “Learn latest tips and tricks about Linux” > my_file_2.txt

由于我们使用的是已经创建的文件;要检查>>运算符所做的更改,可以使用cat命令来查看:
cat my_file_2.txt

可以看出,>>运算符不是覆盖现有文本,而是追加文本。
Linux 中的某些命令可能会导致混淆,尤其是对新用户而言,因为它们包含运算符。运算符有点难以理解,因为每个运算符可以具有不同的功能。在本指南中,我们了解了>和>>运算符之间的区别。
>是覆盖现有文件的输出运算符,而>>也是输出运算符,但将数据追加到现有文件中。这两个运算符通常用于修改 Linux 中的文件。