*\*로 시작하는 파일 이름

*\*로 시작하는 파일 이름

내 홈 디렉토리에 이름이 \e[m. 저는 리눅스를 사용하고 있습니다. 삭제하려고 했는데 rm이라고 뜨는데 어떻게 삭제할 수 있나요 no such file or directory found?

답변1

여기에 게시된 다른 답변 중 어느 것도 작동하지 않으면 언제든지 해당 inode를 기반으로 파일을 제거해 볼 수 있습니다.

하기 위해서:

  1. 를 수행하여 파일의 inode를 찾으십시오 ls -i. inode 번호 123456\e[m.
  2. inode 번호를 기준으로 파일을 삭제합니다. 또는 find -inum 123456 -delete를 실행합니다 find -inum 123456 -exec rm {} \;.

답변2

솔직히 가장 쉬운 방법은 모든 쉘 글로빙을 통과하는 파일 관리자를 사용하는 것입니다.

쉘을 사용하면 쉘 완성 시스템을 사용해 보겠습니다(해당 쉘을 사용한다고 가정). 처럼 rm [TAB], 쉘이 메뉴를 제공하고 메뉴에서 선택하거나 메뉴를 순환할 수 있게 하면 쉘이 인식할 텍스트 표현인 완성을 얻을 수 있어야 합니다.

답변3

가능한 방법:

rm \\e\[m

또는

rm '\e[m'

또는

rm "\\e[m"

답변4

전역 확장을 사용할 수 있습니다. 을 시도 ls *[[]m하고 이 파일만 반환하는 경우 안전하게 수행할 수 있습니다 rm *[[]m.

문제의 파일이 위 명령으로 나열되지 않으면 ls확실히 이스케이프가 포함되어 있고 'm'은 실제로 리터럴 m이 아닙니다(및/또는 [리터럴이 아닙니다 [).

관련 정보