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

این بخش مربوط به مقالات اعضا میباشد که در صورت تایید توسط گروه آموزش به قسمت مقالات سایت انتقال داده میشوند
آیین تالار
-مقالات باید به صورت یک فایل قابل دریافت باشند (pdf ,odt و....)
-برای رفاه حال کاربران بهتر است که فایل به صورت فشرده ارائه شود
-عنوان باید به صورت : مقاله ی (نام مقاله) باشد
-نظر دهی در مورد مقالات آزاد است (با هر گونه توهین به نوسنده مقاله به شدت برخورد میشود)
-هرگونه پست تشکر و پست های غیر مرتبط با این بخش پاک شده و با فرد خاطی برخورد میشود
-مقالاتی که از نظرت اطلاعات در سطح مطلوبی باشند علاوه بر قرار دادن آنها در قسمت مقالات سایت از طرف مسئول آموزش هدایایی دریافت خواهند کرد.

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

نوشتهاز mobin88 » یک شنبه شهریور 2, 99 5:24 pm

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


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

bzip2=bz2
gzip=gz
zip=zip
شاید در ذهن شما این سوال آمده است که ” ما اغلب با پسوندهایی نظیر tar.gz و tar.bz2 روبرو هستیم , پس جایگاه و کاربرد tar چیست؟ ”

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

نصب ابزارهای مورد نیاز در صورت لزوم

لازم به ذکر است ابزارهای tar و gzip در اکثر توزیع های به صورت پیشفرض نصب می باشند اما اگر از توزیع های قدیمی یا فاقد این ابزار ها استفاده می کنید می توانید با دستورات زیر عملیات نصب این ابزار ها را شروع کنید .

نصب در Debian :

Datisnetwork:~#apt-get install bzip2 zip unzip
نصب در REDHAT :

Datisnetwork:~#yum install bzip2 zip unzip
استفاده از ابزار zip و unzip

zip بر خلاف دو ابزار دیگر که فقط قابلیت فشرده سازی را دارند , امکان تهیه آرشیو هم داراست و نیازی به ابزارهای کمکی دیگر ندارد.

فشرده سازی با استفاده از zip

حالت معمول فشرده سازی با zip ; در این مثال * نشان دهنده همه فایل های موجود در دایرکتوری جاری می باشد , شما می توانید آدرس فایل و دایرکتوری های مختلف را بجای آن وارد کنید :

Datisnetwork:~# zip datisn.zip *
adding: ali/ (stored 0%)
adding: file1.txt (stored 0%)
adding: file2.txt (deflated 50%)
PersianAdmins:~#
در مثال بالا فایل ها و دایرکتوری های واقع در زیردایرکتوری ها فشرده نمی شوند و اصطلاحا برگشتی(recursively) عمل نمی کند , برای حل این مشکل از گزینه r- همراه با zip استفاده می کنیم :

Datisnetwork:~# zip -r datisn.zip *
adding: ali/ (stored 0%)
adding: ali/navid/ (stored 0%)
adding: ali/navid/reza (stored 0%)
adding: file1.txt (stored 0%)
adding: file2.txt (deflated 50%)
PersianAdmins:~#
برای اینکه فایل های فشرده شده را رمزگذاری کنیم به 2 صورت می توان عمل کرد :

1-رمز پرسیده خواهد شد

Datisnetwork:~# zip -r datisn.zip * -e
Enter password:
Verify password:
adding: ali/ (stored 0%)
adding: ali/navid/ (stored 0%)
adding: ali/navid/reza (stored 0%)
adding: file1.txt (stored 0%)
adding: file2.txt (deflated 50%)
PersianAdmins:~#
2- رمز مورد نظر را همزمان وارد می کنیم

Datisnetwork:~# zip -r -P http://www.site.ir datisn.zip *
adding: ali/ (stored 0%)
adding: ali/navid/ (stored 0%)
adding: ali/navid/reza (stored 0%)
adding: file1.txt (stored 0%)
adding: file2.txt (deflated 50%)
Datisnetwork:~#
اگر در زمان باز کزدن فایل zip برخی از فایل ها وحود داشته باشند در مورد جایگزنی آنها از ما سوال خواهد پرسید :

Datisnetwork:~# unzip datisn.zip
Archive: datisn.zip
[datisn.zip] ali/ password:
replace ali/navid/reza? [y]es, [n]o, [A]ll, [N]one, [r]ename: y
extracting: ali/navid/reza
replace file1.txt? [y]es, [n]o, [A]ll, [N]one, [r]ename: n
replace file2.txt? [y]es, [n]o, [A]ll, [N]one, [r]ename: A
inflating: file2.txt
Datisnetwork:~#
در غیر اینصورت سوالی پرسیده نخواهد شد :

Datisnetwork:~# unzip datisn.zip
Archive: datisn.zip
[datisn.zip] ali/ password:
creating: ali/
creating: ali/navid/
extracting: ali/navid/reza
extracting: file1.txt
inflating: file2.txt
Datisnetwork:~#
باز کردن فایل zip از حالت فشرده در محل دیگری :

Datisnetwork:~# unzip datisn.zip -d /datisn/
Archive: datisn.zip
[datisn.zip] ali/ password:
creating: /datisn/ali/
creating: /datisn/ali/navid/
extracting: /datisn/ali/navid/reza
extracting: /datisn/file1.txt
inflating: /datisn/file2.txt
Datisnetwork:~#

تشخیص گروه خونی جنین با توجه به گروه خونی والدین و نکات مهم
چگونه خودمان را استرس زدایی کنیم؟ 7 توصیه برای آرام شدن
درمان کم خونی در کودکان با تغذیه: بهترین غذاها و مکملها
5 راهکار حرفه ای برای کشیدن خط چشم !
آموزش تحلیل بنیادی بورس ایران (برای افراد مبتدی)

خارج کردن یک فایل خاص :

Datisnetwork:~# ls test/
Datisnetwork:~# unzip datisn.zip file1.txt -d test/
Archive: datisn.zip
extracting: test/file1.txt
Datisnetwork:~# ls test/
file1.txt
Datisnetwork:~#
بدست آوردن اطلاعاتی در مورد فایل ها و دایرکتوری های موجود در فایل zip :

Datisnetwork:~# unzip -v datisn.zip
Archive: datisn.zip
Length Method Size Ratio Date Time CRC-32 Name
-------- ------ ------- ----- ---- ---- ------ ----
0 Stored 0 0% 07-18-08 04:08 00000000 ali/
0 Stored 0 0% 07-18-08 04:23 00000000 ali/navid/
0 Stored 0 0% 07-18-08 04:08 00000000 ali/navid/reza
0 Stored 0 0% 07-18-08 03:53 00000000 file1.txt
12 Defl:N 6 50% 07-18-08 03:54 f2b1e508 file2.txt
-------- ------- --- -------
12 6 50% 5 files
Datisnetwork:~#
بدست آوردن لیست فایل ها و دایرکتوری های موجود در فایل zip :

Datisnetwork:~# unzip -l datisn.zip
Archive: datisn.zip
Length Date Time Name
-------- ---- ---- ----
0 07-18-08 04:08 ali/
0 07-18-08 04:23 ali/navid/
0 07-18-08 04:08 ali/navid/reza
0 07-18-08 03:53 file1.txt
12 07-18-08 03:54 file2.txt
-------- -------
12 5 files
Datisnetwork:~#
اطمینان از سالم بودن فایل zip :

Datisnetwork:~# unzip -t datisn.zip
Archive: datisn.zip
[datisn.zip] ali/ password:
testing: ali/ OK
testing: ali/navid/ OK
testing: ali/navid/reza OK
testing: file1.txt OK
testing: file2.txt OK
No errors detected in compressed data of datisn.zip.
Datisnetwork:~#
استفاده از ابزار gzip

فشرده سازی یک فایل :

Datisnetwork:~# ls
file1.txt
Datisnetwork:~# gzip file1.txt
Datisnetwork:~# ls
file1.txt.gz
Datisnetwork:~#
همانطور که مشاهده می کنید فایل اصلی بواسطه تبدیل شدنش به فایل فشرده از بین می رود , برای اینکه فایل اصلی را بهمراه فایل فشرده داشته باشیم , بدین ترتیب عمل می کنیم :

Datisnetwork:~# ls
file1.txt
Datisnetwork:~# gzip -c file1.txt > file1.txt.gz
Datisnetwork:~# ls
file1.txt file1.txt.gz
Datisnetwork:~#
می توانید همزمان آدرس چند فایل را وارد کنید :

Datisnetwork:~# ls
file1.txt file2.txt
Datisnetwork:~# gzip file1.txt file2.txt
Datisnetwork:~# ls
file1.txt.gz file2.txt.gz
Datisnetwork:~#
همانطور که مشاهده می کنید هر فایل بطور جداگانه فشرده شده است.

استفاده از tar بهمراه gzip این امکان را به ما می دهد تا همه فایل ها را در یک فایل فشرده کنیم و همچنین اصل فایل ها دست نخورده باقی ماند.

به چند روش می توان از این 2 ابزار در کنار یکدیگر استفاده کرد :

1- ابتدا یک فایل آرشیو با tar ایجاد کنیم و سپس با ابزار gzip آن یک فایل را فشرده کنیم :

Datisnetwork:~#tar cvf datisn.tar file1.txt file2.txt test/
Datisnetwork:~#gzip datisn.tar
همانطور که در خط اول قابل مشاهده می باشد می توان همزمان آدرس چندین فایل و داریکتوری را داد.

2- یک فایل آرشیو ایجاد و همزمان خروجی را برای gzip ارسال کنیم :

Datisnetwork:~#tar cvf datisn.tar file1.txt file2.txt test/ | gzip
3- ساده ترین روش با استفاده از دستور tar در یک مرحله :

Datisnetwork:~#tar cvfz datisn.tar.gz file1.txt file2.txt test/
نکته : برای اطمینان از اینکه فایل فشرده شده سالم باشد , این دستور را اجرا می کنیم :

Datisnetwork:~#gzip -tv datisn.tar.gz
باز کردن فایل های فشرده gz یا tar.gz

فایل های فشرده شده توسط gzip را به 2 طریق می توان از حالت فشرده خارج کرد :

1-استفاده از دستور gzip -d

Datisnetwork:~# ls
file1.txt.gz
Datisnetwork:~# gzip -d file1.txt.gz
Datisnetwork:~# ls
file1.txt
Datisnetwork:~#
2-استفاده از ابزار gunzip

Datisnetwork:~# ls
file1.txt.gz
Datisnetwork:~# gunzip file1.txt.gz
Datisnetwork:~# ls
file1.txt
Datisnetwork:~#
برای اینکه فایل های فشرده توسط tar و gzip را ازحالت فشرده خارج کنیم 3 راه پیش رو داریم :

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

Datisnetwork:~#gzip -d datisn.tar.gz
Datisnetwork:~#tar xvf datisn.tar
or
Datisnetwork:~#gunzip datisn.tar.gz
Datisnetwork:~#tar xvf datisn.tar
هم زمان که با gzip از حالت فشرده خارج می کنیم , خروجی را به tar ارسال می کنیم :

Datisnetwork:~#gzip -dc tar xvf datisn.tar.gz | tar -x
ساده ترین و بهترین روش در یک مرحله و با دستور tar :

Datisnetwork:~#tar xvfz datisn.tar.gz
استفاده از ابزار bzip2

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

فشرده سازی یک فایل :

Datisnetwork:~# ls
file1.txt
Datisnetwork:~# bzip2 file1.txt
Datisnetwork:~# ls
file1.txt.bz2
Datisnetwork:~#
همانطور که مشاهده می کنید فایل اصلی بواسطه تبدیل شدنش به فایل فشرده از بین می رود , برای اینکه فایل اصلی را بهمراه فایل فشرده داشته باشیم , بدین ترتیب عمل می کنیم :

Datisnetwork:~# ls
file1.txt
Datisnetwork:~# bzip2 -c file1.txt > file1.txt.bz2
Datisnetwork:~# ls
file1.txt file1.txt.bz2
Datisnetwork:~#
می توانید همزمان آدرس چند فایل را وارد کنید :

Datisnetwork:~# ls
file1.txt file2.txt
Datisnetwork:~# bzip2 file1.txt file2.txt
Datisnetwork:~# ls
file1.txt.bz2 file2.txt.bz2
Datisnetwork:~#
همانطور که مشاهده می کنید هر فایل بطور جداگانه فشرده شده است.

استفاده از tar بهمراه bzip2 این امکان را به ما می دهد تا همه فایل ها را در یک فایل فشرده کنیم و همچنین اصل فایل ها دست نخورده باقی ماند.

به چند روش می توان از این 2 ابزار در کنار یکدیگر استفاده کرد :

ابتدا یک فایل آرشیو با tar ایجاد کنیم و سپس با ابزار bzip2 آن یک فایل را فشرده کنیم :

Datisnetwork:~#tar cvf datisn.tar file1.txt file2.txt test/
Datisnetwork:~#bzip2 datisn.tar
همانطور که در خط اول قابل مشاهده می باشد می تواین همزمان آدرس چندین فایل و داریکتوری را بدهیم.

یک فایل آرشیو ایجاد و همزمان خروجی را برای bzip2 ارسال کنیم :

Datisnetwork:~#tar cvf datisn.tar file1.txt file2.txt test/ | bzip2
ساده ترین روش با استفاده از دستور tar در یک مرحله :

Datisnetwork:~#tar cvfj datisn.tar.bz2 file1.txt file2.txt test/
نکته : برای اطمینان از اینکه فایل فشرده شده سالم باشد , این دستور را اجرا می کنیم :

Datisnetwork:~#bzip2 -tv datisn.tar.bz2
باز کردن فایل های فشرده bz2 یا tar.bz2

فایل های فشرده شده توسط bzip2 را به 2 طریق می توان از حالت فشرده خارج کرد :

1-استفاده از دستور bzip2 -d

Datisnetwork:~# ls
file1.txt.gz
Datisnetwork:~# bzip2 -d file1.txt.gz
Datisnetwork:~# ls
file1.txt
Datisnetwork:~#
2-استفاده از ابزار bunzip2

Datisnetwork:~# ls
file1.txt.gz
Datisnetwork:~# bunzip2 file1.txt.gz
Datisnetwork:~# ls
file1.txt
Datisnetwork:~#
برای اینکه فایل های فشرده توسط tar و bzip2 را ازحالت فشرده خارج کنیم 3 راه پیش رو داریم :

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

Datisnetwork:~#bzip2 -d datisn.tar.gz
Datisnetwork:~#tar xvf datisn.tar
or
Datisnetwork:~#bunzip2 datisn.tar.gz
Datisnetwork:~#tar xvf datisn.tar
هم زمان که با bzip2 از حالت فشرده خارج می کنیم , خروجی را به tar ارسال می کنیم :

Datisnetwork:~#bzip2 -dc tar xvf datisn.tar.gz | tar -x
ساده ترین و بهترین روش در یک مرحله و با دستور tar :

Datisnetwork:~#tar xvfj datisn.tar.gz
نکته : وقتی که از دستور tar استفاده می کنیم برای آنکه فایل در محلی دیگر از حالت فشرده خارج شود بدین ترتیب می توان عمل کرد :

Datisnetwork:~#tar xvfz datisn.tar.gz -C /path/to/extract/
با استفاده از tar و گزینه u- می توان فایل آرشیو را بروز کرد ولی این کار برای فایل های آرشیوی فشرده شده قابل انجام نیست.
mobin88

 
نوشته: 3
پیوستن: یک شنبه شهریور 2, 99 5:22 pm
Given: 0 thanks
Received: 0 thanks

برگشت به مقالات اعضا

اکنون هست

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

cron