Ich habe einen symbolischen Link zu einer Datei in einem Verzeichnis. Ich möchte den gleichen Link in einem anderen Verzeichnis haben. Wie kopiere ich einen symbolischen Link?
Ich habe versucht, den symbolischen Link zu kopieren, aber dies kopiert die Datei, auf die er zeigt, anstelle des symbolischen Links.
cp
auf CentOS Unterstützung-P
oder--no-dereference
Schalter?Antworten:
Verwenden Sie
cp -P
(Großbuchstaben P), um niemals eine symbolische Verknüpfung zu durchlaufen, und kopieren Sie stattdessen die symbolische Verknüpfung.Dies kann mit anderen Optionen kombiniert werden, z. B.
-R
zum Kopieren einer Verzeichnishierarchie.cp -RL
Durchläuft alle symbolischen Verknüpfungen zu Verzeichnissen undcp -RP
kopiert alle symbolischen Verknüpfungen als solche.cp -R
kann je nach Unix-Variante das eine oder andere tun; GNUcp
(wie bei CentOS) ist standardmäßig-P
.Selbst mit
-P
können Sie das Ziel eines symbolischen Links in ein Verzeichnis in der Befehlszeile kopieren, indem Sie/
am Ende ein hinzufügen :cp -RP foo/ bar
kopiert den Verzeichnisbaum, auf denfoo
verwiesen wird.GNU
cp
hat eine praktische-a
Option-R
, die-P
,-p
und ein bisschen mehr kombiniert . Es erstellt eine exakte Kopie der Quelle (soweit möglich), wobei die Verzeichnishierarchie, symbolische Links, Berechtigungen, Änderungszeiten und andere Metadaten erhalten bleiben.quelle
cp
" ist nicht dasselbe wie dasgcp
, was ich benutze.gcp -P
ist derzeit kaputt, auch im Jahr 2019. (seufz).Überprüfen Sie diese Antwort unter https://superuser.com/a/315757/53590, um festzustellen, ob ein spezielles CentOS-Problem vorliegt. Die ganze Frage mag dir vielleicht helfen, aber der letzte Teil ist speziell CentOS.
quelle