Назад | Перейти на главную страницу

Ошибка при использовании mv

Я получаю сообщение об ошибке при попытке mv некоторых файлов, которые действительно не имеют смысла. Я получаю такую ​​ошибку:

mv: cannot move `thatDir' to a subdirectory of itself, `/usr/local/apache-tomcat-6.0.32/webapps/thatDir'

При выполнении следующей команды для замены уже существующего каталога thatDir в / webapps:

From /home/myUser/war_files/ 
mv thatDir /usr/local/apache-tomcat-6.0.32/webapps

Я также перепробовал все, вплоть до:

sudo mv /home/myUser/war_files/thatDir /usr/local/apache-tomcat-6.0.32/webapps

Не повезло. У меня есть необходимые разрешения для этого (плюс я использую sudo) и по-прежнему ничего. Точно такую ​​же операцию ранее выполнял кто-то еще в моем офисе (который здесь больше не работает).

Я пробовал поискать в Google и даже видел другой вопрос о serverfault, но все говорят то же самое, что и комментарий по этой проблеме: «возможно, есть символические ссылки, и вы не знаете об этом».

Проблема не в этом. Я попытался просмотреть каталоги с помощью readlink -e (как следует из комментария в другом билете), но никаких символических ссылок нет.

Любая помощь будет оценена.

Ссылка на другой вопрос, связанный с этим: Невозможно переместить папку в отдельный подкаталог - что происходит?


Как упоминалось в моем ответе на комментарий ниже, вот шаги для воспроизведения этой проблемы. Как вы увидите, ссылки не могут нести ответственность за это (я также использую bash unix):

mkdir /home/myUser/testOuter    
cd /home/myUser/testOuter
mkdir test1
cd test1
mkdir moveMe
cd moveMe
touch testfile1.txt
cd ../..
mkdir test2
cd test2
mkdir moveMe
cd moveMe
touch testfile2.txt
cd ../../test1
mv moveMe ../test2

И затем я получаю сообщение об ошибке:

mv: cannot move `moveMe' to a subdirectory of itself, `../test2/moveMe'

но он явно не находится в подкаталоге самого себя, и здесь нет никаких ссылок.

Работает, если я удалю файлы из test2/moveMe/ но это неприемлемо, поскольку мне нужно перезаписать все файлы, которые находятся в test1, на test2, сохранить существующие файлы в test1, которые не существуют в test2 (например, контент, созданный пользователем), и переместить любые файлы из test2, которые еще не существуют в test1. (т. е. регулярный переезд на каждый день).

На самом деле, читая то, что вы пытаетесь сделать, вы, вероятно, сталкиваетесь эта ошибка где кто-то указал, что вы получаете неверное сообщение об ошибке при попытке перезаписать непустой каталог другим каталогом (что запрещено).