Jak skopiować link symboliczny?

41

Mam symboliczne łącze do pliku w jednym katalogu. Chciałbym mieć ten sam link w innym katalogu. Jak skopiować link symboliczny?

Próbowałem cp dowiązanie symboliczne, ale to kopiuje plik, na który wskazuje, zamiast samego dowiązania symbolicznego.

Użytkownik
źródło
1
Czy cpna CentOS obsługuje -Plub --no-dereferencezmienia?
manatwork
@manatwork: Dzięki, właśnie to znalazłem. Jeśli chcesz wysłać to jako odpowiedź, zaakceptuję.
Użytkownik

Odpowiedzi:

54

Użyj cp -P(wielka P), aby nigdy nie przechodzić przez żadne dowiązanie symboliczne i zamiast tego skopiować dowiązanie symboliczne.

Można to połączyć z innymi opcjami, takimi jak -Rkopiowanie hierarchii katalogów - przegląda cp -RLwszystkie dowiązania symboliczne do katalogów, cp -RPkopiuje wszystkie dowiązania symboliczne jako takie. cp -Rmoże zrobić jedną lub drugą w zależności od wariantów uniksowych; GNU cp(jak znaleziono w CentOS) domyślnie jest ustawione na -P.

Mimo -Pto możesz skopiować cel dowiązania symbolicznego do katalogu w wierszu poleceń, dodając /na końcu: cp -RP foo/ barkopiuje wskazane drzewo katalogów foo.

GNU cpma dogodną -aopcję, która łączy -R, -P, -pi trochę więcej. Tworzy dokładną kopię źródła (w miarę możliwości), zachowując hierarchię katalogów, dowiązania symboliczne, uprawnienia, czasy modyfikacji i inne metadane.

Gilles „SO- przestań być zły”
źródło
3
Uwaga: po skopiowaniu / przeniesieniu dowiązanie symboliczne może ulec uszkodzeniu (jeśli źródłem jest dowiązanie symboliczne do ścieżki względnej).
Stéphane Chazelas,
3
czy istnieje sposób, aby zapobiec zerwaniu dowiązań symbolicznych, jeśli przenosisz się do wyższego lub niższego katalogu?
Andrew Brown,
Uwaga: „GNU cp” to nie to samo gcp, co używam. gcp -Pjest obecnie zepsuty, nawet w 2019 roku. (westchnienie).
tgm1024
1

Sprawdź tę odpowiedź https://superuser.com/a/315757/53590, aby przejrzeć problem w CentOS. Całe pytanie może ci pomóc, ale na dole jest konkretnie CentOS.

Simon Hoare
źródło
1
Pamiętaj, że inni mogą wybrać inną kolejność niż twoja w celu wyświetlenia odpowiedzi. Poza tym kolejność może się zmieniać w czasie. Proszę zamieścić bezpośredni link do odnośnej odpowiedzi. (Kliknij link „udostępnij” poniżej tej odpowiedzi i skopiuj bezpośredni link, który się pojawi.)
manatwork