파일을 압축할 때는 한개의 파일씩 압축할 수 있다.
그러므로, 여러개의 파일 또는 여러개의 파일이 포함된 디렉토리를 압축하고자 할 때는, 먼저 한개의 파일로 합쳐야 한다.
이때, 한개의 파일로 합치는 작업을 archiving 이라고 하고, 압축하는 작업을 compression 이라고 한다.
1. 파일 및 디렉토리 archiving 하기
- 명령어: tar -cf {결과파일명}.tar {대상파일명1}[ {대상파일명2} [...{대상파일명n}]]
- 설명: 여러개의 디렉토리나 파일을 하나의 파일로 합치는 명령어로, 파일 권한이나 생성, 수정 날짜 모두 유지된다.
- 예시:
log_1.log log_2.log 파일을 log.2025-03-01.tar 으로 합치기.
tar -cvf log.2025-03-01.tar log_1.log log_2.log
2. archiving 된 파일 내용 확인하기
- 명령어: tar -tvf {대상파일명}.tar
- 설명: 합쳐진 tar 파일의 내용을 출력한다.
- 예시:
tar -tvf log.2025-03-01.tar
3. archiving 된 파일 복구하기
- 명령어: tar -xvf {대상파일명}.tar
- 설명: 합쳐진 tar 파일의 내용을 합치기 이전으로 복구한다.
- 예시:
tar -xvf log.2025-03-01.tar
4. 파일 compression 하기
파일 compression 에는 gzip, bzip2, xz, zip 유틸리티 중 하나가 사용된다.
gzip, bzip2, xz 는 파일 단위로만 압축 가능하다.(따라서, 여러개의 파일을 압축하고자 할 때는 archiving 을 먼저 해줘야 한다.)
- gzip 명령어: gzip {대상파일명}
=> {대상파일명}.gz 으로 압축됨.
=> 원본파일이 삭제됨.
=> 파일 단위로만 압축 가능함.
- bzip2 명령어: bzip2 {대상파일명}
=> {대상파일명}.bz2 으로 압축됨.
=> 원본파일이 삭제됨.
=> 파일 단위로만 압축 가능함.
- xz 명령어: xz {대상파일명}
=> {대상파일명}.xz 으로 압축됨.
=> 원본파일이 삭제됨.
=> 파일 단위로만 압축 가능함.
- zip 명령어: zip {압축파일명}.zip {대상파일명}
=> {대상파일명}.zip 으로 압축됨.
=> 원본파일 유지됨.
=> 디렉토리 압축 가능함.(-r 옵션 필요)
5. compression 된 파일 내용 확인
gzip, bzip2, xz, zip으로 compression 된 압축파일의 내용을 압축을 풀지 않고도 확인할 수 있다.
- zcat 명령어: zcat {대상파일명}.gz
=> gzip 압축파일 내용 확인
- bzcat 명령어: bzcat {대상파일명}.bz2
=> bzip2 압축파일 내용 확인
- xzcat 명령어: xzcat {대상파일명}.xz
=> xz 압축파일 내용 확인
- unzip 명령어: unzip -l {대상파일명}.zip
=> zip 압축파일 내용 확인
6. compression 된 파일 압축 풀기
gzip, bzip2, xz, zip 로 compression 된 압축파일을 푼다.
- gunzip 명령어: gunzip {대상파일명}.gz
=> gzip -d {대상파일명}.gz 와 동일
=> 압축파일이 삭제됨.
- bunzip2 명령어: bunzip2 {대상파일명}.bz2
=> bzip2 -d {대상파일명}.bz2 와 동일
=> 압축파일이 삭제됨.
- unxz 명령어: unxz {대상파일명}.xz
=> xz -d {대상파일명}.xz 와 동일
=> 압축파일이 삭제됨.
- unzip 명령어: unzip {대상파일명}.zip
=> zip -d {대상파일명}.zip 와 동일
=> 압축파일 유지됨.
요약
압축 명령어 | 압축파일 확장자 | 원복파일 삭제 여부 | 압축파일 내용보기 명령어 | 압축풀기 명령어 | 압축파일 삭제 여부 | 디렉토리 압축가능 여부 | |
gzip | gzip {대상파일} | gz | O | zcat {대상파일}.gz | gunzip {대상파일}.gz gzip -d {대상파일}.gz |
O | X |
bzip2 | bzip2 {대상파일} | bz2 | O | bzcat {대상파일}.bz2 | bunzip2 {대상파일}.bz2 bzip2 -d {대상파일}.bz2 |
O | x |
xz | xz {대상파일} | xz | O | xzcat {대상파일}.xz | unxz {대상파일}.xz xz -d {대상파일}.xz |
O | X |
zip | zip[ -r] {압축파일}.zip {대상파일 or 디렉토리} | zip | X | unzip -l {대상파일}.zip | unzip {대상파일}.zip zip -d {대상파일}.zip |
X | O |
7. archiving + compression
tar 커맨드의 옵션을 주어 archiving 과 compression 을 한번에 할 수 있다.
- tar + gzip 커맨드: tar -czvf {압축파일명}.tar.gz {대상디렉토리명}
- tar + bzip2 커맨드: tar -cjvf {압축파일명}.tar.bz2 {대상디렉토리명}
- tar + xz 커맨드: tar -cJvf {압축파일명}.tar.xz {대상디렉토리명}
8. decompression + unarchiving
tar 커맨드의 옵션을 주어 decompression 과 unarchiving 을 한번에 할 수 있다.
- tar + gzip 커맨드: tar -xzvf {대상파일명}.tar.gz
- tar + bzip2 커맨드: tar -xjvf {대상파일명}.tar.bz2
- tar + xz 커맨드: tar -xJvf {대상파일명}.tar.xz
'Linux' 카테고리의 다른 글
[LINUX] 리눅스 계정 패스워드 관리 (0) | 2025.03.12 |
---|---|
[LINUX] 리눅스 계정, 그룹 관리 명령어 정리 (0) | 2025.03.04 |
[LINUX] 권장되는 조건문 사용방법 (0) | 2024.10.10 |
[LINUX] 위치매개변수 정리 (0) | 2022.12.27 |
[LINUX] 리눅스 쉘 매개변수 확장 정리 := :- 차이 등 (0) | 2022.12.27 |