리눅스 tar

From CS Wiki

리눅스·유닉스 운영체제에서 파일 묶기 및 압축에 사용되는 대표적인 프로그램

  • (참고) 단순 tar 파일은 압축률이 0인 단순 파일 묶음이다. z옵션을 추가해야 '압축'이 된다.

사용법

tar [옵션] 결과파일명 압축대상파일

옵션

  • -A, --catenate : 아카이브에 tar 파일을 추가한다.
  • -c, --create : 새로운 아카이브 파일을 만든다.
  • -C, --directory DIR : 대상 디렉터리(DIR)를 지정한다.
  • -d, --diff, --compare : 아카이브와 파일 시스템의 차이를 비교한다.
  • -f, --file=ARCHIVE : 아카이브 이름(ARCHIVE)을 지정한다.
  • -j -I --bzip : bzip2를 이용해 압축한다.
  • -M, --multi-volume : 멀티 볼륨 아카이브를 생성, 해제, 출력한다.
  • -r, --append : 아카이브의 끝에 파일을 추가한다.
  • -t, --list : 아카이브 목록을 출력한다.
  • -u, --update : 아카이브의 목록 중 기존의 파일에서 업데이트된 파일만 추가한다.
  • -v, --verbose : 상세한 정보를 출력한다.
  • -w, --interactive : 모든 행동에 사용자의 확인을 요구한다.
  • -x, --extract, --get : 아카이브에서 파일을 푼다.
  • -z --gzip, --ungzip : gzip으로 압축한다. ungzip으로 압축을 해제한다.
  • --help : 도움말을 출력한다.
  • --version : 버전 정보를 출력한다.

예제

  • 현재 디렉터리에 있는 bbs 디렉터리를 bbs.tar로 묶기
tar -cvf bbs.tar bbs
  • 현재 디렉터리에 있는 bbs 디렉터리를 bbs.tar.gz로 압축하기
    • 확장자로 tar.gz를 붙이는 것은 압축을 풀 때 이 파일이 어떻게 압축이 된 것인지 알 수 있게 해주기 위함
tar -cvzf bbs.tar.gz bbs
  • 단순 묶음 해제하기
    • 현재 디렉터리에 그대로 풀리게 됨
tar -xvf bbs.tar
  • 경로를 지정하여 묶음 해제하기
    • 묶을 때와 달리 -C 옵션이 필요
    • 디렉터리를 생성해서 풀어주진 않으므로 원래 있는 디렉터리를 지정하거나 mkdir로 디렉터리 생성 필요
tar -xvf bbs.tar -C bbs2
  • 압축 해제하기
    • z옵션을 주어 gzip으로 압축된 파일은 풀 때도 단순히 z옵션을 추가하면 됨
tar -xzvf bbs.tar