“\”라는 파일 또는 디렉토리를 제거하려면 어떻게해야합니까?


20

우분투 컴퓨터에서 터미널을 사용하고 있으며 삭제하려는 파일이 있습니다. 파일 이름은 \백 슬래시입니다.

보통은 보통

rm filename

그러나 그렇게 rm \하면 여러 줄 명령을 작성하려고한다고 생각합니다.

이 파일을 어떻게 삭제합니까? GUI 파일 시스템 만 사용할 수는 있지만 그다지 효율적이지 않습니다.

그래서 어떻게 터미널에서 \? 라는 파일을 삭제할 수 있습니까?


1
왜 그런 이름의 파일이 있습니까? ( code이 코멘트에서 여기에 블록을 넣을 수도 없습니다 !)
— AJMansfield

7
더 재밌는 경우 Ctrl-G라고 불리는 <BEL>이라는 파일을 삭제하는 것이 더 재미 있습니다. 매번 당신이 할 LS에게 당신의 (a)까지의 키보드 경고음이 발견 보이지 않는 파일을; (b) 이름에 인쇄 할 수없는 문자가 하나만있는 파일을 삭제하는 방법을 결정했습니다.
— Pieter Geerkens

1
더 중요한 것은 "/"라는 파일을 어떻게 삭제합니까?
— Curt

1
@ 커트 fsck. 진심으로. 이름 /이 지정된 파일이 있으면 파일 시스템이 손상된 것입니다.
— zwol

2
나는 항상 *나 자신 이라는 파일을 좋아했습니다 ...
— RBerteig

답변:


48

사용 rm \\(다른 백 슬래시 백 슬래시를 이스케이프). 이것은 또한라는 이름의 디렉토리를 들어, 이와 비슷하게 작동합니다 \(중 하나를 사용하여 rmdir, 또는 rm와 -r플래그).

예:

> mkdir 데모
> cd 데모
> 터치 \\
> ls -l
총 0
-rw ------- 1 편 사용자 0 Jul 29 20:25 \
> rm \\
> ls -l
총 0

3
또는 같은 원칙에 따라 rm '\'(그러나 아님 rm "\" ).
— evilsoup

2
@evilsoup은 그에 대한 추가 설명을 제공 \ 하기 위해 문자가 큰 따옴표로 구분 된 문자열에서 이스케이프 문자로 사용됩니다. 말하고는 rm "\"두 번째 따옴표는 이스케이프 문자로 사용된다 (따라서 이중 따옴표 문자 자체와 같이 구문 분석 할 것 같은 닫히지 않은 문자열로 해석됩니다 없는 문자열의 끝). 따라서 터미널은 다른 문자열로 끝낼 때까지 기다립니다 ". 큰 따옴표를 사용하는 동등한 방법은 다음과 같습니다 rm "\\"( 이미 확인한 것처럼와 rm '\'와 모두 직접 같습니다 rm \\ ).
— 획기적인

15

이름에 이상한 문자가있는 파일을 수동으로 삭제하는 일반적인 방법은 다음과 같습니다.

rm -i ./*

디렉토리의 각 파일을 삭제할지 여부를 선택하라는 메시지가 표시됩니다.


3
또는 단일 문자입니다. rm -i ./?
— Hennes

1
네. ./*보다 더 구체적인 글을 쓸 수 있다면, 특히 파괴적인 일을 할 때 항상 좋은 생각입니다.
— zwol

4
당신의 글로브를 접두어로 +1./
— evilsoup

12

파일의 inode를 참조하여 링크를 해제 할 수도 있습니다

linus ~/test $ touch \\
linus ~/test $ ls -li
total 0
15204561 -rw-r--r-- 1 pat sudo 0 Jul 29 23:03 \
linus ~/test $ find . -inum 15204561 -exec rm -v {} \;
removed `./\\'
linus ~/test $ ls -li
total 0
linus ~/test $ 

0

먼저 파일의 inode를 확인하십시오. ls -li

137791 -rw-rw-r--. 1 svr svr 366 3 월 11 일 15:57

"\"의 inode는 "137791"이며 find 명령을 사용하여 inode 번호가있는 "\"를 삭제하십시오.

찾기 . -inum 137791 -exec rm -i {} \;

rm : 일반 파일`./ \ '를 제거 하시겠습니까? 예

그러면 "\"가 제거됩니다.

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