| 일 | 월 | 화 | 수 | 목 | 금 | 토 |
|---|---|---|---|---|---|---|
| 1 | 2 | 3 | 4 | 5 | ||
| 6 | 7 | 8 | 9 | 10 | 11 | 12 |
| 13 | 14 | 15 | 16 | 17 | 18 | 19 |
| 20 | 21 | 22 | 23 | 24 | 25 | 26 |
| 27 | 28 | 29 | 30 |
- Unix명령어
- tcsh
- UnixCommand
- 사용자관리
- coreutils
- 시스템관리
- environment
- UNIX
- 파일시스템
- js
- 유닉스명령어
- 정규표현식
- linuxcommand
- terminal
- 명령어
- 자바스크립트
- 리눅스
- Solaris
- PackageManagement
- bash
- JavaScript
- cups
- 터미널
- shell
- linux
- 쉘스크립트
- php
- sysadmin
- 유닉스
- 리눅스명령어
- Today
- Total
ioerror
tar 사용법 및 옵션 - 여러 파일과 디렉토리를 하나로 묶거나 압축을 해제하는 명령어 본문

tar - Tape Archive
여러 개 파일과 디렉토리를 단일 아카이브 파일로 묶거나, 묶인 아카이브를 추출하여 원래 구조로 복원한다. 본래 테이프 백업 장치용으로 개발되었으나, 현재는 리눅스 및 Unix 환경에서 파일 백업과 배포용 아카이브 생성 목적으로 가장 흔하게 사용된다. 단독 사용 시 데이터 압축은 진행하지 않으며 단순 파일 결합만 수행하므로, 용량을 줄이기 위해서는 gzip이나 bzip2 등의 압축 옵션과 결합하여 사용해야 한다. 심볼릭 링크나 파일 권한 보존 여부에 유의하여 작업을 진행한다.
1. 명령어 용도
- 서버 내 주요 설정 및 데이터 디렉토리 백업 (/etc, /var/www 등)
- 소스 코드 및 배포용 아카이브 파일(.tar.gz)의 생성 및 압축 해제
- 원본 파일의 권한, 소유권, 디렉토리 구조를 유지한 상태로 데이터 이동
# 가장 많이 쓰이는 Gzip 압축 해제 패턴 (StackOverflow 최다 검색)
tar -zxvf archive.tar.gz
# 특정 디렉토리만 백업하면서 Gzip으로 압축
tar -czvf backup.tar.gz /path/to/directory
2. 명령어 서식
tar [기능옵션][부가옵션] [아카이브파일명] [파일 또는 디렉토리...]
3. 명령어 옵션
| 옵션 | 설명 | 사용가능 OS 및 쉘 |
| -c, --create | 새로운 아카이브 파일을 생성 | ALL |
| -x, --extract, --get | 아카이브 파일에서 파일들을 추출 | ALL |
| -t, --list | 아카이브 내부 파일 목록을 출력 | ALL |
| -f, --file=ARCHIVE | 작업 대상이 될 아카이브 파일명을 지정 | ALL |
| -v, --verbose | 처리 중인 파일 목록을 자세히 출력 | ALL |
| -z, --gzip | gzip을 사용하여 아카이브 압축 또는 해제 (.tar.gz, .tgz) | ALL |
| -j, --bzip2 | bzip2를 사용하여 아카이브 압축 또는 해제 (.tar.bz2) | ALL |
| -J, --xz | xz를 사용하여 아카이브 압축 또는 해제 (.tar.xz) | [GNU Linux] [macOS] |
| -C, --directory=DIR | 지정한 디렉토리로 이동하여 작업을 수행 또는 해제 | ALL |
| -p, --same-permissions | 원본 파일의 소유권 및 권한 정보를 보존 | ALL |
| --exclude=PATTERN | 지정한 패턴과 일치하는 파일이나 디렉토리를 제외 | [GNU Linux] [macOS] |
| --strip-components=N | 압축 해제 시 최상위 N개의 디렉토리 경로 구성 요소를 제거 | [GNU Linux] [macOS] |
# 지정 디렉토리로 압축 해제 및 디렉토리 구조 일부 제거 예시
tar -zxvf project.tar.gz -C /var/www/html --strip-components=1
# project/index.html -> /var/www/html/index.html
# project/css/style.css -> /var/www/html/css/style.css
# project/js/app.js -> /var/www/html/js/app.js
- project.tar.gz: 해제 대상이 되는 Gzip 압축 아카이브 파일
- /var/www/html: 압축 해제 결과물이 저장될 목표 디렉토리 경로
- --strip-components=1: 압축 파일 내부의 최상위 루트 디렉토리(project/) 경로를 제거하고 그 내부 콘텐츠만 대상 디렉토리에 바로 추출되도록 지정한 결과
4. 명령어 특이사항(유의사항)
Stack Overflow에서 자주 거론되는 대표적 오류는 옵션 순서 및 절대 경로 압축 시 발생하는 문제이다. 특히 -f 옵션 직후에는 반드시 아카이브 파일명이 위치해야 하므로 tar -cvfzp archive.tar.gz와 같이 -f 뒤에 다른 옵션을 붙이면 파일명이 올바르게 인식되지 않아 오류가 발생한다. 또한 절대 경로(/etc/data)로 압축할 경우 기본적으로 맨 앞의 /를 제거(removing leading '/' from member names)하여 압축을 해제할 때 현재 작업 위치의 루트 시스템이 덮어씌워지는 위험을 방지한다.
관련 명령어들
- gzip / gunzip: .gz 파일의 단일 압축 및 해제
- bzip2 / bunzip2: .bz2 파일의 단일 압축 및 해제
- zip / unzip: ZIP 포맷의 아카이브 생성 및 압축 해제
- cpio: 파일들을 아카이브로 복사하거나 추출하는 저수준 백업 도구
https://ioerror.tistory.com/entry/UNIX-Linux-Command-Reference
UNIX & Linux Command Reference
유닉스 / 리눅스 명령어 표유닉스와 리눅스 환경에서 자주 사용되는 필수 명령어들을 완벽하게 정리한다. 서버 관리, 프로그래밍, 일상적인 시스템 운영 등 어떤 목적이든 터미널 환경을 능숙하
ioerror.tistory.com
'OS' 카테고리의 다른 글
| tcsh 사용법 및 옵션 - C 셸(csh)의 기능을 확장한 대화형 컴파일러형 유닉스 셸 (0) | 2026.07.31 |
|---|---|
| tcpdump 사용법 및 옵션 - 네트워크 패킷을 실시간으로 수집하고 분석하는 명령어 (0) | 2026.07.31 |
| talk 사용법 및 옵션 - 네트워크상의 다른 사용자들과 실시간 텍스트 대화를 나누는 명령어 (0) | 2026.07.31 |
| tail 사용법 및 옵션 - 파일의 마지막 부분을 출력하는 명령어 (0) | 2026.07.31 |
| sync 사용법 및 옵션 - 버퍼 캐시의 변경된 데이터를 디스크로 강제 동기화하는 명령 (0) | 2026.07.30 |