У меня есть символическая ссылка на файл в одном каталоге. Я хотел бы иметь ту же ссылку в другом каталоге. Как мне скопировать символическую ссылку?
Я попытался скопировать символическую ссылку, но это копирует файл, на который он указывает, вместо самой символической ссылки.
cp
на поддержку CentOS-P
или--no-dereference
переключатель?Ответы:
Используйте
cp -P
(заглавная P), чтобы никогда не проходить символическую ссылку и вместо этого скопировать символическую ссылку.Это можно сочетать с другими параметрами, такими как
-R
копирование иерархии каталогов -cp -RL
перебирает все символические ссылки на каталоги,cp -RP
копирует все символические ссылки как таковые.cp -R
может сделать один или другой в зависимости от вариантов Unix; GNUcp
(как установлено в CentOS) по умолчанию-P
.Даже с помощью
-P
, вы можете скопировать цель символической ссылки в каталог в командной строке, добавив/
в конце:cp -RP foo/ bar
копирует дерево каталогов, на котороеfoo
указывает.GNU
cp
имеет удобный-a
вариант , который сочетает в себе-R
,-P
,-p
и немного больше. Он делает точную копию источника (насколько это возможно), сохраняя иерархию каталогов, символические ссылки, разрешения, время модификации и другие метаданные.источник
cp
» - это не то же самоеgcp
, что я использую.gcp -P
в настоящее время сломан, даже в 2019 году. (вздох).Проверьте этот ответ https://superuser.com/a/315757/53590 для конкретного CentOS взять на себя проблему. Весь вопрос может помочь вам, но в нижней части находится именно CentOS.
источник