TAR(1) GNU TAR Manual TAR(1)

tar - ابزار آرشیو و بایگانی فایل‌ها

tar {A|c|d|r|t|u|x}[GnSkUWOmpsMBiajJzZhPlRvwo] [ARG...]

tar -A [OPTIONS] ARCHIVE ARCHIVE

tar -c [-f ARCHIVE] [OPTIONS] [FILE...]

tar -d [-f ARCHIVE] [OPTIONS] [FILE...]

tar -t [-f ARCHIVE] [OPTIONS] [MEMBER...]

tar -r [-f ARCHIVE] [OPTIONS] [FILE...]

tar -u [-f ARCHIVE] [OPTIONS] [FILE...]

tar -x [-f ARCHIVE] [OPTIONS] [MEMBER...]

tar {--catenate|--concatenate} [OPTIONS] ARCHIVE ARCHIVE

tar --create [--file ARCHIVE] [OPTIONS] [FILE...]

tar {--diff|--compare} [--file ARCHIVE] [OPTIONS] [FILE...]

tar --delete [--file ARCHIVE] [OPTIONS] [MEMBER...]

tar --append [-f ARCHIVE] [OPTIONS] [FILE...]

tar --list [-f ARCHIVE] [OPTIONS] [MEMBER...]

tar --test-label [--file ARCHIVE] [OPTIONS] [LABEL...]

tar --update [--file ARCHIVE] [OPTIONS] [FILE...]

tar --update [-f ARCHIVE] [OPTIONS] [FILE...]

tar {--extract|--get} [-f ARCHIVE] [OPTIONS] [MEMBER...]

این صفحه راهنما توصیفی کوتاه از GNU tar است. برای توضیحات دقیق‌تر، شامل مثال‌ها و توصیه‌های کاربردی، به راهنمای گنو تار (GNU Tar Manual) که در قالب texinfo موجود است مراجعه کنید. اگر نمایش‌دهنده info و مستندات tar به درستی روی سامانه شما نصب شده باشند، دستور

info tar

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

همچنین می‌توانید این راهنما را با استفاده از حالت info در emacs(1) مشاهده کنید، یا آن را در قالب‌های گوناگون به‌صورت برخط در نشانی زیر بیابید:

در صورت وجود هرگونه مغایرت میان این صفحه راهنما و راهنمای گنو تار، مرجع دوم به عنوان منبع معتبر و نهایی در نظر گرفته می‌شود.

برنامه GNU tar یک ابزار بایگانی است که برای ذخیره‌سازی چندین فایل در قالب یک فایل واحد (یک آرشیو) و مدیریت چنین آرشیوهایی طراحی شده است. آرشیو می‌تواند یک فایل معمولی یا یک دستگاه (برای نمونه درایو نوار مغناطیسی، که نام برنامه نیز برگرفته از آن است: tape archiver) باشد، و می‌تواند روی سامانه محلی یا یک ماشین دوردست قرار داشته باشد.

گزینه‌های GNU tar را می‌توان به سه سبک مختلف مشخص کرد. در سبک سنتی (traditional style)، اولین آرگومان خوشه‌ای از حروف گزینه‌ها است و تمام آرگومان‌های بعدی مقادیر لازم را برای گزینه‌هایی که نیاز به مقدار دارند فراهم می‌کنند. آرگومان‌ها با همان ترتیبی که حروف گزینه‌ها آمده‌اند خوانده می‌شوند. هر واژه دیگری در خط فرمان که پس از پردازش گزینه‌ها باقی بماند به عنوان آرگومان غیراختیاری در نظر گرفته می‌شود: نام فایل‌ها یا اعضای آرشیو.

برای نمونه، گزینه c نیاز به ایجاد آرشیو دارد، گزینه v عملیات پرگویی (verbose) را درخواست می‌کند، و گزینه f آرگومانی می‌گیرد که نام آرشیو مورد پردازش را تعیین می‌کند. دستور زیر که به سبک سنتی نوشته شده است، به tar دستور می‌دهد همه فایل‌های موجود در دایرکتوری /etc را در فایل آرشیو etc.tar ذخیره کرده و فهرست فایل‌های در حال آرشیو شدن را با جزئیات نمایش دهد:

tar cfv etc.tar /etc

در سبک یونیکس یا گزینه‌های کوتاه (UNIX or short-option style)، پیش از هر حرف گزینه یک خط تیره قرار می‌گیرد، همان‌طور که در سایر ابزارهای خط فرمان مرسوم است. اگر گزینه‌ای نیاز به آرگومان داشته باشد، آن آرگومان بلافاصله پس از آن می‌آید، خواه به صورت واژه‌ای جداگانه در خط فرمان باشد یا چسبیده به خود گزینه. با این حال، اگر گزینه یک آرگومان اختیاری بپذیرد، آرگومان باید بدون هیچ فاصله خالی به حرف گزینه متصل شود، مانند -g/tmp/snar.db.

هر تعداد گزینه که آرگومان دریافت نمی‌کنند را می‌توان پس از یک خط تیره واحد خوشه‌بندی کرد، مانند -vkp. گزینه‌هایی که آرگومان دریافت می‌کنند (خواه اجباری یا اختیاری)، می‌توانند در انتهای چنین خوشه‌ای قرار گیرند، مانند -vkpf a.tar.

دستور مثال بالا که به سبک گزینه‌های کوتاه نوشته شود می‌تواند به این صورت باشد:

tar -cvf etc.tar /etc
یا
tar -c -v -f etc.tar /etc

در سبک گنو یا گزینه‌های بلند (GNU or long-option style)، هر گزینه با دو خط تیره آغاز می‌شود و دارای نامی معنادار است که از حروف کوچک و خط تیره تشکیل شده است. در صورت استفاده، گزینه بلند را می‌توان تا حروف آغازین آن خلاصه کرد، مشروط بر اینکه باعث ابهام نشود. آرگومان‌های گزینه‌های بلند یا به صورت واژه‌ای جداگانه در خط فرمان و بلافاصله پس از گزینه، یا با علامت مساوی بدون هیچ فاصله میانجی به گزینه متصل می‌شوند. آرگومان‌های اختیاری همیشه باید از روش دوم استفاده کنند.

چند روش برای نوشتن دستور مثال به این سبک:

tar --create --file etc.tar --verbose /etc
یا (با خلاصه کردن برخی گزینه‌ها):
tar --cre --file=etc.tar --verb /etc

گزینه‌ها در هر سه سبک را می‌توان ترکیب کرد، اگرچه ترکیب کردن با گزینه‌های قدیمی توصیه نمی‌شود.

گزینه‌های فهرست‌شده در جدول زیر به GNU tar مشخص می‌کنند چه عملیاتی را باید انجام دهد. دقیقاً یکی از آن‌ها باید مشخص شود. معنای آرگومان‌های غیراختیاری به حالت عملیات درخواست‌شده بستگی دارد.

پیوست کردن یک آرشیو به انتهای آرشیوی دیگر. آرگومان‌ها به عنوان نام‌های آرشیوهایی که باید پیوست شوند در نظر گرفته می‌شوند. تمام آرشیوها باید فرمتی یکسان با آرشیوی که به آن پیوست می‌شوند داشته باشند، در غیر این صورت ممکن است آرشیو حاصل با پیاده‌سازی‌های غیر گنو از tar غیرقابل استفاده باشد. همچنین توجه داشته باشید که هنگامی که بیش از یک آرشیو داده می‌شود، اعضای آرشیوهای غیر از اولین آرشیو تنها در صورتی در آرشیو نهایی قابل دسترسی خواهند بود که از گزینه -i (--ignore-zeros) استفاده شود.

آرشیوهای فشرده‌شده را نمی‌توان به هم متصل کرد.

ایجاد یک آرشیو جدید. آرگومان‌ها نام فایل‌هایی را که باید آرشیو شوند مشخص می‌کنند. دایرکتوری‌ها به صورت بازگشتی آرشیو می‌شوند، مگر اینکه گزینه --no-recursion مشخص شده باشد.
یافتن تفاوت‌ها میان آرشیو و سامانه فایل. آرگومان‌ها اختیاری هستند و اعضای آرشیو را برای مقایسه مشخص می‌کنند. در صورت عدم ارائه، دایرکتوری کاری فعلی در نظر گرفته می‌شود.
حذف از درون آرشیو. آرگومان‌ها نام اعضای آرشیو را که باید حذف شوند مشخص می‌کنند. حداقل باید یک آرگومان ارائه شود.

این گزینه روی آرشیوهای فشرده‌شده کار نمی‌کند. معادل گزینه کوتاه برای این مورد وجود ندارد.

پیوست کردن فایل‌ها به انتهای آرشیو. آرگومان‌ها معنایی مشابه با -c (--create) دارند.
-t, --list
فهرست کردن محتویات یک آرشیو. آرگومان‌ها اختیاری هستند. در صورت ارائه، نام اعضایی را که باید فهرست شوند مشخص می‌کنند.
آزمودن برچسب حجم (volume label) آرشیو و خروج. اگر بدون آرگومان استفاده شود، برچسب حجم (در صورت وجود) را چاپ کرده و با وضعیت 0 خارج می‌شود. هنگامی که یک یا چند آرگومان خط فرمان داده شود، tar برچسب حجم را با هر یک از آرگومان‌ها مقایسه می‌کند. در صورت یافتن تطابق با کد 0 و در غیر این صورت با کد 1 خارج می‌شود. هیچ خروجی نمایش داده نمی‌شود، مگر اینکه همراه با گزینه -v (--verbose) استفاده شود.

برای این گزینه معادل کوتاهی وجود ندارد.

پیوست کردن فایل‌هایی که از نسخه متناظر خود در آرشیو جدیدتر هستند. آرگومان‌ها همان معنای گزینه‌های -c و -r را دارند. توجه داشته باشید که فایل‌های جدیدتر جایگزین رونوشت‌های قدیمی خود در آرشیو نمی‌شوند، بلکه به انتهای آرشیو پیوست می‌گردند. بنابراین آرشیو حاصل می‌تواند شامل چندین عضو با نام یکسان باشد که مربوط به نسخه‌های گوناگون همان فایل هستند.
استخراج فایل‌ها از یک آرشیو. آرگومان‌ها اختیاری هستند. در صورت ارائه، نام اعضای آرشیو را برای استخراج مشخص می‌کنند.
نمایش مقادیر پیش‌فرض توکار برای گزینه‌های مختلف tar و خروج. هیچ آرگومانی مجاز نیست.
-?, --help
نمایش خلاصه‌ای از گزینه‌ها و خروج. هیچ آرگومانی مجاز نیست.
نمایش فهرستی از گزینه‌های موجود و خروج. هیچ آرگومانی مجاز نیست.
چاپ نسخه برنامه و اطلاعات حق نشر و خروج.

بررسی شماره دستگاه‌ها هنگام ایجاد آرشیوهای افزایشی (پیش‌فرض).
مدیریت پشتیبان‌گیری‌های افزایشی با فرمت جدید گنو. FILE نام یک فایل وضعیت لحظه‌ای (snapshot file) است که tar اطلاعات تکمیلی را در آن ذخیره می‌کند تا مشخص کند کدام فایل‌ها از زمان نسخه افزایشی قبلی تغییر کرده‌اند و بنابراین باید مجدداً ذخیره شوند. اگر هنگام ایجاد آرشیو FILE وجود نداشته باشد، ایجاد خواهد شد و تمام فایل‌ها به آرشیو حاصل افزوده می‌شوند (پشتیبان‌گیری سطح 0). برای ایجاد آرشیوهای افزایشی در سطح غیر صفر N، یک رونوشت از فایل snapshot ایجاد شده در سطح N-1 تهیه کنید و آن را به عنوان FILE به کار ببرید.

هنگام فهرست کردن یا استخراج، محتوای واقعی FILE بررسی نمی‌شود و تنها به دلیل الزامات نحوی مورد نیاز است؛ بنابراین استفاده از /dev/null به جای آن مرسوم است.

استفاده از METHOD برای تشخیص حفره‌ها در فایل‌های تنک (sparse files). این گزینه شامل --sparse نیز می‌شود. مقادیر معتبر برای METHOD عبارتند از seek و raw. حالت پیش‌فرض seek است که در صورت عدم پشتیبانی به raw بازمی‌گردد.
مدیریت پشتیبان‌گیری‌های افزایشی با فرمت قدیمی گنو.
عدم خروج با وضعیت غیر صفر در مواجهه با فایل‌های غیرقابل خواندن.
تعیین سطح پشتیبان‌گیری برای آرشیو افزایشی فهرست‌شده. در حال حاضر فقط --level=0 معنادار است: این گزینه به tar دستور می‌دهد فایل snapshot را پیش از آغاز پشتیبان‌گیری خالی کند و در نتیجه پشتیبان‌گیری سطح 0 را تحمیل نماید.
فرض اینکه آرشیو قابلیت جستجو و پرش (seekable) دارد. به طور معمول tar به صورت خودکار تعیین می‌کند که آیا آرشیو قابلیت seek دارد یا خیر. این گزینه برای استفاده در مواردی در نظر گرفته شده که این تشخیص خودکار با شکست مواجه می‌شود. این گزینه فقط زمانی اعمال می‌شود که آرشیو برای خواندن باز شده باشد (برای نمونه با گزینه‌های --list یا --extract ).
عدم بررسی شماره دستگاه‌ها هنگام ایجاد آرشیوهای افزایشی.
فرض اینکه آرشیو قابلیت پرش و جستجو (seekable) ندارد.
تنها پردازش Nمین رخداد از هر فایل در آرشیو. این گزینه فقط زمانی معتبر است که با یکی از زیردستورهای زیر استفاده شود: --delete، --diff، --extract یا --list و هنگامی که فهرستی از فایل‌ها در خط فرمان یا از طریق گزینه -T ارائه شده باشد. مقدار پیش‌فرض N برابر با 1 است.
غیرفعال کردن استفاده از برخی گزینه‌های بالقوه خطرناک.
تعیین نسخه قالب تنک مورد استفاده (مستلزم --sparse). این گزینه شامل --sparse نیز می‌شود. مقادیر معتبر برای آرگومان عبارتند از 0.0، 0.1، و 1.0. برای بررسی دقیق فرمت‌های تنک، به راهنمای گنو تار، پیوست D، بخش "Sparse Formats" مراجعه کنید. با استفاده از ابزار info، می‌توان با اجرای دستور زیر به آن دسترسی پیدا کرد: info tar 'Sparse Formats'.
مدیریت بهینه فایل‌های تنک (sparse). برخی فایل‌ها در سامانه فایل ممکن است بخش‌هایی داشته باشند که در واقع هرگز نوشته نشده‌اند (اغلب این‌ها فایل‌های پایگاه داده ایجاد شده توسط سامانه‌هایی مانند DBM هستند). با فعال بودن این گزینه، tar تلاش می‌کند پیش از آرشیو کردن بررسی کند که آیا فایل تنک است یا خیر، و در این صورت، با ننوشتن بخش‌های خالی فایل، حجم آرشیو نهایی را کاهش دهد.

این گزینه‌ها اقدامات tar را هنگام استخراج فایل روی رونوشت موجود روی دیسک کنترل می‌کنند.

عدم جایگزینی فایل‌های موجود هنگام استخراج.
عدم جایگزینی فایل‌های موجود روی دیسک که از رونوشت‌های موجود در آرشیو تازه‌تر هستند.
عدم جایگزینی پیوندهای نمادین موجود به دایرکتوری‌ها هنگام استخراج.
حفظ فرا‌داده‌های (metadata) دایرکتوری‌های موجود.
استخراج همه فایل‌ها در DIR، یا در صورت استفاده بدون آرگومان، در زیردایرکتوری نام‌گذاری‌شده بر اساس نام پایه آرشیو (بدون پسوندهای استاندارد فشرده‌سازی که توسط --auto-compress شناسایی می‌شوند).
بازنویسی و جایگزینی فایل‌های موجود هنگام استخراج.
بازنویسی فراداده‌های دایرکتوری‌های موجود هنگام استخراج (پیش‌فرض).
حذف بازگشتی تمام فایل‌های درون دایرکتوری پیش از استخراج در آن.
حذف فایل‌ها از روی دیسک پس از افزودن آن‌ها به آرشیو.
عدم بازنویسی فایل‌های موجود هنگام استخراج، و رد شدن بی‌صدا از آن‌ها.
حذف هر فایل پیش از استخراج روی آن.
بررسی و راستی‌آزمایی آرشیو پس از نوشتن آن.

نادیده گرفتن کدهای خروج زیرپردازه‌ها.
تلقی کدهای خروج غیر صفر فرزندان به عنوان خطا (پیش‌فرض).
استخراج فایل‌ها در خروجی استاندارد.
هدایت فایل‌های استخراج‌شده از طریق لوله (pipe) به COMMAND. آرگومان مسیر یک برنامه خارجی است، به همراه آرگومان‌های خط فرمان اختیاری. این برنامه اجرا شده و محتوای فایل در حال استخراج در ورودی استاندارد به آن تحویل داده می‌شود. داده‌های اضافی از طریق متغیرهای محیطی زیر فراهم خواهند شد:
نوع فایل. این یک حرف منفرد با معانی زیر است:
f	فایل معمولی (Regular file)
d	دایرکتوری (Directory)
l	پیوند نمادین (Symbolic link)
h	پیوند سخت (Hard link)
b	دستگاه بلوکی (Block device)
c	دستگاه نویسه‌ای (Character device)

در حال حاضر تنها فایل‌های معمولی پشتیبانی می‌شوند.

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

علاوه بر این، متغیرهای زیر حاوی اطلاعاتی درباره حالت عملیاتی tar و آرشیو در حال پردازش هستند:

شماره نسخه GNU tar.
نام آرشیوی که tar در حال پردازش آن است.
ضریب بلوک‌بندی جاری، یعنی تعداد بلوک‌های ۵۱۲ بایتی در هر رکورد.
شماره ترتیبی حجمی که tar در حال پردازش آن است (در هنگام خواندن آرشیو چندحجمی تنظیم می‌شود).
قالب آرشیو در حال پردازش. یکی از موارد زیر: gnu، oldgnu، posix، ustar، v7.
گزینه کوتاهی (با یک خط تیره در ابتدا) که عملیات اجرایی توسط tar را توصیف می‌کند.
توصیف‌کننده فایلی (File descriptor) که می‌تواند برای اعلام نام حجم جدید به tar استفاده شود.

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

تعویض نوار پس از نوشتن Nx1024 بایت. اگر پس از N یک پسوند اندازه بیاید (به بخش پسوندهای اندازه در ادامه مراجعه کنید)، این پسوند ضریب ضربی مورد استفاده به جای 1024 را مشخص می‌کند.

این گزینه شامل -M نیز می‌شود.

ایجاد/فهرست کردن/استخراج آرشیو چندحجمی.
استفاده از COMMAND به جای rmt هنگام دسترسی به آرشیوهای راه دور. به توضیحات گزینه -f در بالا مراجعه کنید.
استفاده از COMMAND به جای rsh هنگام دسترسی به آرشیوهای راه دور. به توضیحات گزینه -f در بالا مراجعه کنید.
هنگامی که این گزینه همراه با --multi-volume استفاده شود، tar ردیابی خواهد کرد که در حال کار بر روی کدام حجم از یک آرشیو چندحجمی در FILE است.

تنظیم اندازه هر رکورد به اندازه BLOCKSx512 بایت.
هنگام فهرست کردن یا استخراج، رکوردهای ناقص ورودی پس از نشانه پایان فایل را بپذیر.
نادیده گرفتن بلوک‌های صفرشده در آرشیو. به طور معمول دو بلوک متوالی ۵۱۲ بایتی پر از صفر به معنی پایان فایل (EOF) هستند و tar پس از برخورد با آن‌ها خواندن را متوقف می‌کند. این گزینه دستور می‌دهد که خواندن فراتر از آن‌ها ادامه یابد و هنگام خواندن آرشیوهای ایجاد شده با گزینه -A مفید است.
تنظیم اندازه رکورد. NUMBER تعداد بایت‌ها در هر رکورد است. باید مضربی از 512 باشد. می‌تواند با یک پسوند اندازه همراه شود، مانند --record-size=10K برای ۱۰ کیلوبایت. به بخش پسوندهای اندازه برای فهرستی از پسوندهای معتبر مراجعه کنید.

ایجاد آرشیو با قالب داده‌شده. قالب‌های معتبر عبارتند از:
فرمت GNU tar 1.13.x
فرمت GNU بر اساس tar <= 1.12.
فرمت POSIX 1003.1-2001 (pax).
فرمت POSIX 1003.1-1988 (ustar).
فرمت قدیمی V7 tar.
مشابه --format=v7.
کنترل کلیدواژه‌های pax هنگام ایجاد آرشیوهای PAX (-H pax). این گزینه معادل گزینه -o از ابزار pax(1) است.
مشابه --format=posix.
ایجاد آرشیو با نام برچسب حجم TEXT. در صورت فهرست کردن یا استخراج، از TEXT به عنوان الگوی انطباق برای نام حجم استفاده کنید.

استفاده از پسوند نام آرشیو برای تعیین برنامه فشرده‌سازی.
پالایش داده‌ها از طریق COMMAND. این دستور باید گزینه -d را برای باز کردن فشرده‌سازی بپذیرد. آرگومان می‌تواند شامل گزینه‌های خط فرمان باشد.
فیلتر کردن آرشیو از طریق bzip2(1).
فیلتر کردن آرشیو از طریق xz(1).
فیلتر کردن آرشیو از طریق lzip(1).
فیلتر کردن آرشیو از طریق lzma(1).
فیلتر کردن آرشیو از طریق lzop(1).
عدم استفاده از پسوند نام آرشیو برای تعیین برنامه فشرده‌سازی.
فیلتر کردن آرشیو از طریق gzip(1).
فیلتر کردن آرشیو از طریق compress(1).
فیلتر کردن آرشیو از طریق zstd(1).

حفظ زمان‌های دسترسی فایل‌های آرشیو شده، یا با بازگردانی زمان‌ها پس از خواندن (METHOD=replace، حالت پیش‌فرض) یا با عدم تغییر زمان‌ها از همان ابتدا (METHOD=system).
به تعویق انداختن تنظیم زمان‌های تغییر و مجوزهای دایرکتوری‌های استخراج‌شده تا پایان عملیات استخراج. هنگامی از این گزینه استفاده کنید که از آرشیوی با ترتیب اعضای غیرمعمول استخراج می‌کنید.
اجبار NAME به عنوان گروه برای فایل‌های اضافه‌شده. اگر GID ارائه نشود، NAME می‌تواند یک نام گروه یا GID عددی باشد. در این حالت بخش مفقود (GID یا نام) از پایگاه‌داده گروه‌های میزبان فعلی استخراج خواهد شد.

در صورت استفاده همراه با --group-map=FILE، تنها روی فایل‌هایی اثر می‌گذارد که گروه مالک آن‌ها در FILE فهرست نشده باشد.

خواندن نگاشت تبدیل گروه از FILE. خطوط خالی نادیده گرفته می‌شوند. توضیحات با علامت # آغاز شده و تا انتهای خط ادامه می‌یابند. هر خط غیرخالی در FILE تبدیل را برای یک گروه مشخص می‌کند. این خط باید از دو بخش تشکیل شود که با هر میزان فاصله سفید جدا شده‌اند:
OLDGRP NEWGRP[:NEWGID]

OLDGRP یک نام گروه معتبر یا یک GID با پیشوند + است. مگر اینکه NEWGID ارائه شده باشد، NEWGRP نیز باید یک نام گروه معتبر یا +GID باشد. در غیر این صورت، نیازی نیست که NEWGRP و NEWGID در پایگاه‌داده گروه سامانه وجود داشته باشند.

در نتیجه، هر فایل ورودی متعلق به گروه OLDGRP در آرشیو با گروه مالک NEWGRP و GID برابر با NEWGID ذخیره خواهد شد.

اعمال حالت نمادین CHANGES برای مجوزهای فایل‌های اضافه‌شده.
تنظیم mtime (زمان ویرایش) برای فایل‌های اضافه‌شده. DATE-OR-FILE یا یک تاریخ/زمان در قالبی اختیاری است، یا نام فایلی موجود. در حالت دوم، mtime آن فایل استفاده خواهد شد.
عدم استخراج زمان تغییر فایل (نگه‌داشتن زمان فعلی استخراج).
لغو اثر گزینه قبلی --delay-directory-restore.
استخراج فایل‌ها با هویت خودتان (پیش‌فرض برای کاربران عادی).
اعمال umask کاربر هنگام استخراج مجوزها از آرشیو (پیش‌فرض برای کاربران عادی).
استفاده همیشگی از شناسه‌های عددی به جای نام‌های کاربری/گروهی.
اجبار NAME به عنوان مالک فایل‌های اضافه‌شده. اگر UID ارائه نشود، NAME می‌تواند یک نام کاربری یا UID عددی باشد. در این حالت بخش نامشخص (UID یا نام) از پایگاه‌داده کاربران میزبان فعلی استخراج می‌شود.

در صورت استفاده همراه با --owner-map=FILE، فقط روی فایل‌هایی اثر می‌گذارد که مالک آن‌ها در FILE فهرست نشده باشد.

خواندن نگاشت تبدیل مالک از FILE. خطوط خالی نادیده گرفته می‌شوند. توضیحات با علامت # آغاز شده و تا انتهای خط ادامه می‌یابند. هر خط غیرخالی در FILE تبدیل را برای یک UID مشخص می‌کند. این خط باید از دو فیلد تشکیل شود که با هر میزان فاصله سفید جدا شده‌اند:
OLDUSR NEWUSR[:NEWUID]

OLDUSR یک نام کاربری معتبر یا یک UID با پیشوند + است. مگر اینکه NEWUID ارائه شود، NEWUSR نیز باید یک نام کاربری معتبر یا +UID باشد. در غیر این صورت، نیازی نیست که NEWUSR و NEWUID در پایگاه‌داده کاربران سامانه موجود باشند.

در نتیجه، هر فایل ورودی متعلق به کاربر OLDUSR در آرشیو با نام مالک NEWUSR و UID برابر با NEWUID ذخیره خواهد شد.

استخراج اطلاعات مربوط به مجوزهای دسترسی فایل (پیش‌فرض برای کاربر ارشد/superuser).
تلاش برای استخراج فایل‌ها با همان مالکیت موجود در آرشیو (پیش‌فرض برای کاربر ارشد).
مرتب‌سازی نام‌های مورد استخراج برای تطابق با ترتیب اعضای آرشیو.
هنگام ایجاد آرشیو، ورودی‌های دایرکتوری را مطابق با ORDER مرتب کن، که یکی از موارد زیر است: none، name، یا inode.

حالت پیش‌فرض --sort=none است که اعضای آرشیو را به همان ترتیبی که توسط سیستم‌عامل بازگردانده شده ذخیره می‌کند.

استفاده از --sort=name تضمین می‌کند که ترتیب اعضا در آرشیو ایجاد شده یکنواخت و تکرارپذیر است.

استفاده از --sort=inode تعداد پرش‌های دیسک (seek) در زمان ایجاد آرشیو را کاهش داده و می‌تواند سرعت بایگانی را به میزان چشمگیری افزایش دهد. این ترتیب مرتب‌سازی تنها در صورتی پشتیبانی می‌شود که سامانه زیربنایی اطلاعات لازم را فراهم کند.

فعال‌سازی پشتیبانی از POSIX ACLs.
غیرفعال‌سازی پشتیبانی از POSIX ACLs.
فعال‌سازی پشتیبانی از زمینه امنیتی SELinux.
غیرفعال‌سازی پشتیبانی از زمینه امنیتی SELinux.
فعال‌سازی پشتیبانی از صفت‌های توسعه‌یافته (extended attributes).
غیرفعال‌سازی پشتیبانی از صفت‌های توسعه‌یافته.
--xattrs-exclude=PATTERN
تعیین الگوی استثنا برای کلیدهای xattr. مقدار PATTERN یک عبارت باقاعده POSIX است، برای نمونه --xattrs-exclude='^user.'، برای استثنا کردن صفت‌ها از فضای‌نام کاربر.
--xattrs-include=PATTERN
تعیین الگوی شمول برای کلیدهای xattr. مقدار PATTERN یک عبارت باقاعده POSIX است.

استفاده از فایل آرشیو یا دستگاه ARCHIVE. اگر این گزینه ارائه نشود، tar ابتدا متغیر محیطی `TAPE' را بررسی خواهد کرد. در صورت مقداردهی، مقدار آن به عنوان نام آرشیو استفاده خواهد شد. در غیر این صورت، tar مقدار پیش‌فرض زمان کامپایل را در نظر می‌گیرد. مقدار پیش‌فرض را می‌توان از طریق گزینه --show-defaults یا در انتهای خروجی tar --help بررسی کرد.

نام آرشیوی که شامل دونقطه باشد بیانگر فایلی روی یک ماشین دوردست است. بخش قبل از دونقطه به عنوان نام میزبان یا آدرس IP ماشین، و بخش بعد از آن به عنوان مسیر فایل یا دستگاه تلقی می‌شود، مانند:

--file=remotehost:/dev/sr0

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

به‌طور پیش‌فرض، دسترسی به ماشین دوردست از طریق دستور rsh(1) انجام می‌شود. امروزه استفاده از ssh(1) به جای آن رایج است. می‌توانید این کار را با ارائه گزینه زیر در خط فرمان انجام دهید:

--rsh-command=/usr/bin/ssh

روی ماشین دوردست باید دستور rmt(8) نصب شده باشد. اگر مسیر آن با پیش‌فرض tar همخوانی ندارد، می‌توانید مسیر درست را با استفاده از گزینه --rmt-command به tar اطلاع دهید.

فایل آرشیو محلی است حتی اگر در نام آن علامت دونقطه وجود داشته باشد.
اجرای COMMAND در پایان هر نوار (مستلزم -M). دستور می‌تواند شامل آرگومان‌ها باشد. هنگام شروع، محیط tar به همراه متغیرهای زیر به آن به ارث خواهد رسید:
شماره نسخه GNU tar.
نام آرشیوی که tar در حال پردازش آن است.
ضریب بلوک‌بندی جاری، یعنی تعداد بلوک‌های ۵۱۲ بایتی در هر رکورد.
شماره ترتیبی حجمی که tar در حال پردازش آن است (در هنگام خواندن آرشیو چندحجمی تنظیم می‌شود).
قالب آرشیو در حال پردازش. یکی از: gnu، oldgnu، posix، ustar، v7.
گزینه کوتاه (با یک خط تیره در ابتدا) که عملیات اجرایی توسط tar را توصیف می‌کند.
توصیف‌کننده فایلی که می‌تواند برای ارسال نام حجم جدید به tar به کار رود.

اگر اسکریپت اطلاع‌رسانی با شکست روبرو شود، tar خارج می‌شود؛ در غیر این صورت، نوشتن حجم بعدی را آغاز می‌کند.

تعویض نوار پس از نوشتن Nx1024 بایت. اگر پس از N یک پسوند اندازه بیاید (به بخش پسوندهای اندازه در ادامه مراجعه کنید)، پسوند نشان‌دهنده ضریب مورد استفاده به جای 1024 خواهد بود.

این گزینه شامل -M می‌شود.

ایجاد/فهرست‌گیری/استخراج آرشیو چندحجمی.
استفاده از COMMAND به جای rmt هنگام دسترسی به آرشیوهای راه دور. توضیحات گزینه -f را در بالا ببینید.
استفاده از COMMAND به جای rsh هنگام دسترسی به آرشیوهای راه دور. توضیحات گزینه -f را در بالا ببینید.
هنگامی که این گزینه همراه با --multi-volume به کار رود، tar ثبت خواهد کرد که در حال کار روی کدام حجم از یک آرشیو چندحجمی در FILE است.

افزودن FILE به آرشیو (بسیار مفید اگر نام فایل با یک خط تیره آغاز شود).
پشتیبان‌گیری پیش از حذف. آرگومان CONTROL در صورت ارائه، سیاست پشتیبان‌گیری را کنترل می‌کند. مقادیر معتبر آن عبارتند از:
هرگز نسخه پشتیبان تهیه نکن.
تهیه نسخه‌های پشتیبان شماره‌دار.
تهیه نسخه‌های پشتیبان شماره‌دار در صورتی که نسخه شماره‌دار از قبل موجود باشد، و در غیر این صورت نسخه‌های پشتیبان ساده.
همیشه نسخه‌های پشتیبان ساده تهیه کن.

اگر CONTROL مشخص نشود، مقدار از متغیر محیطی VERSION_CONTROL گرفته می‌شود. اگر این متغیر نیز تنظیم نشده باشد، مقدار existing در نظر گرفته خواهد شد.

تغییر دایرکتوری به DIR پیش از انجام هر عملیاتی. این گزینه به ترتیب قرارگیری حساس است، یعنی بر روی تمام گزینه‌های بعد از خود اثر می‌گذارد.
استثنا کردن فایل‌های منطبق با PATTERN، یک الگوی عام (wildcard) به سبک glob(3).
استثنا کردن فایل‌های پشتیبان و قفل.
استثنا کردن محتویات دایرکتوری‌های حاوی فایل CACHEDIR.TAG، به جز خود فایل نشانه (tag).
استثنا کردن دایرکتوری‌های حاوی فایل CACHEDIR.TAG و خود فایل.
استثنا کردن همه محتویات زیرین دایرکتوری‌های حاوی CACHEDIR.TAG.
پیش از بایگانی یک دایرکتوری، بررسی کن آیا شامل FILE است یا خیر. در این صورت، الگوهای استثنا را از این فایل بخوان. الگوها تنها بر روی خود همان دایرکتوری اثر می‌گذارند.
مشابه --exclude-ignore، با این تفاوت که الگوهای موجود در FILE بر روی خود دایرکتوری و تمام زیردایرکتوری‌های آن اعمال می‌شوند.
استثنا کردن محتویات دایرکتوری‌های حاوی FILE، به جز خود FILE.
استثنا کردن دایرکتوری‌های حاوی FILE.
استثنا کردن همه موارد زیرین دایرکتوری‌های حاوی FILE.
استثنا کردن دایرکتوری‌های سامانه‌های کنترل نسخه (VCS).
استثنا کردن فایل‌هایی که با الگوهای خوانده‌شده از فایل‌های نادیده‌گیری مخصوص سامانه‌های کنترل نسخه همخوانی دارند. فایل‌های پشتیبانی‌شده عبارتند از: .cvsignore، .gitignore، .bzrignore، و .hgignore.
دنبال کردن پیوندهای نمادین؛ بایگانی و ذخیره فایل‌هایی که به آن‌ها اشاره شده است.
دنبال کردن پیوندهای سخت؛ بایگانی و ذخیره فایل‌هایی که به آن‌ها اشاره شده است.
شروع عملیات از عضو داده‌شده در آرشیو.
پردازش فایل‌هایی که داده‌های آن‌ها پس از DATE تغییر کرده است. اگر DATE با / یا . آغاز شود، به عنوان نام فایل تلقی شده و زمان ویرایش (mtime) آن فایل به عنوان تاریخ در نظر گرفته می‌شود.
غیرفعال کردن اثر گزینه قبلی --null.
جلوگیری از پیمایش بازگشتی خودکار درون دایرکتوری‌ها.
عدم حذف نقل‌قول‌ها از فایل ورودی یا نام اعضا.
رفتار با هر خط خوانده‌شده از فهرست فایل به گونه‌ای که گویی در خط فرمان وارد شده است؛ یعنی فاصله‌های آغازین و پایانی حذف می‌شوند و اگر رشته حاصل با یک خط تیره شروع شود، به عنوان یک گزینه خط فرمان tar در نظر گرفته می‌شود.

این رفتار پیش‌فرض است. گزینه --no-verbatim-files-from راهکاری برای بازگرداندن این رفتار پس از استفاده از گزینه --verbatim-files-from ارائه می‌دهد.

این گزینه مکانی (positional) است: بر تمام گزینه‌های --files-from که پس از آن می‌آیند اثر می‌گذارد، تا زمانی که گزینه --verbatim-files-from یا پایان خط فرمان فرا برسد.

این گزینه با گزینه --no-null تلویحاً فعال می‌شود.

دستور به گزینه‌های بعدی -T برای خواندن نام‌های خاتمه‌یافته با نویسه پوچ (null-terminated) به صورت دقیق (پردازش ویژه نام‌هایی را که با خط تیره آغاز می‌شوند غیرفعال می‌کند).

همچنین ببینید: --verbatim-files-from.

تنها ذخیره فایل‌هایی که از DATE جدیدتر هستند. اگر DATE با / یا . آغاز شود به عنوان نام یک فایل تلقی شده و زمان ویرایش (mtime) آن به عنوان تاریخ مبنا قرار می‌گیرد.
هنگام ایجاد آرشیو در سامانه فایل محلی باقی بمان و از مرزهای سیستم‌فایل دیگر عبور نکن.
عدم حذف اسلش‌های ابتدایی از نام فایل‌ها هنگام ایجاد آرشیو.
پیمایش بازگشتی درون دایرکتوری‌ها (پیش‌فرض).
پشتیبان‌گیری پیش از حذف، و جایگزینی پسوند معمول. پسوند پیش‌فرض ~ است، مگر اینکه با متغیر محیطی SIMPLE_BACKUP_SUFFIX لغو شده باشد.
دریافت نام‌ها برای استخراج یا ایجاد از FILE.

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

اگر این رفتار نامطلوب باشد، می‌توان آن را با استفاده از گزینه --verbatim-files-from غیرفعال کرد.

گزینه --null به tar اعلام می‌کند که نام‌ها در FILE به جای LF با نویسه اسکی NUL از یکدیگر جدا شده‌اند. این گزینه زمانی مفید است که فهرست توسط بخش -print0 در دستور find(1) تولید شده باشد.

حذف نقل‌قول‌ها از نام فایل‌ها یا اعضا (پیش‌فرض).
رفتار با هر خط خوانده‌شده از فهرست فایل‌ها به عنوان یک نام فایل، حتی اگر با خط تیره آغاز شود. فهرست‌های فایل با گزینه --files-from (-T) فراهم می‌شوند. رفتار پیش‌فرض این است که نام‌های ارائه‌شده در فهرست فایل به گونه‌ای پردازش شوند که گویی در خط فرمان تایپ شده‌اند، یعنی هر نامی که با خط تیره آغاز شود به عنوان گزینه tar تلقی خواهد شد. گزینه --verbatim-files-from این رفتار را غیرفعال می‌کند.

این گزینه بر تمامی گزینه‌های --files-from که پس از آن در خط فرمان قرار می‌گیرند اثر می‌گذارد. اثر آن با گزینه --no-verbatim-files-from بازگردانده می‌شود.

این گزینه توسط گزینه --null نیز اعمال می‌شود.

همچنین ببینید: --add-file.

استثنا کردن فایل‌های منطبق بر الگوهای فهرست‌شده در FILE.

حذف NUMBER بخش ابتدایی از مسیر نام فایل‌ها هنگام استخراج.
استفاده از عبارت جایگزینی sed به صورت EXPRESSION برای تبدیل نام فایل‌ها.

این گزینه‌ها هم بر الگوهای استثنا (exclude) و هم بر الگوهای شمول (include) اثر می‌گذارند.

تطابق الگوها با ابتدای نام فایل.
نادیده گرفتن بزرگی و کوچکی حروف.
تطابق الگوها پس از هر / (پیش‌فرض برای استثنا کردن).
انطباق حساس به بزرگی و کوچکی حروف (پیش‌فرض).
انطباق رشته‌ها به صورت دقیق و لفظی (بدون کاراکترهای عام).
کاراکترهای عام با / تطابق پیدا نکنند.
استفاده از کاراکترهای عام (پیش‌فرض برای استثنا کردن).
کاراکترهای عام با / تطابق یابند (پیش‌فرض برای استثنا کردن).

نمایش پیام‌های پیشرفت کار به ازای هر Nمین رکورد (پیش‌فرض 10).
اجرای ACTION در هر نقطه بازرسی (checkpoint).
تنظیم زمان تنها در صورتی که زمان فایل تازه‌تر از مقدار مشخص‌شده با --mtime باشد.
چاپ زمان فایل با بالاترین دقت ممکن.
ارسال خروجی پرگو (verbose) به FILE.
چاپ پیام در صورتی که همه پیوندها ذخیره نشده باشند.
غیرفعال کردن نقل‌قول برای نویسه‌های موجود در STRING.
قرار دادن نویسه‌های موجود در STRING درون نقل‌قول علاوه بر حالت معمول.
تنظیم شیوه نقل‌قول برای نام فایل‌ها و اعضا. مقادیر معتبر برای STYLE عبارتند از: literal، shell، shell-always، c، c-maybe، escape، locale، clocale.
نمایش شماره بلوک درون آرشیو همراه با هر پیام.
هنگام فهرست کردن یا استخراج، فهرست کردن هر دایرکتوری که با معیارهای جستجو مطابقت ندارد.
نمایش نام فایل‌ها یا آرشیو پس از تبدیل توسط گزینه‌های --strip و --transform.
چاپ مجموع کل بایت‌ها پس از پردازش آرشیو. اگر SIGNAL مشخص شده باشد، چاپ مجموع کل بایت‌ها هنگام دریافت این سیگنال انجام می‌شود. سیگنال‌های مجاز عبارتند از: SIGHUP، SIGQUIT، SIGINT، SIGUSR1، و SIGUSR2. پیشوند SIG را می‌توان حذف کرد.
چاپ زمان‌های ویرایش فایل بر اساس ساعت هماهنگ جهانی (UTC).
فهرست کردن پرجزئیات فایل‌های پردازش‌شده. هر بار تکرار این گزینه در خط فرمان، سطح جزئیات را یک واحد افزایش می‌دهد. بیشترین سطح جزئیات ۳ است. برای بررسی تفصیلی درباره نحوه تأثیرگذاری سطوح مختلف جزئیات بر خروجی tar، به راهنمای گنو تار، زیربخش 2.5.1 تحت عنوان "The --verbose Option" مراجعه کنید.
فعال یا غیرفعال کردن پیام‌های هشدار مشخص‌شده با KEYWORD. در صورتی که به KEYWORD پیشوند no- اضافه شود، پیام‌ها خاموش می‌شوند و در غیر این صورت فعال می‌گردند.

پیام‌های چندگانه --warning با یکدیگر تجمیع می‌شوند.

کلیدواژه‌های کنترل‌کننده عملکرد کلی tar:

فعال‌سازی تمام پیام‌های هشدار (پیش‌فرض).
غیرفعال‌سازی تمام پیام‌های هشدار.
"%s: file name read contains nul character"
"A lone zero block at %s"

کلیدواژه‌های مرتبط با tar --create:

"%s: contains a cache directory tag %s; %s"
"%s: File shrank by %s bytes; padding with zeros"
"%s: file is on a different filesystem; not dumped"
"%s: Unknown file type; file ignored"
"%s: socket ignored"
"%s: door ignored"
"%s: file is unchanged; not dumped"
"%s: file is the archive; not dumped"
"%s: File removed before we read it"
"%s: file changed as we read it"
غیرفعال کردن هشدارهای مربوط به فایل‌ها یا دایرکتوری‌های غیرقابل خواندن. این کلیدواژه تنها در صورتی اثرگذار است که همراه با گزینه --ignore-failed-read به کار رود.

کلیدواژه‌های مرتبط با tar --extract:

"%s: skipping existing file"
"%s: implausibly old time stamp %s"
"%s: time stamp %s is %s s in the future"
"Extracting contiguous files as regular files"
"Attempting extraction of symbolic links as hard links"
"%s: Unknown file type '%c', extracted as normal file"
"Current %s is newer or same age"
"Ignoring unknown extended header keyword '%s'"
کنترل توضیحات پرجزئیات خطاهایی که هنگام اجرای برنامه‌های بازکننده فشرده‌سازی جایگزین رخ می‌دهند. این هشدار به‌طور پیش‌فرض غیرفعال است (مگر اینکه از --verbose استفاده شود). نمونه رایج از آنچه هنگام استفاده از این هشدار دریافت می‌کنید:
$ tar --warning=decompress-program -x -f archive.Z
tar (child): cannot run compress: No such file or directory
tar (child): trying gzip

این به این معناست که tar ابتدا تلاش کرده با استفاده از compress آرشیو archive.Z را باز کند، و پس از شکست در این کار، به سراغ gzip رفته است.

"Record size = %lu blocks"

کلیدواژه‌های کنترل‌کننده استخراج افزایشی:

"%s: Directory has been renamed from %s"
"%s: Directory has been renamed"
"%s: Directory is new"
"%s: directory is on a different device: not purging"
"Malformed dumpdir: 'X' never used"
درخواست تایید برای هر عمل.

هنگام ایجاد آرشیو، مشابه با --old-archive عمل می‌کند. هنگام استخراج، مشابه با --no-same-owner است.

پسوند	واحدها	معادل بایتی
b	Blocks	SIZE x 512
B	Kilobytes	SIZE x 1024
c	Bytes	SIZE
G	Gigabytes	SIZE x 1024^3
K	Kilobytes	SIZE x 1024
k	Kilobytes	SIZE x 1024
M	Megabytes	SIZE x 1024^2
P	Petabytes	SIZE x 1024^5
T	Terabytes	SIZE x 1024^4
w	Words	SIZE x 2

کد خروج Tar مشخص می‌کند که آیا توانسته عملیات درخواستی را با موفقیت انجام دهد یا خیر، و در صورت بروز خطا، چه نوع خطایی رخ داده است.

0
پایان موفقیت‌آمیز.
1
برخی فایل‌ها تفاوت دارند. اگر tar با گزینه خط فرمان --compare (--diff, -d) اجرا شده باشد، این کد خروج به این معناست که برخی فایل‌ها در آرشیو با نسخه‌های متناظر روی دیسک تفاوت دارند. اگر به tar یکی از گزینه‌های --create، --append یا --update داده شده باشد، این کد به این معناست که برخی فایل‌ها در جریان فرآیند آرشیو شدن تغییر کرده‌اند و بنابراین آرشیو نهایی شامل رونوشت دقیق از مجموعه فایل‌ها نیست.
2
خطای مهلک (Fatal error). این کد نشان می‌دهد که خطایی مهلک و جبران‌ناپذیر رخ داده است.

اگر زیرپردازه‌ای که توسط tar فراخوانی شده است با کدی غیر صفر خارج شود، tar نیز خود با همان کد خارج خواهد شد. برای مثال این موضوع زمانی رخ می‌دهد که یکی از گزینه‌های فشرده‌سازی (مانند -z) به کار رفته باشد و برنامه فشرده‌ساز خارجی با خطا مواجه شود. نمونه دیگر، شکست rmt در جریان پشتیبان‌گیری بر روی یک دستگاه دوردست است.

bzip2(1), compress(1), gzip(1), lzma(1), lzop(1), rmt(8), symlink(7), xz(1), zstd(1).

راهنمای کامل tar: اجرای info tar یا استفاده از حالت info در emacs(1) برای مطالعه آن.

نسخه‌های برخط مستندات GNU tar در قالب‌های گوناگون در نشانی زیر قابل دسترسی است:


http://www.gnu.org/software/tar/manual

گزارش باگ‌ها به <bug-tar@gnu.org>.

Copyright © 2013-2019 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later http://gnu.org/licenses/gpl.html
این یک نرم‌افزار آزاد است: شما مجاز به تغییر و توزیع مجدد آن هستید. هیچ ضمانتی وجود ندارد، تا حدی که قانون اجازه می‌دهد.

July 13, 2020 TAR