جدول محتوایی
آموزش فشرده سازی و استخراج فایل با دستور zip, tar در لینوکس
Zip و tar ابزار های ترمینال محبوب برای فشردهسازی و آرشیو کردن چندین فهرست و فایل در یک فایل آرشیو در یک سیستم لینوکس هستند. بهطور پیشفرض، دستور tar فایلها را فشرده نمیکند، بلکه فقط فایلها و ابردادههای آنها را جمعآوری میکند تا یک فایل tar ایجاد کند، اما میتوانیم فایلها را با استفاده از gzip/bzip2 بایگانی کنیم.
در حالی که، zip فشردهسازی دادههای بدون تلفات را فراهم میکند که یک کلاس الگوریتم فشردهسازی داده است.
zip اجازه میدهد دادههای فشردهشده به شکل اصلی خود بازسازی شوند.
gzip و zip از الگوریتم DEFLATE برای فشردهسازی فایلها استفاده میکنند.
bzip2 از الگوریتم Burrows-Wheeler استفاده میکند که فایلهای بسیار فشرده تولید میکند اما در مقایسه با gzip و zip زمان بیشتری مصرف میکند.
نصب و راه اندازی
به طور پیش فرض، دستور tar با سیستم لینوکس سازگار است، بنابراین بیایید با نصب zip و unzip شروع کنیم.
دستور unzip هنگام نصب دستور zip نصب نمیشود، بنابراین باید آن را جداگانه نصب کنیم. قبل از ادامه نصب، فراموش نکنید که اطلاعات پکیج را به روز کنید:
$ sudo apt-get update
نصب Zip:
$ sudo apt-get install zip
نصب Unzip:
$ sudo apt-get install unzip
برای نشان دادن مثال زیر، من از اوبونتو 20.4 استفاده کرده ام و فایل های زیر را در home directory قرار دادم:
نمونه هایی از دستور های tar
قبل از ادامه مثال، باید با دستور زبانی tar اشنا شوید:
$ tar -c [option] [archive name] [file] | [directory] |
گزینه های زیر گزینه های اصلی و اجباری هستند که دستور را به سمت انجام وظیفه هدایت می کنند. گزینه های زیر را می توان یک بار در دستور استفاده کرد بدون آن دستور اجرا نخواهد شد.
c–: برای تولید فایل آرشیو.
r–: برای افزودن فایل های بیشتر به فایل آرشیو موجود.
t–: مشاهده تمام فایل های داخل بایگانی.
x–: برای استخراج فایل های آرشیو.
فشرده سازی فایل ها با استفاده از gzip و bzip2 با دستور tar
دستور tar یک فایل فشرده با استفاده از gzip و bzip2 تولید می کند که به ترتیب با ارائه گزینه های z–و j– به دستور قابل دسترسی است. برای آرشیو و فشرده سازی فایل های tar باید دستور زیر را اجرا کنیم.
$ tar -cvzf compress_sample.tar.gz *.txt
فشرده سازی فایل با استفاده از gzip:
$ tar -cvjf compress_sample.tar.bz2 *.txt
فشرده سازی فایل با استفاده از bz2:
در مثال بالا، گزینه -c به ایجاد فایل ارشیو اشاره دارد، گزینه -v به صورت کامل فایل های ارشیو شده را نشان می دهد و -f نشان دهنده نام فایل ارشیو است.
نکته: گزینه -f همیشه باید قبل از نام فایل باشد.
استخراج فایل ها از حالت فشرده
برای استخراج فایل فشرده باید دستور زیر را اجرا کنید:
tar -xvf compress_sample.tar.gz
دستور بالا فایل را در دایرکتوری فعلی استخراج می کند، اما اگر می خواهید فایل ها را در دایرکتوری دیگری استخراج کنید، می توانید این کار را با استفاده از -C در دستور انجام دهید.
$ tar -xvf compress_sample.tar.gz -C Documents/
استخراج فایل ها به دایرکتوری های مختلف با استفاده از tar.
استخراج فایل های منتخب از فایل فشرده با دستور tar
ما میتوانیم فایلهای خاص منتخب خود را از فایل فشرده استخراج کنیم.
در صورتی که این فایل ها درون دایرکتوری قرار گرفته باشند، باید نام فایل را به همراه نام دایرکتوری مشخص کنیم:
$ tar -xvf compress_sample.tar sample.txt student.txt
استخراج فایل های خاص با استفاده از tar.
نمونه هایی از دستور های Zip/Unzip
دستور زبانی برای zip و unzip به شرح زیر است:
$ zip [option] [archive_name] [Files]
$ unzip [option] [archive_name]
فشرده سازی فایل ها با استفاده از Zip
Zip فشرده ساز ارشیو ها است، بنابراین ما نیازی به ارائه هیچ پارامتر اضافی برای فشرده سازی فایل ها نداریم. برای فشرده سازی باید دستور زیر را اجرا کنیم:
$ zip zip_demo.zip *.txt
Unzip کردن فایل از حالت فشرده در دایرکتوری های مختلف
با استفاده از گزینه -d و مشخص کردن دایرکتوری در دستور، میتوانیم فایلهای فشرده را در دایرکتوریهای مختلف از حالت فشرده خارج کنیم.
$ unzip zip_demo.zip -d Documents/
فایل را در دایرکتوری دیگری از حالت فشرده خارج کنید.
Unzip کردن فایل های منتخب از فایل فشرده
برای خارج کردن یک فایل خاص از آرشیو دستور باید به روش زیر اجرا شود:
$ unzip zip_demo.zip student.txt sample.txt
جمع بندی
در این مقاله با نحوه آرشیو و فشرده سازی فایل ها با استفاده از دستور tar و zip آشنا شدیم . من متداول ترین مثال ها را در مقاله گنجانده ام و امیدوارم این مقاله فشرده سازی فایل ها را برای شما اسوده تر کند. موفق باشید!
ممنون بابت مطالب خوبتون
اگر ممکن است این پست رو بروز کنید نکات دیگری هم عنوان شده در نت
ایرانیکاسرور همیشه عالی هستید
ممنون جالب بود
ایرانیکاسرور همیشه عالی هستید
با سپاس