파일이 .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년 이전에는 아무 것도 표시되지 않습니다). -Z
2015년 6월에 추가되었습니다. file
BSD는 현재 대부분의 (모두?) 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)