0. 목차
1. Archive
1.1. 정의
1.2. 명령어
1.3. 사용법
2. 압축
2.1. zip
2.2. gzip
2.3. bzip2
2.4. xz
3. 아카이브 & 압축
3.1. 아카이브와 압축 동시 사용
3.2. 옵션과 확장자 일치
---------------------------------------------------------------------------------------------------------------------------------
1. Archive
1.1. 정의
- : Backup이나 압축을 위해서 여러개의 파일이나 디렉토리를 하나의 파일로 만드는 작업
1.2. 탄생
- Tape Drive 시절 여러 곳에 존재하는 파일이나 디렉토리를 한 파일로 관리
1.3. 명령어
- tar : 아카이브하기 위한 기본 명령어
- -c : Archive 파일 생성 ( 필수옵션 )
- -x : Archive 파일 해제 ( 필수 옵션 )
- -v(view) : 작업 진행 과정 확인 (공통옵션, 필수 X)
- -f : 파일이름 지정 ( 필수 옵션 )
- -t : 해제하지 않고 아카이브 파일 확인
- -r : 기존 아카이브 파일 추가
- -u : 기존 아카이브 파일에 업그레이드 된 파일 추가
1.4. 사용법
- 아카이브생성 : #tar cvf 아카이브파일이름 파일명1 파일명2 파일명3 ...
- 아카이프해제 : # tar xvf 아카이브파일이름
> cvf와 xvf를 이용하여 작업과정을 확인하며 아카이브를 생성하고 해제하였다.
새로운 파일 ab.tar이 생성되는 것을 볼 수 있고, 아카이브를 풀었을 때 해당 파일이 재생성 되었다.

> cf 옵션을 사용함으로써 진행과정을 확인 불가

- 아카이브 확인 : #tar tvf 아카이브파일이름
> tvf를 이용하여 아카이브를 해제하지않고 ab.tar 아카이브의 내용물을 확인 가능.

- 아카이브 파일 추가 : #tar rvf 아카이브파일이름 파일명1 -> 파일명1을 아카이브파일에 추가
> rvf 옵션을 사용하여 ab.tar에 c.txt를 추가

- 아카이브 파일 업데이트 : #tar uvf 아카이브파일이름 파일명1 -> 파일명1을 아카이브 파일에 업데이트
> uvf 옵션을 이용하여 ab.tar에 b.txt를 업데이트. 아카이브 확인 과정에서 같은 파일이 여러개 나오더라도
해제하였을 때 제일 최신의 업데이트된 내용이 해제된다.
해제된 b.txt의 수정시간이 20:25로 최근에 수정된 파일임을 알 수 있다.

- 다른 경로에 아카이브 해제 : # tar xvf 파일이름 -C 경로지정
> 바로 위 사진을 참고하면 -C 옵션을 통해 ab.tar을 2단계 상위 디렉터리에 해제한 것을 볼 수 있다.
- 아카이브파일 내용 삭제 : #tar --delete --file=아카이브파일 지울파일

2. 압축
2.1. zip
- zip은 리눅스에 기본을 설치되어있지 않다.
- 따라서 #yum install -y zip unzip을 이용하여 설치.

- 압축 : zip 파일명.zip 파일명1 파일명2 파일명 ...
ex) zip abc.zip a.txt b.txt c.txt 명령어를 실행하면 abc.zip 파일이 생성.
- 해제 : unzip 파일명.zip
> 파일 압축이 잘 되는지 확인하기 위해 기존 파일을 제거한 후 unzip을 이용하여 압축 해제.

2.2. gzip
- 압축 : # gzip 파일명 : gzip 파일명 -> 파일명.gz

# gzip -1~9( 숫자가 클수록 압축률이 높다, 속도는 느리다 ) 파일명

- 해제 : # gunzip 파일명.gz

# gzip -d 파일명.gz

2.3. bzip2
- bzip2은 리눅스에 기본을 설치되어있지 않다.
- 따라서 #yum install -y bzip2을 이용하여 설치.

- 압축 : # bzip2 파일명 : bzip2 ab.tar -> ab.tar.bz2

# bzip2 -1~9 파일명

- 해제 : # bunzip2 파일명.bz2

# bzip2 -d 파일명.bz2

2.4. xz
- 압축 : # xz 파일명

# xz -1~9 파일명

- 해제 : # unxz 파일명.xz

# xz -d 파일명.xz

3. 아카이브 & 압축
3.1. tar 옵션+z, j, J
- 옵션 뒤에 압축 형식에 맞는 옵션을 통해 아카이브와 압축을 동시에 진행.
3.1.1 -z
- z : gz 확장자 ex) # cvfz abc.tar.gz a.txt b.txt c.txt

3.1.2 -j
-j : bz2 확장자 ex) # tar cvfj abc.tar.bz2 a.txt b.txt c.txt

3.1.3 -J
-J : xz 확장자 ex) # tar cvfJ abc.tar.xz a.txt b.txt c.txt

3.2. 옵션과 확장자 일치
- 옵션과 확장자를 틀리게 해도 파일은 생성됨. 단 압축 및 아카이브 해제 시 STDIN Error
- 확장명과 다른 옵션을 입력해서 압축 및 아카이브 해제 가능.
- 파일명은 상관없이 압축 시 사용한 옵션을 사용하면 해제가 가능.
> 아래 화면은 cvfz 명령어로 bz2 파일을 생성.
> 파일명만 보고 xvfj 명령어로 해제하려고 하면 불가.
> 압축 시 사용한 z를 사용하여 해제하면 압축 해제 성공.

'리눅스' 카테고리의 다른 글
| 6. 사용자 및 그룹 관리 (1) (0) | 2022.02.20 |
|---|---|
| 5. 파일 및 디렉토리 권한 (0) | 2022.02.19 |
| 3. 리눅스 기본 명령어 (0) | 2022.02.19 |
| 2. Workstation Pro를 이용한 실습 환경 구성(2) (0) | 2022.02.18 |
| 1. Workstation Pro를 이용한 실습 환경 구성(1) (0) | 2022.02.18 |