Я получаю сообщение об ошибке при попытке 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. (т. е. регулярный переезд на каждый день).
На самом деле, читая то, что вы пытаетесь сделать, вы, вероятно, сталкиваетесь эта ошибка где кто-то указал, что вы получаете неверное сообщение об ошибке при попытке перезаписать непустой каталог другим каталогом (что запрещено).