새 폴더를 만들 때 '가 BASH의 특수 문자라는 것을 인식하지 못했습니다. 즉, 다음과 같은 파일이 생성되었음을 의미합니다.
One Flew Over the Cuckoos\ Nest\ \(1975\)?quit?quit()?ls??????????
아니면 정확히 말하면
drwxrwxrwx 1 root root 0 Mar 8 23:21 One Flew Over the Cuckoos\ Nest\ \(1975\)?quit?quit()?ls??????????
이로 인해 터미널이 미치게 되었습니다. 탭 완성 기능을 전혀 찾을 수 없습니다. inode를 통해 열려고 하면 오류가 발생합니다.
LibreELEC:/var/media/MYNAME/Films # rm -r "$(find -inum 187)"
rm: can't remove './One Flew Over the Cuckoos\ Nest\ \(1975\)
quit
quit()
ls': No such file or directory
내가 얼마나 심하게 망쳤습니까?
답변1
해결되었습니다. OP에서 시도한 것처럼 inode로 제거하여 이 작업을 수행했지만 이제 다음 줄을 사용하여 파일 이름을 완전히 우회했습니다.
find . -inum 187 -delete
이 글을 읽는 사람이라면 누구나 187을 다음을 통해 찾은 inode로 교체해야 합니다.이엘에스
답변2
rm에서 대화형 옵션을 사용할 수 있습니다. 각 파일을 나열하고 삭제할 것인지 묻습니다. 따라서 와일드카드를 사용하여 간단하게 테스트할 수 있습니다.
rm -i *Flew*Cuckoo*Nest*
이는 rmdir에는 영향을 미치지 않습니다. 디렉터리가 비어 있으면 다음을 수행할 수 있습니다.
rm -ir *Flew*Cuckoo*Nest*
또는 고유성을 보장하기 위해 디렉터리와 충분히 일치할 수 있는 경우 디렉터리 이름을 입력할 수 있는 이름으로 바꿀 수 있습니다.
mv *Flew*Cuckoo*Nest* BetterCuckooName