Linux / 명령어 / gzip - 파일을 gzip 형식으로 압축하기

gzip은 파일 데이터를 .gz 형식으로 압축합니다. 여러 파일을 한 아카이브로 묶지는 않으며, 일반적으로 원본 파일을 압축 파일로 바꿉니다.

gzip 명령어란?

압축할 파일을 지정하면 보통 파일.gz가 만들어지고 원본 파일은 제거됩니다. 원본을 보존하려면 -k를 사용하거나 -c로 표준 출력에 보낸 뒤 별도 파일에 저장합니다. 디렉터리 구조를 보존하며 함께 압축하려면 먼저 tar로 묶는 방법이 적합합니다.

기본 문법

gzip [옵션] [파일 ...]

설치된 구현과 옵션은 배포판에 따라 다를 수 있습니다. man gzip으로 현재 시스템의 설명을 확인하세요.

사용 예제

원본을 유지하며 압축

-k로 원본을 남기고 새 .gz 파일을 만듭니다.

gzip -k report.log

압축 결과를 다른 이름으로 저장

-c는 원본을 바꾸지 않고 압축 데이터를 표준 출력으로 보냅니다. 출력 파일이 기존에 없는지 확인하세요.

gzip -c report.log > report-copy.log.gz

압축 파일 무결성 검사

파일 내용을 꺼내지 않고 gzip 스트림 오류를 검사합니다.

gzip -t report.log.gz

압축 뒤 원본 파일이 남는지 확인하기

gzip 파일은 기본적으로 원본을 .gz 파일로 대체합니다. 원본도 남겨야 한다면 GNU gzip의 -k를 사용합니다.

printf 'hello\n' > note.txt
gzip -k note.txt
ls note.txt*

예시 출력:

note.txt  note.txt.gz

압축 성공 자체는 보통 화면에 내용을 출력하지 않습니다. gzip -t note.txt.gz로 압축 파일 구조를 검사할 수 있지만 원본과 내용이 같다는 사실까지 보장하지는 않습니다. 여러 파일을 하나로 묶고 싶다면 먼저 tar를 사용한 뒤 gzip을 적용하세요.

주요 옵션과 형식

옵션·형식 설명
-k 압축 후 입력 파일을 유지합니다.
-c 결과를 표준 출력으로 보냅니다.
-t 압축 데이터의 무결성을 검사합니다.
-1 ... -9 속도 우선부터 압축률 우선까지 수준을 고릅니다.
-v 압축률 등 처리 정보를 표시합니다.

사용할 때 주의할 점

기본 실행은 원본 파일을 대체하므로 원본을 유지해야 하는 작업에서는 -k를 쓰세요. 여러 파일을 인수로 주어도 하나의 .gz로 묶이지 않습니다. gzip 압축은 암호화가 아니므로 비밀 자료 보호 용도로 사용해서는 안 됩니다.

자주 묻는 질문

gzip으로 디렉터리 전체를 하나의 파일로 만들 수 있나요?

gzip 자체는 디렉터리 구조를 담는 아카이버가 아닙니다. tar -czf backup.tar.gz directory/처럼 tar와 함께 사용하세요.

공식 문서

옵션의 정확한 동작과 구현별 차이는 gzip 관련 공식 문서에서 확인할 수 있습니다.

같은 카테고리의 다른 글
Linux / 명령어 / dnf - RPM 계열에서 패키지·저장소 관리

Linux / 명령어 / dnf - RPM 계열에서 패키지·저장소 관리

Linux dnf 명령어의 적용 배포판과 기본 작업을 설명합니다. 패키지 조회·설치 예제, 주요 옵션과 시스템 변경 시 주의점을 알아봅니다.

Linux / 명령어 / awk - 필드별 텍스트 분석과 계산

Linux / 명령어 / awk - 필드별 텍스트 분석과 계산

Linux awk 명령어의 기본 문법과 실제 사용 예제를 설명합니다. 주요 옵션과 결과를 해석할 때 주의할 점을 확인할 수 있습니다.

Linux 강좌 / 파일 시스템 이해하기 - 절대·상대 경로와 주요 디렉터리

Linux 강좌 / 파일 시스템 이해하기 - 절대·상대 경로와 주요 디렉터리

리눅스 파일 시스템의 트리 구조와 절대·상대 경로를 이해하고, /home·/etc·/var 등 주요 디렉터리의 역할과 경로를 읽는 방법을 익힙니다.

Linux / 명령어 / tail - 파일의 마지막 내용과 로그 실시간 확인

Linux / 명령어 / tail - 파일의 마지막 내용과 로그 실시간 확인

Linux tail 명령어로 파일의 마지막 행과 바이트를 확인하고 새로 추가되는 로그를 추적하는 방법을 설명합니다. -n, -f, -F 차이와 로그 로테이션, 필터링 및 여러 파일 모니터링 예제를 정리합니다.

Linux 강좌 / 파일과 명령 찾기 - find, locate, which, whereis

Linux 강좌 / 파일과 명령 찾기 - find, locate, which, whereis

find와 locate로 파일을 찾고 which, whereis, type으로 명령의 위치와 해석 방식을 확인합니다. 실시간 검색과 색인 검색의 차이도 짚습니다.

Linux / 명령어

Linux / 명령어

리눅스에서 자주 사용하는 명령어를 파일, 텍스트, 권한, 프로세스, 시스템, 디스크, 네트워크와 패키지 관리 작업별로 정리했습니다. 링크가 있는 명령어는 자세한 사용법과 예제를 확인할 수 있습니다.

Linux / 명령어 / timedatectl - 시간대와 시간 동기화 상태 관리

Linux / 명령어 / timedatectl - 시간대와 시간 동기화 상태 관리

Linux timedatectl 명령어의 기능과 기본 문법을 설명합니다. 실제 사용 예제, 주요 옵션과 작업 전 확인할 점을 알아봅니다.

Linux / 명령어 / whatis - 명령어의 한 줄 설명 확인

Linux / 명령어 / whatis - 명령어의 한 줄 설명 확인

whatis 명령어로 매뉴얼 페이지의 한 줄 설명과 섹션을 확인하는 방법을 설명합니다. 정규 표현식·와일드카드 검색, apropos·type과의 차이 및 색인 문제 해결법을 정리합니다.

Linux / 명령어 / pkill - 이름으로 프로세스에 시그널 보내기

Linux / 명령어 / pkill - 이름으로 프로세스에 시그널 보내기

Linux pkill 명령어의 기본 문법과 실제 사용 예제를 설명합니다. 주요 옵션과 결과를 해석할 때 주의할 점을 확인할 수 있습니다.

Linux / 명령어 / mktemp - 안전한 임시 파일과 디렉터리 생성

Linux / 명령어 / mktemp - 안전한 임시 파일과 디렉터리 생성

Linux mktemp 명령어로 예측하기 어려운 이름의 임시 파일과 디렉터리를 안전하게 만드는 방법을 설명합니다. 템플릿, TMPDIR, trap을 이용한 정리와 -u 옵션의 위험도 알아봅니다.