|
| 1 | +--- |
| 2 | +layout: post |
| 3 | +title: "리눅스 tar 명령어 완벽 가이드 - 압축과 해제의 모든 것" |
| 4 | +date: 2023-03-18 09:00:00 +0900 |
| 5 | +categories: [Linux, System Administration] |
| 6 | +tags: [Linux, tar, 압축, 명령어, CLI, 시스템관리] |
| 7 | +author: Kevin Park |
| 8 | +excerpt: "리눅스에서 가장 많이 사용되는 tar 명령어의 옵션들과 실제 사용 예시를 정리했습니다. 압축과 해제, 다양한 옵션까지 한 번에 마스터하세요." |
| 9 | +--- |
| 10 | + |
| 11 | +리눅스를 사용하다 보면 파일이나 디렉토리를 압축하거나 해제해야 하는 경우가 자주 있습니다. 이때 가장 많이 사용되는 명령어가 바로 `tar`입니다. 오늘은 tar 명령어의 주요 옵션들과 실제 사용 예시를 살펴보겠습니다. |
| 12 | + |
| 13 | +## 📦 tar 명령어란? |
| 14 | + |
| 15 | +`tar`는 **T**ape **AR**chive의 줄임말로, 여러 파일과 디렉토리를 하나의 아카이브 파일로 묶거나 풀 때 사용하는 명령어입니다. 백업, 파일 전송, 배포 등에 널리 활용됩니다. |
| 16 | + |
| 17 | +## 🔧 기본 사용법 |
| 18 | + |
| 19 | +### 📁 압축 (아카이브 생성) |
| 20 | + |
| 21 | +```bash |
| 22 | +tar -cvf file.tar folder |
| 23 | +``` |
| 24 | + |
| 25 | +- `file.tar`: 생성될 아카이브 파일명 |
| 26 | +- `folder`: 압축할 디렉토리 또는 파일 |
| 27 | + |
| 28 | +**예시:** |
| 29 | +```bash |
| 30 | +tar -cvf backup.tar /home/user/documents |
| 31 | +``` |
| 32 | + |
| 33 | +### 📂 압축풀기 (아카이브 해제) |
| 34 | + |
| 35 | +```bash |
| 36 | +tar -xvf file.tar |
| 37 | +``` |
| 38 | + |
| 39 | +**예시:** |
| 40 | +```bash |
| 41 | +tar -xvf backup.tar |
| 42 | +``` |
| 43 | + |
| 44 | +## 🗜️ gzip 압축과 함께 사용하기 |
| 45 | + |
| 46 | +### 📁 tar.gz 압축 |
| 47 | + |
| 48 | +```bash |
| 49 | +tar -zcvf file.tar.gz folder |
| 50 | +``` |
| 51 | + |
| 52 | +gzip 압축을 함께 사용하면 파일 크기를 더욱 줄일 수 있습니다. |
| 53 | + |
| 54 | +**예시:** |
| 55 | +```bash |
| 56 | +tar -zcvf website_backup.tar.gz /var/www/html |
| 57 | +``` |
| 58 | + |
| 59 | +### 📂 tar.gz 압축풀기 |
| 60 | + |
| 61 | +```bash |
| 62 | +tar -zxvf file.tar.gz |
| 63 | +``` |
| 64 | + |
| 65 | +**예시:** |
| 66 | +```bash |
| 67 | +tar -zxvf website_backup.tar.gz |
| 68 | +``` |
| 69 | + |
| 70 | +## 📋 주요 옵션 정리 |
| 71 | + |
| 72 | +| **옵션** | **설명** | |
| 73 | +|---------|---------| |
| 74 | +| `-c` | 파일을 tar로 묶음 (create) | |
| 75 | +| `-p` | 파일 권한을 저장 | |
| 76 | +| `-v` | 묶거나 파일을 풀 때 과정을 화면으로 출력 (verbose) | |
| 77 | +| `-f` | 파일 이름을 지정 (file) | |
| 78 | +| `-C` | 경로를 지정 (change directory) | |
| 79 | +| `-x` | tar 압축을 풂 (extract) | |
| 80 | +| `-z` | gzip으로 압축하거나 해제함 | |
| 81 | + |
| 82 | +## 💡 실용적인 사용 예시 |
| 83 | + |
| 84 | +### 1. 특정 디렉토리에 압축 해제 |
| 85 | + |
| 86 | +```bash |
| 87 | +tar -xvf backup.tar -C /tmp/restore |
| 88 | +``` |
| 89 | + |
| 90 | +### 2. 파일 권한 유지하며 압축 |
| 91 | + |
| 92 | +```bash |
| 93 | +tar -cpvf backup.tar /etc/nginx |
| 94 | +``` |
| 95 | + |
| 96 | +### 3. 여러 파일과 디렉토리 동시 압축 |
| 97 | + |
| 98 | +```bash |
| 99 | +tar -zcvf multiple_backup.tar.gz file1.txt file2.txt /home/user/docs |
| 100 | +``` |
| 101 | + |
| 102 | +### 4. 아카이브 내용 확인 (압축 해제 없이) |
| 103 | + |
| 104 | +```bash |
| 105 | +tar -tvf backup.tar.gz |
| 106 | +``` |
| 107 | + |
| 108 | +### 5. 특정 파일만 압축 해제 |
| 109 | + |
| 110 | +```bash |
| 111 | +tar -zxvf backup.tar.gz path/to/specific/file.txt |
| 112 | +``` |
| 113 | + |
| 114 | +## 🚀 고급 사용 팁 |
| 115 | + |
| 116 | +### 📊 압축률 비교 |
| 117 | + |
| 118 | +```bash |
| 119 | +# 일반 tar (압축 없음) |
| 120 | +tar -cvf backup.tar folder/ |
| 121 | + |
| 122 | +# gzip 압축 |
| 123 | +tar -zcvf backup.tar.gz folder/ |
| 124 | + |
| 125 | +# bzip2 압축 (더 높은 압축률) |
| 126 | +tar -jcvf backup.tar.bz2 folder/ |
| 127 | +``` |
| 128 | + |
| 129 | +### 🔍 압축 과정에서 특정 파일 제외 |
| 130 | + |
| 131 | +```bash |
| 132 | +tar -zcvf backup.tar.gz folder/ --exclude="*.log" --exclude="temp/*" |
| 133 | +``` |
| 134 | + |
| 135 | +### 📅 날짜별 백업 자동화 |
| 136 | + |
| 137 | +```bash |
| 138 | +tar -zcvf backup_$(date +%Y%m%d).tar.gz /important/data |
| 139 | +``` |
| 140 | + |
| 141 | +## ⚠️ 주의사항 |
| 142 | + |
| 143 | +1. **경로 주의**: 절대 경로로 압축하면 해제 시 같은 경로에 복원됩니다. |
| 144 | +2. **권한 확인**: `-p` 옵션 없이는 파일 권한이 보존되지 않을 수 있습니다. |
| 145 | +3. **용량 확인**: 압축 전에 디스크 공간을 충분히 확보하세요. |
| 146 | + |
| 147 | +## 🎯 자주 사용하는 명령어 모음 |
| 148 | + |
| 149 | +```bash |
| 150 | +# 기본 압축 |
| 151 | +tar -cvf archive.tar folder/ |
| 152 | + |
| 153 | +# gzip 압축 |
| 154 | +tar -zcvf archive.tar.gz folder/ |
| 155 | + |
| 156 | +# 압축 해제 |
| 157 | +tar -xvf archive.tar |
| 158 | + |
| 159 | +# gzip 해제 |
| 160 | +tar -zxvf archive.tar.gz |
| 161 | + |
| 162 | +# 내용 확인 |
| 163 | +tar -tvf archive.tar |
| 164 | + |
| 165 | +# 특정 경로에 해제 |
| 166 | +tar -xvf archive.tar -C /target/path |
| 167 | +``` |
| 168 | + |
| 169 | +## 📚 마무리 |
| 170 | + |
| 171 | +tar 명령어는 리눅스 시스템 관리에서 필수적인 도구입니다. 기본적인 압축과 해제부터 고급 옵션까지 익혀두면 파일 관리가 훨씬 효율적이 됩니다. |
| 172 | + |
| 173 | +특히 서버 백업, 배포 자동화, 로그 관리 등에서 tar 명령어의 다양한 옵션들을 활용하면 더욱 강력한 스크립트를 작성할 수 있습니다. |
| 174 | + |
| 175 | +--- |
| 176 | + |
| 177 | +💡 **팁**: 자주 사용하는 tar 명령어들은 alias로 등록해두면 더욱 편리합니다! |
| 178 | + |
| 179 | +```bash |
| 180 | +alias targz='tar -zcvf' |
| 181 | +alias untar='tar -zxvf' |
| 182 | +``` |
0 commit comments