본문 바로가기
OS/Linux

tar

by BTC_JYP 2022. 7. 25.

안녕하세요~~ 저희는 공공의 적 팀입니다~~<(*^.^*)/ 


서버를 운영하며 가장 중요하게 생각하는 부분은 모니터링과 로그 관리라고 생각이 됩니다.

 

특히 로그는 짧게는 6개월, 그 이상 보관하게 되는데 지난 번 crontab과 logrotate, rotatelogs와 같은 로그 순환의 경우 일자별 로그 순환을 할 수 있지만 이 또한 시간이 흐르면 용량이 늘어나게 됩니다.

 

이때 활용할 수 있는 명령어가 'tar' 입니다.


TAR

여러 개의 파일을 하나의 파일로 묶거나 풀 때 사용하는 명령이며, 테이프 아카이버(Tape ARchiver)의 앞글자들을 따서 tar이라는 이름으로 불립니다.

 

tar 자체는 데이터의 크기를 줄이기 위한 파일 압축을 수행하지 않고, 여러 파일을 하나의 파일로 묶는 용도로 사용합니다.

tar 을 통해 하나로 합쳐진 파일을 gzip 또는 bzip2 방식을 사용하여 압축할 수 있는데, 이 때 gzip 또는 bzip2 명령을 따로 수행하지 않고 tar 명령의 옵션으로 처리할 수 있습니다.


tar 명령을 통해 만들어지는 파일은 보통 .tar 확장자를 사용합니다.

그리고 gzip 또는 bzip으로 압축된 경우, 파일 뒤에 .gz 또는 .bz2 확장자를 추가하여 tar.gz 또는 tar.bz2 로 파일 이름을 지정할 수 있습니다.


다른 방법으로는 tar + gzip을 .tgz로, tar+bzip2를 .tb2, .tbz, .tbz2 등으로 지정하기도 합니다.


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


그래서 최근에는 리눅스 용 프로그램, 데이터, 소스 및 라이브러리 등을 배포하는 용도로 많이 사용됩니다.


gzip

더보기

gzip

 - 리눅스에서의 대표적인 압축 유틸리티 (GNU zip의 줄임말)

 - 명령을 수행하면 원본 파일은 제거되고 .gz 확장자를 가진 파일 생성

 - 압축 명령어

    $ gzip [옵션] [압축할 파일]

 - 압축해제 명령어

    $ gunzip [옵션] [압축된 파일]

    $ gzip -d [옵션] [압축된 파일]

option

-d : 압축풀기

-1 : 압축시간 줄이기 (압축률 떨어짐)

-9 : 파일을 최대로 압축 (시간이 오래걸림)

-l : 압축파일에 대한 정보 출력

-r : 압축대상이 디렉터리라면 하위디렉터리까지 모두 압축

-v : 진행과정을 %와 함께 자세히 출력

bzip2

더보기

bzip2

 - gzip에 비해 압축효율은 좋지만 좀 더 많은 시간 소요

 - bz2 확장자를 가짐

 - 압축 명령어

    $ bzip2 [옵션] [압축할 파일]

 - 압축해제 명령어

    $ bunzip2 [옵션] [압축된 파일]

option

-d : 압축풀기

-1 : 압축시간 줄이기 (압축률 떨어짐)

-9 : 파일을 최대로 압축 (시간이 오래걸림)

-f : 존재하는 파일을 덮어쓰기


tar 명령어 기능

 -A : 지정된 파일을 tar 아카이브에 추가

 -c : tar 아카이브 생성, 기존 아카이브 덮어 쓰기 (파일 묶는 용도로 사용)

 -r : tar 아카이브의 변경된 파일들만 추가

 -t : tar 아카이브에 포함된 내용 확인

 -x : tar 아카이브에서 파일 추출 (파일 풀 때 사용)

 

tar 명령어 옵션

 

 -f <file> : 대상 tar 아카이브 지정 (기본 옵션)

 -v : 처리되는 과정(파일 정보)을 자세하게 나열

 -z : gzip 압축 적용 옵션

 -j : bzip2 압축 적용 옵션

 -C <dir> : 대상 디렉터리 경로 지정

 -d : tar 아카이브와 파일 시스템 간 차이점 검색

 -u : tar 아카이브의 변경된 파일들만 추가

 -k : tar 아카이브 추출 시, 기존 파일 유지

 -U : tar 아카이브 추출 전, 기존 파일 삭제

 -w : 모든 진행 과정에 대해 확인 요청

 -e : 첫 번째 에러 발생 시 중지

 

tar 명령어 사용 방식

$ tar [기능][옵션] <생성할 tar 파일> <압축파일>

 

감사합니다.

댓글