cp -x 的目的(保留在文件系统上)?

cp -x 的目的(保留在文件系统上)?

如果我想保留在同一个文件系统上,我不能只为同一个文件系统指定输出路径吗?

还是为了防止意外离开当前文件系统?

答案1

它限制了文件复制的位置,而不是它们被复制到的位置。它对于递归副本很有用,可以控制如何cp下降到子目录。因此

cp -xr / blah

将仅复制根文件系统,而不复制任何已安装的其他文件系统。

文档cp -x(尽管其区别很微妙)。

答案2

标志-xtocp是 GNU 扩展。复制单个文件时,此选项不起作用,但复制整个文件层次结构时,该-x选项会阻止复制与原始源不在同一文件系统上的文件和目录。

例如,在挂载点位于/usr和 的文件系统上/usr/local,使用cp -xR /usr /some-dest不会复制 下的层次结构/usr/local

还有其他实用程序具有-x类似语义的选项,例如duand (为find调用该标志)和。-xdevfindrsync

相关内容