답변:
mkdir -p /target/dir && tar -C /target/dir
mkdir -p /target/dir && tar -C $_
$_
는 Bash의 특수 매개 변수로 이전 명령의 마지막 인수로 확장됩니다.
tar -xvf bash.html_node.tar.gz --one-top-level
tar 명령의 맨 페이지에서
--one-top-level[=DIR]
모든 파일을 DIR 또는 인수없이 사용 된 경우 아카이브의 기본 이름으로 이름이 지정된 서브 디렉토리 (로 식별 할 수있는 표준 압축 접미어 빼기) 로 추출하십시오
--auto-compress
.
----- 테스트
tar zxvf ../aaa.tgz --one-top-level
aaa/
aaa/222
aaa/111
tree aaa
aaa/
├── 111
└── 222
// tgz 이름이 archive의 root_dir과 동일하면 다른 효과가 없습니다.
mv ../aaa.tgz ../bbb.tgz
tar zxvf ../bbb.tgz --one-top-level
aaa/
aaa/222
aaa/111
tree bbb
bbb
└── aaa
├── 111
└── 222
// tgz 이름이 archive의 root_dir과 동일하지 않은 경우 최상위 디렉토리를 작성하십시오.
이것은 나에게 더 의미가 있었다. mkdir -p /create/folder && tar -zxf haroopad-v0.13.0_x64.tar.gz -C /create/testfolder
mkdir
-p
스위치를 이해하지 못하더라도 폴더를 만듭니다 . &&
두 번째 명령을 실행할 수 있습니다. 나는 전형적인 타르 스위치를 사용했지만 결국 -C
디렉토리를 변경하고 필요한 위치로 추출하는 데 사용됩니다.
/create
존재하지 않는 주요 디렉토리를 생성 합니다. 즉 존재하지 않는 경우 생성 합니다.