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

nev*_*nd9 26 command-line filesystems cp files data

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

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

Ste*_*itt 60

它限制其中的文件复制,不是他们正在复制到。它对递归副本很有用,可以控制如何cp下降到子目录中。因此

cp -xr / blah
Run Code Online (Sandbox Code Playgroud)

只会复制根文件系统,不会复制任何其他挂载的文件系统。

请参阅cp -x文件(虽然它的区别是微妙的)。

  • 哦,是的,您可能不想复制 /mnt 下的网络共享。也没有安装在您的主驱动器下的远程 RCS 存储库。 (3认同)
  • 它还避免了复制文件系统,例如`/dev`、`/proc`、`/sys` 等,您通常不想“大量”阅读这些文件系统。 (3认同)

Kus*_*nda 29

-x标志cp是GNU扩展。复制单个文件时,此选项无效,但复制整个文件层次结构时,该-x选项可防止复制与原始源不在同一文件系统上的文件和目录。

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

有其他实用程序与-x具有类似的语义,如选项dufind(标志被称为-xdevfind),和rsync