我在一本书中读到这个例子:
cp /bin/cat proj33
echo -n x | ./proj33 - pipe33a > pipe33b &
./proj33 <pipe33b >pipe33a &
符号-
是什么意思, >
和 <
意思是?
最佳答案
>
是 I/O 重定向;它将命令的标准输出 ( ./proj33
) 发送到文件 pipe33b
.
<
symbol 也是 I/O 重定向;它从文件 ./proj33
发送命令的标准输入(再次 pipe33b
) .
-
只是一个论点。它通常被命令视为读取标准输入而不是文件的指示。在这种情况下,很可能是 proj33
通常需要一个文件作为它的第一个参数,但是当参数是 -
时它从管道中读取。 .有时,-
用于指示标准输出。在极端情况下,您可以获得一个 -
指示标准输入,一个指示单个命令的标准输出。使用 GNU tar
, 你可以有 tar -c -f - -T -
将输出写入标准输出 ( -f -
) 并从标准输入 ( -T -
) 读取要归档的文件列表。
如果您看到 --
,那是非常不同的;它表示命令的“选项结束”;后面的任何内容都不是一个选项,即使它以破折号开头 -
.
关于linux - 符号 -、< 和 > 是什么意思?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13504954/