mongodump -db somedb --collection somecollection --out - | gzip > dump.gz
上面命令中的破折号是什么意思?看来和隧道有关。但查了bash参考资料后,我还是不明白这是什么意思。
这意味着输出会发送到标准输出,因此管道会将其传递到
gzip
。这与bash(1)
无关,而是取决于程序mongodump
。在unix和linux中,破折号-
与输入或输出相关,通常代表stdin
或stdout
。
oxnz 正中目标。为了稍微扩展一下,一些命令通常需要一个文件作为最后的参数。在您描述的命令中,
mongodump
希望输出一个文件。
这很好,但您的目的是将其压缩到文件 dump_xyz 中。因此, mongodump 不是将文件作为最终参数,而是
-
表示标准输出(根据上下文,-
可以表示标准输入)。 mongodump 的输出直接进入标准输出并通过管道直接进入等待的 gzip。 Gzip 获取 mongodump 的输出,动态压缩它并将压缩信息存储到 dump_xyz 文件中。
这里有一些关于
-
特殊字符的简单阅读:http://tldp.org/LDP/abs/html/special-chars.html#DASHREF2