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

리눅스 gzip 명령어 사용법 총정리: 파일 압축부터 해제까지

gzip 명령어란?

gzip은 리눅스 환경에서 파일을 압축할 때 가장 널리 사용되는 명령어입니다. 기본적으로 gzip으로 파일 또는 폴더를 압축하면 원래 파일 이름 그대로 .gz 확장자만 붙은 형태로 저장됩니다.

아래 설명된 내용은 우분투(Ubuntu)를 기준으로 작성되었지만, gzip 명령어는 다른 유닉스 계열 운영체제에서도 동일하게 사용할 수 있습니다.

gzip으로 파일 압축하기

단일 파일을 압축하는 가장 간단한 방법은 다음 명령어를 실행하는 것입니다.

gzip filename

예를 들어 mydocument.odt라는 파일을 압축하려면 아래와 같이 입력합니다.

gzip mydocument.odt

파일 이름에 공백이 포함되어 있다면 큰따옴표로 감싸서 입력해야 합니다.

gzip "this is my file.png"

파일 종류에 따른 압축 효율 차이

모든 파일이 똑같이 잘 압축되는 것은 아닙니다. 문서, 텍스트 파일, 비트맵 이미지, WAV나 MPEG 같은 특정 오디오·비디오 형식은 압축률이 매우 좋습니다. 반면 JPEG 이미지나 MP3 음원 파일은 이미 압축된 상태이기 때문에 gzip으로 압축해도 용량이 줄어들지 않고 오히려 파일 크기가 커질 수도 있습니다.

또한 gzip 명령어는 일반 파일과 폴더에 대해서만 압축을 시도합니다.

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

.gz 확장자로 압축된 파일을 다시 원래 상태로 되돌리려면 -d 옵션을 사용합니다.

gzip -d filename.gz

앞서 만든 mydocument.odt.gz 파일의 압축을 해제하는 명령어는 다음과 같습니다.

gzip -d mydocument.odt.gz

강제로 파일 압축하기 (-f)

간혹 시스템 설정이나 파일 속성 때문에 압축이 거부되는 경우가 있습니다. 이럴 때 -f(force) 옵션을 사용하면 압축을 강제로 진행할 수 있습니다.

gzip -f filename

원본 파일을 유지한 채 압축하기 (-k)

기본적으로 gzip으로 파일을 압축하면 원본은 사라지고 .gz 확장자를 가진 새 파일만 남습니다. 원본 파일을 보존하면서 압축하고 싶다면 -k(keep) 옵션을 지정해야 합니다.

gzip -k filename

예를 들어 다음 명령어를 실행하면 mydocument.odtmydocument.odt.gz, 두 개의 파일이 함께 존재하게 됩니다.

gzip -k mydocument.odt

절약된 디스크 공간 통계 확인하기 (-l)

파일을 압축하는 궁극적인 목적은 디스크 공간을 절약하거나 네트워크 전송 전에 파일 크기를 줄이는 데 있습니다. gzip은 압축 성능을 확인할 수 있는 통계 정보를 제공합니다.

gzip -l filename.gz

위 명령어에서 사용된 옵션은 숫자 1이나 대문자 I가 아니라 소문자 L이라는 점에 주의하세요.

명령어 실행 결과로 다음 정보가 출력됩니다.

  • 압축된 파일 크기
  • 압축 전 원본 크기
  • 백분율(%)로 표시된 압축률
  • 압축 해제 시 복원되는 파일 이름

폴더와 하위 폴더의 모든 파일 압축하기 (-r)

특정 폴더와 그 하위 폴더에 있는 모든 파일을 한 번에 압축하려면 -r(recursive) 옵션을 사용합니다.

gzip -r foldername

다만 이 방식은 foldername.gz라는 단일 파일을 생성하지 않습니다. 대신 디렉터리 구조를 따라 이동하면서 각 파일을 개별적으로 압축합니다.

폴더 전체를 하나의 파일로 묶어 압축하려면 먼저 tar 명령어로 아카이브를 만든 뒤, 그 tar 파일을 gzip으로 압축하는 것이 좋습니다. 이렇게 만들어진 것이 흔히 보는 .tar.gz 파일입니다.

여러 개의 .gz 파일을 한꺼번에 압축 해제하려면 와일드카드(*)를 활용할 수 있습니다.

gzip -d *.gz

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

압축 파일이 손상되지 않고 정상인지 확인하려면 -t(test) 옵션을 사용합니다.

gzip -t filename

파일이 정상이라면 아무런 출력 없이 명령이 종료됩니다. 문제가 있다면 에러 메시지가 표시됩니다.

압축 수준 조절하기 (1~9)

gzip은 압축 수준을 자유롭게 선택할 수 있습니다. 속도를 우선해 압축률을 낮출 수도 있고, 시간이 더 걸리더라도 최대한 압축률을 높일 수도 있습니다.

가장 빠른 속도로 최소 압축을 수행하려면 다음 명령어를 사용합니다.

gzip -1 filename

반대로 가장 느린 속도로 최대 압축을 수행하려면 다음과 같이 입력합니다.

gzip -9 filename

1부터 9 사이의 숫자를 조절하면 속도와 압축률 사이의 균형점을 원하는 대로 설정할 수 있습니다.

표준 Zip 파일은 gzip으로 다루지 마세요

gzip 명령어는 .zip 형식의 표준 zip 파일에는 적합하지 않습니다. zip 파일을 다룰 때는 zip 명령어와 unzip 명령어를 사용하는 것이 올바른 방법입니다.