Да это верно. Вы можете пометить один из ответов как ваше решение.
Кробертс
Ответы:
115
cp -rf /source/path//destination/path/
-r = рекурсивно, копирует все подкаталоги
-f = принудительно, если существующий файл назначения не может быть открыт, удалите его и попробуйте снова
Примечание. При использовании -fфлага следует соблюдать осторожность, поскольку он принудительно перезаписывает все, что вы копируете. Спасибо @Nifle за это предложение.
При необходимости вы можете использовать подстановочный знак * для копирования всех файлов в каталоге.
Я не согласен, что вы должны использовать fфлаг. -f if an existing destination file cannot be opened, remove it and try again
Секс
Лично я всегда использую флаг -f. Это не хорошая практика, так что, возможно, вы правы.
Кробертс
Если вы знаете, что он делает, и вы знаете, что делаете, это нормально. Но в этом случае с неопытным пользователем это может не подойти.
2010
@ Да, я понимаю, что ты говоришь. Просто если он заставит его, шансы на его работу лучше, чем если бы он этого не сделал. Все зависит от того, что вы делаете, и от того, что вы понимаете, что он делает.
Кробертс
Если вы добавите в свой ответ примечание о том, что -fфлаг полезен, если вы копируете <source> поверх <dest> (как при перезаписи вещей в <dest>), я сам добавлю голос и удалю свой ответ)
Какого черта ты это сделал? Потому что у tar довольно сложное понимание ссылок, как жестких, так и символических.
Вы хотите, чтобы вы заменили существующие символьные ссылки копией с тем же текстом? Или со ссылками на одну и ту же цель (корректировка относительных путей для компенсации)? Или с побитовыми копиями цели?
Если два файла в оригинале жестко связаны, должна ли новая структура иметь две копии данных или только одну?
Решения, решения. Tar имеет разумные значения по умолчанию, но позволяет вам быть очень точным в этом.
Ответы:
-r
= рекурсивно, копирует все подкаталоги-f
= принудительно, если существующий файл назначения не может быть открыт, удалите его и попробуйте сноваПримечание. При использовании
-f
флага следует соблюдать осторожность, поскольку он принудительно перезаписывает все, что вы копируете. Спасибо @Nifle за это предложение.При необходимости вы можете использовать подстановочный знак * для копирования всех файлов в каталоге.
источник
f
флаг.-f if an existing destination file cannot be opened, remove it and try again
-f
флаг полезен, если вы копируете <source> поверх <dest> (как при перезаписи вещей в <dest>), я сам добавлю голос и удалю свой ответ)Хотя
cp -R
ответы правильные (кстати, флаг BSD должен быть заглавным, оба поддерживаются в Linux), существует старое заклинание с использованием tar :Какого черта ты это сделал? Потому что у tar довольно сложное понимание ссылок, как жестких, так и символических.
Вы хотите, чтобы вы заменили существующие символьные ссылки копией с тем же текстом? Или со ссылками на одну и ту же цель (корректировка относительных путей для компенсации)? Или с побитовыми копиями цели?
Если два файла в оригинале жестко связаны, должна ли новая структура иметь две копии данных или только одну?
Решения, решения. Tar имеет разумные значения по умолчанию, но позволяет вам быть очень точным в этом.
источник
мне нравится
Rsync - еще один хороший инструмент для этого
источник