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

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

تار چیست؟

دستور tar برای ایجاد آرشیو tar با تبدیل گروهی از فایل ها به آرشیو استفاده می شود. همچنین دارای قابلیت استخراج آرشیو tar، نمایش لیستی از فایل های موجود در آرشیو، افزودن فایل های اضافی به آرشیو موجود و انواع مختلف عملیات دیگر است.

Tar از طیف گسترده ای از برنامه های فشرده سازی مانند gzip، bzip2، lzip، lzma، lzop، xz و compress پشتیبانی می کند. هنگام ایجاد آرشیوهای فشرده تار، افزودن پسوند کمپرسور به نام فایل بایگانی، معمول است. به عنوان مثال، اگر آرشیو با استفاده از gzip فشرده شود، نام آن archive.tar.gz خواهد بود.

Tar در ابتدا برای ایجاد آرشیو در هنگام ذخیره فایل ها بر روی نوار مغناطیسی طراحی شده بود، به همین دلیل نام خود را دریافت کرد. تیبوزینه ARپیازچه."

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

نحو خط فرمان

قبل از اینکه به استفاده از دستور tar بپردازیم، اجازه دهید با بررسی نحو اولیه شروع کنیم.

تار

  • عملیات - فقط یک آرگومان مجاز و مورد نیاز است. متداول ترین عملیات مورد استفاده:
    • --create (-c) - ایجاد یک آرشیو tar جدید.
    • --extract (-x) - کل آرشیو یا یک یا چند فایل را از بایگانی استخراج کنید.
    • --list (-t) – نمایش لیستی از فایل های موجود در آرشیو
  • OPTION ها - عملیاتی که اغلب استفاده می شود:
    • --verbose (-v) - نمایش فایل های پردازش شده توسط دستور tar.
    • --file=archive=name (-f archive-name) – نام فایل بایگانی را مشخص می کند.
  • ARCHIVE_NAME - نام بایگانی.
  • FILE_NAME (ها) - فهرستی از نام فایل‌ها که با فاصله از هم جدا می‌شوند. در صورت عدم ارائه، کل آرشیو استخراج خواهد شد.

هنگام اجرای دستور tar می توانید از شکل طولانی یا کوتاه عملیات و پارامترهای tar استفاده کنید. فرم‌های بلند خواناتر و فرم‌های کوتاه سریع‌تر هستند. گزینه های فرم بلند با یک خط تیره دوتایی (--) پیشوند می شوند. پارامترهای فرم کوتاه با یک خط تیره (-) پیشوند می شوند که می توان آن را حذف کرد.

ایجاد آرشیو تار

از عملگر -c برای ایجاد آرشیو tar استفاده کنید. به عنوان مثال، برای ایجاد یک فایل بایگانی با نام archive.tar از فایل های file1، file2، file3، دستور زیر را اجرا کنید:

Tar -cf archive.tar file1 file2 file3

در اینجا دستور معادل با استفاده از پارامترهای فرم طولانی آمده است:

Tar --create --file=archive.tar file1 file2 file3

مثال زیر یک آرشیو backup.tar از پوشه /home/username ایجاد می کند:

Tar -cf backup.tar /home/username

شما می توانید از محتویات یک یا چند دایرکتوری یا فایل آرشیو ایجاد کنید. به طور پیش فرض، دایرکتوری ها به صورت بازگشتی بایگانی می شوند مگر اینکه گزینه --no-recursion مشخص شده باشد. اگر می خواهید فایل های در حال پردازش را مشاهده کنید، از گزینه -v استفاده کنید.

ایجاد یک آرشیو Tar Gz

Gzip محبوب ترین الگوریتم فشرده سازی برای فایل های tar است. هنگام فشرده‌سازی بایگانی‌های tar با gzip، نام بایگانی باید به tar.gz یا tgz ختم شود.

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

Tar -czf archive.tar.gz file1 file2

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

ایجاد یک آرشیو Tar Bz2

یکی دیگر از الگوریتم های فشرده سازی محبوب برای فایل های tar bzip2 است. هنگام فشرده‌سازی بایگانی‌های tar با bzip2، نام بایگانی باید به tar.bz2 یا tbz ختم شود.

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

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

Tar -cjf archive.tar.bz2 file1 file2

فهرست آرشیو تار

برای فهرست کردن محتویات یک آرشیو tar، از عملیات --list (-t) استفاده کنید.

Tar -tf archive.tar file1 file2 file3

اگر محتوای آرشیو را با استفاده از گزینه --verbose (-v) مشخص کنید، tar اطلاعات بیشتری مانند مالک، اندازه فایل، مهر زمانی و غیره را چاپ می کند:

Tar -tvf archive.tar -rw-r--r-- linuxize/users 0 2018-09-08 20:15 file1 -rw-r--r-- linuxize/users 0 2018-09-08 20:15 file2 -rw-r--r-- linuxize/users 0 2018-09-08 20:15 file3

استخراج آرشیو تار

برای استخراج آرشیو tar، از عملگر --extract (-x) استفاده کنید و نام فایل آرشیو را مشخص کنید:

Tar -xf archive.tar

گزینه -v نیز معمولا برای چاپ نام فایل های استخراج شده اضافه می شود.

Tar -xvf archive.tar

به طور پیش فرض، tar محتویات بایگانی را در فهرست کاری فعلی استخراج می کند. از --directory (-C) برای استخراج فایل های آرشیو شده در یک فهرست خاص استفاده کنید:

به عنوان مثال، برای استخراج محتویات یک آرشیو در پوشه /opt/files، می توانید از:

Tar -xf archive.tar -C /opt/files

استخراج آرشیو Tar Gz و Tar Bz2

هنگام استخراج آرشیوهای فشرده، مانند tar.gz یا tar.bz2، نیازی به تعیین گزینه رفع فشار ندارید. دستور مانند هنگام استخراج آرشیو tar است:

Tar -xf archive.tar.gz tar -xf archive.tar.bz2

استخراج فایل های خاص از آرشیو tar

برای استخراج فایل‌های خاص از آرشیو tar، فهرستی از نام فایل‌ها را که با فاصله از هم جدا شده‌اند، اضافه کنید تا بعد از نام بایگانی استخراج شوند:

Tar -xf archive.tar file1 file2

هنگام استخراج فایل‌ها، باید نام دقیق آن‌ها، از جمله مسیر را به صورت تایپ --list (-t) ارائه کنید.

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

Tar -xf archive.tar dir1 dir2

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

Tar -xf archive.tar README tar: README: در بایگانی tar یافت نشد: خروج با وضعیت شکست به دلیل خطاهای قبلی

استخراج فایل ها از بایگانی Tar با استفاده از یک علامت عام

برای استخراج فایل‌ها از بایگانی بر اساس الگوی wildcard، از سوئیچ --wildcards استفاده کنید و الگو را برای جلوگیری از تفسیر پوسته مشخص کنید.

به عنوان مثال، برای استخراج فایل هایی که نام آنها به .js ختم می شود (فایل های جاوا اسکریپت)، می توانید از:

Tar -xf archive.tar --wildcards "*.js"

افزودن فایل ها به آرشیو موجود

برای افزودن فایل ها یا دایرکتوری ها به آرشیو tar موجود، از عملیات --append (-r) استفاده کنید.

به عنوان مثال، برای افزودن فایلی به نام newfile به archive.tar، می توانید از:

Tar -rvf archive.tar فایل جدید

حذف فایل ها از آرشیو tar

از عملیات --delete برای حذف فایل ها از آرشیو استفاده کنید.

به عنوان مثال، برای حذف فایلی به نام file1 از archive.tar، می توانید از:

Tar --delete -f archive.tar file1

نتیجه

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

Tar.gz یک آرشیو ایجاد شده است برنامه تار، و سپس با Gzip بایگانی شد. این آرشیو مضاعف به این دلیل است که برنامه Gzip به خوبی و سریع فشرده می شود اما فقط با یک فایل این کار را انجام می دهد. بنابراین برای بسته بندی چندین فایل ابتدا یک آرشیو tar از آنها ایجاد می شود و پس از آن از قبل با برنامه Gzip بسته بندی می شود. علاوه بر این، شایان ذکر است که آرشیو tar اولیه عملاً اطلاعات را فشرده نمی کند، بلکه فقط آن را در یک فایل ترکیب می کند. در نسخه نهایی، یک آرشیو با پسوند دوگانه filename.tar.gz یا filename.tgz دریافت می کنیم.

چگونه یک آرشیو tar.gz درست کنیم؟

در سیستم عامل ویندوز

باید از بایگانی 7-zip استفاده کنید.

در سیستم عامل لینوکس

ما از طریق پروتکل SSH با استفاده از برنامه PuTTY به سرور میزبان متصل می شویم. در خط فرمان وارد کنید:

این دستور یک بایگانی file.tar از تمام فایل‌های دایرکتوری /full/path ایجاد می‌کند. اما چون tar بایگانی نمی کند، بلکه فقط فایل ها را ترکیب می کند، سپس باید دوباره آن را با استفاده از Gzip فشرده کنیم:

tar -czvf file.tar.gz /full/path

در نتیجه، file.tar.gz را دریافت خواهیم کرد که در پوشه /full/path قرار دارد.

قوانین نحو دستور tar

tar [-keys] [نام بایگانی که ایجاد خواهد شد] [چه چیزی را بسته بندی کنیم \ کجا بسته بندی کنیم]

در مورد کلیدها:
c (ایجاد) - یک فایل بایگانی ایجاد کنید

z (gzip) - یک فایل را با استفاده از gzip بایگانی کنید

چگونه یک بایگانی tar.gz را به درستی باز کنیم؟

در سیستم عامل ویندوز

در سیستم عامل لینوکس

در سرور میزبان - از طریق پروتکل SSH با استفاده از برنامه PuTTY به سرور متصل شوید. در خط فرمان وارد کنید:

نحو

tar [-keys] [بایگانی برای باز کردن بسته بندی یا مسیر رسیدن به آن]

x (eXtract) - فایل ها را باز کنید
v (پرمخاطب) - اطلاعات اجرا را نشان می دهد
f (فایل) - نشان می دهد که باید یک فایل با نامی که بعد از کلیدها مشخص شده است ایجاد کنید (در مثال ما file.tar یا file.tar.gz)، اگر این کلید را مشخص نکنید، نام پیش فرض ایجاد می شود. مورد استفاده قرار گیرد یا مشکلاتی پیش بیاید.
file.tar.gz نام آرشیوی است که باید بسته بندی شود.

در سیستم های یونیکس (این لینوکس، Freebsd و غیره است)، دستور tar ابزار اصلی بایگانی است. درک گزینه های متعدد این دستور به شما امکان می دهد در دستکاری بایگانی مسلط شوید.

در این مقاله می‌خواهم نمونه‌های مختلفی از جمله ایجاد آرشیو tar (با استفاده از فشرده‌سازی gzip و bzip)، استخراج یک فایل یا فهرست، مشاهده محتویات یک بایگانی tar، اعتبار سنجی یکپارچگی بایگانی tar، تشخیص تفاوت بین آرشیو تار و سیستم فایل، محاسبه اندازه آرشیو قبل از ایجاد آن و موارد دیگر.

ایجاد آرشیو با استفاده از دستور tar

ایجاد و باز کردن آرشیو tar با استفاده از گزینه cvf انجام می شود. دستور اصلی برای ایجاد یک آرشیو به این صورت است:

$tar cvf archive_name.tar dirname/

بیایید به هر کلید از گزینه به طور جداگانه نگاه کنیم:

  • ج – ایجاد یک آرشیو جدید
  • v – خروجی لیستی از فایل ها برای پردازش
  • f – نام فایل بایگانی

برای ایجاد یک آرشیو فشرده gzip باید از گزینه cvzf استفاده کنید. گزینه cvf قبلی اصلاً از فشرده سازی استفاده نمی کند. برای استفاده از فشرده سازی gzip گزینه z را مانند شکل زیر اضافه کنید:

$ tar cvzf archive_name.tar.gz dirname/

  • z – آرشیو را با استفاده از فشرده سازی gzip بسته بندی می کند

من شخصا ترجیح می دهم همیشه گزینه cvf را بدون تغییر بگذارم و فقط در صورت نیاز به فشرده سازی کلیدهای لازم را در پایان اضافه کنم. مثلا cvfz یا cvfj. به خاطر سپردن از این طریق راحت تر است.

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

$ tar cvfj archive_name.tar.bz2 dirname/

  • j - آرشیو را با استفاده از فشرده سازی bzip2 بسته بندی می کند

gzip یا bzip2؟فشرده سازی و از حالت فشرده خارج کردن آرشیو با استفاده از bzip2 کمی بیشتر طول می کشد و خود آرشیو کوچکتر است.

ایجاد یک بایگانی tar با تاریخ فعلی در نام بایگانی

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

Tar -cvf archive-$(تاریخ +%Y%m%d).tar.gz dirname/

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

برای باز کردن آرشیو از دستور xvf استفاده کنید:

$tar xvf archive_name.tar

  • x - استخراج فایل ها از آرشیو

برای باز کردن tar.gz از گزینه xvfz استفاده کنید:

$tar xvfz archive_name.tar.gz

برای باز کردن یک آرشیو فشرده bzip2، از گزینه xvfj استفاده کنید:

$tar xvfj archive_name.tar.bz2

مشاهده فایل ها در آرشیو tar

برای مشاهده محتویات یک آرشیو تار از گزینه tvf استفاده کنید.

$tar tvf archive_name.tar

برای مشاهده محتویات یک آرشیو فشرده شده با استفاده از gzip، از گزینه tvfz استفاده کنید

$ tar tvfz archive_name.tar.gz

برای مشاهده محتویات یک آرشیو فشرده شده با استفاده از bzip2، از گزینه tvfj استفاده کنید

$tar tvfj archive_name.tar.bz2

استخراج یک فایل از بایگانی های tar، tar.gz، tar.bz2

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

$ tar xvf archive_file.tar path/to/file

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

$ tar xvfz archive_file.tar.gz path/to/file $ tar xvfj archive_file.tar.bz2 path/to/file

استخراج یک پوشه از بایگانی های tar، tar.gz، tar.bz2

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

$ tar xvf archive_file.tar /path/to/dir/

برای استخراج چندین پوشه از یک آرشیو، نام آنها را به ترتیب مشخص کنید:

$ tar xvf archive_file.tar /path/to/dir1/ /path/to/dir2/

برای بایگانی های فشرده نیز همین موضوع صادق است، فقط با استفاده از کلیدهای اضافی:

$ tar xvfz archive_file.tar.gz /path/to/dir/ $ tar xvfj archive_file.tar.bz2 /path/to/dir/

استخراج گروهی از فایل ها از بایگانی های tar, tar.gz, tar.bz2 با استفاده از عبارات منظم

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

$ tar xvf archive_file.tar --wildcards "*.pl"

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

برای افزودن یک فایل یا پوشه جدید به آرشیو موجود، از گزینه -r استفاده کنید:

$ tar rvf archive_name.tar فایل جدید

افزودن یک پوشه به همین ترتیب انجام می شود:

$ tar rvf archive_name.tar newdir/

به یاد داشته باشید که عملیات افزودن فایل ها و پوشه ها فقط برای بایگانی های تار غیرفشرده کار می کند.

تعیین اندازه آرشیو تار قبل از ایجاد آن

دستور زیر به شما اجازه می دهد تا اندازه آرشیو tar.gz یا tar.bz2 را قبل از ایجاد آن (در کیلوبایت) تعیین کنید.

Tar -czf - /directory/to/archive/ | wc –c $ tar -cjf - /directory/to/archive/ | wc -c


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

اگر می‌خواهید روزانه یک کپی تهیه کنید و شش نوار داشته باشید، می‌توانید از نوار 1 برای اولین نسخه کامل (مثلا جمعه) و نوار 2 تا 5 برای کپی‌های افزایشی (دوشنبه تا پنجشنبه) استفاده کنید. سپس یک کپی کامل جدید در نوار 6 (جمعه دوم) ایجاد می‌کنید و دوباره شروع به کپی‌های افزایشی روی نوارهای 2-5 می‌کنید. تا زمانی که یک کپی کامل جدید نداشته باشید، نمی‌خواهید نوار 1 را بازنویسی کنید تا در حین ایجاد یک کپی کامل، هیچ اتفاق بدی رخ ندهد. هنگامی که یک کپی کامل روی نوار 6 تهیه کردید، می توانید نوار 1 را در جای دیگری ذخیره کنید تا در صورت از بین رفتن سایر نوارهای پشتیبان شما. هنگامی که نیاز به کپی کامل بعدی دارید، نوار 1 را انتخاب و استفاده می کنید.

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

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

یک کپی کامل را می توان به راحتی با دستور تهیه کردتار :

# tar --create --file /dev/ftape /usr/src

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

اگر کپی شما روی یک نوار قرار نمی گیرد، باید از این گزینه استفاده کنید--چند جلدی (-M ):

# tar -cMf /dev/fd0H1440 /usr/src

tar: حذف اصلی / از نام مسیرهای مطلق در بایگانی

جلد شماره 2 را برای /dev/fd0H1440 آماده کنید و بازگشت را بزنید:

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

پس از ایجاد یک کپی، باید آن را با استفاده از گزینه بررسی کنید-- مقایسه (-d ):

# tar --compare --verbose -f /dev/ftape

usr/src/

usr/src/linux

....

تأیید نشدن کپی به این معنی است که تا زمانی که داده های اصلی را از دست ندهید، متوجه کار نکردن کپی خود نخواهید شد.

یک کپی افزایشی را می توان با دستور انجام دادتاربا گزینه --newer (-N):

# tar --create --جدیدتر "8 سپتامبر 1995" --file /dev/ftape /usr/src --verbose

tar: حذف اصلی / از نام مسیرهای مطلق در بایگانی

usr/src/

usr/src/linux-1.2.10-includes/

usr/src/linux-1.2.10-includes/include/linux/modules/

usr/src/linux-1.2.10-includes/include/asm-generic/

usr/src/linux-1.2.10-includes/include/asm-i386/

usr/src/linux-1.2.10-includes/include/asm-mips/

usr/src/linux-1.2.10-includes/include/asm-alpha/

usr/src/linux-1.2.10-includes/include/asm-m68k/

usr/src/linux-1.2.10-includes/include/asm-sparc/

usr/src/patch-1.2.11.gz

متاسفانه، تار نمی تواند تغییر Inode را تشخیص دهد اطلاعات فایلبرای مثال، تغییر حقوق دسترسی یا تغییر نام یک فایل. با استفاده از دستور مشکل حل می شودپیدا کردن و مقایسه وضعیت فعلی فایل سیستم با لیست فایل هایی که قبلاً پشتیبان گرفته شده اند. اسکریپت ها و برنامه هایی برای خودکارسازی این فرآیند را می توان در سرورهای ftp لینوکس یافت.

بازیابی با استفاده از قطران

تیم تاربا گزینه --extract (-x ) فایل ها را استخراج می کند:

# tar --extract --same-permissions --verbose --file /dev/fd0H1440

usr/src/

usr/src/linux

usr/src/linux-1.2.10-includes/

usr/src/linux-1.2.10-includes/include/

usr/src/linux-1.2.10-includes/include/linux/

...

شما همچنین می توانید فقط استخراج کنید فایل های مشخص شدهیا دایرکتوری ها (که شامل تمام فایل ها و زیر شاخه های آنها می شود)، آنها را در خط فرمان فهرست می کند:

# tar xpvf /dev/fd0H1440 usr/src/linux-1.2.10-includes/include/linux/hdreg.h

usr/src/linux-1.2.10-includes/include/linux/hdreg.h

از گزینه استفاده کنید--list(-t ، اگر فقط می خواهید ببینید چه فایل هایی در حجم پشتیبان وجود دارد:

# tar --list --file /dev/fd0H1440

usr/src/

usr/src/linux

usr/src/linux-1.2.10-includes/

usr/src/linux-1.2.10-includes/include/

usr/src/linux-1.2.10-includes/include/linux/

usr/src/linux-1.2.10-includes/include/linux/hdreg.h

usr/src/linux-1.2.10-includes/include/linux/kernel.h

...

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

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



تار مرداستفاده: tar [OPTION...] [FILE]...
گنو «tar» برای ذخیره فایل‌ها است
به نوار مغناطیسی یا آرشیو روی دیسک و
بهبود فایل های جداگانهاز جانب
بایگانی.

مثال ها:
tar -cf archive.tar foo bar # ایجاد archive.tar از فایل ها
غذا و بار
tar -tvf archive.tar # چاپ لیست مفصل
تمام فایل های موجود در آرشیو archive.tar.
tar -xf archive.tar # همه فایل ها را استخراج کنید
از archive.tar.

حالت عملکرد پایه:

A، --catenate، --concatenate پیوست فایل های tar
به آرشیو
-c، --create ایجاد یک آرشیو جدید
-d، --diff، --مقایسه جستجو برای تفاوت بین
بایگانی و فایل
سیستم
- حذف حذف از بایگانی (روشن نیست
نوارهای مغناطیسی!)
-r، --افزودن فایل ها به انتها
بایگانی
-t، -- لیست محتویات لیست
بایگانی
--test-label برچسب حجم آرشیو را بررسی می کند
و خروج
-u، - به روز رسانی فقط به بایگانی اضافه می شود
فایل های جدیدتر
-x، --extract، --دریافت فایل های استخراج از
بایگانی

اصلاح کننده ها:

بررسی دستگاه شماره دستگاه را چک کنید
ایجاد افزایشی
آرشیو (پیش‌فرض)
-g، --listed-incremental=FILE
پردازش اضافی
رزرو جدید
فرمت گنو
-G، --پردازش افزایشی افزایشی
رزرو قدیمی
فرمت گنو
--نادیده گرفتن-ناموفق-خواندن وقتی خارج نشوید
وضعیت غیر صفر برای
فایل های ناخوانا
-n، --seek جستجوی آرشیو موجود است
--no-check-device هنگام ایجاد شماره دستگاه را بررسی نکنید
آرشیوهای افزایشی
--occurrence[=N] فقط N ام را پردازش می کند
وقوع برای هر کدام
فایل در آرشیو این گزینه
درست فقط در ترکیب با
یکی از دستورات فرعی --delete،
--diff، --extract یا --list، و when
لیست فایل ها یا در مشخص شده است
خط فرمان، یا
از طریق گزینه -T. پیش فرض
N برابر با 1 است.
--sparse-version=MAJOR[.MINOR]
نسخه نصب کنید
فرمت استفاده شده
خلاء (به معنی
--پراکنده)
-S، -- پردازش کارآمد پراکنده
فایل های پراکنده

کنترل رونویسی:

K، --keep-old-فایل ها رونویسی نمی شوند
فایل های موجود وقتی
استخراج کردن
--keep-newer-فایل ها رونویسی نمی شوند
فایل های موجود،
که جدیدتر از آنهاست
نسخه های بایگانی شده
--no-overwrite-dir save metadata
کاتالوگ های موجود
-- رونویسی موارد موجود را بازنویسی می کند
فایل ها هنگام استخراج
بازنویسی-دیر بازنویسی موارد موجود
فایل ها هنگام استخراج (توسط
پیش فرض)
--recursive-unlink کل سلسله مراتب را پاک می کند
استخراج دایرکتوری
--remove-files فایل ها را بعد از اینکه حذف می کنند حذف می کند
اضافه کردن به آرشیو
-U، --unlink-first هر فایل را قبل از آن حذف می کند
استخراج بالای آن
-W، --تأیید تلاش برای تأیید آرشیو
پس از ضبط آن

انتخاب جریان خروجی:

نادیده گرفتن-فرمان-خطای نادیده گرفتن کدها
تکمیل شرکت های تابعه
فرآیندها
کدهای غیرصفری --no-ignore-command-error count
تکمیل شرکت های تابعه
به عنوان یک خطا پردازش می کند
-O، --to-stdout فایل ها را استخراج کنید
خروجی استاندارد
--to-command=فرماندهی
تغییر مسیر
فایل ها را به دیگری استخراج کرد
برنامه

پردازش ویژگی های فایل:

Atime-Serve[=METHOD]
صرفه جویی در زمان دسترسی
فایل های کپی شده توسط
زمان بهبودی
پس از خواندن (METHOD="replace";
به طور پیش فرض استفاده می شود)
یا تنظیم نکردن زمان
اول از همه
(روش = "سیستم")
--delay-directory-restore زمان را تنظیم نکنید
تغییرات و حقوق دسترسی
دایرکتوری های استخراج شده تا
تکمیل فرآیند
استخراج
--group=NAME اجباری شد
NAME را روی
به عنوان یک گروه برای
فایل های اضافه شده
--mode=MODE اجباری
نصب (شخصیت)
دسترسی به MODE برای
فایل های اضافه شده
--mtime=DATE-OR-FILE
نصب کنید برای
فایل های mtime را از
DATE-OR-FILE
-m، --لمس عدم استخراج زمان
تغییرات فایل
--بدون تاخیر-دایرکتوری-بازیابی
گزینه را لغو کنید
--تاخیر-دایرکتوری-بازیابی
--no-same-owner فایل ها را به عنوان خود استخراج کنید
خود
--no-same-permissions کاربر umask را اعمال می کند
هنگام استخراج حقوق
دسترسی از بایگانی (توسط
پیش فرض برای عادی
کاربران)
-عددی-مالک به جای آن از اعداد استفاده می کند
نام مالک/گروه
--owner=NAME مجبور شد
NAME را روی
به عنوان مالک برای
فایل های اضافه شده
-p، --preserve-permissions، --same-permissions
بازیابی اطلاعات در مورد
حقوق دسترسی به فایل (توسط
پیش فرض برای
ابرکاربر)
-- حفظ معادل -p و -s
--same-owner سعی کنید فایل ها را از آن استخراج کنید
همان مالک
-s، --preserve-order، --same-order
مرتب سازی استخراج شده
اسامی به همان ترتیب
و در آرشیو

انتخاب و تعویض دستگاه ها:

F، --file=ARCHIVE استفاده از فایل یا
آرشیو دستگاه
--force-local فایل بایگانی است
محلی، حتی اگر
شامل یک کولون است
-F، --info-script=NAME، --new-volume-script=NAME
اسکریپت را اجرا کنید
انتهای هر نوار
(ضمنی
استفاده از -M)
-L، --tape-length=N تغییر نوار پس از ضبط
NUMBER x 1024 بایت
-M، --چند جلدی
ایجاد/فهرست/بازیابی
آرشیوهای چند جلدی
--rmt-command=COMMAND
مشخص شده استفاده کنید
rmt را به جای rmt فرمان دهید
--rsh-command=COMMAND
از راه دور استفاده کنید
به جای rsh COMMAN
--volno-file=استفاده/به روز رسانی فایل
شماره های حجم در FILE

شکستن به بلوک ها:

B، --blocking-factor=BLOCKS
تعداد BLOCKS x 512 بایت در هر
رکورد
-B، --read-full- رکوردها دوباره به بلوک ها تبدیل می شوند
هنگام خواندن (برای کانال ها
4.2BSD)
-i، --ignore-zeros بلوک های صفر را نادیده می گیرند
بایگانی شده (یعنی EOF)
--record-size=N تعداد بایت در هر رکورد،
مضرب 512

فرمت آرشیو:

H، --format=FORMAT یک بایگانی را در قسمت مشخص شده ایجاد کنید
قالب

FORMAT می تواند باشد:

فرمت گنو GNU tar 1.13.x
فرمت oldgnu گنو مانند tar<= 1.12
فرمت pax POSIX 1003.1-2001 (pax)
posix معادل pax
فرمت ustar POSIX 1003.1-1988 (ustar)
v7 فرمت قدیمی تار V7

بایگانی قدیمی، --قابل حمل
معادل --format=v7

Pax-option=کلمه کلیدی[[:]=مقدار][،کلمه کلیدی[[:]=مقدار]]
کنترل کلمات کلیدی
پکس
--posix معادل --format=posix
-V، --label=TEXT یک آرشیو با نام حجم ایجاد کنید
TEXT; در
فهرست کردن/بازیابی
استفاده از TEXT در
به عنوان یک الگو
تعویض ها

گزینه های فشرده سازی:

A، - فشرده سازی خودکار از پسوند آرشیو برای تعیین استفاده کنید
برنامه فشرده سازی
-j، --bzip2 بایگانی را از طریق bzip2 عبور می دهد
--lzma آرشیو را از طریق lzma فیلتر می کند
--use-compress-program=PROG
از طریق آرشیو عبور کنید
PROG (باید پشتیبانی شود
-د)
-z، --gzip، --gunzip، --ungzip پرش بایگانی از طریق
gzip
-Z، --compress، --uncompress پرش بایگانی از طریق
فشرده کردن

انتخاب فایل های محلی:

Add-file=FILE فایل مشخص شده را به آن اضافه کنید
بایگانی (در صورت نام مفید است
با خط تیره شروع می شود)
--پشتیبان گیری[=مدیریت]
قبل از آن یک کپی تهیه کنید
حذف، مدیریت
انتخاب نسخه
-C، --directory=DIRECTORY به DIRECTORY بروید
--exclude=PATTERN حذف فایلها،
توسط PATTERN تعریف شده است
--exclude-caches محتویات را حذف می کند
دایرکتوری ها با فایل CACHEDIR.TAG
جز برای خودش
فایل با برچسب
--exclude-caches-all exclude Directories,
حاوی فایل CACHEDIR.TAG
--exclude-caches- under exclude all contents
دایرکتوری های حاوی فایل
CACHEDIR.TAG
--exclude-tag=فایل حذف دایرکتوری ها،
حاوی FILE، برای
به جز خود FILE
--exclude-tag-all=فایل حذف دایرکتوری ها با
فایل
--exclude-tag-under=FILE
حذف تمام محتوا
دایرکتوری های حاوی FILE
--exclude-vcs دایرکتوری های CVS را حذف می کند
-h، -- dereference به دنبال نمادها
لینک ها و ذخیره فایل ها،
که به آن اشاره می کنند
--hard-dereference دنبال کردن لینک های سخت. آرشیو و
آنها فایل ها را تخلیه می کنند
رجوع شود
-K، --starting-file=MEMBER-NAME
با عضو MEMBER-NAME شروع کنید
در آرشیو
--newer-mtime=DATE تاریخ و زمان را مقایسه کنید،
فقط در صورت تغییر
داده ها
--بدون بازگشت به طور خودکار غیر فعال کردن
نزول به کاتالوگ
--no-unquote نقل قول ها را از نام ها حذف نکنید
فایل های خوانده شده از
با گزینه -T
--null -T خطوط را می خواند،
ختم به صفر،
گزینه -C را غیرفعال می کند
-N، --جدیدتر=DATE-OR-FILE، --after-date=DATE-OR-FILE
فقط آن فایل ها را ذخیره کنید
که جدیدتر هستند
DATE-OR-FILE
- سیستم یک فایل محلی بماند
فایل سیستم زمانی که
ایجاد یک آرشیو
-P، --absolute-names "/" اصلی را از آن حذف نمی کند
نام فایل ها
--recursion نزول بازگشتی در
دایرکتوری ها (پیش فرض)
--پسوند=LINE یک کپی قبل از آن تهیه کنید
حذف، لغو
پسوند معمولی ("~" اگر
فقط نادیده گرفته نمی شود
متغیر محیطی
SIMPLE_BACKUP_SUFFIX)
-T، --files-from=فایل نام های بارگذاری شده از FILE
برای استخراج یا
ایجاد
-- unquote حذف نقل قول از نام ها
فایل های خوانده شده از
با گزینه -T (پیش فرض)
-X، --exclude-from=فایل حذف الگوها،
در FILE فهرست شده است

تبدیل نام فایل:

Strip-components=N NUMBER مشخص شده را حذف کنید
اجزای اولیه از
نام فایل های قبلی
استخراج
--transform=EXPANSION
جایگزینی استفاده کنید
پسوندهای sed برای
تبدیل نام فایل

نام گزینه های قالب عام
فایل ها (بر الگوهای گنجاندن و
استثناها):

الگوهای شروع نام فایل لنگر
--نادیده گرفتن مورد چشم پوشی از مورد
- الگوهای بدون لنگر پس از هر "/" (توسط
پیش فرض برای حذف)
--no-ignore-case به حروف بزرگ و کوچک حساس است (توسط
پیش فرض)
- بدون حروف عام مطابقت دقیق
خط
ماسک های --no-wildcards-match-slash مطابقت ندارند
"/"
-کارت های عام از ماسک استفاده می کنند (توسط
پیش فرض برای حذف)
--wildcards-match-slash masks مطابق با "/" (توسط
پیش فرض برای حذف)

خروجی اطلاعات:

نقطه بازرسی[=N] پیام‌های پیشرفت را نمایش می‌دهد
اعدام هر
NUMBER رکورد (پیش‌فرض
10)
--checkpoint-action=ACTION روی هر ایست بازرسی ACTION را اجرا کنید
--index-file=FILE خروجی پرمخاطب را ارسال کند
داده ها در FILE
-l، --check-links output messages if
همه پیوندها ذخیره نمی شوند
--no-quote-chars=STRING
غیرفعال کردن نقل قول
نویسه های STRING
--quote-chars=STRING اختیاری است
نقل قول شخصیت ها از
خطوط
--quoting-style=سبک مجموعه STYLE
به نقل از اسامی ارزش های
برای STYLE به زیر مراجعه کنید
-R، --block-number اعداد بلوک چاپ
بایگانی در هر پیام
--show-defaults مقادیر tar را توسط
پیش فرض
--show-omitted-dirs هنگام فهرست کردن لیست یا
عصاره نمایش همه
کاتالوگ، نه
مطابق با شرایط
جستجو کردن
--show-transformed-names، --show-stored-names
نمایش نام فایل ها
یا آرشیو بعد از
دگرگونی
--totals[=SIGNAL] تعداد کل بایت ها را خروجی می کند
پس از پردازش آرشیو؛ با
استدلال - نتیجه گیری کلی
تعداد بایت ها پس از تحویل
این سیگنال مجاز
سیگنال ها: SIGHUP، SIGQUIT، SIGINT، SIGUSR1
و SIGUSR2. نیز مجاز است
استفاده از نام بدون
پیشوند SIG
--utc تاریخ اصلاح فایل چاپی
در فرمت UTC
-v، -- فهرست پرمخاطب
فایل های پردازش شده
-w، --تعاملی، --تایید
درخواست تایید
برای هر عمل

گزینه های سازگاری:

ای بر خلق، معادل
--old-archive; هنگام استخراج،
معادل --no-same-owner

گزینه های دیگر:

خروجی کمک از این کمک
- محدود کردن غیرفعال کردن استفاده
برخی به طور بالقوه
گزینه های خطرناک
پیام کوتاه خروجی استفاده
در مورد استفاده
--نسخه خروجی برنامه نسخه

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

پسوند پشتیبان گیری "~" است مگر اینکه اینطور باشد
از طریق پسوند -- نصب شده است
یا SIMPLE_BACKUP_SUFFIX. کنترل نسخه می تواند
نصب شود
از طریق ---پشتیبان یا VERSION_CONTROL. ارزش ها ممکن است
بودن:

هیچ، خاموش، پشتیبان ایجاد نکنید
t، شماره گذاری ایجاد شماره گذاری شده است
پشتیبان گیری
صفر، در صورت وجود شماره گذاری شده اند
نسخه های شماره گذاری شده، در غیر این صورت ساده است
هرگز، ساده همیشه ساده خلق کن
پشتیبان گیری

آرگومان های معتبر برای گزینه های --quoting-style:

تحت اللفظی
پوسته
پوسته همیشه
ج
ج-شاید
در رفتن
محل
کلوکال

مقادیر پیش فرض *this* tar عبارتند از:
--format=gnu -f- -b20 --quoting-style=escape --rmt-command=/usr/sbin/rmt
--rsh-command=/usr/bin/rsh

ابزار خط فرمان tar برای کار با آرشیوها در سیستم عامل های مبتنی بر یونیکس استفاده می شود. با کمک آن می توانید داده ها را بایگانی کنید و استفاده از فضای دیسک را بهینه کنید.

ایجاد و باز کردن آرشیوها

ايجاد كردن

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

tar -c<опции> <новый архивный файл> <что сжимаем>

مثال ایجاد:

tar -czvf archive.tar.gz /home/dmosk

* در این مثال یک آرشیو ایجاد خواهد شد archive.tar.gzفهرست اصلی کاربر ( /home/dmosk)
** جایی که z- آرشیو را در gzip فشرده کنید (بدون این پارامتر، tar فشرده نمی شود، اما به اصطلاح tarball ایجاد می کند). ج- کلید ایجاد یک آرشیو؛ v- حالت پرحرف، یعنی با فرآیند نمایش داده شده روی صفحه (برای نظارت بر پیشرفت کار بسیار راحت است، اما در اسکریپت ها می توان آن را از دست داد). f- از یک فایل استفاده کنید (ما قطعا آن را مشخص می کنیم، زیرا ما بیشتر با فایل ها کار می کنیم).

بسته بندی را باز کنید

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

tar -x<опции> <архивный файл>

نمونه باز کردن بسته بندی:

tar -xvf archive.tar.gz

مثال ها

gz

باز کردن بسته بندی فایل .gz:

tar -xvf archive.tar.gz

* اگر خطایی رخ دهد این شبیه یک آرشیو تار نیست، می توانید از دستور استفاده کنید gzip -d archive.tar.gz.

bz2

tar -xvjf archive.tar.bz2

* کلید j وظیفه کار با bz2 را بر عهده دارد.

اگر سیستم از bzip2 شکایت دارد، باید آن را نصب کنید:

yum bzip2 را نصب کنید

apt-get bzip2 را نصب کنید

pkg bzip2 را نصب کنید

* به ترتیب، برای CentOS (بر اساس RPM)، اوبونتو (مبتنی بر دب)، FreeBSD (مبتنی بر BSD).

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

bzip2 -d archive.tar.bz2

gzip

tar -xvzf archive.tar.gzip

* کلید z وظیفه کار با gzip را بر عهده دارد.

tgz

باز کردن بسته بندی مانند gzip:

tar -xvzf archive.tgz

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

tar -C /home/user -xvf archive.tar.gz

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

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

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

tar -C /home/admin/mytar -xvf admin.tar.gz --strip-components 1

*کاتالوگ /home/admin/mytarباید از قبل ایجاد شود؛ -- نوار قطعات 1از یک زیرپوشه در داخل بایگانی می گذرد.

حذف فایل ها با ماسک

اگر می‌خواهید از برخی فایل‌ها رد شوید، دستور را با سوئیچ --exclude وارد کنید:

tar -czvf archive.tar.gz /wwwsite --exclude="sess_*"

* در این مثال یک آرشیو ایجاد می کنیم archive.tar.gz، که حاوی فایل هایی که با شروع می شوند نخواهد بود sess_.

توضیحات کلیدهای تار

دستورات عمل

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

گزینه های اضافی

کلید شرح
--atime-serve همان مهر زمان دسترسی را برای فایل بگذارید.
-ب ن اندازه بلوک را روی N x 512 قرار دهید.
-سی دایرکتوری را تغییر دهید به طور پیش فرض، یکی که ما در آن هستیم استفاده می شود.
--ایست بازرسی نمایش نام پوشه ها هنگام خواندن یک فایل آرشیو.
-جی هنگام نمایش یا بازیابی از فرمت پشتیبان افزایشی قدیمی استفاده کنید.
-g هنگام نمایش یا بازیابی از فرمت پشتیبان افزایشی جدید استفاده کنید.
-h پیوندهای نمادین را کپی نکنید. فقط فایل هایی که این پیوندهای نمادین به آنها اشاره می کنند.
-من بلوک های صفر را نادیده بگیرید.
-j با استفاده از bzip2
--نادیده-شکست-خواندن فایل های ناخوانا را نادیده بگیرید.
-k هنگام باز کردن بسته بندی، فایل های موجود با فایل های مربوطه از بایگانی جایگزین نمی شوند.
-لوگاریتم تغییر نوار مغناطیسی پس از N*1024 بایت.
-m هنگام بازیابی، زمان اصلاح شی را نادیده بگیرید.
آرشیو چند جلدی
-N تاریخ فقط فایل های جدیدتر را نسبت به DATE ذخیره کنید
-O خروجی مستقیم به خروجی استاندارد.
بازیابی اطلاعات محافظت شده
اسامی (/) را از اسامی حذف نمی کند.
-s مرتب سازی فایل ها در حین استخراج
--حفظ همان -ps
-حذف-فایل ها پس از افزودن به آرشیو فایل های منبع را حذف کنید.
--همین مالک هنگام استخراج، مالک را حفظ کنید.
--جمع کل هنگام ایجاد آرشیو، بایت های خروجی را تولید کنید.
-v Action Logging - فهرستی از اشیایی را که یک عمل روی آنها انجام می شود نمایش می دهد.
-V NAME ایجاد یک بایگانی در جلدی با برچسب NAME.
--نسخه نمایش نسخه تار.
-w نیاز به تایید برای هر اقدام.
-دبلیو بررسی آرشیو پس از ضبط
-- حذف FILE حذف فایل FILE.
-X فایل حذف فایل های FILE
-Z بایگانی را با استفاده از فشرده سازی فیلتر می کند.
-z با استفاده از gzip

* لیست فعلی گزینه ها را می توان با دستور به دست آورد تار مرد.