본문 바로가기

리눅스

[리눅스] 압축 명령어 tar, gzip

728x90

압축 명령어


tar 명령어(tar, tar.gz)

 tar - GNU 버전 tar 저장 도우미

묶음

foo 디렉토리에 있는 내용물을 foo.tar 파일로 묶는다.

$ tar cvvf foo.tar foo/
drwxr-xr-x root/root         0 2022-03-03 17:08 foo/
-rw-r--r-- root/root         0 2022-03-03 17:08 foo/file1.txt
-rw-r--r-- root/root         0 2022-03-03 17:08 foo/file2.txt
-rw-r--r-- root/root         0 2022-03-03 17:08 foo/file3.txt

묶음 풀기

묶음(foo.tar) 파일 리스트 확인

$ tar tvf foo.tar
drwxr-xr-x root/root         0 2022-03-03 17:08 foo/
-rw-r--r-- root/root         0 2022-03-03 17:08 foo/file1.txt
-rw-r--r-- root/root         0 2022-03-03 17:08 foo/file2.txt
-rw-r--r-- root/root         0 2022-03-03 17:08 foo/file3.txt

foo.tar 파일을 푼다.

$ tar xvvf foo.tar
drwxr-xr-x root/root         0 2022-03-03 17:08 foo/
-rw-r--r-- root/root         0 2022-03-03 17:08 foo/file1.txt
-rw-r--r-- root/root         0 2022-03-03 17:08 foo/file2.txt
-rw-r--r-- root/root         0 2022-03-03 17:08 foo/file3.txt

gzip으로 압축(tar.gz)

$ tar cvfz foo.tar.gz foo
foo/
foo/file1.txt
foo/file2.txt
foo/file3.txt

gzip으로 압축된 foo.tar.gz 파일을 푼다.

$ tar xvvzf foo.tar.gz
drwxr-xr-x root/root         0 2022-03-03 17:08 foo/
-rw-r--r-- root/root         0 2022-03-03 17:08 foo/file1.txt
-rw-r--r-- root/root         0 2022-03-03 17:08 foo/file2.txt
-rw-r--r-- root/root         0 2022-03-03 17:08 foo/file3.txt

경로 지정하여 압축 풀기

$ tar xfz foo.tar.gz -C tmp2
기능 옵션
       반드시 아래 옵션들 중 하나가 들어가야 한다.

       -A, --catenate, --concatenate
              저장 파일에 tar 파일을 추가한다.
       -c, --create
              새 저장 파일을 만든다.
       -d, --diff, --compare
              저장 파일 혹은 파일 시스템 간의 다른 점을 찾는다.
       --delete
              저장 파일에서 지운다. (자기 테이프에는 쓰면 안됨!)
       -r, --append
              저장 파일의 끝에 파일을 덧붙인다.
       -t, --list
              저장 파일의 내용 목록을 보여준다.
       -u, --update
              저장 파일에 저장된 사본보다 새로운 파일만을 덧붙인다.
       -x, --extract, --get
              저장된 것에서 풀어낸다.

gzip 명령어(gz)

- 파일 압축에 쓰이는 응용 소프트웨어

압축

$ gzip foofile

압축 수준을 변경

gzip -9 foo

압축(foo.gz) 파일 리스트 확인

$ gzip -l foofile.gz
         compressed        uncompressed  ratio uncompressed_name
                 28                   0   0.0% foofile

압축 풀기

$ gzip -d foofile.gz

gunzip 명령어(gz)

압축 풀기

$ gunzip foofile.gz

zip 명령어(zip)

압축

$ zip foofile.zip file1.txt file2.txt file3.txt
  adding: file1.txt (stored 0%)
  adding: file2.txt (stored 0%)
  adding: file3.txt (stored 0%)

unzip 명령어(zip)

압축 풀기

$ unzip foofile.zip
Archive:  foofile.zip
 extracting: file1.txt
 extracting: file2.txt
 extracting: file3.txt

경로 지정하여 압축 풀기

$ unzip foofile.zip -d tmp
Archive:  foofile.zip
 extracting: tmp/file1.txt
 extracting: tmp/file2.txt
 extracting: tmp/file3.txt

tar.xz 압축 풀기

tar xf for.tar.xz

 

728x90