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
).