Wenn ich auf demselben Dateisystem bleiben möchte, kann ich dann nicht einfach einen Ausgabepfad für dasselbe Dateisystem angeben?
Oder soll das versehentliche Verlassen des aktuellen Dateisystems verhindert werden?
command-line
files
filesystems
cp
data
neverMind9
quelle
quelle
-i
: "Warum nicht einfach ein nicht existierendes Ziel angeben?"Antworten:
Es begrenzt , wo die Dateien kopiert werden , aus , nicht , wo sie kopiert sind. Es ist nützlich bei rekursiven Kopien, um zu steuern, wie
cp
in Unterverzeichnisse absteigend. Somitkopiert nur das Root-Dateisystem, keines der anderen gemounteten Dateisysteme.
Siehe die
cp -x
Dokumentation (obwohl die Unterscheidung subtil ist).quelle
/mnt
nur eine menschliche Konvention manchmal durch das Setup einer Distribution durchgesetzt wird, aber keine Anforderung des Betriebssystems. Ich habe manchmal Netzwerk-Dateisysteme gemountet/var/somewebsite/www/sessions
, um Lastausgleich-Webserver zu implementieren--exclude
Optionen angeben, um sie manuell zu blockieren. Sehr nützlich mit rsync./dev
,/proc
,/sys
etc. , die Sie in der Regel nicht wollen , „en masse“ zu lesen.Das
-x
Flag tocp
ist eine GNU-Erweiterung. Wenn Sie eine einzelne Datei kopieren, hat diese Option keine Auswirkung. Wenn Sie jedoch eine gesamte Dateihierarchie kopieren,-x
verhindert die Option, dass Dateien und Verzeichnisse kopiert werden, die nicht auf demselben Dateisystem wie die ursprüngliche Quelle gespeichert sind.Zum Beispiel würde auf einem Dateisystem mit Einhängepunkten an
/usr
und/usr/local
unter Verwendungcp -xR /usr /some-dest
der Hierarchie nicht kopiert/usr/local
.Es gibt auch andere Dienstprogramme , die mit einer
-x
Option mit ähnlicher Semantik, wiedu
undfind
(das Flag genannt-xdev
fürfind
), undrsync
.quelle