Каталог mv, чтобы перезаписать другой
Я, возможно, схожу с ума здесь, но я пытаюсь переместить каталог в новое место, перезаписывая содержимое (в Linux, используя bash).
Каждый раз, когда я пытаюсь это сделать, он отвечает: "mv: не может переместить`./src 'в свой подкаталог "
например. Я имею:
/src
/new/dir/src
/$ mv src/ new/dir/
Если я удаляю каталог назначения, то это работает. Я знаю, что могу переместить содержимое исходного каталога, чтобы перезаписать место назначения, но я бы хотел использовать ту же команду, чтобы перезаписать место назначения, если оно уже существует, или переместить источник, если это не так.
1 ответ
Попробуйте указать абсолютный путь к каждому каталогу.
т.е. mv /src /new/dir/
Кроме того, вы можете посмотреть в rsync
копировать файлы и удалять существующие файлы, и все такое.
Вы также можете сделать что-то вроде:
#!/bin/sh
if [ -e /new/dir/src/ ]; then
rm -rf /new/dir/src/
fi
mv /src /new/dir/
если вы не заинтересованы в хранении файлов в /new/dir/src/
, в таком случае rsync
будет лучшим вариантом.