GZIP 유틸리티가 확장 기능에 관심을 갖는 이유는 무엇입니까?

GZIP 유틸리티가 확장 기능에 관심을 갖는 이유는 무엇입니까?

Gzip으로 압축된 파일의 압축을 풀어야 하고 파일 이름을 확장명으로 바꿔야 할 때마다 확장자를 신경 쓰지 않는 것처럼 보이는 .gz다른 압축 유틸리티를 사용해 보았습니다 . zip, bzip2왜 이런 일이 발생합니까 Gzip? 파일 형식을 식별하기 위해 매직 넘버를 확인하거나 다른 방법으로 확인하는 것이 유용하지 않습니까? 아니면 이렇게 하는 목적이 있나요?

답변1

내가 이해하는 바에 따르면 일반적인 아이디어는 다음을 실행할 수 있다는 것입니다.

gunzip *

매뉴얼 페이지에 명시된 대로 파일 확장자를 첫 번째 필터로 사용합니다.

gunzip명령줄에서 파일 목록을 가져오고 이름이 .gz, -gz, .z, -z또는 _z (대소문자 무시)로 끝나고 올바른 매직 번호로 시작하는 모든 파일을 원래 확장자가 없는 압축되지 않은 파일로 바꿉니다. gunzip특수 확장자 .tgz및 는 각각 및 .taz.tar.gz약어 로도 인식됩니다 .tar.Z. 압축할 때 확장자가 있는 파일을 자르는 대신 필요한 경우 확장자를 gzip사용하십시오 ..tgz.tar

또 다른 주목할만한 기능은 gunzip기본적으로 압축 파일에 저장된 이름을 무시하고 추출할 파일에서 접미사를 제거하여 이름이 결정되는 파일로 추출한다는 것입니다. 파일에 알려진 접미사가 없으면 이 작업을 수행할 수 없습니다. .

물론 매직 넘버만으로 필터링하면 여러 파일을 처리할 때 비슷한 효과가 있지만 몇 가지 차이점이 있습니다.

  • gzip현재 사용자가 읽을 수 없는 확장명이 아닌 파일이 반드시 오류를 발생시키는 것은 아닙니다(그러나 현재는 gunzip압축 해제를 시도하지 않아도 파일이 열리기 때문에 오류가 발생합니다).
  • gzip모든 파일에서 매직 넘버를 확인할 필요를 피하면 구현 시 많은 시간을 절약할 수 있습니다.

gzip이제 이런 방식 으로 문서화되었으므로 쉽게 변경할 수 없습니다.예를 들어그리고 gunzip -l).

관련 정보