방금 헛소리를 좀 rm -rf
했습니다(간단히 말하면 Unreal과 Git을 사용하지 마세요. 문제가 생길 수 있습니다). 이제 다음과 같은 Bash 파일 목록이 있습니다 ls -Al
.
d????????? ? ? ? ? ? old-folder-name
?
해당 inode는 다음 과 같이 나열됩니다 ls -i
. rm old-folder-name
해당 파일이나 디렉터리가 없기 때문에 실패하고 ls
해당 메시지를 인쇄하지만 실제로 나열하는 것을 막지는 않습니다. 이러한 이유로 모든 시도 mv
나 유사한 시도도 실패합니다.cd
현재 WSL을 사용하고 있으며 관리자 계정에서 파일 탐색기를 통해 삭제할 때 관리자 권한 요구에 대한 무의미한 오류가 발생합니다. 둘 다 del
실패했습니다 rmdir
. 분명히 Windows도 이 문제를 해결할 수 없습니다.
이 폴더를 어떻게 삭제할 수 있나요?
알아채다:다시 시작한 후(예: 밤에 컴퓨터를 종료하고 아침에 다시 켜는 경우) 사라졌습니다. 왜 이런 일이 발생하는지 아직도 궁금합니다.
답변1
삭제하려는 "파일"은 파일이 아니라 디렉터리입니다.
간단한 명령으로 는 제거되지 않습니다. rm -rf 를 사용한 것과 같은 더 복잡한 rm 명령을 rm
사용해야 합니다 . rmdir
또한 rmdir은 비어 있지 않은 디렉토리를 삭제하지 않습니다.
그러나 ls가 ?
'를 인쇄하고 있으므로 다음과 같을 가능성이 높습니다.부모읽기(r) 권한은 있지만 실행(x)(cd into) 권한은 없는 디렉터리입니다.
해결책은 (상위) 디렉터리에 x 권한을 부여하고, 소유자인 경우 읽기 및 쓰기 권한을 부여하는 것입니다.
chmod 711 old-folder-name(parent)
그런 다음 (이전 폴더 이름이 비어 있는 경우):
$ cd old-folder-name(parent)
$ rmdir old-folder-name
또는:
$ cd old-folder-name\(parent\)/
$ rm -rf old-folder-name