💡 이 문서는 한빛미디어 - 이것이 우분투/리눅스다를 기반으로 공부하면서 체화를 위해 정리하는 글입니다. 💡
리눅스에서 많이 보는 압축 파일의 확장명은 zz
, bz2
, gz
, zip
, Z
등
예전에는 gz
를 주로 사용했으나 최근에는 압축률이 더 좋은 xz
나 bz2
를 더 많이 사용하는 추세다.
확장명 xz
로 압축하거나 풀어준다
비교적 최신 압축 명령으로 압축률이 뛰어나다
xz {파일명} # '파일명.xz'를 생성한다. 기존 파일은 삭제됨
xz -d {파일명.xz} # 압축을 풀어줌. '파일명.xz'의 압축을 풀어서 '파일이름'으로 만듦 / Decompress
xz -l {파일명.xz} # '파일명.xz' 압축 파일에 포함된 파일 목록과 압축률 등 출력 / List
xz -k {파일명} # 압축 후 기존 파일을 삭제하지 않고 그대로 둠 / Keep
bz2
로 압축하거나 풀어준다bzip2 {파일명} # '파일명.bz2'를 생성한다.
bzip2 -d {파일명.bz2} # 압축을 풀어줌.'파일명.bz2'의 압축을 풀어서 '파일이름'으로 만듦/ Decompress
== bunzip2 {파일명.bz2}
bzip2 -k {파일명} # 압축 후 기존 파일을 삭제하지 않고 그대로 둠 / Keep
gz
로 압축하거나 풀어준다gzip {파일명} # '파일명.gz'를 생성한다.
gzip -d {파일명.gz} # 압축을 풀어줌. '파일명.bz2'의 압축을 풀어서 '파일이름'으로 만듦/ Decompress
== gunzip {파일명.gz}
zip
으로 압축하거나 풀어준다.zip {새로 생성될 파일명.zip} {압축할 파일 이름} # 압축할 파일 이름을 '새로 생성될 파일명.zip'으로 생성
# 기존 파일은 그대로 남아 있음
unzip {압축 파일 이름.zip} # '압축 파일 이름.zip' 압축 풀기 / 파일 그대로 유지
Windows용 압축 프로그램은 ‘파일 압축’ 과 ‘파일 묶기’를 한꺼번에 진행
aaa
, bbb
파일 → ccc
라는 1개의 파일로 묶인 후, ccc.zip
파일로 압축됨리눅스 (유닉스)에서는 파일 압축과 파일 묶기를 원칙적으로 별개의 프로그램으로 실행
파일 묶기의 명령어는 tar
이며 묶인 파일의 확장명도 tar
✨ tar ✨
tar의 t(tape, 테이프)는 과거의 저장 장치인 테이프로 백업하기 위해 만들어진 프로그램입니다.
tar의 ar(archive, 아카이버)은 통상적으로 "여러 파일을 하나의 파일로 합치는 프로그램"을 의미합니다.
tape archive의 약자로, 파일이나 디렉터리를 특정 시점에 단일 파일 또는 테이프 같은 다른 저장 매체에 백업 또는 복구 (추출) 하기 위해 사용되는 명령어
확장명 tar
로 묶음 파일을 만들거나 묶음을 풀어준다.
tar 자체는 "데이터의 크기를 줄이기 위한 파일 압축"을 수행하지 않음
tar
를 통해 하나로 합쳐진 파일을 gzip
또는 bzip2
방식을 사용하여 압축할 수 있는데,gzip
또는 bzip2
명령을 따로 수행하지 않고 tar
명령의 옵션으로 처리할 수 있음."tar로 압축한다"
는 표현이 통용될 수 있는 것tar가 널리 쓰이게 된 이유 중 한 가지는 tar
로 묶여지기 전 파일들의 속성과 심볼릭 링크, 디렉토리 구조 등을 그대로 가져갈 수 있는 특징 때문
[동작]
c (소) | 새로운 묶음을 만듦
x | 묶인 파일을 풀어줌
t | 묶음을 풀기 전에 묶인 경로를 보여줌
C | 묶음을 풀 때 지정된 디렉터리에 압축을 풀어줌. 지정하지 않으면 묶을 때와 동일한 디렉터리
[옵션]
f (필수) | 묶음 파일 이름 지정. 원래 tar는 테이프 장치 백업이 기본임 (생략하면 테이프로 보내짐)
v | visual의 이ㅡ미로 파일을 묶거나 푸는 과정을 보여줌 (생략 가능)
J | tar + xz
z | tar + gzip
j | tar + bzip2
[사용 예]
tar cvf {file.tar} /etc/systemd # 묶기
tar cvfJ my.tar.xz /etc/systemd # 묶기 + xz 압축
tar cvfz my.tar.gz /etc/systemd # 묶기 + gzip 압축
tar cvfj my.tar.bz2 /etc/systemd # 묶기 + bzip2 압축
tar tvf my.tar # 파일 확인
tar xvf my.tar # tar 풀기
tar Cxvf {디렉터리 경로} my.tar # 디렉터리 경로에 tar 풀기
tar xfz my.tar.gz # gzip 압축 해제 + tar 풀기
tar xfj my.tar.bz2 # bzip2 압축 해제 + tar 풀기