**tar
**는 원래 데이터를 테이프에 저장하기 위해 개발된 도구로, 파일이나 디렉토리를 하나의 파일로 묶는 아카이브 도구입니다. tar
자체는 압축 기능은 없지만, 여러 파일이나 디렉토리를 **하나의 묶음(아카이브)**으로 만들기 위한 유틸리티입니다. 따라서, 보통 다른 압축 도구(gzip
, bzip2
, xz
)와 함께 사용되어 묶은 파일을 압축하기도 합니다.
이렇게 묶인 파일은 주로 .tar
라는 확장자를 가지며, 이후에 추가로 압축을 적용하면 .tar.gz
, .tar.bz2
, .tar.xz
와 같은 확장자를 가지게 됩니다.
tar
명령어는 파일과 디렉토리를 묶거나 해제하는 데 사용되며, 다양한 옵션이 있습니다. 아래에서 각 주요 옵션과 사용 예시를 설명하겠습니다.
-c
: Create. 새 아카이브 파일을 생성합니다.-x
: Extract. 기존의 아카이브 파일을 해제합니다.-t
: List. 아카이브 파일의 내용을 나열합니다.-f
: File. 특정 파일을 지정합니다. 이 옵션은 반드시 아카이브 파일 이름과 함께 사용해야 합니다.-v
: Verbose. 아카이브 작업 중에 처리 중인 파일 목록을 출력합니다.-z
: gzip으로 압축/해제를 수행합니다.-j
: bzip2로 압축/해제를 수행합니다.-J
: xz로 압축/해제를 수행합니다.-C
: Change Directory. 특정 디렉토리로 이동하여 작업을 수행합니다.
-
단순히 묶기 (
.tar
파일 생성)tar -cvf archive.tar 디렉토리이름/
예:
tar -cvf backup.tar mydata/
mydata
디렉토리를 하나의.tar
파일로 묶습니다.-c
: 아카이브 파일 생성-v
: 작업 과정을 자세히 출력-f
: 파일 이름 지정 (backup.tar
)
-
gzip으로 압축하면서 묶기 (
.tar.gz
파일 생성)tar -czvf archive.tar.gz 디렉토리이름/
예:
tar -czvf backup.tar.gz mydata/
mydata
디렉토리를.tar.gz
파일로 묶고 압축합니다.-z
: gzip 방식으로 압축
-
bzip2로 압축하면서 묶기 (
.tar.bz2
파일 생성)tar -cjvf archive.tar.bz2 디렉토리이름/
예:
tar -cjvf backup.tar.bz2 mydata/
mydata
디렉토리를.tar.bz2
파일로 묶고 압축합니다.-j
: bzip2 방식으로 압축
-
xz로 압축하면서 묶기 (
.tar.xz
파일 생성)tar -cJvf archive.tar.xz 디렉토리이름/
예:
tar -cJvf backup.tar.xz mydata/
mydata
디렉토리를.tar.xz
파일로 묶고 압축합니다.-J
: xz 방식으로 압축
-
단순 아카이브 해제 (
.tar
파일 해제)tar -xvf archive.tar
예:
tar -xvf backup.tar
backup.tar
파일의 압축을 해제하여 묶였던 파일들을 현재 디렉토리로 풉니다.-x
: 압축 해제
-
gzip 압축 해제 (
.tar.gz
파일 해제)tar -xzvf archive.tar.gz
예:
tar -xzvf backup.tar.gz
backup.tar.gz
파일의 압축을 풀고, 묶였던 파일들을 현재 디렉토리로 해제합니다.-z
: gzip 방식의 압축 해제
-
bzip2 압축 해제 (
.tar.bz2
파일 해제)tar -xjvf archive.tar.bz2
예:
tar -xjvf backup.tar.bz2
backup.tar.bz2
파일의 압축을 풀고, 묶였던 파일들을 해제합니다.-j
: bzip2 방식의 압축 해제
-
xz 압축 해제 (
.tar.xz
파일 해제)tar -xJvf archive.tar.xz
예:
tar -xJvf backup.tar.xz
backup.tar.xz
파일의 압축을 풀고, 묶였던 파일들을 해제합니다.-J
: xz 방식의 압축 해제
- 아카이브 파일 내의 파일 목록 보기
예:
tar -tvf archive.tar
tar -tvf backup.tar
backup.tar
파일에 포함된 파일들을 목록으로 출력합니다.-t
: 아카이브 파일 목록 출력
-
특정 경로에 아카이브 파일 해제하기
tar -xvf archive.tar -C /path/to/directory/
예:
tar -xvf backup.tar -C /home/user/restore/
backup.tar
파일을/home/user/restore/
경로로 해제합니다.-C
: 특정 디렉토리로 이동 후 작업 수행
-
특정 경로에 아카이브 파일 해제하기2
tar -cxvf /path/to/directory/ archive.tar
예:
tar -cxvf /home/user/restore/ backup.tar
-backup.tar
파일을/home/user/restore/
경로로 해제합니다. --C
: 특정 디렉토리로 이동 후 작업 수행
-
특정 파일만 압축 해제
tar -xvf archive.tar 파일이름
예:
tar -xvf backup.tar mydata/file1.txt
backup.tar
에서mydata/file1.txt
파일만 해제합니다.
-
특정 파일만 아카이브에 추가
tar -rvf archive.tar 파일이름
예:
tar -rvf backup.tar newfile.txt
- 이미 존재하는
backup.tar
에newfile.txt
파일을 추가합니다. -r
: 아카이브 파일에 새로운 파일을 추가하는 옵션입니다.
- 이미 존재하는
- 디렉토리 묶기 (압축 없이
.tar
파일 생성):tar -cvf archive.tar 디렉토리이름/
- gzip 압축하면서 묶기 (
.tar.gz
파일 생성):tar -czvf archive.tar.gz 디렉토리이름/
- bzip2 압축 해제 (
.tar.bz2
파일 해제):tar -xjvf archive.tar.bz2
- 아카이브 파일 목록 보기:
tar -tvf archive.tar
- 특정 경로로 해제하기:
tar -xvf archive.tar -C /특정/경로/
- 묶기 및 압축:
tar
는 여러 파일과 디렉토리를 하나의 파일로 묶을 때 매우 유용하며, 이 후gzip
,bzip2
,xz
등을 사용해 추가적으로 압축하는 것이 일반적입니다. - 백업: 서버나 시스템 파일의 백업을 위해 전체 디렉토리를 하나의 아카이브 파일로 묶고 압축하여 관리하는 데 많이 사용됩니다.
- 간편한 파일 관리: 여러 개의 파일과 디렉토리를 묶어 하나로 만들기 때문에 파일 전송, 배포, 관리 등이 훨씬 편리합니다.
이러한 이유로 tar
는 Linux 시스템에서 파일 백업, 아카이브 생성, 전송을 위한 기본적인 도구로 널리 사용됩니다. tar
와 다른 압축 도구들을 결합하여 다양한 상황에서 유연하게 사용할 수 있습니다.
Linux에서 다양한 파일 압축과 해제 작업을 수행하기 위해 여러 파일 압축 포맷을 사용할 수 있습니다. 여기에서는 xz
, bz2
, zip
확장명을 중심으로, 각각의 형식의 설명과 관련 명령어를 자세히 설명드리겠습니다.
xz
는 고효율 압축 알고리즘인 LZMA2
를 사용하여 높은 압축률을 제공하는 도구입니다. tar
와 함께 사용하여 여러 파일을 하나로 묶고 압축할 수 있습니다.
-
압축
xz 파일이름
예:
xz example.txt
—example.txt
파일을example.txt.xz
로 압축합니다. -
압축 해제
xz -d 파일이름.xz
또는
unxz 파일이름.xz
예:
xz -d example.txt.xz
—example.txt.xz
파일을 압축 해제하여 원본 파일인example.txt
로 복원합니다. -
tar와 함께 사용하기 보통
.tar.xz
형태로 묶인 파일을 생성하거나 해제할 때 사용합니다.-
tar 파일을 압축하면서
.xz
로 묶기:tar -cJf archive.tar.xz 디렉토리이름/
예:
tar -cJf backup.tar.xz mydata/
—mydata
디렉토리를.tar.xz
로 묶고 압축합니다. -
.tar.xz
파일 해제:tar -xJf archive.tar.xz
예:
tar -xJf backup.tar.xz
—backup.tar.xz
파일을 압축 해제합니다.
-
bz2
는 bzip2
알고리즘을 사용하여 효율적인 압축을 제공하는 형식입니다. gz
와 유사하지만 조금 더 높은 압축률을 제공합니다.
-
압축
bzip2 파일이름
예:
bzip2 example.txt
—example.txt
파일을example.txt.bz2
로 압축합니다. -
압축 해제
bzip2 -d 파일이름.bz2
또는
bunzip2 파일이름.bz2
예:
bzip2 -d example.txt.bz2
—example.txt.bz2
파일을 압축 해제하여 원본 파일인example.txt
로 복원합니다. -
tar와 함께 사용하기 보통
.tar.bz2
형태로 묶인 파일을 생성하거나 해제할 때 사용합니다.-
tar 파일을 압축하면서
.bz2
로 묶기:tar -cjf archive.tar.bz2 디렉토리이름/
예:
tar -cjf backup.tar.bz2 mydata/
—mydata
디렉토리를.tar.bz2
형식으로 묶고 압축합니다. -
.tar.bz2
파일 해제:tar -xjf archive.tar.bz2
예:
tar -xjf backup.tar.bz2
—backup.tar.bz2
파일을 압축 해제합니다.
-
zip
은 Windows에서도 많이 사용하는 압축 형식으로, 다양한 운영 체제에서 사용이 가능합니다. 여러 파일과 디렉토리를 하나의 .zip
파일로 묶어 압축할 수 있습니다.
-
압축
zip [옵션] 압축파일이름.zip 파일1 파일2 ...
예:
zip archive.zip example1.txt example2.txt
—example1.txt
와example2.txt
파일을 묶어archive.zip
파일을 생성합니다.-
디렉토리 압축:
zip -r 압축파일이름.zip 디렉토리이름
예:
zip -r backup.zip mydata/
—mydata
디렉토리와 모든 하위 파일을 포함한backup.zip
파일을 생성합니다. -
압축 레벨 조절:
-0
(압축 안 함)부터-9
(최대 압축)까지 선택 가능zip -9 max_compressed.zip example.txt
예:
zip -9 example.zip example.txt
— 최대 압축률로example.txt
파일을 압축합니다.
-
-
압축 해제
unzip 압축파일이름.zip
예:
unzip archive.zip
—archive.zip
파일의 압축을 해제하여 파일을 현재 디렉토리에 풉니다.-
특정 파일만 압축 해제:
unzip archive.zip 파일이름
예:
unzip archive.zip example1.txt
—archive.zip
파일 내에서example1.txt
만 압축 해제합니다. -
파일 덮어쓰기 확인 없이 압축 해제:
unzip -o archive.zip
예:
unzip -o archive.zip
—archive.zip
을 해제하며 파일이 이미 존재할 경우 덮어쓰기 합니다.
-
-
xz:
xz 파일이름
: 파일을.xz
로 압축합니다.xz -d 파일이름.xz
:.xz
파일을 해제합니다.tar -cJf archive.tar.xz 디렉토리이름/
: 디렉토리를.tar.xz
로 묶어 압축합니다.tar -xJf archive.tar.xz
:.tar.xz
파일을 해제합니다.
-
bz2:
bzip2 파일이름
: 파일을.bz2
로 압축합니다.bzip2 -d 파일이름.bz2
또는bunzip2 파일이름.bz2
:.bz2
파일을 해제합니다.tar -cjf archive.tar.bz2 디렉토리이름/
: 디렉토리를.tar.bz2
로 묶어 압축합니다.tar -xjf archive.tar.bz2
:.tar.bz2
파일을 해제합니다.
-
zip:
zip archive.zip 파일1 파일2 ...
: 여러 파일을 묶어.zip
파일로 압축합니다.zip -r 압축파일이름.zip 디렉토리이름
: 디렉토리를 포함하여.zip
파일로 압축합니다.unzip 압축파일이름.zip
:.zip
파일을 압축 해제합니다.
-
gz:
gzip 파일이름
: 파일을.gz
로 압축합니다.gzip -d 파일이름.gz
또는gunzip 파일이름.gz
:.gz
파일을 해제합니다.tar -czf archive.tar.gz 디렉토리이름/
: 디렉토리를.tar.gz
로 묶어 압축합니다.tar -xzf archive.tar.gz
:.tar.gz
파일을 해제합니다.
이 세 가지 압축 방식은 각각의 장단점이 있으며, 상황에 맞는 형식을 선택하여 사용하면 됩니다. xz
와 bz2
는 높은 압축률을 자랑하지만, 일반적으로는 zip
이 여러 운영 체제에서 쉽게 다룰 수 있어 범용성 면에서 많이 사용됩니다. tar
과의 조합으로 .tar.xz
, .tar.bz2
등과 같은 형식으로 묶어서 사용하면 다수의 파일을 보다 효율적으로 관리할 수 있습니다.