آموزش کامل فشرده‌سازی و آرشیو فایل‌ها و پوشه‌ها با دستور tar در لینوکس پرینت


## 🎯 آموزش کامل فشرده‌سازی و آرشیو فایل‌ها و پوشه‌ها با دستور `tar` در لینوکس

دستور `tar` یکی از پرکاربردترین ابزارها در لینوکس برای:
- آرشیو کردن فایل‌ها و دایرکتوری‌ها
- فشرده‌سازی (Compress)
- استخراج (Extract)
است که تقریباً روی همه‌ی توزیع‌های لینوکسی به صورت پیش‌فرض نصب شده.

---

## 📦 ساخت آرشیو با `tar`

### ۱. ساخت فایل آرشیو ساده (بدون فشرده‌سازی)
```bash
tar -cvf archive_name.tar /path/to/directory
```

🔹 توضیح سوییچ‌ها:
- `-c` : ایجاد یک آرشیو جدید (create)
- `-v` : نمایش فایل‌های در حال آرشیو شدن (verbose)
- `-f` : تعیین نام فایل خروجی (file)

**مثال:**
```bash
tar -cvf backup.tar /home/user/Documents
```
این دستور دایرکتوری Documents را به فایل backup.tar آرشیو می‌کند.

---

## 📦 فشرده‌سازی همراه با آرشیو

### ۲. آرشیو و فشرده‌سازی با gzip (`.tar.gz`)
```bash
tar -czvf archive_name.tar.gz /path/to/directory
```
🔹 سوییچ جدید:
- `-z` : فشرده‌سازی با gzip

**مثال:**
```bash
tar -czvf backup.tar.gz /var/www/html
```

---

### ۳. آرشیو و فشرده‌سازی با bzip2 (`.tar.bz2`)
```bash
tar -cjvf archive_name.tar.bz2 /path/to/directory
```
🔹 سوییچ جدید:
- `-j` : فشرده‌سازی با bzip2 (معمولاً فشرده‌تر از gzip)

**مثال:**
```bash
tar -cjvf backup.tar.bz2 /etc
```

---

### ۴. آرشیو و فشرده‌سازی با xz (`.tar.xz`)
```bash
tar -cJvf archive_name.tar.xz /path/to/directory
```
🔹 سوییچ جدید:
- `-J` : فشرده‌سازی با xz (بالاترین میزان فشرده‌سازی)

**مثال:**
```bash
tar -cJvf backup.tar.xz /opt
```

---

## 📂 استخراج آرشیوها با `tar`

### ۱. استخراج فایل `.tar`
```bash
tar -xvf archive_name.tar
```

### ۲. استخراج فایل `.tar.gz`
```bash
tar -xzvf archive_name.tar.gz
```

### ۳. استخراج فایل `.tar.bz2`
```bash
tar -xjvf archive_name.tar.bz2
```

### ۴. استخراج فایل `.tar.xz`
```bash
tar -xJvf archive_name.tar.xz
```

🔹 سوییچ جدید:
- `-x` : استخراج فایل‌های آرشیو شده (extract)

---

## 📂 استخراج به یک دایرکتوری مشخص

مثال: استخراج فایل فشرده در `/tmp`
```bash
tar -xzvf archive_name.tar.gz -C /tmp
```

---

## ✂️ فقط استخراج فایل خاص از آرشیو

مثال: فقط یک فایل مشخص را از آرشیو خارج کن:
```bash
tar -xvf archive_name.tar somefolder/somefile.txt
```

---

## 🛠️ دستورات پیشرفته با `tar`

| دستور | توضیح |
|------------------------------------|-----------------------------------------------|
| `tar -tvf archive.tar` | نمایش محتویات آرشیو بدون استخراج |
| `tar -rvf archive.tar newfile.txt` | اضافه کردن فایل جدید به آرشیو موجود |
| `tar --delete -f archive.tar file` | حذف فایل خاص از آرشیو (توجه: فقط روی tar بدون فشرده‌سازی) |
| `tar -czf - /path | ssh user@server 'cat > backup.tar.gz'` | بکاپ‌گیری و ارسال مستقیم به سرور دیگر |

---

## 🧠 نکات حرفه‌ای

- می‌توان با `split` فایل‌های آرشیو بزرگ را به بخش‌های کوچک‌تر تقسیم کرد.
- برای بکاپ‌های زمانبندی‌شده بهتر است از `cron` + `tar` استفاده شود.
- بهتر است آرشیوها را قبل از عملیات مهمی مثل upgrade سیستم داشته باشید.

---

## ✨ نتیجه‌گیری

دستور `tar` بسیار قدرتمند، سریع و قابل اطمینان است. چه برای گرفتن بکاپ‌های منظم، چه برای فشرده‌سازی جهت ارسال فایل به دیگران، همیشه یکی از بهترین انتخاب‌های لینوکس محسوب می‌شود.

 


آیا این پاسخ به شما کمک کرد؟

  • 0
« برگشت