윈도우즈에 비해 리눅스는 시스템 관리가 주로 CLI 기반으로 진행되다보니 많은 명령어에 익숙해져야 하는 어려움이 있습니다. 많이 사용하는 명령어 중 파일 압축과 해제에 대해 소개하고자 합니다. 파일 압축하는 프로그램의 종류와 사용법에 대해 정리하니, 자신에게 맞는 프로그램을 이용하여 파일 압축과 해제에 대해 조금더 익숙해졌으면 합니다.
Ⅰ. 리눅스 파일 압축 프로그램
Ⅱ. 파일 압축과 해제
Ⅲ. tar 사용법
▷ 리눅스에는 다양한 파일 압축 프로그램이 있고, 아래 표는 자주 사용하는 압축 프로그램 리스트 입니다.
▷ 파일 압축 | xz
# 압축 파일 대상 확인
[root@localhost test3]# ls -al
total 8
drwxr-xr-x. 2 root root 29 Oct 12 10:59 .
dr-xr-x---. 9 root root 4096 Oct 12 10:58 ..
-rw-r--r--. 1 root root 22 Oct 12 10:59 file_origin.txt
# xz 로 파일 압축 하기 (압축 후 기존 파일 삭제)
[root@localhost test3]# xz file_origin.txt
[root@localhost test3]# ls -al
total 8
drwxr-xr-x. 2 root root 32 Oct 12 11:00 .
dr-xr-x---. 9 root root 4096 Oct 12 10:58 ..
-rw-r--r--. 1 root root 80 Oct 12 10:59 file_origin.txt.xz
# xz 로 파일 압축 하기 (압축 후 기존 파일 유지)
[root@localhost test3]# xz -k file_origin.txt
[root@localhost test3]# ls -al
total 12
drwxr-xr-x. 2 root root 55 Oct 12 11:02 .
dr-xr-x---. 9 root root 4096 Oct 12 10:58 ..
-rw-r--r--. 1 root root 22 Oct 12 10:59 file_origin.txt
-rw-r--r--. 1 root root 80 Oct 12 10:59 file_origin.txt.xz
# xz 압축 파일 정보 확인 (파일 목록, 압축률 등)
[root@localhost test3]# xz -l file_origin.txt.xz
Strms Blocks Compressed Uncompressed Ratio Check Filename
1 1 80 B 22 B 3.636 CRC64 file_origin.txt.xz
# xz 압축 파일 풀기
[root@localhost test3]# xz -d file_origin.txt.xz
[root@localhost test3]# ls -al
total 8
drwxr-xr-x. 2 root root 29 Oct 12 11:01 .
dr-xr-x---. 9 root root 4096 Oct 12 10:58 ..
-rw-r--r--. 1 root root 22 Oct 12 10:59 file_origin.txt
▷ 파일 압축 | bzip2
# 압축 파일 대상 확인
[root@localhost test3]# ls -al
total 8
drwxr-xr-x. 2 root root 29 Oct 12 11:10 .
dr-xr-x---. 9 root root 4096 Oct 12 10:58 ..
-rw-r--r--. 1 root root 22 Oct 12 10:59 file_origin.txt
# bzip2 로 파일 압축 하기 (압축 후 기존 파일 삭제)
[root@localhost test3]# bzip2 file_origin.txt
[root@localhost test3]# ls -al
total 8
drwxr-xr-x. 2 root root 33 Oct 12 11:11 .
dr-xr-x---. 9 root root 4096 Oct 12 10:58 ..
-rw-r--r--. 1 root root 63 Oct 12 10:59 file_origin.txt.bz2
# bzip2 압축 파일 풀기
[root@localhost test3]# bzip2 -d file_origin.txt.bz2
[root@localhost test3]# ls -al
total 8
drwxr-xr-x. 2 root root 29 Oct 12 11:11 .
dr-xr-x---. 9 root root 4096 Oct 12 10:58 ..
-rw-r--r--. 1 root root 22 Oct 12 10:59 file_origin.txt
▷ 파일 압축 | gzip
# 압축 파일 대상 확인
[root@localhost test3]# ls -al
total 8
drwxr-xr-x. 2 root root 29 Oct 12 11:11 .
dr-xr-x---. 9 root root 4096 Oct 12 10:58 ..
-rw-r--r--. 1 root root 22 Oct 12 10:59 file_origin.txt
# gzip 으로 파일 압축 하기 (압축 후 기존 파일 삭제)
[root@localhost test3]# gzip file_origin.txt
[root@localhost test3]# ls -al
total 8
drwxr-xr-x. 2 root root 32 Oct 12 11:15 .
dr-xr-x---. 9 root root 4096 Oct 12 10:58 ..
-rw-r--r--. 1 root root 58 Oct 12 10:59 file_origin.txt.gz
# gzip 압축 파일 풀기
[root@localhost test3]# gzip -d file_origin.txt.gz
[root@localhost test3]# ls -al
total 8
drwxr-xr-x. 2 root root 29 Oct 12 11:15 .
dr-xr-x---. 9 root root 4096 Oct 12 10:58 ..
-rw-r--r--. 1 root root 22 Oct 12 10:59 ile_origin.txt
▷ 파일 압축 | zip & unzip
# 압축 파일 대상 확인
[root@localhost test3]# ls -al
total 8
drwxr-xr-x. 2 root root 29 Oct 12 11:15 .
dr-xr-x---. 9 root root 4096 Oct 12 10:58 ..
-rw-r--r--. 1 root root 22 Oct 12 10:59 file_origin.txt
# gzip 으로 파일 압축 하기 (압축 후 기존 파일 유지)
[root@localhost test3]# zip file_origin.txt.zip file_origin.txt
adding: file_origin.txt (stored 0%)
[root@localhost test3]# ls -al
total 12
drwxr-xr-x. 2 root root 56 Oct 12 11:20 .
dr-xr-x---. 9 root root 4096 Oct 12 10:58 ..
-rw-r--r--. 1 root root 22 Oct 12 10:59 file_origin.txt
-rw-r--r--. 1 root root 202 Oct 12 11:20 file_origin.txt.zip
# zip 압축 파일 풀기
[root@localhost test3]# unzip file_origin.txt.zip
Archive: file_origin.txt.zip
extracting: file_origin.txt
[root@localhost test3]# ls -al
total 12
drwxr-xr-x. 2 root root 56 Oct 12 11:31 .
dr-xr-x---. 9 root root 4096 Oct 12 10:58 ..
-rw-r--r--. 1 root root 22 Oct 12 10:59 file_origin.txt
-rw-r--r--. 1 root root 202 Oct 12 11:20 file_origin.txt.zip
▷ tar 옵션 : tar를 효율적으로 사용하기 위해 아래의 기본 옵션 내용 확인 후 조합하여 사용합니다.
→ c : 새로운 묶음 생성
→ x : 묶인 파일 풀기
→ t : 묶음 풀기 전 묶인 경로 확인
→ C : 묶음 풀 때 지정된 디렉터리에 풀기
→ f : 묶음 파일 이름 지정
→ v : 파일 묶임과 풀기 과정 보여주기
→ J : tar + xz
→ z : tar + gzip
→ j : tar + bzip2
▷ tar 사용법
# 압축 파일 대상 확인
[root@localhost test3]# ls -al
total 4
drwxr-xr-x. 2 root root 84 Oct 12 12:09 .
dr-xr-x---. 9 root root 4096 Oct 12 10:58 ..
-rw-r--r--. 1 root root 0 Oct 12 12:09 file_origin_01.txt
-rw-r--r--. 1 root root 0 Oct 12 12:09 file_origin_02.txt
-rw-r--r--. 1 root root 0 Oct 12 12:09 file_origin_03.txt
# tar 로 파일 묶기 하기
[root@localhost test3]# tar cvf file_origin.tar file_*
file_origin_01.txt
file_origin_02.txt
file_origin_03.txt
# tar 파일 확인
[root@localhost test3]# tar tvf file_origin.tar
-rw-r--r-- root/root 0 2020-10-12 12:09 file_origin_01.txt
-rw-r--r-- root/root 0 2020-10-12 12:09 file_origin_02.txt
-rw-r--r-- root/root 0 2020-10-12 12:09 file_origin_03.txt
# tar 현재 위치에 풀기
[root@localhost test3]# tar xvf file_origin.tar
file_origin_01.txt
file_origin_02.txt
file_origin_03.txt
# tar 지정 위치에 풀기
[root@localhost test3]# tar Cxvf tar_test file_origin.tar
file_origin_01.txt
file_origin_02.txt
file_origin_03.txt
# xz 압축 + tar 묶기
[root@localhost test3]# tar cvfJ file_origin_01.tar.xz file_origin_01.txt
file_origin_01.txt
# xz 압축 + tar 묶기 -> 파일 확인
[root@localhost test3]# tar tvf file_origin_01.tar.xz
-rw-r--r-- root/root 0 2020-10-12 12:09 file_origin_01.txt
# xz 압축 + tar 묶기 -> 해제 하기
[root@localhost test3]# tar xvfJ file_origin_01.tar.xz
file_origin_01.txt
# gzip 압축 + tar 묶기
[root@localhost test3]# tar cvfz file_origin_02.tar.gz file_origin_02.txt
file_origin_02.txt
# gzip 압축 + tar 묶기 -> 파일 확인
[root@localhost test3]# tar tvf file_origin_02.tar.gz
-rw-r--r-- root/root 0 2020-10-12 12:09 file_origin_02.txt
# gzip 압축 + tar 묶기 -> 해제 하기
[root@localhost test3]# tar xvfz file_origin_02.tar.gz
file_origin_02.txt
# bzip2 압축 + tar 묶기
[root@localhost test3]# tar cvfj file_origin_03.tar.bz2 file_origin_03.txt
file_origin_03.txt
# bzip2 압축 + tar 묶기 -> 파일 확인
[root@localhost test3]# tar tvf file_origin_03.tar.bz2
-rw-r--r-- root/root 0 2020-10-12 12:09 file_origin_03.txt
# bzip2 압축 + tar 묶기 -> 해제 하기
[root@localhost test3]# tar xvfj file_origin_03.tar.bz2
file_origin_03.txt
▽ 같이 보면 더 좋은 블로그 글 ▽
[CentOS 8] 작업 예약 스케줄러 (cron, at) (2) | 2020.10.15 |
---|---|
[CentOS 8] 파일 검색 (find, which, whereis) (0) | 2020.10.13 |
[CentOS 8] 심볼릭 링크와 하드 링크 (0) | 2020.10.08 |
[CentOS 8] 파일의 허가권과 소유권 (2) | 2020.10.06 |
[CentOS 8] 리눅스 사용자와 그룹 관리 (0) | 2020.10.05 |
댓글 영역