상세 컨텐츠

본문 제목

[CentOS 8] 파일 압축과 해제

Linux

by mp.jamong 2020. 10. 12. 12:55

본문

 

윈도우즈에 비해 리눅스는 시스템 관리가 주로 CLI 기반으로 진행되다보니 많은 명령어에 익숙해져야 하는 어려움이 있습니다. 많이 사용하는 명령어 중 파일 압축과 해제에 대해 소개하고자 합니다. 파일 압축하는 프로그램의 종류와 사용법에 대해 정리하니, 자신에게 맞는 프로그램을 이용하여 파일 압축과 해제에 대해 조금더 익숙해졌으면 합니다.

 

Contents | 파일 압축과 해제

Ⅰ. 리눅스 파일 압축 프로그램

Ⅱ. 파일 압축과 해제

Ⅲ. tar 사용법

 

 

1. 리눅스 파일 압축 프로그램

▷ 리눅스에는 다양한 파일 압축 프로그램이 있고, 아래 표는 자주 사용하는 압축 프로그램 리스트 입니다.

 

 

2. 파일 압축과 해제

▷ 파일 압축 | 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

 

 

3. tar 사용법

▷ 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] 리눅스 기본 명령어

이번 포스팅에서는 리눅스에서 가장 많이 사용하는 기본 명령어에 대해 소개하고자 합니다. 리눅스는 윈도우즈와 달리 그래픽 환경 보다는 CLI (Command Line Interface) 환경에서 시스템 작업 하는 방�

mpjamong.tistory.com

 

[CentOS 8] 심볼릭 링크와 하드 링크

안녕하세요. 마술피리 자몽 입니다. 윈도우의 '즐겨찾기' 개념이 리눅스에서는 링크라고 불리며, 링크는 심볼릭 링크와 하드 링크가 있습니다. 의미와 사용 방법이 비슷해보이지만, 심볼릭 링크

mpjamong.tistory.com

 

관련글 더보기

댓글 영역