.nr g 2 .\" $MirOS: src/bin/pax/pax.1,v 1.39 2024/01/05 02:08:48 tg Exp $ .\" $OpenBSD: pax.1,v 1.74 2018/07/23 19:02:49 kn Exp $ .\" $NetBSD: pax.1,v 1.3 1995/03/21 09:07:37 cgd Exp $ .\" .\" Copyright © 2005, 2009, 2011, 2012, 2014, 2016, 2017, 2018, 2021 .\" mirabilos .\" Copyright (c) 1992 Keith Muller. .\" Copyright (c) 1992, 1993 .\" The Regents of the University of California. All rights reserved. .\" .\" This code is derived from software contributed to Berkeley by .\" Keith Muller of the University of California, San Diego. .\" .\" Redistribution and use in source and binary forms, with or without .\" modification, are permitted provided that the following conditions .\" are met: .\" 1. Redistributions of source code must retain the above copyright .\" notice, this list of conditions and the following disclaimer. .\" 2. Redistributions in binary form must reproduce the above copyright .\" notice, this list of conditions and the following disclaimer in the .\" documentation and/or other materials provided with the distribution. .\" 3. Neither the name of the University nor the names of its contributors .\" may be used to endorse or promote products derived from this software .\" without specific prior written permission. .\" .\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND .\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE .\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE .\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE .\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL .\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS .\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) .\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT .\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" .\" @(#)pax.1 8.4 (Berkeley) 4/18/94 .\" .\"- .\" $miros: contrib/samples/portmdoc,v 1.23 2024/01/04 22:52:50 tg Exp $ .\"- .\" Copyright © 2008, 2009, 2010, 2016, 2018, 2020, 2023 .\" mirabilos .\" .\" Glue GNU groff (BSD and GNU mdoc both) to AT&T nroff (UCB mdoc). .\" * ` generates ‘ in gnroff, so use \` .\" * ' generates ’ in gnroff, \' generates ´, so use \*(aq .\" * - generates ‐ in gnroff, \- generates −, so .tr it to - .\" thus use - for hyphens and \- for minus signs and option dashes .\" * ~ is size-reduced and placed atop in groff, so use \*(TI .\" * ^ is size-reduced and placed atop in groff, so use \*(ha .\" * \(en does not work in nroff, so use \*(en for a solo en dash .\" * and \*(EM for a correctly spaced em dash .\" * <>| are problematic, so redefine and use \*(Lt\*(Gt\*(Ba .\" Also make sure to use \& *before* a punctuation char that is to not .\" be interpreted as punctuation, and especially with two-letter words .\" but also (after) a period that does not end a sentence (“e.g.\&”). .\"- .\" .\" Implement .Dd with the Mdocdate RCS keyword .\" .rn Dd xD .de Dd .ie \\$1 $Mdocdate: \{\ . xD \\$2 \\$3, \\$4 .\} .el .xD \\$1 \\$2 \\$3 .. .\" .\" .Dd must come before most everything, because when called .\" with -mandoc it loads -mdoc via .so in .Dd (first macro). .\" .Dd $Mdocdate: January 5 2024 $ .\" .\" Check which macro package we use, and do other -mdoc setup. .\" .ie \n(.g \{\ . if n .ss \n[.ss] 0 . if \*[.T] ascii .tr \-\N'45' . if \*[.T] latin1 .tr \-\N'45' . if \*[.T] utf8 .tr \-\N'45' . if \*[.T] utf8 .tr \(la\*(Lt . if \*[.T] utf8 .tr \(ra\*(Gt . ds <= \(<= . ds >= \(>= . ds Rq \(rq . ds Lq \(lq . ds sL \(aq . ds sR \(aq . if \*[.T] utf8 .ds sL ` . if \*[.T] ps .ds sL ` . if \*[.T] utf8 .ds sR ' . if \*[.T] ps .ds sR ' . ds aq \(aq . ds TI \(ti . ds ha \(ha . ds en \(en . ie d volume-ds-1 .ds tT gnu . el .ie d doc-volume-ds-1 .ds tT gnp . el .ds tT bsd .\} .el \{\ . ds aq ' . ds TI ~ . ds ha ^ . ds en \(em . ds tT ucb .\} .ie n \{\ . ds EM \ \(em\ \& .\} .el \{\ . ds EM \f(TR\|\(em\|\fP .\} .\" .\" Add UCB mdoc compatibility to GNU mdoc .\" Implement .Mx (MirBSD) .\" .ie "\*(tT"gnu" \{\ . ds sP \s0 . ds tN \*[Tn-font-size] . eo . de Mx . nr curr-font \n[.f] . nr curr-size \n[.ps] . ds str-Mx \f[\n[curr-font]]\s[\n[curr-size]u] . ds str-Mx1 \*(tN\%MirBSD\*[str-Mx] . if !\n[arg-limit] \ . if \n[.$] \{\ . ds macro-name Mx . parse-args \$@ . \} . if (\n[arg-limit] > \n[arg-ptr]) \{\ . nr arg-ptr +1 . ie (\n[type\n[arg-ptr]] == 2) \ . ds str-Mx1 \*(tN\%MirBSD\~#\*[arg\n[arg-ptr]]\*[str-Mx] . el \ . nr arg-ptr -1 . \} . ds arg\n[arg-ptr] "\*[str-Mx1] . nr type\n[arg-ptr] 2 . ds space\n[arg-ptr] "\*[space] . nr num-args (\n[arg-limit] - \n[arg-ptr]) . nr arg-limit \n[arg-ptr] . if \n[num-args] \ . parse-space-vector . print-recursive .. . de Aq . if !\n[arg-limit] \ . ds macro-name Aq . ie \n[in-authors-section] \{\ . ds quote-left \*(Lt . ds quote-right \*(Gt . \} . el \{\ . ds quote-left \[la] . ds quote-right \[ra] . \} . enclose-string \$@ .. . ec .\} .el .ie "\*(tT"gnp" \{\ . ds sP \s0 . ie t .ds tN \s[(\n[.ps]u-1z)] . el .ds tN . eo . de Mx . nr doc-curr-font \n[.f] . nr doc-curr-size \n[.ps] . ds doc-str-Mx \f[\n[doc-curr-font]]\s[\n[doc-curr-size]u] . ds doc-str-Mx1 \*(tN\%MirBSD\*[doc-str-Mx] . if !\n[doc-arg-limit] \ . if \n[.$] \{\ . ds doc-macro-name Mx . doc-parse-args \$@ . \} . if (\n[doc-arg-limit] > \n[doc-arg-ptr]) \{\ . nr doc-arg-ptr +1 . ie (\n[doc-type\n[doc-arg-ptr]] == 2) \ . ds doc-str-Mx1 \*(tN\%MirBSD\~#\*[doc-arg\n[doc-arg-ptr]]\*[doc-str-Mx] . el \ . nr doc-arg-ptr -1 . \} . ds doc-arg\n[doc-arg-ptr] "\*[doc-str-Mx1] . nr doc-type\n[doc-arg-ptr] 2 . ds doc-space\n[doc-arg-ptr] "\*[doc-space] . nr doc-num-args (\n[doc-arg-limit] - \n[doc-arg-ptr]) . nr doc-arg-limit \n[doc-arg-ptr] . if \n[doc-num-args] \ . doc-parse-space-vector . doc-print-recursive .. . ec .\} .el \{\ . de Mx . nr cF \\n(.f . nr cZ \\n(.s . ds aa \&\f\\n(cF\s\\n(cZ . if \\n(aC==0 \{\ . ie \\n(.$==0 \&\\*(tNMirBSD\\*(aa . el .aV \\$1 \\$2 \\$3 \\$4 \\$5 \\$6 \\$7 \\$8 \\$9 . \} . if \\n(aC>\\n(aP \{\ . nr aP \\n(aP+1 . ie \\n(C\\n(aP==2 \{\ . nr xX 0 . nr xX 1+\\*(A\\n(aP . as b1 \&\\*(tNMirBSD\ \& . if \\n(xX>0 .as b1 #\& . as b1 \&\\*(A\\n(aP\\*(aa . rr xX . ie \\n(aC>\\n(aP \{\ . nr aP \\n(aP+1 . nR . \} . el .aZ . \} . el \{\ . as b1 \&\\*(tNMirBSD\\*(aa . nR . \} . \} .. .\} .\" .\"- .ie \ng==1 \{\ . ds nc mircpio . ds np mirpax . ds nt mirtar . ds nm mirpax . Dt MIRPAX 1 .\} .el .ie \ng==2 \{\ . ds nc paxcpio . ds np pax . ds nt paxtar . ds nm pax . Dt PAX 1 .\} .el \{\ . ds nc cpio . ds np pax . ds nt tar . ds nm pax . Dt PAX 1 .\} .\"- .Os MirBSD .Sh "نام (NAME)" .ie \ng==1 \{\ .Nm mirpax .Nd خواندن و نوشتن بایگانی‌های فایل و رونوشت سلسله‌مراتب دایرکتوری‌ها .\} .el \{\ .Nm pax .Nd خواندن و نوشتن بایگانی‌های فایل و رونوشت سلسله‌مراتب دایرکتوری‌ها .\} .Sh "خلاصه دستور (SYNOPSIS)" .Bk -words .Nm \*(nm .Op Fl 0cdJjnOvz .Op Fl E Ar limit .Op Fl f Ar archive .Op Fl G Ar group .Op Fl s Ar replstr .Op Fl T Ar range .Op Fl U Ar user .Op Ar pattern ... .Nm \*(nm .Fl r .Op Fl 0cDdiJjknOuvYZz .Op Fl E Ar limit .Op Fl f Ar archive .Op Fl G Ar group .Op Fl M Ar flag .Op Fl o Ar options .Op Fl p Ar string .Op Fl s Ar replstr .Op Fl T Ar range .Op Fl U Ar user .Op Ar pattern ... .Nm \*(nm .Fl w .Op Fl 0adHiJjLOPtuvXz .Op Fl B Ar bytes .Op Fl b Ar blocksize .Op Fl f Ar archive .Op Fl G Ar group .Op Fl M Ar flag .Op Fl o Ar options .Op Fl s Ar replstr .Op Fl T Ar range .Op Fl U Ar user .Op Fl x Ar format .Op Ar .Nm \*(nm .Fl rw .Op Fl 0DdHiJjkLlnOPtuvXYZ .Op Fl G Ar group .Op Fl p Ar string .Op Fl s Ar replstr .Op Fl T Ar range .Op Fl U Ar user .Op Ar .Ar directory .Ek .Sh "توضیحات (DESCRIPTION)" .Nm اعضای یک فایل بایگانی را می‌خواند، می‌نویسد و فهرست می‌کند و سلسله‌مراتب دایرکتوری‌ها را رونوشت می‌نماید. عملکرد .Nm مستقل از قالب بایگانی خاص است و از طیف گسترده‌ای از قالب‌های مختلف بایگانی پشتیبانی می‌کند. فهرستی از قالب‌های بایگانی پشتیبانی‌شده را می‌توان در توضیحات مربوط به گزینهٔ .Fl x یافت. .Pp وجود گزینه‌های .Fl r و .Fl w مشخص می‌کند که .Nm در کدام‌یک از حالت‌های عملکردی زیر کار خواهد کرد: .Em list (فهرست)، .Em read (خواندن)، .Em write (نوشتن)، و .Em copy (رونوشت). .Bl -tag -width 6n .It Aq none .Em List . .Nm یک فهرست محتویات از اعضای فایل بایگانی خوانده‌شده از ورودی استاندارد را که نام‌مسیر آن‌ها با آرگومان‌های .Ar pattern مشخص‌شده تطابق دارد، در خروجی استاندارد می‌نویسد. فهرست محتویات شامل یک نام فایل در هر خط بوده و با استفاده از میان‌گیر تک‌خطی نوشته می‌شود. .It Fl r .Em Read . .Nm اعضای فایل بایگانی خوانده‌شده از ورودی استاندارد را که نام‌مسیر آن‌ها با آرگومان‌های .Ar pattern مشخص‌شده تطابق دارد، استخراج می‌کند. قالب بایگانی و بلوک‌بندی به طور خودکار در ورودی تعیین می‌شود. هنگامی که یک فایل استخراج‌شده یک دایرکتوری باشد، کل سلسله‌مراتب فایل با ریشه در آن دایرکتوری استخراج می‌شود. همهٔ فایل‌های استخراج‌شده نسبت به سلسله‌مراتب فایل فعلی ایجاد می‌شوند. تنظیم مالکیت، زمان‌های دسترسی و تغییر، و حالت فایل برای فایل‌های استخراج‌شده در توضیحات مربوط به گزینهٔ .Fl p با جزئیات بیشتر بررسی شده است. .It Fl w .Em Write . .Nm بایگانی‌ای حاوی عملوندهای .Ar file را با استفاده از قالب بایگانی مشخص‌شده در خروجی استاندارد می‌نویسد. هنگامی که هیچ عملوند .Ar file مشخص نشده باشد، فهرستی از فایل‌ها برای رونوشت با یک مورد در هر خط از ورودی استاندارد خوانده می‌شود. هنگامی که یک عملوند .Ar file یک دایرکتوری نیز باشد، کل سلسله‌مراتب فایل با ریشه در آن دایرکتوری گنجانده خواهد شد. .It Fl rw .Em Copy . .Nm عملوندهای .Ar file را در .Ar directory مقصد رونوشت می‌کند. هنگامی که هیچ عملوند .Ar file مشخص نشده باشد، فهرستی از فایل‌ها برای رونوشت با یک مورد در هر خط از ورودی استاندارد خوانده می‌شود. هنگامی که یک عملوند .Ar file یک دایرکتوری نیز باشد، کل سلسله‌مراتب فایل با ریشه در آن دایرکتوری گنجانده خواهد شد. اثر .Em copy به این صورت است که گویی فایل‌های رونوشت‌شده در یک فایل بایگانی نوشته شده و سپس متعاقباً استخراج شده‌اند، به جز اینکه ممکن است پیوندهای سخت بین فایل‌های اصلی و رونوشت‌شده وجود داشته باشد (گزینهٔ .Fl l در زیر را ببینید). .Pp .Sy هشدار : .Ar directory مقصد نباید یکی از عملوندهای .Ar file یا عضوی از یک سلسله‌مراتب فایل با ریشه در یکی از عملوندهای .Ar file باشد. نتیجهٔ .Em copy تحت این شرایط غیرقابل پیش‌بینی است. .El .Pp هنگام پردازش یک بایگانی آسیب‌دیده در طول عملیات خواندن یا فهرست‌گیری، .Nm تلاش می‌کند تا از نقص‌های رسانه بازیابی شود و در سراسر بایگانی جستجو می‌کند تا بیشترین تعداد ممکن از اعضای بایگانی را یافته و پردازش کند (برای جزئیات بیشتر درباره مدیریت خطا به گزینهٔ .Fl E مراجعه کنید). .Pp عملوند .Ar directory نام‌مسیر یک دایرکتوری مقصد را مشخص می‌کند. اگر عملوند .Ar directory وجود نداشته باشد، یا توسط کاربر قابل نوشتن نباشد، یا از نوع دایرکتوری نباشد، .Nm با یک وضعیت خروج غیرصفر خارج خواهد شد. .Pp عملوند .Ar pattern برای انتخاب یک یا چند نام‌مسیر از اعضای بایگانی استفاده می‌شود. اعضای بایگانی با استفاده از نمادگذاری تطبیق الگو که در .Xr glob 7 شرح داده شده است، انتخاب می‌شوند. هنگامی که عملوند .Ar pattern ارائه نشود، تمام اعضای بایگانی انتخاب خواهند شد. هنگامی که یک .Ar pattern با یک دایرکتوری تطابق پیدا کند، کل سلسله‌مراتب فایل با ریشه در آن دایرکتوری انتخاب خواهد شد. هنگامی که یک عملوند .Ar pattern حداقل یک عضو بایگانی را انتخاب نکند، .Nm این عملوندهای .Ar pattern را در یک پیام عیب‌یابی در خطای استاندارد می‌نویسد و سپس با وضعیت خروج غیرصفر خارج می‌شود. .Pp عملوند .Ar file نام‌مسیر فایلی را مشخص می‌کند که باید رونوشت گرفته شود یا بایگانی گردد. هنگامی که یک عملوند .Ar file حداقل یک عضو بایگانی را انتخاب نکند، .Nm این نام‌مسیرهای عملوند .Ar file را در یک پیام عیب‌یابی در خطای استاندارد می‌نویسد و سپس با وضعیت خروج غیرصفر خارج می‌شود. .Pp گزینه‌ها به شرح زیر هستند: .Bl -tag -width Ds .It Fl 0 استفاده از نویسهٔ NUL .Pq Ql \e0 به عنوان پایان‌دهندهٔ نام‌مسیر، به جای خط‌جدید .Pq Ql \en . این مورد فقط بر نام‌های مسیر خوانده‌شده از ورودی استاندارد در حالت‌های نوشتن و رونوشت، و بر نام‌های مسیر نوشته‌شده در خروجی استاندارد در حالت فهرست اعمال می‌شود. انتظار می‌رود این گزینه در هماهنگی با تابع .Fl print0 در .Xr find 1 ، گزینهٔ .Fl d Ar \*(aq\*(aq در دستور توکار .Ic read از .Xr mksh 1 یا پرچم .Fl 0 در .Xr xargs 1 استفاده شود. .It Fl a الحاق عملوندهای .Ar file داده‌شده به انتهای بایگانی‌ای که قبلاً نوشته شده است. اگر قالب بایگانی با گزینهٔ .Fl x مشخص نشده باشد، قالبی که در حال حاضر در بایگانی استفاده می‌شود انتخاب خواهد شد. هر تلاشی برای الحاق به یک بایگانی با قالبی متفاوت از قالب استفاده‌شده در آن بایگانی باعث می‌شود .Nm بلافاصله با وضعیت خروج غیرصفر خارج شود. اندازه بلوک‌بندی استفاده‌شده در جلد بایگانی که نوشتن از آنجا شروع می‌شود، برای ادامهٔ آن جلد بایگانی به کار خواهد رفت. .Pp .Sy هشدار : بسیاری از دستگاه‌های ذخیره‌سازی قادر به پشتیبانی از عملیات لازم برای انجام عملیات الحاق نیستند. هر تلاشی برای الحاق به یک بایگانی ذخیره‌شده روی چنین دستگاهی ممکن است به بایگانی آسیب رسانده یا نتایج غیرقابل پیش‌بینی دیگری در پی داشته باشد. به طور خاص درایوهای نوار احتمال بیشتری دارد که از عملیات الحاق پشتیبانی نکنند. یک بایگانی ذخیره‌شده در یک فایل معمولی سیستم‌فایل یا روی یک دستگاه دیسک معمولاً از عملیات الحاق پشتیبانی خواهد کرد. .It Fl B Ar bytes محدود کردن تعداد بایت‌های نوشته‌شده در یک جلد بایگانی به .Ar bytes . حد .Ar bytes می‌تواند با .Sq Li m ، .Sq Li k یا .Sq Li b خاتمه یابد تا به ترتیب ضرب در ۱۰۴۸۵۷۶ (1M)، ۱۰۲۴ (1K) یا ۵۱۲ را مشخص کند. یک جفت از حدود .Ar bytes می‌تواند با .Sq Li x از هم جدا شود تا حاصل‌ضرب را نشان دهد. .Pp .Sy هشدار : تنها زمانی از این گزینه استفاده کنید که بایگانی را در دستگاهی می‌نویسید که از شرایط خواندن پایان فایل (end of file) بر اساس آخرین (یا بزرگ‌ترین) آفست نوشتن پشتیبانی می‌کند (مانند یک فایل معمولی یا درایو نوار). استفاده از این گزینه با فلاپی یا دیسک سخت توصیه نمی‌شود. .It Fl b Ar blocksize هنگام نوشتن یک بایگانی، خروجی را در یک عدد صحیح اعشاری مثبت از بایت‌ها در هر نوشتن در فایل بایگانی بلوک‌بندی می‌کند. .Ar blocksize باید مضربی از ۵۱۲ بایت با حداکثر ۶۴۵۱۲ بایت باشد. اندازه بلوک‌های بایگانی بزرگ‌تر از ۳۲۲۵۶ بایت ناقض استاندارد .Tn POSIX بوده و در همه سیستم‌ها سازگار و قابل حمل نخواهند بود. یک .Ar blocksize می‌تواند به .Sq Li k یا .Sq Li b ختم شود تا به ترتیب ضرب در ۱۰۲۴ (1K) یا ۵۱۲ را مشخص کند. یک جفت از مقادیر .Ar blocksize می‌تواند با .Sq Li x از هم جدا شود تا یک حاصل‌ضرب را نشان دهد. یک دستگاه بایگانی خاص ممکن است محدودیت‌های بیشتری را بر اندازهٔ بلوک‌بندی مورد پشتیبانی خود اعمال کند. هنگامی که بلوک‌بندی مشخص نشده باشد، .Ar blocksize پیش‌فرض به قالب بایگانی خاص مورد استفاده بستگی دارد (گزینهٔ .Fl x را ببینید). .It Fl c تطبیق تمام فایل‌ها یا اعضای بایگانی .Em به جز موارد مشخص‌شده توسط عملوندهای .Ar pattern و .Ar file . .It Fl D این گزینه همانند گزینهٔ .Fl u است، با این تفاوت که به جای زمان تغییر محتوای فایل، زمان تغییر اینود فایل بررسی می‌شود. زمان تغییر اینود فایل می‌تواند برای انتخاب فایل‌هایی استفاده شود که اطلاعات اینود آن‌ها (مانند UID، GID و غیره) جدیدتر از رونوشت فایل در .Ar directory مقصد است. .It Fl d باعث می‌شود فایل‌هایی از نوع دایرکتوری که رونوشت گرفته یا بایگانی می‌شوند، یا اعضای بایگانی از نوع دایرکتوری که استخراج می‌شوند، تنها با فایل یا عضو بایگانی دایرکتوری تطابق یابند و نه با سلسله‌مراتب فایلی که در آن دایرکتوری ریشه دارد. .It Fl E Ar limit محدود کردن تعداد خطاهای خواندن متوالی هنگام تلاش برای خواندن یک بایگانی معیوب به .Ar limit . با یک .Ar limit مثبت، .Nm تلاش خواهد کرد از یک خطای خواندن بایگانی بازیابی شود و پردازش را از فایل بعدی ذخیره‌شده در بایگانی ادامه دهد. مقدار .Ar limit برابر با ۰ باعث می‌شود .Nm پس از شناسایی اولین خطای خواندن در یک جلد بایگانی، عملیات را متوقف کند. مقدار پیش‌فرض .Ar limit یک عدد مثبت کوچک از تلاش‌های مجدد است. .It Fl f Ar archive مشخص کردن .Ar archive به عنوان نام‌مسیر بایگانی ورودی یا خروجی، که بر ورودی استاندارد پیش‌فرض (برای فهرست و خواندن) یا خروجی استاندارد پیش‌فرض (برای نوشتن) تقدم دارد. یک بایگانی واحد می‌تواند در چندین فایل و دستگاه‌های بایگانی مختلف گسترش یابد. در صورت نیاز، .Nm نام‌مسیر فایل یا دستگاهِ جلد بعدی در بایگانی را درخواست خواهد کرد. .It Fl G Ar group انتخاب یک فایل بر اساس نام .Ar group آن، یا در صورت شروع با .Cm # ، بر اساس یک GID عددی. یک .Ql \e می‌تواند برای گریز دادن (escape) .Cm # استفاده شود. می‌توان چندین گزینهٔ .Fl G ارائه داد و بررسی با اولین تطابق متوقف می‌شود. .It Fl H تنها دنبال کردن پیوندهای نمادینِ خط فرمان در حین انجام یک پیمایش فیزیکی سیستم‌فایل. .It Fl i تغییر نام تعاملی فایل‌ها یا اعضای بایگانی. برای هر عضو بایگانی که با یک عملوند .Ar pattern تطابق دارد یا هر فایلی که با یک عملوند .Ar file تطابق دارد، .Nm نام فایل، حالت فایل و زمان تغییر آن را در .Pa /dev/tty اعلان خواهد کرد. سپس .Nm یک خط را از .Pa /dev/tty می‌خواند. اگر این خط خالی باشد، از آن فایل یا عضو بایگانی صرف‌نظر می‌شود. اگر این خط تنها شامل یک نقطه باشد، فایل یا عضو بایگانی بدون هیچ تغییری در نام آن پردازش می‌شود. در غیر این صورت، نام آن با محتویات این خط جایگزین می‌گردد. اگر هنگام خواندن پاسخ با .Dv EOF مواجه شود یا .Pa /dev/tty نتواند برای خواندن و نوشتن باز شود، .Nm بلافاصله با وضعیت خروج غیرصفر خارج خواهد شد. .It Fl J استفاده از ابزار xz برای فشرده‌سازی (از فشرده‌سازی خارج کردن) بایگانی در حین نوشتن (خواندن). ناسازگار با .Fl a . .It Fl j استفاده از ابزار bzip2 برای فشرده‌سازی (از فشرده‌سازی خارج کردن) بایگانی در حین نوشتن (خواندن). ناسازگار با .Fl a . .It Fl k عدم بازنویسی فایل‌های موجود. .It Fl L دنبال کردن تمام پیوندهای نمادین برای انجام یک پیمایش منطقی سیستم‌فایل. .It Fl l (حرف کوچک .Dq ell . ) پیوند دادن فایل‌ها. در حالت رونوشت .Pq Fl r Fl w ، در صورت امکان بین سلسله‌مراتب فایل‌های مبدأ و مقصد پیوندهای سخت ایجاد می‌شود. .It Fl M Ar flag پیکربندی نرمال‌ساز بایگانی. .Ar flag یا یک مقدار عددی سازگار با .Xr strtonum 3 است که مستقیماً در کلمهٔ پرچم‌ها ذخیره می‌شود، یا یکی از مقادیر زیر است که می‌توان به طور اختیاری پیشوند .Dq no\- را برای غیرفعال کردن به آن‌ها اضافه کرد: .Pp .Bl -tag -width xxxxxx -compact .It Ar inodes 0x0001: سریال‌سازی اینودها، صفر کردن اطلاعات دستگاه. .br (cpio, sv4cpio, sv4crc) .It Ar links 0x0002: ذخیرهٔ محتوای پیوندهای سخت تنها یک‌بار. .br (cpio, sv4cpio, sv4crc) .It Ar mtime 0x0004: صفر کردن زمان تغییر فایل. .br (ar, cpio, sv4cpio, sv4crc, ustar) .It Ar uidgid 0x0008: تنظیم مالک به 0:0 .Pq Li root Ns : Ns Li wheel . .br (ar, cpio, sv4cpio, sv4crc, ustar) .It Ar verb 0x0010: اشکال‌زدایی این گزینه. .It Ar debug 0x0020: اشکال‌زدایی ذخیره‌سازی سرآیند فایل. .It Ar lncp 0x0040: در صورت شکست ایجاد پیوند، استخراج پیوندهای سخت از طریق رونوشت. .It Ar numid 0x0080: استفاده تنها از مقادیر عددی uid و gid. .br (ustar) .It Ar gslash 0x0100: الحاق یک ممیز اسلش پس از نام دایرکتوری‌ها. .br (ustar) .It Ar set 0x0003: دست‌نخورده نگه داشتن مالکیت و mtime. .It Ar dist 0x008B: پاک‌سازی همه‌چیز به جز mtime. .It Ar norm 0x008F: پاک‌سازی همه‌چیز. .It Ar root 0x0089: پاک‌سازی اطلاعات مالک و دستگاه. .El .Pp هنگام ایجاد یک بایگانی و فهرست‌کردن خروجی با جزئیات، این عملیات‌های نرمال‌سازی در خروجی منعکس نمی‌شوند، زیرا آن‌ها تنها پس از نمایش خروجی اعمال می‌گردند. .Pp این گزینه تنها برای روال‌های نوشتن قالب‌های فایل ar ،cpio ،sv4cpio ،sv4crc و ustar پیاده‌سازی شده است. .Pp TODO: واسط .Nm \*(nm باید به جای آن از گزینهٔ .Fl o برای مدیریت این ویژگی استفاده کند. .It Fl n انتخاب اولین عضو بایگانی که با هر عملوند .Ar pattern تطابق دارد. برای هر .Ar pattern بیش از یک عضو بایگانی تطبیق داده نمی‌شود. هنگامی که اعضایی از نوع دایرکتوری تطبیق داده شوند، سلسله‌مراتب فایل با ریشه در آن دایرکتوری نیز تطبیق داده می‌شود (مگر اینکه .Fl d نیز مشخص شده باشد). .It Fl O اجبار بایگانی به تک‌جلدی بودن. اگر یک جلد زودتر از موعد به پایان برسد، .Nm درخواستی برای جلد جدید اعلان نخواهد کرد. این گزینه می‌تواند برای کارهای خودکاری که بازیابی خطا نمی‌تواند توسط انسان انجام شود، مفید باشد. .It Fl o Ar options اطلاعاتی برای اصلاح الگوریتم استخراج یا نوشتن فایل‌های بایگانی که مختص قالب بایگانی مشخص‌شده توسط .Fl x است. به طور کلی، .Ar options به این شکل است: .Ar name Ns = Ns Ar value . .Pp گزینه‌های زیر برای قالب‌های .Cm ustar و قالب قدیمی .Bx .Cm tar در دسترس هستند: .Pp .Bl -tag -width Ds -compact .It Cm write_opt=nodir هنگام نوشتن بایگانی‌ها، از ذخیره‌سازی دایرکتوری‌ها صرف‌نظر شود. .El .It Fl P پیوندهای نمادین را دنبال نکند، یک پیمایش فیزیکی سیستم‌فایل را انجام دهد. این حالت پیش‌فرض است. .It Fl p Ar string مشخص کردن یک یا چند گزینهٔ ویژگی‌های فایل (امتیازات). آرگومان گزینهٔ .Ar string رشته‌ای است که ویژگی‌های فایل را برای حفظ یا نادیده گرفته شدن در هنگام استخراج مشخص می‌کند. این رشته از نویسه‌های مشخصهٔ .Cm a ، e ، m ، o و .Cm p تشکیل شده است. چندین ویژگی می‌توانند در یک رشته به هم متصل شوند و چندین گزینهٔ .Fl p می‌تواند مشخص شود. معانی نویسه‌های مشخصه به شرح زیر است: .Bl -tag -width 2n .It Cm a زمان‌های دسترسی به فایل حفظ نشوند. به طور پیش‌فرض، زمان‌های دسترسی فایل تا حد امکان حفظ می‌شوند. .It Cm e .Dq حفظ همه‌چیز ، شناسه کاربری، شناسه گروهی، بیت‌های حالت فایل، زمان دسترسی به فایل و زمان تغییر فایل. این گزینه برای استفاده توسط کاربر ریشه در نظر گرفته شده است، یعنی فردی با تمام امتیازات مناسب، تا تمام جنبه‌های فایل‌ها را همان‌گونه که در بایگانی ثبت شده‌اند حفظ کند. پرچم .Cm e مجموع پرچم‌های .Cm o و .Cm p است. .It Cm m زمان‌های تغییر فایل حفظ نشوند. به طور پیش‌فرض، زمان‌های تغییر فایل تا حد امکان حفظ می‌شوند. .It Cm o شناسه کاربری و شناسه گروهی حفظ شوند. .It Cm p بیت‌های حالت فایل .Dq حفظ شوند . این گزینه برای استفاده توسط کاربری با امتیازات عادی در نظر گرفته شده است که می‌خواهد تمام جنبه‌های فایل به جز مالکیت را حفظ کند. زمان‌های فایل به طور پیش‌فرض حفظ می‌شوند، اما دو پرچم دیگر ارائه شده‌اند تا این رفتار را غیرفعال کرده و به جای آن از زمان استخراج استفاده کنند. .El .Pp در فهرست بالا، .Sq حفظ نشان می‌دهد ویژگی ذخیره‌شده در بایگانی، مشروط بر مجوزهای فرآیند فراخواننده، به فایل استخراج‌شده داده می‌شود. در غیر این صورت، ویژگی فایل استخراج‌شده به عنوان بخشی از اقدام معمول ایجاد فایل تعیین می‌شود. اگر هیچ‌یک از نویسه‌های مشخصهٔ .Cm e یا .Cm o مشخص نشده باشند، یا شناسه کاربری و شناسه گروهی به هر دلیلی حفظ نشوند، .Nm بیت‌های .Dv S_ISUID (setuid) و .Dv S_ISGID (setgid) حالت فایل را تنظیم نخواهد کرد. اگر حفظ هر یک از این موارد به هر دلیلی ناموفق باشد، .Nm یک پیام عیب‌یابی در خطای استاندارد می‌نویسد. شکست در حفظ این موارد بر وضعیت خروج نهایی تأثیر می‌گذارد، اما باعث حذف فایل استخراج‌شده نخواهد شد. اگر حروف مشخصهٔ فایل در هر یک از آرگومان‌های گزینه‌ایِ رشته‌ای تکراری بوده یا با یکدیگر در تضاد باشند، مواردی که در آخر ذکر شده‌اند تقدم خواهند داشت. به عنوان مثال، اگر .Fl p Ar eme مشخص شود، زمان‌های تغییر فایل همچنان حفظ می‌شوند. .It Fl r خواندن یک فایل بایگانی از ورودی استاندارد و استخراج عملوندهای .Ar file مشخص‌شده. اگر برای استخراج یکی از اعضای بایگانی به دایرکتوری‌های میانی نیاز باشد، این دایرکتوری‌ها به گونه‌ای ایجاد می‌شوند که گویی .Xr mkdir 2 با OR بیتیِ .Dv S_IRWXU ، S_IRWXG و .Dv S_IRWXO به عنوان آرگومان حالت (mode) فراخوانی شده است. هنگامی که قالب بایگانیِ انتخاب‌شده از مشخص کردن فایل‌های پیوندخورده پشتیبانی کند و این فایل‌ها در حین استخراج بایگانی نتوانند پیوند داده شوند، .Nm یک پیام عیب‌یابی در خطای استاندارد نوشته و در پایان عملیات با وضعیت خروج غیرصفر خارج خواهد شد. .It Fl s Ar replstr اصلاح نام‌های اعضای بایگانی بر اساس عبارت جایگزینی .Ar replstr ، با استفاده از نحو عبارات منظم ابزار .Xr ed 1 . آرگومان‌های .Ar file یا .Ar pattern می‌توانند برای محدود کردن فهرست اعضای بایگانی به موارد مشخص‌شده تعیین شوند. .Pp قالب این عبارات منظم به صورت زیر است: .Pp .Dl /old/new/[gp] .Pp همانند .Xr ed 1 ، .Ar old یک عبارت منظم پایه است (نگاه کنید به .Xr re_format 7 ) و .Ar new می‌تواند شامل یک علامت امپرسند .Pq Ql & ، ارجاعات پس‌رو به صورت .Ql \e Ns Em n (که در آن .Em n یک رقم است)، یا تطابق زیرعبارت باشد. رشتهٔ .Ar old همچنین می‌تواند شامل نویسه‌های خط‌جدید باشد. هر نویسهٔ غیرتهی می‌تواند به عنوان جداکننده استفاده شود .Po در اینجا .Ql / نشان داده شده است .Pc . می‌توان چندین عبارت .Fl s را مشخص کرد. این عبارات به ترتیبی که در خط فرمان مشخص شده‌اند اعمال می‌شوند و با اولین جایگزینی موفق خاتمه می‌یابند. .Pp پسوند اختیاری .Cm g اعمال عبارت جایگزینی را بر زیررشتهٔ نام‌مسیر، که با اولین نویسه پس از پایان آخرین جایگزینی موفق آغاز می‌شود، ادامه می‌دهد. اولین جایگزینی ناموفق عملیات گزینهٔ .Cm g را متوقف می‌کند. پسوند اختیاری .Cm p باعث می‌شود نتیجهٔ نهایی یک جایگزینی موفق با قالب زیر در خطای استاندارد نوشته شود: .Pp .D1 Em original-pathname No \*(Gt\*(Gt Em new-pathname .Pp نام‌های فایل یا اعضای بایگانی که با جایگزینی به یک رشتهٔ خالی تبدیل شوند، انتخاب نشده و نادیده گرفته خواهند شد. .It Fl T Ar range امکان انتخاب فایل‌ها را بر اساس قرار گرفتن زمان تغییر فایل یا زمان تغییر اینود در محدودهٔ زمانی مشخص‌شده فراهم می‌کند. این محدوده دارای قالب زیر است: .Sm off .Bd -filled -offset indent .Oo Ar from_date Oc Oo , .Ar to_date Oc Oo / .Oo Cm c Oc Op Cm m Oc .Ed .Sm on .Pp تاریخ‌های مشخص‌شده از .Ar from_date تا .Ar to_date شامل خود آن زمان‌ها نیز هستند. اگر تنها .Ar from_date ارائه شود، تمام فایل‌هایی با زمان تغییر فایل یا زمان تغییر اینود برابر یا جدیدتر انتخاب می‌شوند. اگر تنها .Ar to_date ارائه شود، تمام فایل‌هایی با زمان تغییر فایل یا زمان تغییر اینود برابر یا قدیمی‌تر انتخاب خواهند شد. هنگامی که .Ar from_date برابر با .Ar to_date باشد، تنها فایل‌هایی با زمان تغییر یا زمان تغییر اینود دقیقاً برابر با آن زمان انتخاب خواهند شد. .Pp هنگامی که .Nm در حالت نوشتن یا رونوشت است، فیلد انتهاییِ اختیاریِ .Oo Cm c Oc Ns Op Cm m می‌تواند برای تعیین اینکه کدام زمان فایل (تغییر اینود، تغییر فایل یا هر دو) در مقایسه استفاده شود به کار رود. اگر هیچ‌کدام مشخص نشود، پیش‌فرض استفاده از زمان تغییر فایل به تنهایی است. .Cm m مقایسهٔ زمان تغییر فایل (زمانی که فایل آخرین بار نوشته شده است) را مشخص می‌کند. .Cm c مقایسهٔ زمان تغییر اینود (زمانی که اینود فایل آخرین بار تغییر کرده است؛ برای مثال، تغییر مالک، گروه، حالت و غیره) را مشخص می‌کند. هنگامی که هر دو .Cm c و .Cm m مشخص شده باشند، آنگاه هر دو زمان تغییر فایل و زمان تغییر اینود مقایسه می‌شوند. .Pp مقایسهٔ زمان تغییر اینود در انتخاب فایل‌هایی مفید است که ویژگی‌های آن‌ها به تازگی تغییر کرده است، یا انتخاب فایل‌هایی که اخیراً ایجاد شده‌اند و زمان تغییر آن‌ها به زمانی قدیمی‌تر بازنشانی شده است (همان‌طور که هنگام استخراج یک فایل از یک بایگانی و حفظ زمان تغییر فایل رخ می‌دهد). مقایسه‌های زمانی با استفاده از هر دو زمان فایل هنگامی مفید است که .Nm برای ایجاد یک بایگانی افزایشی مبتنی بر زمان استفاده شود (تنها فایل‌هایی که در طول یک محدودهٔ زمانی مشخص تغییر کرده‌اند بایگانی خواهند شد). .Pp یک محدودهٔ زمانی از شش فیلد مختلف تشکیل شده است و هر فیلد باید شامل دو رقم باشد. قالب آن به صورت زیر است: .Pp .Dl [[[[[cc]yy]mm]dd]HH]MM[.SS] .Pp که در آن .Ar cc دو رقم اول سال (قرن)، .Ar yy دو رقم آخر سال، اولین .Ar mm ماه (از 01 تا 12)، .Ar dd روزِ ماه (از 01 تا 31)، .Ar HH ساعتِ روز (از 00 تا 23)، .Ar MM دقیقه (از 00 تا 59)، و .Ar SS ثانیه (از 00 تا 59) است. فیلد دقیقه .Ar MM الزامی است، در حالی که فیلدهای دیگر اختیاری هستند و باید به ترتیب زیر اضافه شوند: .Ar HH ، dd ، mm ، .Ar yy ، cc . .Pp فیلد .Ar SS می‌تواند مستقل از سایر فیلدها اضافه شود. محدوده‌های زمانی نسبت به زمان فعلی هستند، بنابراین .Ic \-T 1234/cm تمام فایل‌هایی را انتخاب می‌کند که زمان تغییر یا تغییر اینود آن‌ها ساعت ۱۲:۳۴ بعدازظهر امروز یا دیرتر باشد. می‌توان چندین محدودهٔ زمانی .Fl T ارائه داد و بررسی با اولین تطابق متوقف می‌شود. .It Fl t بازنشانی زمان‌های دسترسی هر فایل یا دایرکتوریِ خوانده‌شده یا دسترسی‌یافته توسط .Nm به همان مقداری که قبل از خوانده‌شدن یا دسترسی‌یافتن توسط .Nm \*(nm بودند. .It Fl U Ar user انتخاب یک فایل بر اساس نام .Ar user آن، یا در صورت شروع با .Cm # ، یک UID عددی. یک .Ql \e می‌تواند برای گریز دادن .Cm # استفاده شود. می‌توان چندین گزینهٔ .Fl U ارائه داد و بررسی با اولین تطابق متوقف می‌شود. .It Fl u نادیده گرفتن فایل‌هایی که قدیمی‌تر (دارای زمان تغییر فایل نامتأخرتر) از یک فایل موجود قبلی یا عضو بایگانی با همان نام هستند. در طول خواندن، عضو بایگانی با همان نامِ یک فایل در سیستم‌فایل، در صورتی استخراج خواهد شد که عضو بایگانی جدیدتر از فایل باشد. در طول نوشتن، عضو سیستم‌فایل با همان نامِ یک عضو بایگانی، در صورتی در بایگانی نوشته خواهد شد که جدیدتر از عضو بایگانی باشد. در طول رونوشت، فایل موجود در سلسله‌مراتب مقصد با فایل موجود در سلسله‌مراتب مبدأ یا با پیوندی به فایل در سلسله‌مراتب مبدأ جایگزین می‌شود اگر فایل در سلسله‌مراتب مبدأ جدیدتر باشد. .It Fl v در طول یک عملیات فهرست‌گیری، یک فهرست محتویات پرجزئیات با استفاده از قالب ابزار .Xr ls 1 همراه با گزینهٔ .Fl l تولید می‌کند. برای نام‌مسیرهایی که نشان‌دهندهٔ یک پیوند سخت به عضوی قبلی از بایگانی هستند، خروجی قالب زیر را دارد: .Pp .Dl Em ls \-l listing No == Em link-name .Pp برای نام‌مسیرهایی که نشان‌دهندهٔ یک پیوند نمادین هستند، خروجی قالب زیر را دارد: .Pp .Dl Em ls \-l listing No -\*(Gt Em link-name .Pp که در آن .Em ls \-l listing قالب خروجی مشخص‌شده توسط ابزار .Xr ls 1 هنگام استفاده با گزینهٔ .Fl l است. در غیر این صورت برای تمام حالت‌های عملیاتی دیگر (خواندن، نوشتن و رونوشت)، به محض آغاز پردازش روی آن فایل یا عضو بایگانی، نام‌های مسیر بدون خط‌جدید انتهایی در خطای استاندارد نوشته شده و تخلیه (flush) می‌شوند. خط‌جدید انتهایی میان‌گیری نمی‌شود و تنها پس از خوانده شدن یا نوشته شدن فایل نوشته خواهد شد. .It Fl w نوشتن فایل‌ها در خروجی استاندارد در قالب بایگانی مشخص‌شده. هنگامی که هیچ عملوند .Ar file مشخص نشده باشد، ورودی استاندارد برای دریافت فهرستی از نام‌های مسیر با یک مورد در هر خط و بدون هیچ‌گونه فاصلهٔ خالیِ .Aq blanks ابتدایی یا انتهایی خوانده می‌شود. .It Fl X هنگام پیمایش سلسله‌مراتب فایل مشخص‌شده توسط یک نام‌مسیر، به دایرکتوری‌هایی با شناسهٔ دستگاه (device ID) متفاوت وارد نشود. برای اطلاعات بیشتر درباره شناسه‌های دستگاه، فیلد .Li st_dev شرح داده شده در .Xr stat 2 را ببینید. .It Fl x Ar format مشخص کردن قالب بایگانی خروجی، که قالب پیش‌فرض .Cm ustar است. .Nm در حال حاضر از قالب‌های زیر پشتیبانی می‌کند: .Bl -tag -width "sv4cpio" .It Cm ar قالب کتابخانه‌ای بایگانی‌کننده یونیکس (Unix Archiver). این قالب با مخازن APT و مشخصات .Xr ar 1 در BSD مطابقت دارد، نه با GNU binutils (که البته می‌تواند آن‌ها را بخواند) یا سیستم‌های SYSV. برای اطلاعات بیشتر به .Xr ar 5 در برخی سیستم‌های عامل مراجعه کنید. .It Cm bcpio قالب باینری قدیمی cpio. اندازه بلوک پیش‌فرض برای این قالب ۵۱۲۰ بایت است. این قالب چندان همه‌کاره و سازگار نیست و در صورت در دسترس بودن سایر قالب‌ها نباید استفاده شود. اطلاعات اینود و دستگاه مربوط به یک فایل (که توسط این قالب برای شناسایی پیوندهای سخت فایل استفاده می‌شود)، که ممکن است توسط این قالب کوتاه (truncate) شود، توسط .Nm شناسایی شده و ترمیم می‌شود. .It Cm cpio قالب تبادل cpio گسترش‌یافته مشخص‌شده در استاندارد .St -p1003.2 . اندازه بلوک پیش‌فرض برای این قالب ۵۱۲۰ بایت است. اطلاعات اینود و دستگاه یک فایل (که برای شناسایی پیوندهای سخت فایل توسط این قالب استفاده می‌شود)، که ممکن است توسط این قالب کوتاه شود، توسط .Nm شناسایی شده و ترمیم می‌شود. .It Cm sv4cpio قالب cpio مربوط به System V نسخهٔ ۴. اندازه بلوک پیش‌فرض برای این قالب ۵۱۲۰ بایت است. اطلاعات اینود و دستگاه یک فایل (که برای شناسایی پیوندهای سخت فایل توسط این قالب استفاده می‌شود)، که ممکن است توسط این قالب کوتاه شود، توسط .Nm شناسایی شده و ترمیم می‌شود. .It Cm sv4crc قالب cpio مربوط به System V نسخهٔ ۴ با مجموع مقابله‌ای (checksum) از نوع CRC فایل. اندازه بلوک پیش‌فرض برای این قالب ۵۱۲۰ بایت است. اطلاعات اینود و دستگاه یک فایل (که برای شناسایی پیوندهای سخت فایل توسط این قالب استفاده می‌شود)، که ممکن است توسط این قالب کوتاه شود، توسط .Nm شناسایی شده و ترمیم می‌شود. .It Cm tar قالب قدیمی .Bx tar همان‌طور که در .Bx 4.3 یافت می‌شد. اندازه بلوک پیش‌فرض برای این قالب ۱۰۲۴۰ بایت است. نام‌های مسیر ذخیره‌شده توسط این قالب باید دارای طول ۱۰۰ نویسه یا کمتر باشند. تنها فایل‌های معمولی، پیوندهای سخت، پیوندهای نمادین و دایرکتوری‌ها بایگانی خواهند شد (انواع دیگر سیستم‌فایل پشتیبانی نمی‌شوند). برای سازگاری پس‌رو با قالب‌های حتی قدیمی‌تر tar، هنگام نوشتن یک بایگانی می‌توان از گزینهٔ .Fl o برای صرف‌نظر کردن از ذخیرهٔ دایرکتوری‌ها استفاده کرد. این گزینه به شکل زیر است: .Pp .Dl Fl o Cm write_opt=nodir .It Cm ustar قالب تبادل tar گسترش‌یافته مشخص‌شده در استاندارد .St -p1003.2 . اندازه بلوک پیش‌فرض برای این قالب ۱۰۲۴۰ بایت است. نام‌های فایل ذخیره‌شده توسط این قالب باید طولی برابر با ۱۰۰ نویسه یا کمتر داشته باشند؛ کل نام‌مسیر باید ۲۵۶ نویسه یا کمتر باشد. .El .Pp .Nm هر فایلی را که در نتیجهٔ محدودیت‌های خاص قالب بایگانی نتواند ذخیره یا استخراج کند، شناسایی و گزارش خواهد کرد. قالب‌های بایگانی مجزا ممکن است محدودیت‌های بیشتری بر استفاده اعمال کنند. محدودیت‌های معمول قالب بایگانی شامل این موارد است (اما محدود به آن‌ها نیست): طول نام‌مسیر فایل، اندازه فایل، طول نام‌مسیر پیوند، و نوع فایل. .It Fl Y این گزینه همانند گزینهٔ .Fl D است، با این تفاوت که زمان تغییر اینود با استفاده از نام‌مسیر ایجادشده پس از تکمیل تمام تغییرات نام فایل بررسی می‌شود. .It Fl Z این گزینه همانند گزینهٔ .Fl u است، با این تفاوت که زمان تغییر محتوا با استفاده از نام‌مسیر ایجادشده پس از تکمیل تمام تغییرات نام فایل بررسی می‌شود. .It Fl z استفاده از ابزار .Xr gzip 1 برای فشرده‌سازی (از فشرده‌سازی خارج کردن) بایگانی در حین نوشتن (خواندن). ناسازگار با .Fl a . .El .Pp گزینه‌هایی که بر روی نام فایل‌ها یا اعضای بایگانی عمل می‌کنند .Po Fl c ، .Fl i ، .Fl n ، .Fl s ، .Fl u ، .Fl v ، .Fl D ، .Fl G ، .Fl T ، .Fl U ، .Fl Y و .Fl Z .Pc به صورت زیر با یکدیگر تعامل دارند: .Pp هنگام استخراج فایل‌ها در طول عملیات خواندن، اعضای بایگانی تنها بر اساس عملوندهای الگوی مشخص‌شده توسط کاربر که توسط گزینه‌های .Fl c ، .Fl n ، .Fl u ، .Fl D ، .Fl G ، .Fl T ، .Fl U اصلاح شده‌اند، .Sq انتخاب می‌شوند. سپس هر گزینهٔ .Fl s و .Fl i به همان ترتیب، نام‌های این فایل‌های انتخاب‌شده را تغییر می‌دهند. سپس گزینه‌های .Fl Y و .Fl Z بر اساس نام‌مسیر نهایی اعمال خواهند شد. در نهایت، گزینهٔ .Fl v نام‌های حاصل از این تغییرات را خواهد نوشت. .Pp هنگام بایگانی کردن فایل‌ها در طول عملیات نوشتن، یا رونوشت فایل‌ها در طول عملیات رونوشت، اعضای بایگانی تنها بر اساس نام‌های مسیر مشخص‌شده توسط کاربر که توسط گزینه‌های .Fl n ، .Fl u ، .Fl D ، .Fl G ، .Fl T و .Fl U اصلاح شده‌اند، .Sq انتخاب می‌شوند (گزینهٔ .Fl D فقط در طول عملیات رونوشت اعمال می‌شود). سپس هر گزینهٔ .Fl s و .Fl i به همان ترتیب، نام‌های این فایل‌های انتخاب‌شده را تغییر می‌دهند. سپس در طول یک عملیات رونوشت، گزینه‌های .Fl Y و .Fl Z بر اساس نام‌مسیر نهایی اعمال خواهند شد. در نهایت، گزینهٔ .Fl v نام‌های حاصل از این تغییرات را خواهد نوشت. .Pp هنگامی که یک یا هر دو گزینهٔ .Fl u یا .Fl D همراه با گزینهٔ .Fl n مشخص شوند، یک فایل در نظر گرفته نمی‌شود انتخاب شده مگر اینکه از فایلی که با آن مقایسه می‌شود تازه‌تر باشد. .Sh "محیط (ENVIRONMENT)" .Bl -tag -width Fl .It Ev TMPDIR مسیری که فایل‌های موقت در آن ذخیره می‌شوند. .El .Sh "وضعیت خروج (EXIT STATUS)" .Ex -std pax .Sh "مثال‌ها (EXAMPLES)" رونوشت محتویات دایرکتوری فعلی در دستگاه .Pa /dev/rst0 : .Pp .Dl $ \*(nm \-w \-f /dev/rst0 \&. .Pp ارائهٔ فهرست تفصیلی محتویات برای یک بایگانی ذخیره‌شده در .Pa filename : .Pp .Dl $ \*(nm \-v \-f filename .Pp این دنباله از دستورات، کل سلسله‌مراتب دایرکتوری .Pa olddir را در .Pa newdir رونوشت می‌کند: .Bd -literal -offset indent $ mkdir newdir $ cd olddir $ \*(nm \-rw . ../newdir .Ed .Pp استخراج فایل‌ها از بایگانی .Pa a.pax . فایل‌های ریشه‌گرفته در .Pa /usr نسبت به دایرکتوری کاری فعلی استخراج می‌شوند؛ تمام فایل‌های دیگر در مسیر تغییرنیافته‌شان استخراج می‌شوند. .Pp .Dl $ \*(nm \-r \-s \*(aq,\*(ha/usr/,,\*(aq \-f a.pax .Pp این دستور می‌تواند برای انتخاب تعاملی فایل‌ها جهت رونوشت از دایرکتوری فعلی به .Pa dest_dir استفاده شود: .Pp .Dl $ \*(nm \-rw \-i \&. dest_dir .Pp استخراج تمام فایل‌ها از بایگانی .Pa a.pax که متعلق به مالک .Em root با گروه .Em bin هستند و حفظ تمامی مجوزهای فایل: .Pp .Dl "$ \*(nm \-r \-pe \-U root \-G bin \-f a.pax" .Pp به‌روزرسانی (و فهرست کردن) تنها آن دسته از فایل‌های موجود در دایرکتوری مقصد .Pa /backup که قدیمی‌تر هستند (زمان تغییر اینود یا زمان تغییر فایل نامتأخرتری دارند) نسبت به فایل‌های با همان نام یافت‌شده در درخت فایل مبدأ .Pa home : .Pp .Dl "$ \*(nm \-r \-w \-v \-Y \-Z home /backup" .Sh "خطاها (DIAGNOSTICS)" هر زمان که .Nm هنگام خواندن یک بایگانی نتواند یک فایل یا پیوند ایجاد کند، یا هنگام نوشتن یک بایگانی نتواند فایلی را پیدا کند، یا هنگام تعیین گزینهٔ .Fl p نتواند شناسه کاربری، شناسه گروهی یا حالت فایل را حفظ کند، یک پیام تشخیصی در خطای استاندارد نوشته می‌شود و یک وضعیت خروج غیرصفر بازگردانده خواهد شد، اما پردازش ادامه می‌یابد. در حالتی که .Nm نتواند پیوندی به یک فایل ایجاد کند، مگر اینکه .Fl M Ar lncp داده شده باشد، .Nm نسخهٔ دومی از فایل ایجاد نخواهد کرد. .Pp اگر استخراج یک فایل از یک بایگانی پیش از موعد توسط یک سیگنال یا خطا خاتمه یابد، ممکن است .Nm تنها بخشی از فایلی را که کاربر می‌خواسته استخراج کرده باشد. علاوه بر این، حالت فایل‌های استخراج‌شده و دایرکتوری‌ها ممکن است بیت‌های فایل نادرستی داشته باشند، و زمان‌های تغییر و دسترسی ممکن است اشتباه باشند. .Pp اگر ایجاد یک بایگانی پیش از موعد توسط یک سیگنال یا خطا خاتمه یابد، ممکن است .Nm تنها بخشی از بایگانی را ایجاد کرده باشد که ممکن است مشخصات قالب بایگانی مربوطه را نقض کند. .Pp اگر در حین انجام عملیات رونوشت، .Nm تشخیص دهد که فایلی در شرف بازنویسی روی خودش است، فایل رونوشت نمی‌شود، یک پیام تشخیصی در خطای استاندارد نوشته می‌شود و هنگامی که .Nm پایان یابد با وضعیت خروج غیرصفر خارج خواهد شد. .Sh "همچنین ببینید (SEE ALSO)" .Xr ar 1 , .Xr cpio 1 , .if \ng==1 \{\ .Xr deb 5 , .Xr mircpio 1 , .Xr mirtar 1 , .Xr pax 1 , .\} .if \ng==2 \{\ .Xr deb 5 , .Xr paxcpio 1 , .Xr paxtar 1 , .\} .Xr tar 1 .Sh "استانداردها (STANDARDS)" ابزار .Nm بیشتر با نسخهٔ قدیمی‌تر مشخصات IEEE Std 1003.1 .Pq Dq Tn POSIX سازگار است، به جز موارد فهرست‌شده در .Sx "گزارش باگ‌ها (BUGS)" در زیر، و این‌که قالب بایگانی .Cm pax و کلیدواژهٔ .Cm listopt پشتیبانی نمی‌شوند. .Pp پرچم‌های .Fl 0BDEGHJjLMOPTUYZz ، قالب‌های بایگانی .Cm ar ، .Cm bcpio ، .Cm sv4cpio ، .Cm sv4crc و .Cm tar ، افزوده‌های .Cm b ، k و .Cm x به پرچم .Fl b و مدیریت بایگانی‌های ناقص در طول عملیات‌های فهرست‌گیری و خواندن، الحاقاتی بر آن مشخصات هستند. .Sh "تاریخچه (HISTORY)" یک ابزار .Nm در .Bx 4.4 ظاهر شد. .Sh "نویسندگان (AUTHORS)" .An -nosplit .An Keith Muller در دانشگاه کالیفرنیا، سن دیگو. توسعه‌های .Mx توسط .An mirabilos Aq m@mirbsd.org . .Sh "گزارش باگ‌ها (BUGS)" تطبیق الگو با هیچ‌یک از .Tn POSIX یا این مستندات به طور کامل مطابقت ندارد. همچنین .Sx "استانداردها (STANDARDS)" در بالا را ببینید.