[Linux] tar / tar.gz 압축

Hyunji·2023년 8월 4일
0

공부

목록 보기
34/35

tar은?

  • 압축 파일이 아닌 여러개의 파일을 하나로 묶는 개념
    "데이터의 크기를 줄이기 위한 파일 압축"을 수행하지 않음.
  • 일반적으로 리눅스 환경에서 사용됨
  • 압축에 소비되는 시간 적고 리소스가 상대적으로 적음
    BUT 용량이 거의 줄지 않음.

tar는 단순 아카이버 기능에 더해, tar로 묶여지기 전 파일들의 속성과 심볼링 링크, 디렉터리 구조등을 그대로 가져갈 수 있는 특징 때문에 많이 쓰이고 있기도 하다.

tar 파일 압축 / 해제 명령어

압축

tar -cvf [파일명.tar] [폴더명]

ex) tar -cvf test.tar /Desktop/testdata

압축 해제

tar -xvf [파일명.tar]

ex) tar -xvf test.tar

tar.gz

  • tar 파일을 압축하는 가장 좋은 압축 옵션
  • 압축시 용량은 크게 줄지만, 리소스를 많이 소모하지는 않음
    tar.bz2 방식 보다는 압축률이 떨어지는 편

tar.gz 파일 압축 / 해제 명령어

압축

tar -zcvf [파일명.tar.gz] [폴더명]

ex) tar -zcvf test.tar.gz /Desktop/testdata

해제

tar -zxvf [파일명.tar.gz]

ex) tar -zxvf test.tar.gz

tar 명령어 option

optiondescription
-f대상 tar 아카이브 지정 (기본 옵션)
-ctar 아카이브 생성, 기존 아카이브 덮어쓰기 (파일 묶을 때 사용)
-xtar 아카이브에서 파일 추출 (파일 풀 때 사용)
-v처리되는 과정(파일정보)을 자세하게 나열
-zgzip 압축 적용 옵션
-jbzip2 압축 적용 옵션
-ttar 아카이브에 포함 된 내용 확인
-C대상 디렉터리 경로 지정
-A지정된 파일을 tar 아카이브에 추가
-dtar 아카이브와 파일 시스템 간 차이점 검색
-rtar 아카이브의 마지막에 파일들 추가
-utar 아카이브의 변경된 파일들만 추가
-ktar 아카이브 추출 시, 기존 파일 유지
-Utar 아카이브 추출 전, 기존 파일 삭제
-w모든 진행 과정에 대해 확인 요청 (interactive)
-e첫 번째 에러 발생 시 중지

분할 압축 을 하고 싶다면?

tar 분할 압축 / 해제 명령어

압축

tar -cvf - [폴더명] | split -b [분할용량] - [파일명].tar

ex) tar -cvf - testdata | split -b 50M - test.tar

해제

cat [파일명].tar* | tar xvf - 

ex) test.tar* | tar xvf -

tar.gz 분할 압축 / 해제 명령어

압축

tar -cvfz - [폴더명] | split -b [분할용량] - [파일명].tar

ex) tar -cvfz - testdata | split -b 50M - test.tar

해제

cat [파일명].tar.gz* | tar xvfz -

ex) test.tar.gz* | tar xvfz -

분할 압축을 하게 되면 .tar or .tar.gz 확장자 뒤에 aa , ab 와 같은 형식이 연달아서 붙게 된다~

profile
성장중인 개발자

0개의 댓글