Computer >> 컴퓨터 >  >> 시스템 >> Linux

리눅스 gunzip 명령어 완벽 가이드: .gz 파일 압축 해제 방법과 유용한 옵션 총정리

폴더를 살펴보다가 확장자가 .gz인 파일을 발견했다면, 해당 파일은 gzip 명령으로 압축된 것입니다. gzip 명령은 Lempel-Ziv(LZ77) 압축 알고리즘을 사용하여 문서, 이미지, 오디오 파일 등 다양한 파일의 크기를 줄여 줍니다. gzip으로 압축한 파일은 필요할 때 다시 압축을 해제해야 하는데, 이 글에서는 gzip으로 압축된 파일을 해제하는 다양한 방법과 함께 실무에서 유용하게 쓸 수 있는 옵션들을 자세히 소개합니다.

gzip 명령으로 파일 압축 해제하기

gzip 명령 자체에도 .gz 확장자를 가진 파일의 압축을 해제하는 기능이 포함되어 있습니다. 파일의 압축을 풀려면 아래와 같이 -d(minus d) 옵션을 사용합니다.

gzip -d myfilename.gz

명령을 실행하면 파일이 압축 해제되고, .gz 확장자가 자동으로 제거됩니다.

리눅스 gunzip 명령어 완벽 가이드: .gz 파일 압축 해제 방법과 유용한 옵션 총정리

gunzip 명령으로 파일 압축 해제하기

gzip -d 방식도 물론 유효하지만, 전용 명령인 gunzip을 사용하는 것이 더 직관적이고 기억하기 쉽습니다. 사용법은 다음과 같습니다.

gunzip myfilename.gz
리눅스 gunzip 명령어 완벽 가이드: .gz 파일 압축 해제 방법과 유용한 옵션 총정리

강제로 압축 해제하기(-f 옵션)

때때로 gunzip 명령이 파일 압축 해제를 거부하는 경우가 있습니다. 가장 흔한 원인은 압축을 해제한 후 생성될 파일 이름과 동일한 이름의 파일이 이미 존재하는 경우입니다.

예를 들어 document1.doc.gz라는 파일이 있고, 같은 폴더에 이미 document1.doc라는 파일이 있다고 가정해 보겠습니다. 이 상태에서 다음 명령을 실행하면 파일이 이미 존재한다는 메시지가 나타나며, 작업을 계속할지 확인을 요구합니다.

gunzip document1.doc.gz

Y를 입력하면 기존 파일을 덮어쓰고 진행할 수 있습니다. 하지만 gunzip을 스크립트의 일부로 사용한다면 사용자에게 확인 메시지를 표시하고 싶지 않을 것입니다. 확인 대기 상태가 되면 스크립트 실행이 멈추고 입력을 요구하기 때문입니다.

이럴 때는 다음과 같이 -f 옵션을 사용하여 강제로 압축을 해제할 수 있습니다.

gunzip -f document1.doc.gz
리눅스 gunzip 명령어 완벽 가이드: .gz 파일 압축 해제 방법과 유용한 옵션 총정리

-f 옵션을 사용하면 동일한 이름의 기존 파일을 묻지도 따지지 않고 덮어쓰게 됩니다. 따라서 중요한 파일이 실수로 삭제되지 않도록 이 옵션은 신중하게 사용해야 합니다.

압축 파일과 압축 해제 파일 모두 유지하기(-k 옵션)

기본적으로 gunzip 명령은 파일의 압축을 해제한 뒤 원본 압축 파일을 삭제합니다. 즉, myfile.gz라는 파일은 압축 해제 후 myfile이라는 이름으로 원래 크기만큼 확장됩니다.

파일의 압축을 풀면서 동시에 압축된 원본도 보관하고 싶다면 다음 명령을 실행하세요.

gunzip -k myfile.gz

명령 실행 후에는 myfilemyfile.gz 두 파일이 모두 남게 됩니다.

리눅스 gunzip 명령어 완벽 가이드: .gz 파일 압축 해제 방법과 유용한 옵션 총정리

압축 해제 없이 내용 출력하기(-c 옵션)

압축된 파일이 텍스트 파일이라면, 굳이 압축을 먼저 풀지 않아도 내용을 바로 확인할 수 있습니다. 다음 명령을 사용하세요.

gunzip -c myfile.gz

위 명령은 myfile.gz의 내용을 터미널 화면에 그대로 출력합니다. 원본 압축 파일은 그대로 유지됩니다.

압축 파일 정보 확인하기(-l 옵션)

gunzip 명령에 -l 옵션을 붙이면 압축 파일에 대한 상세 정보를 확인할 수 있습니다.

gunzip -l myfile.gz
리눅스 gunzip 명령어 완벽 가이드: .gz 파일 압축 해제 방법과 유용한 옵션 총정리

위 명령의 출력 결과에는 다음 정보들이 포함됩니다.

  • 압축된 크기
  • 압축 해제 시 크기
  • 압축률(Ratio)
  • 압축 해제 시 사용될 파일 이름

이 옵션이 특히 유용한 경우는 대용량 파일을 다루거나 디스크 여유 공간이 부족할 때입니다.

예를 들어 용량이 10GB인 드라이브에 8GB 크기의 압축 파일이 있다고 가정해 보겠습니다. 무작정 gunzip 명령을 실행하면, 압축 해제 후 크기가 15GB에 달해 명령이 실패할 수 있습니다.

-l 옵션으로 미리 확인하면 압축을 해제할 대상 디스크에 충분한 공간이 있는지 검증할 수 있고, 압축 해제 시 생성될 파일 이름도 미리 파악할 수 있습니다.

하위 폴더까지 한 번에 압축 해제하기(-r 옵션)

특정 폴더와 그 하위의 모든 폴더에 있는 .gz 파일을 한꺼번에 압축 해제하려면 다음 명령을 사용합니다.

gunzip -r foldername
리눅스 gunzip 명령어 완벽 가이드: .gz 파일 압축 해제 방법과 유용한 옵션 총정리

예를 들어 다음과 같은 폴더 구조와 파일이 있다고 가정해 보겠습니다.

  • Documents
    • mydoc.gz
    • mydoc1.gz
    • Accounts
      • spreadsheet1.gz
      • spreadsheet2.gz

이 경우 다음 명령 하나로 Documents 폴더 아래의 모든 압축 파일을 해제할 수 있습니다.

gunzip -r Documents

압축 파일의 유효성 검사하기(-t 옵션)

파일이 gzip으로 올바르게 압축되었는지 테스트하려면 다음 명령을 실행합니다.

gunzip -t filename.gz

파일에 문제가 있으면 오류 메시지가 출력되고, 정상이라면 별도의 메시지 없이 프롬프트로 돌아옵니다.

압축 해제 과정 상세 정보 표시하기(-v 옵션)

기본적으로 gunzip 명령을 실행하면 .gz 확장자가 제거된 압축 해제 파일만 남습니다. 더 자세한 정보를 확인하고 싶다면 -v(verbose) 옵션을 사용하세요.

gunzip -v filename.gz

실행 결과는 대략 다음과 같이 표시됩니다.

filename.gz: 20% -- replaced with filename

이 출력을 통해 원본 압축 파일의 이름, 압축 해제율(줄어든 비율), 최종 생성된 파일 이름을 한눈에 확인할 수 있습니다.