cka-ckad/LFCS

05. Archiving and Compression

book_lover 2025. 1. 22. 01:45

1. Archiving (아카이빙)

  • 정의: 여러 파일/디렉토리를 하나로 묶어 보존하는 작업. 원본 속성을 유지하며 보관.
  • 목적:
    • 파일 보관 및 백업
    • 전달 및 복원 용이
  • 주요 명령어: tar, cpio

tar 명령어

  • 기능: 여러 파일/디렉토리를 하나의 아카이브 파일로 묶거나 복원.
  • 옵션
옵션 설명
-c 새로운 아카이브 생성
-v 처리 과정 상세 출력
-f 아카이브 파일 이름 지정
-t 아카이브 내용 출력
-x 아카이브 해제
-z gzip 압축 적용
-j bzip2 압축 적용
-J xz 압축 적용

tar 사용 예시

# 디렉토리 아카이빙:
tar -cf datadir.tar ./datadir
# 아카이브 내용 확인:
tar -tvf datadir.tar
# 아카이브 복원:
tar -xf datadir.tar

2. Compression (압축)

  • 정의: 파일 크기를 줄이는 작업.
  • 리눅스 주요 압축 유틸리티:
    • gzip, bzip2, xz: 파일 단위 압축, 원본 삭제 후 압축파일만 남김.
    • zip: 원본 보존, 디렉토리 압축 가능.

압축 명령어와 옵션

유틸리티 압축 명령어 해제 명령어
gzip gzip file gzip -d file.gz
bzip2 bzip2 file bunzip2 file.bz2
xz xz file xz -d file.xz
zip zip file.zip dir/ unzip file.zip

압축 예시

# gzip으로 압축:
gzip datadir.tar
# bzip2로 압축:
bzip2 hosts
# xz로 압축:
xz passwd
# zip으로 디렉토리 압축:
zip -r datadir.zip datadir/

백업 명령어

# tar + gzip (-z):
sudo tar -czvf /home.tar.gz /home

# tar + bzip2 (-j):
sudo tar -cjvf /home.tar.bz2 /home

# tar + xz (-J):
sudo tar -cJvf /home.tar.xz /home

복원 명령어

# gzip 복원:
sudo tar -xzvf /home.tar.gz
# bzip2 복원: 
sudo tar -xjvf /home.tar.bz2
# xz 복원:
sudo tar -xJvf /home.tar.xz

 

LFCS 시험 대비 문제 풀이

문제: gzip으로 압축된 tar 아카이브의 내용을 출력하는 명령은?