이름에 \r이 포함된 파일은 이동하거나 삭제할 수 없습니다.

이름에 \r이 포함된 파일은 이동하거나 삭제할 수 없습니다.

어떻게 든 "secret\r-.tar.gz"라는 tar 파일이 있습니다. 이름에
적혀 있으니 참고하세요 .\r

이동하기 위해 다음 SSH 명령을 시도했지만 그 중 아무 것도 작동하지 않습니다.

mv secret\r-.tar.gz ../
mv secret\\r-.tar.gz ../
mv secret\\r-.tar.gz ../
mv "secret\r-.tar.gz" ../

모든 것이 잘못되었습니다.

mv: `secret\r-.tar.gz'를 계산할 수 없습니다. 해당 파일이나 디렉터리가 없습니다.

너희들이 나에게 올바른 방향을 알려줄 수 있니?

답변1

파일이 실제로 호출되면 secret\r-.tar.gz제대로 mv "secret\r-.tar.gz" ../작동할 것입니다.

실제로 캐리지 리턴인 경우 \r리터럴 캐리지 리턴(이스케이프 문자 아님)이 있어야 합니다.

mv $'secret\r-.tar.gz' ..

답변2

와일드카드 문자( *또는 ?)를 사용하여 파일 이름에 입력하기 어려운 문자를 처리할 수 있는 경우가 많습니다. 예를 들어:

mv secret?-.tar.gz something-more-appropriate.tar.gz

당신이 무엇을 얻고 있는지 결정하기 위해 echo또는 먼저 사용하고 싶을 수도 있습니다 .ls

관련 정보