Відповіді:
Якщо я читаю ваші вимоги правильно, немає ніяких файлів , які йдуть від foo
до bar
. Схоже, ви можете просто скопіювати вміст bar
до foo
, дозволяючи йому перезаписувати файли за необхідності (поведінка за замовчуванням).
$ cp -R /path/to/bar/* /path/to/foo
cp -R /path/to/bar /path/to/foo
це зробили, це створило б каталог bar
всередині foo
. Тонка точка.
bar
(тобто з іменами, що починаються з крапки - .
) через те, як працює глобальна оболонка.
У мене була дуже схожа потреба: об'єднатись bar
у foo
файли, у яких є, bar
не повинні перезаписувати відповідні файли foo
. В цьому випадку:
$ cp -R -n /path/to/bar/* /path/to/foo/
Спробуйте це :
$ cp -r
-u
-v /path/to/foo/* /path/to/bar/
З man cp
-у, --оновіть
копію лише тоді, коли файл ДЖЕРЕЛА новіший за цільовим файлом або коли у файлі призначення відсутній
-R, -r, --рекурсивні каталоги копіювання рекурсивно
man cp
-> -u, --оновлення: копіюйте лише тоді, коли файл SOURCE новіший, ніж цільовий файл, або коли файл відсутній,