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 / 명령어 / pgrep - 조건에 맞는 프로세스 ID 검색

Linux / 명령어 / pgrep - 조건에 맞는 프로세스 ID 검색

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

Linux / 명령어 / dpkg - 로컬 DEB 패키지 설치와 설치 정보 조회

Linux / 명령어 / dpkg - 로컬 DEB 패키지 설치와 설치 정보 조회

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

Linux / 명령어 / journalctl - systemd 시스템·서비스 로그 조회

Linux / 명령어 / journalctl - systemd 시스템·서비스 로그 조회

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

Linux / 명령어 / reboot - 시스템 안전하게 재시작

Linux / 명령어 / reboot - 시스템 안전하게 재시작

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

Linux / 명령어 / ps - 현재 프로세스 상태 확인

Linux / 명령어 / ps - 현재 프로세스 상태 확인

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

Linux / 명령어 / more - 텍스트를 화면 단위로 나누어 보기

Linux / 명령어 / more - 텍스트를 화면 단위로 나누어 보기

Linux more 명령어로 긴 텍스트를 화면 단위로 읽는 방법을 설명합니다. 이동과 검색 키, 파이프 사용법, less와의 차이를 함께 정리합니다.

Linux 강좌 / systemd 서비스와 부팅 로그 확인하기

Linux 강좌 / systemd 서비스와 부팅 로그 확인하기

리눅스 부팅 흐름과 systemd 유닛을 이해하고 서비스의 실행 상태와 자동 시작 설정을 구분합니다. systemctl과 journalctl로 상태·부팅 로그를 확인합니다.

Linux / 명령어 / info - GNU 문서 확인

Linux / 명령어 / info - GNU 문서 확인

info 명령어로 GNU 설명서를 탐색하는 방법을 설명합니다. 노드와 메뉴 이동, 본문·색인 검색, 특정 문서 위치 지정, 텍스트 출력과 문서가 없을 때의 해결 방법을 정리합니다.

Linux / 명령어 / shutdown - 시스템 종료·재시작 예약과 취소

Linux / 명령어 / shutdown - 시스템 종료·재시작 예약과 취소

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

Linux / 리눅스 디렉토리 구조와 주요 디렉토리별 용도

Linux / 리눅스 디렉토리 구조와 주요 디렉토리별 용도

리눅스의 /etc, /var, /usr, /home, /proc, /dev 등 주요 디렉토리별 용도와 이름의 의미를 정리합니다. 리눅스 파일시스템 구조를 처음 배우거나 서버 관리에 필요한 디렉토리를 확인할 때 참고할 수 있습니다.