“>”라는 파일을 어떻게 삭제합니까? 실행 중이었습니다 >. 이

나는 오작동하여 sudo라는 파일을 만드는 데 사용되는 Python 스크립트를 실행 중이었습니다 >.

이 파일을 어떻게 제거 할 수 있습니까?

물론을 시도하면의 출력을 리디렉션하려고한다고 생각하기 때문에 sudo rm >오류가 발생 합니다.bash: syntax error near unexpected token 'newline'rm

권한은 -rw-r--r--입니다.



답변

다음 중 하나가 작동해야합니다.

sudo rm \>
sudo rm '>'
sudo rm ">"
sudo find . -name '>' -delete
sudo find . -name '>' -exec rm {} +

를 사용하는 마지막 두 명령 은 현재 폴더와 모든 하위 폴더에 이름이 지정된 모든 파일 또는 디렉토리를 find찾습니다 . 이를 피하려면 GNU find를 사용하십시오.>

sudo find . -maxdepth 1 -name '>' -delete
sudo find . -maxdepth 1 -name '>' -exec rm {} +

답변

파이썬을 사용하여 제거 할 수도 있습니다.

python -c 'import os;os.remove(">")'

POSIX로 find:

find . ! -name . -prune -type f -name '>' -exec rm -f {} +

답변

내가 처음에했던 일도 효과가 있습니다.

sudo sh -c "rm \>"

물론 이것은 더 간단한 변형입니다 sudo rm \>.


답변

나는 이것을 주석으로 시도했지만 한 줄에 모두 나왔다.

[Harry@localhost]~% touch ">"
[Harry@localhost]~% cat > ">"
line 1
line 2
[Harry@localhost]~% cat ">"
line 1
line 2
[Harry@localhost]~% ls -l ">"
-rw-r--r-- 1 Harry Harry 14 Jun  5 12:04 >
[Harry@localhost]~% rm ">"
[Harry@localhost]~% ls -l ">"
ls: cannot access >: No such file or directory
[Harry@localhost]~% 

답변

셸에서 문자를 리디렉션으로 해석하지 않도록 문자를 인용하십시오.

sudo rm '>'

그러나 이상한 문자를 가진 다른 파일이있는 경우 가장 안전한 방법은 GUI 파일 탐색기를 열고 nautilus삭제하는 것입니다.