تا %60 تخفیف خرید برای 7 نفر با صدور مدرک فقط تا
00 00 00

آموزش لینوکس( Linux Essentials ) جلسه 9 : آرشیو سازی و فشرده سازی

هادی صارمی
هادی صارمی
0 پسند
69 بازدید
0 نظر
1 ماه قبل

مقدمه

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

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

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

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

متداولترین ابزار آرشیو سازی فایل ها در سیستم های لینوکس دستور ، tar است.

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

ابزارهای فشرده سازی زیادی در Linux وجود دارد. برخی از موارد معمول بدون تخریب عبارتند از bzip2  و gzip این دو مورد را در اکثر سیستم ها پیدا خواهید کرد. هر دو آنها از الگوریتم های مختلفی استفاده می کنند .

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

ابزارهای فشرده سازی:

آموزش لینوکس( Linux Essentials ) جلسه 9 : آرشیو سازی و فشرده سازی

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

برای فشرده سازی ابتدا چند فایل را مانند دستورات زیر ایجاد نمائید .

$ mkdir ~/linux_essentials-3.1
$ cd ~/linux_essentials-3.1
$ mkdir compression archiving
$ cd compression
$ cat /etc/* > bigfile 2> /dev/null
$ cp bigfile bigfile2 $ cp bigfile bigfile3 $ ls -lh total 2.8M -rw-r--r-- 1 emma emma 712K Jun 23 08:08 bigfile -rw-r--r-- 1 emma emma 712K Jun 23 08:08 bigfile2 -rw-r--r-- 1 emma emma 712K Jun 23 08:08 bigfile3

با توجه به دستورات فکر کنم فهمیدید چیکار کردیم ابتدا دایرکتوری ایجاد کردیم و یک فایل bigfile که دارای محتوای مسیر etc/ می باشد و با دستور ls -lh محتوای مسیر جاری را نمایش می دهد همراه سایز تک تک فایل ها و جمع کل سایز فایل ها.

حالا ما می خواهیم با هر ابزار فشرده سازی گفته شده ، فایل ها را فشرده کنیم:

$ bzip2 bigfile2
$ gzip bigfile3
$ ls -lh
total 1.2M
-rw-r--r-- 1 emma emma 712K Jun 23 08:08 bigfile
-rw-r--r-- 1 emma emma 170K Jun 23 08:08 bigfile2.bz2
-rw-r--r-- 1 emma emma 179K Jun 23 08:08 bigfile3.gz

اندازه فایل های فشرده شده را با فایل فشرده نشده به نام bigfile مقایسه کنید. همانطور که مشاهده میکنید فایل bigfile2 با الگوریتم bzip2 فشرده سازی شده است که حجم 170K را بعد از فشرده سازی نمایش می دهد و فایل bigfile3 با الگوریتم gzip فشرده سازی شده است که حجم 179K را دارد.

 همچنین توجه داشته باشید که دستورات فشرده سازی پسوندهایی را به نام فایل ها اضافه کرده نشان دهنده نوع فشرده سازی می باشد و پس از فشرده سازی فایل های اصلی را حذف می کنند.

برای خارج کردن فایل ها از حالت فشرده از bunzip2 ، gunzip استفاده خواهیم کرد :

$ bunzip2 bigfile2.bz2
$ gunzip bigfile3.gz
$ ls -lh
total 2.8M
-rw-r--r-- 1 emma emma 712K Jun 23 08:20 bigfile
-rw-r--r-- 1 emma emma 712K Jun 23 08:20 bigfile2
-rw-r--r-- 1 emma emma 712K Jun 23 08:20 bigfile3

توجه کنید که اکنون فایل فشرده شده پس از خارج شدن از حالت فشرده حذف می شود.

ابزار آرشیو سازی :

دستور tar احتمالاً پرکاربردترین ابزار آرشیو سازی در سیستم های لینوکس است. مخفف "tape archive" است.

آرشیو سازی فایل های :

$ cd ~/linux_essentials-3.1
$ tar cf archiving/3.1.tar compression

کاراکتر c برای ایجاد یک فایل آرشیو جدید در دستور tar استفاده می شود و گزینه f نام فایل برای ایجاد آرشیو است. بلافاصله بعد از کاراکترها همیشه نام فایل های ای است که آرشیو بندی شوند. ادامه دستور مسیرهای موجود در هر فایل یا دایرکتوری است که می خواهید به آن فایل آرشیو اضافه کنید ، لیست کنید در مثال ، ما فشرده سازی دایرکتوری و تمام محتوای آن را به آرشیو خود اضافه می کنیم.

برای مشاهده محتویات یک فایل آرشیو شده ، از کاراکتر t استفاده می کنیم :

$ tar -tf 3.1.tar
compression/
compression/hosts.gz
compression/bigfile2
compression/bigfile
compression/bigfile3

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

$ cd ~/linux_essentials-3.1/archiving
$ ls
3.1.tar
$ tar xf 3.1.tar
$ ls
3.1.tar  compression

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

نظر شما
برای ارسال نظر باید وارد شوید.
0 نظر

هیچ نظری ارسال نشده است! اولین نظر برای این مطلب را شما ارسال کنید...