
리눅스를 사용하다 보면 로그 파일을 백업하거나 여러 파일을 하나로 묶어 전송해야 하는 상황이 자주 발생한다. 이러한 경우 리눅스에서는 압축 및 아카이브 명령어를 이용하여 파일을 효율적으로 관리할 수 있다.
대표적으로 많이 사용하는 명령어는 tar, gzip, zip 세 가지가 있다. 이 명령어들은 파일을 묶거나 압축하여 저장 공간을 줄이고 파일 관리와 전송을 편리하게 만들어 준다. 이번 글에서는 리눅스 환경에서 자주 사용하는 압축 명령어인 tar, gzip, zip의 기본 사용 방법을 알아보도록 하겠다.
tar 명령어
tar는 여러 파일을 하나의 파일로 묶는 아카이브(archive) 명령어다. tar 자체는 압축 기능이 없지만 gzip이나 bzip2와 함께 사용하면 압축까지 수행할 수 있다. 다시 말하지마나 tar는 압축이 아니고 파일을 하나로 묶는 것 뿐이다.
파일 묶기
tar -cvf archive.tar 파일1 파일2
| 옵션 | 의미 |
| c | 새로운 archive 생성 |
| v | 진행 과정 출력 |
| f | 파일 이름 지정 |
디렉터리 압축 (tar + gzip)
따라서 압축이 필요할 때는 아래와 같이 gzip을 같이 사용한다.
tar -czvf archive.tar.gz 폴더명
| 옵션 | 의미 |
| z | gzip 압축 사용 |
위와 같은 방식의 명령어가 가장 많이 사용되는 방식이다. tar 단독으로는 잘 사용되지 않는다.
압축 해제
gzip 압축 된 tar 파일은 아래와 같이 해제할 수 있다.
tar -xzvf archive.tar.gz
| 옵션 |
의미 |
| x | 압축 해제 |
gzip 명령어
gzip은 파일을 압축하는 명령어다. tar 설명시에도 보았겠지만 gzip으로 압축하면 .gz 확장자가 붙는다.
파일 압축
[명령어]
gzip 파일명
[예시]
gzip log.txt
[결과]
log.txt.gz
압축 해제
gunzip 파일명.gz
혹은
gzip -d 파일명.gz
gzip 특징
tar 아카이브 설명 시 gzip을 왜 같이 사용하는지 궁금했을 수 있다. 그 이유는 gzip은 한 번에 한 개의 파일만 압축할 수 있기 때문이다. 그래서 여러 파일을 압축할 때는 보통 tar와 함께 사용한다. tar로 다수의 파일을 아카이브 하여 하나로 묶은 뒤 gzip으로 압축을 하는 방식이다.
tar -czvf backup.tar.gz backup/
zip 명령어
zip은 Windows 환경에서도 널리 사용되는 압축 형식이다. Linux에서도 zip 명령어를 통해 동일한 방식으로 압축 파일을 만들 수 있다. 다만 즐겨 사용되지는 않는다. 적어도 필자가 업무를 할때는 사용하지 않았다. 그 이유는 아래 비교표에서 추가로 설명하도록 하겠다. 그래도 지원하는 압축 방식이니 간단히 명령어 등을 짚고 넘어가도록 하자.
파일 압축
zip archive.zip 파일1 파일2
디렉터리 압축
zip -r archive.zip 폴더명
| 옵션 | 의미 |
| r | 하위 디렉터리 포함 |
압축 해제
zip 파일을 해제하려면 unzip 명령어를 사용한다.
unzip archive.zip
tar / gzip / zip 차이
그러면 tar / gzip / zip 명령어의 차이점을 정리해 보자. 도표로 정리하면 아래와 같다. 써놓고 보니 zip도 괜찮아 보이는데 실제 실무에서는 리눅스 환경에서 zip을 사용하지 않는다. 가장 큰 사유는 zip은 일반적으로 유닉스 권한 및 소유권 정보를 지원하지 않는다. 그렇기 때문에 실제 업무를 위해 사용한다면 tar와 gzip을 사용하도록 하자. 하나의 프로그램은 하나의 일만 한다. 그것과 잘 맞는 것이 tar와 gzip이기도 하다.
| 명령어 | 특징 |
| tar | 파일을 하나로 묶는 아카이브 |
| gzip | 파일 압축 |
| zip | 압축 + 아카이브 (유닉스 권한 및 소유정보 미지원) |
실제 서버 환경에서는 보통 다음 형식을 가장 많이 사용한다.
tar -czvf backup.tar.gz 폴더명
이 방식은 여러 파일을 하나로 묶고 동시에 압축까지 수행할 수 있기 때문에 백업이나 로그 보관 작업에서 매우 많이 사용된다.
마무리
리눅스에서는 다양한 압축 명령어를 활용하여 파일을 효율적으로 관리할 수 있다. 특히 tar, gzip, zip 명령어는 서버 운영이나 개발 환경에서 매우 자주 사용되는 기본 도구라고 할 수 있다. 로그 백업, 파일 전송, 데이터 보관 등 다양한 상황에서 활용할 수 있기 때문에 리눅스를 사용하는 사용자라면 반드시 익혀 두는 것이 좋다. 특히 tar + gzip 조합은 리눅스 환경에서 가장 많이 사용되는 압축 방식이므로 기본 사용법을 알아두면 서버 관리에 큰 도움이 된다. zip은 정말 특별한 이유가 있지 않은 이상 사용을 지양하자.
'DEV > Linux' 카테고리의 다른 글
| 리눅스 패키지 관리 방법 (apt / yum / dnf 명령어 사용법) (0) | 2026.03.11 |
|---|---|
| 리눅스 로그 확인 방법 (journalctl 사용법) (0) | 2026.03.11 |
| 리눅스 사용자 관리 방법 (useradd / usermod / passwd) (0) | 2026.03.10 |
| 리눅스 메모리 확인 방법 (free / vmstat / top) (0) | 2026.03.10 |
| 리눅스 서비스 관리 방법 (systemctl start / stop / restart) (0) | 2026.03.09 |
댓글