要在 Linux 上移动多个文件,可以使用:
mv -t DESTINATION file1 file2
而在 macOS 上则是
mv file1 file2 DESTINATION
为什么会有这样的差异呢?这是 Bash 与 Zsh 的问题,还是旧语法与新语法的问题,还是什么?
答案1
答案2
不,这与 shell(bash 与 zsh)无关,它只是mv
. Linux 机器很可能有GNUmv
因为 Linux 机器往往是使用 GNU 实用程序构建的。另一方面,MacOS 附带BSD相反,公用事业。这意味着许多常见的命令行实用程序的行为有所不同,因为它们是设计用于执行相同操作但具有不同调整的不同实现。
因此,不是较旧的与较新的,只是设计用于执行相同操作的工具,但由做出不同设计选择的不同人编写。这与汽车的想法是一样的:所有汽车都有一种转向、刹车、加速等方式。然而,不同的汽车制造商会添加不同的东西(空调、收音机、加热座椅或其他东西),这些东西的设计方式也不同。它们仍然都是汽车,就像 GNU 和 BSDmv
仍然是mv
汽车一样,但除了基本功能之外,它们还有自己的怪癖和特性。
请注意,该标准mv file1 file2 dir/
适用于 Linuxmv
和 Mac。如果您不确定正在使用什么实现,只需使用语法mv file1 file2 dir/
,它将适用于任何mv
.