":" 및 "@"이 포함된 파일 이름에서 "원격" tar를 방지하는 방법

":" 및 "@"이 포함된 파일 이름에서 "원격" tar를 방지하는 방법

tar -xvf*@*@*@*.tar.gz 형식(*는 임의의 단어 문자)을 사용하여 tarball을 추출하려고 하는데 tar가 원격 위치에서 파일을 찾으려고 하는 것 같습니다. 내가 얻는 오류는 다음 명령에 대한 것입니다 tar -xzvf tasf423@2012-02-22\@00:03:04\@ja41nf.tar.gz.

tar (child): Cannot connect to 2012-02-22@00: resolve failed

백슬래시를 사용하여 이스케이프 처리를 시도하고 @ 기호를 %40으로 바꾸려고 시도했지만 이들 중 아무 것도 작동하지 않는 것 같습니다. 이름에 @가 포함된 tar 명령을 사용하여 타르볼을 추출하는 방법이 있습니까?

다른 예시:

아마도 이 예는 문제를 더 잘 설명할 것입니다.

# tar czvf 2022-02-10-00\:04.tar.gz 2022-02-10-00\:04
2022-02-10-00:04/
2022-02-10-00:04/dmesg.txt
tar (child): Cannot connect to 2022-02-10-00: resolve failed
2022-02-10-00:04/vmcore
tar: 2022-02-10-00:04.tar.gz: Wrote only 2048 of 10240 bytes
tar: Child returned status 128
tar: Error is not recoverable: exiting now

참고: 콜론( :)은 이스케이프할 필요가 없습니다. Bash의 파일 이름 완성 코드가 이를 수행합니다. :Windows와 달리 UNIX에서는 "악의" 문자로 간주되지 않습니다.

답변1

문제는 at 기호가 아니라 콜론입니다. 사용 --force-local.

관련 정보