Почему команда scp
не копирует ссылки с локального компьютера на другой?
scp -rp dir linux:/dir_target
Как я могу скопировать ссылки, когда в исходном каталоге у меня есть и файлы, и ссылки?
Если я правильно понимаю, что вы хотите правильно. Вы хотите точно отразить dir на локальной машине в dir_target в linux, и он копирует содержимое символической ссылки, а не копирует саму символическую ссылку. Чтобы сделать точную копию, вам нужно использовать rsync вместо scp.
rsync -Wav --progress dir linux:dir_target
Я подозреваю, что будет иметь желаемый результат. Обычно я в любом случае использую rsync, потому что он будет копировать только те файлы, которые нужно скопировать, и, как правило, он более интеллектуален, чем scp.
Это хороший вопрос. К сожалению, scp не копирует символические ссылки, и похоже, что нет планов его добавления: https://bugzilla.mindrot.org/show_bug.cgi?id=485.
Однако альтернативы существуют. Вы могли бы:
tar cvfz
для сжатия папки (tar сохранит ссылки); затем скопируйте файл tarrsync -e ssh
для синхронизации по ssh (например, rsync -ave ssh /src/dir user@hostname:/folder
)Используйте команду, подобную этой, чтобы найти и перечислить символические ссылки, а затем воссоздать их на другой стороне (не очень, но я подумал реализовать это самостоятельно):
ls -la `find openddr_ODRINT1/ -type l`