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.
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.
Odpowiedzi:
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 -R
kopiowanie hierarchii katalogów - przegląda cp -RL
wszystkie dowiązania symboliczne do katalogów, cp -RP
kopiuje wszystkie dowiązania symboliczne jako takie. cp -R
moż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 -P
to możesz skopiować cel dowiązania symbolicznego do katalogu w wierszu poleceń, dodając /
na końcu: cp -RP foo/ bar
kopiuje wskazane drzewo katalogów foo
.
GNU cp
ma dogodną -a
opcję, która łączy -R
, -P
, -p
i 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.
cp
” to nie to samo gcp
, co używam. gcp -P
jest obecnie zepsuty, nawet w 2019 roku. (westchnienie).
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.
cp
na CentOS obsługuje-P
lub--no-dereference
zmienia?