생성된 명령어
tar -czvf archive.tar.gz ./tar란?
tar(tape archive)는 Unix/Linux에서 여러 파일과 디렉토리를 하나의 아카이브 파일로 묶는 명령어입니다. 자체적으로는 압축 기능이 없지만, gzip, bzip2, xz 등의 압축 도구와 함께 사용하여 파일을 압축할 수 있습니다. 서버 백업, 소스 코드 배포, 로그 파일 관리 등에 널리 사용됩니다.
압축 형식 비교
| 형식 | 확장자 | 플래그 | 특징 |
|---|---|---|---|
| 없음 | .tar | - | 압축 없이 파일만 묶음 |
| gzip | .tar.gz | z | 가장 널리 사용. 속도와 압축률의 균형 |
| bzip2 | .tar.bz2 | j | gzip보다 높은 압축률, 느린 속도 |
| xz | .tar.xz | J | 가장 높은 압축률, 가장 느린 속도 |
주요 옵션
| 옵션 | 설명 |
|---|---|
| -c | 새 아카이브 생성 (create) |
| -x | 아카이브 해제 (extract) |
| -t | 아카이브 내용 목록 보기 (list) |
| -f | 아카이브 파일명 지정 |
| -v | 처리 과정 상세 출력 (verbose) |
| -z | gzip으로 압축/해제 |
| -j | bzip2로 압축/해제 |
| -J | xz로 압축/해제 |
| -p | 파일 권한 보존 (preserve permissions) |
| -C | 지정한 디렉토리에서 작업 |
| --exclude | 특정 파일/패턴 제외 |
자주 쓰는 tar 예시
디렉토리를 gzip으로 압축
tar -czvf backup.tar.gz ./my-project
gzip 아카이브 해제
tar -xzvf backup.tar.gz
특정 디렉토리에 해제
tar -xzvf backup.tar.gz -C /opt/restore
아카이브 내용 확인
tar -tzvf backup.tar.gz
node_modules와 .git 제외하고 압축
tar -czvf project.tar.gz \ --exclude='node_modules' \ --exclude='.git' ./my-project
xz로 최대 압축
tar -cJvf archive.tar.xz ./data