SSH를 통해 예약된 문자가 포함된 파일 삭제

SSH를 통해 예약된 문자가 포함된 파일 삭제

서버 측 애플리케이션을 개발하는 동안 실수로 다음과 유사한 이름의 파일 두 개를 만들었습니다.

<?php echo $_GET[\'team\'] ?>files.json

해당 파일 에 필요한 백슬래시를 추가한 후에도 rm터미널에서는 해당 파일이 존재하지 않는다고 말합니다. 내 FTP GUI도 해당 항목을 삭제하지 않습니다.

이 상황을 해결하는 방법에 대한 도움을 주시면 감사하겠습니다. Google이나 Stack Overflow를 통해 아무것도 찾을 수 없습니다.

답변1

일반적인 접근 방식 중 하나는 Perl이나 Ruby와 같은 것을 사용하여 파일을 삭제하는 것입니다.

perl -e 'unlink("random crazy file")'
ruby -e 'File.unlink("random crazy file")'

그것은 전체 쉘을 피합니다.

Bash와 같은 대화형 셸을 사용하여 이를 수행하는 또 다른 쉬운 방법은 을 입력하고 rm fi탭을 누른 다음 bash가 파일 이름을 완성하도록 하는 것입니다. 그 말은 잘 인용됩니다.

답변2

더 정확한 패턴을 사용할 수도 있었지만 제가 한 것은 다음과 같습니다.

합법적인 JSON 파일을 백업 하고 ended up하위 디렉터리에 해당 디렉터리의 모든 JSON 파일을 삭제하는 Perl 스크립트를 생성합니다.

$filepath= "../*.json";
@jsonPattern=glob($filepath);
unlink @jsonPattern;

그런 다음 해당 하위 디렉터리에 CD를 넣고 다음을 입력하여 실행했습니다.perl nameOfMyScript.perl

관련 정보