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

لینوکس تعدادی دستور برای فشرده سازی فایل ها وجود دارد. یکی جدیدترین و مفیدترین این دستورات، دستور xz است. اما همه آن ها دارای مزایایی برای صرفه جویی در فضای دیسک و حفظ فایل ها برای استفاده های بعدی دارند. در این مطلب ما تعدادی از دستورات فشرده سازی فایل ها در لینوکس را معرفی و آن ها را با هم مقایسه خواهیم کرد. همچنین به تفاوت های قابل توجه نیز اشاره می کنیم.

دستور tar

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

وقتی که فشرده سازی با استفاده از آپشن z به یک دستور tar اضافه می شود، tar از gzip برای فشرده سازی استفاده می کند. شما می توانید تک فایل ها را نیز مانند فایل های گروهی فشرده کنید.

برای فشرده کردن فایل ها با این دستور، فقط کافیست تا مانند مثال زیر عمل کنید: ( فرمت دستور: [نام فایل] [نام فایل جدید] tar cfz )

در دستور بالا، bigfile نام فایلی است که می خواهیم فشرده شود و bigfile.tgz نام فایل جدید فشرده شده خواهد بود.

با استفاده از دستور ls لیست فایل های دایرکتوری جار را به همراه حجم آن ها نمایش می دهیم تا بدانیم فایل مورد نظر چقدر فشرده شده است:

همانطور که مشاهده می کنید، حجم فایل اصلی حدود 103 مگابایت بوده و حجم فایل فشرده شده حدود 21 مگابایت می باشد.

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

دستور zip درحالیکه فایل اصلی را دست نخورده باقی می گذارد، یک فایل فشرده ایجاد می کند. نحوه استفاده از آن ساده است. مانند دستور tar، شما باید فایل اصلی را به عنوان آخرین پارامتر در دستور قرار دهید.

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

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

gzip

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

bzip2

این دستور نیز همانند دستور gzip عمل می کند. پس از انجام عملیات، فایل فشرده شده را جایگزین فایل اصلی می کند.

xz

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

برای فایل های با حجم بزرگتر، این دستور نسبت به سایر دستورات مدت زمان بیشتری طول می کشد تا فایل ها را فشرده کند اما در عوض نتایج بهتری نیز خواهد داشت.

مقایسه کاهش فایل

ما فایل bigfile که یک فایل متنی نسبتا بزرگ است را با دستورات مختلفی که در بالا توضیح داده شد، فشرده کرده ایم. در بخش زیر می توانید نتایج را مشاهده و آن ها را با هم مقایسه کنید. همچنین نسبت فایل فشرده شده به فایل اصلی نیز در جلوی هر دستور به صورت درصد آمده است. (هرچه درصد کوچکتر باشد، فایل بیشتر فشرده شده است)

می بینید که دستور xz برنده است و حدود 77%درصد فایل را فشرده می کند. اما همه دستورات فایل اصلی را تا حد قابل قبول و زیادی فشرده کرده اند. (البته توجه داشته باید که میزان فشرده سازی ارتباط مستقیم با نوع فایل دارد و همیشه ثابت نیست)

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

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

مدت زمانی که طول می کشد فایل را از حالت فشرده خارج کنیم، معمولا کمتر از زمان فشرده سازی است.

خارج کردن فایل ها از حالت فشرده

در ادامه دستورات uncpompress کردن برای هر دستور بالا را نشان داده ایم:

  • tar: tar xf bigfile.tgz
  • zip: unzip bigfile.zip
  • gzip: gunzip bigfile.gz
  • bzip2: bunzip2 bigfile.gz2
  • xz: xz -d bigfile.xz or unxz bigfile.xz
QR:  5 روش برای فشرده سازی فایل ها در لینوکس
به اشتراک بگذارید