破折号是什么意思?

时间:2015-12-16 05:28:38

标签: bash sh

mongodump -db somedb --collection somecollection --out - | gzip > dump.gz

上图中的破折号是什么?我好像和隧道有关。但在查找bash参考后,我仍然无法得到其含义。

2 个答案:

答案 0 :(得分:4)

这意味着输出转到stdout,因此管道会将其传递给gzip。它不是bash(1),而是程序mongodump。在unix和linux中,与输入或输出相关的短划线-通常代表stdinstdout

答案 1 :(得分:2)

oxnz是正确的目标。为了进一步扩展,一些命令通常在最后将文件作为参数。在您描述的命令中,mongodump希望输出文件。

这很棒,但你的意图是将其压缩成文件dump_xyz。因此,代替mongodump将文件作为最终参数,-表示标准输出(取决于上下文,-可以表示标准输入)。 mongodump的输出直接进入标准输出并直接进入等待的gzip。 Gzip接受mongodump的输出,动态压缩并将压缩信息存储到dump_xyz文件中。

这里有一些关于-特殊字符的轻松阅读:http://tldp.org/LDP/abs/html/special-chars.html#DASHREF2