.bz2와 .tar.bz2 파일의 차이점

.bz2와 .tar.bz2 파일의 차이점

파일이 .bz2 또는 .tar.bz2(파일 확장자 없음)를 사용하여 압축되었는지 확인하고 그에 따라 압축을 풀어야 합니다. 이 명령을 사용했지만 file.bz2와 .tar.bz2에 대해 동일한 결과가 나왔습니다. .bz2 및 .tar.bz2 파일을 명확하게 식별하는 방법을 제안하십시오.

답변1

파일을 실행하고 bzcat결과를 다음으로 파이프합니다 file.

$ bzcat somefile.bz2 | file -
/dev/stdin: data               # or whatever; this is not a .tar.bz2

$ bzcat otherfile.bz2 | file -
/dev/stdin: POSIX tar archive  # this *is* a .tar.bz2

답변2

file상관없어: 그럴 것 같아체재,아니요파일 이름.

tar 형식의 내용은 파일의 압축을 풀어야만 볼 수 있습니다.

답변3

file-z지원 또는 옵션이 포함된 버전이 있는 경우 -Z압축 파일 내부를 살펴보고 해당 내용을 알아낼 수 있습니다.

두 옵션 모두 POSIX 사양의 일부가 아닙니다.문서.

그러나 이 -z옵션은 file적어도 2000년대 초반부터 오랫동안 BSD 명령에 존재했습니다(내 시스템의 변경 로그에는 2003년 이전에는 아무 것도 표시되지 않습니다). -Z2015년 6월에 추가되었습니다. fileBSD는 현재 대부분의 (모두?) Linux 배포판, *BSD 및 Mac OSX를 포함한 많은 시스템에서 사용됩니다.

에서 man file:

-z, --압축해제

압축 파일 내부를 살펴보세요.

-Z, --압축 해제-noreport

압축된 파일 내부를 보려고 시도하지만 압축이 아닌 콘텐츠에 대한 정보만 보고합니다.

예를 들어:

# make a .tar.bz2 file
tar cfj test.tar.bz2 *

# make a .bz2 file
echo junk | bzip2 -c > junk.bz2

# try to fool `file`
cp test.tar.bz2 test.bz2
cp junk.bz2 junk.tar.bz2

echo "file -z:"
file -z *.bz2

echo
echo

echo "file -Z:"
file -Z *.bz2

산출:

file -z:
junk.bz2:     ASCII text (bzip2 compressed data, block size = 900k)
junk.tar.bz2: ASCII text (bzip2 compressed data, block size = 900k)
test.bz2:     POSIX tar archive (GNU) (bzip2 compressed data, block size = 900k)
test.tar.bz2: POSIX tar archive (GNU) (bzip2 compressed data, block size = 900k)


file -Z:
junk.bz2:     ASCII text
junk.tar.bz2: ASCII text
test.bz2:     POSIX tar archive (GNU)
test.tar.bz2: POSIX tar archive (GNU)

관련 정보