لینوکس‌لرنینگ

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

در لینوکس و یونیکس دستورات مختلفی برای فشرده‌سازی فایل‌ها و خارج‌ کردن آن‌ها از حالت فشرده وجود دارد. برای فشرده‌سازی فایل‌ها می‌توانید از دستورات gzip، bzip2 و zip استفاده کرده و برای خارج‌ کردن فایل‌ها از حالت فشرده نیز دستورات (gzip -d ، bunzip2(bzip2 -d و unzip مورد استفاده قرار می‌گیرند. در ادامه این مقاله به‌طور مفصل به شرح این دستورات، موارد استفاده از آن‌ها  و مثال‌هایی برای درک بهتر این نوع از دستورات لینوکس می‌پردازیم.

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

دستورات فشرده‌سازی (Compressing files)

  1. دستور Gzip :

این دستور اندازه فایل‌های داده شده را با استفاده از کدگذاری LZ77) Lempel-Ziv)  فشرده می‌کند و هر فایل با پسوند gz. جایگزین می‌شود. برای استفاده از این دستور باید به‌صورت  زیر عمل کنید:

gzip {filename}

به‌عنوان مثال، این دستور به‌صورت زیر نوشته می‌شود:

gzip mydata.doc

gzip *.jpg

ls -l
  • دستور bzip2:

bzip2 فایل‌ها را با استفاده از الگوریتم فشرده‌سازی متن Burrows-Wheeler و کدگذاری هافمن فشرده می‌کند. به‌طور کلی این دستور، فشرده‌سازی قابل توجه و بهتری را نسبت به دستور  bzip انجام می‌دهد و فشرده‌سازی آن مبتنی بر LZ77/LZ78 است. علاوه بر این هر فایل با پسوند bz2. جایگزین می‌شود.

این دستور به‌صورت زیر نوشته می‌شود:

bzip2 {filename}

به‌طور مثال:

bzip2 mydata.doc

bzip2 *.jpg

ls -l
  • دستور zip:

zip یک دستور برای فشرده‌سازی و بسته‌بندی فایل‌ها  در یونیکس/لینوکس است.  هر فایل در یک فایل  جداگانه { zip {.zip-filename. با پسوند zip. ذخیره می‌شود.

zip {.zip-filename} {filename-to-compress}

به‌عنوان مثال در دستور زیر mydata.zip نام فایلی است که فایل فشرده‌شده در آن قرار می‌گیرد و mydata.doc نام فایلی است که باید فشرده شود.

zip mydata.zip mydata.doc

zip data.zip *.doc

ls -l
  • دستور tar:

GNU tar دستور بایگانی است؛ اما می‌توانید از آن برای فشرده‌سازی فایل‌های بزرگ در سرور لینوکس نیز استفاده کنید. GNU tar از فشرده‌سازی بایگانی gzip و bzip2 پشتیبانی می‌کند. اگر بیشتر از ۲ فایل دارید، بهتر است به جای gzip یا bzip2 از tar استفاده کنید.

-z: از  دستور فشرده‌سازی gzip استفاده کرده و پسوند فایل فشرده‌شده  tgz. است.

-j: از  دستور فشرده‌سازی bzip2 استفاده کرده و پسوند فایل فشرده‌شده  tbz2. است.

tar -zcvf {.tgz-file} {files}

tar -jcvf {.tbz2-file} {files}

مثال:

tar -zcvf data.tgz *.doc

tar -zcvf pics.tar.gz *.jpg *.png

tar -jcvf data.tbz2 *.doc

ls -l

دستورات خارج‌ کردن فایل‌ها از حالت فشرده‌ شده (Decompressing files)

  1. دستور gzip -d:

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

gzip -d {.gz file}

gunzip {.gz file}

مثال:

gzip -d mydata.doc.gz

gunzip mydata.doc.gz
  • دستور bzip2 -d:

شما می‌توانید به کمک دستور bzip2 -d  یا bunzip2 فایلی که با استفاده از دستور bzip2 ایجاد کرده‌اید را از حالت فشرده خارج کنید. طرز صحیح نوشتن این دستور به‌صورت زیر است:

bzip2 -d {.bz2-file}

bunzip2 {.bz2-file}

مثال:

bzip2 -d mydata.doc.bz2

gunzip mydata.doc.bz2
  • دستور unzip:

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

unzip {.zip file}

مثال:

unzip file.zip

unzip data.zip resume.doc
  • دستور tar:

فایل‌هایی که با استفاده از دستور فشرده‌سازی tar از طریق فیلتر gzip و bzip2 ایجاد شده‌اند را به کمک ساختار زیر از حالت فشرده خارج کنید.

tar -zxvf {.tgz-file}

tar -jxvf {.tbz2-file}

مثال:

tar -zxvf data.tgz

tar -zxvf pics.tar.gz *.jpg

tar -jxvf data.tbz2

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

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

۱) gzip -l {.gz file}

فایل‌ها را از بایگانی GZIP فهرست می‌کند.

مثال:

gzip -l mydata.doc.gz

۲) unzip -l {.zip file}

فایل‌ها را از یک آرشیو ZIP فهرست می‌کند.

مثال:

unzip -l mydata.zip

۳) tar -ztvf {.tar.gz}

tar -jtvf {.tbz2}

فایل‌ها را از بایگانی TAR فهرست می‌کند.

مثال:

tar -ztvf pics.tar.gz

tar -jtvf data.tbz2

کلام آخر

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

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

سوالات متداول

دستور فشرده‌سازی در لینوکس چیست؟

دستور فشرده‌سازی داده‌ها با استفاده از کدگذاری تطبیقی Lempel-Zev برای کاهش حجم فایل‌ها انجام می‌شود.  در صورت امکان هر فایل اصلی مشخص‌ شده توسط پارامتر File با یک فایل فشرده جایگزین می‌شود.

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

دستور zip برای فشرده‌سازی فایل‌ها و کاهش حجم آن‌ها مورد استفاده قرار می‌گیرد. zip در بسیاری از سیستم عامل‌ها مانند یونیکس، لینوکس، ویندوز و غیره موجود است.

چگونه یک فایل فشرده در لینوکس ایجاد کنیم؟

در اینجا به توضیح نحوه ایجاد فایل tar.gz در لینوکس با استفاده از خط فرمان می‌پردازیم.

  1. برنامه ترمینال را در لینوکس باز کنید.
  2. دستور tar را اجرا کنید. با اجرای: tar -czvf  file.tar.gz directory یک فایل بایگانی‌شده با نام file.tar.gz برای فایلی که قصد دارید آن را فشرده کنید، ایجاد می‌شود.
  3. با استفاده از دستور ls و دستور tar فایل tar.gz را تأیید کنید.

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

Lossless Compression ,Text compression (lossless) , Run-length Encoding، کدگذاری هافمن (Huffman Coding)، کدگذاری شانون فانو (Shannon-FANO Coding)

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

استفاده از دستور gzip بسیار ساده است. فقط کافیست دستور”gzip” را تایپ کنید و سپس نام فایلی را که می‌‌خواهید فشرده شود، بعد از آن بنویسید. gzip فایل‌ها را در جای خود رمزگذاری می‌کند؛ به عبارت دیگر، فایل اصلی با فایل رمزگذاری‌شده جایگزین می‌شود.

دیدگاه‌ خود را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *

پیمایش به بالا