دستور tar لینوکس چیست ؟ همراه با چند مثال کاربردی
“Linux tar ” مخفف (type archive) است که به منظور ایجاد بایگانی و استخراج پروندههای بایگانی مورد استفاده قرار میگیرد. ما میتوانیم از دستور tar لینوکس ( linux ) برای ایجاد فایلهای بایگانی فشرده یا غیر فشرده و همچنین back up گرفتن، نگهداری و اصلاح آنها استفاده کنیم.
در مقالهی لینوکس چیست به تفصیل در مورد لینوکس توضیح داده و عنوان کردیم که سرور مجازی لینوکس از یکی از انواع سیستم عامل های لینوکس ساخته شده است. سرور های مجازی CentOS و Ubuntu ( اوبونتو ) نیز از این نوع هستند. این نوع سرور ، برای تقریبا هر نوع سایتی، حتی سایتهای شخصی با موضوعات و اهداف متفاوت و یا سایتهای رسمی شرکتها و… و همچنین بهبود و توسعه، افزایش بازدید و ترافیک انواع سایتها قابل استفاده میباشد. در این مقاله قصد داریم دستور Tar در لینوکس با هم بررسی کنیم؛ با ما همراه باشید.
:Syntax
tar [options] [archive-file] [file or directory to be archived]
گزینه ها:
-c بایگانی را ایجاد میکند.
-x بایگانی را استخراج کنید.
-f بایگانی با نام پرونده داده شده ایجاد میکند.
-t پروندهها را در پرونده بایگانی شده نمایش داده یا لیست میکند.
-u بایگانی شده و به پرونده بایگانی موجود اضافه میشود.
-A پروندههای بایگانی را بهم پیوند میدهد.
-z با استفاده از این گزینه، فایل را توسط دستور gzip فشرده میکند.
-j فایل tar بایگانی را با استفاده از tbzip فشرده کنید.
-w پرونده بایگانی را تأیید کنید.
-r پرونده یا فهرست را در پرونده .tar به روز یا اضافه کنید
پرونده بایگانی (archive file) چیست؟
پرونده بایگانی، فایلی است که از یک یا چند پرونده به همراه اطلاعات مربوط به آن فایلها ایجاد شده است. پروندههای بایگانی جهت جمع آوری چندین پرونده داده با هم در یک فایل واحد، برای سهولت حمل و نقل و ذخیره سازی، یا فشرده سازی پروندهها برای استفاده از فضای ذخیره سازی کمتر استفاده میشود.
در این مقاله، ما به بررسی و بحث در مورد مثالهای مختلف دستور tar لینوکس از جمله نحوه ایجاد پرونده های بایگانی با استفاده از (tar ، tar.gz و tar.bz2 ) فشرده سازی ، نحوه استخراج فایل آرشیو ، استخراج فایل واحد ، مشاهده محتوا می پردازیم. فایل ها یا دایرکتوری ها را به پرونده بایگانی اضافه کنید ، اندازه پرونده بایگانی tar را تخمین بزنید.
هدف اصلی این راهنما ارائه مثالهای مختلف دستور tar لینوکس است که ممکن است برای شما مفید باشد و شما بتوانید یک متخصص در تغییر در فایلهای ( archive ) بایگانی tar باشید.
مراحل انجام کار
اولین مرحله در دستور tar لینوکس برای ایجاد پرونده بایگانی tar
command زیر فایل بایگانی arazcloud-14-09-12.tar در دایرکتوری /home/arazcloud/ ایجاد میکند.
tar -cvf tecmint-14-09-12.tar /home/tecmit/
/home/tecmint/ home/tecmint/cleanfiles.sh/ home/tecmint/openvpn-2.1.4.tar.gz/ home/tecmint/tecmint-14-09-12.tar/ home/tecmint/phpmyadmin-2.11.11.3-1.el5.rf.noarch.rpm/ home/tecmint/rpmforge-release-0.5.2-2.el5.rf.i386.rpm/
هر گزینه استفاده شده در command بالا برای ایجاد یک فایل آرشیو tar کاربری متفاوتی دارد.
c – یک پرونده بایگانی جدید .tar ایجاد می کند.
v- به صورت متنی پیشرفت پرونده .tar را نشان دهید.
f- نوع نام پرونده پرونده بایگانی.
مرحله دوم در دستور tar لینوکس ایجاد پرونده بایگانی tar.gz
برای ایجاد یک فایل بایگانی gzip فشرده از گزینه z استفاده می کنیم. مثلا، دستور زیر یک پرونده MyImages-14-09-12.tar.gz فشرده برای دایرکتوری /home / MyImages/ ایجاد می کند. (توجه: tar.gz و tgz هر دو شبیه هم هستند).
# tar cvzf MyImages-14-09-12.tar.gz /home/MyImages
OR
# tar cvzf MyImages-14-09-12.tgz /home/MyImages
/home/MyImages/ /home/MyImages/Sara-Khan-and-model-Priyanka-Shah.jpg /home/MyImages/RobertKristenviolent101201.jpg /home/MyImages/Justintimerlake101125.jpg /home/MyImages/Mileyphoto101203.jpg /home/MyImages/JenniferRobert101130.jpg /home/MyImages/katrinabarbiedoll231110.jpg /home/MyImages/the-japanese-wife-press-conference.jpg /home/MyImages/ReesewitherspoonCIA101202.jpg
/home/MyImages/yanaguptabaresf231110.jpg
پرونده بایگانی tar.bz2 ایجاد کنید
یک ویژگی فشرده سازی با روش bz2 و ایجاد یک فایل بایگانی با این روش کمتر شدن حجم فایل خروجی می باشد که این مسئله باعث بیشتر زمانبر بودن اجرای این command میشود. برای ایجاد یک فایل tar بسیار فشرده از گزینه j استفاده میکنیم. ویژگی bz2 فشرده سازی و ایجاد یک فایل بایگانی کمتر از اندازه روش gzip است.
دستور زیر یک فایل Phpfiles-org.tar.bz2 برای یک دایرکتوری / home / php ایجاد میکند. (توجه: tar.bz2 و tbz مشابه tb2 است).
# tar cvfj Phpfiles-org.tar.bz2 /home/php
OR
# tar cvfj Phpfiles-org.tar.tbz /home/php
OR
# tar cvfj Phpfiles-org.tar.tb2 /home/php
/home/php/ /home/php/iframe_ew.php /home/php/videos_all.php /home/php/rss.php /home/php/index.php /home/php/vendor.php /home/php/video_title.php /home/php/report.php /home/php/object.html /home/php/video.php
مرحله چهارم دستور tar لینوکس : پرونده بایگانی Untar Tar
برای پاک کردن یا استخراج tar ، فقط با استفاده از گزینه x دستور زیر را وارد کنید (extract). به عنوان مثال، command زیر فایل public_html-14-09-12.tar را در فهرست کار فعلی لغو میکند.اگر میخواهید در پوشه دیگری لغو استفاده کنید، از گزینه به عنوان -C (آدرس فایل مورد نظر) استفاده کنید.
## Untar files in Current Directory ## # tar -xvf public_html-14-09-12.tar
## Untar files in specified Directory ## # tar -xvf public_html-14-09-12.tar -C /home/public_html/videos/
/home/public_html/videos/ /home/public_html/videos/views.php /home/public_html/videos/index.php /home/public_html/videos/logout.php /home/public_html/videos/all_categories.php /home/public_html/videos/feeds.xml
فایل بایگانی tar.gz را از حالت فشرده خارج کنید
برای لغو فشار دادن فایل بایگانی tar.gz ، فقط دستور زیر را اجرا کنید. اگر میخواهیم در مسیرهای مختلف لغو شود، همانطور که در مثال بالا نشان داده شده است، از گزینه -C و مسیر مورد نظر استفاده کنید.
# tar -xvf thumbnails-14-09-12.tar.gz
/home/public_html/videos/thumbnails/ /home/public_html/videos/thumbnails/katdeepika231110.jpg /home/public_html/videos/thumbnails/katrinabarbiedoll231110.jpg /home/public_html/videos/thumbnails/onceuponatime101125.jpg /home/public_html/videos/thumbnails/playbutton.png /home/public_html/videos/thumbnails/ReesewitherspoonCIA101202.jpg /home/public_html/videos/thumbnails/snagItNarration.jpg /home/public_html/videos/thumbnails/Minissha-Lamba.jpg /home/public_html/videos/thumbnails/Lindsaydance101201.jpg /home/public_html/videos/thumbnails/Mileyphoto101203.jpg
فایل بایگانی tar.bz2 را از حالت فشرده خارج کنید
برای لغو فشرده سازی فایل tar.bz2 بسیار فشرده، فقط از دستور زیر استفاده کنید. دستور زیر در زیر کلیه پروندههای .flv موجود در پرونده بایگانی را لغو میکند.
# tar -xvf videos-14-09-12.tar.bz2
/home/public_html/videos/flv/katrinabarbiedoll231110.flv /home/public_html/videos/flv/BrookmuellerCIA101125.flv /home/public_html/videos/flv/dollybackinbb4101125.flv /home/public_html/videos/flv/JenniferRobert101130.flv /home/public_html/videos/flv/JustinAwardmovie101125.flv /home/public_html/videos/flv/Lakme-Fashion-Week.flv /home/public_html/videos/flv/Mileyphoto101203.flv /home/public_html/videos/flv/Minissha-Lamba.flv
فهرست مطالب tar بایگانی فایل
برای لیست کردن محتویات فایل بایگانی tar ، فقط دستور زیر را با گزینه t (فهرست مطالب) اجرا کنید. دستور زیر محتوای پرونده uploadprogress.tar را لیست میکند.
# tar -tvf uploadprogress.tar
-rw-r--r-- chregu/staff 2276 2011-08-15 18:51:10 package2.xml -rw-r--r-- chregu/staff 7877 2011-08-15 18:51:10 uploadprogress/examples/index.php -rw-r--r-- chregu/staff 1685 2011-08-15 18:51:10 uploadprogress/examples/server.php -rw-r--r-- chregu/staff 1697 2011-08-15 18:51:10 uploadprogress/examples/info.php -rw-r--r-- chregu/staff 367 2011-08-15 18:51:10 uploadprogress/config.m4 -rw-r--r-- chregu/staff 303 2011-08-15 18:51:10 uploadprogress/config.w32 -rw-r--r-- chregu/staff 3563 2011-08-15 18:51:10 uploadprogress/php_uploadprogress.h -rw-r--r-- chregu/staff 15433 2011-08-15 18:51:10 uploadprogress/uploadprogress.c -rw-r--r-- chregu/staff 1433 2011-08-15 18:51:10 package.xml
فهرست بایگانی tar.gz بایگانی فایل
از دستور زیر برای فهرست کردن محتوای فایل tar.gz استفاده کنید.
# tar -tvf staging.tecmint.com.tar.gz
-rw-r--r-- root/root 0 2012-08-30 04:03:57 staging.tecmint.com-access_log -rw-r--r-- root/root 587 2012-08-29 18:35:12 staging.tecmint.com-access_log.1 -rw-r--r-- root/root 156 2012-01-21 07:17:56 staging.tecmint.com-access_log.2 -rw-r--r-- root/root 156 2011-12-21 11:30:56 staging.tecmint.com-access_log.3 -rw-r--r-- root/root 156 2011-11-20 17:28:24 staging.tecmint.com-access_log.4 -rw-r--r-- root/root 0 2012-08-30 04:03:57 staging.tecmint.com-error_log -rw-r--r-- root/root 3981 2012-08-29 18:35:12 staging.tecmint.com-error_log.1 -rw-r--r-- root/root 211 2012-01-21 07:17:56 staging.tecmint.com-error_log.2 -rw-r--r-- root/root 211 2011-12-21 11:30:56 staging.tecmint.com-error_log.3 -rw-r--r-- root/root 211 2011-11-20 17:28:24 staging.tecmint.com-error_log.4
مرحله نهم آموزش دستور tar لینوکس : فهرست بایگانی tar.bz2 بایگانی فایل
برای لیست کردن محتوای فایل tar.bz2 ، دستور زیر را صادر کنید.
# tar -tvf Phpfiles-org.tar.bz2
drwxr-xr-x root/root 0 2012-09-15 03:06:08 /home/php/ -rw-r--r-- root/root 1751 2012-09-15 03:06:08 /home/php/iframe_ew.php -rw-r--r-- root/root 11220 2012-09-15 03:06:08 /home/php/videos_all.php -rw-r--r-- root/root 2152 2012-09-15 03:06:08 /home/php/rss.php -rw-r--r-- root/root 3021 2012-09-15 03:06:08 /home/php/index.php -rw-r--r-- root/root 2554 2012-09-15 03:06:08 /home/php/vendor.php -rw-r--r-- root/root 406 2012-09-15 03:06:08 /home/php/video_title.php -rw-r--r-- root/root 4116 2012-09-15 03:06:08 /home/php/report.php -rw-r--r-- root/root 1273 2012-09-15 03:06:08 /home/php/object.html
برگرداندن یک تک فایل آرشیو شده (با استفاده از دستور tar لینوکس)
برای استخراج فایلی واحد به نام cleanfiles.sh از cleanfiles.sh.tar از دستور زیر استفاده کنید.
# tar -xvf cleanfiles.sh.tar cleanfiles.sh
OR
# tar --extract --file=cleanfiles.sh.tar cleanfiles.sh
cleanfiles.sh