%EB%A1%9C%20%EC%8B%9C%EC%9E%91%ED%95%98%EB%8A%94%20%ED%8C%8C%EC%9D%BC%EC%9D%84%20%EC%82%AD%EC%A0%9C%ED%95%98%EB%8A%94%20%EB%B0%A9%EB%B2%95%EC%9D%80%20%EB%AC%B4%EC%97%87%EC%9E%85%EB%8B%88%EA%B9%8C%3F.png)
파일 이름이 대시(하이픈 또는 빼기 기호)로 시작하는 파일을 삭제하는 방법은 무엇입니까 -
? SSH를 통해 원격 OSX 서버에 연결되어 있으며 내 디렉토리에 다음 파일이 있습니다.
tohru:~ $ ls -l
total 8
-rw-r--r-- 1 me staff 1352 Aug 18 14:33 --help
...
--help
CLI에서 정확히 어떻게 삭제합니까 ? 가끔 어떤 형태로든 이 문제가 발생하는데, 이러한 파일은 만들기는 쉽지만 제거하기는 어렵습니다.
백슬래시를 사용해 보았습니다.
rm \-\-help
인용해보았습니다
rm "--help"
빼기(대시 또는 하이픈) 문자가 옵션으로 해석되는 것을 방지하는 방법은 무엇입니까?
답변1
다음과 같이 "--"를 사용하여 rm 구문 분석 명령줄 옵션을 중지합니다.
rm -- --help
답변2
아니면 이렇게 할 수도 있어요
rm ./--help
답변3
find
이렇게 하려면 다음을 사용하세요 .
find . -name '--help' -delete
삭제할 수 있는 이와 같은 파일이 여러 개 있는 경우 먼저 (옵션 없이) find를 실행하여 파일의 미리 보기 목록을 얻은 -delete
다음 파일 목록이 좋아 보이면 다시 실행하면 되기 때문에 이는 좋은 접근 방식입니다. 와 함께 -delete
.
rm
엄지손가락을 치켜 드는 것(특히 미리보기를 먼저 하는 것)을 피하는 것은 좋은 습관이며 언젠가는 필연적으로 당신을 괴롭힐 find
실수를 피하는 데 도움이 될 것입니다 .rm *
그러나 이 찾기는 모든 하위 디렉터리를 반복적으로 탐색하므로 다음과 같이 하위 디렉터리 깊이 제약 조건을 사용하여 실행하는 것이 좋습니다.
find . -maxdepth 1 -name '--help' -delete
그러면 검색이 현재 디렉터리로 제한됩니다.
답변4
잔인한 해결책:
perl -e "unlink '--help' or die 'Could not unlink.';"
perl -e "rmdir '-d' or die 'Could not rmdir.';"