빈 디렉토리를 제거하려고 할 때 왜 “Directory not empty”가 표시됩니까? 안다. ls -la숨겨진

이 빈 디렉토리가 있지만 다음과 같은 오류 메시지가 계속 나타납니다.

Cannot remove test: Directory not empty

나는이 질문이 여러 번 요청되었지만 그들 중 어느 것도 도움이되지 않았다는 것을 안다.

ls -la숨겨진 파일이 없는지 확인 하려고 시도했지만 보이지 않는 것 같습니다.

나는 sudo rmdir test뿐만 아니라 시도했지만 sudo rm -rf test나는 무엇이 잘못되었는지 모른다.

파일 시스템에 문제가있을 수 있지만 어떻게 수정해야할지 모르겠습니다.



답변

외장 하드 디스크에서 동일한 문제가 발생하여 명령 줄을 사용하여 여러 가지 방법을 시도했지만 매번 실패했습니다. 그것이 나를 위해 일한 것입니다.

  1. 폴더를 마우스 오른쪽 버튼으로 클릭
  2. 휴지통으로 이동
  3. 텅 빈 쓰레기통

예, 어리석지 만 나를 위해 일했습니다. (어떻게 왜 그런지 모르겠지만 폴더가 더 이상 존재하지 않습니다)


답변

10 + 우분투 듀얼 시스템이 설치되어 있습니다. 그리고 두 시스템 모두 Windows Paritition을 공유합니다.

최근에는 우분투에서 해당 파티션의 빈 폴더를 삭제할 수 없었습니다. 리눅스에서 해결하기위한 솔루션을 찾을 수 없습니다.

그러나, 내가 창으로 전환하고 실행 한 후

chkdsk

cmd대상 디스크 를 통해 . 일부 오류가 체크 아웃되었습니다. 그런 다음 실행

chkdsk /F

디스크 오류를 수정합니다.

완료 후 지금 해당 폴더를 삭제할 수 있습니다.


답변

을 입력하여 삭제할 수 sudo rm -rf {dir_name}있습니다. 디렉토리가 읽기 전용 권한으로 설정되었을 수 있습니다. 주어진 명령으로 폴더를 삭제할 수 있기를 바랍니다.


답변

디렉토리가 비어 있지 않기 때문에 디렉토리를 제거 할 수없는 동일한 문제가 있습니다.

이 일련의 작업은 저에게 효과적이었습니다.

  1. 명령 행부터

    sudo rmdir  --ignore-fail-on-non-empty folder-name-to-be-deleted
    

위의 명령은 우분투가 디렉토리가 비어 있지 않은 것을 무시하도록 도와줍니다.

  1. 그런 다음 폴더와 Shift + Del로 이동하면됩니다.

답변

GUI 솔루션

  1. 폴더를 휴지통으로 이동하거나 잘라내어 붙여 넣기
  2. 쓰레기통을 비워

끝났습니다.

명령 줄 솔루션

sudo mv folder_error/ .local/share/Trash

trash-cli로 휴지통을 비울 수 있습니다.

sudo rm -fr ~/.local/share/Trash/*

답변

디렉토리가 CIFS (일명 삼바)로 마운트 된 파일 시스템의 일부이고 깨진 심볼릭 링크 인 파일을 포함하는 경우 해당 파일 ls을 언급하지 못합니다. ( 14.04.2 LTS를 실행하는 CIFS 클라이언트와 12.04.5 LTS를 실행하는 서버 에서이 버그가 관찰 되었습니다.)

따라서 디렉토리는 비어 있지 않지만 CIFS를 통해 볼 수는 없습니다. 파일은 해당 파일 시스템을 호스팅하는 파일 서버에서 실행되는 명령을 통해서만 볼 수 있으므로 삭제할 수 있습니다.


답변

btrfs를 사용하는 경우 i_size가 0이 아닌 빈 디렉토리 일 수 있습니다. 다음과 같은 경우에 해당되는지 확인할 수 있습니다.

stat -c %s test

btrfs에서 빈 폴더의 i_size는 0이어야합니다. 제 경우에는와 6160을 얻었습니다 ~/.config/chromium/Default.

제안 된 솔루션은 파일 시스템을 마운트 해제하고 btrfs check문제를 확인하기 위해 실행 한 후 문제가있는 다른 디렉토리를 확인한 다음 btrfs check --repair수정하여 실행 하는 것입니다. 그러나이 작업은 위험하므로 먼저 파일을 백업하는 것이 좋습니다.

출처 : Btrfs 문제 FAQ