Linux

[tar] 압축/해제

비번변경 2022. 6. 29. 23:56

tar

Tape ARchiver의 준말로 여러 파일을 하나의 파일로 묶거나 풀 때 사용한다.

💡 아카이버 (Archiver)
여러 개의 파일을 하나로 파일로 합치는 프로그램
파일을 저장 장치에 저장하거나 전송할 때 파일이 많으면 관리하기 힘들기 때문에, 하나의 파일로 처리하기 위한 목적으로 만들어졌다.

 

tar

tar는 여러 파일을 하나의 파일로 묶기만 할 뿐, 데이터 크기를 줄이기 위한 압축을 수행하지는 않는다. 대신 gzip, bzip2 등의 방식으로 압축할 수 있는데, 이는 tar 명령의 옵션으로 처리할 수 있다.

tar 명령에 의해 만들어지는 파일은 .tar 확장자를 사용한다. gzip으로 압축된 경우에는 .targz, tgz을, bzip2로 압축된 경우에는 .tar.bz2, .tb2, tbz, tbz2 등의 확장자를 사용한다.

tar는 묶이기 전의 파일의 속성과 심볼릭 링크, 디렉터리 구조가 묶인 후에도 그대로 유지되기 때문에 리눅스 프로그램, 데이터, 소스, 라이브러리 등을 배포하는 용도로 많이 사용된다.

 

 

명령어

tar 명령의 주요 옵션은 아래와 같다. --help 옵션을 이용해 확인할 수 있다.

    tar [OPTION...] [FILE]...
        -f     : 대상 tar 아카이브 지정. (기본 옵션)
        -c     : tar 아카이브 생성. 기존 아카이브 덮어 쓰기. (파일 묶을 때 사용)
        -x     : tar 아카이브에서 파일 추출. (파일 풀 때 사용)
        -v     : 처리되는 과정(파일 정보)을 자세하게 나열.
        -z     : gzip 압축 적용 옵션.
        -j     : bzip2 압축 적용 옵션.
        -t     : tar 아카이브에 포함된 내용 확인.
        -C     : 대상 디렉토리 경로 지정.
        -A     : 지정된 파일을 tar 아카이브에 추가.
        -d     : tar 아카이브와 파일 시스템 간 차이점 검색.
        -r     : tar 아카이브의 마지막에 파일들 추가.
        -u     : tar 아카이브의 마지막에 파일들 추가.
        -k     : tar 아카이브 추출 시, 기존 파일 유지.
        -U     : tar 아카이브 추출 전, 기존 파일 삭제.
        -w     : 모든 진행 과정에 대해 확인 요청. (interactive)
        -e     : 첫 번째 에러 발생 시 중지.

 

 

예시

대상 디렉터리 내 파일을 tar로 묶기

tar -cvf <FILE.tar> <PATH>

 

특정 파일만 tar로 묶기

tar -cvf <FILE.tar> [FILE_1] [FILE_2]

 

파일을 tar로 묶고 gzip으로 압축

tar -zcvf <FILE.tar.gz> <PATH>

 

tar 파일 풀기

tar -xvf <FILE.tar>

 

지정한 디렉터리에 tar 파일 풀기

tar -xvf <FILE.tar> -C [PATH]

 

gzip으로 압축한 tar 풀기

tar -zxvf <FILE.tar.gz>

 

 

참고 문서

https://recipes4dev.tistory.com/146