假设我有一个名为“file1”的文件。我想在Unix中使用cat
命令显示“file1”的内容。
cat file1
和cat < file1
的工作方式相似。他们之间有什么区别?
这是输入的来源。
cat file1
shell没有做任何特别的事情。 cat
在文件上调用open(2)
并从中读取cat < file1
shell在文件上调用open(2)
并将dup(2)
调用STDIN_FILENO
为cat
。 cat
只是从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