为什么在将 dd 与管道一起使用时不需要 `of` 操作数?
Why is the `of` operand not needed when using dd with a pipe?
我遇到过这段代码:
$ sudo dd if=/dev/sda | ssh username@10.1.1.5 \ "cat > /media/disk1/sda-image.img"
这段代码的某处不应该有一个of
操作数吗?另外,\
的目的是什么?
任何帮助将不胜感激。
像许多旧的 Unix 实用程序一样,dd
(实际上比 Unix 更早)的设计使其可以与其他使用管道的命令结合使用。 of
参数仅在您希望将其输出写入文件时才需要;否则 dd
的默认行为是将数据写入 stdout
。在这种情况下,dd
命令的输出使用 ssh
管道传输到远程主机上的 cat
命令 运行。
当完整命令包含在一行中时,\
不执行任何操作。它通常用在 shell 脚本中,紧接在换行符之前,以通知 shell 命令的其余部分在下一行继续。
我遇到过这段代码:
$ sudo dd if=/dev/sda | ssh username@10.1.1.5 \ "cat > /media/disk1/sda-image.img"
这段代码的某处不应该有一个of
操作数吗?另外,\
的目的是什么?
任何帮助将不胜感激。
像许多旧的 Unix 实用程序一样,dd
(实际上比 Unix 更早)的设计使其可以与其他使用管道的命令结合使用。 of
参数仅在您希望将其输出写入文件时才需要;否则 dd
的默认行为是将数据写入 stdout
。在这种情况下,dd
命令的输出使用 ssh
管道传输到远程主机上的 cat
命令 运行。
当完整命令包含在一行中时,\
不执行任何操作。它通常用在 shell 脚本中,紧接在换行符之前,以通知 shell 命令的其余部分在下一行继续。