破折号是什么意思?

What is the meaning of dash?

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

上图中的破折号是什么意思?我似乎与隧道有关。但是看了bash参考资料,还是不明白是什么意思。

这意味着输出到标准输出,因此管道会将其传递到 gzip。而且这不是关于bash(1),而是取决于程序mongodump。在unix和linux中,与输入或输出相关的破折号-,通常代表stdinstdout

oxnz 正中目标。为了稍微扩展一下,一些命令通常需要一个文件作为最后的参数。在你描述的命令中,mongodump是希望输出一个文件。

太好了,但您的目的只是将其压缩到一个文件中 dump_xyz。因此,不是 mongodump 将文件作为最终参数,- 表示标准输出(根据上下文,- 可以表示标准输入)。 mongodump 的输出直接转到标准输出并通过管道直接进入等待的 gzip。 Gzip 获取 mongodump 的输出,即时压缩并将压缩信息存储到 dump_xyz 文件中。

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