符号 "-"可以在命令行作为标准输入。
比如:
$ gzip -dc tmp2.tar.gz | tar xvf -
tmp2/
tmp2/file2
tmp2/file1
tar命令把第一个命令的输出作为 -f的输入
上面这个命令相当于:
$ gzip -dc tmp2.tar.gz | tar xv
tmp2/
tmp2/file2
tmp2/file1
或者:
$ tar zxv < tmp2.tar.gz
tmp2/
tmp2/file2
tmp2/file1
再举一个例子:
$ cat file1 | diff -ruN - file2
--- - 2019-10-03 23:26:17.027191488 +0800
+++ file2 2019-10-03 23:19:31.357320022 +0800
@@ -1 +1 @@
-hello
+hellio
这里是比较文件 file1, file2的内容。 “-" 表示 diff的第一个参数从标准输入得到。 cat命令的输出作为diff的标准输入参数。
参考: