2

Я использую скрипт для копирования каталогов в указанное место. Когда я запускаю cp -r ~/.ipython ~/some/path/.ipython .ipython копируется, как и ожидалось, в указанное место. Но когда я снова запускаю эту команду, создается ~/some/path/.ipython/.ipython .

Я понимаю, что это рекурсивно, но какая команда копирует dir, в то время как для последующих вызовов этой команды предотвращается рекурсивное создание dir внутри этого же dir?

2 ответа2

2
cp -r ~/.ipython/ ~/some/path/.ipython

добавить косую черту, он копирует содержимое каталога

1

Да, как вы заметили, ничто не мешает команде cp создавать новый .ipython внутри каждого другого .ipython .

Если вы используете его в скрипте, который запускаете несколько раз, лучший способ избежать этой проблемы - не использовать cp а rsync:

rsync -vua ~/.ipython/ ~/some/path/.ipython/

Примечание: завершающий / в конце пути важен для rsync . Если вы пробуете это, не забудьте добавить это.

РЕДАКТИРОВАТЬ: ответ Kruug должен работать, но rsync даст лучшую производительность, особенно если вы делаете это несколько раз.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .