tarball에서 폴더 추출 - 추출 후 파일을 저장할 위치를 어떻게 알 수 있습니까?

tarball에서 폴더 추출 - 추출 후 파일을 저장할 위치를 어떻게 알 수 있습니까?

이 질문에 대한 여러 출처를 살펴봤으며 방법을 알고 있습니다.정제문서가 있지만 설명 방법을 알려주는 출처가 없습니다.폴더를 넣을 위치일단 추출됩니다.

나는 이것을 시도했습니다 :

tar -xvf tarball.tar.gz my/folder/im/extracting

이렇게 하면 내용이 나열된 대로 추출되는 것처럼 보이지만 오류도 발생합니다.

gzip: stdin: 예기치 않은 파일 끝 tar: 아카이브의 예기치 않은 EOF tar: 오류 복구 불가능: 즉시 종료

현재 디렉터리를 확인했는데 폴더가 보이지 않습니다.

이를 수행하는 방법, 아니면 오류로 인해 현재 디렉터리에 생성되지 않습니까?

답변1

tar -xvf tarball.tar.gz my/folder/im/extracting

my/folder/im/extracting그러면 해당 위치에서 아카이브 구성원이 추출됩니다 my/folder/im/extracting. 아카이브 멤버가 디렉터리인 경우 해당 콘텐츠(하위 디렉터리 포함)를 반복적으로 추출합니다.

GNU 또는 FreeBSD tar를 사용하여 다른 디렉터리에 압축을 풀고 싶다면(이는 내장되지 않은 Linux, Cygwin, FreeBSD 및 OSX에서도 마찬가지입니다) 다음을 사용할 수 있습니다.

tar -xvf tarball.tar.gz --transform 's!my/folder/im/extracting!somewhere/else!' my/folder/im/extracting

my다른 (기존) 디렉토리 아래에 배치하려면 다음을 사용할 수 있습니다.

tar -xvf tarball.tar.gz -C different/directory my/folder/im/extracting

"gzip: stdin: 예기치 않은 파일 끝" 오류는 tar를 사용하는 방식과 아무 관련이 없습니다. "예기치 않은 파일 끝"은 gzip이 파일 끝에 도달했음을 의미하지만 파일 형식은 더 많은 데이터가 있어야 함을 나타냅니다. 즉, 다운로드가 중단되는 등의 이유로 파일이 잘렸습니다.

답변2

-C옵션을 사용하여 tar파일 추출을 위한 대상 디렉터리를 지정할 수 있습니다 . 단, 대상 디렉터리를 미리 생성해 놓아야 합니다. tar귀하를 위해 생성되지 않습니다.

따라서 명령은 다음과 같아야 합니다.

mkdir -p my/folder/im/extracting
tar -xvf tarball.tar.gz -C my/folder/im/extracting

관련 정보