Unix команда 'mv' сбой
Я использую команду перемещения mv -f $file1 $file2
переместить файл из исходного каталога в каталог назначения. Я получаю сообщение об ошибке как:
mv: cannot create regular file $file2:File exists
Не могли бы вы сообщить мне причину таких сбоев из команды перемещения?
Есть ли способы решить эту ошибку?
3 ответа
Это вызвано состоянием гонки. Вы работали несколько mv
в ваших сценариях.
Этот файл действительно существует? Если он существует, и вы УВЕРЕНЫ, что хотите перезаписать его, добавьте флаг -f, который заставит команду продолжить работу;
mv -f file1 file2
Эта ошибка может быть вызвана конфликтом привилегий и иногда с использованием недопустимых символов в имени файла. Убедитесь, что в имени файла нет необычных специальных символов, и убедитесь, что в каталоге, в который перемещается файл, уже нет файла с таким именем. Возможно, вам придется использовать ls -l
из целевого каталога выше, чтобы увидеть, позволят ли настройки привилегий читать / писать в каталог.