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?
command-line
files
filesystems
cp
data
neverMind9
la source
la source
-i
: "pourquoi ne pas simplement spécifier une destination qui n'existe pas"?Réponses:
Elle limite où les fichiers sont copiés à partir , pas où ils sont copiés. Il est utile avec des copies récursives, pour contrôler la façon dont
cp
descend dans les sous-répertoires. Ainsicopiera uniquement le système de fichiers racine, aucun des autres systèmes de fichiers montés.
Voir la
cp -x
documentation (bien que sa distinction soit subtile).la source
/mnt
n'est qu'une convention humaine parfois appliquée par la configuration d'une distribution mais pas une exigence du système d'exploitation. J'ai parfois des systèmes de fichiers réseau montés sous/var/somewebsite/www/sessions
pour mettre en œuvre des serveurs Web d'équilibrage de charge--exclude
options pour bloquer manuellement chacun d'eux. Très utile avec rsync./dev
,/proc
,/sys
etc. que vous ne voulez pas généralement de lire « en masse ».Le
-x
drapeau decp
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'-x
option 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
, utilisercp -xR /usr /some-dest
ne copiera pas la hiérarchie sous/usr/local
.Il existe d' autres utilitaires avec une
-x
option de sémantique similaire, par exempledu
etfind
(le drapeau est appelé-xdev
pourfind
), etrsync
.la source