Si je voulais rester sur le même système de fichiers, ne pourrais-je pas simplement spécifier un chemin de sortie pour le même système de fichiers?
Ou est-ce pour éviter de quitter accidentellement le système de fichiers actuel?
Il limite l'endroit où les fichiers sont copiés à partir de , pas où ils sont copiés. Il est utile avec les copies récursives, pour contrôler la façon dont cp
descend dans les sous-répertoires. Donc
cp -xr / blah
copiera uniquement le système de fichiers racine, aucun des autres systèmes de fichiers montés.
Voir le cp -x
documentation (bien que sa distinction soit subtile).
L'indicateur -x
Sur cp
est une extension GNU. Lors de la copie d'un seul fichier, cette option n'aura aucun effet, mais lors de la copie d'une hiérarchie de fichiers entière, l'option -x
empêche la copie de fichiers et de répertoires qui ne vivent pas sur le même système de fichiers que la source d'origine.
Par exemple, sur un système de fichiers avec des points de montage à /usr
Et /usr/local
, L'utilisation de cp -xR /usr /some-dest
Ne copiera pas la hiérarchie sous /usr/local
.
Il existe d'autres utilitaires avec une option -x
Avec une sémantique similaire, tels que du
et find
(l'indicateur est appelé -xdev
Pour find
) et rsync
.