cp -r перезаписать
Это не проблема, а мое любопытство по поводу другого поведения cp -r. Это на последней версии Ubuntu. У меня есть устаревшая копия в каталоге с несколькими подкаталогами. Я хотел бы обновить устаревшую копию, просто переписав каталог на новый. Добавляются новые файлы и тот же файл просто перезаписывается.
Итак, сначала я сделал:
$cp -r <path>/curr_dir <path>/destination_dir
Добавлены новые файлы в curr_dir, но файлы с именем same_name не обновляются, а?
Но если я:
$cd <path>/curr_dir
$cp -r * <path>/destination_dir/
Затем новые файлы добавляются, а устаревшие файлы перезаписываются.
Почему эта разница? Я проверил мой.bashrc и мой.profile и не вижу какого-либо специального псевдонима команды cp.
Конечно, я что-то упустил. Есть комментарии, мысли?
Спасибо
1 ответ
Использование cp в вашем случае не совсем то, что вы хотите: он не будет удалять файлы, которых там больше нет. Что вы хотите rsync
:
rsync -a --delete /source/directory/ /destination/directory/
Обратите внимание на конечные косые черты, они имеют значение.
Добавить -v
возможность увидеть прогресс, и если вы хотите проверить, добавьте --dry-run
вариант также.