Linux 区别于;排序<;“产出”;及;“排序输出”;

Linux 区别于;排序<;“产出”;及;“排序输出”;,linux,io,Linux,Io,我只想知道以下两者之间的区别: sort < output 在Linux中。它到底是如何工作的 sort

我只想知道以下两者之间的区别:

sort < output

在Linux中。它到底是如何工作的

sort
告诉shell使用文件
output
的内容,并将其转储到标准in以进行命令排序

sort output
告诉命令
sort
使用磁盘上的文件
output
作为源文件


许多unix命令将接受标准in或文件作为输入。在中接受标准允许更容易地链接命令,通常用于
ps aux | grep“我的进程”| sort
。(列出所有流程,按“我的流程”过滤,排序行)

sort
告诉shell使用文件
output
的内容,并将其转储到标准in以进行命令排序

sort output
告诉命令
sort
使用磁盘上的文件
output
作为源文件


许多unix命令将接受标准in或文件作为输入。在中接受标准允许更容易地链接命令,通常用于
ps aux | grep“我的进程”| sort
。(列出所有流程,按“我的流程”过滤,排序行)

使用
sort
shell将运行
sort
命令,并将其输入附加到文件“input”中


使用
sort input
时,shell将运行
sort
命令,并将字符串
input
作为参数。然后,
sort
命令将打开文件以读取其内容。

使用
sort
shell将运行
sort
命令,并将其输入附加到文件“input”中


使用
sort input
时,shell将运行
sort
命令,并将字符串
input
作为参数。然后,
排序
命令将打开文件以读取其内容。

实际上没有区别


sort
使用shell的一个称为文件重定向的功能(参见示例)

shell打开平铺文件
output
,并将打开的文件作为
stdin
附加到排序程序

sort output
output
文件名作为命令行参数进行排序


如果您没有将文件名作为参数(如这里的第一种情况),许多将文件名作为参数的实用程序都会尝试从
stdin
读取输入。在这两种情况下,sort都将读取
输出文件的内容,对其进行排序,并将结果写入stdout。

实际上没有区别


sort
使用shell的一个称为文件重定向的功能(参见示例)

shell打开平铺文件
output
,并将打开的文件作为
stdin
附加到排序程序

sort output
output
文件名作为命令行参数进行排序


如果您没有将文件名作为参数(如这里的第一种情况),许多将文件名作为参数的实用程序都会尝试从
stdin
读取输入。在这两种情况下,sort将读取
输出文件的内容,对其进行排序,并将结果写入stdout。

这已在unix.stackexchange上讨论过:

sort
中,shell执行重定向。它打开文件并将
stdin
文件描述符传递给读取它的
sort
命令


sort file
中,使用
sort
命令打开文件,然后读取它。

这已在unix.stackexchange中讨论过:

sort
中,shell执行重定向。它打开文件并将
stdin
文件描述符传递给读取它的
sort
命令

排序文件
中,使用
排序
命令打开文件,然后读取它

sort output