如果我想保留在同一个文件系统上,我不能只为同一个文件系统指定输出路径吗?
还是为了防止意外离开当前文件系统?
答案1
它限制了文件复制的位置从,而不是它们被复制到的位置。它对于递归副本很有用,可以控制如何cp
下降到子目录。因此
cp -xr / blah
将仅复制根文件系统,而不复制任何已安装的其他文件系统。
看文档cp -x
(尽管其区别很微妙)。
答案2
标志-x
tocp
是 GNU 扩展。复制单个文件时,此选项不起作用,但复制整个文件层次结构时,该-x
选项会阻止复制与原始源不在同一文件系统上的文件和目录。
例如,在挂载点位于/usr
和 的文件系统上/usr/local
,使用cp -xR /usr /some-dest
不会复制 下的层次结构/usr/local
。
还有其他实用程序具有-x
类似语义的选项,例如du
and (为find
调用该标志)和。-xdev
find
rsync