在 unix 中,cat 文件名和 cat < 文件名之间的区别



>假设我有一个名为"file1"的文件。我想在 Unix 中使用 cat 命令显示"file1"的内容。

cat file1cat < file1的工作方式类似。它们之间有什么区别?

这是输入的来源。

  • 如果你说cat file1外壳不会做任何特别的事情。 cat调用open(2)文件并从中读取
  • 如果你说cat < file1 shell 调用文件上的open(2),并将dup(2)调用到STDIN_FILENO进行catcat只是从STDIN_FILENO中读取

我们可以使用另一个命令来注意以下两者之间的区别:

wc –w food2.txt 

可能的输出:

6 food2.txt 

该命令告诉文件名,因为它知道它(作为参数传递)。

wc –w < food2.txt 

可能的输出:

6 

标准输入被重定向到文件 food2.txt而命令不知道它。

>cat打开一个文件,cat > fileName告诉 shell 在 cat 标准输入中打开文件。

这是包含更多详细信息/答案的链接:https://unix.stackexchange.com/questions/258931/difference-between-cat-and-cat

最新更新