리눅스에서 여러 파일이나 디렉터리를 하나로 묶거나 압축, 해제할 때 가장 많이 사용하는 명령어가 바로 tar입니다. 본 글에서는 tar 명령어의 기본 개념과 자주 쓰이는 옵션, 그리고 실무에서 바로 쓸 수 있는 다양한 예제를 소개합니다.

◎  tar 명령어란?
tar(Tape ARchiver)는 여러 파일과 디렉터리를 하나의 아카이브 파일로 묶거나, 반대로 풀 때 사용하는 명령어입니다. 원래는 테이프 백업을 위해 만들어진 도구지만, 현재는 파일 묶음(아카이브) 생성, 배포, 백업 등 다양한 용도로 활용되고 있습니다.

tar 자체는 파일 압축이 아니라, 여러 파일을 하나로 묶는 역할을 합니다. 하지만 gzip, bzip2 등과 조합해 압축 기능도 함께 사용할 수 있습니다.

◎  자주 사용하는 tar 옵션
아래 표는 tar 명령어에서 자주 사용하는 옵션과 설명입니다.

옵션 설명

옵션설명
-c새로운 아카이브 생성
-x아카이브에서 파일 추출(풀기)
-v처리 과정을 자세히 출력
-f사용할 아카이브 파일명 지정
-zgzip 압축 사용(‘.tar.gz’, ‘.tgz’)
-j bzip2 압축 사용(‘.tar.bz2’, ‘.tbz2’)
-t아카이브 내용 확인
-C파일을 풀 디렉터리 지정
-p파일 권한 및 소유자 정보 유지
-A아카이브에 tar 파일 추가
-r아카이브 끝에 파일 추가
-u변경된 파일만 추가

 
◎ tar 명령어 기본 예제
1. 파일/디렉터리 묶기
현재 디렉터리의 모든 파일과 디렉터리를 myarchive.tar로 묶기:

# tar cvf myarchive.tar *

 
특정 디렉터리(/home/user/data)를 아카이브로 묶기:

# tar cvf myarchive.tar /home/user/data 


특정 파일만 묶기:

# tar cvf myarchive.tar file1.txt file2.txt

 
2. 아카이브 풀기
현재 디렉터리에 아카이브 풀기:

# tar xvf myarchive.tar 


특정 디렉터리에 아카이브 풀기:

# tar xvf myarchive.tar -C /target/directory

 
3. 아카이브 내용 확인
아카이브 내 파일 목록 보기:

# tar tvf myarchive.tar

 
◎  압축과 함께 사용하는 tar 예제
1. gzip으로 압축
아카이브를 gzip으로 압축:

# tar zcvf myarchive.tar.gz /home/user/data


압축된 아카이브 풀기:

# tar zxvf myarchive.tar.gz

 
2. bzip2로 압축
아카이브를 bzip2로 압축:

# tar jcvf myarchive.tar.bz2 /home/user/data


압축된 아카이브 풀기:

# tar jxvf myarchive.tar.bz2 

 
◎  기타 유용한 예제
1. 파일 추가 및 업데이트
아카이브 끝에 파일 추가:

# tar rvf myarchive.tar newfile.txt


변경된 파일만 추가:

# tar uvf myarchive.tar updatedfile.txt 

 
2. 파일 권한 유지하며 풀기
권한 및 소유자 정보를 유지하며 아카이브 풀기:

# tar xvpf myarchive.tar

 
3. 아카이브에 tar 파일 추가
다른 tar 파일을 아카이브에 추가:

# tar -A -f myarchive.tar -f another.tar

 
◎  실무에서 자주 쓰는 조합
백업: tar cvf backup.tar /data
압축 백업: tar zcvf backup.tar.gz /data
특정 디렉터리에 복원: tar xvf backup.tar -C /restore
아카이브 내용 확인: tar tvf backup.tar
파일 추가: tar rvf backup.tar newfile.txt
변경된 파일만 추가: tar uvf backup.tar updatedfile.txt

◎  마무리
tar 명령어는 리눅스 시스템 관리에서 자주 사용하는 필수 도구입니다. 파일 묶기, 압축, 해제, 백업 등 다양한 용도로 활용할 수 있으니, 위 예제들을 참고해 실무에 바로 적용해 보세요.

+ Recent posts