7-zip 명령줄 도구를 통해 압축을 풀고 추출하려는 .tar.bz2 파일이 있습니다.
그래서 기본적으로 나는
tar -xjf foo.tar.bz2
7-zip의 경우 "x" 옵션만 추출에 사용되므로 이렇게 하세요.
7z x foo.tar.bz2
tar의 모든 디렉토리를 압축 해제하는 대신 비대해진 foo.tar 파일을 제공합니다. 7z에 해당하는 옵션은 무엇입니까?
답변1
단일 명령으로는 이 작업을 수행할 수 없지만 다음을 사용할 수 있습니다.쉘 파이프라인다음과 같이 두 개의 7z 명령을 하나의 명령줄에 연결합니다.
7z e -so .\Downloads\enron_mongo.tar.bz2 | 7z e -si -ttar
답변2
7zip을 사용하면 명령을 두 번 실행해야 합니다. 한 번은 압축을 풀고 한 번은 압축을 풀어야 합니다. tar 파일 형식은 끝에서 끝까지 연결된 모든 것의 "덩어리"일 뿐입니다. 그런 다음 전체 tar 파일은 다양한 압축 알고리즘(귀하의 경우 bzip)을 사용하여 압축됩니다. 기본적으로 생성된 파일에는 두 개의 레이어가 있습니다. bzip 레이어를 "추출"하면 tar 파일이 생성되고, tar 파일을 추출하면 여러 개의 개별 파일이 생성됩니다.
7zip은 두 개의 레이어를 처리할 수 있지만 동시에 여러 레이어를 처리할 수 없습니다.
7z x foo.tar.bz2
7z x foo.tar
실제로 표준 UNIX 도구는 동일한 방식으로 작동합니다.
bunzip2 foo.tar.bz2
tar xf foo.tar
그러나 Unix 명령에는 tar
tar 부분을 처리하기 전/후에 다른 프로그램을 사용하여 2차 압축 및 압축 해제 단계를 호출하는 편리한 기능이 있습니다. 기본적으로 -j
매개변수는 bzip2
/ 를 호출하므로 bunzip2
두 번째 단계는 표시되지 않습니다. / etc 도 -z
호출됩니다 .gzip
gunzip
답변3
stdout과 파이프를 사용하여 7z와 tar를 결합한 더 짧은 버전은 어떻습니까?
# 7z x -so my-compressed-tarball.tar.bz2| tar xf -
답변4
7z x -so foo.tar.bz2 | 7z x -si -ttar