Linux中“>”和“>>”的区别
学习Linux终端很容易,但掌握它有点难。在许多情况下,您会遇到令您困惑的命令,因为它们包含不同的运算符。运算符是提供不同功能的字符或字符集。
例如,Linux 中最常用的运算符集之一是方向运算符。方向运算符将命令的输入或输出重定向到文件或任何其他命令。
重定向有两种方法;输入重定向和输出重定向。对于输入重定向,我们使用小于“<”符号,对于输出重定向,我们使用大于“>”符号,也称为尖括号。
了解运算符有点麻烦。向运算符添加一个字符可以完全改变其功能。许多Linux用户在终端中使用“>”和“>>”运算符时面临类似的情况。两者都是输出方向运算符。那么区别是什么呢?好吧,这篇文章主要是讨论这两个运算符的不同之处。让我们开始。
Linux 中“>”和“>>”的区别
正如介绍部分所讨论的,两个运算符都是输出方向运算符。主要区别如下:
“>”:覆盖现有文件,或者如果目录中不存在所提及名称的文件,则创建一个文件。
“>>”:追加现有文件,或者如果目录中不存在所提及名称的文件,则创建一个文件。
在文件中进行修改并且您想要覆盖现有数据时,请使用“>”运算符。如果您想向该文件附加某些内容,请使用“>>”运算符。让我们通过一个例子来理解它。我正在终端中执行以下命令:
您会注意到,将在目录中创建一个文本文件,其中包含文本“Welcome to LinuxHint”。 要进行检查,请输入“ls”:
要读取文件类型:
让我们运行相同的命令但使用不同的文本:
现在,使用以下命令打开读取文件:
新的文本已经覆盖了之前的文本。
让我们使用“>>”运算符:
它还会在当前目录中创建一个名为“my_file_2.txt”的文件。输入“ls”进行验证:
要读取此文件,请使用:
现在,让我们更改文本:
由于我们使用的是已经创建的文件;要检查“>>”操作员所做的更改,请执行:
可以看出,“>>”操作符并没有覆盖现有文本,而是附加了文本。
结论
Linux 中的某些命令可能会引起混乱,尤其是对于新用户来说,因为它们包含运算符。运算符有点难以理解,因为每个运算符可以具有不同的功能。在本指南中,我们了解了“>”和“>>”运算符之间的区别。
“>”是一个输出运算符,它会覆盖现有文件,而“>>”也是一个输出运算符,但会将数据附加到已经存在的文件中。这两个操作符都经常用于修改 Linux 中的文件。