매우 큰 디렉터리의 보관을 취소하려고 합니다. 전체 콘텐츠의 압축을 푸는 방법은 다음과 같습니다.
$ sudo tar -xjf itunes20140618.tbz --verbose
x itunes20140618/
x itunes20140618/genre_artist
x itunes20140618/imix_type
...etc...
그러나 하나의 파일만 아카이브 취소하려고 하면 올바르게 수행되지만 명령이 무기한 중단됩니다. 또한 --verbose 문을 사용할 때 어떤 출력도 인쇄하지 않습니다. 예는 다음과 같습니다.
$ sudo tar -xjf itunes20140618.tbz itunes20140618/imix --verbose
[ nothing prints...it just hangs. But it does un-tar that single file ]
답변1
옵션이 아닌 인수 뒤에는 옵션을 지정하지 마십시오. 특히 tar
옵션, 작업 및 인수를 구문 분석하는 다양한 고대 및 최신 방식을 지원하는 다양한 구현이 있는 비표준 명령이기 때문입니다.
존재하다:
tar -xjf itunes20140618.tbz itunes20140618/imix --verbose
itunes20140618.tbz
아카이브에서 추출할 멤버의 이름으로 사용되는 추가 비옵션 인수와 함께 옵션에 대한 인수가 됩니다 -f
. 추가 매개변수(추출할 다른 멤버의 이름) 또는 옵션으로 처리되는지 itunes20140618/imix
여부는 구현 및 버전, 심지어 컴파일 방법이나 런타임 환경에 따라 달라집니다.--verbose
tar
귀하의 경우, 귀하는 아마도 tar
이것을 글로벌 옵션으로 보지 않는 사람들(대다수) 중 하나일 것입니다.--verbose
여기서는 다음을 사용하세요.
tar -xjf itunes20140618.tbz --verbose itunes20140618/imix
또는 더 휴대성이 뛰어납니다.
bunzip2 < itunes20140618.tbz | tar xvf - itunes20140618/imix
또는 tar
표준으로 교체하십시오(휴대성이 떨어지기는 하지만) pax
.
bunzip2 < itunes20140618.tbz | pax -vr itunes20140618/imix
답변2
당신이 사용하는 bzip2
것은 아닙니다파일 아카이버따라서 tar
본질적으로 a로 작동 file archiver
하고 bzip2
압축합니다.
예를 들어, tar를 사용하여 파일 모음을 아카이브한 다음 gzip을 사용하여 결과 아카이브를 압축하면 확장자가 .tar.gz인 파일이 생성됩니다.
하지만 이 접근 방식에는 위키 기사에 명시된 대로 단점이 있습니다.
파일을 추출하거나 수정하는 것이 어렵습니다. 파일을 추출하려면 전체 아카이브의 압축을 풀어야 하므로 시간과 공간이 많이 소모될 수 있습니다.
따라서 단일 파일을 자주 추출하는 경우 .tar
또는 .zip
..rar