tbz에서 단일 파일을 추출하는 방법

tbz에서 단일 파일을 추출하는 방법

다음과 같은 보관 디렉터리가 있습니다.

itunes20140618.tbz

다음과 같은 단일 파일을 추출하고 싶습니다.

itunes20140618/video

어떻게 해야 할까요?

지금까지 나는하고있다

$ bzip2 -d /tmp/itunes20140618.tbz 

그러나 그것은 모든 것의 tar 디렉토리를 생성하는 것 같습니다. 단일 비디오 파일만 추출하려면 어떻게 해야 합니까?

현재 tar를 통해 하나의 파일을 추출하면 약 1분이 걸리고 tar 아카이브 읽기가 완료되는 동안 20분 동안 '중단'됩니다. 이것을 개선하는 방법에 대한 아이디어가 있습니까?

답변1

tar -xvjf itunes20140618.tbz itunes20140618/video

이 경우에는 그렇게 해야 합니다. 하지만 추가 도움이 필요한 경우 다음을 수행하십시오.

info tar

특정 아카이브 멤버를 추출하려면 에서 인쇄한 대로 정확한 멤버 이름을 인수로 제공하십시오 --list (-t). 이전에 아카이브에 저장한 파일 중 하나 collection.tar (예: blues)를 실수로 삭제한 경우 아카이브 구조를 변경하지 않고 아카이브에서 해당 파일을 추출할 수 있습니다. 해당 내용은 blues삭제한 원본 파일과 동일합니다 .

먼저, 현재 디렉토리에 있는지 확인 practice하고 디렉토리에 있는 파일을 나열하십시오. 이제 파일을 삭제 blues하고 디렉토리의 파일을 다시 나열하십시오.

blues이제 다음과 같이 아카이브 파일 `collection.tar'에서 멤버를 추출할 수 있습니다 .

 $ tar --extract --file=collection.tar blues

디렉터리의 파일을 다시 나열하면 파일이 blues원래 권한, 데이터 수정 시간 및 소유자와 함께 복원되었음을 알 수 있습니다. (이러한 매개변수는 원래 파일을 아카이브에 저장했을 때의 파일과 동일합니다. 파일 시스템에서 파일을 삭제하기 전에 변경한 내용은 아카이브 구성원에 적용되지 _않습니다_.) 아카이브 파일 은( collection.tar는) 추출하기 전과 동일합니다 blues. tar 를 실행하여 이를 확인할 수 있습니다 --list (-t).

답변2

.zip, .rar또는 같은 아카이브 .7z는 여러 파일이 함께 묶이고 압축되어 구성됩니다. 아카이브 .tar는 함께 묶인 많은 파일로 구성되지만 tar 형식에는 압축이 포함되지 않습니다. A .gz또는 파일 .bz2.xz단일 압축 파일입니다. A .tar.gz, .tar.bz2등은 압축된 아카이브입니다. 는 가 때때로 대신에 사용되는 것과 마찬가지로 가끔 을 .tbz대신하여 사용되는 접미사입니다 ..tar.bz2.tgz.tar.gz

bzip2 -d /tmp/itunes20140618.tbz파일의 압축을 푼다. 압축되지 않은 tar 아카이브가 남습니다. bzip2tar를 생성하지 않습니다. 제공된 내용의 압축을 풀고 압축된 tar가 제공되므로 출력은 압축되지 않은 tar입니다. 를 사용하여 결과 파일의 압축을 풀 수 있습니다 tar -xf /tmp/itunes20140618.tar. 파일 하나만 추출하려면 tar -xf /tmp/itunes20140618.tar itunes20140618/video.

Linux, FreeBSD, MINIX3 및 OSX의 비교적 최신 버전의 tar는 압축된 아카이브를 자동으로 감지하므로 아카이브에 사용되는 압축에 대해 걱정하지 않고 먼저 tar를 호출할 수 있습니다.

tar xf itunes20140618.tbz itunes20140618/video

OpenBSD, Solaris, BusyBox가 있는 Linux와 같은 오늘날의 많은 시스템뿐만 아니라 이전 버전의 tar는 옵션 bzip2을 사용하여 명시적으로 알려야 하는 경우에도 최소한 내부적으로 호출할 수 있습니다 -j.

tar -xjf itunes20140618.tbz itunes20140618/video

관련 정보