Einige suchen nach einer besseren Erklärung für die Manpages, da nicht immer klar ist, was die Beschreibung bedeutet. Ich musste viele Male graben und testen / experimentieren, um herauszufinden, was mit einem bestimmten Befehl wirklich los ist. Die Manpage von grep kann mich jeden Tag verwirren.
Joe
2
Ich kann deine Frustration verstehen, aber imo ist der beste Weg zu lernen, zu testen und zu experimentieren.
verdreifacht
37
ODER lernen Sie, indem Sie hier Fragen stellen, die Antwort so erhalten, wie Sie sie verstehen, und dann besser verstehen, was und wie Sie testen und experimentieren müssen. Bitte denken Sie daran, dass es bei Ihnen sehr oft nicht funktioniert, bei mir usw. usw.
Will Lanni
Antworten:
198
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.).
Grundsätzlich, es sei denn, Sie möchten etwas Besonderes, das Sie nie brauchen, -rweil -a(für archive) immer das sicherste ist und wahrscheinlich das, was Sie erwartet haben.
ams
2
@ams Ja, das ist eine gute Zusammenfassung. Der einzige häufige Grund für die Verwendung -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.
Gilles
manchmal erlauben Berechtigungen -r aber nicht -a
DrCord
Nicht -r, nicht -R funktioniert nicht in Ubuntu 18
Arkady
16
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.
Antworten:
Rekursiv bedeutet, dass
cp
der Inhalt von Verzeichnissen kopiert wird. Wenn ein Verzeichnis Unterverzeichnisse enthält, werden diese auch (rekursiv) kopiert. Ohne überspringt-R
dercp
Befehl Verzeichnisse.-r
ist identisch mit-R
unter Linux, unterscheidet sich in einigen Randfällen von einigen anderen Unix-Varianten.Erstellt standardmäßig
cp
eine 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-p
Option 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
-a
Option bedeutet-R
und-p
sowie 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.).quelle
-r
weil-a
(füra
rchive) immer das sicherste ist und wahrscheinlich das, was Sie erwartet haben.-r
ist, dass Sie eine andere Unix-Variante als Linux verwenden, die diese nicht hat-a
, und im Allgemeinen verwenden würdencp -rp
. Oderrsync -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.
quelle