Ich suche den Unterschied zwischen cp -rund cp -a. Was bedeutet "rekursiv" beim Kopieren von Dateien aus einem Ordner?
Ich suche den Unterschied zwischen cp -rund cp -a. Was bedeutet "rekursiv" beim Kopieren von Dateien aus einem Ordner?
Antworten:
Rekursiv bedeutet, dass cpder Inhalt von Verzeichnissen kopiert wird. Wenn ein Verzeichnis Unterverzeichnisse enthält, werden diese auch (rekursiv) kopiert. Ohne überspringt -Rder cpBefehl Verzeichnisse. -rist identisch mit -Runter Linux, unterscheidet sich in einigen Randfällen von einigen anderen Unix-Varianten.
Erstellt standardmäßig cpeine neue Datei mit demselben Inhalt wie die alte Datei und denselben Berechtigungen, die jedoch durch die umask eingeschränkt werden . Die Kopie ist vom Zeitpunkt der Kopie an datiert und gehört dem Benutzer, der die Kopie erstellt. Mit dieser -pOption hat die Kopie dieselbe Änderungszeit, dieselbe Zugriffszeit und dieselben Berechtigungen wie das Original. Es hat auch denselben Eigentümer und dieselbe Gruppe wie das Original, wenn der Benutzer, der die Kopie erstellt, die Berechtigung zum Erstellen solcher Dateien hat.
Die -aOption bedeutet -Rund -psowie einige andere Aufbewahrungsoptionen. Es wird versucht, eine möglichst originalgetreue Kopie zu erstellen: gleicher Verzeichnisbaum, gleicher Dateityp, gleicher Inhalt, gleiche Metadaten (Zeiten, Berechtigungen, erweiterte Attribute usw.).
-rweil -a(für archive) immer das sicherste ist und wahrscheinlich das, was Sie erwartet haben.
-rist, dass Sie eine andere Unix-Variante als Linux verwenden, die diese nicht hat -a, und im Allgemeinen verwenden würden cp -rp. Oder rsync -a.
Die Option -r oder -R für "rekursiv" bedeutet, dass alle Dateien einschließlich der Dateien in Unterordnern kopiert werden.
Die aufgelistete Option -a ist mit -dR identisch. Dies bedeutet, dass Verknüpfungen beibehalten und der Inhalt von Unterverzeichnissen kopiert werden. Wenn Links erhalten bleiben, folgt dies nicht den Links, da sie rekursiv kopiert werden.