.\" Automatically generated by Pod::Man 4.14 (Pod::Simple 3.43) .\" .\" Standard preamble: .\" ======================================================================== .de Sp \" Vertical space (when we can't use .PP) .if t .sp .5v .if n .sp .. .de Vb \" Begin verbatim text .ft CW .nf .ne \\$1 .. .de Ve \" End verbatim text .ft R .fi .. .\" Set up some character translations and predefined strings. \*(-- will .\" give an unbreakable dash, \*(PI will give pi, \*(L" will give a left .\" double quote, and \*(R" will give a right double quote. \*(C+ will .\" give a nicer C++. Capital omega is used to do unbreakable dashes and .\" therefore won't be available. \*(C` and \*(C' expand to `' in nroff, .\" nothing in troff, for use with C<>. .tr \(*W- .ds C+ C\v'-.1v'\h'-1p'\s-2+\h'-1p'+\s0\v'.1v'\h'-1p' .ie n \{\ . ds -- \(*W- . ds PI pi . if (\n(.H=4u)&(1m=24u) .ds -- \(*W\h'-12u'\(*W\h'-12u'-\" diablo 10 pitch . if (\n(.H=4u)&(1m=20u) .ds -- \(*W\h'-12u'\(*W\h'-8u'-\" diablo 12 pitch . ds L" "" . ds R" "" . ds C` "" . ds C' "" 'br\} .el\{\ . ds -- \|\(em\| . ds PI \(*p . ds L" `` . ds R" '' . ds C` . ds C' 'br\} .\" .\" Escape single quotes in literal strings from groff's Unicode transform. .ie \n(.g .ds Aq \(aq .el .ds Aq ' .\" .\" If the F register is >0, we'll generate index entries on stderr for .\" titles (.TH), headers (.SH), subsections (.SS), items (.Ip), and index .\" entries marked with X<> in POD. Of course, you'll have to process the .\" output yourself in some meaningful fashion. .\" .\" Avoid warning from groff about undefined register 'F'. .de IX .. .nr rF 0 .if \n(.g .if rF .nr rF 1 .if (\n(rF:(\n(.g==0)) \{\ . if \nF \{\ . de IX . tm Index:\\$1\t\\n%\t"\\$2" .. . if !\nF==2 \{\ . nr % 0 . nr F 2 . \} . \} .\} .rr rF .\" .\" Accent mark definitions (@(#)ms.acc 1.5 88/02/08 SMI; from UCB 4.2). .\" Fear. Run. Save yourself. No user-serviceable parts. .\" fudge factors for nroff and troff .if n \{\ . ds #H 0 . ds #V .8m . ds #F .3m . ds #[ \f1 . ds #] \fP .\} .if t \{\ . ds #H ((1u-(\\\\n(.fu%2u))*.13m) . ds #V .6m . ds #F 0 . ds #[ \& . ds #] \& .\} .\" simple accents for nroff and troff .if n \{\ . ds ' \& . ds ` \& . ds ^ \& . ds , \& . ds ~ ~ . ds / .\} .if t \{\ . ds ' \\k:\h'-(\\n(.wu*8/10-\*(#H)'\'\h"|\\n:u" . ds ` \\k:\h'-(\\n(.wu*8/10-\*(#H)'\`\h'|\\n:u' . ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'^\h'|\\n:u' . ds , \\k:\h'-(\\n(.wu*8/10)',\h'|\\n:u' . ds ~ \\k:\h'-(\\n(.wu-\*(#H-.1m)'~\h'|\\n:u' . ds / \\k:\h'-(\\n(.wu*8/10-\*(#H)'\z\(sl\h'|\\n:u' .\} .\" troff and (daisy-wheel) nroff accents .ds : \\k:\h'-(\\n(.wu*8/10-\*(#H+.1m+\*(#F)'\v'-\*(#V'\z.\h'.2m+\*(#F'.\h'|\\n:u'\v'\*(#V' .ds 8 \h'\*(#H'\(*b\h'-\*(#H' .ds o \\k:\h'-(\\n(.wu+\w'\(de'u-\*(#H)/2u'\v'-.3n'\*(#[\z\(de\v'.3n'\h'|\\n:u'\*(#] .ds d- \h'\*(#H'\(pd\h'-\w'~'u'\v'-.25m'\f2\(hy\fP\v'.25m'\h'-\*(#H' .ds D- D\\k:\h'-\w'D'u'\v'-.11m'\z\(hy\v'.11m'\h'|\\n:u' .ds th \*(#[\v'.3m'\s+1I\s-1\v'-.3m'\h'-(\w'I'u*2/3)'\s-1o\s+1\*(#] .ds Th \*(#[\s+2I\s-2\h'-\w'I'u*3/5'\v'-.3m'o\v'.3m'\*(#] .ds ae a\h'-(\w'a'u*4/10)'e .ds Ae A\h'-(\w'A'u*4/10)'E .\" corrections for vroff .if v .ds ~ \\k:\h'-(\\n(.wu*9/10-\*(#H)'\s-2\u~\d\s+2\h'|\\n:u' .if v .ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'\v'-.4m'^\v'.4m'\h'|\\n:u' .\" for low resolution devices (crt and lpr) .if \n(.H>23 .if \n(.V>19 \ \{\ . ds : e . ds 8 ss . ds o a . ds d- d\h'-1'\(ga . ds D- D\h'-1'\(hy . ds th \o'bp' . ds Th \o'LP' . ds ae ae . ds Ae AE .\} .rm #[ #] #H #V #F C .\" ======================================================================== .\" .IX Title "AUGTOOL 1" .TH AUGTOOL 1 "2022-10-24" "Augeas 1.13.0" "Augeas" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l .nh .SH "نام (NAME)" augtool \- ابزار خط فرمان برای بازرسی و ویرایش فایلهای پیکربندی با Augeas .SH "خلاصه دستور (SYNOPSIS)" .IX Header "SYNOPSIS" .B augtool [\fIگزینه‌ها\fR] [\fIدستور\fR] .SH "توضیحات (DESCRIPTION)" .IX Header "DESCRIPTION" ابزار Augeas یک ابزار ویرایش پیکربندی است. این ابزار فایل‌های پیکربندی را در قالب‌های اصلی خود تجزیه کرده و آن‌ها را به یک درخت (tree) تبدیل می‌کند. تغییرات پیکربندی با دستکاری این درخت و ذخیره مجدد آن در فایل‌های پیکربندی اصلی انجام می‌شوند. .PP ابزار .B augtool یک رابط خط فرمان برای درخت تولیدشده فراهم می‌کند. .I دستور می‌تواند یک دستور منفرد مطابق با بخش .B "دستورات (COMMANDS)" باشد. اگر بدون هیچ .I دستوری فراخوانی شود، دستورات را از ورودی استاندارد تا رسیدن به انتهای فایل (EOF) می‌خواند. .SH "گزینه‌ها (OPTIONS)" .IX Header "OPTIONS" .IP "\fB\-c\fR, \fB\-\-typecheck\fR" 4 .IX Item "-c, --typecheck" بررسی نوع (Typecheck) لنزها. این عمل می‌تواند بسیار زمان‌بر و کند باشد و بنابراین به‌طور پیش‌فرض انجام نمی‌شود، اما در طول توسعه به‌شدت توصیه می‌گردد. .IP "\fB\-b\fR, \fB\-\-backup\fR" 4 .IX Item "-b, --backup" هنگامی که فایل‌ها تغییر می‌کنند، نسخه‌های اصلی را در فایلی با پسوند .B \&'.augsave' نگهداری می‌کند. .IP "\fB\-n\fR, \fB\-\-new\fR" 4 .IX Item "-n, --new" ذخیره تغییرات در فایل‌هایی با پسوند .BR \&'.augnew' ، بدون آن‌که فایل‌های اصلی تغییر داده شوند. .IP "\fB\-r\fR, \fB\-\-root\fR=\fIROOT\fR" 4 .IX Item "-r, --root=ROOT" استفاده از پوشه .I ROOT به‌عنوان ریشه فایل‌سیستم. بر ریشه‌ای که با متغیر محیطی .B AUGEAS_ROOT تنظیم شده باشد، اولویت دارد. .IP "\fB\-I\fR, \fB\-\-include\fR=\fIDIR\fR" 4 .IX Item "-I, --include=DIR" افزودن .I DIR به مسیر بارگذاری ماژول. این گزینه می‌تواند چندین بار مشخص شود. پوشه‌های تعیین‌شده در اینجا، پیش از هر پوشه مشخص‌شده در متغیر محیطی .B AUGEAS_LENS_LIB و پیش از پوشه‌های پیش‌فرض .I /usr/share/augeas/lenses و .I /usr/share/augeas/lenses/dist جستجو می‌شوند. .IP "\fB\-t\fR, \fB\-\-transform\fR=\fIXFM\fR" 4 .IX Item "-t, --transform=XFM" افزودن یک تبدیل (transform) فایل؛ از نحو دستور .B transform استفاده می‌کند، برای نمونه: .BR "\-t 'Fstab incl /etc/fstab.bak'" . .IP "\fB\-l\fR, \fB\-\-load\-file\fR=\fIFILE\fR" 4 .IX Item "-l, --load-file=FILE" بارگذاری یک .I FILE منفرد درون درخت. لنز مورد استفاده به‌طور خودکار (بر اساس اطلاعات بارگذاری خودکار autoload در لنزها) تعیین می‌شود و همان لنزی خواهد بود که در زمان بارگذاری کل درخت برای این فایل استفاده می‌گردد. این گزینه می‌تواند چندین بار برای بارگذاری چندین فایل مشخص شود، مانند .BR "\-l /etc/fstab \-l /etc/hosts" . این گزینه به‌طور ضمنی شامل .B \-\-noload می‌شود، به طوری که فقط فایل‌های مشخص‌شده با این گزینه بارگذاری خواهند شد. .IP "\fB\-f\fR, \fB\-\-file\fR=\fIFILE\fR" 4 .IX Item "-f, --file=FILE" خواندن دستورات از .IR FILE . .IP "\fB\-i\fR, \fB\-\-interactive\fR" 4 .IX Item "-i, --interactive" خواندن دستورات از ترمینال. هنگامی که با .B \-f یا تغییر مسیر ورودی استاندارد (stdin) ترکیب شود، پس از اجرای دستورات موجود در فایل، وارد یک نشست تعاملی می‌شود. .IP "\fB\-e\fR, \fB\-\-echo\fR" 4 .IX Item "-e, --echo" هنگام خواندن دستورات از یک فایل از طریق ورودی استاندارد (stdin)، دستورات را پیش از چاپ خروجی آن‌ها بازتاب (echo) می‌دهد. .IP "\fB\-s\fR, \fB\-\-autosave\fR" 4 .IX Item "-s, --autosave" ذخیره خودکار تمامی تغییرات در پایان نشست. .IP "\fB\-S\fR, \fB\-\-nostdinc\fR" 4 .IX Item "-S, --nostdinc" عدم جستجو در هیچ‌یک از پوشه‌های پیش‌فرض برای یافتن ماژول‌ها. هنگامی که این گزینه تنظیم شود، تنها پوشه‌هایی که به‌صراحت با .B \-I یا در متغیر محیطی .B AUGEAS_LENS_LIB مشخص شده‌اند برای یافتن ماژول‌ها جستجو خواهند شد. .IP "\fB\-L\fR, \fB\-\-noload\fR" 4 .IX Item "-L, --noload" عدم بارگذاری هیچ فایلی هنگام راه‌اندازی. این گزینه عموماً برای تنظیم دقیق این‌که کدام فایل‌ها بارگذاری شوند استفاده می‌شود، از طریق ویرایش مدخل‌های موجود در .B /augeas/load و سپس صدور دستور .BR load . .IP "\fB\-A\fR, \fB\-\-noautoload\fR" 4 .IX Item "-A, --noautoload" هیچ ماژول لنزی و در نتیجه هیچ فایلی را هنگام راه‌اندازی بارگذاری نمی‌کند. این گزینه هیچ ورودی‌ای در .B /augeas/load ایجاد نمی‌کند؛ برای خواندن هر فایلی، باید آن‌ها را به‌صورت دستی تنظیم کرد و بارگذاری باید با دستور .B load آغاز شود. استفاده از این گزینه سریع‌ترین زمان راه‌اندازی را فراهم می‌کند. .IP "\fB\-\-span\fR" 4 .IX Item "--span" بارگذاری موقعیت‌های بازه (span) برای گره‌ها در درخت نسبت به فایل اصلی. امکان استفاده از دستور .B span را برای بازیابی داده‌های موقعیت مکانی فعال می‌سازد. .IP "\fB\-\-timing\fR" 4 .IX Item "--timing" پس از اجرای هر دستور، مدت زمان اجرای آن را بر حسب میلی‌ثانیه چاپ می‌کند. این قابلیت شناسایی پرس‌وجوهای کند (معمولاً از طریق دستورهای .BR match ) را آسان‌تر کرده و امکان بررسی پرس‌وجوهای جایگزینی که نتیجه مشابهی دارند اما ممکن است سریع‌تر باشند را فراهم می‌آورد. .IP "\fB\-\-version\fR" 4 .IX Item "--version" چاپ اطلاعات نسخه و خروج. نسخه در درخت نیز در مسیر .B /augeas/version موجود است. .SH "دستورات (COMMANDS)" .IX Header "COMMANDS" در حالت تعاملی، دستورات و مسیرها را می‌توان با فشردن کلید .B TAB تکمیل خودکار کرد. .PP مسیرهایی که به‌عنوان آرگومان توسط دستورات پذیرفته می‌شوند، از زیرمجموعه کوچکی از عبارات مسیر XPath استفاده می‌کنند. یک عبارت مسیر از تعدادی بخش تشکیل شده که با .B / از یکدیگر جدا می‌شوند. در هر بخش، نویسه .B * می‌تواند برای تطبیق با هر گره‌ای بدون در نظر گرفتن برچسب آن استفاده شود. گره‌های هم‌سطح (هم‌نیای) با برچسب‌های یکسان را می‌توان با افزودن .B [N] به برچسب آن‌ها برای تطبیق با N\-امین هم‌نیا با آن برچسب متمایز کرد. آخرین هم‌نیا با برچسب مشخص را می‌توان با .B [last()] در دسترس داشت. برای نمونه‌هایی از این مورد، به بخش .B "مثال‌ها (EXAMPLES)" مراجعه کنید. .SS "دستورات مدیریتی (ADMIN COMMANDS)" .IX Subsection "ADMIN COMMANDS" دستورات زیر رفتار Augeas و خود augtool را کنترل می‌کنند. .IP "\fBhelp\fR" 4 .IX Item "help" چاپ این متن راهنما .IP "\fBload\fR" 4 .IX Item "load" بارگذاری فایل‌ها بر اساس تبدیل‌های موجود در .BR /augeas/load . .IP "\fBquit\fR" 4 .IX Item "quit" خروج از برنامه .IP "\fBretrieve\fR <\fILENS\fR> <\fINODE_IN\fR> <\fIPATH\fR> <\fINODE_OUT\fR>" 4 .IX Item "retrieve " تبدیل مجدد درخت در مسیر .I PATH به متن با استفاده از لنز .I LENS و ذخیره رشته حاصل در .IR NODE_OUT . فرض می‌شود که درخت در ابتدا با همان لنز و رشته ذخیره‌شده در .I NODE_IN به‌عنوان ورودی خوانده شده بود. .IP "\fBsave\fR" 4 .IX Item "save" ذخیره تمامی تغییرات معلق بر روی دیسک. مگر در حالتی که گزینه‌های خط فرمان .B \-b یا .B \-n مشخص شده باشند، فایل‌ها در جای خود بازنویسی و تغییر داده می‌شوند. .IP "\fBstore\fR <\fILENS\fR> <\fINODE\fR> <\fIPATH\fR>" 4 .IX Item "store " تجزیه .I NODE با استفاده از .I LENS و ذخیره درخت حاصل در .IR PATH . .IP "\fBtransform\fR <\fILENS\fR> <\fIFILTER\fR> <\fIFILE\fR>" 4 .IX Item "transform " افزودن یک تبدیل برای .I FILE با استفاده از .IR LENS . مقدار .I LENS می‌تواند نام یک ماژول یا نام کامل لنز باشد. اگر نام ماژول داده شود، مقدار .B lns به‌عنوان لنز در نظر گرفته خواهد شد. فیلتر .I FILTER باید .B incl یا .B excl باشد. اگر فیلتر .B incl باشد، فایل .I FILE توسط .I LENS تجزیه می‌شود. اگر فیلتر .B excl باشد، فایل .I FILE از .I LENS مستثنی خواهد شد. .I FILE می‌تواند شامل نویسه‌های عام (wildcards) باشد. .IP "\fBload-file\fR <\fIFILE\fR>" 4 .IX Item "load-file " بارگذاری یک .I FILE خاص، با تعیین خودکار لنز مناسب از اطلاعات موجود در .IR /augeas/load ؛ بدون مداخله بیشتر، همان لنزی استفاده می‌شود که معمولاً برای این فایل به کار می‌رفت. .SS "دستورات خواندن (READ COMMANDS)" .IX Subsection "READ COMMANDS" دستورات زیر برای بازیابی داده‌ها از درخت Augeas استفاده می‌شوند. .IP "\fBdump-xml\fR \fI[<\fIPATH\fI>]\fR" 4 .IX Item "dump-xml []" چاپ مدخل‌های موجود در درخت به‌صورت XML. اگر .I PATH مشخص شود، چاپ از آنجا آغاز می‌شود؛ در غیر این صورت کل درخت چاپ خواهد شد. .IP "\fBget\fR <\fIPATH\fR>" 4 .IX Item "get " چاپ مقدار مرتبط با .I PATH .IP "\fBlabel\fR <\fIPATH\fR>" 4 .IX Item "label " دریافت و چاپ برچسب مرتبط با .I PATH .IP "\fBls\fR <\fIPATH\fR>" 4 .IX Item "ls " فهرست کردن فرزندان مستقیم .I PATH .IP "\fBmatch\fR <\fIPATTERN\fR> [<\fIVALUE\fR>]" 4 .IX Item "match []" یافتن تمامی مسیرهایی که با .I PATTERN مطابقت دارند. اگر .I VALUE مشخص شده باشد، فقط مسیرهای منطبقی که مقدار آن‌ها برابر با .I VALUE است چاپ می‌شوند. .IP "\fBprint\fR \fI[<\fIPATH\fI>]\fR" 4 .IX Item "print []" چاپ مدخل‌های موجود در درخت. اگر .I PATH مشخص شود، چاپ از آنجا آغاز می‌گردد؛ در غیر این صورت کل درخت چاپ خواهد شد. .IP "\fBspan\fR <\fIPATH\fR>" 4 .IX Item "span " چاپ نام فایلی که گره .I PATH از آن تولید شده است، به همراه اطلاعات مربوط به موقعیت‌های موجود در فایل که متناظر با برچسب، مقدار و کل گره هستند. .I PATH باید دقیقاً با یک گره مطابقت داشته باشد. .Sp برای فعال‌سازی ثبت اطلاعات بازه (span)، لازم است پیش از بارگذاری فایل‌ها دستور .B 'set /augeas/span enable' را اجرا کنید. این ویژگی به‌طور پیش‌فرض غیرفعال است. .SS "دستورات نوشتن (WRITE COMMANDS)" .IX Subsection "WRITE COMMANDS" دستورات زیر برای تغییر دادن درخت Augeas استفاده می‌شوند. .IP "\fBclear\fR <\fIPATH\fR>" 4 .IX Item "clear " تنظیم مقدار .I PATH به .BR NULL . اگر .I PATH هنوز در درخت وجود نداشته باشد، این مسیر و تمام نیاکان آن ایجاد خواهند شد. .IP "\fBclearm\fR <\fIBASE\fR> <\fISUB\fR>" 4 .IX Item "clearm " پاک کردن مقادیر چندین گره در یک عملیات. یافتن یا ایجاد گره منطبق با .I SUB از طریق تفسیر .I SUB به‌عنوان عبارت مسیر نسبی نسبت به هر گره منطبق با .IR BASE . اگر .I SUB برابر با .B \&'.' باشد، گره‌های منطبق با .I BASE تغییر داده خواهند شد. .IP "\fBins\fR \fI<\fILABEL\fI>\fR \fI<\fIWHERE\fI>\fR \fI<\fIPATH\fI>\fR" 4 .IX Item "ins