본문 바로가기
운영체제/리눅스(CentOS)

Linux에서 파일 압축 및 압축 해제 방법 총정리 (tar, zip, gzip, bzip2)

by 마루의 일상 2025. 3. 26.
728x90
반응형

Linux에서는 다양한 압축 및 압축 해제 명령어를 사용할 수 있습니다. 이번 포스팅에서는 tar, zip, gzip, bzip2 명령어를 활용한 파일 압축 및 해제 방법을 자세히 설명하겠습니다.


1. tar 명령어 (파일 아카이브 및 압축)

1.1 tar으로 파일 및 폴더 묶기 (압축 없이)

# test 폴더를 test.tar 파일로 묶기
 tar -cvf test.tar test/
  • -c : 새로운 아카이브 생성 (create)
  • -v : 진행 상황 표시 (verbose)
  • -f : 파일 이름 지정 (file)

1.2 tar으로 압축된 아카이브 만들기

# gzip 방식으로 압축하기 (test.tar.gz)
tar -czvf test.tar.gz test/

# bzip2 방식으로 압축하기 (test.tar.bz2)
tar -cjvf test.tar.bz2 test/
  • -z : gzip 방식 압축
  • -j : bzip2 방식 압축

1.3 tar 압축 해제

# gzip 압축 해제
tar -xzvf test.tar.gz

# bzip2 압축 해제
tar -xjvf test.tar.bz2
  • -x : 압축 해제 (extract)

1.4 특정 파일만 압축 해제

# test.tar.gz에서 test/file.txt만 해제
tar -xzvf test.tar.gz test/file.txt

1.5 압축 파일 내부 내용 확인

tar -tzvf test.tar.gz

2. zip 명령어 (윈도우와 호환되는 압축)

2.1 zip으로 파일 압축하기

zip test.zip test.txt

2.2 폴더 전체 압축

zip -r test.zip test/
  • -r : 폴더 내 모든 파일을 포함하여 압축 (recursive)

2.3 zip 압축 해제

unzip test.zip

2.4 특정 파일만 압축 해제

unzip test.zip test.txt

2.5 압축 파일 내부 확인

unzip -l test.zip

3. gzip 명령어 (단일 파일 압축)

3.1 gzip으로 파일 압축하기

gzip test.txt
  • gzip은 원본 파일을 삭제하고 test.txt.gz를 생성

3.2 gzip 압축 해제

gunzip test.txt.gz
  • gunzip은 원본 파일 (test.txt.gz)을 삭제하고 test.txt를 복원

3.3 압축 파일 크기 확인

gzip -l test.txt.gz

4. bzip2 명령어 (더 높은 압축률 제공)

4.1 bzip2로 파일 압축하기

bzip2 test.txt
  • 원본 파일이 삭제되고 test.txt.bz2 생성

4.2 bzip2 압축 해제

bunzip2 test.txt.bz2

4.3 압축 파일 크기 확인

bzip2 -v test.txt

5. tar + gzip 또는 tar + bzip2의 차이점

명령어압축률속도

gzip 낮음 빠름
bzip2 높음 느림
tar + gzip 중간 중간
tar + bzip2 높음 느림

5.1 tar.gz vs tar.bz2 성능 비교

# gzip 압축 성능 테스트
time tar -czf test.tar.gz test/

# bzip2 압축 성능 테스트
time tar -cjf test.tar.bz2 test/

6. 결론

  • tar : 여러 파일을 하나로 묶는 역할 (압축은 선택)
  • zip : 윈도우와 호환되는 압축 파일 생성 가능
  • gzip : 빠르지만 압축률이 낮음 (단일 파일 압축 용도)
  • bzip2 : 높은 압축률이지만 속도가 느림

각 압축 방식의 장단점을 고려하여 상황에 맞게 사용하면 됩니다.

728x90
반응형