묶기만 하고 줄이지는 않는 도구, GNU tar 입문

요약

GNU tar 는 여러 파일을 하나의 그릇으로 묶기만 하고 크기를 줄이는 일은 gzip 이나 xz, zstd 에 맡긴다. 만들기, 풀기, 내용 보기, 한 파일만 꺼내기 모두 짧은 명령으로 끝난다.

추천
이름
GNU tar
버전
1.35
요금
무료
오픈소스
오픈소스
운영체제
LinuxmacOS
업데이트
2026-10-05 17:23

GNU tar 는 유닉스 계열 환경이라면 거의 반드시 들어 있는 묶음 도구이고, 여러 파일을 하나로 만들고 싶을 때 가장 먼저 손이 가는 것이다. 의외로 여겨지는 점은 tar 스스로는 전혀 줄이지 않는다는 사실이다. 파일과 디렉터리를 하나의 .tar 흐름으로 이어 붙일 뿐이고, 크기를 줄이는 일은 뒤단의 압축 방식, 예를 들어 gzip 이나 xz, zstd 의 몫이다. 그래서 익숙한 확장자는 늘 짝으로 나타난다. .tar.gz, .tar.xz, .tar.zst 처럼 앞부분은 그릇의 이름이고 뒷부분은 그것을 줄인 상대의 이름이다.

두 가지 일을 나눠 두기

tar 를 이해하는 데 가장 쓸모 있는 생각은 묶는 일과 줄이는 일을 한 동작으로 다루지 않는 것이다. 묶는다는 것은 많은 파일을 차례로 하나의 이어진 흐름에 써 넣으면서 그 과정에서 디렉터리 구조와 권한 정보를 지키는 일이다. 줄인다는 것은 그 흐름을 더 작게 만드는 일이다. tar 는 앞을 맡고 뒤는 요청된 도구에 넘기며, 둘은 파이프로 잇는다. 어느 쪽으로 넘길지는 짧은 지정이 정한다. -z 면 gzip, -j 면 bzip2, -J 면 xz 이다. 둘이 갈라져 있기 때문에 묶는 쪽은 올해 어떤 방식이 유행하는지 신경 쓰지 않아도 되고, 수십 년 전에 정해진 형식이 그때는 없던 부호기와 짝을 이뤄 지금도 동작한다.

실제로 쓰는 명령

일상의 작업은 거의 몇 번의 호출로 끝난다. 크기를 건드리지 않고 보관 파일을 만들려면 tar -cf backup.tar folder/. 묶으면서 함께 줄이려면 tar -czf backup.tgz folder/. 풀려면 tar -xf backup.tgz 이고, tar 가 압축 종류를 스스로 알아보므로 지정을 외울 필요가 없다. 내용만 보고 싶으면 tar -tf backup.tgz. 파일 이름이 흘러가는 것을 보고 싶으면 -v 를 더하고, 빼고 싶은 것이 있으면 --exclude 를 쓰며, 흐름이 파이프로 들어오면 짧은 줄 하나로 표준 입력에서 읽는다. 큰 보관 파일에서 하나만 꺼내는 데 전부를 풀 필요는 없다. 푸는 명령 뒤에 경로를 덧붙이면 되고, tar -xf backup.tgz path/file 이라 쓰면 그 파일만 나온다. 이 모두가 리눅스 터미널과 맥의 터미널에서 똑같이 동작하므로, 기계를 돌보는 사람에게 기본 소양으로 여겨진다.

기본에서 한 걸음 더

가장 자주 놓치는 기능이 증분 보관이다. -g 에 기록 파일을 넘기면 tar 는 이미 담아 둔 내용을 기억하고 그 기록을 잡은 뒤에 바뀐 부분만 묶는다. 정기적인 차등 보관이 원하는 모양 그대로다. tar 는 아주 긴 파일 이름과 기호 연결도 망가뜨리지 않고 다루며, POSIX 규격을 충분히 따르므로 다른 환경에서 풀어도 구조가 흐트러지지 않는다. ssh 와 함께 쓰면 보관 파일을 곧바로 먼 기계로 보낼 수 있어, 로컬 디스크에 중간 파일을 두는 단계가 사라진다.

왜 지금도 토대인가

소프트웨어 배포, 소스 배포, 시스템 보관은 결국 언젠가 tar 를 거친다. 형식이 열려 있고 어디서나 돌아가며, 거의 모든 리눅스 배포판에 미리 들어 있고, 호환성을 아주 오래 안정적으로 지켜 왔다. 더 새로운 보관 형식도 나왔고 어떤 작업에는 그쪽이 더 맞기도 하지만, tar 가 자리를 지키는 힘은 생태계의 관성이다. 주변 도구, 쓰는 사람의 습관, 그리고 그것이 반드시 있을 것이라 조용히 전제하는 수많은 스크립트가 그 힘이다.

알아 두면 좋은 잔기술

보관 파일 속 하나를 디스크에 전혀 쓰지 않고 읽는 것은 앞에 푸는 도구를 물리면 간단하다. zcat backup.tgz | tar -xOf - path/file 같은 형태로 파일 하나의 내용이 표준 출력으로 찍힌다. 배포 묶음 깊숙한 곳의 설정 파일을 잠깐 들여다보고 싶을 때 편하다. 기록용 지정을 시간에 따라 움직이는 장치와 묶으면 보관 사슬이 스스로 만들어진다. 긴 간격으로 전체 보관을 하나 두고 그 사이에 증분을 끼우는 형태라, 자리를 적게 쓰면서도 사슬이 닿는 어느 시점으로도 되돌릴 수 있다.

허가와 위상

GNU tar 는 GPLv3 로 배포되는 자유 소프트웨어여서 누구나 자유롭게 쓰고 고치고 다시 나눠 줄 수 있다. 이 허가가 이 형식이 누군가의 사유물이 되지 않은 큰 이유이고, 수십 년 전에 쓰인 보관 파일이 지난주에 맞춘 기계에서도 열리는 이유다. 좁은 일 하나만 하는 도구에게 이만큼 오래 살아남았다는 사실 자체가 가장 강한 추천이다.

GNU tar다운로드
지원 운영체제: Linux macOS