نحوه فشرده سازی و فشرده سازی فایل ها با استفاده از tar در Linux – CloudSavvy IT


شاتر استوک / iunewind

Tar چیزی فراتر از یک برنامه پشتیبان گیری است: tar دارای برخی از ویژگی های داخلی داخلی است که به شما امکان می دهد همزمان با پشتیبان گیری از پرونده ها ، آنها را فشرده و از حالت فشرده خارج کنید. در این مقاله و بیشتر همه چیز را در مورد آن بیاموزید!

چیست تار و چگونه آن را نصب کنیم؟

مطابق با تار به صورت دستی (که با وارد کردن می توانید به آن دسترسی پیدا کنید man tar پس از نصب) ، tar یک برنامه پشتیبان است. این برنامه از بسیاری از ویژگی ها ، از جمله فشرده سازی و خارج کردن فشرده سازی فایل ها هنگام تهیه نسخه پشتیبان ، پشتیبانی می کند. بیایید با نصب شروع کنیم تار:

برای نصب تار در توزیع لینوکس خود بر اساس Debian / Apt (مانند اوبونتو و Mint) ، دستور زیر را در ترمینال خود اجرا کنید:

sudo apt install tar

برای نصب تار در توزیع RedHat / Yum مبتنی بر لینوکس (مانند RHEL ، Centos و Fedora) دستور زیر را در ترمینال خود اجرا کنید:

sudo yum install tar

سپس برخی از داده های نمونه را ایجاد خواهیم کرد:

mkdir test; cd test
touch a b c d e f 
echo 1 > a; echo 5 > e; echo '22222222222222222222' > b

تنظیم نمونه داده ها برای فشرده سازی

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

اگر می خواهید درباره نحوه کار فشرده سازی بیشتر بیاموزید ، می توانید نگاهی به مقاله “فشرده سازی پرونده” چگونه کار می کند؟ مقاله.

ایجاد بایگانی فشرده نشده

فقط بایگانی فشرده نشده تار ایجاد کنید

tar -hcf all_files.tar *
ls -l | grep -v total | awk '{print $5"tbytes for: "$9}' | sort -n

در اینجا با استفاده از یک بایگانی فشرده نشده ایجاد کردیم tar -hcf all_files.tar * تیم بیایید گزینه های مورد استفاده در این دستور را بررسی کنیم.

اول ، ما داریم -h که اگرچه در این مورد لازم نیست ، اما اکیداً توصیه می کنم که همیشه آن را در لیست خود قرار دهید tar دستورات این گزینه یعنی عدم مراجعهکه پیوندهای نمادین را هدایت می کند (یا آنها را دنبال می کند) ، پرونده هایی را که به آنها نشان می دهد بایگانی کرده و دور بریزد.

پس ما داریم -c و -f تنظیمات. توجه داشته باشید که آنها به راحتی همراه با آنها نوشته می شوند - که در -h، یعنی به جای مشخص کردن یکی دیگر -، ما به سادگی آنها را در سایر گزینه های مختصر علامت گذاری می کنیم. سریع و آسان

-c گزینه ایستاده برای بایگانی جدیدی ایجاد کنید. توجه داشته باشید که از فهرست ها بطور پیش فرض پشتیبان تهیه می شود ، مگر اینکه از گزینه بدون بازگشت استفاده شود. -f این گزینه به ما امکان می دهد نام بایگانی را مشخص کنیم. بنابراین ، باید آخرین زنجیره گزینه ما باشد (از آنجا که به یک گزینه نیاز دارد) تا بتوانیم نام پرونده بایگانی را مستقیماً پشت آن اضافه کنیم. استفاده كردن tar -fch test.tar * کار نخواهد کرد:

گزینه های مختصر که به یک گزینه نیاز دارند را نمی توان در جلو قرار داد

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

به عنوان یک عنصر جانبی جالب ، فقط با استفاده از آنها می توانیم ببینیم که با چه نوع پرونده هایی کار می کنیم file دستور در خط فرمان:

file c
file b
file all_files.tar

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

ایجاد بایگانی فشرده نشده

یک الگوریتم فشرده سازی بسیار رایج GZIP است. بیایید همان گزینه را اضافه کنیم (-z) به گزینه های مختصر خط فرمان ما و ببینید که چگونه این بر اندازه پرونده تأثیر می گذارد:

tar -zhcf all_files.tar.gz [a-f]
ls -l | grep -v total | awk '{print $5"tbytes for: "$9}' | sort -n

در نظر گرفتن اندازه بایگانی فشرده در برابر بایگانی فشرده نشده

این بار یک عبارت منظم را مشخص کردیم که فقط از پرونده های نام برده استفاده می کند آ به است، جلوگیری می کند tar دستور روشن شدن all_files.tar پرونده در جدید all_files.tar.gz فایل!

ببینید واقعاً چگونه از Regex استفاده می کنید؟ اگر می خواهید در مورد عبارات منظم بیشتر بدانید ، متن را با استفاده از عبارات منظم اصلاح کنید ، از sed استفاده کنید.

ما همچنین شامل -z گزینه ای که از فشرده سازی GZIP برای فشرده سازی نتیجه استفاده خواهد کرد .tar پس از اتمام دفع اطلاعات در آن ، پرونده را وارد کنید. بسیار عالی است که می بینیم در نهایت با یک فایل 186 بایت روبرو می شویم که به ما می گوید – در این مورد – tar هدر / سربار حدود 10Kb می تواند به خوبی فشرده شود.

اندازه کل بایگانی 7.44 برابر اندازه کل پرونده است ، اما از اهمیت کمی برخوردار است ، زیرا این مثال داستانی برای فشرده سازی پرونده های بزرگ ، که تقریباً همیشه به جای ضرر ، سودهایی را نشان می دهد ، نماینده نیست ، مگر اینکه داده از قبل فشرده نشده و یا به شکلی نیستند که نمی توان آنها را با استفاده از الگوریتم های مختلف به راحتی متراکم کرد. با این حال ، ممکن است یک الگوریتم (مانند GZIP) از مجموعه داده های مختلف بهتر از دیگری باشد (مانند BZIP2) و بالعکس.

با استفاده از فشرده سازی سطح بالا ، بایت بیشتری دریافت کنید

آیا می توانیم پرونده را حتی کوچکتر کنیم؟ آره. ما می توانیم با استفاده از گزینه فشرده سازی حداکثر GZIP را تنظیم کنیم -I گزینه برای tar که به ما اجازه می دهد یک برنامه فشرده سازی را برای استفاده مشخص کنیم (به لطف ایده های سفارشی stackoverflow42):

tar -I 'gzip -9' -hcf all_files.tar.gz [a-f]
ls -l | grep -v total | awk '{print $5"tbytes for: "$9}' | sort -n

برای تعیین یک برنامه فشرده سازی از گزینه -I برای tar استفاده کنید

در اینجا اشاره کردیم -I 'gzip -9' به عنوان برنامه فشرده سازی که ما استفاده می کنیم ، و ما آن را راه اندازی کردیم -z گزینه (از آنجایی که ما اکنون یک برنامه سفارشی خاص را مشخص کرده ایم تا به جای استفاده از پیکربندی GZIP داخلی tar استفاده کند). نتیجه این است که در نتیجه یک تلاش فشرده سازی بهتر (اما عموماً کندتر) 12 بایت کمتر داریم (در -9) از GZIP.

به طور کلی ، فشرده سازی هرچه سریعتر انجام شود (سطح تلاش برای فشرده سازی پایین تر است ، یعنی. -1) ، اندازه پرونده بزرگتر است. و هرچه فشردگی کندتر باشد (سطح تلاش برای فشرده سازی بالاتر است ، یعنی. -9) ، پرونده کوچکتر است. با تغییر سطح فشرده سازی از می توانید تنظیمات برگزیده خود را تنظیم کنید -1 (به سرعت) به -9 (آهسته. تدریجی)

سایر برنامه های فشرده سازی

دو الگوریتم فشرده سازی مشترک دیگر نیز وجود دارد که می تواند مورد بررسی و آزمایش قرار گیرد (گزینه های مختلف الگوریتم نیز نتایج مختلفی را در اندازه گیری ارائه می دهند و ممکن است گزینه های فشرده سازی اضافی داشته باشند) ، bzip2که با مشخص کردن می توان از آن استفاده کرد -j گزینه برای tar، و XZ که با مشخص کردن می توان از آن استفاده کرد -J گزینه.

متناوباً می توانید استفاده کنید -I دستور برای تنظیم حداکثر گزینه های فشرده سازی برای bzip2 (-9):

نمونه ای از برنامه فشرده سازی bzip -9

و -9e برای xz:

نمونه ای از برنامه فشرده سازی xz -9e

همانطور که مشاهده می کنید ، در این حالت نتایج کمتر از استفاده از الگوریتم تا حدودی استاندارد GZIP است. به هر حال، bzip2 و xz الگوریتم ها می توانند با مجموعه های داده دیگر پیشرفت هایی داشته باشند.

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

از بین بردن فشرده سازی یک فایل ، صرف نظر از روش اصلی فشرده سازی آن و به شرطی که چنین الگوریتم فشرده سازی در رایانه شما موجود باشد ، بسیار آسان است. به عنوان مثال ، اگر الگوریتم اصلی فشرده سازی bzip2 باشد (با مشخص شده است .bz2 پسوند به نام فایل tar) ، سپس شما می خواهید آن را انجام دهید sudo apt install bzip2 (یا sudo yum install bzip2) در رایانه مورد نظر خود ، که باید فایل را از حالت فشرده خارج کند.

rm a b c d e f
tar -xf all_files.tar.gz
ls

رفع فشار از بایگانی تار فشرده (یا فشرده نشده)

ما فقط داریم توضیح می دهیم -x به گسترش یا ما را از حالت فشرده خارج کنید all_files.tar.gz با استفاده مجدد از پرونده ، نام فایل را مشخص کنید -f کوتاه مثل قبل

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


منبع: khabar-mehman.ir

دیدگاهتان را بنویسید

Comment
Name*
Mail*
Website*