tarball의 압축을 풀 때 대상 디렉터리를 만듭니다.

tarball의 압축을 풀 때 대상 디렉터리를 만듭니다.

mkdir -ptar 명령에서 존재하지 않는 대상 디렉터리를 정의하고 tar가 자동으로 디렉터리를 생성하는 방법과 유사하게 대상 디렉터리를 생성할 수 있습니까 ?

를 사용하여 출력을 디렉터리로 리디렉션할 수 있다는 것을 알고 있지만 tar -C /target/dir대상 디렉터리가 없으면 작동하지 않습니다.

답변1

mkdir -p /target/dir && tar -C /target/dir

답변2

tar -xvf bash.html_node.tar.gz --one-top-level

tar 명령의 매뉴얼 페이지에서

--one-top-level[=DIR]

    모든 파일을 다음으로 추출합니다.목차, 또는 인수 없이 사용되는 경우 아카이브의 기본 이름(인식되는 표준 압축 접미사 제외 --auto-compress)으로 명명된 하위 디렉터리로 이동합니다.

- - - 시험

테스트 1

tar zxvf ../aaa.tgz --one-top-level
aaa/
aaa/222
aaa/111

tree aaa
aaa/
├── 111
└── 222

// tgz 이름이 아카이브의 root_dir과 동일하면 다른 효과는 없습니다.

테스트 2

mv ../aaa.tgz ../bbb.tgz

tar zxvf ../bbb.tgz --one-top-level
aaa/
aaa/222
aaa/111

tree bbb
bbb
└── aaa
    ├── 111
    └── 222

// tgz 이름이 아카이브의 root_dir과 다른 경우 최상위 디렉터리를 만듭니다.

답변3

이것은 나에게 더 의미가 있습니다.mkdir -p /create/folder && tar -zxf haroopad-v0.13.0_x64.tar.gz -C /create/testfolder

mkdir스위치 를 잘 이해하지 못하지만 폴더를 만드십시오 -p. &&두 번째 명령을 실행할 수 있습니다. 나는 일반적인 tar 스위치를 사용했지만 결국 -C디렉토리를 변경하고 원하는 위치로 추출했습니다.

인용하다:tar-gz 아카이브에 포함된 파일을 archive라는 새 디렉터리에 추출합니다.

답변4

위의 모든 답변은 작동하지만 tar 내부의 내용이 디렉토리 내부에 있으면 원하는 방식으로 작동하지 않습니다.

그래서 이 간단한 트릭이 저에게 효과적이었습니다.

tar -xvzf v<tarball>.tar.gz && mv ./<INSIDE_FOLDER> ./<NEW_FOLDER>

관련 정보