Коротка відповідь
Використовуючи командний рядок (термінал):
cp -r -n ~/Desktop/src/* ~/Desktop/destination/
Команда вище додає src
вміст та підкаталоги до destination
без перезапису вмісту, який вже присутній у destination
.
Довга відповідь
Навіть якщо вміст перекривається, ви все одно cp
можете це робити. Припустимо , що у вас є дві папки на вашому столі: src
і destination
папки , і ви хочете об'єднати src
в destination
:
Щоб об’єднатись, просто зробіть:
cp -r ~/Desktop/src/* ~/Desktop/destination/
ПРИМІТКА Коли ви користуєтесь цим, вміст у src
перезаписує вміст у destination
папці та додає зайві речі, які відсутні у destination
. Це не має значення , якщо ви просто хочете додати відсутні файли src
в destination
.
ТАКОЖ не має значення скільки підкаталогів є, вони просто пройдуть через кожну папку рекурсивно, і вона перезаписує вміст і додасть речі, які відсутні в destination
папці.
АЛЕ
PITFALL Якщо у вас є величезні файли (наприклад, відеофайли), ви не хочете чекати, поки все буде перезаписано, це додасть багато накладних витрат.
PITFALL РІШЕННЯ : Натомість ви можете використовувати -n
прапор, щоб пропустити перезапис:
cp -r -n ~/Desktop/src/* ~/Desktop/destination/
Це опис -n
прапора зі сторінки man:
man cp
-n Do not overwrite an existing file. (The -n option overrides any
previous -f or -i options.)
Подальше читання
- /programming/5088332/overhead-of-a-flag-in-cp-command