tar --from-files, 파일 이름 시작 부분의 하이픈을 해석하지 않습니다.

tar --from-files, 파일 이름 시작 부분의 하이픈을 해석하지 않습니다.

CentOS 7.9에서 tar 1.26을 사용하고 있으며 하이픈으로 시작하는 파일이 포함된 아카이브의 압축을 풀려고 합니다.

--files-from모든 파일을 추출하고 싶지 않기 때문에 어떤 파일을 추출할지 tar에 알려줍니다 .

filelist.txt이를 위해 다음 내용이 포함된 파일이 있습니다.
-myfile.txt

tar를 호출하면 tar -xmf mytar.tar --no-wildcards --files-from filelist.txt다음 오류와 함께 tar 오류가 발생합니다.

tar: invalid option -- 'y'


이는 tar가 시작 하이픈을 내가 --no-wildcards패턴 일치를 비활성화하기 위해 추가한 tar에 대한 인수로 해석하기 때문입니다 .

이 동작을 비활성화하는 것이 가능합니까, 아니면 tar에게 filelist.txt아무것도 일치/해석하지 않고 문자 그대로 각 항목을 가져오도록 지시하는 것이 더 낫습니까?

답변1

tarGNU 1.29 이상으로 업그레이드하는 것이 옵션인 경우 이 --verbatim-files-from스위치는 사용자가 찾고 있는 기능을 제공합니다. 인용하다수동:

--verbatim-files-from
대시로 시작하더라도 파일 목록에서 얻은 각 줄을 파일 이름으로 처리합니다. 파일 목록은 --files-from( ) 옵션을 통해 제공됩니다 -T. 기본 동작은 파일 목록에 제공된 이름을 명령줄에 입력한 것처럼 처리하는 것입니다. 즉, 대시로 시작하는 모든 이름은 옵션으로 처리됩니다 tar. 이 --verbatim-files-from옵션은 이 동작을 비활성화합니다.

불행하게도 --verbatim-files-fromGNU 1.26에서는 사용할 수 없습니다 tar.

관련 정보