Это машина Solaris (Unix)
У меня есть папка, содержащая несколько подпапок, но в ней нет ни одного файла.
root # ls -al `find trash`
trash:
total 6
drwxrwxrwx 3 root root 512 Aug 6 07:37 .
drwxr-xr-x 9 ---- ---- 1024 Oct 8 06:20 ..
drwxrwxrwx 3 root root 512 Aug 6 07:37 src
trash/src:
total 6
drwxrwxrwx 3 root root 512 Aug 6 07:37 .
drwxrwxrwx 3 root root 512 Aug 6 07:37 ..
drwxrwxrwx 3 root root 512 Aug 6 07:37 tob
trash/src/tob:
total 4
drwxrwxrwx 3 root root 512 Aug 6 07:37 .
drwxrwxrwx 3 root root 512 Aug 6 07:37 ..
Я пытаюсь удалить его, но безуспешно:
root # rm -rf trash
rm: Unable to remove directory trash/src/tob: File exists
rm: Unable to remove directory trash/src: File exists
rm: Unable to remove directory trash: File exists
Я пытаюсь найти точку монтирования, но безуспешно:
root # mount | grep `pwd`
Я пытаюсь найти процесс, запущенный с pwd, но безуспешно:
root # fuser -u `find trash`
trash:
trash/src:
trash/src/tob:
Есть ли какая-нибудь подсказка, как мне удалить эту папку, не форматируя диск? Я все еще новичок в unix, поэтому, пожалуйста, скажите мне также команду, если вы ищете больше информации.
решение1
Вероятно, какой-то процесс воссоздаеттобфайл сразу после того, как rm его удалит.Вот запись в блоге о том, как с этим справиться.
Удаление этого файла только заменит его другим. Есть два решения: вручную удалить файл на сервере NFS или (если у вас нет такого доступа) убить его процесс.
Если файл не находится на NFS, совет проверить, какой процесс имеет дескриптор файла, и завершить его все еще применим. Проверьте с помощью:
fuser -u <file>
После завершения процесса вы сможете удалить каталог.