아카이브란 데이터를 모아서 묶는 것.
ex) 여러 가지 책 들을 손에 따로 들고 다니는 것이 아닌 가방에 넣어서 쉽게 들고 다니는 것
압축은 데이터를 눌러서 만드는 것.
ex) 풍선 -> 풍선을 불기 전과 후는 관리하기도 다르고 무게도 다름 (무게도 달랐던가..?)
★보통 아카이브로 묶은 후에 압축★
★tar 사용 후 > gzip,bzip2,xz 압축★
리눅스에서는 보통 3가지 압축 소프트웨어가 있다.
1.gzip (기본 압축 소프트웨어)
#>gzip [option] [path]
-[num] 압축 레벨 지정 ( 1( 압축 속도↑, 압축률↓ ) ~ 9(압축 속도↓, 압축률↑) )
-d 압축 해제 (.gz)
#>gunzip [path]
gzip의 압축 해제 명령어 #> gzip -d 와 같은 역할

gzip 을 이용하여 /test/tartest 압축 용량이 10240에서 162로 줄은 것을 확인할 수 있음.
2.bzip2 (gzip보다 압축률이 좋지만 gzip보다 속도 ↓)
#>bzip2 [option] [path]
-[num] 압축 레벨 지정 ( 1( 압축 속도↑, 압축률↓ ) ~ 9(압축 속도↓, 압축률↑) )
-d 압축 해제 (.bz2)
#>bunzip2 [path]
bzip2의 압축 해제 명령어 #> bunzip2 -d 와 같은 역할
gzip과 똑같이 사용
3.xz (압축률이 가장 좋지만 속도 ↓ )
#>xz [option] [path]
-d 압축 해제 (.xz)
gzip과 똑같이 사용
리눅스에서 명령어는
tar -> 파일 또는 폴더 아카이브 하기.
> tar로 묶은 것들을 압축하는 게 가장 보편적이고 많이 쓰임
ex) tar cvf /test/tartest /test/file1 /test/file2 /test/file3
--- ---- -------------- --------------------------------------
1 2 3 4
1) tar 명령어
2) 보통 xvf cvf tvf rvf 등으로 vf는 필수적으로 붙으며 제일 앞에 옵션만 바꾸어주면서 사용 -c 옵션은 아카이브 생성
3) 아카이브 지정 디렉터리와 이름
4) 아카이브로 묶을 파일, 디렉터리들
이후 묶은 아카이브를 압축
ex) gzip /test/tartest
아카이브 (tar)
여러 가지 파일들을 한곳으로 모아주는 역할
tar [option]
-A, --catenate : 아카이브에 tar 파일을 추가한다.
-c, --create : 새로운 아카이브 파일을 만든다.
-C, --directory DIR : 대상 디렉터리(DIR)를 지정한다.
-d, --diff, --compare : 아카이브와 파일 시스템의 차이를 비교한다.
-f, --file=ARCHIVE : 아카이브 이름(ARCHIVE)을 지정한다.
-j -I --bzip : bzip2를 이용해 압축한다.
-M, --multi-volume : 멀티 볼륨 아카이브를 생성, 해제, 출력한다.
-r, --append : 아카이브의 끝에 파일을 추가한다.
-t, --list : 아카이브 목록을 출력한다.
-u, --update : 아카이브의 목록 중 기존의 파일에서 업데이트된 파일만 추가한다.
-v, --verbose : 상세한 정보를 출력한다.
-w, --interactive : 모든 행동에 사용자의 확인을 요구한다.
-x, --extract, --get : 아카이브에서 파일을 푼다.
-z --gzip, --ungzip : gzip으로 압축한다. ungzip으로 압축을 해제한다.
1. 아카이브 생성
#> tar cvf [tar_path] [path]
c 아카이브 생성
v 작업 과정 (고정) 이거 두 개는
f 파일 (고정) 고정이라고 생각하시면 편합니다.
(필수는 아니에요)
ex) tar -cvf /test/tartest /test/file1 /test/file2 /test/file3
file1 file2 file3 이 /test/tartest/라고 /test에 아카이브 생성

2. 아카이브 확인
#>tar tvf [tar_path] [path] ...

#> tar tvf [path] 정보를 입력하니 tartest의 목록들을 보여줌
3. 아카이브 해제
#>tar xvf [tar_path] -C [path]
-x 아카이브 해제
-C 뒤에 path 정보를 입력하면 해당 path에 아카이브 해제
-C 옵션 없이 하면 현재 디렉터리에 아카이브 해제

4. 아카이브에 파일 추가
#>tar rvf [tar_path] [path ...]
-r 파일 추가

tar -cvf로 file1,2,3을 묶고 tar -tvf로 확인한 결과 file1,2,3 이 있다
여기서 tar -rvf -r 옵션을 넣고 file4를 추가하면 file4를 포함하여 아카이브가 생성된 것을 확인할 수가 있다.
5. 아카이브 & 압축을 동시에
아카이브&압축 아카이브&압축 해제
gzip(z) cvfz xvfz
bzip2(j) cvfj xvfj
xz(J) cvfJ xvfJ
'Linux 2급' 카테고리의 다른 글
리눅스 서비스 제어, 데몬 프로세스, 런레벨(systemctl, service, runlevel) (0) | 2023.11.02 |
---|---|
리눅스 그래픽 환경으로 바꾸기[CentOS] CLI -> GUI (Gnome desktop, run level) (0) | 2023.11.02 |
리눅스 기초 파티션,마운트,파일시스템,포맷(fdisk,df,mount,umount,mkfs,file) (0) | 2023.11.02 |
리눅스 ACL(Access Control List) (getacl, setacl) (0) | 2023.11.02 |
리눅스 기초[특수 권한] (sudo, setuid, setgid, sticky bit) (0) | 2023.11.02 |