گروه کاربران لینوکس دانشگاه شهید مدنی آذربایجان

لاگ دانشگاه آذربایجان :: Azarbaijan University Linux User Group

گروه کاربران لینوکس دانشگاه شهید مدنی آذربایجان

لاگ دانشگاه آذربایجان :: Azarbaijan University Linux User Group

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

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

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

* تهیه پشتیبان از اطلاعات و اسناد

* جابجا کردن اطلاعات و اسناد از روی یک سرور به سرور یا رایانه ای دیگر

* مدیریت راحت تر چندین پرونده با تبدیل آن به یک پرونده فشرده شده

* و ...


دستور tar پراستفاده ترین دستور برای امر فشرده سازی در لینوکس به حساب می آید. عبارت tar از دو کلمه Tape Archive به معنای " بایگانی نواری" گرفته شده است. 

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


ساخت یک پرونده فشرده شده از نوع tar

حالت کلی استفاده از دستور :                                    tar  -cvf  name-of-archive.tar  /path/to/directory-or-file

مثل هر دستور دیگر کار را با tat شروع کردیم و از سه تا مشخصه استفاده کردیم که به توضیح هر یک از آنها می پردازیم :

* c : یک سند فشرده جدید از نوع tar می سازد. پس استفاده از آن حیاتی است.

* v : توضیحات مراحل فشرده سازی را در نتیجه خط فرمان به ما نشان می دهد.

* f : نوع و نام سند فشرده را میتوانید تعیین کنید. پس استفاده از این مشخصه هم ضروری است که پس از آن باید نام سند فشرده نهایی به همراه پسوند آن را وارد کنید.

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

مثال:


از حالت فشرده خارج کردن پرونده tar

برای خارج کردن یک پرونده tar از حالت فشرده (Untar) شما باید از مشخصه x استفاده کنید. برای تعیین محل خارج شدن از حالت فشرده به دو حالت میتوانید اقدام کنید. حالت اول اینکه بدون اینکه از مشخصه خاصی استفاده کنید، پرونده ها و پوشه ها در مسیر جاری از حالت فشرده خارج شود. حالت دوم این است که از مشخصه  C- استفاده کنید و تعیین کنید که باید این کار کجا صورت گیرد.

مثال:


استفاده از حالت دوم :



افزودن پرونده یا پوشه به داخل بایگانی tar

حالا می رسیم به یک نظریه دیگر؛ اگر بخواهیم یک پرونده یا پوشه را وارد یک پرونده  فشرده از نوع tar کنیم باید چه کار کنیم؟ در این حالت باید از مشخصه r استفاده کنیم و نام پرونده یا پوشه الحاقی را باید در انتهای دستور بزینم. آن پرونده یا پوشه باید در مسیر جاری باشد. به این صورت:


فهرست کردن محتوای داخل یک پرونده tar

کارهای زیادی را میتوان با ایندستور انجام داد.یکی از آنها آگاه شدن از فهرست محتویات موجود در یک پرونده فشرده یا tar است.گاهی ازاوقات ممکن است قبل از اینکه خواسته باشید یک سند فشرده شده را از حالت فشرده خارج کنید.اول ببینید که اصلا محتویات درون آن چیست.برای این منظور باید از مشخصه t استفاده کنید.



خارج کردن چندین سند از داخل یک پرونده  tar,tar.gzوtar.bz2 

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



بررسی حجم پرونده های tar,tar.gz و tar.bz2

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



کار با فرمت های دیگر فایل های فشرده


ساخت یک پرونده فشرده شده از نوع tar.gz

tar -cvzf name-of-archive.tar.gz /path/to/directory-or-file
یا
tar -cvzf name-of-archive.tgz /path/to/directory-or-file


از حالت فشرده خارج کردن پرونده tar.gz

 tar -xvf File-Name.tar.gz #


فهرست کردن محتوای داخل یک پرونده tar.gz

# tar -tvf File-Name.tar.gz


ساخت یک پرونده فشرده از نوع tar.bz2

فشرده سازی با قابلیت bz2 حجم پرونده فشرده شده را کمتر از gzip خواهد کرد. به همین دلیل هم شاید مدت زمان بیشتری لازم باشد تا صبر کنید تا فشرده سازی انجام گیرد. مخصوصا اگر یک پوشه بسیار حجیم را می خواهید با این روش فشرده کنید. اگر خواسته باشد پرونده شما خیلی فشرده شود، باید از مشخصه J استفاده کنید.

tar -cvfj name-of-archive.tar.bz2 /path/to/directory-or-file
یا
tar -cvfj name-of-archive.tar.tbz /path/to/directory-or-file
یا
tar -cvfj name-of-archive.tar.tb2 /path/to/directory-or-file


از حالت فشرده خارج کردن پرونده tar.bz2

برای خارج کردن پرونده بیش از حد فشرده شده tar.bz2 باید از ساختار دستور زیر استفاده کنید.

# tar -xvf File-Name.tar.bz2


فهرست کردن محتوای داخل یک پرونده tar.bz2

# tar -tvf File-Name.tar.bz2


خارج کردن چندین سند از داخل یک پرونده tar.gz و tar و tar.bz2

در یک دستور می توانید به هر تعداد سند که خواسته باشید از حالت فشرده خارج کنید. به این صورت که نام آنها را داخل " " قرار دهید و هر کدام را با یک فاصله خالی جدا نمایید. البته باید از مشخصه خاص همان هم استفاده کنید. به نمونه زیر دقت کنید:

# tar -xvf File-Name.tar "file 1" "file 2"  
# tar -zxvf File-Name.tar.gz "file 1" "file 2" 
# tar -jxvf File-Name.tar.bz2 "file 1" "file 2"

خارج کردن گروهی از پرونده ها با نویسه های WildCard

نویسه های WildCard معمولا برای اشاره به نوعی از سند دارند. مثلا اگر ما خواسته باشیم همه پرونده ها از نوع php را از درون یک پرونده فشرده خارج کنیم، باید از این نویسه ها استفاده کنیم.

# tar -xvf File-Name.tar --wildcards '*.php'
# tar -zxvf File-Name.tar.gz --wildcards '*.php'
# tar -jxvf File-Name.tar.bz2 --wildcards '*.php'



افزودن پرونده یا پوشه به داخل بایگانی tar و tar.gz و tar.bz2

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

# tar -rvf File-Name.tar xyz.txt
# tar -rvf File-Name.tar php
# tar -rvf File-Name.tar.gz xyz.txt
# tar -rvf File-Name.tar.bz2 xyz.txt

نام اعضای گروه :

علی حسینی کشکی

مجید میرزایی ایواوغلی


منبع : 

http://www.tecmint.com/18-tar-command-examples-in-linux/


نظرات 0 + ارسال نظر
برای نمایش آواتار خود در این وبلاگ در سایت Gravatar.com ثبت نام کنید. (راهنما)
ایمیل شما بعد از ثبت نمایش داده نخواهد شد