【发布时间】:2014-02-21 07:14:24
【问题描述】:
假设我有一个名为“file1”的文件。我想在 Unix 中使用cat 命令显示“file1”的内容。
cat file1 和 cat < file1 的工作方式类似。它们有什么区别?
【问题讨论】:
假设我有一个名为“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 读取
【讨论】:
open(2) 时,我的意思是man 2 open,这是第2 节中open 的手动输入。
我们可以使用另一个命令来注意两者之间的区别:
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
【讨论】: