IT 관련/리눅스

파일 압축하기, 풀기

돌고래78 2025. 4. 11. 15:01

리눅스 압축 및 해제 명령어 정리

리눅스 환경에서는 다양한 명령어를 사용하여 파일을 압축하거나 압축을 해제할 수 있습니다. 자주 사용되는 형식별 명령어는 다음과 같습니다.

1. ZIP (.zip)

Windows 환경과 호환성이 좋은 압축 형식입니다.

  • 압축하기:
    • zip [압축 파일명.zip] [압축할 파일/디렉토리...]
    • 디렉토리 포함 압축 시: -r 옵션을 사용합니다.
    • 예시 1: file1.txt와 file2.txt를 my_archive.zip으로 압축zip my_archive.zip file1.txt file2.txt
    • 예시 2: my_docs 디렉토리 전체를 docs_archive.zip으로 압축zip -r docs_archive.zip my_docs/
  • 압축 해제하기:
    • unzip [압축 파일명.zip]
    • 특정 디렉토리에 압축 해제 시: -d [경로] 옵션을 사용합니다.
    • 예시 1: my_archive.zip 파일을 현재 디렉토리에 압축 해제unzip my_archive.zip
    • 예시 2: docs_archive.zip 파일을 /home/user/extracted_docs 디렉토리에 압축 해제unzip docs_archive.zip -d /home/user/extracted_docs
  • 압축 파일 내용 확인하기:
    • unzip -l [압축 파일명.zip]
    • 예시: my_archive.zip 파일 내용 확인unzip -l my_archive.zip

2. TAR (.tar)

tar는 여러 파일이나 디렉토리를 하나의 파일로 묶어주는 아카이브 도구입니다. tar 자체는 압축 기능이 없으며, 주로 다른 압축 도구(gzip, bzip2 등)와 함께 사용됩니다.

  • 파일 묶기 (아카이브 생성):
    • tar cvf [묶음 파일명.tar] [묶을 파일/디렉토리...]
      • c (create): 새로운 아카이브 생성
      • v (verbose): 처리 과정 출력
      • f (file): 아카이브 파일명 지정
    • 예시: file1.txt와 my_docs 디렉토리를 my_bundle.tar로 묶기tar cvf my_bundle.tar file1.txt my_docs/
  • 묶음 풀기 (아카이브 해제):
    • tar xvf [묶음 파일명.tar]
      • x (extract): 아카이브 해제
      • v (verbose): 처리 과정 출력
      • f (file): 아카이브 파일명 지정
    • 예시: my_bundle.tar 파일 풀기tar xvf my_bundle.tar
    • 특정 디렉토리에 풀기: -C [경로] 옵션 (대문자 C)
    • 예시: my_bundle.tar 파일을 /home/user/extracted_files 에 풀기tar xvf my_bundle.tar -C /home/user/extracted_files
  • 묶음 파일 내용 확인하기:
    • tar tvf [묶음 파일명.tar]
      • t (list): 아카이브 내용 목록 보기
    • 예시: my_bundle.tar 내용 확인tar tvf my_bundle.tar

3. TAR.GZ (.tar.gz 또는 .tgz)

tar로 파일을 묶은 후 gzip으로 압축한 형태입니다. 리눅스/유닉스 환경에서 가장 널리 사용되는 압축 형식 중 하나입니다.

  • 압축하기 (묶고 압축):
    • tar czvf [압축 파일명.tar.gz] [압축할 파일/디렉토리...]
      • z (gzip): gzip 압축 사용
    • 예시: file1.txt와 my_docs 디렉토리를 my_archive.tar.gz로 압축tar czvf my_archive.tar.gz file1.txt my_docs/
  • 압축 해제하기 (압축 풀고 묶음 풀기):
    • tar xzvf [압축 파일명.tar.gz]
    • 예시: my_archive.tar.gz 파일 압축 해제tar xzvf my_archive.tar.gz
    • 특정 디렉토리에 압축 해제: -C [경로] 옵션
    • 예시: my_archive.tar.gz 파일을 /home/user/extracted_archive 에 압축 해제tar xzvf my_archive.tar.gz -C /home/user/extracted_archive
  • 압축 파일 내용 확인하기:
    • tar tzvf [압축 파일명.tar.gz]
    • 예시: my_archive.tar.gz 내용 확인tar tzvf my_archive.tar.gz

(참고: bzip2로 압축된 .tar.bz2 파일의 경우 z 대신 j 옵션을 사용합니다. 예: tar cjvf archive.tar.bz2 files..., tar xjvf archive.tar.bz2)

4. RAR (.rar)

RAR은 고유한 압축 알고리즘을 사용하는 형식입니다. 리눅스에서는 rar 또는 unrar 패키지를 별도로 설치해야 사용할 수 있는 경우가 많습니다.

  • 설치 (Debian/Ubuntu 계열):sudo apt update sudo apt install unrar # 압축 해제만 필요할 경우 # 또는 sudo apt install rar # 압축 기능까지 필요할 경우 (라이선스 확인 필요)
  • 설치 (RHEL/CentOS/Fedora 계열):
    • EPEL 저장소 등 추가 저장소 설정 후 unrar 또는 rar 설치가 필요할 수 있습니다.
    sudo dnf install unrar # 또는 yum install unrar
  • 압축하기 (rar 패키지 필요):
    • rar a [압축 파일명.rar] [압축할 파일/디렉토리...]
      • a: 아카이브에 파일 추가 (새 아카이브 생성 포함)
    • 예시: report.doc 파일을 report.rar로 압축rar a report.rar report.doc
    • 예시: project_files 디렉토리를 project.rar로 압축rar a project.rar project_files/
  • 압축 해제하기 (unrar 또는 rar 패키지 필요):
    • unrar x [압축 파일명.rar] [압축 해제 경로(선택)]
      • x: 전체 경로 유지하며 압축 해제
    • unrar e [압축 파일명.rar] [압축 해제 경로(선택)]
      • e: 경로 무시하고 현재 디렉토리에 압축 해제
    • 예시 1: report.rar 파일을 현재 디렉토리에 압축 해제 (경로 유지)unrar x report.rar
    • 예시 2: project.rar 파일을 /home/user/extracted_project 디렉토리에 압축 해제 (경로 유지)unrar x project.rar /home/user/extracted_project/
    • 예시 3: report.rar 파일을 현재 디렉토리에 압축 해제 (경로 무시)unrar e report.rar
  • 압축 파일 내용 확인하기:
    • unrar l [압축 파일명.rar]
      • l: 아카이브 내용 목록 보기
    • 예시: project.rar 내용 확인unrar l project.rar

이 명령어들을 참고하여 리눅스 환경에서 파일을 효율적으로 관리해 보세요.

'IT 관련 > 리눅스' 카테고리의 다른 글

음악 서버 만들기  (0) 2025.05.22
사용자별 홈페이지 부여하기  (1) 2025.05.17
DNS를 사용 내부 네트워크 꾸미기  (0) 2025.04.10
SSH server  (0) 2025.04.10
리눅스 기본 명령어 모음  (0) 2025.03.27