پرش به محتویات

درسنامه ۲-۱۰: فشرده‌سازی و آرشیو فایل‌ها

با tar می‌توان چند فایل/پوشه را در یک آرشیو قرارداد و با gzip/bzip2/xz آن را فشرده کرد. zip/unzip نیز رایج هستند.

tar + gzip

tar -czf backup.tar.gz mydir/      # ساخت آرشیو فشرده
tar -tzf backup.tar.gz             # مشاهدهٔ محتوا
tar -xzf backup.tar.gz -C /tmp     # استخراج در مقصد

zip

zip -r project.zip src/ README.md
unzip project.zip -d ./extracted

نکته: پسوندها رایج‌اند اما تعیین‌کنندهٔ فرمت نیستند؛ از سوئیچ‌های درست استفاده کنید.

تمرین کوتاه

  • از یک پوشهٔ پروژه آرشیو tar.gz بگیرید و در مسیر دیگری استخراج کنید.
  • چند فایل را در یک zip بگذارید و محتوایش را بررسی کنید.

نکات و مثال‌های بیشتر

  • حفظ مجوزها و زمان‌ها در tar: به‌صورت پیش‌فرض حفظ می‌شوند؛ برای فشرده‌سازی‌های دیگر می‌توانید از -p هنگام استخراج استفاده کنید.
  • فشرده‌سازهای جایگزین:
tar -cJf backup.tar.xz dir/   # xz
tar -cjf backup.tar.bz2 dir/  # bzip2
  • استخراج بخشی از آرشیو:
tar -xzf backup.tar.gz path/inside/archive.txt
  • بررسی اندازهٔ مؤثر قبل/بعد از فشرده‌سازی:
du -sh dir/ backup.tar.gz

خطاهای رایج

  • قاطی‌کردن ترتیب فلگ‌های tar؛ شکل‌های -czf و -xzf را به خاطر بسپارید.
  • استخراج در مسیر اشتباه؛ از -C برای تعیین مقصد استفاده کنید.