본문 바로가기
Tech Notes/Linux

[Linux command] tar 명령어 옵션 및 사용법

by gbmin 2023. 5. 30.
반응형

tar는 "Tape ARchive"의 약자로, 압축된 아카이브 파일을 생성하거나 해제할 때 사용하는 리눅스 명령어다. 여러 파일이나 디렉터리를 하나의 파일로 묶어 효율적으로 관리할 수 있으며, 압축을 통해 용량을 줄일 수 있다. 또한, 파일 백업, 전송, 압축 등 다양한 작업을 간편하게 수행할 수 있는 유용한 도구다.


1. 기본 사용방법

tar [옵션] [압축파일명] [압축할 파일 및 디렉터리...]

 

 

2. 옵션

옵션 설명
-c,--create 압축 파일을 생성
-x,--extract 압축 파일을 해제
-f<파일>,--file=<파일> 압축파일의이름을지정
-v,--verbose 실행 과정을 출력
-z,--gzip gzip으로압축
-j,--bzip2 bzip2로압축
-t,--list 압축파일안의내용을나열
-r,--append 압축파일에파일을추가
-u,--update 압축파일에수정된파일을업데이트
-d,--diff 압축 파일에 대한 기존 파일과의 차이점을 보여줌
-C<디렉터리> 지정한 디렉터리에 압축 파일을 생성하거나 해제
-p,--preserve-permissions 파일의퍼미션(권한)을보존하여압축파일을생성
--same-owner 압축파일을생성할때,원본파일과같은소유자로설정
--same-permissions 압축 파일을 생성할 때, 원본 파일과 같은 권한으로 설정
-P,--absolute-names 절대 경로로 파일을 압축하거나 해제
--exclude=<패턴> 지정한패턴과일치하는파일,디렉터리를압축에서제외
--exclude-from=<파일> 지정한파일에나열된패턴과일치하는파일,디렉터리를압축에서제외
--wildcards 와일드카드 패턴을 사용하여 압축를 생성 하거나 해제
-N<날짜>,--newer=<날짜> 지정한날짜이후에수정된파일만압축에추가
--exclude-caches 캐시파일을압축에서제외
--exclude-backups 백업파일을압축에서제외
--one-file-system 여러파일시스템이있는경우,하나의파일시스템만압축
--to-command=<명령어> 압축된데이터를지정한명령어로전송
-W,--verify 압축생성,추출후,결과를확인
-M,--multi-volume 분할압축를생성
--tape-length=<크기> 각분할압축파일의크기를지정
-F<파일>,--info-script=<파일> 분할압축생성시사용할정보스크립트파일을지정
--new-volume-script=<파일> 다음분할압축파일을요청할때사용할스크립트파일을지정

 

 

3. 사용 예제

  • 압축파일 생성
    • -c: 압축 파일 생성
    • -z: gzip으로 압축
    • -v: 상세한 실행과정출력
    • -f backup.tar.gz: 압축 파일 이름 지정
    • /path/to/directory1 /path/to/directory2/file.txt:압축할파일과디렉터리경로
tar -czvf backup.tar.gz /path/to/directory1 /path/to/directory2/file.txt

 

  • 압축해제
    • -x: 압축 파일 해제
    • -z: gzip으로 압축해제
    • -v: 상세한 실행과정출력
    • -f archive.tar.gz: 압축 해제할 파일 이름 지정
tar -xzvf archive.tar.gz

 

  • 압축파일에 추가
    • -r: 압축 파일에 추가
    • -v: 상세한 실행과정출력
    • -farchive.tar: 압축 파일이름지정
    • newfile.txt: 압축 파일에 추가할 파일
tar -rvf archive.tar newfile.txt

 

  • 특정 날짜 이후에 수정된 파일만 압축파일에 추가
    • -N 2023-01-01: 2023년 1월 1일 이후에 수정된 파일만 압축파일에 추가
    • -c: 압축파일 생성
    • -v: 상세한 실행과정출력
    • -farchive.tar: 압축 파일이름지정
    • /path/to/directory: 압축할 디렉터리경로
tar -N 2023-01-01 -cvf archive.tar /path/to/directory

 

  • 지정한 디렉터리에 압축파일생성
    • -c: 압축파일 생성
    • -z: gzip으로 압축
    • -v: 상세한 실행과정출력
    • -fbackup.tar.gz: 압축 파일이름지정
    • -C /path/to/directory: /path/to/directory로 압축파일 생성
    • .: 현재디렉터리압축
tar -czvf backup.tar.gz -C /path/to/directory .

 

  • 분할 압축
    • -c: 압축파일 생성
    • -z: gzip으로 압축
    • -v: 상세한 실행과정출력
    • --tape-length=1G: 분할된 압축파일 크기를 1GB로 설정
    • -f backup.tar.gz: 압축 파일 이름 지정
    • /path/to/directory: 압축할 디렉터리경로
tar -czv --tape-length=1G -f backup.tar.gz /path/to/directory