rm -rf를 사용하여 사용자가 없는 빈 폴더를 제거할 수 없습니다.

rm -rf를 사용하여 사용자가 없는 빈 폴더를 제거할 수 없습니다.

이것은 솔라리스 머신입니다 (유닉스)

폴더에 일부 하위 폴더가 포함되어 있지만 그 안에 파일이 없습니다.

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:

디스크를 포맷하지 않고 이 폴더를 삭제하는 방법에 대한 단서가 있습니까? 저는 아직 유닉스 초보자이므로 더 많은 정보를 찾고 있다면 명령도 알려주세요.

답변1

아마도 어떤 프로세스가남자 이름rm이 파일을 삭제한 직후에 파일을 삭제합니다.처리 방법에 대한 블로그 게시물은 다음과 같습니다..

이 파일을 제거하면 다른 파일로만 대체됩니다. 두 가지 해결 방법이 있습니다. NFS 서버에서 파일을 수동으로 삭제하거나 (해당 유형의 액세스 권한이 없는 경우) 해당 프로세스를 종료하는 것입니다.

파일이 NFS에 없는 경우 어떤 프로세스가 파일에 대한 핸들을 가지고 있는지 확인하고 종료하라는 조언이 여전히 적용 가능합니다. 다음을 통해 확인하세요:

fuser -u <file>

프로세스를 종료한 후에는 디렉터리를 삭제할 수 있습니다.

관련 정보