فشرده سازی در لینوکس همراه با مثال‌های کاربردی

فشرده سازی در لینوکس

فشرده سازی در لینوکس به شما کمک می‌کنند تا فایل‌ها و دایرکتوری‌ها را به فرمت‌های فشرده تبدیل کنید و حجم آنها را کاهش دهید. این دستورات برای بهینه‌سازی فضای دیسک، ارسال فایل‌ها به صورت فشرده یا ایجاد نسخه‌های پشتیبان (Backup) استفاده می‌شوند. در ادامه به معرفی دستورات مهم و رایج آرشیو و فشرده سازی در لینوکس همراه با مثال‌ها و سوئیچ‌های مهم آن می‌پردازیم.

لیست مهمترین دستورات فشرده سازی در لینوکس

دستور tar (Tape Archive) برای فشرده سازی در لینوکس

دستور tar برای ایجاد، استخراج و مدیریت فایل‌های آرشیو استفاده می‌شود. آرشیو به معنای جمع‌آوری چندین فایل یا دایرکتوری در یک فایل واحد است، بدون اینکه حجم فایل‌ها تغییر کند. در واقع، فایل‌های موجود در یک آرشیو تنها در یک بسته (فایل واحد) قرار می‌گیرند.

هدف اصلی از ایجاد آرشیو، مدیریت راحت‌تر فایل‌ها، ارسال و انتقال آسان‌تر، یا تهیه نسخه پشتیبان است. این دستور به تنهایی فایل‌ها را فشرده نمی‌کند اما اغلب با دیگر ابزارهای فشرده‌سازی مانند gzip یا bzip2 ترکیب می‌شود.

سینتک استفاده از دستور tar :

tar [options] archive_name.tar file_or_directory

سوئیچ‌های مهم مورد استفاده دستور tar

-c: ایجاد آرشیو (create).
-x: استخراج فایل‌ها از آرشیو (extract).
-v: نمایش فرایند انجام کار (verbose).
-f: تعیین نام فایل آرشیو.
-z: فشرده‌سازی با gzip.
-j: فشرده‌سازی با bzip2.
-t: لیست کردن محتویات آرشیو.
-C: استخراج در دایرکتوری خاص.

مثال‌هایی برای استفاده از دستور tar

ایجاد یک آرشیو از دایرکتوری بدون فشرده‌سازی:

tar -cvf archive_name.tar /path/to/directory

این دستور یک آرشیو به نام archive_name.tar از دایرکتوری مشخص شده ایجاد می‌کند.

ایجاد یک آرشیو فشرده با gzip

tar -cvzf archive_name.tar.gz /path/to/directory

این دستور یک آرشیو فشرده به نام archive_name.tar.gz از دایرکتوری ایجاد می‌کند.

استخراج یک آرشیو فشرده شده

tar -xvzf archive_name.tar.gz

این دستور محتویات آرشیو فشرده شده را استخراج می‌کند.

استخراج یک فایل آرشیو در یک دایرکتوری خاص

tar -xvf archive-2.tar -C /root/archive-2

این دستور محتویات فایل آرشیو شده archive-2.tar را در مسیر archive-2 استخراج می‌کند.

لیست کردن محتویات آرشیو

tar -tvf archive_name.tar.gz

این دستور محتویات آرشیو را بدون استخراج آن لیست می‌کند.

دستور gzip برای فشرده سازی در لینوکس

دستور gzip برای فشرده‌سازی فایل‌ها با استفاده از الگوریتم DEFLATE استفاده می‌شود. این دستور به طور پیش‌فرض فایل‌های فشرده با پسوند .gz ایجاد می‌کند.

سینتکس دستور gzip برای فشرده سازی در لینوکس

gzip [options] file

سوئیچ‌های مهم کاربردی برای دستور gzip

-d: استخراج فایل فشرده (decompress).
-k: حفظ فایل اصلی (keep).
-v: نمایش اطلاعات فشرده‌سازی.

مثال‌های کاربردی برای فشرده سازی در لینوکس با دستور gzip

فشرده‌سازی یک فایل

gzip filename

این دستور فایل filename را فشرده کرده و یک فایل جدید با پسوند .gz ایجاد می‌کند.

استخراج یک فایل فشرده

gzip -d filename.gz

این دستور فایل فشرده را استخراج می‌کند و فایل اصلی را بازیابی می‌کند.

فشرده‌سازی و حفظ فایل اصلی

gzip -k filename

این دستور فایل را فشرده کرده اما فایل اصلی را حفظ می‌کند.

دستور bzip2 برای فشرده سازی در لینوکس

دستور bzip2 برای فشرده‌سازی با استفاده از الگوریتم Burrows-Wheeler استفاده می‌شود و فایل‌های فشرده شده با پسوند .bz2 ایجاد می‌کند. این الگوریتم سرعت کمتری نسبت به gzip دارد اما فشرده‌سازی بهتری انجام می‌دهد.

سینتکس کار با دستور دستور bzip2 برای فشرده سازی در لینوکس

bzip2 [options] file

سوئیچ‌های مهم و کاربردی دستور bzip2

-d: استخراج فایل فشرده (decompress).
-k: حفظ فایل اصلی.
-v: نمایش اطلاعات فشرده‌سازی.

مثال‌هایی برای کار با دستور bzip2

فشرده‌سازی یک فایل

bzip2 filename

این دستور فایل filename را فشرده کرده و یک فایل با پسوند .bz2 ایجاد می‌کند.

استخراج یک فایل فشرده شده

bzip2 -d filename.bz2

این دستور فایل فشرده شده را استخراج می‌کند.

فشرده‌سازی و حفظ فایل اصلی

bzip2 -k filename

این دستور فایل را فشرده کرده و فایل اصلی را حفظ می‌کند.

دستور xz برای فشرده سازی در لینوکس

دستور xz برای فشرده‌سازی فایل‌ها با استفاده از الگوریتم LZMA استفاده می‌شود. این دستور فایل‌هایی با پسوند .xz ایجاد می‌کند.

سینتکس دستور xz

xz [options] file

سوئیچ‌های مهم دستور xz

-d: استخراج فایل فشرده (decompress).
-k: حفظ فایل اصلی.
-v: نمایش اطلاعات فشرده‌سازی.

مثال‌های کاربردی دستور xz

فشرده‌سازی یک فایل

xz filename

این دستور فایل filename را فشرده کرده و یک فایل با پسوند .xz ایجاد می‌کند.

استخراج یک فایل فشرده شده

xz -d filename.xz

این دستور فایل فشرده شده را استخراج می‌کند.

فشرده‌سازی و حفظ فایل اصلی:

xz -k filename

این دستور فایل را فشرده کرده و فایل اصلی را حفظ می‌کند.

دستور zip و unzip برای استخراج و فشرده سازی در لینوکس

دستور zip برای فشرده‌سازی فایل‌ها و دایرکتوری‌ها به فرمت ZIP استفاده می‌شود و دستور unzip برای استخراج فایل‌های ZIP به کار می‌رود.

سینتکس کار با دستور zip و unzip

zip [options] zipfile file_or_directory

unzip [options] zipfile

سوئیچ‌های مهم برای zip

-r: فشرده‌سازی دایرکتوری‌ها به‌صورت بازگشتی (recursive).
-v: نمایش اطلاعات فرایند فشرده‌سازی.
-e: ایجاد فایل ZIP رمزگذاری‌شده.

مثال‌های کاربردی از دستور zip و unzip

فشرده‌سازی یک فایل

zip archive.zip filename

این دستور فایل filename را فشرده کرده و یک فایل با نام archive.zip ایجاد می‌کند.

فشرده‌سازی یک دایرکتوری

zip -r archive.zip /path/to/directory

این دستور دایرکتوری را به صورت بازگشتی فشرده می‌کند.

استخراج فایل ZIP

unzip archive.zip

این دستور فایل‌های داخل archive.zip را استخراج می‌کند.

دستور zcat برای فشرده سازی در لینوکس

دستور zcat برای نمایش محتوای فایل‌های فشرده شده با gzip استفاده می‌شود، بدون اینکه نیاز به استخراج فایل باشد.

سینتکس کار با دستور zcat

zcat file.gz

چند مثال کاربردی برای کار با دستور zcat

نمایش محتوای فایل فشرده

zcat filename.gz

این دستور محتوای فایل filename.gz را نمایش می‌دهد.

در دسته بندی دستورات لینوکس برای فشرده سازی ابزارهای مختلفی برای آرشیو و فشرده‌سازی در لینوکس وجود دارند که هر کدام برای موارد خاصی به کار می‌روند. tar یکی از ابزارهای رایج برای ایجاد آرشیو است که به همراه gzip و bzip2 برای فشرده‌سازی استفاده می‌شود. zip و unzip نیز برای فرمت ZIP به‌کار می‌روند و دسترسی راحتی برای فشرده‌سازی و استخراج فراهم می‌کنند.

برای آشنایی بیشتر با فشرده سازی در لینوکس میتوانید این مقاله را هم مطالعه کنید.