" 'some_directory'를 제거 할 수 없습니다 : 디렉토리가 비어 있지 않습니다"


27

디렉토리를 삭제하려고했지만

$ rm DE.aspx_files -r
rm: cannot remove `DE.aspx_files': Directory not empty

그러나 내용을 나열하면 아무것도 반환되지 않습니다.

$ ls DE.aspx_files
$

추가 : 실제로

$ ls -la DE.aspx_files

total 4
drwx------ 1 ting ting 4096 Sep 14 20:48 .
drwx------ 1 ting ting    0 Sep 13 22:34 ..
-rw------- 1 ting ting    0 Sep 13 22:34 .fuse_hidden0001d4bf00000006

을 시도하면 rm .fuse_hidden0001d4bf00000006삭제되지만 새로 .fuse_hidden0001d4bf00000007생성됩니다.

그래서 무슨 일이 있었는지,이 문제를 해결하는 방법이 궁금합니다.

참고 : 새로 구입 한 외장 휴대용 HDD이며 데이터 복구 프로그램을 사용하여 일부 파일을 복사합니다.

운영체제 : Ubuntu 12.04

감사!


3
FUSE 파일 시스템을 마운트하는 대상을 파악해야합니다. 시도 mount | fgrep fuse그것을 발견하고, fusermount -u <mountpoint>디렉토리를 삭제하기 전에 마운트를 해제 할 수 있습니다.
CodeGnome

마운트하지 않고 파일을 어떻게 삭제합니까?
Stephen Boston

답변:


16

숨겨진 파일

숨겨진 파일이있을 수 있습니다. 당신 ls -la이 그들을 먼저 삭제 정말 괜찮아 있는지 확인하기 위해 그들을 찾을 수 있습니다 . 그런 다음 실행하기 전에 rm -r또는 rmdir필요에 따라 파일을 삭제할 수 있습니다 .

재귀 삭제 강제

rm -rf대상 디렉토리에 파일이있는 경우에도 재귀 삭제를 강제로 수행 할 수도 있습니다. 모든 일반적인 경고가 적용되지만 파일과 디렉토리를 삭제할 권한이있는 한 디렉토리에 포함 된 내용에 관계없이 작업이 완료됩니다.


1
또한 find DE.aspx_files -exec ls -la {} \;숨겨진 파일 또는 특수 문자로 이름이 지정된 파일을 식별하기 위해 실행할 수 있습니다 .
팀 케네디

고맙게도, 범인 숨겨진 파일을 식별했습니다.이 파일은 삭제할 수 있지만 새 형제가 생성됩니다. 추가 한 부분을 참조하십시오. "디렉토리가 비어 있지 않기 때문에"강제 삭제도 작동하지 않습니다.
Tim

55

양식 의 파일은 파일이 삭제되었지만 여전히 어딘가에서 사용 중일 때 FUSE 파일 시스템에 .fuse_hidden*의해 작성되며 여전히 디렉토리 항목이 있어야합니다. 이것은 NFS를 통해 익스포트 된 디렉토리의 파일 과 유사합니다 ..nfs*

df -T .현재 디렉토리와 마운트 지점에 마운트 된 파일 시스템 유형을 보려면 실행 하십시오. 외장 하드 디스크의 경우 이것이 FUSE를 기반으로 하는 NTFS-3G 드라이버를 통해 마운트 된 NTFS 파일 시스템 일 가능성이 있습니다.

이름은 파일 시스템 드라이버가 삭제 된 파일을 발명 한 가짜 이름입니다. 파일을 삭제할 수 없습니다 (또는 파일을 만들면 다른 이름으로 다시 나타납니다). 디렉토리가 비어 있지 않으므로 디렉토리를 삭제할 수 없습니다. 이 파일을 사용하고있는 것을 찾아야합니다. 사용 중일 가능성이 가장 큰 원인은 일부 응용 프로그램에서 열린 경우입니다. 파일 시스템 마운트 지점이있는 lsof /media/mount-point곳에서 실행 /media/mount-point하고 해당 디렉토리에서 열린 파일을 찾으십시오.


6
이 답변은 실제로 문제를 해결하는 것입니다.
Martin Erhardt

고마워요. 나는이 답변을 사용하고 내 폴더를 사용하는 많은 것들을 보았습니다. 다시 부팅 한 다음 같은 목록을 다시 보려고했습니다. 비어있었습니다. 그리고 삭제가 순조롭게 진행되었습니다.
Sevastyan

12

외장 하드 디스크의 경우이 문제를 해결할 수 있습니다.

  • 폴더를 마우스 오른쪽 버튼으로 클릭하고 Move to Trash
  • 쓰레기통을 비워

rm -rf작동하지 않더라도 나를 위해 일했습니다 .


1
그렇습니다. 왜?! 그러나 파일은 휴지통에 있으며 문제도 마찬가지입니다.
Stephen Boston

-1

Mac의 경우 * .localized 파일도 알고 있어야합니다. 파일은 'ls -la', 'find'및 FUSE 파일 시스템의 파일에도 보이지 않습니다. [MacBook Pro에서 ConnectedData Transporter가 만든 FUSE 파일 시스템을 사용하여 발견되었습니다.]


-1

토렌트 클라이언트에도 파일을 시드 할 때 이런 일이 발생할 수 있습니다. 급류 클라이언트를 종료하거나 시드 급류를 제거하십시오.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.