pax_global_header00006660000000000000000000000064132710506650014517gustar00rootroot0000000000000052 comment=fd169ade48dc53a214e1d734e174f0780514bc6c manpages-zh-1.6.3.3/000077500000000000000000000000001327105066500141015ustar00rootroot00000000000000manpages-zh-1.6.3.3/.gitignore000066400000000000000000000001651327105066500160730ustar00rootroot00000000000000Makefile Makefile.in aclocal.m4 autom4te.cache config.log config.status configure install-sh missing src/man*/zh_*/* manpages-zh-1.6.3.3/.gitmodules000066400000000000000000000001531327105066500162550ustar00rootroot00000000000000[submodule "translation"] path = translation url = https://github.com/man-pages-zh/man-pages-translation manpages-zh-1.6.3.3/.travis.yml000066400000000000000000000002071327105066500162110ustar00rootroot00000000000000install: - sudo apt-get install zh-autoconvert autoconf automake script: - autoreconf --install --verbose - ./configure - make manpages-zh-1.6.3.3/AUTHORS000066400000000000000000000003531327105066500151520ustar00rootroot00000000000000Means Lee 金步国 <70171448@qq.com> Boyuan Yang <073plan@gmail.com> LI Daobing Ji ZhengYu CMPP Project: http://cmpp.linuxforum.net and many other authors for the manpages manpages-zh-1.6.3.3/COPYING000066400000000000000000000476621327105066500151530ustar00rootroot00000000000000 GNU Free Documentation License Version 1.2, November 2002 Copyright (C) 2000,2001,2002 Free Software Foundation, Inc. 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA Everyone is permitted to copy and distribute verbatim copies of this license document, but changing it is not allowed. 0. PREAMBLE The purpose of this License is to make a manual, textbook, or other functional and useful document "free" in the sense of freedom: to assure everyone the effective freedom to copy and redistribute it, with or without modifying it, either commercially or noncommercially. Secondarily, this License preserves for the author and publisher a way to get credit for their work, while not being considered responsible for modifications made by others. This License is a kind of "copyleft", which means that derivative works of the document must themselves be free in the same sense. It complements the GNU General Public License, which is a copyleft license designed for free software. We have designed this License in order to use it for manuals for free software, because free software needs free documentation: a free program should come with manuals providing the same freedoms that the software does. But this License is not limited to software manuals; it can be used for any textual work, regardless of subject matter or whether it is published as a printed book. We recommend this License principally for works whose purpose is instruction or reference. 1. APPLICABILITY AND DEFINITIONS This License applies to any manual or other work, in any medium, that contains a notice placed by the copyright holder saying it can be distributed under the terms of this License. Such a notice grants a world-wide, royalty-free license, unlimited in duration, to use that work under the conditions stated herein. The "Document", below, refers to any such manual or work. Any member of the public is a licensee, and is addressed as "you". You accept the license if you copy, modify or distribute the work in a way requiring permission under copyright law. A "Modified Version" of the Document means any work containing the Document or a portion of it, either copied verbatim, or with modifications and/or translated into another language. A "Secondary Section" is a named appendix or a front-matter section of the Document that deals exclusively with the relationship of the publishers or authors of the Document to the Document's overall subject (or to related matters) and contains nothing that could fall directly within that overall subject. (Thus, if the Document is in part a textbook of mathematics, a Secondary Section may not explain any mathematics.) The relationship could be a matter of historical connection with the subject or with related matters, or of legal, commercial, philosophical, ethical or political position regarding them. The "Invariant Sections" are certain Secondary Sections whose titles are designated, as being those of Invariant Sections, in the notice that says that the Document is released under this License. If a section does not fit the above definition of Secondary then it is not allowed to be designated as Invariant. The Document may contain zero Invariant Sections. If the Document does not identify any Invariant Sections then there are none. The "Cover Texts" are certain short passages of text that are listed, as Front-Cover Texts or Back-Cover Texts, in the notice that says that the Document is released under this License. A Front-Cover Text may be at most 5 words, and a Back-Cover Text may be at most 25 words. A "Transparent" copy of the Document means a machine-readable copy, represented in a format whose specification is available to the general public, that is suitable for revising the document straightforwardly with generic text editors or (for images composed of pixels) generic paint programs or (for drawings) some widely available drawing editor, and that is suitable for input to text formatters or for automatic translation to a variety of formats suitable for input to text formatters. A copy made in an otherwise Transparent file format whose markup, or absence of markup, has been arranged to thwart or discourage subsequent modification by readers is not Transparent. An image format is not Transparent if used for any substantial amount of text. A copy that is not "Transparent" is called "Opaque". Examples of suitable formats for Transparent copies include plain ASCII without markup, Texinfo input format, LaTeX input format, SGML or XML using a publicly available DTD, and standard-conforming simple HTML, PostScript or PDF designed for human modification. Examples of transparent image formats include PNG, XCF and JPG. Opaque formats include proprietary formats that can be read and edited only by proprietary word processors, SGML or XML for which the DTD and/or processing tools are not generally available, and the machine-generated HTML, PostScript or PDF produced by some word processors for output purposes only. The "Title Page" means, for a printed book, the title page itself, plus such following pages as are needed to hold, legibly, the material this License requires to appear in the title page. For works in formats which do not have any title page as such, "Title Page" means the text near the most prominent appearance of the work's title, preceding the beginning of the body of the text. A section "Entitled XYZ" means a named subunit of the Document whose title either is precisely XYZ or contains XYZ in parentheses following text that translates XYZ in another language. (Here XYZ stands for a specific section name mentioned below, such as "Acknowledgements", "Dedications", "Endorsements", or "History".) To "Preserve the Title" of such a section when you modify the Document means that it remains a section "Entitled XYZ" according to this definition. The Document may include Warranty Disclaimers next to the notice which states that this License applies to the Document. These Warranty Disclaimers are considered to be included by reference in this License, but only as regards disclaiming warranties: any other implication that these Warranty Disclaimers may have is void and has no effect on the meaning of this License. 2. VERBATIM COPYING You may copy and distribute the Document in any medium, either commercially or noncommercially, provided that this License, the copyright notices, and the license notice saying this License applies to the Document are reproduced in all copies, and that you add no other conditions whatsoever to those of this License. You may not use technical measures to obstruct or control the reading or further copying of the copies you make or distribute. However, you may accept compensation in exchange for copies. If you distribute a large enough number of copies you must also follow the conditions in section 3. You may also lend copies, under the same conditions stated above, and you may publicly display copies. 3. COPYING IN QUANTITY If you publish printed copies (or copies in media that commonly have printed covers) of the Document, numbering more than 100, and the Document's license notice requires Cover Texts, you must enclose the copies in covers that carry, clearly and legibly, all these Cover Texts: Front-Cover Texts on the front cover, and Back-Cover Texts on the back cover. Both covers must also clearly and legibly identify you as the publisher of these copies. The front cover must present the full title with all words of the title equally prominent and visible. You may add other material on the covers in addition. Copying with changes limited to the covers, as long as they preserve the title of the Document and satisfy these conditions, can be treated as verbatim copying in other respects. If the required texts for either cover are too voluminous to fit legibly, you should put the first ones listed (as many as fit reasonably) on the actual cover, and continue the rest onto adjacent pages. If you publish or distribute Opaque copies of the Document numbering more than 100, you must either include a machine-readable Transparent copy along with each Opaque copy, or state in or with each Opaque copy a computer-network location from which the general network-using public has access to download using public-standard network protocols a complete Transparent copy of the Document, free of added material. If you use the latter option, you must take reasonably prudent steps, when you begin distribution of Opaque copies in quantity, to ensure that this Transparent copy will remain thus accessible at the stated location until at least one year after the last time you distribute an Opaque copy (directly or through your agents or retailers) of that edition to the public. It is requested, but not required, that you contact the authors of the Document well before redistributing any large number of copies, to give them a chance to provide you with an updated version of the Document. 4. MODIFICATIONS You may copy and distribute a Modified Version of the Document under the conditions of sections 2 and 3 above, provided that you release the Modified Version under precisely this License, with the Modified Version filling the role of the Document, thus licensing distribution and modification of the Modified Version to whoever possesses a copy of it. In addition, you must do these things in the Modified Version: A. Use in the Title Page (and on the covers, if any) a title distinct from that of the Document, and from those of previous versions (which should, if there were any, be listed in the History section of the Document). You may use the same title as a previous version if the original publisher of that version gives permission. B. List on the Title Page, as authors, one or more persons or entities responsible for authorship of the modifications in the Modified Version, together with at least five of the principal authors of the Document (all of its principal authors, if it has fewer than five), unless they release you from this requirement. C. State on the Title page the name of the publisher of the Modified Version, as the publisher. D. Preserve all the copyright notices of the Document. E. Add an appropriate copyright notice for your modifications adjacent to the other copyright notices. F. Include, immediately after the copyright notices, a license notice giving the public permission to use the Modified Version under the terms of this License, in the form shown in the Addendum below. G. Preserve in that license notice the full lists of Invariant Sections and required Cover Texts given in the Document's license notice. H. Include an unaltered copy of this License. I. Preserve the section Entitled "History", Preserve its Title, and add to it an item stating at least the title, year, new authors, and publisher of the Modified Version as given on the Title Page. If there is no section Entitled "History" in the Document, create one stating the title, year, authors, and publisher of the Document as given on its Title Page, then add an item describing the Modified Version as stated in the previous sentence. J. Preserve the network location, if any, given in the Document for public access to a Transparent copy of the Document, and likewise the network locations given in the Document for previous versions it was based on. These may be placed in the "History" section. You may omit a network location for a work that was published at least four years before the Document itself, or if the original publisher of the version it refers to gives permission. K. For any section Entitled "Acknowledgements" or "Dedications", Preserve the Title of the section, and preserve in the section all the substance and tone of each of the contributor acknowledgements and/or dedications given therein. L. Preserve all the Invariant Sections of the Document, unaltered in their text and in their titles. Section numbers or the equivalent are not considered part of the section titles. M. Delete any section Entitled "Endorsements". Such a section may not be included in the Modified Version. N. Do not retitle any existing section to be Entitled "Endorsements" or to conflict in title with any Invariant Section. O. Preserve any Warranty Disclaimers. If the Modified Version includes new front-matter sections or appendices that qualify as Secondary Sections and contain no material copied from the Document, you may at your option designate some or all of these sections as invariant. To do this, add their titles to the list of Invariant Sections in the Modified Version's license notice. These titles must be distinct from any other section titles. You may add a section Entitled "Endorsements", provided it contains nothing but endorsements of your Modified Version by various parties--for example, statements of peer review or that the text has been approved by an organization as the authoritative definition of a standard. You may add a passage of up to five words as a Front-Cover Text, and a passage of up to 25 words as a Back-Cover Text, to the end of the list of Cover Texts in the Modified Version. Only one passage of Front-Cover Text and one of Back-Cover Text may be added by (or through arrangements made by) any one entity. If the Document already includes a cover text for the same cover, previously added by you or by arrangement made by the same entity you are acting on behalf of, you may not add another; but you may replace the old one, on explicit permission from the previous publisher that added the old one. The author(s) and publisher(s) of the Document do not by this License give permission to use their names for publicity for or to assert or imply endorsement of any Modified Version. 5. COMBINING DOCUMENTS You may combine the Document with other documents released under this License, under the terms defined in section 4 above for modified versions, provided that you include in the combination all of the Invariant Sections of all of the original documents, unmodified, and list them all as Invariant Sections of your combined work in its license notice, and that you preserve all their Warranty Disclaimers. The combined work need only contain one copy of this License, and multiple identical Invariant Sections may be replaced with a single copy. If there are multiple Invariant Sections with the same name but different contents, make the title of each such section unique by adding at the end of it, in parentheses, the name of the original author or publisher of that section if known, or else a unique number. Make the same adjustment to the section titles in the list of Invariant Sections in the license notice of the combined work. In the combination, you must combine any sections Entitled "History" in the various original documents, forming one section Entitled "History"; likewise combine any sections Entitled "Acknowledgements", and any sections Entitled "Dedications". You must delete all sections Entitled "Endorsements". 6. COLLECTIONS OF DOCUMENTS You may make a collection consisting of the Document and other documents released under this License, and replace the individual copies of this License in the various documents with a single copy that is included in the collection, provided that you follow the rules of this License for verbatim copying of each of the documents in all other respects. You may extract a single document from such a collection, and distribute it individually under this License, provided you insert a copy of this License into the extracted document, and follow this License in all other respects regarding verbatim copying of that document. 7. AGGREGATION WITH INDEPENDENT WORKS A compilation of the Document or its derivatives with other separate and independent documents or works, in or on a volume of a storage or distribution medium, is called an "aggregate" if the copyright resulting from the compilation is not used to limit the legal rights of the compilation's users beyond what the individual works permit. When the Document is included in an aggregate, this License does not apply to the other works in the aggregate which are not themselves derivative works of the Document. If the Cover Text requirement of section 3 is applicable to these copies of the Document, then if the Document is less than one half of the entire aggregate, the Document's Cover Texts may be placed on covers that bracket the Document within the aggregate, or the electronic equivalent of covers if the Document is in electronic form. Otherwise they must appear on printed covers that bracket the whole aggregate. 8. TRANSLATION Translation is considered a kind of modification, so you may distribute translations of the Document under the terms of section 4. Replacing Invariant Sections with translations requires special permission from their copyright holders, but you may include translations of some or all Invariant Sections in addition to the original versions of these Invariant Sections. You may include a translation of this License, and all the license notices in the Document, and any Warranty Disclaimers, provided that you also include the original English version of this License and the original versions of those notices and disclaimers. In case of a disagreement between the translation and the original version of this License or a notice or disclaimer, the original version will prevail. If a section in the Document is Entitled "Acknowledgements", "Dedications", or "History", the requirement (section 4) to Preserve its Title (section 1) will typically require changing the actual title. 9. TERMINATION You may not copy, modify, sublicense, or distribute the Document except as expressly provided for under this License. Any other attempt to copy, modify, sublicense or distribute the Document is void, and will automatically terminate your rights under this License. However, parties who have received copies, or rights, from you under this License will not have their licenses terminated so long as such parties remain in full compliance. 10. FUTURE REVISIONS OF THIS LICENSE The Free Software Foundation may publish new, revised versions of the GNU Free Documentation License from time to time. Such new versions will be similar in spirit to the present version, but may differ in detail to address new problems or concerns. See http://www.gnu.org/copyleft/. Each version of the License is given a distinguishing version number. If the Document specifies that a particular numbered version of this License "or any later version" applies to it, you have the option of following the terms and conditions either of that specified version or of any later version that has been published (not as a draft) by the Free Software Foundation. If the Document does not specify a version number of this License, you may choose any version ever published (not as a draft) by the Free Software Foundation. ADDENDUM: How to use this License for your documents To use this License in a document you have written, include a copy of the License in the document and put the following copyright and license notices just after the title page: Copyright (c) YEAR YOUR NAME. Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License, Version 1.2 or any later version published by the Free Software Foundation; with no Invariant Sections, no Front-Cover Texts, and no Back-Cover Texts. A copy of the license is included in the section entitled "GNU Free Documentation License". If you have Invariant Sections, Front-Cover Texts and Back-Cover Texts, replace the "with...Texts." line with this: with the Invariant Sections being LIST THEIR TITLES, with the Front-Cover Texts being LIST, and with the Back-Cover Texts being LIST. If you have Invariant Sections without Cover Texts, or some other combination of the three, merge those two alternatives to suit the situation. If your document contains nontrivial examples of program code, we recommend releasing these examples in parallel under your choice of free software license, such as the GNU General Public License, to permit their use in free software. manpages-zh-1.6.3.3/ChangeLog000066400000000000000000000133741327105066500156630ustar00rootroot000000000000002018-04-28 Boyuan Yang <073plan@gmail.com> * Fix FSSTND dir entry in at(1). * Let unsq(1) use the same content of sq(1). * Remove executable permission from Makefile.am files. * Slight update to TODO file. * Release 1.6.3.3. 2018-04-17 Boyuan Yang <073plan@gmail.com> * Manually translate wall(1). 2017-10-19 Boyuan Yang <073plan@gmail.com> * Update man page for coreutils to v8.28: Add tsort(1). * Stop installing gcc(1), text severely outdated. * Release 1.6.3.2. 2017-10-18 Boyuan Yang <073plan@gmail.com> * Fix a typo in bash(1). 2017-05-15 Means Lee * Add manual translation for sed(1). 2017-04-13 Boyuan Yang <073plan@gmail.com> * Add a project logo into DOCS directory. * Release 1.6.3.1. 2017-04-09 Boyuan Yang <073plan@gmail.com> * Add more translated man pages of systemd: machine-id(5), machine-info(5), modules-load.d(5), networkd.conf(5), resolved.conf(5), sysctl.d(5), nss-myhostname(8), nss-mymachines(8), nss-resolve(8) * Replace old shutdown(8) with systemd-provided one. * Retranslate more(1). 2017-04-05 Boyuan Yang <073plan@gmail.com> * Add comment function to append-colophon utility. * Add some systemd man pages provided by 金步国: bootctl(1), busctl(1), hostnamectl(1), journalctl(1), localectl(1), loginctl(1), systemctl(1), networkctl(1), systemd-ask-password(1), systemd-cat(1), systemd-cgls(1), systemd-delta(1), systemd-detect-virt(1), systemd-escape(1), systemd-firstboot(1), systemd-firstboot.service(1), systemd-inhibit(1), systemd-machine-id-setup(1), systemd-notify(1), systemd-path(1), systemd-resolve(1), systemd-socket-activate(1), systemd-tty-ask-password-agent(1), systemd(1), timedatectl(1), binfmt.d(5), hostname(5), journald.conf(5), locale.conf(5), localtime(5), logind.conf(5), os-release(5), vconsole.conf(5), bootup(7), daemon(7), file-hierarchy(7), hwdb(7), kernel-command-line(7), halt(8), systemd-quotacheck(8), systemd-quotacheck.service(8) * Release 1.6.3. 2017-03-05 Boyuan Yang <073plan@gmail.com> * Retranslate shells(5). * Import new translation: - pinky(1) 2017-03-04 Boyuan Yang <073plan@gmail.com> * Import new translation: - truncate(1) * Retranslate for coreutils: - fold(1) - uniq(1) * Refresh coreutils release date (2017-01 now). * Release 1.6.2.1. 2017-02-26 Boyuan Yang <073plan@gmail.com> * Import new translation: - readlink(1) 2017-02-21 Boyuan Yang <073plan@gmail.com> * Fix a typo in realpath(1). * Import new translation: + chroot(8) * Retranslate tee(1). 2017-02-16 Boyuan Yang <073plan@gmail.com> * Remove charset(1), disappeared since 2013. * Remove reference to zh.tmac. * Let append-colophon script recognize mdoc format. (GitHub: man-pages-zh/manpages-zh#4) * Raise error on disabling both zh_CN and zh_TW format in configure.ac. * Follow changes in coreutils translation: + translation for realpath(1). + update translation for id(1), install(1), md5sum(1), nohup(1). * Release 1.6.2. 2017-02-15 Boyuan Yang <073plan@gmail.com> * Fix behaviour changes in coreutils. - Retranslate cp(1), mkdir(1), mkfifo(1), mknod(1). (GitHub: man-pages-zh/manpages-zh#1, lidaobing/manpages-zh#18) (RH: #1263636) 2017-02-15 Boyuan Yang <073plan@gmail.com> * Retranslate intro(1) using po4a. * Remove outdated src/cman/ conf examples. Modern man-db and groff can handle Chinese properly. * Remove outdated tools in utils/ dir. Most of them are provided by external software "opencc". * Refine README.md. * Release 1.6.1. 2017-02-12 Boyuan Yang <073plan@gmail.com> * Retranslate w(1) using po4a. 2017-02-10 Boyuan Yang <073plan@gmail.com> * Drop sync(8), superceded by sync(1). * Partial translation of ping(8). * Refresh translation for info(5). * Minor updates for: - basename(3) 2016-12-24 Boyuan Yang <073plan@gmail.com> * Drop mailto(1), disappeared since Debian 6. 2016-12-24 Boyuan Yang <073plan@gmail.com> * minor fix for append-colophon. * Also distribute append-colophon in tarball. * Drop zic2xpm(6), disappeared since Debian 6. * Partial translation update of info(1). * Release 1.6.0. 2016-12-23 Boyuan Yang <073plan@gmail.com> * Remove support for non-UTF8 encoding. * Replace totw.pl with opencc 1.x. 2016-12-22 Boyuan Yang <073plan@gmail.com> * Full translation of fs(5), sq(1). * Import new full translation from coreutils: - b2sum(1) - link(1) - pathchk(1) - printenv(1) - sha1sum(1) - sha224sum(1) - sha256sum(1) - sha384sum(1) - timeout(1) - unexpand(1) - unlink(1) - users(1) - whoami(1) * Update full translation for coreutils: - arch(1) - base32(1) - base64(1) - basename(1) - cat(1) - chgrp(1) - cksum(1) - dirname(1) - echo(1) - env(1) - expand(1) - expr(1) - factor(1) - false(1) - groups(1) - head(1) - hostid(1) - install(1) - logname(1) - nice(1) - paste(1) - printf(1) - pwd(1) - rm(1) - rmdir(1) - seq(1) - sha512sum(1) - sleep(1) - sum(1) - sync(1) - tac(1) - test(1) - touch(1) - true(1) - tty(1) - uname(1) - wc(1) - who(1) - yes(1) * Append colophon on building by default. * Remove sh(1) stub since it should be dash(1) on Debian. * Improve translation for gvim(1). * Minor translation of rpm(8). 2016-12-15 Boyuan Yang <073plan@gmail.com> * Rewrite README into README.md. * make [.1 an alias of test.1. * fifo(4) -> fifo(7), complete translation. 2016-12-14 Boyuan Yang <073plan@gmail.com> * remove all conflicting man pages. * remove some non-existant command pages. * some minor modifications. * release 1.5.4.1. 2011-07-09 LI Daobing * remove git.1. * release 1.5.2. The old changelog for CMPP is in DOCS/ChangeLog. Thanks. # vim:ft=changelog: manpages-zh-1.6.3.3/DOCS/000077500000000000000000000000001327105066500146315ustar00rootroot00000000000000manpages-zh-1.6.3.3/DOCS/ChangeLog000066400000000000000000000236671327105066500164210ustar00rootroot0000000000000020040615 整理了一些 perl 文档 这些 perl 文档主要来自 linuxforum 的翻译计划,以及两只老虎工作室(台湾)的翻译工作 20031220 将原始文档加入raw目录 1、将原始文档加入raw目录,以便修改和更新 20031205 打包工作基本完成 1、现在有了520余篇手册页可用 2、已有的文档做了一些重新排版,主要是署名和NAME格式做了统一 3、tcl 文档全部转为 man 格式 4、samba 文档整理完毕 5、在http://sf.linuxforum.net 上发布了man-pages-zh_CN(rpm) 和manpages-zh(deb) 20031025 打包工作进行中 1、按照redhat rpm包命名规则,命名为man-pages-zh_CN,编码默\ 认采用UTF-8。相应的GB编码的包命名为man-pages-zh_CN-gb。由\ man文档转化为html 文件用于网络发布和浏览,打包名称为\ man-pages-zh_CN-html 2、按照debian deb包命名规则,命名为manpages-zh。繁体部分尚未完成。 200205 0.3发布 2001/10/27 0.2 发布 [概述] 和上次发布有三个月的距离了让大家久等了.但是着三个月中 CMPP 发生的变化是非常大的,首先,CMPP 继续扩展到更多的发布版本中. 希望能有更多人能够分享到 CMPP 各个参与成员的劳动.同时也能因为 CMPP 的一点菲薄之力而受益,我们的口号是,使用它就是对我们最好的支持! 在这个版本里最显著的变化就是发生在 mann 里,在那里,mhss 先生为大家几乎贡献了所有 Tcl 的手册!这也可以说是 CMPP 迄 今为止最大规模的手册系列了.这对许多喜爱Tcl 这种语言的朋友 肯定是个大帮助.相信对 Tcl 在国内的普及和发展也有很大帮助. 同时,我们保持了恒定的 man1 内容的更新,越有 30 多篇 man1 的内容转化成了中文. 还有一个进步是有网友已经开始着手 man2, man3 的内容了,这 样,多所有的程序员朋友将是一个新的开端.这些手册页将给所 有程序员朋友更多帮助!请尽情使用吧! 2001/07/21 0.1 发布, [概述] 经过一段时间的工作,我们很骄傲地宣布 cman 0.1.0 的发布, 这个版本是完全可以胜任一般日常工作的一个版本,我们新增加 了近 50 个条目,覆盖了大部分系统日常使用和维护的范畴. 同时,我们增加了许多一起合作的朋友,象 Tony, Su Yong, Anthony Fork 等等,同时 cman 也进入了 Debian, 中软 Linux, Happy Linux 等发布中,感谢大家的努力,并为大家取得的成就 欢呼! 0.1 的推出标志着 CMPP 的又一个坚实的足迹,同时也是对所有 爱好者和使用者的感谢,对所有有怀疑态度的人的回答.在这里, 我代表所有 CMPP 的成员向整个互联网宣布: 我们一直在前进! 2001/06/30 更新了 FAQs 2001/06/11 我们的 CVS 换到 202.204.24.8 了. 2001/05/20 修改了版权声明,实际上采用了 FDL 的版权声明. 2001/05/01 增加了 sampes 目录,以后的各种例子和 代码片段将放在这里. 2001/04/12 MAINTAINER 文件完成。现在 Man Page 用户可以通过此文件 找到每一手册页的维护者,欢迎报告错误和提供建议。 2001/03/19 [概述] 我们目前已经全部改用 CVS 和邮递列表,进行版本和进度等 管理工作了,并且我们已经初步形成了一支比较稳定的维护人员队伍. 在这个期间我们又新增加和校对了一批新手册页,无论数量 还是质量上我们都有了极大的提高. 主要增加的内容包括 man1,man5,man7,和 man8 中的许多 新内容,覆盖的范围包括基本命令,系统维护和配置,以及 网络配置和使用等,同时我们的提交人员则进一步地开始了 更新的内容提交,一些标准 man-1.31 之外的手册页也开始出现 在我们的 CMPP 的发行包中,比如 samba 和 tcpdump,openssh 等内容.并且随着我们新的认领办法的使用,我相信以后的 cman 将会覆盖更广泛的内容和更深层次的内涵. 在这个新版本里,我们建立了新的 people 用户,从而使每位 CVS 维护人员有了自己的工作区间,也使 CMPP 能够更加有效 地兼顾各个方向.保持 cman 的平衡发展. 同时,我们修改了以前并不完善的认领办法,采用了标准的替换 法,也就是我们把所有合适的英文手册页都放到我们的 CVS 服务器 上,任何网友只要看到是英文的手册页就可以拿下来翻译,完成后 提交到 cmpp@yahoogroups.com 邮递列表.这样,就更加方便广大 网友观察进度,共同参与.更详细的相关信息,请参阅 FAQs. 另外,我们还进一步完善了一些相关的工具,比如,在 /contrib 目录下就新增加了用于 windows 中查看 man pages 的工具,winmanviewer, 以及一些处理 man 到不同格式的工具,大家可以把手册页转换成更 丰富的格式了. 相信这个新版本的 cman 在许多网友的努力下能够给更多的自由软件 爱好者和使用者带来方便,同时也希望有更多的网友能参与这个庞大的 计划.所有手册页总共的字数超过 550 万,只有更多的网友齐参与, 共努力,发样蚂蚁啃骨头的精神,把无数零碎的时间汇集成一股洪流, 才能真正实现这样的目标. 各位朋友,如果您正在寻找有趣的事情做,如果您希望在学习的过程中 同时为他人做一些贡献,如果您还是自由软件使用或爱好者,那么, 请参与到 CMPP 计划中来,让我们一起推进我们整个社区的发展,并最终 在历史的长河中留下您的足迹! [增加] 大量增加,不计其数,您只能通过 CVS LOG 机制才能看到详细的情况. [修补] 对 CVS 结构,目录结构做了大量调整和修改. [说明] CMPP 的网站是: www.cmpp.net CMPP 的邮递列表是: cmpp@yahoogroups.com 更详细的信息请参阅网站和 FAQs. 欢迎任何意见和建议. 意见和建议请发往邮递列表. 2001/03/19 [概括] man1 源文件引入完成,基本上是 RH6.2 的 man1. 2001/01/31 0.0.5 2000/12/27 0.0.4 [概括] 今天我们正式把所有 cman 的内容放到 CVS 服务器上, 这样大家就可以更快地看到我们的成果和进度了. 2000/12/22 0.0.3 [概况]这是一个过渡版本,我们准备把工作移到 CVS 上去,在这之前,我们把所有收集到的内容先做一个包, 发布出来,供大家参考. 2000/12/05 0.0.2 release [概况] 完成了全部现有的 man1,man5,man7,man8 的工作. 为了更好地反映我们的进度,我们决定放弃 alpha,beta,阶段, 把所有未校对的东西放在 uncheck 子目录,当完成校对,将其移 至正式的 man[1-9,n] 目录下.同时力争每周一个版本. man8 中 fdisk.8,init.8,sync.8 以及与时区相关的几条手册页 给我们提供了非常丰富的系统知识和系统配置线索, 相信对所有用户都是一些非常好的帮助和学习/认识起点. 同时在 man1 中增加 kill 和 killall 两条手册页. 0.0.2 版本可以说是一个比较完善的包了,它的内容现在已经 可以为大多数系统管理员以及许多使用系统接口的程序员提供 广泛的帮助(主要覆盖 INET 方面).与 0.0.1 相比,我们的 材料有了进一步的积累,合格的内容有了长足的增长,感谢所有 奉献自己时间的参与者,也感谢所有使用和查找问题的用户. 希望大家继续支持这个计划,也希望大家能进一步宣传她,参与她, 为更多更广泛的用户提供更丰富更实用的资料. "这是一项可以利用许多人的零碎时间的事业, 许多个零碎的时间汇集起来,就是一股强大的力量, 就可以为我们大家创造出更好的世界." 任何意见或建议,请 mailto: laserhenry@263.net [增加] 增加了MAINTAINERS,目前这个文件尚未完全完成,感谢 wangdong! [修补] 所有 man8,man1部分 [声明] 我们校对的时候修改了大量的内容,请各相关译者参照和阅读, 如果有异议,请及时向我们反映:laserhenry@263.net Laser 2000/11/26 经过近两天的工作,我把现有 man5 部分全部校对完成, 并且增加了 mapping 先生翻的 proc.5,现在的 man5 部分 是完全可以信赖的并且非常有参考价值.其中 environ.5 对于了解 Unix 体系的环境变量非常有帮助, fs.5 可以帮助您了解 Linux 所支持的文件系统, host.conf.5 将帮助您对 Unix 体系的域名和主机名系统极其配置有初步认识 并且是获取相关帮助的源头, passwd.5 为你解释了 Unix 系统的认证和登录体系, proc.5 则对于所有需要管理和认识 Linux 系统,以及学习 Linux 内核的朋友 都是一个非常好的参考资料.您可以利用 proc.5 里面的内容更好地配置和管理 Linux 内核,同时它也是切入 Linux 内核的一个入口,与 man7 中的 inet 系列 man pages 相结合,相信现在对 Linux 内核的管理将更加有条理和有理论基础. shells.5 则告诉我们更多关于用户 shell 管理的知识. 另外还完成的有 man8 的一部分,可以检查我的 ChangeLog. 其他的修改包括对制作脚本进行了修改,以及修改了所有的站点联接等. 至此,正式升级为 0.0.2-alpha,将在 beta 中主要完成 man8 的工作. -Laser 2000/11/22 准备 0.0.2-alpha 目标是把 man5 的部分全部校对完成, 2000/11/10 崭新的 cman 0.0.1 我校对了现有 man1 和 man7 的绝大部分内容, 尤其是 man7,因为实在关系到准确性问题, 耗费了我将近一周的时间. 现在可以告诉大家,如果有人对配置,优化系统, 尤其是系统网络性能,对书写更强大的 tcp/ip socket 程序感兴趣, 那么 man7 里的 arp.7,ip.7, packet.7, tcp.7, icmp.7, netdevice.7, netlink.7, raw.7,unix.7,udp.7 是绝对不可不看的. 如果您对本地化感兴趣,请参考 man7 中的 locale.7, unicode.7, utf-8.7, charsets.7 将是您的很好的帮手. manpages-zh-1.6.3.3/DOCS/FAQ000066400000000000000000000211231327105066500151620ustar00rootroot00000000000000CMPP 常见问题(FAQ) 当前维护人员:徐明 最后更新:2003 年 12 月 05 日 01:53:11 CST 本文档的最新版本可以在 http://cmpp.linuxforum.net 找到。 目录 1,什么是 CMPP? 2,为什么要发起 CMPP 手册页计划? 3,这个计划相关站点在哪里? 4,如何参与该计划? 5,如何支持该计划? 6,如何认领手册页翻译? 7,CMPP 翻译的手册页的要求是什么? 8,troff 格式是什么样的? 9,如何提交您的翻译或者补丁? 10,本计划的协调人是谁? 11,如何使用 CVS? 12, 手册页断行错误和乱码? 13,如何使用中文手册页? 1,什么是 CMPP? CMPP 是“中文手册页计划”( Chinese Man Pages Project )的缩写。 这个计划的目的是把英文的 manual pages (手册页)翻译成中文的手册页, 让更多的人能够受益于手册页详实丰富的内容。降低学习 Linux 系统的难度。 2,为什么要发起 CMPP 手册页计划? 手册页是 Unix 体系里最为权威和丰富的技术资料, Linux 作为自由软件 的 Unix 版本和其他所有相关工具和软件一起,其手册页的质量和数量都 非常高,为了帮助广大网友学习和使用这些自由软件,linuxforum.net 发起 了这个本身也是自由软件项目之一的翻译工程。 3,这个计划相关站点在哪里? http://cmpp.linuxforum.net CMPP 主页 我们在这个站点上发布与 CMPP 相关的所有信息。 http://sf.linuxforum.net/projects/cmpp 目前 CMPP 计划在sf.linuxforum 上的项目地址 请到这里来获得cmpp 发行的文件打包 http://cmpp.linuxforum.net/cvs? 从这里可以直接查看cvs 中的文档。 4,如何参与该计划? 您可以通过共同参与翻译、校对手册页,也可以通过您合适的途径传播 CMPP 计划,让更多的人认识、参与并最终从 CMPP 计划中受益。 5,如何支持该计划? 第一,您可以亲身参与该计划,见“如何参与该计划”; 第二,您可以赞助该计划,您可以提供各种翻译相关资料、资源、甚至是书籍、 金钱等赞助,赞助事宜可以和本计划协调人或 linuxforum.net 的管理人联系 (见“本计划协调人”); 第三,使用我们的中文手册页!只有更多的人使用,才能真正推动 CMPP 的 发展和进步。 6,如何认领手册页翻译? 请先确认文档没有被翻译,或者没有人正在翻译。 如果翻译正在进行,但是译者比较忙以至于无法提交结果,也可以自己动手。 如果您对某些东西感兴趣,那么您可以浏览CVSWeb,在里面的那些非中文的 手册页都是可以/应当翻译的项目。具体方法是: 第一,登录 CVSWeb:http://cmpp.linuxforum.net 第二,点击 cman 浏览 CVSWeb 里的 cman 内容,寻找您感兴趣的手册页, 如果找到,那么: 第三,点击该文件的链接,进入下一个页面,里面有一个 download 链接。 用鼠标右键点击,在弹出菜单中选择“目标另存为”,在新弹出的 菜单中选择保存路径和文件名(最好不要更改文件名),然后点“确认”即可, 然后您就可以在它上面进行翻译了。 也可以用cvs 来检查是否已经翻译了。已翻译的文档一般都会加入 man-pages-zh_CN 目录当中。可以使用cvs export -r HEAD 命令来导出这个 文件。小心,这要求你比较精通cvs工具 7,CMPP 翻译的手册页的要求是什么? 因为手册页的格式是 troff 格式,所以我们建议在做翻译的时候最好也使用 troff 格式,简单说就是保留源文件的格式,覆盖翻译。推荐使用emacs 来做 翻译时的编辑器,使用它的语法高亮功能来避免错误。文件编码建议使用 utf8. 请参阅讨论版上关于翻译要求的说明,有很多用词规则和署名规则。 8,troff 格式是什么样的? troff 格式是手册页的基本格式,它是由一些标记对文本进行标记,然后通过 专门的软件进行分析实现的。其符号和标记的详细信息可以参阅 man7 目录中 的roff.7, mdoc.samples.7, man.7;man9 目录中的cmanexample.9, cmanformat.9 9,如何提交您的翻译或者补丁? 请在讨论版上张贴,标题是您翻译的文档名,内容是原始的roff 文件。 注意应当使用[pre] [/pre]标记,使原始文件内容以原样显示出来。 然后,请回复两次您自己的帖子,内容分别是使用man2html工具得到的 中文和英文的html 文件在浏览器中的显示效果。这样有助于即时的讨论. man2html 工具包含在 cman/contrib/man2html 目录中 如果有条件限制,也可以只提交原始 roff 文件,请版主完成html 文件。 这种情况下,请将翻译结果用电子邮件寄给版主/协调人 10,本计划的协调人是谁? 徐明 何伟平 冼景彬 如果您有与 CMPP 相关的事项协商或者希望参与到经常性提交者的行列中, 请与他们联系。 11,如何使用 CVS? 首先,如果您使用的是 Linux,那么您可以先把 CVS 软件安装上, 大部分 linux 版本里都有 cvs 包,阅读您的系统的文档,安装上这个软件。 如果您的系统里没有这个软件,您可以到下面的站点下载安装,具体的安装 方法和步骤请参阅它自己的文档。 然后,您可以执行下面的命令: $ cvs -d:pserver:anonymous@sf.linuxforum.net:/cvsroot/cmpp login 这时候 CVS 系统会向您提示输入口令,您只需要按回车就可以了。这时候 cvs 会把口令保存在 .cvspass,这样您以后就不再用输入了。 您可以把所有 CMPP 源文件都下载下来,命令是: $cvs -z3 -PAd co cman 但是,由于man 文档数量巨大(>120M),所以最好不要这样做。如果你感兴趣的 是中文手册页,可以用 $cvs -z3 -PAd export -r HEAD man-pages-zh_CN 来下载用于制作rpm 或 deb 的所有文件。 第一次下载需要比较长的时间,但以后如果您再需要更新,就不需要下载那么 多的东西了,只需要进入 cman 的目录里,执行: $cvs -z3 -PAd update 如果您的平台是 windows,那么您可以有两种使用 CVS 的方法,第一种是到 www.cygwin.com 下载 cygwin 包,安装到系统中,运行 cygwin 之后的所有 方法都是和在 linux 或者 unix 里一样的,这里就不多说了。如果您使用的 是 cvs 的 windows 客户端软件 WinCVS 的话,那么您可以按照下面步骤: (命令中的 “->”表示菜单级联): 第一,Admin->preferenes->General->Enter the CVSROOT,输入 :pserver:anonymous@202.204.24.8:/home/cvsroot 第二,登陆 CVS 服务器 Admin->login... 第三,抓取所有 cman 文件: Create->Chechout module->checkout settings->enter the.. 输入cman(或者某个手册页的内容) Local folder checkout to处输入:你的工作目录(本地目录) 使用压缩选项 Golbals->Use tcp/ip compression 第四,以后更新手册页的时候可以: Modify->Update selection... 总之,不推荐使用windows 来操作。 12, 为什么我的手册页一行中有时空白很大;有时没有空白,反而出现断行错 误和乱码? troff 格式是通过 groff/troff 程序过滤产生输出的。而某些版本的 groff 是按英文习惯断行。它使用英文空白符 (ASCII 值 0x20) 和英文断词法决定 断行的位置,然后把每行英文重新排版,使之两边对齐。 可是中文词与词之间是没有空格的,断行要求与英文也大不相同。因为通常在 中英文交替时加个空格, groff/troff 只能依靠这些有限的空格断行了。一 句中间无空格的中文句会被看作一个英文词(而且是无法用断词法断词的)。 如果中文句很短, groff/troff 会认为一行只有很少几个词,拉伸使之两边 对齐,就出现了较大的空白;如果中文句很长, groff/troff 会报告 "warning: can't break line" ,无法断行,而一直排下去,到行尾时若处于 一个汉字中间(一个汉字被视为两个英文字符),强行断开,下一行就会出现 乱码。 最新版本groff 中没有这些问题。 13,如何使用中文手册页? 请查看README 文件来获得安装帮助 请到讨论版查看不同的系统的默认语言环境,相应的查看中文手册页的办法。 一般说来,yelp (版本2.4 以后)总是可以用的,man 可能有问题,konqueror 也可能有问题。如果语言环境是zh_CN.GB* 那么应当使用cman 命令. 终端下使用zhcon + cman 没有问题 manpages-zh-1.6.3.3/DOCS/Makefile.am000066400000000000000000000001411327105066500166610ustar00rootroot00000000000000EXTRA_DIST = banner1.gif ChangeLog clf.gif FAQ THANKS VOCABULARY manpages-zh.svg manpages-zh.png manpages-zh-1.6.3.3/DOCS/README000066400000000000000000000002171327105066500155110ustar00rootroot00000000000000All files here are outdated. --- 本目录内所有文件均已过时,仅作历史存档用,请自行鉴别。 -- Boyuan Yang (20170215) manpages-zh-1.6.3.3/DOCS/THANKS000066400000000000000000000022421327105066500155440ustar00rootroot00000000000000Julian.Ch 提供了一个详细的命令参考 best163 的念青(nianqing@163.net)提供了很多手册页的html版本 redcandle 提供了html2man 和htmlcharfix 萧百龄,两只老虎工作室 提供了 perlfaq* 译者 Adadxb Hzwww Joechl Mousedong Timebob timebob@21cn.com Wenicu Wyd Xyb Zeo Zfqjcl 本站翻译小组 范逊 胡二刀 若智 唐志波 tmounth@sina.com 赵如飞 slimzhao@21cn.com 409 laser mhss jijingzhisheng@up369.com Scorpions rawk@chinese.com meaculpa meaculpa@21cn.com Liu JingSong js-liu@263.net 苏勇 ysu@gnocis.org 所罗门(Soloman) solomen@email.com.cn 王炎 wyd@263.net riser boomer@ccidnet.com 徐明 xuming@bigfoot.com 袁乙钧 bbbush@163.com Surran liguoping liguoping_11@sina.com Astonia astonia@bigfoot.com Alan Yao Alan_Yao@163.net Mirnshi Mirnshi@263.net Wang Dong doomwang@263.net mapping mapping@263.net Hunter77 tzb@kali.com.cn 晓寒 xiaohan@sina.com RedCandle redcandle51@chinaren.com billpan billpan@yeah.net LetBright letbright@netease.com zou8li14 zou8li14@sina.com Viamu manpages-zh-1.6.3.3/DOCS/VOCABULARY000066400000000000000000000120501327105066500162210ustar00rootroot00000000000000关键词 v 0.2 还没有zh_TW 的版本 建议在翻译时使用标准词汇 .SH 标题的翻译应当这样将英文放在后面的括号中,比较美观。 ----------------------------------------------------------- SYNOPSIS 总览 (SYNOPSIS) NAME NAME COPYRIGHT 版权所有 (COPYRIGHT) COPYING 版权 (COPYING) DESCRIPTION 描述 (DESCRIPTION) OPTIONS 选项 (OPTIONS) ARGUMENTS 参数 (ARGUMENTS) INVOCATION 执行 (INVOCATION) DEFINITIONS 定义 (DEFINITIONS) RESERVED WORDS 保留字 (RESERVED WORDS) GRAMMAR 语法 (GRAMMAR) COMMENTS 注释 (COMMENTS) QUOTING 引用 (QUOTING) PARAMETERS 参数 (PARAMETERS) EXPANSION 扩展 (EXPANSION) REDIRECTION 重定向 (REDIRECTION) ALIASES 别名 (ALIASES) FUNCTIONS 函数 (FUNCTIONS) ARITHMETIC EVALUATION 数学运算 (ARITHMETIC EVALUATION) CONDITIONAL EXPRESSION 条件表达式 (CONDITIONAL EXPRESSION) COMMAND EXECUTION 命令执行 (COMMAND EXECUTION) ENVIRONMENT 环境 (ENVIRONMENT) EXIT STATUS 退出状态 (EXIT STATUS) SIGNALS 信号 (SIGNALS) JOB CONTROL 作业控制 (JOB CONTROL) PROMPTING 提示符 (PROMPTING) HISTORY 历史 (HISTORY) SEE ALSO 参见 (SEE ALSO) FILES 文件 (FILES) AUTHORS 作者 (AUTHORS) BUGS BUGS WARNING 警告 (WARNING) DIAGNOSTICS 诊断 (DIAGNOSTICS) ----------------------------------------------------------- 下面是一般的词汇 ========================================================== Abort | 放弃 | Aborting | 正在退出 | Alert | 警报 | ARGUMENTS | 参数 | AUTHOR | 作者 | Aviability | 可用性,可得性 | block | 阻塞 | BrowseClusters | 流览集群 | BUGS | BUGS | cache | 缓存 | callback | 回调 | Clear | 清除 | COMMENT | 注释 | CONFORMING TO | 遵循 | DEBUG | 调试 | DECLARATION | 声明 | default | 缺省 | DEFINITION | 定义 | DESCRIPTION | 描述 | Destination | 目的地 | DIAGNOSTICS | 诊断 | disable | 关闭 | disk | 磁盘 | enable | 打开 | entity | 记录 | entry | 记录 | ENVIRONMENT | 环境 | ERROR HANDLING | 错误处理 | ERRORS | 常见错误 | EXAMPLE | 例子 | EXIT STATUS | 退出状态 | Expand | 扩展 | FILES | 相关文件 | forward | 转发 | Gateway | 网关 | Grid | 网格 | HISTORY | 历史 | hit | 命中 | Host | 主机 | interface | 接口 | INVOCATION | 激活/调用 | key | 键 | keyword | 关键字 | LITERAL | 文本 | mask | 掩码 | metric | 步跳 | miss | 脱靶 | modifier | 修饰词 | mount | 装配,装载 | NAME | 名字 | named pipe | 命名管道 | number | 号码,数字 | NOTES | 注意 | OPTIONS | 选项 | OUTPUT | 输出 | packet | 包,报文 | PARAMETER | 参数 | pipe | 管道 | Port | 移植 | Portable | 可移植的 | privileges | 权限 | PROMPT | 提示符 | quota | 限额,配额 | RESERVED WORD | 保留字 | RETURN VALUE | 返回值 | Route | 路由 | Sectors | 扇区 | SECURITY | 安全 | SEE ALSO | 另见 | SEGMENT | 段 | specification | 规范,声明 | stderr | 标准错误 | stdin | 标准输入 | stdout | 标准输出 | switch | 开关 | SYNOPSIS | 总览 | Task | 任务 | thread | 线程 | TIP | 小技巧 | token | 记号 | umask | umask | umount | 卸载 | unrestricted | 无限制 | USAGE | 用法 | value | 值 | verbose | 冗长 | work | 运转 | ===================================================== 文件应保留原来作者和版权的信息,不能随意删掉。 在文件的最后是翻译者署名,应当是这样的格式(可以将这六行复制到你翻译的文件中,加以修改): .SH "[中文版维护人]" .B 姓名 .SH "[中文版最新更新]" .BR yyyy.mm.dd .SH "[中国linux论坛中文手册页翻译计划]" .BI http://cmpp.linuxforum.net ============================================= 其他约定 电子邮件应当是 的形式 示例 请查看man9/cmanexample.9 示例文档 manpages-zh-1.6.3.3/DOCS/banner1.gif000066400000000000000000000253441327105066500166560ustar00rootroot00000000000000GIF89a\ٿ̙̙~hJ̙fo{ZfffVVVAAA,,, ! NETSCAPE2.0!,\@pH,Ȥrl:ШtJZجvzxL.zn|N~gMx [rgB_bK  cBWb a|i ~ bU?xpEU) >txij0 c@W آ@8Xmÿ :9,u &Tɳ„7,a 5fA7-eC ׬@e t:bQJ7AV,bO!Ʉ@Ξw$' a $-a}e0a0m 7.A'bXՃ,jLd!:-O ^֧WК"zNw<#!օvpUJ%Nਓ7=K(w ߃$mu 4}hVtG]O@dq-@x!RF$[S(``@H)AJ&AinhXub\TS6^zIU)nQ 'hRS ipadPQete0eaJQ!?Iд>*q`%`0d\;IEi Vm)f,V>ڬ od"pV@@c<5@hJ1m @-@ 1!1`f}D|4*K0]kXD!ۓĵF  `q~H)z7itNɣ.rgsw #tm=ECM,wE/1/9}!@:5_FQY,+p DMrPdƄtqI)0a֦B-fp l !ndpe?Ï1Ҡ(c&Ħܴx.Ww 1 jA,vuy@*(`t/z[\7hJh-1a AgG\_^A@@cf  Z-,z/M:H@ yzq>HaV{xH۲& KX6 S`p:7 zvcr Hq5-fhs^jW8N*`9$Yp `APe}"8+RkF.j<x"#><^C1͊#xz 8ɴyI xFH́!Y#"nBfq '1(On0Xs6X&9#[HR8V P\;I ġb4(\) .b.c$a2<$΍W]T2WS(BN1|DCQQ{%H0'6$ɩNsl9M$B?BXێ:PTc˕Tk@+[sSzD*ҢHESD4-t;`>ȃt4*iHPdEaY 8Œk*2T@B0YE{'R"Or174gF8;B"6."?H #X4+0B<%wUz*HHS [\"5ti:@]W=r=+xې0p[ ]*ա`2SO=ÌpS P5qS">#6AmjT5ͮ'5/U Z*: " ps?@ y3\6p*͕1* |(XepM Ș k\ؿ r02 3|Ʃpϓ`I}rzDip]nT ݏZOpk+]bX^p%'KHnw orj"iFfh\d`Y`SpA xk$>$j,WCGK~{VpYʂo쪂pzCܢ‡89#z=4_(|K!Br!(`x c]Kꉄ7giĮZ\N\5jd5Cqy˻v7 Ԅ/ ܣ(;@Y$~@Ow_A,)hqtȕkx 9vY記/n{kϪ%Pu(~bO oVkU>VirG$}^t{Ks[\k"9(9I%9 'c._*,H qa ח +sn|O w a U&y5PT$vEDB)$uF47r6J7NRW`kN~.VQtU v<̰q'WS(1(jqd(G#3xpc @yhGpQwv@mJǀ55FNu Bass>ZUB_\HEw,HtAK6^w*$5=6 2!ru"+'"kQ5sD$e!~;m58{~@kj\c qHΐGc^"0(brh 5I)yőau b9"{x>`=VyY[ITti[t$f+cɕW3zcXB Y+A{e_zi&7YD@c{hroLYH(tX69vEE7oLdơBujo19'Т{KW"IH鍊]x#Pw\;ObF bpz➊4Z#MY dCg=rb $ yXCCT)jHq UDJ]bhɇuYfi"Wٜ_ HX͐cc7bp2*|~H(&oPIB uuvB YD )<EZG zDdp-ƕА4cdjS 2ްJ`zYPqIk1Z3(%{Lj$ 250ٷAC&D2G'sHe Wy''l 9 AaqixxO):,Ɵn5XJ%cCtA!uR(Wq*zQ|Zƛ̚qz@gCpaKUTL ʃE)4J*c!LԚb D {Rq[z]Q p8'6Rc\gGUH !v_wAuCz-b@MpHLEf ӺձizyM&5^UFnh[i|%1 Kk c0%B;6'-pS1 CkfShw/8ۺ!hPAetu9JmCś^b>ug%ta/Xqtɢ'{Rב ;d"S=ney%+9Ắ xPA'LYCTDĖeke4t,Mᅂ&{7~o4Y=vU~􀩫I|Z0}Z[! Z˺qVì{& kbc+[هC&$ULy"D47}A.sCE*4$WNg.2Jb_彥(;a{dQkfyIy|Ndx3*׊Ihp=4.VZ)bB]H ^!v2]0\=kBcQ's5%h_joɑuUJYñBx#j~{ǭf ȁ\!YE`W2&&(Ȑ,j,wvd豫7\[5lq-ʏghZX~1 FtjUq,*6:9;)XO,,\> H&9HUsE}[xQTe;]h˔ӕ<5'͹|iWrK ԔLIM߼t 1Qg'ĺ]U! L{5\nn6F|| ȉBm)Y}_\mOdE*(b?ӡ&O,~ĥ ˆRӐFjә]DKth\-3]ĕ{icY۵E'hFp;7{]DkS#!Fepn^%ӏB= cn,~p`XۀLtDL-~VnL));OC~UΛ-?4M.]Cc".O-o4YaZ`+y=Ý_ o8ԞTd8u>BK<ԩ^!OFTB~ /*ow/4.,I@ t?;>+Mw3ȍKou0s/BQ/ZݎN̓zxZVR_:vOJয͝_,D_CAv^Ae_6ִG :[./ 'Qo_pt/h컾[qfZU[O<u5@ yŢBR0.M1 <IRe\TByELv ?w4kon)0"c("#3`)b`t4p ab/@HJBa-LN쀶-YvK/K iC0tтHu#5L!l4Ç @IXh %,0 bDpqO(@Y>fL8 QxגJ}!vb -D D(UEv$ XH1ũ[/*Qm)j ‚s:pApO ~-r d0 l-",'p8(_a"V\1`Vron0Ɵ8X1*MhLR/1KH]PD2tWkbz>'2uoc;@’@,AA>A8 +yj$p`8؂a-:T* $` %8BK2A #A)"E ( 0 o,/ģl(vT+਍8+0B@N@, ezRD,B5+(#PcFC*X;C@@d?Ap.\;F.E7%(Bk=RM56@Ȕ& ԫ@v$)PPMӔ 슲8kߦj آ"+:+5 Uq_;A_p4!2 q? (jC"3᪺~T``= /hFV\smU:PU~Vŷ^ʣH+HZ_LI K2!S00 K2@ u`t>$vªC+@*hBRWx`7Z "D"-$O2Xb{U+gـ 5G[cL[8"m 2, o[q)B+pWQ%pmj84'E:nRqyJB?dk+kS21)wp vBFВPJ H"-s.(A,A-W`p%?PXU 7MNr\@#41+\1 E#Fc">AL'*7 (WS BU+AlQRb;LHJHZ!p,et98.vs@h!E Dl:(LXxm`t0Z>dBG j %ՆxZjj:Q.q|P[7@'9źoDrH"`HlE5UBю҈T_hs dBdD,'L4qSY$$MƓ ;4s/zc*UI2M<\ EVR>vWE(rJTzEMyd#oF.w*S7%H^P4@ 1Rp)N|#%DTl"-URnN5Xe/,/=l Vq\VhY #  ȝ4XWjgwL(j)|L5HCT&U̔kbȪN{Z=f3,$YEӵ)/-fk\>ѕt[]B7<F'r_a#ɷ rJJU,QU*]Fpٿ UV吻C Rlr_Ms?j׀ik 4="]}6UIe:.zc K#{B֓cz"j.[v[QL7 yy=Tci.K*W7@YdZb;߹%H嶙5 Y + r*uGf0fcɦRu1{#Icį閏Wl"f/u6,&x&PP.ԇ5,/0B4@ wi,) Gf>pgu$&p@CoBFP`!AV 06P)B|om 0 e4A0.$ppqA#20 IʠpUD!.0 P"/M, Td91@*QP :-1cQdw{чhN,|Y".o1 QCq)@5qQ11؂!,i:!"@p(ÀR (8L&lvj*7,;i؊~;f84Cn}~`XrSDcOx~OLV V  lB{\|kburFD Tttr_]QǺQZD οJԹ ģJidH^W 4~ RAS%u [Jx4*sBO)05Ms?7 _?K=H&|4 BܺAy&ݙ6ȵpm0'(2 7AbƨjčĠb 䑂DUk̹縝ImlnQ@P ( Dvl{}T1L%ؠ2+S{^YA$ L%@.dEHL&:PHE~H\ܬ0{Al)a nB,4d:t bVТ dp;S\@B.]2f b,~Y#SIURu#U l8Z tVt}&sdSu3%u3L!/SNL˖ YF(XF@6*؛-5S j3jt&)"QһIL̰W0`@RNQ ;manpages-zh-1.6.3.3/DOCS/manpages-zh.png000066400000000000000000000150671327105066500175620ustar00rootroot00000000000000PNG  IHDRcܣsBIT|d pHYs+tEXtSoftwarewww.inkscape.org<IDATxoui;n, -Q`%6(S60o&4 1X- X#Z8(ucnXuLvlQuι{x玟kj7ỳV8ڵkW3,Xz衦gA˖-={4=NɅ^X>`38͝`=L@0A=L@0A=L@0A=L@0A=L@0A=L@0A=L@0A=L@0A=L@0A=L@0A=L@0A=iz@'߿n喦gAhz@GG?jz'){GmzI)骪V#=L@0A=L@0A=L@0A=L@0A=L@0A=L@0A=L@0A=L@0A=L@0A=L@0A=L@0A=L@0A=L@0A=L@0A=L@0A=L@0A=k0޽4ճnݺ7Lk>`x z& ` z& ` z& ` z& ` z& ` z& ` z& ` z& ` z& ` z& ` z& ` z& X׻V#^x4UUBy z& ` z& ` z& ` z& ` z& ` z& ` z& XO@olzp:x`=MI1-~xg;vz @0A=L@0A=L@0A=L@0A=L@0A=L@0A=L@0A=L@0A=L@0A=L@0A=L@0A=L@0A=몪V#&ۜ9siСC5:: 2` L@0A=L@0A=L@0A=L@0A=L@0A=L@0A=L@}CMoX{izl5=:vmٲ+7L@0A=L@0A=L@0A=L@0A=L@0A=L@0A=L@0A=L@0A=L@0A=L@0A=L@0A=L@0A.V#SWhz*Ar=L@0A=L@0A=L@0A=L@0A=L@0A=_oz@z盞$ {ަgDP?x3d^` z& ` z& ` z& ` z& ` z& ` z& ` z& ` z& ` z& ` z& ` z& ` zUUG:쳛СC/6=I?y z& ` z& ` z& ` z& ` z& ` z& ` z& ` z& ` z& ` z& XO& / i!6/Zxq3zx≦gL ^` z& ` z& ` z& ` z& ` z& ` z& ` z& ` z& ` z& ` z& ` z& ` zUUGLD___͝;LhMb DL@0A=L@0A=L@0A=L@0A=L@0A=L@0A=L@0A=L@0A=L@0A=L@0A=L@0A=L@0A=L@0A=L@0A=L@0A=L@0A=L@0A=L@0A=L@0A=L@0A=L@0A=L@~MoB׍7X_~I={tt7Q{=_ 0ӵqfٿtGUmvvŊ~/FGG[k֬iq'x266vpںuk=hѢS~Μ9sjƍuwVww)=;G>ڴiSOV^]UU'kL'Cаw;~xJbV^]+W0=@V^}ooolٲ5׿FFFj֬Yu9Sgy ?n?Ox;t&ҟr'=S?Old\~nhh6o\/jΝ}}}uW>Z|yuuu[jڵ`:jO:L/}iܟ{ܹs3Oj ߺkOyW\qEg9|3o޼qNqiw.X@=zh몫j|񂾝WVOOτ`s=Ϲq9? 0:묺ꬳj 6Զm:jj۷>׾ 9ݻwG?jZ~D qtnq?5{ww[={˖->ç_8s:ߡD_~y}sk{ZjU\5ZdI O\~fͪ.hҞ0]zI2{ڼy뷿mWM۷ҥKkdddR;j׮]~~>`:[owmW.|[nKK/4%_g?ٸ_|< W]uU}m{+__j˗OB;v|= 8E}}}u]wguSO=UScS|D};ߩE'n\_ƽ?; 8W_}up m>\''3g{/^KLPs=3kΝ\uѶ=mܸ.kÆ \4={%=,_VX^O|uرƚEs=kݻ;3M7֭[kӦM\L&NªUjٲem 7PV= z[R~YfMݻC@JyڲeKW8!gjҥmM7EOu,\֯_?gnڿzqq~fӦMwp7\W\qE{7E=@]tQ[}ժO}Su&6o\m?aÆ/UZ8/ŋ?/~=x{3n;vVZU\'^e֬Yy:3~n۷wp'^_z]|mw9N֮]ȑ#r:|pW=@U͞=nu`WUo}'fdɒZfMGW6o޼ڴiSuuu*8qz[7M}{"89ZreCժUرc\'G39Swy縟Yvm=Z#iƍuy絽G"tڊ+k{Ѻkɒ%466V۷o>=0aÆq?]{og˾} .3r(wuW͟?0i=0,] 0=L@j5=S.\:rHٳ7z{{ڵZ>]ժ]vMz& ` z& ` z& ` z& ` z& ` z& ` z& ` z& Sv@/uIENDB`manpages-zh-1.6.3.3/DOCS/manpages-zh.svg000066400000000000000000000110231327105066500175610ustar00rootroot00000000000000 image/svg+xml z h manpages-zh-1.6.3.3/INSTALL000066400000000000000000000366101327105066500151400ustar00rootroot00000000000000Installation Instructions ************************* Copyright (C) 1994-1996, 1999-2002, 2004-2013 Free Software Foundation, Inc. Copying and distribution of this file, with or without modification, are permitted in any medium without royalty provided the copyright notice and this notice are preserved. This file is offered as-is, without warranty of any kind. Basic Installation ================== Briefly, the shell command `./configure && make && make install' should configure, build, and install this package. The following more-detailed instructions are generic; see the `README' file for instructions specific to this package. Some packages provide this `INSTALL' file but do not implement all of the features documented below. The lack of an optional feature in a given package is not necessarily a bug. More recommendations for GNU packages can be found in *note Makefile Conventions: (standards)Makefile Conventions. The `configure' shell script attempts to guess correct values for various system-dependent variables used during compilation. It uses those values to create a `Makefile' in each directory of the package. It may also create one or more `.h' files containing system-dependent definitions. Finally, it creates a shell script `config.status' that you can run in the future to recreate the current configuration, and a file `config.log' containing compiler output (useful mainly for debugging `configure'). It can also use an optional file (typically called `config.cache' and enabled with `--cache-file=config.cache' or simply `-C') that saves the results of its tests to speed up reconfiguring. Caching is disabled by default to prevent problems with accidental use of stale cache files. If you need to do unusual things to compile the package, please try to figure out how `configure' could check whether to do them, and mail diffs or instructions to the address given in the `README' so they can be considered for the next release. If you are using the cache, and at some point `config.cache' contains results you don't want to keep, you may remove or edit it. The file `configure.ac' (or `configure.in') is used to create `configure' by a program called `autoconf'. You need `configure.ac' if you want to change it or regenerate `configure' using a newer version of `autoconf'. The simplest way to compile this package is: 1. `cd' to the directory containing the package's source code and type `./configure' to configure the package for your system. Running `configure' might take a while. While running, it prints some messages telling which features it is checking for. 2. Type `make' to compile the package. 3. Optionally, type `make check' to run any self-tests that come with the package, generally using the just-built uninstalled binaries. 4. Type `make install' to install the programs and any data files and documentation. When installing into a prefix owned by root, it is recommended that the package be configured and built as a regular user, and only the `make install' phase executed with root privileges. 5. Optionally, type `make installcheck' to repeat any self-tests, but this time using the binaries in their final installed location. This target does not install anything. Running this target as a regular user, particularly if the prior `make install' required root privileges, verifies that the installation completed correctly. 6. You can remove the program binaries and object files from the source code directory by typing `make clean'. To also remove the files that `configure' created (so you can compile the package for a different kind of computer), type `make distclean'. There is also a `make maintainer-clean' target, but that is intended mainly for the package's developers. If you use it, you may have to get all sorts of other programs in order to regenerate files that came with the distribution. 7. Often, you can also type `make uninstall' to remove the installed files again. In practice, not all packages have tested that uninstallation works correctly, even though it is required by the GNU Coding Standards. 8. Some packages, particularly those that use Automake, provide `make distcheck', which can by used by developers to test that all other targets like `make install' and `make uninstall' work correctly. This target is generally not run by end users. Compilers and Options ===================== Some systems require unusual options for compilation or linking that the `configure' script does not know about. Run `./configure --help' for details on some of the pertinent environment variables. You can give `configure' initial values for configuration parameters by setting variables in the command line or in the environment. Here is an example: ./configure CC=c99 CFLAGS=-g LIBS=-lposix *Note Defining Variables::, for more details. Compiling For Multiple Architectures ==================================== You can compile the package for more than one kind of computer at the same time, by placing the object files for each architecture in their own directory. To do this, you can use GNU `make'. `cd' to the directory where you want the object files and executables to go and run the `configure' script. `configure' automatically checks for the source code in the directory that `configure' is in and in `..'. This is known as a "VPATH" build. With a non-GNU `make', it is safer to compile the package for one architecture at a time in the source code directory. After you have installed the package for one architecture, use `make distclean' before reconfiguring for another architecture. On MacOS X 10.5 and later systems, you can create libraries and executables that work on multiple system types--known as "fat" or "universal" binaries--by specifying multiple `-arch' options to the compiler but only a single `-arch' option to the preprocessor. Like this: ./configure CC="gcc -arch i386 -arch x86_64 -arch ppc -arch ppc64" \ CXX="g++ -arch i386 -arch x86_64 -arch ppc -arch ppc64" \ CPP="gcc -E" CXXCPP="g++ -E" This is not guaranteed to produce working output in all cases, you may have to build one architecture at a time and combine the results using the `lipo' tool if you have problems. Installation Names ================== By default, `make install' installs the package's commands under `/usr/local/bin', include files under `/usr/local/include', etc. You can specify an installation prefix other than `/usr/local' by giving `configure' the option `--prefix=PREFIX', where PREFIX must be an absolute file name. You can specify separate installation prefixes for architecture-specific files and architecture-independent files. If you pass the option `--exec-prefix=PREFIX' to `configure', the package uses PREFIX as the prefix for installing programs and libraries. Documentation and other data files still use the regular prefix. In addition, if you use an unusual directory layout you can give options like `--bindir=DIR' to specify different values for particular kinds of files. Run `configure --help' for a list of the directories you can set and what kinds of files go in them. In general, the default for these options is expressed in terms of `${prefix}', so that specifying just `--prefix' will affect all of the other directory specifications that were not explicitly provided. The most portable way to affect installation locations is to pass the correct locations to `configure'; however, many packages provide one or both of the following shortcuts of passing variable assignments to the `make install' command line to change installation locations without having to reconfigure or recompile. The first method involves providing an override variable for each affected directory. For example, `make install prefix=/alternate/directory' will choose an alternate location for all directory configuration variables that were expressed in terms of `${prefix}'. Any directories that were specified during `configure', but not in terms of `${prefix}', must each be overridden at install time for the entire installation to be relocated. The approach of makefile variable overrides for each directory variable is required by the GNU Coding Standards, and ideally causes no recompilation. However, some platforms have known limitations with the semantics of shared libraries that end up requiring recompilation when using this method, particularly noticeable in packages that use GNU Libtool. The second method involves providing the `DESTDIR' variable. For example, `make install DESTDIR=/alternate/directory' will prepend `/alternate/directory' before all installation names. The approach of `DESTDIR' overrides is not required by the GNU Coding Standards, and does not work on platforms that have drive letters. On the other hand, it does better at avoiding recompilation issues, and works well even when some directory options were not specified in terms of `${prefix}' at `configure' time. Optional Features ================= If the package supports it, you can cause programs to be installed with an extra prefix or suffix on their names by giving `configure' the option `--program-prefix=PREFIX' or `--program-suffix=SUFFIX'. Some packages pay attention to `--enable-FEATURE' options to `configure', where FEATURE indicates an optional part of the package. They may also pay attention to `--with-PACKAGE' options, where PACKAGE is something like `gnu-as' or `x' (for the X Window System). The `README' should mention any `--enable-' and `--with-' options that the package recognizes. For packages that use the X Window System, `configure' can usually find the X include and library files automatically, but if it doesn't, you can use the `configure' options `--x-includes=DIR' and `--x-libraries=DIR' to specify their locations. Some packages offer the ability to configure how verbose the execution of `make' will be. For these packages, running `./configure --enable-silent-rules' sets the default to minimal output, which can be overridden with `make V=1'; while running `./configure --disable-silent-rules' sets the default to verbose, which can be overridden with `make V=0'. Particular systems ================== On HP-UX, the default C compiler is not ANSI C compatible. If GNU CC is not installed, it is recommended to use the following options in order to use an ANSI C compiler: ./configure CC="cc -Ae -D_XOPEN_SOURCE=500" and if that doesn't work, install pre-built binaries of GCC for HP-UX. HP-UX `make' updates targets which have the same time stamps as their prerequisites, which makes it generally unusable when shipped generated files such as `configure' are involved. Use GNU `make' instead. On OSF/1 a.k.a. Tru64, some versions of the default C compiler cannot parse its `' header file. The option `-nodtk' can be used as a workaround. If GNU CC is not installed, it is therefore recommended to try ./configure CC="cc" and if that doesn't work, try ./configure CC="cc -nodtk" On Solaris, don't put `/usr/ucb' early in your `PATH'. This directory contains several dysfunctional programs; working variants of these programs are available in `/usr/bin'. So, if you need `/usr/ucb' in your `PATH', put it _after_ `/usr/bin'. On Haiku, software installed for all users goes in `/boot/common', not `/usr/local'. It is recommended to use the following options: ./configure --prefix=/boot/common Specifying the System Type ========================== There may be some features `configure' cannot figure out automatically, but needs to determine by the type of machine the package will run on. Usually, assuming the package is built to be run on the _same_ architectures, `configure' can figure that out, but if it prints a message saying it cannot guess the machine type, give it the `--build=TYPE' option. TYPE can either be a short name for the system type, such as `sun4', or a canonical name which has the form: CPU-COMPANY-SYSTEM where SYSTEM can have one of these forms: OS KERNEL-OS See the file `config.sub' for the possible values of each field. If `config.sub' isn't included in this package, then this package doesn't need to know the machine type. If you are _building_ compiler tools for cross-compiling, you should use the option `--target=TYPE' to select the type of system they will produce code for. If you want to _use_ a cross compiler, that generates code for a platform different from the build platform, you should specify the "host" platform (i.e., that on which the generated programs will eventually be run) with `--host=TYPE'. Sharing Defaults ================ If you want to set default values for `configure' scripts to share, you can create a site shell script called `config.site' that gives default values for variables like `CC', `cache_file', and `prefix'. `configure' looks for `PREFIX/share/config.site' if it exists, then `PREFIX/etc/config.site' if it exists. Or, you can set the `CONFIG_SITE' environment variable to the location of the site script. A warning: not all `configure' scripts look for a site script. Defining Variables ================== Variables not defined in a site shell script can be set in the environment passed to `configure'. However, some packages may run configure again during the build, and the customized values of these variables may be lost. In order to avoid this problem, you should set them in the `configure' command line, using `VAR=value'. For example: ./configure CC=/usr/local2/bin/gcc causes the specified `gcc' to be used as the C compiler (unless it is overridden in the site shell script). Unfortunately, this technique does not work for `CONFIG_SHELL' due to an Autoconf limitation. Until the limitation is lifted, you can use this workaround: CONFIG_SHELL=/bin/bash ./configure CONFIG_SHELL=/bin/bash `configure' Invocation ====================== `configure' recognizes the following options to control how it operates. `--help' `-h' Print a summary of all of the options to `configure', and exit. `--help=short' `--help=recursive' Print a summary of the options unique to this package's `configure', and exit. The `short' variant lists options used only in the top level, while the `recursive' variant lists options also present in any nested packages. `--version' `-V' Print the version of Autoconf used to generate the `configure' script, and exit. `--cache-file=FILE' Enable the cache: use and save the results of the tests in FILE, traditionally `config.cache'. FILE defaults to `/dev/null' to disable caching. `--config-cache' `-C' Alias for `--cache-file=config.cache'. `--quiet' `--silent' `-q' Do not print messages saying which checks are being made. To suppress all normal output, redirect it to `/dev/null' (any error messages will still be shown). `--srcdir=DIR' Look for the package's source code in directory DIR. Usually `configure' can determine that directory automatically. `--prefix=DIR' Use DIR as the installation prefix. *note Installation Names:: for more details, including other options available for fine-tuning the installation locations. `--no-create' `-n' Run the configure checks, but stop before creating any output files. `configure' also accepts some other, not widely useful, options. Run `configure --help' for more details. manpages-zh-1.6.3.3/Makefile.am000066400000000000000000000000311327105066500161270ustar00rootroot00000000000000SUBDIRS = DOCS src utils manpages-zh-1.6.3.3/NEWS000066400000000000000000000035061327105066500146040ustar00rootroot00000000000000manpages-zh Version 1.6.3.3 (2018-04-28) * Manual retranslation of wall(1). * Fix an outdated directory path in at(1). * Unify translation of sq(1) and unsq(1). Version 1.6.3.2 (2017-10-19) * Update for coreutils 8.28. * Fix a typo in bash(1). * Stop installing gcc(1). Version 1.6.3.1 (2017-04-13) * add some man pages from systemd 231. * various translations. * add a project logo into DOCS dir. Version 1.6.2 (2017-02-16) * document behaviour changes in coreutils 8.26. * various translations. * fix mdoc grammar mistakes. - see ChangeLog for detailed changes. Version 1.6.1 (2017-02-15) * various translations. * remove outdated tools. - see ChangeLog for detailed changes. Version 1.6.0 (2016-12-24) * major changes in build toolchain. 构建者请注意:软件构建改变了工具依赖: + python3 + opencc 1.x - perl - zh-autoconvert - iconv * no longer provide with option to build non-UTF8 pages. * cleanup and updates. + import a lot of translations of coreutils 8.26. - please view ChangeLog for detailed changes. Version 1.5.3 (2013-XX-XX) * update tar.1 Version 1.5.2 (2010-07-09) * remove git.1 Version 1.5.1 (2008-04-01) * remove .spec file * fix url in ChangeLog * fix typo bug in Makefile.am * remove .BS .BE from loadTk.3tk * fix section in man7/perl*.7 Version 1.5.1-rc3 (2008-03-13) * generate utf8 encoding manpage by default, you can use `--disable-utf8' to generate the origin gbk and big5 encoding manpage. * add --disable-zhcn and --disable-zhtw option for configure Version 1.5.1-rc2 (2008-03-01) * 使用 autotools 替换原来的 Makefile。 * 支持 make install 及 make dist。 Version 1.5.1-rc1 (2008-02-29) * 从 CMPP 项目中分支出本项目。 * 保证 Debian 打包时无警告。 * tcl 和 tk 的大部分内容改到 3tcl 及 3tk 节。 * 纯文档的内容改至 7 和 7tcl 节。 manpages-zh-1.6.3.3/README000077700000000000000000000000001327105066500162332README.mdustar00rootroot00000000000000manpages-zh-1.6.3.3/README.md000066400000000000000000000210741327105066500153640ustar00rootroot00000000000000# 中文 man 手册页计划 "manpages-zh" 中文 man 手册页 | Chinese Manual Pages ## 简介 本项目对历史上存留下来的中文手册页进行整理、维护与翻新, 并从 2016 年末开始作为某些 Linux 发行版中`manpages-zh`软件包的上游。 ### 收录准则 本项目欢迎各类贡献,尤其欢迎各种软件最新版本手册页的中文翻译。 由于需要收录于 Linux 发行版中, 故历史存留的过时 BSD 手册页将从新版本中移除,敬请谅解。 您仍然可以在发布历史中找到过往的手册页。 ### 授权 本项目延续历史上的授权,使用 GFDL-1.2+ 发布,且为了符合 DFSG(DFSG-Compatible)而不包含不可变章节。 请查看 COPYING 文件了解具体授权内容。 #### 历史文档的签名问题 所有 CMPP 文档均在文末附有签名。如果后续修订仅在原有文档基础上改进, 则签名内容须保留。若从头开始翻译(例如使用 `po4a`), 则新翻译文档无需保留原签名。 ## 安装与使用 ### 构建 构建依赖包括: * autotools (autoconf, automake) * python3 * opencc 1.x ### “编译”安装 ```bash autoreconf --install --force ./configure make make install # 需要超级用户权限 ``` ### 从 Linux 发行版安装 Debian / Ubuntu: ```bash sudo apt update sudo apt install manpages-zh ``` Arch Linux: ```bash pacman -Syu pacman -S man-pages-zh_cn man-pages-zh_tw ``` Red Hat / CentOS: ```bash yum update yum install man-pages-zh-CN ``` Fedora: ```bash dnf update dnf install man-pages-zh-CN ``` **注意**:RHEL/CentOS 6/7 及 Fedora 24 以前的软件源中提供的版本于原 i18n-zh 项目时期发布,本项目不提供正式支持。红帽系发行版未提供繁体/正体中文版本。 安装后,使用语言对应的 locale 运行 man 查阅手册页时会优先查阅翻译版本。 ### 使用 安装后,正常使用 `man` 命令即可。在您的系统设置为中文环境时, 如果有对应的中文手册页,则该手册页将显示中文版本。 为了确保您的阅览体验最佳,请保证您系统上的 groff 为最新版本(1.22.3,可能的话请使用尚未发布的 1.22.4)。 旧版 groff 可能对中文没有良好支持。据用户反馈,macos 上无法正常显示中文字符。 您还可以在线阅读手册页内容:[点我前往](https://manpages.debian.org/unstable/manpages-zh/index.html)(在线渲染由 Debian 提供) ## 贡献项目 我们十分欢迎您的参与,为该项目出一份力。有以下两种方式可以参与到项目开发中: ### 提交已翻译手册页 如果您对某个手册页做了翻译或翻译的改进,您可以提交一份完整的手册页以便收录。 为保证您的手册页起到最大作用,请确认其内容可以使用 GFDL-1.2+ 兼容的授权协议, 并在向本项目提交前先与上游联系以确认能否被上游收录。 ### 参与翻译 本项目翻新的翻译工作在 `translation` 文件夹(子模块)下,使用标准 gettext PO 文档形式进行翻译。欢迎参与翻译工作,请访问[对应仓库](https://github.com/man-pages-zh/man-pages-translation) 以了解详情。 无论您以哪种方式贡献,请在提交的同时将您的名字加入贡献者列表(`AUTHORS`文件)中。 * * * ## 项目历史 ### CMPP 时期 项目最早发起时被称为“中国linux论坛中文手册页翻译计划”,主页为 cmpp.linuxforum.net(已失效)。CMPP项目发布 `manpages-zh` 项目 至 1.5 版本。 下面是 manpages-zh 1.5 版本的说明。其内容早已过时,仅供参考: ``` 这是来自CMPP 的中文手册页。请到 http://sf.linuxforum.net/projects/cmpp 来查看项目的近况,取得最新的文件 下载;到 http://www.linuxforum.net 的讨论版上来参与工作。 在安装之前,运行 locale 命令来查看自己的语言环境是什么,主要有影响的是 LC_ALL,LC_CTYPE 和 LANG 变量的值。如果语言环境是 zh_CN.UTF-8,可以运行 make u8 && make install-u8;如果语言环境是 GB2312,GBK 或者 GB18030,可 以运行 make gb && make install-gb;或者,可以下载对应的rpm 包来安装,同 样简单。对于 zh_CN.UTF-8,应当安装 man-pages-zh_CN-1.x,对于 GB2312,GBK ,GB18030,应当安装 man-pages-zh_CN-gb-1.x。请参阅讨论版上关于不同发行版 的系统与其默认中文编码的说明。 需要说明的是,同时安装所有 rpm 也是没有问题的,不会对系统造成什么影响, 因为它们只是简单的文本文件。在安装 man-pages-zh_CN-gb-1.x 之后,应当注销 退出,在重新登录之后才能继续使用手册页系统;而在安装适于 UTF-8 语言环境 的 man-pages-zh_CN-1.x 之后,不必注销就可以用了。使用方法也有不同,对于 GB* 语言环境,应当使用 cman 命令来查看,例如 ``cman ls'';对于 UTF-8 语 言环境的系统,例如 Fedora Core 2,只要使用 man 命令就可以了。 所有已翻译文档的版权属于其翻译者,或由翻译者指定。文档所有者没有另外说明 的话,此软件包中的所有文档可以在遵循GNU FDL 的情况下重新发布。其他的文件 如果没有另外的说明,则版权归于FSF,遵循GNU GPL 条款发布。建议翻译者放弃 版权。 如有任何问题,请用电子邮件和本计划的协调人 xuming联系 源代码目录结构的说明如下: debian:存放制作debian打包需要的所有内容 DOCS: 除了README 和README.GB, COPYING 之外的所有文档。 其中自动生成的00TRANSLATED 只有英文版本,其他文档都提供UTF-8 和GB 两种版本。 raw: 原始的man文档,为便于校对而设立。要注意更新 src: 存放着生成安装包需要的原始的man文档以及为GB包准备的cman配置文件。 从cman 的cvs中获得文档之后,应当将其转换为UTF-8 格式man文档,然 后再复制到本目录的相应位置。转换需要的程序是iconv 和dos2unix, html格式也应转换为man格式再进入本目录。 utils: 存放着各种有用的脚本。 UTF-8, GB 目录中的内容是在执行make 时自动生成的。 另外根目录还有Makefile 以及man-pages-zh_CN.spec 用来控制打包。 参与翻译的成员请注意DOCS 目录提供的词汇表,src/man9 提供的中文翻译的两个 例子,还有以下内容: 1) 译者请将自己的信息放在署名中 (默认情况下译者是维护人)。如果译者不想管 理自己的“产品”,也可以在署名中加以说明; 2) man手册中文版的署名的形式为 (一定要保留原英文作者名字,版权等信息,只 要将下面一段复制粘贴到文档最后即可,注意空格): .SH "[中文版维护人]" .B 姓名 .SH "[中文版最新更新]" .BR yyyy.mm.dd .SH "[中国linux论坛中文手册页翻译计划]" .BI http://cmpp.linuxforum.net ``` ### LCTT 社区的工作 LCTT 手册页翻译项目主页:https://github.com/LCTT/man-pages LCTT 的工作引入了 po4a,使得翻译工作能够转由 gettext 标准的 PO 文件进行, 大大降低了工作门槛。LCTT 下的手册页项目2014年以后不活跃。 LCTT 项目与本项目无直接关系,但对本项目的发展有借鉴意义。 ### 作为 i18n-zh 子项目 在 CMPP 计划停滞后,i18n-zh 项目对其进行分支并继续维护数年直至陷入停滞状态。 以下是项目 README 相关原文。内容已过时,仅供参考: ``` ** 本项目需要有人接手,想接手的人请提交 issue, 多谢 ** 本项目的主页为: http://code.google.com/p/manpages-zh/ 本项目(manpages-zh)为 i18n-zh 项目[1]的子项,从 CMPP (中文 Man Pages 计 划) 分支而来。 [1] http://code.google.com/p/i18n-zh CMPP 项目现在可能已经死亡,原主页(cmpp.linuxforum.net)已不能访问。 本项目的目的是维护 CMPP 遗留下的成果,并对其错误/漏洞进行修改。 本项目使用 git 进行管理, git 主页位于 http://github.com/lidaobing/manpages-zh/tree/master 本项目将继续延用 CMPP 的 GFDL 1.2 的授权方式。为与 DFSG 兼容,将不包含不 可变章节(Invariant Sections)。 本项目欢迎大家提交补丁。 ``` ### “基于列数的manpages手册” 2015年有一个接手开发的尝试,项目主页[位于GitHub上](https://github.com/manpages-zh/manpages_zh)。 项目探索了多种绕过 roff 源码生成手册页的工作方式,包括 markdown / docbook / po4a 等。 项目于当年陷入停滞。 * * * ## 参考站点 * https://manned.org/ * http://manpages.ubuntu.com/ * https://manpages.debian.org/ manpages-zh-1.6.3.3/TODO000066400000000000000000000001361327105066500145710ustar00rootroot00000000000000* Some pages are too old to be helpful. 部分内容过旧,需要志愿者参与更新。 manpages-zh-1.6.3.3/configure.ac000066400000000000000000000075051327105066500163760ustar00rootroot00000000000000# -*- Autoconf -*- # Process this file with autoconf to produce a configure script. AC_PREREQ([2.61]) AC_INIT([manpages-zh],[1.6.3.3],[https://github.com/man-pages-zh/manpages-zh/issues]) AC_CONFIG_SRCDIR([src/man1/basename.1]) AM_INIT_AUTOMAKE([subdir-objects]) AM_MAINTAINER_MODE AC_ARG_ENABLE([append_colophon], [AS_HELP_STRING([--disable-append-colophon], [do not append translation information to output man pages])], [case "${enableval}" in yes) append_colophon=true ;; no) append_colophon=false ;; *) AC_MSG_ERROR([bad value ${enableval} for --disable-append-colophon]) ;; esac], [append_colophon=true]) AM_CONDITIONAL([APPEND_COLOPHON], [test "x${append_colophon}" = "xtrue"]) # append-colophon require python3 to work properly AS_IF([test "x${append_colophon}" = "xtrue"], [AC_CHECK_PROG([HAVE_PYTHON3], [python3], [yes], [no]) AS_IF([test "x${HAVE_PYTHON3}" = "xno"], [AC_MSG_ERROR([you need to install python3 to build the package.])], []) ], []) AC_CHECK_PROG([HAVE_OPENCC], [opencc], [yes], [no]) AS_IF([test "x${HAVE_OPENCC}" = "xno"], [AC_MSG_ERROR([you need to install opencc to build the package.])], []) AC_ARG_ENABLE([zhtw], [AS_HELP_STRING([--disable-zhtw], [do not generate manpages for zh_TW])], [case "${enableval}" in yes) zhtw=true ;; no) zhtw=false ;; *) AC_MSG_ERROR([bad value ${enableval} for --enable-zhtw]) ;; esac], [zhtw=true] ) AS_IF([test "x${zhtw}" = "xtrue"], [zh_TW=zh_TW; AC_SUBST([zh_TW])], []) AC_ARG_ENABLE([zhcn], [AS_HELP_STRING([--disable-zhcn], [do not generate manpages for zh_CN])], [case "${enableval}" in yes) zhcn=true ;; no) zhcn=false ;; *) AC_MSG_ERROR([bad value ${enableval} for --enable-zhcn]) ;; esac], [zhcn=true] ) AS_IF([test "x${zhcn}" = "xtrue"], [zh_CN=zh_CN; AC_SUBST([zh_CN])], []) AS_IF([test "x${zhcn}" = "xfalse" && test "x${zhtw}" = "xfalse" ], [AC_MSG_ERROR([You cannot disable zh_CN and zh_TW pages together. Exiting...])], []) AC_CONFIG_FILES([Makefile DOCS/Makefile src/Makefile src/man1/Makefile src/man1/zh_CN/Makefile src/man1/zh_TW/Makefile src/man2/Makefile src/man2/zh_CN/Makefile src/man2/zh_TW/Makefile src/man3/Makefile src/man3/zh_CN/Makefile src/man3/zh_TW/Makefile src/man4/Makefile src/man4/zh_CN/Makefile src/man4/zh_TW/Makefile src/man5/Makefile src/man5/zh_CN/Makefile src/man5/zh_TW/Makefile src/man6/Makefile src/man6/zh_CN/Makefile src/man6/zh_TW/Makefile src/man7/Makefile src/man7/zh_CN/Makefile src/man7/zh_TW/Makefile src/man8/Makefile src/man8/zh_CN/Makefile src/man8/zh_TW/Makefile src/mann/Makefile src/mann/zh_CN/Makefile src/mann/zh_TW/Makefile utils/Makefile ]) AC_OUTPUT echo echo "manpages-zh configure summary" echo "=============================" echo "zh_CN : $zhcn" echo "zh_TW : $zhtw" echo "COLOPHON: $append_colophon" echo manpages-zh-1.6.3.3/src/000077500000000000000000000000001327105066500146705ustar00rootroot00000000000000manpages-zh-1.6.3.3/src/Makefile.am000066400000000000000000000000671327105066500167270ustar00rootroot00000000000000SUBDIRS = man1 man2 man3 man4 man5 man6 man7 man8 mann manpages-zh-1.6.3.3/src/man.macros000066400000000000000000000115301327105066500166510ustar00rootroot00000000000000'\" The definitions below are for supplemental macros used in Tcl/Tk '\" manual entries. '\" '\" .AP type name in/out ?indent? '\" Start paragraph describing an argument to a library procedure. '\" type is type of argument (int, etc.), in/out is either "in", "out", '\" or "in/out" to describe whether procedure reads or modifies arg, '\" and indent is equivalent to second arg of .IP (shouldn't ever be '\" needed; use .AS below instead) '\" '\" .AS ?type? ?name? '\" Give maximum sizes of arguments for setting tab stops. Type and '\" name are examples of largest possible arguments that will be passed '\" to .AP later. If args are omitted, default tab stops are used. '\" '\" .BS '\" Start box enclosure. From here until next .BE, everything will be '\" enclosed in one large box. '\" '\" .BE '\" End of box enclosure. '\" '\" .CS '\" Begin code excerpt. '\" '\" .CE '\" End code excerpt. '\" '\" .VS ?version? ?br? '\" Begin vertical sidebar, for use in marking newly-changed parts '\" of man pages. The first argument is ignored and used for recording '\" the version when the .VS was added, so that the sidebars can be '\" found and removed when they reach a certain age. If another argument '\" is present, then a line break is forced before starting the sidebar. '\" '\" .VE '\" End of vertical sidebar. '\" '\" .DS '\" Begin an indented unfilled display. '\" '\" .DE '\" End of indented unfilled display. '\" '\" .SO '\" Start of list of standard options for a Tk widget. The '\" options follow on successive lines, in four columns separated '\" by tabs. '\" '\" .SE '\" End of list of standard options for a Tk widget. '\" '\" .OP cmdName dbName dbClass '\" Start of description of a specific option. cmdName gives the '\" option's name as specified in the class command, dbName gives '\" the option's name in the option database, and dbClass gives '\" the option's class in the option database. '\" '\" .UL arg1 arg2 '\" Print arg1 underlined, then print arg2 normally. '\" '\" RCS: @(#) $Id: man.macros,v 1.1 2003/11/10 06:31:10 bbbush Exp $ '\" '\" # Set up traps and other miscellaneous stuff for Tcl/Tk man pages. .if t .wh -1.3i ^B .nr ^l \n(.l .ad b '\" # Start an argument description .de AP .ie !"\\$4"" .TP \\$4 .el \{\ . ie !"\\$2"" .TP \\n()Cu . el .TP 15 .\} .ta \\n()Au \\n()Bu .ie !"\\$3"" \{\ \&\\$1 \\fI\\$2\\fP (\\$3) .\".b .\} .el \{\ .br .ie !"\\$2"" \{\ \&\\$1 \\fI\\$2\\fP .\} .el \{\ \&\\fI\\$1\\fP .\} .\} .. '\" # define tabbing values for .AP .de AS .nr )A 10n .if !"\\$1"" .nr )A \\w'\\$1'u+3n .nr )B \\n()Au+15n .\" .if !"\\$2"" .nr )B \\w'\\$2'u+\\n()Au+3n .nr )C \\n()Bu+\\w'(in/out)'u+2n .. .AS Tcl_Interp Tcl_CreateInterp in/out '\" # BS - start boxed text '\" # ^y = starting y location '\" # ^b = 1 .de BS .br .mk ^y .nr ^b 1u .if n .nf .if n .ti 0 .if n \l'\\n(.lu\(ul' .if n .fi .. '\" # BE - end boxed text (draw box now) .de BE .nf .ti 0 .mk ^t .ie n \l'\\n(^lu\(ul' .el \{\ .\" Draw four-sided box normally, but don't draw top of .\" box if the box started on an earlier page. .ie !\\n(^b-1 \{\ \h'-1.5n'\L'|\\n(^yu-1v'\l'\\n(^lu+3n\(ul'\L'\\n(^tu+1v-\\n(^yu'\l'|0u-1.5n\(ul' .\} .el \}\ \h'-1.5n'\L'|\\n(^yu-1v'\h'\\n(^lu+3n'\L'\\n(^tu+1v-\\n(^yu'\l'|0u-1.5n\(ul' .\} .\} .fi .br .nr ^b 0 .. '\" # VS - start vertical sidebar '\" # ^Y = starting y location '\" # ^v = 1 (for troff; for nroff this doesn't matter) .de VS .if !"\\$2"" .br .mk ^Y .ie n 'mc \s12\(br\s0 .el .nr ^v 1u .. '\" # VE - end of vertical sidebar .de VE .ie n 'mc .el \{\ .ev 2 .nf .ti 0 .mk ^t \h'|\\n(^lu+3n'\L'|\\n(^Yu-1v\(bv'\v'\\n(^tu+1v-\\n(^Yu'\h'-|\\n(^lu+3n' .sp -1 .fi .ev .\} .nr ^v 0 .. '\" # Special macro to handle page bottom: finish off current '\" # box/sidebar if in box/sidebar mode, then invoked standard '\" # page bottom macro. .de ^B .ev 2 'ti 0 'nf .mk ^t .if \\n(^b \{\ .\" Draw three-sided box if this is the box's first page, .\" draw two sides but no top otherwise. .ie !\\n(^b-1 \h'-1.5n'\L'|\\n(^yu-1v'\l'\\n(^lu+3n\(ul'\L'\\n(^tu+1v-\\n(^yu'\h'|0u'\c .el \h'-1.5n'\L'|\\n(^yu-1v'\h'\\n(^lu+3n'\L'\\n(^tu+1v-\\n(^yu'\h'|0u'\c .\} .if \\n(^v \{\ .nr ^x \\n(^tu+1v-\\n(^Yu \kx\h'-\\nxu'\h'|\\n(^lu+3n'\ky\L'-\\n(^xu'\v'\\n(^xu'\h'|0u'\c .\} .bp 'fi .ev .if \\n(^b \{\ .mk ^y .nr ^b 2 .\} .if \\n(^v \{\ .mk ^Y .\} .. '\" # DS - begin display .de DS .RS .nf .sp .. '\" # DE - end display .de DE .fi .RE .sp .. '\" # SO - start of list of standard options .de SO .SH "STANDARD OPTIONS" .LP .nf .ta 4c 8c 12c .ft B .. '\" # SE - end of list of standard options .de SE .fi .ft R .LP See the \\fBoptions\\fR manual entry for details on the standard options. .. '\" # OP - start of full description for a single option .de OP .LP .nf .ta 4c Command-Line Name: \\fB\\$1\\fR Database Name: \\fB\\$2\\fR Database Class: \\fB\\$3\\fR .fi .IP .. '\" # CS - begin code excerpt .de CS .RS .nf .ta .25i .5i .75i 1i .. '\" # CE - end code excerpt .de CE .fi .RE .. .de UL \\$1\l'|0\(ul'\\$2 .. manpages-zh-1.6.3.3/src/man1/000077500000000000000000000000001327105066500155245ustar00rootroot00000000000000manpages-zh-1.6.3.3/src/man1/..1000066400000000000000000000000241327105066500157370ustar00rootroot00000000000000.so man1/builtins.1 manpages-zh-1.6.3.3/src/man1/Makefile.am000066400000000000000000000001551327105066500175610ustar00rootroot00000000000000include $(srcdir)/manpages SUBDIRS = $(zh_CN) $(zh_TW) DIST_SUBDIRS = zh_CN zh_TW EXTRA_DIST = $(MANPAGES) manpages-zh-1.6.3.3/src/man1/[.1000066400000000000000000000000201327105066500160100ustar00rootroot00000000000000.so man1/test.1 manpages-zh-1.6.3.3/src/man1/ab.1000066400000000000000000000136461327105066500162020ustar00rootroot00000000000000.\" XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX .\" DO NOT EDIT! Generated from XML source. .\" XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX .de Sh \" Subsection .br .if t .Sp .ne 5 .PP \fB\\$1\fR .PP .. .de Sp \" Vertical space (when we can't use .PP) .if t .sp .5v .if n .sp .. .de Ip \" List item .br .ie \\n(.$>=3 .ne \\$3 .el .ne 3 .IP "\\$1" \\$2 .. .TH "AB" 1 "2003-04-29" "Apache HTTP Server" "ab" .SH NAME ab \- Apache HTTP 服务器性能测试工具 .SH "总览 SYNOPSIS" .PP \fBab\fR [ -\fBA\fR \fIauth-username\fR:\fIpassword\fR ] [ -\fBc\fR \fIconcurrency\fR ] [ -\fBC\fR \fIcookie-name\fR=\fIvalue\fR ] [ -\fBd\fR ] [ -\fBe\fR \fIcsv-file\fR ] [ -\fBg\fR \fIgnuplot-file\fR ] [ -\fBh\fR ] [ -\fBH\fR \fIcustom-header\fR ] [ -\fBi\fR ] [ -\fBk\fR ] [ -\fBn\fR \fIrequests\fR ] [ -\fBp\fR \fIPOST-file\fR ] [ -\fBP\fR \fIproxy-auth-username\fR:\fIpassword\fR ] [ -\fBq\fR ] [ -\fBs\fR ] [ -\fBS\fR ] [ -\fBt\fR \fItimelimit\fR ] [ -\fBT\fR \fIcontent-type\fR ] [ -\fBv\fR \fIverbosity\fR] [ -\fBV\fR ] [ -\fBw\fR ] [ -\fBx\fR \fI-attributes\fR ] [ -\fBX\fR \fIproxy\fR[:\fIport\fR] ] [ -\fBy\fR \fI-attributes\fR ] [ -\fBz\fR \fI
-attributes\fR ] [http://]\fIhostname\fR[:\fIport\fR]/\fIpath\fR .SH "描述 SUMMARY" .PP .B ab 是一个测试你Apache http服务器的工具,你可以通过这个工具 指定一个单位时间内向apache发出的请求数量来看看你的Apache和机 器配合的性能如何 .SH "选项 OPTIONS" .TP -A \fIauth-username\fR:\fIpassword\fR 支持基本的验证证书,用户名和密码之间使用"冒号" : 分隔开,ab将以明文方式传送过去.不管服务器是不是需要 ,也就是说你的服务器需要支持401认证. .TP -c \fIconcurrency\fR 同时向服务器端发送的请求数目,默认状态下是一次 只执行一个http请求. .TP -C \fIcookie-name\fR=\fIvalue\fR Add a Cookie: line to the request\&. The argument is typically in the form of a \fIname\fR=\fIvalue\fR pair\&. This field is repeatable\&. .TP -d Do not display the "percentage served within XX [ms] table"\&. (legacy support)\&. .TP -e \fIcsv-file\fR Write a Comma separated value (CSV) file which contains for each percentage (from 1% to 100%) the time (in milli seconds) it took to serve that percentage of the requests\&. This is usually more useful than the 'gnuplot' file; as the results are already 'binned'\&. .TP -g \fIgnuplot-file\fR Write all measured values out as a 'gnuplot' or TSV (Tab separate values) file\&. This file can easily be imported into packages like Gnuplot, IDL, Mathematica, Igor or even Excell\&. The labels are on the first line of the file\&. .TP -h 显示使用说明 .TP -H \fIcustom-header\fR 向请求包追加附加的标题字串.此参数应该是有效的标题 行(header line)形式,通常使用冒号":"来分隔有效配对 (valid pair)例如 'Accept-Encoding: zip/zop;8 bit'; .TP -i 使用一个 http 头(HEAD) 来替换 GET方法.不可以掺入POST 方法 .TP -k 允许http KeepAlive ;也就是说执行多个请求在一个 http 会话当中,默认是不允许的也就是no KeepAlive啦;) .TP -n \fIrequests\fR 执行一次测试会话的时候所发出的请求数目,默认是执行一个单一的请求 当然了这样的测试结果也就没什么意义了 .TP -p \fIPOST-file\fR 测试程序也就是ab,将向Apache server发送带有HTTP POST 的请求. .TP -P \fIproxy-auth-username\fR:\fIpassword\fR 当需要通过代理测试一台HTTP 服务器的时候而你的代理 又需要用户名密码验证,这时你可以使用这个选项,同样 用户名与密码之间使用冒号":"分隔开,ab将之以明文的方式 发送出去,当然,前提是你的代理是处于407认证状态的 .TP -q When processing more than 150 requests, ab outputs a progress count on stderr every 10% or 100 requests or so\&. The -q flag will suppress these messages\&. .TP -s When compiled in (ab -h will show you) use the SSL protected https rather than the http protocol\&. This feature is experimental and \fIvery\fR rudimentary\&. You probably do not want to use it\&. .TP -S Do not display the median and standard deviation values, nor display the warning/error messages when the average and median are more than one or two times the standard deviation apart\&. And default to the min/avg/max values\&. (legacy support)\&. .TP -t \fItimelimit\fR 设置测试的时间的长短,使用这个选项ab将自动设置 测试请求会话数目为50000,然后以你设置的时间为 固定周期.默认状态下是没有时限的,也就是直到完成 你所设置的请求数目为止. .TP -T \fIcontent-type\fR 内容类型标头,使用在POST数据的时候. .TP -v \fIverbosity\fR 设置冗余级别,4级打印出每个请求标头的详细信息, 3级打印出回应代码(例如,404,200),2级打印出警告 信息和指示消息 .TP -V 显示版本号并且退出 .TP -w 打印输出结果到HTML表中. 默认的表是两列n行白底黑框 .TP -x \fI-attributes\fR 使用字串来描述表的属性,该属性字串应该插入到
.TP -X \fIproxy\fR[:\fIport\fR] Use a proxy server for the requests\&. .TP -y \fI-attributes\fR 用于生成html表格每行的属性名 () .TP -z \fI
-attributes\fR 用于生成html表格每列的属性名 () .SH "BUGS" .PP There are various statically declared buffers of fixed length\&. Combined with the lazy parsing of the command line arguments, the response headers from the server and other external inputs, this might bite you\&. .PP It does not implement HTTP/1\&.x fully; only accepts some 'expected' forms of responses\&. The rather heavy use of strstr(3) shows up top in profile, which might indicate a performance problem; \fIi\&.e\&.\fR, you would measure the ab performance rather than the server's\&. .SH "参见 SEE ALSO" httpd(8) .SH "[中文版维护人]" .B trcbilg .SH "[中文版最新更新]" .BR 2003.11.22 .SH "《中国linux论坛man手册翻译计划》:" .BI http://cmpp.linuxforum.net manpages-zh-1.6.3.3/src/man1/ac.1000066400000000000000000000130711327105066500161730ustar00rootroot00000000000000.TH AC 1 "1995 October 31" .SH NAME ac \ - 输出用户连接时间 .SH 总览 .hy 0 .na .TP .B ac [ .B \-d | .B \-\-daily-totals ] [ .B \-y | .B \-\-print-year ] .br [ .B \-p | .B \-\-individual-totals ] [ .I people ] .br [ .B \-f | .B \-\-file .I filename ] [ .B \-a | .B \-\-all-days ] .br [ .B \-\-complain ] [ .B \-\-reboots ] [ .B \-\-supplants ] .br [ .B \-\-timewarps ] [ .B \-\-compatibility ] .br [ .B \-\-tw-leniency .I num ] [ .B \-\-tw-suspicious .I num ] .br [ .B \-z | .B \-\-print-zeros ] [ .B \-\-debug ] .br [ .B \-V | .B \-\-version ] [ .B \-h | .B \-\-help ] .ad b .hy 1 .SH 描述 基于当前的 /var/log/wtmp 文件中的登录和退出时间输出一个 关于连接时间(以小时为单位)的报告。并且还输出一个总计时间。 审计文件 /var/log/wtmp 由 init(8) 和 login(1) 维护。ac 和 login 均不生成 /var/log/wtmp 文件,如果审计文件不存在,则不 做审计工作。如果要开始审计,应生成一个长度为零的审计文件。 注意:文件 /var/log/wtmp 可能很快就变得非常大。你可能隔一段 时间就要裁减一下这个文件。 GNU ac 工作起来与 u*x ac 基本一样,但也在几个方面有小的改进。 你可能希望看到 GNU ac 和其他系统上的 ac 在输出上的不同。想得 到额外的信息,请使用命令 info accounting。 .fi .SH 选项 .TP .B \-d, \-\-daily-totals 为每天输出输出一个总计时间,而不是在结尾输出一大的总计。输出 可能象下面这样: Jul 3 total 1.17 Jul 4 total 2.10 Jul 5 total 8.23 Jul 6 total 2.10 Jul 7 total 0.30 .TP .B \-p, \-\-individual-totals 为每个用户输出总计时间,并在最后追加一个所有用户的总计时间的 累计值。输出可能象下面这样: bob 8.06 goff 0.60 maley 7.37 root 0.12 total 16.15 .TP .I [用户列表] 输出的是在用户列表中包括的所有用户的连接时间的总计和值。 用户列表由空格分隔,其中不允许有通配符。 .TP .BI "\-f, \-\-file " filename 从指定文件而不是系统的 /var/log/wtmp 文件中读取记帐信息。 .TP .B \-\-complain .nf 当 /var/log/wtmp 存在着问题(时间扭曲,丢失记录, 或其他任何问题),输出一个适当的错误信息。 .fi .TP .B \-\-reboots .nf 重新引导(reboot)记录不是在系统重新引导时写的,而是 在系统重新启动(restart)时写的。所以不可能知道重新引导 的精确的发生时间。用户在系统重新引导时可能已经在系统 上登录了,许多 ac 依据用户(的要求)自动的统计在登录与重 新引导记录之间的时间(尽管所有的这些时间不应是问题,但 系统关机很长的时间时可能就是了)。如果你打算统计这个时 间,就应包括此选项。 *要求对 vanilla ac 的兼容性,就要包含此选项* .fi .TP .B \-\-supplants .nf 有时,注销记录没有写出明确的终端,因而 最近的用户的自然增长的时间就不能被计算。如果你打算 包括在一个终端上的从用户登录到下一次登录的时间(尽管 可能是不正确的),就应包括此选项。 *要求对 vanilla ac 的兼容性,就要包含此选项* .fi .TP .B \-\-timewarps .nf 一些时候,在 @WTMP_FILE_LOC 文件中的记录可能突然跳回 到了以前的时间而却没有时钟更改记录出现。在这种情况 发生时,不可能知道用户登录了多长时间。如果你打算依据 用户(的要求)统计从登录到时间扭曲之间的时间,就应包括 此选项。 *要求对 vanilla ac 的兼容性,就要包含此选项* .fi .TP .B \-\-compatibility 这是上面三种选项的速写,就不用敲三次键盘了。 .TP .B \-a, \-\-all-days .nf 如果我们在输出日总计时使用了此参数,则输出每天的记录, 而不是忽略掉没有登录活动的间隔日。没有此选项时,在这 些间隔日期间自然增长的时间被列在下一天即有登录活动的 那一天的底下。 .fi .TP .BI \-\-tw-leniency " num" .nf 设置时间扭曲的宽限为 num 秒。在 /var/log/wtmp 文件中 的记录可能轻微的乱了次序(最显著的是当两个登录发生在 一前一后的时期,第二个可能先写了记录)。缺省的值被设置 为60。如果程序注意到了这个问题,除非使用了--timewarps 选项,否则不把时间赋给用户。 .fi .TP .BI \-\-tw-suspicious " num" .nf 设置时间扭曲的不信任值为 num 秒. 结果 /var/log/wtmp 文 件中的两个记录超出了这个秒间隔数, 那么在 @WTMP_FILE_LOC 文件中一定存在问题 (或者你的机器已经一年没有使用了). 如果程序注意到了这个问题,除非使用了--timewarps选项, 否则不把时间赋给用户。 .fi .TP .B \-y, \-\-print-year 在显示日期的时候输出年份。 .TP .B \-z, \-\-print-zeros .nf 一个任何类别的总计(除了全部总计)是零,还是输出此总计。 缺省时禁止输出是零的总计。 .fi .TP .B \-\-debug 输出冗余的内部(调试)信息。 .TP .B \-V, \-\-version 在标准输出上输出版本号并退出。 .TP .B \-h, \-\-help 在标准输出上输出使用方法并退出。 .SH 相关文件 .I /var/log/wtmp 系统范围登录记录文件。进一步的细节参见 wtmp(5)。 .SH 著作者 .nf GNU 账户审计工具是由 Noel Cragg 编写。 手册页从 Susan Kleinmann 写的关于审计的 texinfo 页转换 而来。 .fi .SH 参见 .BR login (1), .BR wtmp (5), .BR init (8), .BR sa (8) .SH [中文版维护人] .nf .B mhss .SH [中文版最新更新] 2000/10/31 .SH 《中国Linux论坛man手册页翻译计划》 http://cmpp.linuxforum.net .fi manpages-zh-1.6.3.3/src/man1/access.1000066400000000000000000000034611327105066500170530ustar00rootroot00000000000000.TH ACCESS 1 "4 January 1998" "Kpathsea 3.3.1" .\"===================================================================== .if n .ds MP MetaPost .if t .ds MP MetaPost .if n .ds MF Metafont .if t .ds MF M\s-2ETAFONT\s0 .if t .ds TX \fRT\\h'-0.1667m'\\v'0.20v'E\\v'-0.20v'\\h'-0.125m'X\fP .if n .ds TX TeX .ie t .ds OX \fIT\v'+0.25m'E\v'-0.25m'X\fP\" for troff .el .ds OX TeX\" for nroff .\" the same but obliqued .\" BX definition must follow TX so BX can use TX .if t .ds BX \fRB\s-2IB\s0\fP\*(TX .if n .ds BX BibTeX .\" LX definition must follow TX so LX can use TX .if t .ds LX \fRL\\h'-0.36m'\\v'-0.15v'\s-2A\s0\\h'-0.15m'\\v'0.15v'\fP\*(TX .if n .ds LX LaTeX .\"===================================================================== .SH NAME(名称) access \- 确定文件是否可以存取访问 .SH SYNOPSIS(总览) .B access .I -mode .I file .\"===================================================================== .SH DESCRIPTION (描述) 如果 .I file 可以在特定模式下存取访问,那么成功退出. .I mode 为 .IR rwx 中的一个或多个字符, 这里的 .I r 表示可读, .I w 表示可写,而 .I x 表示可执行. .PP .B access 和 .B test 之间的区别在于 后者查看权限位,而前者使用 .BR access (2) 系统调用进行检查.当文件系统以只读方式被挂载时,两者就有区别了. .\"===================================================================== .SH OPTIONS(选项) .B access 接受以下附加的选项: .TP .B --help 打印帮助信息并退出. .TP .B --version 打印版本信息并退出. .\"===================================================================== .SH "SEE ALSO"(另见) .BR access (2) .SH "[中文版维护人]" .B riser .SH "[中文版最新更新]" .BR 2003.11.22 .SH "《中国linux论坛man手册页翻译计划》:" .BI http://cmpp.linuxforum.net manpages-zh-1.6.3.3/src/man1/ali.1000066400000000000000000000036131327105066500163560ustar00rootroot00000000000000.\" .\" THIS FILE HAS BEEN AUTOMATICALLY GENERATED. DO NOT EDIT. .\" .\" 包含mh宏文件 .\" .TH ALI 1 MH.6.8 [nmh-1.0.3] .SH NAME ali \- 列出邮件别名 .SH 总览 .in +.5i .ti -.5i ali \%[\-alias\ aliasfile] \%[\-list] \%[\-nolist] \%[\-normalize] .br \%[\-nonormalize] \%[\-user] \%[\-nouser] \%[aliases\ ...] .br \%[\-version] \%[\-help] .in -.5i .SH 描述 \fIAli\fR对每个给出的\fIaliases\fR查找已命名的邮件别名文件。 为那些\fIaliases\fR建立一份地址列表,并把列表写到标准输出上。 如未给出参数,fIali\fR会输出所有别名项目。 缺省情况下,当一个别名对应到多个地址时,这些地址是用逗号分 隔并尽可能少占行数。如果指定`\-list'选项的话,那么当一个地 址对应到多个地址时,每个地址将单独占用一行。 `\-user'开关说明让\fIali\fR反向执行处理:不列出每个给定别 名所对应的地址,相反,\fIali\fR将列出每个给定地址所对应的 别名来。如果给出`\-normalize'开关的话,\fIali\fR将追踪地 址的正式主机名。 程序会读取由配置项\*(lqAliasfile:\*(rq指定的文件以及任何由 `\-alias aliasfile'开关给出的附加别名。每个\fIalias\fR都会按 \fImh\-alias\fR\0(5)所描述的那样进行处理。 ^$HOME/\&.mh\(ruprofile~^用户配置 ^/etc/passwd~^用户列表 ^/etc/group~^组列表 .PP ^Path:~^用来决定用户的nmh目录 .PP ^Aliasfile:~^一个缺省别名文件 .PP mh\-alias(5) .PP `\-alias /etc/nmh/MailAliases' .PP `\-nolist' .PP `\-nonormalize' .PP `\-nouser' .PP None .PP 带有`\-nonormalize'的`\-user'选项并不是完全准确的,因为它 无法用站点的正式名称来替换那些本地昵称。 .SH "[中文版维护人]" .B meaculpa .SH "[中文版最新更新]" .BR 2001/03/26 第一版 .SH "《中国Linux论坛man手册页翻译计划》:" .BI http://cmpp.linuxforum.net manpages-zh-1.6.3.3/src/man1/alias.1000066400000000000000000000000241327105066500166730ustar00rootroot00000000000000.so man1/builtins.1 manpages-zh-1.6.3.3/src/man1/apm.1000066400000000000000000000057231327105066500163720ustar00rootroot00000000000000.\" apm.1 -- .\" Created: Wed Jan 10 14:54:03 1996 by r.faith@ieee.org .\" Revised: Sun Apr 21 16:37:43 1996 by r.faith@ieee.org .\" Copyright 1996 Rickard E. Faith (r.faith@ieee.org) .\" .\" Permission is granted to make and distribute verbatim copies of this .\" manual provided the copyright notice and this permission notice are .\" preserved on all copies. .\" .\" Permission is granted to copy and distribute modified versions of this .\" manual under the conditions for verbatim copying, provided that the .\" entire resulting derived work is distributed under the terms of a .\" permission notice identical to this one .\" .\" Since the Linux kernel and libraries are constantly changing, this .\" manual page may be incorrect or out-of-date. The author(s) assume no .\" responsibility for errors or omissions, or for damages resulting from .\" the use of the information contained herein. The author(s) may not .\" have taken the same level of care in the production of this manual, .\" which is licensed free of charge, as they might when working .\" professionally. .\" .\" Formatted or processed versions of this manual, if unaccompanied by .\" the source, must acknowledge the copyright and authors of this work. .\" .TH APM 1 "10 Jan 1996" "" "Linux Programmer's Manual" .SH NAME apm \- 查询高级电源管理(APM) BIOS .SH 总览 .B apm [ \- .I VvmMsSdin ] .SH 描述 .B apm 读取 .B /proc/apm 并用人能看懂的格式输出。因为提供了首要的 电池状态,这个命令在有兼容的 .B APM BIOS 的笔记本电脑上非常有用。 .B apm 允许使机器进入等待或挂起模式。 .SH 选项 .TP .B -V, --version 输出 .B apm 程序的版本并立即退出。 .TP .B -v, --verbose 输出关于 .B APM BIOS 的版本和 .B Linux APM 驱动程序的版本的信息。 .TP .B -m, --minutes 输出剩余的总共的分钟数而不是 .I hh:mm 格式。 .TP .B -s, --suspend 如果可能使机器进入挂起模式。 .TP .B -S, --standby 如果可能使机器进入等待模式。 .TP .B -i, --ignore 告诉系统在使用 .B AC (交流) 电源时忽略系统生成的 .B APM 挂起或等待事件。 对这样的用户有用:拥有膝上型电脑,在用电池为电源 时希望 .B APM 事件发生,在使用 .B AC (交流) 电源时不希望 .B APM 事件发生。 .TP .B -n, --noignore 告诉系统在使用 .B AC 电源时不忽略系统生成的 .B APM 挂起或等待事件。 这是缺省的模式;提供这个选项作为取消的前 面的 " .I apm -i " 调用的方法。 .SH 相关文件 .I /proc/apm .br .I linux/drivers/char/apm_bios.c .SH 著作者 本程序是由 Rik Faith (faith@cs.unc.edu)写的,在 GPL 条款下 可以自由发布。对这个程序绝对没有任何担保。当前的维护者是 Avery Pennarun (apenwarr@worldvisions.ca)。 .SH 参见 xapm(1), apmd(8) .SH [中文版维护人] mhss .SH [中文版最新更新] 2000/10/31 .SH 《中国 Linux 论坛 man 手册页翻译计划》: .BI http://cmpp.linuxforum.net manpages-zh-1.6.3.3/src/man1/ar.1000066400000000000000000000723141327105066500162170ustar00rootroot00000000000000.\" Copyright (c) 1991, 1992, 1993, 1995, 1998, 1999, 2000 Free Software Foundation .\" See section COPYING for conditions for redistribution .TH ar 1 "1999" "Free Software Foundation" "GNU 开发工具" .de BP .sp .ti \-.2i \(** .. .SH NAME ar \- 建立,修改档案或从档案中抽取成员。 .SH 总览 .hy 0 .na .BR ar " [\|" "-" "\|]"\c .I {dmpqrtx}[abcfilNoPsSuvV] \c [\|\c .I membername\c \&\|] \c [\|\c .I count\c \&\|] \c .I archive\c \& \c .I files\c \&.\|.\|. .ad b .hy 1 .SH 描述 GNU 组织的 .B ar 程序用于建立,修改档案或从档案中抽取成员。 一个 .I 档案 是一个包含了很多其它文件的单独的文件, 它采用的结构使得可以很容易恢复原来独立的文件 (称为档案的 .I 成员 )。 原始文件(成员)的内容、权限、时间属性、属主和组都 在档案中得到保留,在抽取时可以得到恢复。 .B ar 程序维护的档案成员可以拥有一定长度的名字;具体情况, 与你系统上的 .B ar 是怎样配置的有关。 为了与其它工具维护的档案格式兼容, 有可能对成员名字的长度有严格的限制, 如果确实是这样,通常要求采用 15 个字符 (典型的格式是 a.out),或者 16 个字符(典型的格式是 coff)。 .B ar 是一个二进制格式的工具,因为这一类档案多数都作为 保存公共程序的 .I 库文件 使用。 通过指定修饰符`\|\c .B s\c \|', \c .B ar\c \& 可以 建立 指向 档案中 可重定位 目标 模块 定义的 符号表的 索引, 一旦建立, 在\c .B ar\c \& 更新 其内容时 (通过`\|\c .B q\c \|' 执行 更新 操作) , 此索引 也会 得到 更新. 有这种 索引的 档案 可以 加速到 库文件的 连接过程, 并且 允许 库中的 例程 相互调用 而无须 考虑 它们 在档案中的 位置. 可以 使用`\|\c .B nm \-s\c \|' 或 `\|\c .B nm \-\-print\-armap\c \|' 列出 这种索引, 如果 档案 没有这类 索引, 可以 使用 另外 一个 称为\c .B ranlib\c \& 的\c .B ar\c \& 程序 增加 这种 索引. .B ar 至少需要两个参数才能运行: 一个指明执行的 .I 操作 (可能伴随有其它的 .I 修饰符 ),作用的档案名字。 多数 操作 可以 接受 更多的\c .I 文件\c \& 参数, 指明 操作的 详细 文件. .SH 选项 \c .B ar\c \& 允许你 在第一个 命令行 参数中 以任意 顺序 混合 指定 操作码\c .I p\c \& 和修饰符\c .I mod\c \& . 只要你 愿意, 也可以 用破折号 作为 命令行 第一个 参数的 开始. \c .I p\c \& 关键字 指明 要执行的 操作, 只能 指明为 如下 之一: .TP .B d 从档案中\c .I 删除\c \& 模块. 通过\c .I files\c \& 指明 要删除的 模块的 名称; 如果 没有 指出 要删除的 文件 名称, 档案不会 改变 任何 内容. 如果 给出了\c .B 'v\c \|' 修饰符,\c .B ar\c \& 会例出 它删除的 每一个 模块. .TP .B m 用此 操作 在档案中\c .I 移动\c \& 成员. 如果 某个 符号名 在档案的 多个 成员中 有定义, 那么 程序 怎样 连接 档案 文件 得到的 结果 可能是 不同的. 如果 没有为\c .B m\c \& 指定 修饰符, 由\c .I files\c \& 指出的 成员 将移动到 档案的\c .I 末尾\c \& ; 可以 通过 `\|\c .B a\c \|', `\|\c .B b\c \|' 或 `\|\c .B i\c \|' 等修饰符, 指定 成员 移动的 具体 位置. .TP .B p 在标准 输出上 \c .I 打印\c \& 档案中 指定的 成员. 如果 给出了`\|\c .B v\c \|' 修饰符, 在 打印 成员 内容 之前, 先打印 成员的 名字. 如果没有 指明\c .I files\c \& 参数, 档案中 所有的 成员 都会被 打印 出来. .TP .B q \c .I 快速 追加\c \&; 增加 \c .I files\c \& 到 \c .I archive\c \& 的末尾, 不进行 替换 检查. 修饰符 `\|\c .B a\c \|' `\|\c .B b\c \|' 和 `\|\c .B i\c \|'\c .I 不\c \& 影响此 操作, 新成员 始终 追加到 档案的 末尾处. 修饰符 `\|\c .B v\c \|' 可以使 \c .B ar\c \& 列出 它追加的 所有文件. 由于 本功能 是用于 快速操作, 即使 档案中 有 符号表 索引 也不 进行 更新; 可以 使用 `\|\c .B ar s\c \|' 或 \c .B ranlib\c \& 明确 要求 更新 这些索引. 在为快速 追加 重建 索引时,由于 有 太多 不同的 系统, 所以 GNU .B ar 采用 `\|\c .B q\c \|' 作为 `\|\c .B r\c \|'的一个 同义字. .TP .B r 把文件 \c .I files\c \& 插入 \c .I archive\c \& ( \c .I 替换 \c \&). 本操作与 `\|\c .B q\c \|' 是不同的, 如果 档案中 已有的 某个 成员与 插入 文件的 名称 相同, 此成员 将被删除. 如果 不存在 名称为 \c .I files\c \& 的文件, \c .B ar\c \& 显示 一个 错误 消息, 并且 保留 档案中 已有的 同名 成员. 缺省情况下, 新成员 增加到 挡案的 末尾; 可以 通过 使用 `\|\c .B a\c \|' `\|\c .B b\c \|' 或 `\|\c .B i\c \|' 等修饰符 指定 相对于 已有 成员的 位置. 通过 使用 `\|\c .B v\c \|' 修饰符 会为每个 插入的 文件 产生 一行 输出, 根据 输出中的 字符 `\|\c .B a\c \|' 或 `\|\c .B r\c \|' 可以 表明 该文件 是追加的 (没有 删除 以前的成员) 还是 替换的. .TP .B t 显示 一个 \c .I archive\c \& 档案 所包含 内容的 \c .I 列表 \c \&, 或 档案中的 由 \c .I files\c \& 指出的 文件 列表. 通常 只显示 成员的 名称, 如果 使用 `\|\c .B v\c \|' 修饰符, 可以 得到 成员的 权限, 时间属性, 属主, 组和 大小. 如果 没有 指出 \c .I files\c \&, 档案中的 所有 文件 都会 列出. 如果 档案中 (称为 `\|\c .B b.a\c \|') 有多个 同名 成员 (称为 `\|\c .B fie\c \|'), `\|\c .B ar t b.a fie\c \|' 仅仅 列出 第一个; 要看到 它们的 全部, 必须 要求 完整的 列表 \(em\&在本例中是 `\|\c .B ar t b.a\c \|'. .TP .B x 从档案中 \c .I 抽取 \c \& 成员 (名称为 \c .I files\c \&) . 如果 使用 `\|\c .B v\c \|' 修饰符, \c .B ar\c \& 会列出 它抽取的 每一个 文件的 名字. 如果没有给出 \c .I files\c \&, 抽取 档案中 所有的 文件. .PP 可以在 操作符 \c .I p\c \& 后紧随 一定数量的 修饰符 \c .I mod \c 以指明 操作的 各种 行为. .TP .B a 增加 文件到 档案中 已有 成员 \c .I 之后 \c \& , 如果 使用了 修饰符 \c .B a\c \&, 必须在 档案 名称 \c .I archive\c \& 之前 以 \c .I membername\c \& 参数的 形式 给出 档案中 已有 成员的 名字. .TP .B b 增加 文件到 档案中 已有 成员 \c .I 之前 \c \& , 如果 使用了 修饰符 \c .B b\c \&, 必须在 档案 名称 \c .I archive\c \& 之前 以 \c .I membername\c \& 参数的 形式 给出 档案中 已有 成员的 名字. (和修饰符 `\|\c .B i\c \|' 相同). .TP .B c \c .I 建立 \c \& 档案. 指定的 档案 \c .I archive\c \& 始终 会被建立, 如果 你要求 执行的是 更新, 通过 此修饰符 建立 档案时 会给出 一个 警告. .TP .B f 截短 档案成员的 名字. .B ar 通常 允许 任意 长度的 文件名, 但这会 导致 与某些 系统上的 .B ar 出现 兼容性 问题, 使用 .B f 修饰符 可以 在往档案中 追加 文件时 把名字 截短. .TP .B i 插入 文件到 档案中 已有 成员 \c .I 之前 \c \& , 如果 使用了 修饰符 \c .B i\c \&, 必须在 档案 名称 \c .I archive\c \& 之前 以 \c .I membername\c \& 参数的 形式 给出 档案中 已有 成员的 名字. (与修饰符 `\|\c .B b\c \|' 相同). .TP .B l 接受此修饰符, 但不起作用. .TP .B N 使用 .I count 参数. 本修饰符 用于 在档案中 有多个 同名 成员的 情况. 删除 或抽取 档案中 给定 名字的第 .I count 个实例. .TP .B o 抽取 成员时 保留 他们 \c .I 原始的 \c \& 时间属性. 如果 没有 此修饰符, 文件以抽取 的时间 作为 它的时间 属性. .TP .B P 匹配 档案中的 名字时 使用 完整的 路径名. .B ar 不能 建立 使用 完整 路径名的 档案 (这不符合 POSIX 标准), 但其它的 档案 工具 能够建立, 本选项 会使 .B ar 在抽取 由其它 工具 建立的 档案 文件时, 使用完整的 路径名 去匹配 档案中 成员的 名字. .TP .B s 即使 没有对 档案 进行 改变, 用本 修饰符 也可以 往档案中 写一个 目标 文件的 索引 或更新 已经 存在的 索引. 可以与 其它 操作 一起 使用 本修饰符, 也可以 单独使用. 对一个 档案 执行 `\|\c .B ar s\c \|' 与执行 `\|\c .B ranlib\c \|' 等价. .TP .B S 不生成 档案的 符号表. 这可以 加速 建立 大的档案 文件的 过程,但这样 建立的 档案 不能被 连接器 使用, 为建立 符号表, 在最后 执行 `\|\c .B ar\c \|' 时应该 不用 `\|\c .B S\c \|' 修饰符, 或者 对档案 执行 一次 `\|\c .B ranlib\c \|' . .TP .B u 通常\c .B ar r\c \&.\|.\|. 把所有 列出的 文件 插入到 档案中, 如果 希望 \c .I 仅仅 \c 插入比 档案中 已有 成员 更新的 文件时, 就应该 使用 此修饰符. `\|\c .B u\c \|' 修饰符 仅允许 与 `\|\c .B r\c \|' (替换) 操作 一起 使用. 某些 情况下, 由于 用 `\|\c .B q\c \|' 操作 比较 文件的 时间属性 会失去 速度上的 优势, 所以 不允许 执行 `\|\c .B qu\c \|' 组合操作. .TP .B v 使用本修饰符可以进行 .I 冗余的 操作。附加了此修饰符时,很多操作会显示 更多的消息,如处理的文件名等。 .TP .B V 显示 .BR ar 的版本号。 .PP .SH "参考" .B info\c \& 中的 .RB "`\|" binutils "\|'" 条目; .I The GNU Binary Utilities\c , Roland H. Pesch (1991年10月). .BR nm ( 1 )\c \&, .BR ranlib ( 1 )\c \&. .SH 版权 Copyright (c) 1991, 1992, 1993, 1995, 1998, 1999, 2000 Free Software Foundation, Inc. .PP This document is distributed under the terms of the GNU Free Documentation License, version 1.1. That license is described in the sources for this manual page, but it is not displayed here in order to make this manual more consise. Copies of this license can also be obtained from: http://www.gnu.org/copyleft/. \" .SH GNU Free Documentation License \" Version 1.1, March 2000 \" Copyright (C) 2000 Free Software Foundation, Inc. \" 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA \" Everyone is permitted to copy and distribute verbatim \" copies of this license document, but changing it is \" not allowed. \" .PP \" 0. PREAMBLE \" .PP \" The purpose of this License is to make a manual, textbook, or other \" written document "free" in the sense of freedom: to assure everyone \" the effective freedom to copy and redistribute it, with or without \" modifying it, either commercially or noncommercially. Secondarily, \" this License preserves for the author and publisher a way to get \" credit for their work, while not being considered responsible for \" modifications made by others. \" .PP \" This License is a kind of "copyleft", which means that derivative \" works of the document must themselves be free in the same sense. It \" complements the GNU General Public License, which is a copyleft \" license designed for free software. \" .PP \" We have designed this License in order to use it for manuals for free \" software, because free software needs free documentation: a free \" program should come with manuals providing the same freedoms that the \" software does. But this License is not limited to software manuals; \" it can be used for any textual work, regardless of subject matter or \" whether it is published as a printed book. We recommend this License \" principally for works whose purpose is instruction or reference. \" .PP \" 1. APPLICABILITY AND DEFINITIONS \" .PP \" This License applies to any manual or other work that contains a \" notice placed by the copyright holder saying it can be distributed \" under the terms of this License. The "Document", below, refers to any \" such manual or work. Any member of the public is a licensee, and is \" addressed as "you". \" .PP \" A "Modified Version" of the Document means any work containing the \" Document or a portion of it, either copied verbatim, or with \" modifications and/or translated into another language. \" .PP \" A "Secondary Section" is a named appendix or a front-matter section of \" the Document that deals exclusively with the relationship of the \" publishers or authors of the Document to the Document's overall subject \" (or to related matters) and contains nothing that could fall directly \" within that overall subject. (For example, if the Document is in part a \" textbook of mathematics, a Secondary Section may not explain any \" mathematics.) The relationship could be a matter of historical \" connection with the subject or with related matters, or of legal, \" commercial, philosophical, ethical or political position regarding \" them. \" .PP \" The "Invariant Sections" are certain Secondary Sections whose titles \" are designated, as being those of Invariant Sections, in the notice \" that says that the Document is released under this License. \" .PP \" The "Cover Texts" are certain short passages of text that are listed, \" as Front-Cover Texts or Back-Cover Texts, in the notice that says that \" the Document is released under this License. \" .PP \" A "Transparent" copy of the Document means a machine-readable copy, \" represented in a format whose specification is available to the \" general public, whose contents can be viewed and edited directly and \" straightforwardly with generic text editors or (for images composed of \" pixels) generic paint programs or (for drawings) some widely available \" drawing editor, and that is suitable for input to text formatters or \" for automatic translation to a variety of formats suitable for input \" to text formatters. A copy made in an otherwise Transparent file \" format whose markup has been designed to thwart or discourage \" subsequent modification by readers is not Transparent. A copy that is \" not "Transparent" is called "Opaque". \" .PP \" Examples of suitable formats for Transparent copies include plain \" ASCII without markup, Texinfo input format, LaTeX input format, SGML \" or XML using a publicly available DTD, and standard-conforming simple \" HTML designed for human modification. Opaque formats include \" PostScript, PDF, proprietary formats that can be read and edited only \" by proprietary word processors, SGML or XML for which the DTD and/or \" processing tools are not generally available, and the \" machine-generated HTML produced by some word processors for output \" purposes only. \" .PP \" The "Title Page" means, for a printed book, the title page itself, \" plus such following pages as are needed to hold, legibly, the material \" this License requires to appear in the title page. For works in \" formats which do not have any title page as such, "Title Page" means \" the text near the most prominent appearance of the work's title, \" preceding the beginning of the body of the text. \" .PP \" 2. VERBATIM COPYING \" .PP \" You may copy and distribute the Document in any medium, either \" commercially or noncommercially, provided that this License, the \" copyright notices, and the license notice saying this License applies \" to the Document are reproduced in all copies, and that you add no other \" conditions whatsoever to those of this License. You may not use \" technical measures to obstruct or control the reading or further \" copying of the copies you make or distribute. However, you may accept \" compensation in exchange for copies. If you distribute a large enough \" number of copies you must also follow the conditions in section 3. \" .PP \" You may also lend copies, under the same conditions stated above, and \" you may publicly display copies. \" .PP \" 3. COPYING IN QUANTITY \" .PP \" If you publish printed copies of the Document numbering more than 100, \" and the Document's license notice requires Cover Texts, you must enclose \" the copies in covers that carry, clearly and legibly, all these Cover \" Texts: Front-Cover Texts on the front cover, and Back-Cover Texts on \" the back cover. Both covers must also clearly and legibly identify \" you as the publisher of these copies. The front cover must present \" the full title with all words of the title equally prominent and \" visible. You may add other material on the covers in addition. \" Copying with changes limited to the covers, as long as they preserve \" the title of the Document and satisfy these conditions, can be treated \" as verbatim copying in other respects. \" .PP \" If the required texts for either cover are too voluminous to fit \" legibly, you should put the first ones listed (as many as fit \" reasonably) on the actual cover, and continue the rest onto adjacent \" pages. \" .PP \" If you publish or distribute Opaque copies of the Document numbering \" more than 100, you must either include a machine-readable Transparent \" copy along with each Opaque copy, or state in or with each Opaque copy \" a publicly-accessible computer-network location containing a complete \" Transparent copy of the Document, free of added material, which the \" general network-using public has access to download anonymously at no \" charge using public-standard network protocols. If you use the latter \" option, you must take reasonably prudent steps, when you begin \" distribution of Opaque copies in quantity, to ensure that this \" Transparent copy will remain thus accessible at the stated location \" until at least one year after the last time you distribute an Opaque \" copy (directly or through your agents or retailers) of that edition to \" the public. \" .PP \" It is requested, but not required, that you contact the authors of the \" Document well before redistributing any large number of copies, to give \" them a chance to provide you with an updated version of the Document. \" .PP \" 4. MODIFICATIONS \" .PP \" You may copy and distribute a Modified Version of the Document under \" the conditions of sections 2 and 3 above, provided that you release \" the Modified Version under precisely this License, with the Modified \" Version filling the role of the Document, thus licensing distribution \" and modification of the Modified Version to whoever possesses a copy \" of it. In addition, you must do these things in the Modified Version: \" .PP \" A. Use in the Title Page (and on the covers, if any) a title distinct \" from that of the Document, and from those of previous versions \" (which should, if there were any, be listed in the History section \" of the Document). You may use the same title as a previous version \" if the original publisher of that version gives permission. \" .PP \" B. List on the Title Page, as authors, one or more persons or entities \" responsible for authorship of the modifications in the Modified \" Version, together with at least five of the principal authors of the \" Document (all of its principal authors, if it has less than five). \" .PP \" C. State on the Title page the name of the publisher of the \" Modified Version, as the publisher. \" .PP \" D. Preserve all the copyright notices of the Document. \" .PP \" E. Add an appropriate copyright notice for your modifications \" adjacent to the other copyright notices. \" .PP \" F. Include, immediately after the copyright notices, a license notice \" giving the public permission to use the Modified Version under the \" terms of this License, in the form shown in the Addendum below. \" Preserve in that license notice the full lists of Invariant Sections \" and required Cover Texts given in the Document's license notice. \" .PP \" H. Include an unaltered copy of this License. \" .PP \" I. Preserve the section entitled "History", and its title, and add to \" it an item stating at least the title, year, new authors, and \" publisher of the Modified Version as given on the Title Page. If \" there is no section entitled "History" in the Document, create one \" stating the title, year, authors, and publisher of the Document as \" given on its Title Page, then add an item describing the Modified \" Version as stated in the previous sentence. \" .PP \" J. Preserve the network location, if any, given in the Document for \" public access to a Transparent copy of the Document, and likewise \" the network locations given in the Document for previous versions \" it was based on. These may be placed in the "History" section. \" You may omit a network location for a work that was published at \" least four years before the Document itself, or if the original \" publisher of the version it refers to gives permission. \" .PP \" K. In any section entitled "Acknowledgements" or "Dedications", \" preserve the section's title, and preserve in the section all the \" substance and tone of each of the contributor acknowledgements \" and/or dedications given therein. \" .PP \" L. Preserve all the Invariant Sections of the Document, \" unaltered in their text and in their titles. Section numbers \" or the equivalent are not considered part of the section titles. \" .PP \" M. Delete any section entitled "Endorsements". Such a section \" may not be included in the Modified Version. \" .PP \" N. Do not retitle any existing section as "Endorsements" \" or to conflict in title with any Invariant Section. \" .PP \" If the Modified Version includes new front-matter sections or \" appendices that qualify as Secondary Sections and contain no material \" copied from the Document, you may at your option designate some or all \" of these sections as invariant. To do this, add their titles to the \" list of Invariant Sections in the Modified Version's license notice. \" These titles must be distinct from any other section titles. \" .PP \" You may add a section entitled "Endorsements", provided it contains \" nothing but endorsements of your Modified Version by various \" parties--for example, statements of peer review or that the text has \" been approved by an organization as the authoritative definition of a \" standard. \" .PP \" You may add a passage of up to five words as a Front-Cover Text, and a \" passage of up to 25 words as a Back-Cover Text, to the end of the list \" of Cover Texts in the Modified Version. Only one passage of \" Front-Cover Text and one of Back-Cover Text may be added by (or \" through arrangements made by) any one entity. If the Document already \" includes a cover text for the same cover, previously added by you or \" by arrangement made by the same entity you are acting on behalf of, \" you may not add another; but you may replace the old one, on explicit \" permission from the previous publisher that added the old one. \" .PP \" The author(s) and publisher(s) of the Document do not by this License \" give permission to use their names for publicity for or to assert or \" imply endorsement of any Modified Version. \" .PP \" 5. COMBINING DOCUMENTS \" .PP \" You may combine the Document with other documents released under this \" License, under the terms defined in section 4 above for modified \" versions, provided that you include in the combination all of the \" Invariant Sections of all of the original documents, unmodified, and \" list them all as Invariant Sections of your combined work in its \" license notice. \" .PP \" The combined work need only contain one copy of this License, and \" multiple identical Invariant Sections may be replaced with a single \" copy. If there are multiple Invariant Sections with the same name but \" different contents, make the title of each such section unique by \" adding at the end of it, in parentheses, the name of the original \" author or publisher of that section if known, or else a unique number. \" Make the same adjustment to the section titles in the list of \" Invariant Sections in the license notice of the combined work. \" .PP \" In the combination, you must combine any sections entitled "History" \" in the various original documents, forming one section entitled \" "History"; likewise combine any sections entitled "Acknowledgements", \" and any sections entitled "Dedications". You must delete all sections \" entitled "Endorsements." \" .PP \" 6. COLLECTIONS OF DOCUMENTS \" .PP \" You may make a collection consisting of the Document and other documents \" released under this License, and replace the individual copies of this \" License in the various documents with a single copy that is included in \" the collection, provided that you follow the rules of this License for \" verbatim copying of each of the documents in all other respects. \" .PP \" You may extract a single document from such a collection, and distribute \" it individually under this License, provided you insert a copy of this \" License into the extracted document, and follow this License in all \" other respects regarding verbatim copying of that document. \" .PP \" 7. AGGREGATION WITH INDEPENDENT WORKS \" .PP \" A compilation of the Document or its derivatives with other separate \" and independent documents or works, in or on a volume of a storage or \" distribution medium, does not as a whole count as a Modified Version \" of the Document, provided no compilation copyright is claimed for the \" compilation. Such a compilation is called an "aggregate", and this \" License does not apply to the other self-contained works thus compiled \" with the Document, on account of their being thus compiled, if they \" are not themselves derivative works of the Document. \" .PP \" If the Cover Text requirement of section 3 is applicable to these \" copies of the Document, then if the Document is less than one quarter \" of the entire aggregate, the Document's Cover Texts may be placed on \" covers that surround only the Document within the aggregate. \" Otherwise they must appear on covers around the whole aggregate. \" .PP \" 8. TRANSLATION \" .PP \" Translation is considered a kind of modification, so you may \" distribute translations of the Document under the terms of section 4. \" Replacing Invariant Sections with translations requires special \" permission from their copyright holders, but you may include \" translations of some or all Invariant Sections in addition to the \" original versions of these Invariant Sections. You may include a \" translation of this License provided that you also include the \" original English version of this License. In case of a disagreement \" between the translation and the original English version of this \" License, the original English version will prevail. \" .PP \" 9. TERMINATION \" .PP \" You may not copy, modify, sublicense, or distribute the Document except \" as expressly provided for under this License. Any other attempt to \" copy, modify, sublicense or distribute the Document is void, and will \" automatically terminate your rights under this License. However, \" parties who have received copies, or rights, from you under this \" License will not have their licenses terminated so long as such \" parties remain in full compliance. \" .PP \" 10. FUTURE REVISIONS OF THIS LICENSE \" .PP \" The Free Software Foundation may publish new, revised versions \" of the GNU Free Documentation License from time to time. Such new \" versions will be similar in spirit to the present version, but may \" differ in detail to address new problems or concerns. See \" http://www.gnu.org/copyleft/. \" .PP \" Each version of the License is given a distinguishing version number. \" If the Document specifies that a particular numbered version of this \" License "or any later version" applies to it, you have the option of \" following the terms and conditions either of that specified version or \" of any later version that has been published (not as a draft) by the \" Free Software Foundation. If the Document does not specify a version \" number of this License, you may choose any version ever published (not \" as a draft) by the Free Software Foundation. \" .PP \" ADDENDUM: How to use this License for your documents \" .PP \" To use this License in a document you have written, include a copy of \" the License in the document and put the following copyright and \" license notices just after the title page: \" .PP \" Copyright (c) YEAR YOUR NAME. \" Permission is granted to copy, distribute and/or \" modify this document under the terms of the GNU \" Free Documentation License, Version 1.1 or any later \" version published by the Free Software Foundation; \" with the Invariant Sections being LIST THEIR TITLES, \" with the Front-Cover Texts being LIST, and with the \" Back-Cover Texts being LIST. A copy of the license \" is included in the section entitled "GNU Free \" Documentation License". \" .PP \" If you have no Invariant Sections, write "with no Invariant Sections" \" instead of saying which ones are invariant. If you have no \" Front-Cover Texts, write "no Front-Cover Texts" instead of \" "Front-Cover Texts being LIST"; likewise for Back-Cover Texts. \" .PP \" If your document contains nontrivial examples of program code, we \" recommend releasing these examples in parallel under your choice of \" free software license, such as the GNU General Public License, \" to permit their use in free software. .SH 中文版维护人 .B Yin Huaming .SH 中文版最新更新 .BR 2002/06/23 .SH "中国 Linux 论坛 man 手册页翻译计划" .BI http://cmpp.linuxforum.net manpages-zh-1.6.3.3/src/man1/arch.1000066400000000000000000000024541327105066500165300ustar00rootroot00000000000000.\" DO NOT MODIFY THIS FILE! It was generated by help2man 1.47.3. .\"******************************************************************* .\" .\" This file was generated with po4a. Translate the source file. .\" .\"******************************************************************* .TH ARCH 1 2017年10月 "GNU coreutils 8.28" 用户命令 .SH 名称 arch \- 显示机器的体系结构(等价于 uname \-m) .SH 概述 \fBarch\fP [\fI\,选项\/\fP]... .SH 描述 .\" Add any additional description here .PP 显示机器的体系结构。 .TP \fB\-\-help\fP 显示此帮助信息并退出 .TP \fB\-\-version\fP 显示版本信息并退出 .SH 作者 由 David MacKenzie 和 Karel Zak 编写。 .SH 报告错误 GNU coreutils 的在线帮助: .br 请向 报告 arch 的翻译错误。 .SH 版权 Copyright \(co 2017 Free Software Foundation, Inc. License GPLv3+: GNU GPL version 3 or later . .br This is free software: you are free to change and redistribute it. There is NO WARRANTY, to the extent permitted by law. .SH 参见 uname(1), uname(2) .PP .br 完整文档请见: .br 或者在本地使用: info \(aq(coreutils) arch invocation\(aq manpages-zh-1.6.3.3/src/man1/at.1000066400000000000000000000136071327105066500162210ustar00rootroot00000000000000.TH AT 1 "Nov 1996" local "Linux Programmer's Manual" .SH NAME at, batch, atq, atrm \- 排队、检查或删除以后要执行的作业。 .SH 总览 .B at .RB [-V] .RB [-q .IR 队列] .RB [-f .IR 文件] .RB [-mldbv] .B 时间 .B "at -c" .I 作业 .RI [作业...] .B atq .RB [-V] .RB [-q .IR 队列] .RB [-v] .br .B atrm .RB [-V] .I 作业 .RI [作业...] .br .B batch .RB [-V] .RB [-q .IR 队列] .RB [-f .IR 文件] .RB [-mv] .RB [时间] .SH 描述 .B at 和 .B batch 从标准输入或一个指定的文件读取命令,这些命令在以后某个时间用 .BR /bin/sh 执行。 .TP 8 .BR at 在指定的时间执行命令。 .TP 8 .BR atq 列出用户的等待执行的作业;在用户是超级用户的情况下,列出所有人的作业。 .TP 8 .BR atrm 删除作业。 .TP 8 .BR batch 在系统负载水平允许的时候执行命令;换句话说,当平均负 载降到低于0.8,或降到了在 atrun 文件中指定的期望值时运行。 译注:atrun 文件参见 atd 手册页。 .PP .B At 允许相当复杂的时间指定,它扩展了 POSIX.2 标准。它接受 .B HH:MM 的时间式样,用来指定在一天的某个时间运行一个作业。 (如果时间已经过了则假定为第二天。)你可以指定 .B midnight (午夜)、 .B noon (中午) 或 .B teatime (下午4点),你可以用 .B AM 或 .B PM 后缀指定一天的上午或下午。你可以给出 .B month-name day 加上可选 的年份的式样用来指定运行 at 的日期,或者给出 .B MMDDYY 、 .B MM/DD/YY 或 .B DD.MM.YY 式样用来指定运行 at 的日期。日期的指定 必须跟在时间指定的后面。你也可以给出象 .B now \+ .I 计数 时间单位 的式样,这里的时间单位可以是 .B minutes 、 .B hours 、 .B days 或 .B weeks, 你可以给时间加一个 .B today 后缀来指定 .B at 今天运行作业,可以 给时间加一个 .B tomorrow 后缀来指定 .B at 明天运行作业。 .PP 例如,要在三天以后的下午 4 点运行一个作业,at 时间参数可以 指定为 .B 4pm \+ 3 days。 要在7月31日上午10:00运行一个作业, at 时间参数可以指定为 .B 10am Jul 31, 要在明天上午1点运行一个 作业,at 时间参数可以指定为 .B 1am tomorrow。 .PP 时间指定的精确的定义可以在 .IR /usr/share/doc/at/timespec 找到。 .PP 对于 .BR at 和 .BR batch 两者,从标准输入或以 .B -f 选项指定的文件中 读取命令并执行之。工作路径、环境变量(除了 .BR TERM、 .BR DISPLAY 和 .BR _ )、 umask 从所期望的时间起保持不变。从一个从执行 .B su(1) 命令得到的 shell 中调用的 .B "at "\- 或 .B "batch "\- 命令将保持当前的 userid。 用户的命令的标准错误输出和标准输出将用邮件发给用户。发送邮件 使用命令 .BR /usr/sbin/sendmail。 从一个从执行 .B su(1)命令得到的 shell 中执行了 .B at ,登录 shell 的所有者将接到邮件。 译注:userid 是用户标识的意思。umask 是与每个进程相关联的文件 方式创建屏蔽字。 .PP 超级用户可以在任何情况下使用这些命令。对于其他用户,使用 at 的权限由文件 .I /etc/at.allow 和 .I /etc/at.deny 确定。 .PP 如果文件 .I /etc/at.allow 存在,在其中提及的用户名被允许使用 .BR at 命令。 .PP 如果 .I /etc/at.allow 不存在,而 .I /etc/at.deny 存在,所有在 .I /etc/at.deny 中未提及的用户被允许使用 .BR at 命令。 .PP 如果两者均不存在,只用超级用户可以使用 .BR at 命令。 .PP 一个空的 .I /etc/at.deny 意味着所有用户均被允许使用这些命令, 这是缺省的配置。 .SH 选项 .TP 8 .B -V 在标准错误上输出版本号。 .TP 8 .B -q queue 使用指定的队列。一个队列用一个字母标定,有效的的队列标定的 范围是从a到z和从A到Z。at 的缺省队列是 a,batch 的缺省队列是 b。队列的字母顺序越高,则队列运行时越谦让(运行级别越低)。 指定的队列 "=" 保留给当前运行的作业所在的队列。 .P 如果一个作业被提交到一个以大写字母标定的队列,则与提交到 batch 同样对待。如果给 .BR atq 指定一个队列,则只显示在此指定 队列中的作业。 .TP 8 .B -m 当作业完成时即使没有输出也给用户发邮件。 .TP 8 .B -f file 从文件而不是标准输入中读取作业信息。 .TP 8 .B -l 是 .B atq 的别名。 .TP 8 .B -d 是 .B atrm 的别名。 .TP 8 .B -v 对于 .B atq, 显示完整的在队列中未被删除的作业,对于其他 命令,显示作业将要执行的时间。 .P 显示的时间的格式类似于"1997-02-20 14:50",但如果设置了 .B POSIXLY_CORRECT 环境变量之后,格式类似于"Thu Feb 20 14:50:00 1996"。 .TP 8 .B -c 连接命令行中列出的作业并输出到标准输出。 .SH 相关文件 .I /var/spool/at .br .I /var/spool/at/spool .br .I /proc/loadavg .br .I /var/run/utmp .br .I /etc/at.allow .br .I /etc/at.deny .SH 参见 cron(1), nice(1), sh(1), umask(2), atd(8) .SH 缺陷 在 Linux 下正确的批处理操作依赖于挂装在/proc 上的一个 .IR proc - 类型的目录的存在。 .PP 如果文件 .I /var/run/utmp 不可获得或已经损坏,或者在 .B at 所期 待的时间用户没有登录,向在环境变量 .BR LOGNAME 中找到的 userid 发送邮件。如果 .BR LOGNAME 未定义或是空的,假定为当前的 userid。 .PP 当前实现的 .B at 和 .B batch 在用户竞争资源的时候是不适合的。 如果你的站点是这种情况,你可以考虑其他的批处理系统, 例如 .BR nqs。 .SH 著作者 AT 大部分是由Thomas Koenig写的。ig25@rz.uni-karlsruhe.de. .SH "[中文版维护人]" .B mhss .br 主要参照了: .BR Linux 实用大全 / 陈向阳,方汉 编著. -北京: 科学出版社,1998.8 .SH "[中文版最新更新]" .BR 2000/10/27 .SH "《中国linux论坛man手册页翻译计划》:" .BI http://cmpp.linuxforum.net manpages-zh-1.6.3.3/src/man1/b2sum.1000066400000000000000000000051721327105066500166430ustar00rootroot00000000000000.\" DO NOT MODIFY THIS FILE! It was generated by help2man 1.47.3. .\"******************************************************************* .\" .\" This file was generated with po4a. Translate the source file. .\" .\"******************************************************************* .TH B2SUM 1 2017年10月 "GNU coreutils 8.28" 用户命令 .SH 名称 b2sum \- 计算并校验 BLAKE2 信息摘要 .SH 概述 \fBb2sum\fP [\fI\,选项\/\fP]... [\fI\,文件列表\/\fP]... .SH 描述 .\" Add any additional description here .PP 输出或检查 BLAKE2(512位)校验和。 .PP 如果没有指定文件,或者指定文件为“\-”,则从标准输入读取。 .TP \fB\-b\fP, \fB\-\-binary\fP 以二进制模式读入 .TP \fB\-c\fP, \fB\-\-check\fP 从指定文件中读取 BLAKE2 文件校验和信息并对它们进行检查 .TP \fB\-l\fP, \fB\-\-length\fP 按照比特位进行摘要提取;输入不可超出 blake2 算法的最大值限制,且必须为 8 的整数倍 .TP \fB\-\-tag\fP 创建一个 BSD 风格的校验和 .TP \fB\-t\fP, \fB\-\-text\fP 以文本模式读入(默认) .SS 下面五个选项仅在验证校验和时有用: .TP \fB\-\-ignore\-missing\fP 遇到缺失的文件时不报告错误,保持静默 .TP \fB\-\-quiet\fP 不要为每个成功验证的文件显示成功信息 .TP \fB\-\-status\fP 不要输出任何信息,由返回值判断成功与否 .TP \fB\-\-strict\fP 为没有正确格式化的校验和文字行给出非零返回值 .TP \fB\-w\fP, \fB\-\-warn\fP 为没有正确格式化的校验和文字行给出警告信息 .TP \fB\-\-help\fP 显示此帮助信息并退出 .TP \fB\-\-version\fP 显示版本信息并退出 .PP 校验和按照 RFC 7693 描述的方式进行计算。在校验过程中,其输入内容应当为该程序先前的输出内容。默认模式是输出一行文字,包含校验和、一个指示输入模式的字符('*' 指示二进制输入,\&' ' 指示二进制特性不明显的文本输入)以及每个文件的名称。 .SH 作者 由 Padraig Brady 和 Samuel Neves 编写。 .SH 报告错误 GNU coreutils 的在线帮助: .br 请向 报告 b2sum 的翻译错误。 .SH 版权 Copyright \(co 2017 Free Software Foundation, Inc. License GPLv3+: GNU GPL version 3 or later . .br This is free software: you are free to change and redistribute it. There is NO WARRANTY, to the extent permitted by law. .SH 参见 完整文档请见: .br 或者在本地使用: info \(aq(coreutils) b2sum invocation\(aq manpages-zh-1.6.3.3/src/man1/base32.1000066400000000000000000000041041327105066500166640ustar00rootroot00000000000000.\" DO NOT MODIFY THIS FILE! It was generated by help2man 1.47.3. .\"******************************************************************* .\" .\" This file was generated with po4a. Translate the source file. .\" .\"******************************************************************* .TH BASE32 1 2017年10月 "GNU coreutils 8.28" 用户命令 .SH 名称 base32 \- 以 base32 方式对数据编码/解码并输出到标准输出 .SH 概述 \fBbase64\fP [\fI\,选项\/\fP]... [\fI\,文件列表\/\fP] .SH 描述 .\" Add any additional description here .PP 以 Base64 方式对文件列表中的文件或者标准输入编码或解码,并输出到标准输出。 .PP 如果没有指定文件,或者指定文件为“\-”,则从标准输入读取。 .PP 必选参数对长短选项同时适用。 .TP \fB\-d\fP, \fB\-\-decode\fP 对数据解码 .TP \fB\-i\fP, \fB\-\-ignore\-garbage\fP 解码时忽略不在 Base64 字母表中的字符 .TP \fB\-w\fP, \fB\-\-wrap\fP=\fI\,列数\/\fP 编码后,输出在超过指定列数时自动折行(默认为76)。指定列数为0,则不自动折行。 .TP \fB\-\-help\fP 显示此帮助信息并退出 .TP \fB\-\-version\fP 显示版本信息并退出 .PP 数据以 RFC 4648 规定的 Base32 字母表编码 。解码时,除了 Base32 字母表中字符,输入数据(字节流)中可能还会有换行符。可以尝试用 \fB\-\-ignore\-garbage\fP 选项来忽略字节流中任何不在字母表中的字符。 .SH 作者 由 Simon Josefsson 编写。 .SH 报告错误 GNU coreutils 的在线帮助: .br 请向 报告 base32 的翻译错误。 .SH 版权 Copyright \(co 2017 Free Software Foundation, Inc. License GPLv3+: GNU GPL version 3 or later . .br This is free software: you are free to change and redistribute it. There is NO WARRANTY, to the extent permitted by law. .SH 参见 完整文档请见: .br 或者在本地使用: info \(aq(coreutils) base32 invocation\(aq manpages-zh-1.6.3.3/src/man1/base64.1000066400000000000000000000041041327105066500166710ustar00rootroot00000000000000.\" DO NOT MODIFY THIS FILE! It was generated by help2man 1.47.3. .\"******************************************************************* .\" .\" This file was generated with po4a. Translate the source file. .\" .\"******************************************************************* .TH BASE64 1 2017年10月 "GNU coreutils 8.28" 用户命令 .SH 名称 base64 \- 以 base64 方式对数据编码/解码并输出到标准输出 .SH 概述 \fBbase64\fP [\fI\,选项\/\fP]... [\fI\,文件列表\/\fP] .SH 描述 .\" Add any additional description here .PP 以 Base64 方式对文件列表中的文件或者标准输入编码或解码,并输出到标准输出。 .PP 如果没有指定文件,或者指定文件为“\-”,则从标准输入读取。 .PP 必选参数对长短选项同时适用。 .TP \fB\-d\fP, \fB\-\-decode\fP 对数据解码 .TP \fB\-i\fP, \fB\-\-ignore\-garbage\fP 解码时忽略不在 Base64 字母表中的字符 .TP \fB\-w\fP, \fB\-\-wrap\fP=\fI\,列数\/\fP 编码后,输出在超过指定列数时自动折行(默认为76)。指定列数为0,则不自动折行。 .TP \fB\-\-help\fP 显示此帮助信息并退出 .TP \fB\-\-version\fP 显示版本信息并退出 .PP 数据以 RFC 3548 规定的 Base64 字母表编码 。解码时,除了 Base64 字母表中字符,输入数据(字节流)中可能还会有换行符。可以尝试用 \fB\-\-ignore\-garbage\fP 选项来忽略字节流中任何不在字母表中的字符。 .SH 作者 由 Simon Josefsson 编写。 .SH 报告错误 GNU coreutils 的在线帮助: .br 请向 报告 base64 的翻译错误。 .SH 版权 Copyright \(co 2017 Free Software Foundation, Inc. License GPLv3+: GNU GPL version 3 or later . .br This is free software: you are free to change and redistribute it. There is NO WARRANTY, to the extent permitted by law. .SH 参见 完整文档请见: .br 或者在本地使用: info \(aq(coreutils) base64 invocation\(aq manpages-zh-1.6.3.3/src/man1/basename.1000066400000000000000000000037571327105066500173750ustar00rootroot00000000000000.\" DO NOT MODIFY THIS FILE! It was generated by help2man 1.47.3. .\"******************************************************************* .\" .\" This file was generated with po4a. Translate the source file. .\" .\"******************************************************************* .TH BASENAME 1 2017年10月 "GNU coreutils 8.28" 用户命令 .SH 名称 basename \- 去除文件名中的目录与后缀 .SH 概述 \fBbasename\fP \fI\,名称 \/\fP[\fI\,后缀\/\fP] .br \fBbasename\fP \fI\,选项\/\fP... \fI\,名称\/\fP... .SH 描述 .\" Add any additional description here .PP 打印已经移除所有目录相关信息后的(文件)名称。若特别指定,则同时移除指定的后缀名。 .PP 必选参数对长短选项同时适用。 .TP \fB\-a\fP, \fB\-\-multiple\fP 支持多个参数,把每个参数看作一个(文件)名称来处理。 .TP \fB\-s\fP, \fB\-\-suffix\fP=\fI\,后缀\/\fP 移除后缀;同时隐含 \fB\-a\fP .TP \fB\-z\fP, \fB\-\-zero\fP 使每行输出以 NUL 字符结束,不添加换行符 .TP \fB\-\-help\fP 显示此帮助信息并退出 .TP \fB\-\-version\fP 显示版本信息并退出 .SH 范例 .TP basename /usr/bin/sort \-> "sort" .TP basename include/stdio.h .h \-> "stdio" .TP basename \-s .h include/stdio.h \-> "stdio" .TP basename \-a any/str1 any/str2 \-> "str1" 后接 "str2" .SH 作者 由 David MacKenzie 编写。 .SH 报告错误 GNU coreutils 的在线帮助: .br 请向 报告 basename 的翻译错误。 .SH 版权 Copyright \(co 2017 Free Software Foundation, Inc. License GPLv3+: GNU GPL version 3 or later . .br This is free software: you are free to change and redistribute it. There is NO WARRANTY, to the extent permitted by law. .SH 参见 dirname(1), readlink(1) .PP .br 完整文档请见: .br 或者在本地使用: info \(aq(coreutils) basename invocation\(aq manpages-zh-1.6.3.3/src/man1/bash.1000066400000000000000000006343741327105066500165440ustar00rootroot00000000000000.\" .\" MAN PAGE COMMENTS to .\" .\" Chet Ramey .\" Information Network Services .\" Case Western Reserve University .\" chet@ins.CWRU.Edu .\" .\" Last Change: Mon Jul 15 15:20:56 EDT 2002 .\" .\" bash_builtins, strip all but Built-Ins section .if \n(zZ=1 .ig zZ .if \n(zY=1 .ig zY .TH BASH 1 "2002 July 15" "GNU Bash-2.05b" .\" .\" There's some problem with having a `@' .\" in a tagged paragraph with the BSD man macros. .\" It has to do with `@' appearing in the }1 macro. .\" This is a problem on 4.3 BSD and Ultrix, but Sun .\" appears to have fixed it. .\" If you're seeing the characters .\" `@u-3p' appearing before the lines reading .\" `possible-hostname-completions .\" and `complete-hostname' down in READLINE, .\" then uncomment this redefinition. .\" .de }1 .ds ]X \&\\*(]B\\ .nr )E 0 .if !"\\$1"" .nr )I \\$1n .}f .ll \\n(LLu .in \\n()Ru+\\n(INu+\\n()Iu .ti \\n(INu .ie !\\n()Iu+\\n()Ru-\w\\*(]Xu-3p \{\\*(]X .br\} .el \\*(]X\h|\\n()Iu+\\n()Ru\c .}f .. .\" .\" File Name macro. This used to be `.PN', for Path Name, .\" but Sun doesn't seem to like that very much. .\" .de FN \fI\|\\$1\|\fP .. .SH NAME bash \- GNU Bourne-Again SHell (GNU 命令解释程序 \(lqBourne二世\(rq) .SH "概述(SYNOPSIS)" .B bash [options] [file] .SH "版权所有(COPYRIGHT)" .if n Bash is Copyright (C) 1989-2002 by the Free Software Foundation, Inc. .if t Bash is Copyright \(co 1989-2002 by the Free Software Foundation, Inc. .SH "描述(DESCRIPTION)" .B Bash 是一个与 \fIsh\fP 兼容的命令解释程序,可以执行从标准输入或者文件中读取的命令。 .B Bash 也整合了 \fIKorn\fP 和 \fIC\fP \fIShell\fP (\fBksh\fP 和 \fBcsh\fP) 中的优秀特性。 .PP .B Bash 的目标是成为遵循 IEEE POSIX Shell and Tools specification (IEEE Working Group 1003\.2,可移植操作系统规约: shell 和工具) 的实现。 .SH "选项(OPTIONS)" 除了在 \fBset\fR 内建命令的文档中讲述的单字符选项 (option) 之外,\fBbash\fR 在启动时还解释下列选项。 .PP .PD 0 .TP 10 .BI \-c "\| string\^" 如果有 .B \-c 选项,那么命令将从 .IR string 中读取。如果 .IR string 后面有参数 (argument),它们将用于给位置参数 (positional parameter,以 .BR $0 起始) 赋值。 .TP .B \-i 如果有 .B \-i 选项,shell 将交互地执行 ( .IR interactive )。 .TP .B \-l 选项使得 .B bash 以类似登录 shell (login shell) 的方式启动 (参见下面的 .SM .B "启动(INVOCATION)" 章节)。 .TP .B \-r 如果有 .B \-r 选项,shell 成为受限的 ( .I restricted ) (参见下面的 .SM .B "受限的shell(RESTRICTED SHELL)" 章节)。 .TP .B \-s 如果有 .B \-s 选项,或者如果选项处理完以后,没有参数剩余,那么命令将从标准输入读取。 这个选项允许在启动一个交互 shell 时可以设置位置参数。 .TP .B \-D 向标准输出打印一个以 \fB$\fP 为前导的,以双引号引用的字符串列表。 这是在当前语言环境不是 \fBC\fP 或 \fBPOSIX\fP 时,脚本中需要翻译的字符串。 这个选项隐含了 \fB\-n\fP 选项;不会执行命令。 .TP .B [\-+]O [\fIshopt_option\fP] \fIshopt_option\fP 是一个 \fBshopt\fP 内建命令可接受的选项 (参见下面的 .SM .B "shell 内建命令(SHELL BUILTIN COMMANDS)" 章节)。 如果有 \fIshopt_option\fP,\fB\-O\fP 将设置那个选项的取值; \fB+O\fP 取消它。 如果没有给出 \fIshopt_option\fP,\fBshopt\fP 将在标准输出上打印设为允许的选项的名称和值。 如果启动选项是 \fB+O\fP,输出将以一种可以重用为输入的格式显示。 .TP .B \-\- .B \-\- 标志选项的结束,禁止其余的选项处理。任何 .B \-\- 之后的参数将作为文件名和参数对待。参数 .B \- 与此等价。 .PD .PP .B Bash 也解释一些多字节的选项。在命令行中,这些选项必须置于需要被识别的单字符参数之前。 .PP .PD 0 .TP .B \-\-dump\-po\-strings 等价于 \fB\-D\fP,但是输出是 GNU \fIgettext\fP \fBpo\fP (可移植对象) 文件格式 .TP .B \-\-dump\-strings 等价于 \fB\-D\fP .TP .B \-\-help 在标准输出显示用法信息并成功退出 .TP \fB\-\-init\-file\fP \fIfile\fP .PD 0 .TP \fB\-\-rcfile\fP \fIfile\fP .PD 如果 shell 是交互的,执行 .I file 中的命令,而不是标准的个人初始化文件 .I ~/.bashrc (参见下面的 .SM .B "启动(INVOCATION)" 章节) .TP .B \-\-login 等价于 \fB\-l\fP .TP .B \-\-noediting 如果 shell 是交互的,不使用 GNU .B readline 库来读命令行 .TP .B \-\-noprofile 不读取系统范围的启动文件 .FN /etc/profile 或者任何个人初始化文件 .IR ~/.bash_profile , .IR ~/.bash_login , 或 .IR ~/.profile 。默认情况下, .B bash 在作为登录 shell 启动时读取这些文件 (参见下面的 .SM .B "启动(INVOCATION)" 章节) .TP .B \-\-norc 如果 shell 是交互的,不读取/执行个人初始化文件 .I ~/.bashrc 这个选项在 shell 以 .BR sh 命令启动时是默认启用的 .TP .B \-\-posix 如果默认操作与 POSIX 1003.2 标准不同的话,改变 \fBbash\fP 的行为来符合标准 (\fIposix mode\fP) .TP .B \-\-restricted shell 成为受限的 (参见下面的 .SM .B "受限的shell(RESTRICTED SHELL)" 章节) .TP .B \-\-rpm-requires 产生一个为使脚本运行,需要的文件的列表。 这个选项包含了 \fB\-n\fP 选项。 它是为了避免进行编译期错误检测时的限制-- Backticks, [] tests, 还有 evals 不会被解释,一些依赖关系可能丢失 .TP .B \-\-verbose 等价于 \fB\-v\fP .TP .B \-\-version 在标准输出显示此 .B bash 的版本信息并成功退出。 .PD .SH 参数(ARGUMENTS) 如果选项处理之后仍有参数剩余,并且没有指定 .B \-c 或 .B \-s 选项,第一个参数将假定为一个包含 shell 命令的文件的名字。 如果 .B bash 是以这种方式启动的, .B $0 将设置为这个文件的名字,位置参数将设置为剩余的其他参数。 .B Bash 从这个文件中读取并执行命令,然后退出。 \fBBash\fP 的退出状态是脚本中执行的最后一个命令的退出状态。 如果没有执行命令,退出状态是0。 尝试的步骤是先试图打开在当前目录中的这个文件,接下来, 如果没有找到,shell 将搜索脚本的 .SM .B PATH 环境变量中的路径。 .SH "启动(INVOCATION)" \fIlogin shell\fP 登录 shell,参数零的第一个字符是 .BR \- ,或者启动时指定了 .B \-\-login 选项的 shell。 .PP \fIinteractive\fP 交互的 shell,是一个启动时没有指定非选项的参数,并且没有指定 .B \-c 选项,标准输出和标准输入都连接到了终端 (在 .IR isatty (3) 中判定) 的shell,或者启动时指定了 .B \-i 选项的 shell。如果 .B bash 是交互的, .SM .B PS1 环境变量将被设置,并且 .B $\- 包含 .B i ,允许一个 shell 脚本或者一个启动文件来检测这一状态。 .PP 下列段落描述了 .B bash 如何执行它的启动文件。如果这些启动文件中的任一个存在但是不可读取, .B bash 将报告一个错误。文件名中的波浪号 (~,tilde) 将像 .SM .B EXPANSION 章节中 .B "Tilde Expansion" 段描述的那样展开。 .PP 当 .B bash 是作为交互的登录 shell 启动的,或者是一个非交互的 shell 但是指定了 \fB\-\-login\fP 选项, 它首先读取并执行 \fI/etc/profile\fP 中的命令,只要那个文件存在。 读取那个文件之后,它以如下的顺序查找 \fI~/.bash_profile\fP, \fI~/.bash_login\fP, 和 \fI~/.profile\fP, 从存在并且可读的第一个文件中读取并执行其中的命令。 .B \-\-noprofile 选项可以用来在 shell 启动时阻止它这样做。 .PP 当一个登录 shell 退出时, .B bash 读取并执行文件 \fI~/.bash_logout\fP 中的命令,只要它存在。 .PP 当一个交互的 shell 但不是登录 shell 启动时, .B bash 从文件 \fI~/.bashrc\fP 中读取并执行命令,只要它存在。可以用 .B \-\-norc 选项来阻止它这样做。 \fB\-\-rcfile\fP \fIfile\fP 选项将强制 .B bash 读取并执行文件 \fIfile\fP 中的命令,而不是 \fI~/.bashrc\fP 中的。 .PP 当 .B bash 以非交互的方式启动时,例如在运行一个 shell 脚本时,它在环境中查找变量 .SM .B BASH_ENV ,如果它存在则将它的值展开,使用展开的值作为一个文件的名称,读取并执行。 .B Bash 运作的过程就如同执行了下列命令: .sp .5 .RS .if t \f(CWif [ \-n "$BASH_ENV" ]; then . "$BASH_ENV"; fi\fP .if n if [ \-n "$BASH_ENV" ]; then . "$BASH_ENV"; fi .RE .sp .5 但是没有使用 .SM .B PATH 变量的值来搜索那个文件名。 .PP 如果 .B bash 以名称 .BR sh 启动,它试图模仿 (mimic) .B sh 历史版本的启动过程,尽可能地相似,同时也遵循 POSIX 标准。 . 当作为交互式登录 shell 启动时,或者是非交互但使用了 \fB\-\-login\fP 选项 启动的时候,它首先尝试读取并执行文件 .I /etc/profile 和 .IR ~/.profile , 中的命令. 选项 .B \-\-noprofile 用于避免这种行为.当使用命令 .BR sh 来启动一个交互式的 shell 时, .B bash 查找环境变量 .SM .BR ENV , 如果有定义的话就扩展它的值,然后使用扩展后的值作为要读取和执行的文件 的名称.由于使用 .B sh 启动的 shell 不会读取和执行任何其他的启动文件,选项 .B \-\-rcfile 没有意义.使用名称 .B sh 启动的非交互的 shell 不会读取任何其他启动文件.当以 .BR sh 启动时, .B bash 在读取启动文件之后进入 .I posix 模式. .PP 当 .B bash 以 .I posix 模式启动时,(和使用 .B \-\-posix 命令行参数效果相同),它遵循 POSIX 标准. 这种模式下,交互式 shell 扩展 .SM .B ENV 环境变量的值,读取并执行以扩展后值为文件名的配置文件. 不会读取其他文件. .PP .B Bash 试着检测它是不是由远程 shell 守护程序,通常为 \fIrshd\fP 启动的.如果 .B bash 发现它是由 \fIrshd\fP 启动的,它将读取并执行 \fI~/.bashrc\fP 文件中的命令, 只要这个文件存在并且可读.如果以 \fBsh\fP 命令启动,它不会这样做. 选项 .B \-\-norc 可以用来阻止这种行为,选项 .B \-\-rcfile 用来强制读取另一个文件,但是通常 \fIrshd\fP 不会允许它们, 或者用它们来启动 shell. .PP 如果 shell 是以与真实用户(组) id 不同的有效用户(组) id 来启动的, 并且没有 \fB\-\fP 选项,那么它不会读取启动文件, 也不会从环境中继承 shell 函数. 环境变量中如果出现 .SM .B SHELLOPTS, 它将被忽略.有效用户 id 将设置为真实用户 id. 如果启动时给出了 \fB\-\p\fP 选项,那么启动时的行为是类似的, 但是不会重置有效用户 id. .SH "定义(DEFINITIONS)" .PP 下列定义在文档余下部分中通用. .PD 0 .TP .B blank 空白 一个空格或是 tab . .TP .B word 词 一个字符序列, shell 将它们视为一个结构单元. 也称为一个 .BR token 片段。 .TP .B name 名称 一个只由字母,数字和下划线构成的词,并且以字符或下划线起始. 也称为一个 .I word .BR identifier 标识符. .TP .B metacharacter 元字符 一个字符, 如果不是引用的话, 将成为词的分隔符. 它是如下字符之一: .br .RS .PP .if t \fB| & ; ( ) < > space tab\fP .if n \fB| & ; ( ) < > space tab\fP .RE .PP .TP .B control operator 控制操作符 一个 \fItoken\fP(标识), 拥有控制功能. 它是如下符号之一: .RS .PP .if t \fB\(bv\(bv & && ; ;; ( ) | \fP .if n \fB|| & && ; ;; ( ) | \fP .RE .PD .SH 保留字("RESERVED WORDS") \fIReserved words\fP(保留字) 是对 shell 有特殊意义的词. 下列词被识别为保留的, 如果不是引用, 并且不是一个简单命令的起始词 (参见下面的 .SM .B shell语法("SHELL GRAMMAR") ), 也不是 .B case 或者 .B for 命令的第三个词: .if t .RS .PP .B .if n ! case do done elif else esac fi for function if in select then until while { } time [[ ]] .if t ! case do done elif else esac fi for function if in select then until while { } time [[ ]] .if t .RE .RE .SH shell语法("SHELL GRAMMAR") .SS Simple Commands 简单命令 .PP \fIsimple command\fP(简单命令) 是(可选的)一系列变量赋值, 紧接着是 \fBblank\fP(空格) 分隔的词和重定向, 然后以一个 \fIcontrol operator\fP 结束. 第一个词指明了要执行的命令, 它被作为第 0 个参数. 其余词被作为这个命令的参数. .PP \fIsimple command\fP 简单命令的返回值是它的退出状态, 或是 128+\fIn\^\fP, 如果命令被 signal(信号) .IR n 结束的话. .SS Pipelines 管道 .PP \fIpipeline\fP(管道) 是一个或多个命令的序列,用字符 .BR | 分隔。管道的格式是这样: .RS .PP [\fBtime\fP [\fB\-p\fP]] [ ! ] \fIcommand\fP [ \fB|\fP \fIcommand2\fP ... ] .RE .PP 命令 .I command 的标准输出通过管道连接到命令 .IR command2 的标准输入。连接是在命令指定的任何重定向之前进行的(参见下面的 .SM .B REDIRECTION 重定向)。 .PP 如果保留字 .B ! 作为管道前缀,管道的退出状态将是最后一个命令的退出状态的逻辑非值。 否则,管道的退出状态就是最后一个命令的。 shell 在返回退出状态值之前,等待管道中的所有命令返回。 .PP 如果保留字 .B time 作为管道前缀,管道中止后将给出执行管道耗费的用户和系统时间。 选项 \fB\-p\fP 将使输出符合 POSIX 指定的格式。 环境变量 .SM .B TIMEFORMAT 可以设置为一个格式字符串,指定时间信息应当如何显示;参见下面的 .B "Shell Variables" 环境变量 中 .SM .B TIMEFORMAT 的讲述。 .PP 管道中的每个命令都作为单独的进程来执行(即,在一个子 shell 中启动)。 .SS Lists 序列 .PP \fIlist\fP(序列)是一个或多个管道,用操作符 .BR ; , .BR & , .BR && , 或 .BR \(bv\(bv 分隔的序列, 并且可以选择用 .BR ; , .BR & , 或 .BR 新行符结束. .PP 这些序列操作符中, .B && 和 .B \(bv\(bv 优先级相同,其次是 .B ; 和 .BR &, 它们的优先级是相同的。 .PP 序列中可以有一个或多个新行符来分隔命令,而不是使用分号分隔。 .PP 如果一个命令是由控制操作符 .BR & 结束的, shell 将在后台的子 shell 中执行这个命令。 shell 不会等待命令执行结束,返回状态总是 0。以分号 .B ; 分隔的命令会被顺序执行;shell 会等待每个命令依次结束。返回状态是最后执行的命令的返回状态。 .PP 控制操作符 .B && 和 .B \(bv\(bv 分别代表 AND 和 OR 序列。一个 AND 序列的形式是 .RS .PP \fIcommand1\fP \fB&&\fP \fIcommand2\fP .RE .PP .I command2 只有在 .I command1 返回 0 时才被执行。 .PP 一个 OR 序列的形式是 .RS .PP \fIcommand1\fP \fB\(bv\(bv\fP \fIcommand2\fP .PP .RE .PP .I command2 只有在 .I command1 返回非 0 状态时才被执行。AND 和 OR 序列的返回状态是序列中最后执行的命令的返回状态。 .SS Compound Commands 复合命令 .PP \fIcompound command\fP(复合命令) 是如下情况之一: .TP (\fIlist\fP) \fIlist\fP 序列将在一个子 shell 中执行。变量赋值和影响 shell 环境变量的内建命令在命令结束后不会再起作用。 返回值是序列的返回值。 .TP { \fIlist\fP; } \fIlist\fP 序列将在当前 shell 环境中执行。序列必须以一个新行符或分号结束。 这种做法也称为 \fIgroup command\fP(命令组)。返回值是序列的返回值。注意与元字符 \fB(\fP 和 \fB\)\fP 不同, \fB{\fP 和 \fB}\fP 是 \fIreserved words\fP(保留字),必须出现在能够识别保留字的场合。 由于它们不会产生断词(cause a word break),它们和序列之间必须用空格分开。 .TP ((\fIexpression\fP)) 表达式 \fIexpression\fP 将被求值。求值规则在下面的 .SM .BR "算术求值 (ARITHMETIC EVALUATION)" 章节中描述。如果表达式的值非零,返回值就是 0;否则返回值是 1。这种做法和 \fBlet "\fIexpression\fP"\fR 等价。 .TP \fB[[\fP \fIexpression\fP \fB]]\fP 返回 0 或 1,取决于条件表达式 \fIexpression\fP 求值的情况。 表达式是由下面 .SM .BR "CONDITIONAL EXPRESSIONS 条件表达式" 章节中描述的原语(primaries) 组成。 \fB[[\fP 和 \fB]]\fP 中的词不会进行词的拆分和路径的扩展处理; 而tilde 扩展,参数和变量扩展,算术扩展,命令替换,函数替换和引用的去除则都将进行。 .if t .sp 0.5 .if n .sp 1 当使用 \fB==\fP 和 \fB!=\fP 操作符时,操作符右边的字符串被认为是一个模式,根据下面 \fBPattern Matching\fP(模式匹配) 章节中的规则进行匹配。 如果匹配则返回值是 0,否则返回 1。模式的任何部分可以被引用,强制使它作为一个字符串而被匹配。 .if t .sp 0.5 .if n .sp 1 表达式可以用下列操作符结合起来。根据优先级的降序列出如下: .if t .sp 0.5 .if n .sp 1 .RS .PD 0 .TP .B ( \fIexpression\fP ) 返回表达式 \fIexpression\fP 的值。括号可以用来提升操作符的优先级。 .TP .B ! \fIexpression\fP 返回真,如果表达式 .I expression 返回假。 .TP \fIexpression1\fP \fB&&\fP \fIexpression2\fP 返回真,如果表达式 .I expression1 和 .I expression2 都返回真。 .TP .if t \fIexpression1\fP \fB\(bv\(bv\fP \fIexpression2\fP .if n \fIexpression1\fP \fB||\fP \fIexpression2\fP 返回真,如果表达式 .I expression1 或者 .I expression2 二者之一返回真。 .PD .LP \fB&&\fP(与) 和 .if t \fB\(bv\(bv\fP .if n \fB||\fP 操作符不会对表达式 \fIexpression2\fP 求值,如果 \fIexpression1\fP 可以决定整个条件表达式的返回值的话。 .RE .TP \fBfor\fP \fIname\fP [ \fBin\fP \fIword\fP ] ; \fBdo\fP \fIlist\fP ; \fBdone\fP \fBin\fP 之后的一系列词会被扩展,产生一个项目列表。变量 \fIname\fP 被依次赋以这个列表中的每个元素, 序列 \fIlist\fP 每次都被执行。如果 \fBin\fP \fIword\fP 被忽略,那么 \fBfor\fP 命令遍历 已设置的位置参数(positional parameter,参见下面的 .SM .B PARAMETERS 参数), 为每一个执行一次序列 \fIlist\fP。 返回值是最后一个命令的返回值。如果 \fBin\fP 之后的词扩展的结果是空列表,就不会执行任何命令,返回值是 0。 .TP \fBfor\fP (( \fIexpr1\fP ; \fIexpr2\fP ; \fIexpr3\fP )) ; \fBdo\fP \fIlist\fP ; \fBdone\fP 首先,算术表达式 \fIexpr1\fP 被根据下面 .SM .BR "算术求值 (ARITHMETIC EVALUATION)" 中的规则进行求值。 然后算术表达式 \fIexpr2\fP 被循环求值,直到它等于 0。每次 \fIexpr2\fP 结果非零时,序列 \fIlist\fP 都被执行, 算术表达式 \fIexpr3\fP 被求值。如果任何表达式被忽略,将被视为执行结果是 1。 返回值是序列 \fIlist\fP 中被执行的最后一个命令的返回值;或者是 false,如果任何表达式非法的话。 .TP \fBselect\fP \fIname\fP [ \fBin\fP \fIword\fP ] ; \fBdo\fP \fIlist\fP ; \fBdone\fP \fBin\fP 之后的一系列词会被扩展,产生一个项目列表。这个扩展后的词集合被输出到标准错误上,每个前面 加上一个数字。如果 \fBin\fP \fIword\fP 被忽略,将输出位置参数 (参见下面的 .SM .B PARAMETERS 参数 章节)。 .B PS3 提示符将被显示出来,等待从标准输入得到一行输入。如果 输入是一个数字且显示中有对应的词,那么变量 .I name 的值将设置为这个词。如果输入一个空行,那么词和提示符将再次显示出来。如果读入了一个 EOF,命令就结束。 任何其他值将设置变量 .I name 为空。读入的行保存为变量 .BR REPLY . 序列 .I list 在每次选择之后都会执行,直到执行了一个 .B break 命令。 .B select 的退出状态是序列 .IR list 中执行的最后一个命令的退出状态,如果没有执行命令就是 0。 .TP \fBcase\fP \fIword\fP \fBin\fP [ [(] \fIpattern\fP [ \fB|\fP \fIpattern\fP ] ... ) \fIlist\fP ;; ] ... \fBesac\fP \fBcase\fP 命令首先扩展 \fIword\fP, 然后依次试着用每个 \fIpattern\fP 来匹配它, 使用与路径扩展相同的匹配规则(参见下面的 .B Pathname Expansion 路径扩展 章节)。如果找到一个匹配,相应的序列将被执行。找到一个匹配之后,不会再尝试其后的匹配。 如果没有模式可以匹配,返回值是 0。否则,返回序列中最后执行的命令的返回值。 .TP \fBif\fP \fIlist\fP; \fBthen\fP \fIlist;\fP \ [ \fBelif\fP \fIlist\fP; \fBthen\fP \fIlist\fP; ] ... \ [ \fBelse\fP \fIlist\fP; ] \fBfi\fP 序列 .B if .I list 被执行。如果退出状态是 0,\fBthen\fP \fIlist\fP 将被执行。否则,每个 \fBelif\fP 将被一次执行,如果退出状态是 0,相应的 \fBthen\fP \fIlist\fP 将被执行,命令结束。 否则,\fBelse\fP \fIlist\fP 将被执行,如果存在的话。 退出状态是最后执行的命令的退出状态,或者是 0,如果所有条件都不满足。 .TP \fBwhile\fP \fIlist\fP; \fBdo\fP \fIlist\fP; \fBdone\fP .PD 0 .TP \fBuntil\fP \fIlist\fP; \fBdo\fP \fIlist\fP; \fBdone\fP .PD \fBwhile\fP 命令不断地执行序列 \fBdo\fP \fIlist\fP,直到序列中最后一个命令返回 0。 \fBuntil\fP 命令和 \fBwhile\fP 命令等价,除了对条件的测试恰好相反;序列 .B do .I list 执行直到序列中最后一个命令返回非零状态值。 \fBwhile\fP 和 \fBuntil\fP 命令的退出状态是序列 \fBdo\fP \fIlist\fP 中最后一个命令的退出状态, 或者是 0,如果没有执行任何命令。 .TP [ \fBfunction\fP ] \fIname\fP () { \fIlist\fP; } 这样可以定义一个名为 \fIname\fP 的函数。函数体 \fIbody\fP 是包含在 { 和 } 之间的命令序列 \fIlist\fP。 在指定将 \fIname\fP 作为一个命令运行的场合,这个序列将被执行。 函数的退出状态是函数体最后执行的命令的退出状态(参见下面的 .SM .B "FUNCTIONS 函数" 章节)。 .SH 注释(COMMENTS) 在非交互的 shell 中或者使用内建命令 .B shopt 启用了 .B interactive_comments 选项的交互的 shell 中,以 .B # 起始的词使得这个词和所有同一行上所有剩余的字符都被忽略。没有启用 .B interactive_comments 选项的交互式 shell 不允许出现注释。这个选项在交互式 shell 中是默认启用的 (参见下面的 .SM .B "shell 内建命令(SHELL BUILTIN COMMANDS)" 章节)。 .SH 引用(QUOTING) 引用 \fIQuoting\fP 用来去掉特定字符或词的特殊意义。引用可以用来禁止对特殊字符的处理, 阻止保留字被识别,还用来阻止参数的扩展。 .PP 上面在 .SM .B DEFINITIONS 定义 中列出的每个元字符 \fImetacharacters\fP 对于 shell 都有特殊意义。如果要表达它的本义,必须引用它。 .PP 在使用命令行历史扩展功能时,\fIhistory expansion\fP 字符,通常是 \fB!\fP,必须被引用,才不会进行历史扩展。 .PP 有三种引用机制:转义字符 .IR "(escape character)" , 单引号和双引号。 .PP 一个未被引用的反斜杠 (\fB\e\fP) 是转义字符 .IR "escape character" 。 它保留其后下一个字符的字面意义,除非那是一个新行符。 如果 \fB\e\fP 和新行符成对出现,并且反斜杠自身没有被引用,那么 \fB\e\fP 被视为续行标志 (意思是,它被从输入流中删除并忽略了)。 .PP 将字符放在单引号之中,将保留引用中所有字符的字面意义。单引号不能包含在单引号引用之中,即使前面加上了反斜杠。 .PP 将字符放在双引号中,同样保留所有字符的字面意义,例外的情况是 .BR $ , .BR ` , 和 .BR \e 。 字符 .B $ 和 .B ` 在双引号中仍然具有特殊意义。反斜杠只有后面是下列字符时才有特殊意义: .BR $ , .BR ` , \^\fB"\fP\^, .BR \e , 或 .BR . 双引号可以包含在双引号引用中,但要在前面加上一个反斜杠。 .PP 特殊的参数 .B * 和 .B @ 在双引号中有特殊意义(参见下面的 .SM .B PARAMETERS 参数 章节)。 .PP 形式为 \fB$\fP'\fIstring\fP' 的词会被特殊处理。它被扩展为 \fIstring\fP,其中的反斜杠转义字符 被替换为 ANSI C 标准中规定的字符。反斜杠转义序列,如果存在的话,将做如下转换: .RS .PD 0 .TP .B \ea alert (bell) 响铃 .TP .B \eb backspace 回退 .TP .B \ee an escape character 字符 Esc .TP .B \ef form feed 进纸 .TP .B \en new line 新行符 .TP .B \er carriage return 回车 .TP .B \et horizontal tab 水平跳格 .TP .B \ev vertical tab 竖直跳格 .TP .B \e\e backslash 反斜杠 .TP .B \e' single quote 单引号 .TP .B \e\fInnn\fP 一个八比特字符,它的值是八进制值 \fInnn\fP (一到三个数字)。 .TP .B \ex\fIHH\fP 一个八比特字符,它的值是十六进制值 \fIHH\fP (一到两个十六进制数字)。 .TP .B \ec\fIx\fP 一个 ctrl-\fIx\fP 字符 .PD .RE .LP 扩展结果是单引号引用的,就好像 $ 符号不存在一样。 .PP 双引号引用字符串前面加上一个 \fB$\fP 符号将使得这个字符串被根据当前语言环境 (locale) 来翻译。 如果当前语言环境是 \fBC\fP 或者 \fBPOSIX\fP,这个符号将被忽略。 如果这个字符串被翻译并替换了,那么替换结果是双引号引用的。 .SH 参数(PARAMETERS) 一个参数 .I parameter 是一个储存值的实体。它可以是一个名称 .IR name , 一个数字或者是下面 .BR "Special Parameters 特殊参数" 章节中列出的特殊字符之一。从 shell 的角度来看,一个变量 .I variable 是一个由名称 .IR name 代表的参数。一个变量有一个值 \fIvalue\fP 以及零个或多个属性 \fIattibutes\fP。属性可以使用内建命令 .B declare 来设置(参见下面 .SM .BR "shell 内建命令(SHELL BUILTIN COMMANDS)" 章节中对 .B declare 的描述)。 .PP 如果给一个参数赋值,那么它就被定义了。空字符串是有效的值。一旦一个变量被定义了,它只能用内建命令 .B unset 来取消(参见下面 .SM .B "shell 内建命令(SHELL BUILTIN COMMANDS)" 章节). .PP 一个变量 .I variable 可以用这样的语句形式来赋值: .RS .PP \fIname\fP=[\fIvalue\fP] .RE .PP 如果没有给出值 .I value, 变量就被赋为空字符串。所有值 .I values 都经过了波浪线扩展,参数和变量扩展,命令替换,算术扩展和引用的删除(参见下面的 .SM .B EXPANSION 扩展 章节)。如果变量设置了 .B integer 整数 属性,那么值 .I value 将进行算术扩展,即使没有应用 $((...)) 扩展 (参见下面的 .SM .B "Arithmetic Expansion 算术扩展" 章节)。 不会进行词的拆分,除非是下面 .BR "Special Parameters 特殊参数" 中提到的 \fB"$@"\fP。 不会进行路径的扩展。赋值语句也出现在下列内建命令中,作为它们的参数: .BR declare , .BR typeset , .BR export , .BR readonly , 和 .B local 。 .SS Positional Parameters 位置参数 .PP 位置参数 .I positional parameter 是以一或多个数字代表的参数,除了 0。位置参数是在 shell 启动时,根据它的参数来赋值的, 也可以用内建命令 .B set 来重新赋值。位置参数不能用赋值语句来赋值。在一个 shell 函数被执行的时候,位置参数会被暂时地替换掉 (参见下面的 .SM .B FUNCTIONS 函数 章节)。 .PP 当位置参数由两个以上的数字构成时,它必须放在括号内 (参见下面的 .SM .B EXPANSION 扩展 章节)。 .SS Special Parameters 特殊参数 .PP shell 对一些参数做特殊处理。这些参数只能被引用而不能被赋值。 .PD 0 .TP .B * 扩展为位置参数,从 1 开始。如果扩展发生在双引号中,它扩展为一个词,值是各个参数,以特殊变量 .SM .B IFS 的第一个字符分隔。也就是说,"\fB$*\fP" 等价于 "\fB$1\fP\fIc\fP\fB$2\fP\fIc\fP\fB...\fP",这里 .I c 是变量 .SM .B IFS 的第一个字符。如果没有设置 .SM .B IFS, 那么参数将用空格分隔。 .SM .B IFS .TP .B @ 扩展为位置参数,从 1 开始。如果扩展发生在双引号中,每个参数都将扩展为一个词。也就是说, "\fB$@\fP" 等价于 "\fB$1\fP" "\fB$2\fP" ... 如果位置参数不存在,"\fB$@\fP" 和 .B $@ 扩展为空 (即,它们被删除了)。 .TP .B # 扩展为位置参数的个数,以十进制表示。 .TP .B ? 扩展为最近执行的前台管道的状态。 .TP .B \- 扩展为当前选项标志。标志是在启动时或以内建命令 .B set 指定的,或者是 shell 自身设置的 (例如选项 .B \-i )。 .TP .B $ 扩展为 shell 的进程 ID。在一个 () 子 shell 中,它扩展为当前 shell 的 进程 ID 而不是子 shell 的。 .TP .B ! 扩展为最近一次执行的后台 (异步) 命令的进程号。 .TP .B 0 扩展为 shell 或者 shell 脚本的名称。这个变量是在 shell 初始化时设置的。如果 .B bash 是执行脚本文件时启动的, .B $0 将设置为那个文件的名称。如果 .B bash 启动时的参数包含 .B \-c, 那么 .B $0 被设置为启动命令行被执行后的第一个参数,如果有的话。否则,它被设置为用来启动 .BR bash 的文件名,就是参数 0。 .TP .B _ shell 启动时,设置为 shell 或参数中被执行的 shell 脚本的绝对路径名。 然后,在扩展时扩展为上一个命令的最后一个参数。它也被设置为被执行的每个命令的文件全名并且 被设置到这个命令执行的环境当中。当检查邮件时,这个参数保存着正在检查的邮件文件的名称。 .PD .SS Shell Variables 变量 .PP shell 定义了下列变量: .PP .PD 0 .TP .B BASH 扩展为用来启动当前 .BR bash 实例的文件全名。 .TP .B BASH_VERSINFO 一个只读数组变量,成员保存着当前 .BR bash 实例的版本信息。赋予数组元素的值是如下这些: .sp .5 .RS .PD 0 .TP 24 .B BASH_VERSINFO[\fR0\fP] 主版本号 (\fIrelease\fP). .TP .B BASH_VERSINFO[\fR1\fP] 次版本号 (\fIversion\fP). .TP .B BASH_VERSINFO[\fR2\fP] 补丁版本 .TP .B BASH_VERSINFO[\fR3\fP] 编译信息 .TP .B BASH_VERSINFO[\fR4\fP] 发布时的状态 (例如, \fIbeta1\fP). .TP .B BASH_VERSINFO[\fR5\fP] \fBMACHTYPE\fP 平台类型 .PD .RE .TP .B BASH_VERSION 扩展为一个字符串,描述了这个 .BR bash . 实例的版本。 .TP .B COMP_CWORD \fB${COMP_WORDS}\fP 的索引,指向当前光标位置所在的词。 这个变量只有在被可编程补全功能 (参见下面的 \fBProgrammable Completion\fP 章节) 调用的 shell 函数中才可用。 .TP .B COMP_LINE 当前命令行。这个变量只有在被命令补全功能调用的 shell 函数和外部命令中才可用。 .TP .B COMP_POINT 相对于当前命令起始处的当前光标位置。如果当前光标位置是当前命令的末端, 它的值就和 \fB${#COMP_LINE}\fP 相等。 这个变量只有在被命令补全功能调用的 shell 函数和外部命令中才可用。 .TP .B COMP_WORDS 一个数组变量 (参见下面的 \fBArrays\fP(数组)一节),由当前命令行的各个单词构成。 这个变量只有在被命令补全功能调用的 shell 函数中才可用。 .TP .B DIRSTACK 一个数组变量,包含当前目录栈的内容。栈中的目录排列的顺序就是用内建命令 .B dirs 显示时的顺序。对这个数组变量的成员赋值可以用来修改栈中已有的目录,但是要添加和删除目录就必须使用 内建命令 .B pushd 和 .B popd。 对它赋值不会改变当前目录。如果取消了 .SM .B DIRSTACK 的定义,它就失去了它的特殊意义,即使后来重新定义它。 .TP .B EUID 扩展为当前用户的有效用户 ID。它在 shell 启动时设置。它是只读的。 .TP .B FUNCNAME 当前执行的 shell 函数名。这个变量只有在执行一个 shell 函数时存在。向 .SM .B FUNCNAME 赋值没有效果并且返回一个错误。如果取消了 .SM .B FUNCNAME 的定义,它就失去了特殊的意义,即使后来重新定义它。 .TP .B GROUPS 一个数组变量,包含当前用户所属的组的列表。向 .SM .B GROUPS 赋值没有效果并且返回一个错误。如果取消了 .SM .B GROUPS 的定义,它就失去了特殊的意义,即使后来重新定义它。 .TP .B HISTCMD 当前命令的历史编号,或者历史列表中的索引。如果取消了 .SM .B HISTCMD 的定义,它就失去了特殊的意义,即使后来重新定义它。 .TP .B HOSTNAME 自动设置为当前的主机名。 .TP .B HOSTTYPE 自动设置为一个字符串,唯一地标识着正在运行 .B bash 的机器类型。默认值是系统相关的。 .TP .B LINENO 每次引用这个参数时,shell 将它替换为一个指示在脚本或函数中当前行号的十进制数字(从 1 开始)。 如果不是在脚本或函数中,替换得到的值不一定有意义。如果取消了 .SM .B LINENO 的定义,它就失去了特殊的意义,即使后来重新定义它。 .TP .B MACHTYPE 自动设置为一个字符串,完整的描述了正在运行 .B bash 的系统类型,格式是标准的 GNU \fIcpu-company-system\fP 格式。默认值是系统相关的。 .TP .B OLDPWD 上一次命令 .B cd 设置的工作目录。 .TP .B OPTARG 内建命令 .B getopts 处理的最后一个选项参数值 (参见下面的 .SM .B "shell 内建命令(SHELL BUILTIN COMMANDS)" 章节)。 .TP .B OPTIND 内建命令 .B getopts 将处理的下一个参数的索引 (参见下面的 .SM .B "shell 内建命令(SHELL BUILTIN COMMANDS)" 章节)。 .TP .B OSTYPE 自动设置的一个字符串,描述了正在运行 .B bash 的操作系统。默认值是系统相关的。 .TP .B PIPESTATUS 一个数组变量 (参见下面的 .B Arrays 数组 章节),包含最近执行的前台管道中的进程(可能只包含一个命令)的退出状态。 .TP .B PPID shell 的父进程的进程号。这个变量是只读的。 .TP .B PWD 由 .B cd 命令设置的当前工作目录。 .TP .B RANDOM 每次引用这个参数时,都会产生一个 0 到 32767 之间的随机整数。可以通过向 .SM .BR RANDOM 赋值来初始化随机数序列。如果取消了 .SM .B RANDOM 的定义,它就失去了特殊的意义,即使后来重新定义它。 .TP .B REPLY 变量的值将作为内建命令 .B read 的输入,如果命令没有参数的话。 .TP .B SECONDS 每次引用这个参数时,返回 shell 自运行以来的秒数。如果向 .SM .BR SECONDS 赋值,此后对它的引用将返回自赋值时起的秒数加上所赋予的值。如果取消 .SM .B SECONDS 的定义,它就失去了特殊的意义,即使后来重新定义它。 .TP .B SHELLOPTS 一个冒号分隔的被允许的 shell 选项列表。列表中每个词都是内置命令 .B set 的 .B \-o 选项的有效参数。 .SM .B SHELLOPTS 中出现的选项也是 \fBset \-o\fP 显示为 .I on 的选项。如果 .B bash 启动时从环境中找到这个变量,那么在读取任何配置文件之前,列表中的每个选项都将被设置。这个变量是只读的。 .TP .B SHLVL 每次启动一个 .B bash 的实例时都会增加。 .TP .B UID 扩展为当前用户的 ID,在启动时初始化。这个变量是只读的。 .PD .PP 下列变量被 shell 使用。有时 .B bash 会为变量赋默认值;这些情况在下面会标出。 .PP .PD 0 .TP .B BASH_ENV 如果 \fBbash\fP 在执行一个 shell 脚本时设定了这个变量,它的值将被解释为一个文件名, 包含着初始化 shell 用到的命令,就像 .IR ~/.bashrc 中一样。 .SM .B BASH_ENV 的值在被解释为一个文件名之前要经过参数扩展,命令替换和算术扩展。不会使用 .SM .B PATH 来查找结果文件名。 .TP .B CDPATH 命令 .B cd 的搜索路径。这是一个冒号分隔的目录列表,shell 从中查找 .B cd 命令的目标目录。可以是这样: .if t \f(CW".:~:/usr"\fP. .if n ".:~:/usr". .TP .B COLUMNS 用在内建命令 \fBselect\fP 当中,用来判断输出选择列表时的终端宽度。 自动根据 SIGWINCH 信号来设置。 .TP .B COMPREPLY 一个数组变量,\fBbash\fP 从中读取可能的命令补全。 它是由命令补全功能调用的 shell 函数产生的。 .TP .B FCEDIT 内建命令 .B fc 默认的编辑器。 .TP .B FIGNORE 一个冒号分隔的后缀名列表,在进行文件名补全时被忽略 (参见下面的 .SM .B READLINE 章节)。一个后缀满足其中之一的文件名被排除在匹配的文件名之外。可以是这样: .if t \f(CW".o:~"\fP. .if n ".o:~". .TP .B GLOBIGNORE 一个冒号分隔的模式列表,定义了路径名扩展时要忽略的文件名集合。 如果一个文件名与路径扩展模式匹配,同时匹配 .SM .BR GLOBIGNORE 中的一个模式时,它被从匹配列表中删除。 .TP .B HISTCONTROL 如果设置为 .IR ignorespace , 以 .B space 开头的行将不会插入到历史列表中。如果设置为 .IR ignoredups , 匹配上一次历史记录的行将不会插入。设置为 .I ignoreboth 会结合这两种选项。如果没有定义,或者设置为其他值,所有解释器读取的行都将存入历史列表, 但还要经过 .BR HISTIGNORE 处理。这个变量的作用可以被 .BR HISTIGNORE 替代。多行的组合命令的第二和其余行都不会被检测,不管 .BR HISTCONTROL 是什么,都会加入到历史中。 .TP .B HISTFILE 保存命令历史的文件名 (参见下面的 .SM .B HISTORY 历史 章节)。默认值是 \fI~/.bash_history\fP。如果取消定义,在交互式 shell 退出时 命令历史将不会保存。 .TP .B HISTFILESIZE 历史文件中包含的最大行数。当为这个变量赋值时,如果需要的话,历史文件将被截断 来容纳不超过这个值的行。默认值是 500。历史文件在交互式 shell 退出时 也会被截断到这个值。 .TP .B HISTIGNORE 一个冒号分隔的模式列表,用来判断那个命令行应当保存在历史列表中。每个模式 都定位于行首,必须匹配整行 (没有假定添加 `\fB*\fP')。在 .B HISTCONTROL 指定的测试结束后,这里的每个模式都要被测试。除了平常的 shell 模式匹配字符, `\fB&\fP' 匹配上一个历史行。`\fB&\fP' 可以使用反斜杠来转义;反斜杠在 尝试匹配之前将被删除。多行的组合命令的第二行以及后续行都不会被测试,不管 .BR HISTIGNORE 是什么,都将加入到历史中。 .TP .B HISTSIZE 命令历史中保存的历史数量 (参见下面的 .SM .B HISTORY 历史 章节)。默认值是 500。 .TP .B HOME 当前用户的个人目录;内建命令 \fBcd\fP 的默认参数。在执行波浪线扩展时也用到这个变量。 .TP .B HOSTFILE 包含一个格式和 .FN /etc/hosts 相同的文件名,当 shell 需要补全主机名时要读取它。shell 运行过程中 可以改变可能的主机名补全列表;改变之后下一次需要主机名补全时 .B bash 会将新文件的内容添加到旧列表中。如果定义了 .SM .B HOSTFILE 但是没有赋值,\fBbash\fP 将尝试读取 .FN /etc/hosts 文件来获得可能的主机名补全列表。当取消 .SM .B HOSTFILE 的定义时,主机名列表将清空。 .TP .B IFS 内部字段分隔符 .I Internal Field Separator 用来在扩展之后进行分词,使用内部命令 .B read 将行划分成词。默认值是 ``''。 .TP .B IGNOREEOF 控制交互式 shell 接受到唯一一个 .SM .B EOF 字符时的行为。如果有定义,值是需要在一行的开始连续输入 .SM .B EOF 字符,直到可以使 .B bash 退出的字符个数。如果这个变量存在,但是值不是一个数字或者没有赋值,默认值是 10。 如果变量没有定义, .SM .B EOF 标志着输入的结束。 .TP .B INPUTRC .B readline 的启动配置文件,而不是默认的 .FN ~/.inputrc (参见下面的 .SM .B READLINE 章节)。 .TP .B LANG 用来决定没有特地用 \fBLC_\fP 变量指定的语言环境项。 .TP .B LC_ALL 这个变量超越了 \fBLANG\fP 和所有其他指定语言环境项的 \fBLC_\fP 变量。 .TP .B LC_COLLATE 这个变量决定了为路径扩展的结果排序时的字母顺序,决定了范围表达式的行为, 等价类,和路径扩展中的归并顺序以及模式匹配。 .TP .B LC_CTYPE 这个变量决定了字符的解释和路径扩展以及模式匹配中字符类的行为。 .TP .B LC_MESSAGES 这个变量决定了翻译以 \fB$\fP 前导的双引号字符串时的语言环境。 .TP .B LC_NUMERIC 这个变量决定了格式化数字时的语言环境分类。 .TP .B LINES 内建命令 \fBselect\fP 用它来判断输出选择列表时的列宽度。在收到 SIGWINCH 信号时自动设置。 .TP .B MAIL 如果这个参数设置为一个文件名,并且没有设置环境变量 .SM .B MAILPATH 的话, .B bash 将在这个文件中通知用户有邮件到达。 .TP .B MAILCHECK 指定 .B bash 检查邮件的频率是多少,以秒为单位。默认值是 60 秒。需要检查邮件的时候,shell 在显示提示符之前将进行检查。 如果取消它的定义,或者设置为并非大于等于零的数值,shell 将禁止邮件检查。 .TP .B MAILPATH 一个冒号分隔的文件名列表,从中检查邮件。当邮件到达某个特殊文件中时,输出的特定消息可以 通过将文件名与消息以 `?' 分隔来指定。 在消息的文本中,\fB$_\fP 扩展为当前邮件文件的文件名。例如: .RS .PP \fBMAILPATH\fP='/var/mail/bfox?"You have mail":~/shell\-mail?"$_ has mail!"' .PP .B Bash 为这个变量提供默认值,但是它使用的用户邮件文件的位置是系统相关的 (例如,/var/mail/\fB$USER\fP)。 .RE .TP .B OPTERR 如果设置为 1, .B bash 显示内建命令 .B getopts 产生的错误消息 (参见下面的 .SM .B "shell 内建命令(SHELL BUILTIN COMMANDS)" 章节)。每次 shell 启动时或者一个 shell 脚本被执行时 .SM .B OPTERR 被初始化为 1。 .TP .B PATH 搜索命令的路径。它是一个冒号分割的目录列表,shell 从中搜索命令 (参见下面的 .SM .B "命令执行(COMMAND EXECUTION)" 段落)。默认的路径是系统相关的,是由安装 .BR bash 的系统管理员设置的。通常它的值是 .if t \f(CW/usr/gnu/bin:/usr/local/bin:/usr/ucb:/bin:/usr/bin:.\fP。 .if n ``/usr/gnu/bin:/usr/local/bin:/usr/ucb:/bin:/usr/bin:.''。 .TP .B POSIXLY_CORRECT 如果 \fBbash\fP 启动环境中有这个变量,它将在读取启动配置文件之前进入 \fIposix mode\fP,就好像提供了 .B \-\-posix 启动参数一样。如果 shell 运行过程中设置了它,\fBbash\fP 就启用 \fIposix mode\fP,就好像执行了 .if t \f(CWset -o posix\fP .if n \fIset -o posix\fP 命令一样。 .TP .B PROMPT_COMMAND 如果有定义,它的值将作为一个命令,每次显示主提示符之前都会执行。 .TP .B PS1 这个参数的值被扩展 (参见下面的 .SM .B PROMPTING 提示符 段落),用作主提示符字符串。默认值是 ``\fB\es\-\ev\e$ \fP''。 .TP .B PS2 这个参数的值同 .B PS1 一起被扩展,用作次提示符字符串。默认值是 ``\fB> \fP''。 .TP .B PS3 这个参数的值被用作内建命令 .B select 的提示符 (参见上面的 .SM .B SHELL GRAMMAR 语法 章节)。 .TP .B PS4 这个参数的值同 .B PS1 一起被扩展,在执行跟踪中在 .B bash 显示每个命令之前显示。需要的话, .SM .B PS4 的第一个字符会被复制多次,来指示 indirection 的层数。默认值是 ``\fB+ \fP''。 .TP .B TIMEFORMAT 在前缀 time 保留字的管道中,这个参数的值用作格式字符串, 指定计时信息如何显示。字符 \fB%\fP 引入的转义序列,被扩展为时间值 或其他信息。转义序列和它们的含义如下所示;括号中是可选的成分。 .sp .5 .RS .PD 0 .TP 10 .B %% 一个字面上的 \fB%\fP。 .TP .B %[\fIp\fP][l]R 经历的时间,以秒计算。 .TP .B %[\fIp\fP][l]U CPU 在用户模式下执行的秒数。 .TP .B %[\fIp\fP][l]S CPU 在系统模式下执行的秒数。 .TP .B %P CPU 使用率,算法是 (%U + %S) / %R。 .PD .RE .IP 可选的 \fIp\fP 是指定精度 (小数点后数字位数) 的数值。 如果是 0 就不输出小数点或小数值。最多指定到小数点后三位; 如果 \fIp\fP 大于 3 就会被改为 3。如果没有指定 \fIp\fP,默认使用 3。 .IP 可选的 \fBl\fP 指定了长格式,包含分钟,格式是 \fIMM\fPm\fISS\fP.\fIFF\fPs。 \fIp\fP 的值决定了是不是包含小数位。 .IP 如果没有设置这个值,\fBbash\fP 假定它的值是 \fB$'\enreal\et%3lR\enuser\et%3lU\ensys\t%3lS'\fP。 如果它是空值,就不会显示计时信息。显示格式字符串的时候,会加上 一个前导的新行符。 .TP .B TMOUT 如果设置为大于 0 的值,\fBTMOUT\fP 被当作内建命令 \fBread\fP 的默认超时 等待时间。如果等待终端输入时, \fBTMOUT\fP 秒之后仍然没有输入, \fBselect\fP 命令将终止。在交互的 shell 中,它的值被解释为显示了 主提示符之后等待输入的秒数。如果经过这个秒数之后仍然没有输入, .B Bash 将退出。 .TP .B auto_resume 这个变量控制了 shell 如何与用户和作业控制交互。如果设置了这个变量, 一个不包含重定向的单个词的简单命令,将作为恢复被中断的作业的指示。 不允许出现模棱两可的情况;如果有多个作业都以这个词起始,将恢复最近运行 的作业。在这种情形下,被中断的作业的 .I name 是用于启动它的命令行。如果值设置为 .IR exact, 给出的字符串必须精确匹配被中断的作业名;如果设置为 .IR substring , 给出的字符串需要匹配被中断的作业名的子串。值 .I substring 的功能与作业标识符 .B %? 功能类似 (参见下面的 .SM .B JOB CONTROL 作业控制 章节)。如果设置为任何其他值,给出的字符串必须是被中断的作业的前缀; 这样做与作业标识符 .B % 功能类似。 .TP .B histchars 两到三个字符,控制着历史扩展和分段 (tokenization,参见下面的 .SM .B HISTORY EXPANSION 历史扩展 章节)。第一个字符是 \fIhistory expansion\fP(历史扩展) 字符, 这个字符表明了历史扩展的开始,通常是 `\fB!\fP'。 第二个字符是 \fIquick substitution\fP(快速替换) 字符, 它是重新运行上次输入的命令,但将命令中的字符串替换为另一个的简写, 默认是 `\fB^\fP'。可选的第三个字符是指示如果作为一个词的开始,那么 一行中剩余字符是注释。通常这个字符是 `\fB#\fP'。历史注释字符使得 对一行中剩余字符在历史替换中被跳过。它不一定使 shell 解释器将 这一行的剩余部分当作注释。 .PD .SS Arrays .B Bash 提供了一维数组变量。任何变量都可以作为一个数组;内建命令 .B declare 可以显式地定义数组。数组的大小没有上限,也没有限制在连续对成员引用和 赋值时有什么要求。数组以整数为下标,从 0 开始。 .PP 如果变量赋值时使用语法 \fIname\fP[\fIsubscript\fP]=\fIvalue\fP, 那么就会自动创建数组。 .I subscript 被当作一个算术表达式,结果必须是大于等于 0 的值。要显式地定义一个数组,使用 .B declare \-a \fIname\fP (参见下面的 .SM .B "shell 内建命令(SHELL BUILTIN COMMANDS)" 章节)。也可以用 .B declare \-a \fIname\fP[\fIsubscript\fP] 这时 \fI subscript\fP 被忽略。数组变量的属性可以用内建命令 .B declare 和 .B readonly 来指定。每个属性对于所有数组元素都有效。 .PP 数组赋值可以使用复合赋值的方式,形式是 \fIname\fP=\fB(\fPvalue\fI1\fP ... value\fIn\fP\fB)\fP,这里每个 \fIvalue\fP 的形式都是 [\fIsubscript\fP]=\fIstring\fP。\fIstring\fP 必须出现。如果出现了可选的括号和下标,将为这个下标赋值,否则 被赋值的元素的下标是语句中上一次赋值的下标加一。下标从 0 开始。 这个语法也被内建命令 .B declare 所接受。单独的数组元素可以用上面介绍的语法 \fIname\fP[\fIsubscript\fP]=\fIvalue\fP 来赋值。 .PP 数组的任何元素都可以用 ${\fIname\fP[\fIsubscript\fP]} 来引用。 花括号是必须的,以避免和路径扩展冲突。如果 \fIsubscript\fP 是 \fB@\fP 或是 \fB*\fP,它扩展为 \fIname\fP 的所有成员。 这两种下标只有在双引号中才不同。在双引号中,${\fIname\fP[*]} 扩展为一个词, 由所有数组成员的值组成,用特殊变量 .SM .B IFS 的第一个字符分隔;${\fIname\fP[@]} 将 \fIname\fP 的每个成员扩展为一个词。 如果数组没有成员,${\fIname\fP[@]} 扩展为空串。这种不同类似于特殊参数 \fB*\fP 和 \fB@\fP 的扩展 (参见上面的 .B Special Parameters 段落)。${#\fIname\fP[\fIsubscript\fP]} 扩展为 ${\fIname\fP[\fIsubscript\fP]} 的长度。如果 \fIsubscript\fP 是 \fB*\fP 或者是 \fB@\fP,扩展结果是数组中元素的个数。引用没有下标数组变量等价于 引用元素 0。 .PP 内建命令 .B unset 用于销毁数组。\fBunset\fP \fIname\fP[\fIsubscript\fP] 将销毁下标是 \fIsubscript\fP 的元素。 \fBunset\fP \fIname\fP, 这里 \fIname\fP 是一个数组,或者 \fBunset\fP \fIname\fP[\fIsubscript\fP], 这里 \fIsubscript\fP 是 \fB*\fP 或者是 \fB@\fP,将销毁整个数组。 .PP 内建命令 .BR declare , .BR local , 和 .B readonly 都能接受 .B \-a 选项,从而指定一个数组。内建命令 .B read 可以接受 .B \-a 选项,从标准输入读入一列词来为数组赋值。内建命令 .B set 和 .B declare 使用一种可以重用为输入的格式来显示数组元素。 .SH 扩展(EXPANSION) 命令行的扩展是在拆分成词之后进行的。有七种类型的扩展: .IR "brace expansion" (花括号扩展), .IR "tilde expansion" (波浪线扩展), .IR "parameter and variable expansion" (参数和变量扩展), .IR "command substitution" (命令替换), .IR "arithmetic expansion" (算术扩展), .IR "word splitting" (词的拆分), 和 .IR "pathname expansion" (路径扩展). .PP 扩展的顺序是:brace expansion, tilde expansion, parameter, variable 和 arithmetic expansion 还有 command substitution (按照从左到右的顺序), word splitting, 最后是 pathname expansion. .PP 还有一种附加的扩展:\fIprocess subtitution\fP (进程替换) 只有在支持它 的系统中有效。 .PP 只有 brace expansion, word splitting, 和 pathname expansion 在扩展前后的词数会发生改变;其他扩展总是将一个词扩展为一个词。 唯一的例外是上面提到的 "\fB$@\fP" 和 "\fB${\fP\fIname\fP\fB[@]}\fP" (参见 .SM .BR PARAMETERS 参数)。 .SS Brace Expansion .PP .I "Brace expansion" 是一种可能产生任意字符串的机制。这种机制类似于 \fIpathname expansion\fP, 但是并不需要存在相应的文件。 花括号扩展的模式是一个可选的 .IR preamble (前导字符), 后面跟着一系列逗号分隔的字符串,包含在一对花括号中, 再后面是一个可选的 .IR postscript (附言)。 前导被添加到花括号中的每个字符串前面,附言被附加到每个结果字符串之后, 从左到右进行扩展。 .PP 花括号扩展可以嵌套。扩展字符串的结果没有排序;而是保留了从左到右的顺序。 例如, a\fB{\fPd,c,b\fB}\fPe 扩展为 `ade ace abe'。 .PP 花括号扩展是在任何其他扩展之前进行的,任何对其他扩展有特殊意义的字符 都保留在结果中。它是严格字面上的。 .B Bash 不会对扩展的上下文或花括号中的文本做任何语义上的解释。 .PP 正确的花括号扩展必须包含没有引用的左括号和右括号,以及至少一个没有 引用的逗号。任何不正确的表达式都不会被改变。可以用反斜杠来引用 \fB{\fP 或 \fB,\fP 来阻止将它们识别为花括号表达式的一部分。 为了避免与参数扩展冲突,字符串 \fB${\fP 不被认为有效的组合。 .PP 这种结构通常用来简写字符串的公共前缀远比上例中为长的情况,例如: .RS .PP mkdir /usr/local/src/bash/{old,new,dist,bugs} .RE 或者: .RS chown root /usr/{ucb/{ex,edit},lib/{ex?.?*,how_ex}} .RE .PP 花括号扩展导致了与历史版本的 .BR sh 的一点不兼容。在左括号或右括号作为词的一部分出现时, .B sh 不会对它们进行特殊处理,会在输出中保留它们。 .B Bash 将括号从花括号扩展结果的词中删除。例如,向 .B sh 输入 \fIfile{1,2}\fP 会导致不变的输出。同样的输入在 .BR bash 进行扩展之后,会输出 .I file1 file2 . 如果需要同 .B sh 严格地保持兼容,需要在启动 .B bash 的时候使用 .B +B 选项,或者使用 .B set 命令加上 .B +B 选项来禁用花括号扩展 (参见下面的 .SM .B "shell 内建命令(SHELL BUILTIN COMMANDS)" 章节)。 .SS Tilde Expansion .PP 如果一个词以没有引用的波浪线字符 (`\fB~\fP') 开始,所有 在第一个没有引用的斜线 (`/') 之前的字符 (或者是这个词的所有字符, 如果没有没引用的斜线的话) 都被认为是 \fItilde-prefix\fP(波浪线前缀)。 如果 tilde-prefix 中没有被引用的字符,那么波浪线之后的字符串 被认为是 \fIlogin name\fP(登录名)。如果登录名是空字符串,波浪线将 被替换为 shell 参数 .SM .BR HOME 的值。如果没有定义 .SM .B HOME, 将替换为执行此 shell 的用户的个人目录。否则,tilde-prefix 被替换为 与指定登录名相联系的个人目录。 .PP 如果 tilde-prefix 是 `~+',将使用 shell 变量 .SM .B PWD 的值来替换。如果 tilde-prefix 是 `~\-',并且设置了 shell 变量 .SM .BR OLDPWD , 将使用这个变量值来替换。如果在 tilde-prefix 中,波浪线之后的字符串 由一个数字 \fIN\fP 组成,前缀可选的 `+' 或者 `\-',那么 tilde-prefix 将被替换为目录栈中相应的元素,就是将 tilde-prefix 作为参数执行内建命令 .B dirs 显示的结果。如果 tilde-prefix 中波浪线之后的字符是一个数字,没有前缀, 那么就假定有一个 `+'。 .PP 如果登录名不合法,或者波浪线扩展失败,这个词将不会变化。 .PP 在变量赋值中,对于 .B : 或 .BR = 之后的字符串会立即检查未引用的 tilde-prefix。 这种情况下,仍然会进行波浪线扩展。因此,可以使用带波浪线的文件名来为 .SM .BR PATH , .SM .BR MAILPATH , 和 .SM .BR CDPATH 赋值,shell 将赋予扩展之后的值。 .SS Parameter Expansion .PP 字符 `\fB$\fP' 引入了参数扩展,命令替换和算术扩展。要扩展的参数名或符号 可能包含在花括号中,花括号可选的,但是可以使得要扩展的变量不会与紧随其后 的字符合并,成为新的名称。 .PP 使用花括号的时候,匹配的右括号是第一个 `\fB}\fP',并且它没有被反斜杠引用 或包含在一个引用的字符串中,也没有包含在一个嵌入的算术扩展,命令替换 或是参数扩展中。 .PP .PD 0 .TP ${\fIparameter\fP} 被替换为 \fIparameter\fP 的值。如果 .I parameter 是一个位置参数,并且数字多于一位时;或者当紧随 .I parameter 之后有不属于名称一部分的字符时,都必须加上花括号。 .PD .PP 如果 \fIparameter\fP 的第一个字符是一个感叹号,将引进一层间接变量。 \fBbash\fP 使用以 \fIparameter\fP 的其余部分为名的变量的值作为变量的名称; 接下来新的变量被扩展,它的值用在随后的替换当中,而不是使用 \fIparameter\fP 自身的值。这也称为 \fIindirect expansion\fP(间接扩展). 例外情况是下面讲到的 ${!\fIprefix\fP*}。 .PP 下面的每种情况中,\fIword\fP 都要经过波浪线扩展,参数扩展,命令替换和 算术扩展。如果不进行子字符串扩展,\fBbash\fP 测试一个没有定义或值为空的 参数;忽略冒号的结果是只测试未定义的参数。 .PP .PD 0 .TP ${\fIparameter\fP\fB:\-\fP\fIword\fP} \fBUse Default Values\fP(使用默认值)。如果 .I parameter 未定义或值为空,将替换为 .I word 的扩展。否则,将替换为 .I parameter 的值。 .TP ${\fIparameter\fP\fB:=\fP\fIword\fP} \fBAssign Default Values\fP(赋默认值)。如果 .I parameter 未定义或值为空, .I word 的扩展将赋予 .IR parameter . .I parameter 的值将被替换。位置参数和特殊参数不能用这种方式赋值。 .TP ${\fIparameter\fP\fB:?\fP\fIword\fP} \fBDisplay Error if Null or Unset\fP(显示错误,如果未定义或值为空)。如果 .I parameter 未定义或值为空,\fIword\fP (或一条信息,如果 .I word 不存在) 的扩展将写入到标准错误;shell 如果不是交互的,则将退出。否则, \fIparameter\fP 的值将被替换。 .TP ${\fIparameter\fP\fB:+\fP\fIword\fP} \fBUse Alternate Value\fP(使用可选值)。如果 .I parameter 未定义或值为空,不会进行替换;否则将替换为 .I word 扩展后的值。 .TP ${\fIparameter\fP\fB:\fP\fIoffset\fP} .PD 0 .TP ${\fIparameter\fP\fB:\fP\fIoffset\fP\fB:\fP\fIlength\fP} .PD \fBSubstring Expansion\fP(子字符串扩展)。 扩展为\fIparameter\fP 的最多 \fIlength\fP 个字符,从 \fIoffset\fP 指定的字符开始。如果忽略了 \fIlength\fP,扩展为 \fIparameter\fP 的子字符串, 从 \fIoffset\fP 指定的字符串开始。\fIlength\fP 和 \fIoffset\fP 是算术表达式 (参见下面的 .SM .B ARITHMETIC EVALUATION 算术求值 段落)。 \fIlength\fP 必须是一个大于等于 0 的数值。如果 \fIoffset\fP 求值结果小于 0, 值将当作从 \fIparameter\fP 的值的末尾算起的偏移量。如果 \fIparameter\fP 是 \fB@\fP,结果是 \fIlength\fP 个位置参数,从 \fIoffset\fP 开始。 如果 \fIparameter\fP 是一个数组名,以 @ 或 * 索引,结果是数组的 \fIlength\fP 个成员,从 ${\fIparameter\fP[\fIoffset\fP]} 开始。 子字符串的下标是从 0 开始的,除非使用位置参数时,下标从 1 开始。 .TP ${\fB!\fP\fIprefix\fP\fB*\fP} 扩展为名称以 \fIprefix\fP 开始的变量名,以特殊变量 .SM .B IFS 的第一个字符分隔。 .TP ${\fB#\fP\fIparameter\fP} 替换为 \fIparameter\fP 的值的长度 (字符数目)。如果 .I parameter 是 .B * 或者是 .BR @ , 替换的值是位置参数的个数。如果 .I parameter 是一个数组名,下标是 .B * 或者是 .BR @ , 替换的值是数组中元素的个数。 .TP ${\fIparameter\fP\fB#\fP\fIword\fP} .PD 0 .TP ${\fIparameter\fP\fB##\fP\fIword\fP} .PD .I word 被扩展为一个模式,就像路径扩展中一样。如果这个模式匹配 .IR parameter 的值的起始,那么扩展的结果是将 .I parameter 扩展后的值中,最短的匹配 (``\fB#\fP'' 的情况) 或者最长的匹配 (``\fB##\fP''的情况) 删除的结果。如果 .I parameter 是 .B @ 或者是 .BR * , 则模式删除操作将依次施用于每个位置参数,最后扩展为结果的列表。如果 .I parameter 是一个数组变量,下标是 .B @ 或者是 .BR * , 模式删除将依次施用于数组中的每个成员,最后扩展为结果的列表。 .TP ${\fIparameter\fP\fB%\fP\fIword\fP} .PD 0 .TP ${\fIparameter\fP\fB%%\fP\fIword\fP} .PD \fIword\fP 被扩展为一个模式,就像路径扩展中一样。如果这个模式匹配 .IR parameter 扩展后的值的尾部,那么扩展的结果是将 .I parameter 扩展后的值中,最短的匹配 (``\fB%\fP'' 的情况) 或者最长的匹配 (``\fB%%\fP''的情况) 删除的结果。如果 .I parameter 是 .B @ 或者是 .BR * , 则模式删除操作将依次施用于每个位置参数,最后扩展为结果的列表。如果 .I parameter 是一个数组变量,下标是 .B @ 或者是 .BR * , 模式删除将依次施用于数组中的每个成员,最后扩展为结果的列表。 .TP ${\fIparameter\fP\fB/\fP\fIpattern\fP\fB/\fP\fIstring\fP} .PD 0 .TP ${\fIparameter\fP\fB//\fP\fIpattern\fP\fB/\fP\fIstring\fP} .PD \fIpatterm\fP 被扩展为一个模式,就像路径扩展中一样。\fIparameter\fP 被扩展,其值中最长的匹配 \fIpattern\fP 的内容被替换为 \fIstring\fP。 在第一种形式中,只有第一个匹配被替换。第二种形式使得 \fIpattern\fP 中所有匹配都被替换为 \fIstring\fP。 如果 \fIpattern\fP 以 \fB#\fP 开始,它必须匹配 \fIparameter\fP 扩展后 值的首部。如果 \fIpattern\fP 以 \fB%\fP 开始,它必须匹配 \fIparameter\fP 扩展后值的尾部。如果 \fIstring\fP 是空值,\fIpattern\fP 的匹配都将被删除, \fIpattern\fP 之后的 \fB/\fP 将被忽略。如果 .I parameter 是 .B @ 或者是 .BR * , 则替换操作将依次施用于每个位置参数,最后扩展为结果的列表。如果 .I parameter 是一个数组变量,下标是 .B @ 或者是 .BR * , 模式删除将依次施用于数组中的每个成员,最后扩展为结果的列表。 .SS Command Substitution .PP 命令替换 (\fICommand substitution\fP) 允许以命令的输出替换命令名。有 两种形式: .PP .RS .PP \fB$(\fP\fIcommand\fP\|\fB)\fP .RE 还有 .RS \fB`\fP\fIcommand\fP\fB`\fP .RE .PP .B Bash 进行扩展的步骤是执行 \fIcommand\fP,以它的标准输出替换它,并且将所有后续的 新行符删除。内嵌的新行符不会删除,但是它们可能会在词的拆分中被删除。 命令替换 \fB$(cat \fIfile\fP)\fR 可以用等价但是更快的方法 \fB$(< \fIfile\fP)\fR 代替。 .PP 当使用旧式的反引号 ("``") 替换形式时,反斜杠只有其字面意义,除非 后面是 .BR $ , .BR ` , 或者是 .BR \e . 第一个前面没有反斜杠的反引号将结束命令替换。当使用 $(\^\fIcommand\fP\|) 形式时,括号中所有字符组成了整个命令;没有被特殊处理的字符。 .PP 命令替换可以嵌套。要在使用反引号形式时嵌套,可以用反斜杠来转义内层的 反引号。 .PP 如果替换发生在双引号之中,结果将不进行词的拆分和路径扩展。 .SS Arithmetic Expansion .PP 算术扩展允许算术表达式的求值和结果的替换。算术扩展的格式是: .RS .PP \fB$((\fP\fIexpression\fP\fB))\fP .RE .PP 表达式 .I expression 被视为如同在双引号之中一样,但是括号中的双引号不会被特殊处理。 表达式中所有词都经过了参数扩展,字符串扩展,命令替换和引用的删除。 算术替换可以嵌套。 .PP 求值根据下面 .SM .BR "算术求值 (ARITHMETIC EVALUATION)" 章节中列出的规则进行。如果表达式 .I expression 非法, .B bash 输出错误提示消息,不会进行替换。 .SS Process Substitution .PP \fIProcess substitution\fP (进程替换) 只有在支持命名管道 (\fIFIFOs\fP), 或者支持使用 \fB/dev/fd\fP 方式为打开的文件命名的系统中才可用。 它的形式是 \fB<(\fP\fIlist\^\fP\fB)\fP 或者是 \fB>(\fP\fIlist\^\fP\fB)\fP。 进程 \fIlist\fP 运行时的输入或输出被连接到一个 \fIFIFO\fP 或者 \fB/dev/fd\fP 中的文件。文件的名称作为一个参数被传递到当前命令,作为扩展的结果。 如果使用 \fB>(\fP\fIlist\^\fP\fB)\fP 形式,向文件写入相当于为 \fIlist\fP 提供输入。如果使用 \fB<(\fP\fIlist\^\fP\fB)\fP 形式,可以读作为参数传递 的文件来获得 \fIlist\fP 的输出。 .PP 如果可能的话,进程替换是与参数和变量扩展,命令替换和算术扩展同时发生的。 .SS Word Splitting .PP shell 检测不在双引号引用中发生的参数扩展,命令替换和算术扩展的结果, 进行 .IR "word splitting" (词的拆分)。 .PP shell 将 .SM .B IFS 的每个字符都作为定界符,根据这些字符来将其他扩展的结果分成词。如果 .SM .B IFS 没有定义,或者它的值是默认的 .BR , 那么 .SM .B IFS 字符的任何序列都将作为分界之用。如果 .SM .B IFS 的值是默认之外的值,那么词开头和结尾的空白字符 .B space 和 .B tab 都将被忽略,只要空白字符在 .SM .BR IFS 的值之内 (即, .SM .B IFS 包含空白字符)。 任何在 .SM .B IFS 之中但是不是 .SM .B IFS 空白的字符,以及任何相邻的 .SM .B IFS 空白字符,将字段分隔开来。 .SM .B IFS 空白字符的序列也被作为分界符。如果 .SM .B IFS 的值是空,不会发生词的拆分。 .PP 显式给出的空值参数 (\^\f3"\^"\fP 或 \^\f3'\^'\fP\^) 将被保留。 隐含的空值参数,来自于空值的参数扩展,如果没有引用则将被删除。 如果空值的参数在双引号引用中扩展,结果是空值的参数,将被保留。 .PP 注意如果没有发生扩展,不会进行词的拆分。 .SS Pathname Expansion .PP 词的拆分之后,除非设置过 .B \-f 选项, .B bash 搜索每个词,寻找字符 .BR * , .BR ? , 和 .BR [ . 如果找到了其中之一,那么这个词被当作一个 .IR pattern (模式), 被替换为匹配这个模式的文件名以字母顺序排列的列表。如果没有找到匹配的文件名, 并且 shell 禁用了 .B nullglob 选项,这个词将不发生变化。如果设置了 .B nullglob 选项并且没有找到匹配,这个词将被删除。如果启用了 .B nocaseglob 选项,匹配时将不考虑字母的大小写。当模式用作路径名扩展时,字符 .B ``.'' 如果在一个名称的开始或者紧随一个斜杠之后,那么它必须被显式地匹配,除非设置了 .B dotglob shell 选项。当匹配一个路径名时,斜杠符必须被显式地匹配。其他情况下,字符 .B ``.'' 不会被特殊对待。参见下面的 .SM .B "shell 内建命令(SHELL BUILTIN COMMANDS)" 中对 .B shopt 的介绍,其中有 shell 选项 .BR nocaseglob , .BR nullglob , 和 .B dotglob 的描述。 .PP 环境变量 .SM .B GLOBIGNORE 可以用来限制匹配 .IR pattern 的文件名集合。如果设置了 .SM .B GLOBIGNORE, 每个匹配的文件名如果匹配 .SM .B GLOBIGNORE 中任何一个模式的话将从匹配的列表中删除。文件名 .B ``.'' 和 .B ``..'' 总是被忽略,即使设置了 .SM .B GLOBIGNORE。 但是,设置 .SM .B GLOBIGNORE 和启用 shell 选项 .B dotglob 效果是相同的,因此所有其他以 .B ``.'' 开头的文件名将被匹配。要得到原来的行为 (忽略所有以 .BR ``.'' 开头的文件名),可以将 .B ``.*'' 添加为 .SM .BR GLOBIGNORE 的模式之一。选项 .B dotglob 被禁用,如果 .SM .B GLOBIGNORE 没有定义时。 .PP \fBPattern Matching\fP .PP 任何模式中出现的字符,除了下面描述的特殊模式字符外,都匹配它本身。 模式中不能出现 NUL 字符。如果要匹配字面上的特殊模式字符,它必须被引用。 .PP 特殊模式字符有下述意义: .PP .PD 0 .TP .B * 匹配任何字符串包含空串。 .TP .B ? 匹配任何单个字符。 .TP .B [...] 匹配所包含的任何字符之一。用一个连字符 (`-') 分隔的一对字符意思是一个 \fIrange expression\fP (范围表达式); 任何排在它们之间的字符,包含它们,都被匹配。 排序使用当前语言环境的字符顺序和字符集。如果 .B [ 之后的第一个字符是一个 .B ! 或是一个 .B ^ 那么任何不包含在内的字符将被匹配。范围表达式中字符的顺序是由当前语言环境 和环境变量 \fBLC_COLLATE\fP 的值 (如果设置了的话) 决定的。一个 .B \- 只有作为集合中第一个或最后一个字符时才能被匹配。一个 .B ] 只有是集合中第一个字符时才能被匹配。 .br .if t .sp 0.5 .if n .sp 1 在 .B [ 和 .BR ] 中,\fIcharacter classes\fP (字符类) 可以用 \fB[:\fP\fIclass\fP\fB:]\fP 这样的语法来指定,这里 \fIclass\fP 是在 POSIX.2 标准中定义的下列类名之一: .PP .RS .B .if n alnum alpha ascii blank cntrl digit graph lower print punct space upper word xdigit .if t alnum alpha ascii blank cntrl digit graph lower print punct space upper word xdigit .br 一个字符类匹配任何属于这一类的字符。\fBword\fP 字符类匹配字母,数字和字符 _。 .br .if t .sp 0.5 .if n .sp 1 在 .B [ 和 .BR ] 中,可以用 \fB[=\fP\fIc\fP\fB=]\fP 这样的语法来指定 \fIequivalence class\fP (等价类)。它匹配与字符 \fIc\fP 有相同归并权值 (collation weight,由当前 语言环境定义) 的字符。 .br .if t .sp 0.5 .if n .sp 1 在 .B [ 和 .BR ] 中,语法 \fB[.\fP\fIsymbol\fP\fB.]\fP 匹配归并符号 (collating symbol) \fIsymbol\fP。 .RE .PD .PP 如果使用内建命令 \fBshopt\fP 启用了 shell 选项 \fBextglob\fP, 将识别另外几种模式匹配操作符。下面的描述中,\fIpattern-list\fP 是一个 或多个模式以 \fB|\fP 分隔的列表。复合的模式可以使用一个或多个下列的 子模式构造出来: .sp 1 .PD 0 .RS .TP \fB?(\fP\^\fIpattern-list\^\fP\fB)\fP 匹配所给模式零次或一次出现 .TP \fB*(\fP\^\fIpattern-list\^\fP\fB)\fP 匹配所给模式零次或多次出现 .TP \fB+(\fP\^\fIpattern-list\^\fP\fB)\fP 匹配所给模式一次或多次出现 .TP \fB@(\fP\^\fIpattern-list\^\fP\fB)\fP 准确匹配所给模式之一 .TP \fB!(\fP\^\fIpattern-list\^\fP\fB)\fP 任何除了匹配所给模式之一的字串 .RE .PD .SS Quote Removal .PP 经过前面的扩展之后,所有未引用的字符 .BR \e , .BR ' , 以及并非上述扩展结果的字符 \^\fB"\fP\^ 都被删除。 .SH 重定向(REDIRECTION) 在命令执行前,它的输入和输出可能被 .I redirected (重定向), 使用一种 shell 可以解释的特殊记法。重定向也可以用于为当前 shell 执行环境 打开和关闭文件。下列重定向操作符可以前置或者放在 .I simple command (简单命令) 之中的任何位置,或者放在 .IR command 之后。重定向是以出现的顺序进行处理的,从左到右。 .PP 下列描述中,如果文件描述符被忽略,并且第一个重定向操作符是 .BR < , 那么重定向指的是标准输入 (文件描述符是 0)。如果重定向操作符的第一个字符是 .BR > , 那么重定向指的是标准输出 (文件描述符是 1)。 .PP 下列描述中,重定向操作符之后的词如果没有特殊说明,都要经过 brace expansion, tilde expansion, parameter expansion, command substitution, arithmetic expansion, quote removal, pathname expansion, 还有 word splitting。如果扩展为多于一个词, .B bash 将报错。 .PP 注意重定向的顺序非常重要。例如,命令 .RS .PP ls \fB>\fP dirlist 2\fB>&\fP1 .RE .PP 将标准输出和标准错误重定向到文件 .IR dirlist , 而命令 .RS .PP ls 2\fB>&\fP1 \fB>\fP dirlist .RE .PP 只会将标准输出重定向到文件 .IR dirlist , 因为在标准输出被重定向到文件 .IR dirlist 中之前,标准错误被复制为标准输出。 .PP 一些文件名在重定向中被 \fBbash\fP 特殊处理,如下表所示: .RS .PP .PD 0 .TP .B /dev/fd/\fIfd\fP 如果 \fIfd\fP 是一个合法的整数,文件描述符 \fIfd\fP 将被复制。 .TP .B /dev/stdin 文件描述符 0 被复制。 .TP .B /dev/stdout 文件描述符 1 被复制。 .TP .B /dev/stderr 文件描述符 2 被复制。 .TP .B /dev/tcp/\fIhost\fP/\fIport\fP 如果 \fIhost\fP 是一个合法的主机名或 Internet 地址,并且 \fIport\fP 是 一个整数端口号或服务名,\fBbash\fP 试图建立与相应的 socket (套接字) 的 TCP 连接。 .TP .B /dev/udp/\fIhost\fP/\fIport\fP 如果 \fIhost\fP 是一个合法的主机名或 Internet 地址,并且 \fIport\fP 是 一个整数端口号或服务名,\fBbash\fP 试图建立与相应的 socket (套接字) 的 UDP 连接。 .PD .RE .PP 打开或创建文件错误将导致重定向出错。 .SS Redirecting Input .PP 重定向输入使得以 .I word 扩展结果为名的文件被打开并通过文件描述符 .IR n 读取,如果没有指定 .I n 那么就作为标准输入 (文件描述符为 0) 读取。 .PP 重定向输入的一般形式是: .RS .PP [\fIn\fP]\fB<\fP\fIword\fP .RE .SS Redirecting Output .PP 重定向输出使得以 .I word 扩展结果为名的文件被打开并通过文件描述符 .IR n 写入,如果没有指定 .I n 那么就作为标准输出 (文件描述符为 1) 写入。 .PP 重定向的一般形式是: .RS .PP [\fIn\fP]\fB>\fP\fIword\fP .RE .PP 如果重定向操作符是 .BR > , 并且启用了内建命令 .B set 的 .B noclobber 选项,那么如果 \fIword\fP 扩展后得到的文件名存在并且是一个普通的文件, 重定向将失败。如果重定向操作符是 .BR >| , 或者重定向操作符是 .B > 并且没有启用内建命令 .B set 的 .B noclobber 选项,那么即使 \fIword\fP 得出的文件名存在,也会尝试进行重定向。 .SS Appending Redirected Output (添加到重定向后的输出尾部) .PP 这种方式的输出重定向使得以 .I word 扩展结果为名的文件被打开并通过文件描述符 .IR n 从尾部添加。如果没有指定 .I n 就使用标准输出 (文件描述符 1)。如果文件不存在,它将被创建。 .PP 重定向的一般形式是: .RS .PP [\fIn\fP]\fB>>\fP\fIword\fP .RE .PP .SS Redirecting Standard Output and Standard Error .PP .B Bash 允许使用这种结构将标准输出和标准错误 (文件描述符 1 和 2) 重定向到以 .I word 扩展结果为名的文件中。 .PP 有两种重定向标准输出/标准错误的形式: .RS .PP \fB&>\fP\fIword\fP .RE 还有 .RS \fB>&\fP\fIword\fP .RE .PP 两种形式中,推荐使用第一种。它与 .RS .PP \fB>\fP\fIword\fP 2\fB>&\fP1 .RE 在语义上等价。 .SS Here Documents .PP 这种重定向使得 shell 从当前源文件读取输入,直到遇到仅包含 .I word 的一行 (并且没有尾部空白,trailing blanks) 为止。直到这一点的所有行被用作 命令的标准输入。 .PP here-document 的格式是: .RS .PP .nf \fB<<\fP[\fB\-\fP]\fIword\fP \fIhere-document\fP \fIdelimiter\fP .fi .RE .PP 不会对 .IR word 进行 parameter expansion, command substitution, arithmetic expansion, 或者 pathname expansion。如果 .I word 中任何字符是引用的, .I delimiter 将是对 .IR word 进行引用删除的结果,here-document 中的行不会被扩展。如果 \fIword\fP 没有被引用,here-documnet 中的所有行都要经过 parameter expansion, command substitution, 和 arithmetic expansion。 在后一种情况下,字符序列 .B \e 被忽略;必须用 .B \e 来引用字符 .BR \e , .BR $ , 和 .BR ` . .PP 如果重定向操作符是 .BR <<\- , 那么所有前导的 tab 字符都被从输入行和包含 .IR delimiter 的行中删除。这样使得 shell 脚本中的 here-document 可以被更好地缩进。 .SS "Here Strings" here-document 的变种,形式是 .RS .PP .nf \fB<<<\fP\fIword\fP .fi .RE .PP \fIword\fP 被扩展,提供给命令作为标准输入。 .SS "Duplicating File Descriptors" (复制文件描述符) .PP 重定向操作符 .RS .PP [\fIn\fP]\fB<&\fP\fIword\fP .RE .PP 用于复制文件描述符。如果 .I word 扩展为一个或多个数字, .I n 代表的文件描述符将成为那个文件描述符的复制。如果 .I word 中的数字并未指定一个被用于读取的文件描述符,将产生一个重定向错误。如果 .I word 扩展为 .BR \- , 文件描述符 .I n 将被关闭。如果没有指定 .I n, 将使用标准输入 (文件描述符 0)。 .PP 类似的,操作符 .RS .PP [\fIn\fP]\fB>&\fP\fIword\fP .RE .PP 用于复制输出文件描述符。如果没有指定 .I n, 将使用标准输出 (文件描述符 1)。如果 .I word 中的数字并未指定一个被用于输出的文件描述符,将产生一个重定向错误。 特殊情况下,如果忽略了 \fIn\fP,并且 \fIword\fP 并非扩展为一个或多个数字, 标准输出和标准错误将被重定向,和前面描述的一样。 .SS "Moving File Descriptors" .PP 重定向操作符 .RS .PP [\fIn\fP]\fB<&\fP\fIdigit\fP\fB\-\fP .RE .PP 将文件描述符 \fIdigit\fP 移动为文件描述符 .IR n , 或标准输入 (文件描述符 0),如果没有指定 \fIn\fP 的话。 \fIdigit\fP 复制为 \fIn\fP 之后就被关闭了。 .PP 类似的,重定向操作符 .RS .PP [\fIn\fP]\fB>&\fP\fIdigit\fP\fB\-\fP .RE .PP 将文件描述符 \fIdigit\fP 移动为文件描述符 .IR n , 或标准输出 (文件描述符 1),如果没有指定 \fIn\fP 的话。 .SS "Opening File Descriptors for Reading and Writing" .PP 重定向操作符 .RS .PP [\fIn\fP]\fB<>\fP\fIword\fP .RE .PP 使得以 .I word 扩展结果为名的文件被打开,通过文件描述符 .IR n 进行读写。如果没有指定 .I n 那么就使用文件描述符 0。如果文件不存在,它将被创建。 .SH 别名(ALIASES) \fIAliases\fP (别名机制) 允许将一个词来替换为一个字符串,如果它是 一个简单命令的第一个词的话。shell 记录着一个别名列表,可以使用 内建命令 .B alias 和 .B unalias 来定义和取消 (参见下面的 .SM .B "shell 内建命令(SHELL BUILTIN COMMANDS)" 章节)。每个命令的第一个词,如果没有引用,都将被检查是否是一个别名。 如果是,这个词将被它所指代的文本替换。别名和替换的文本可以包含任何有效 的 shell 输入,包含上面列出的 .I metacharacters (元字符) ,特殊情况是别名中不能包含 \fI=\fP。替换文本的第一个词也被检查是否 是别名,但是如果它与被替换的别名相同,就不会再替换第二次。这意味着可以用 .B ls 作为 .BR "ls \-F" 的别名, .B bash 不会递归地展开替换文本。如果别名的最后一个字符是 .IR blank , 那么命令中别名之后的下一个词也将被检查是否能进行别名展开。 .PP 别名可以使用 .B alias 命令来创建或列举出来,使用 .B unalias 命令来删除。 .PP 在替换文本中没有参数机制。如果需要参数,应当使用 shell 函数 (参见下面的 .SM .B FUNCTIONS (函数) 段落)。 .PP 如果 shell 不是交互的,别名将不会展开,除非使用内建命令 .B shopt 设置了 .B expand_aliases 选项。 .PP 关于别名的定义和使用中的规则比较混乱。 .B Bash 在执行一行中的任何命令之前,总是读入至少完整一行的输入。 别名在命令被读取时展开,而不是在执行的时候。因此,别名定义如果 和另一个命令在同一行,那么不会起作用,除非读入了下一行。 别名定义之后,同一行中的命令不会受新的别名影响。这种行为 在函数执行时存在争议,因为别名替换是在函数定义被读取时发生的, 而不是函数被执行的时候,因为函数定义本身是一个复合命令。结果, 在函数中定义的别名只有当这个函数执行完才会生效。为了保险起见, 应当总是将别名定义放在单独的一行,不在复合命令中使用 .B alias。 .PP 不管什么情况下,别名都被 shell 函数超越 (be superseded)。 .SH 函数(FUNCTIONS) 一个 shell 函数,以上面 .SM .BR "SHELL GRAMMAR" 中描述的方法定义,保存着一系列的命令,等待稍后执行。 当 shell 函数名作为一个简单命令名使用时,这个函数名关联的命令的序列 被执行。函数在当前 shell 的上下文环境中执行;不会创建新的进程来 解释它们 (这与 shell 脚本的执行形成了对比)。当执行函数时,函数 的参数成为执行过程中的位置参数 (positional parameters)。特殊参数 .B # 被更新以反映这个变化。位置参数 0 不会改变。函数执行时, .SM .B FUNCNAME 变量被设置为函数的名称。函数和它的调用者在 shell 执行环境的所有 其他方面都是一样的,特殊情况是 .SM .B DEBUG 陷阱 (参见下面对内建函数 .B trap 的描述,在 .SM .B "shell 内建命令(SHELL BUILTIN COMMANDS)" 章节中) 不会被继承,除非函数设置了 \fBtrace\fP 属性 (参见下面对内建函数 .SM .B declare 的描述)。 .PP 函数中的局部变量可以使用内建命令 .B local 来声明。通常情况下,变量和它们的值在函数和它的调用者之间是共享的。 .PP 如果函数中执行了内建命令 .B return, 那么函数结束,执行从函数调用之后的下一个命令开始。 函数结束后,位置参数的值以及特殊参数 .B # 都将重置为它们在函数执行前的值。 .PP 函数名和定义可以使用内建命令 .B declare 或 .B typeset 加上 .B \-f 参数来列出。如果在 .B declare 或 .B typeset 命令中使用 .B \-F 选项将只列出函数名。函数可以使用内建命令 .B export 加上 .B \-f 参数导出,使得子 shell 中它们被自动定义。 .PP 函数可以是递归的。对于递归调用的次数没有硬性限制。 .SH 算术求值("ARITHMETIC EVALUATION") 在一定的环境下,shell 允许进行算术表达式的求值 (参见内建命令 \fBlet\fP 和 \fBArithmetic Expansion\fP (算术表达式))。 求值使用固定宽度的整数,不检查是否溢出,但是被零除会被捕获,标记为错误。 操作数及其优先级和聚合程度与 C 语言中相同。下列操作数的列表按照相同 优先级的操作数其级别来分组。列出的级别顺序是优先级递减的。 .PP .PD 0 .TP .B \fIid\fP++ \fIid\fP\-\- 变量自增/自减 (在后) .TP .B ++\fIid\fP \-\-\fIid\fP 变量自增/自减 (在前) .TP .B \- + (单目的) 取负/取正 .TP .B ! ~ 逻辑和位取反 .TP .B ** 乘幂 .TP .B * / % 乘,除,取余 .TP .B + \- 加,减 .TP .B << >> 左/右位移 .TP .B <= >= < > 比较 .TP .B == != 相等/不等 .TP .B & 位与 (AND) .TP .B ^ 位异或 (exclusive OR) .TP .B | 位或 (OR) .TP .B && 逻辑与 (AND) .TP .B || 逻辑或 (OR) .TP .B \fIexpr\fP?\fIexpr\fP:\fIexpr\fP 条件求值 .TP .B = *= /= %= += \-= <<= >>= &= ^= |= 赋值 .TP .B \fIexpr1\fP , \fIexpr2\fP 逗号表达式 .PD .PP shell 变量可以作为操作数;在表达式求值之前会进行参数扩展。 在表达式中,可以用名称引用 shell 变量,不必使用参数扩展的语法。 变量被引用时,其值被作为算术表达式来求值。 shell 变量用于表达式中时,不必启用整数属性。 .PP 以 0 为前导的常量被当作八进制数,以 0x 或 0X 作为前导表明是十六进制。 其他情况下,数字的形式是 [\fIbase#\fP]n,这里 \fIbase\fP 是一个 2 到 64 的十进制数值,作为数字的基数,\fIn\fP 是在这个基数中数字的值。 如果忽略了 \fIbase#\fP,将以 10 为基数。大于 10 的数字依次以小写字母, 大写字母,@ 和 _ 表示。如果 \fIbase\fP 小于或等于 36,在表示 10 与 35 之间 的数字时小写字母和大写字母可以互换。 .PP 操作符根据优先级顺序进行求值。圆括号中的子表达式被最先求值,可能会 超越上面的优先级规则。 .SH 条件表达式("CONDITIONAL EXPRESSIONS") 条件表达式用于 \fB[[\fP 复合命令以及内建命令 \fBtest\fP 和 \fB[\fP 中, 用来测试文件属性,进行字符串和算术比较。表达式使用下面的单目或二进制操作构造。 如果某操作的任何 \fIfile\fP 参数的形式是 \fI/dev/fd/n\fP,那么将检查 文件描述符 \fIn\fP。如果某操作的 \fIfile\fP 参数是 \fI/dev/stdin\fP, \fI/dev/stdout\fP 或者 \fI/dev/stderr\fP 之一,将分别检查文件描述符 0,1 和 2。 .sp 1 .PD 0 .TP .B \-a \fIfile\fP 如果 \fIfile\fP 存在则为真。 .TP .B \-b \fIfile\fP 如果 \fIfile\fP 存在且为块设备则为真。 .TP .B \-c \fIfile\fP 如果 \fIfile\fP 存在且为字符设备则为真。 .TP .B \-d \fIfile\fP 如果 \fIfile\fP 存在且是一个目录则为真。 .TP .B \-e \fIfile\fP 如果 \fIfile\fP 存在则为真。 .TP .B \-f \fIfile\fP 如果 \fIfile\fP 存在且为普通文件则为真。 .TP .B \-g \fIfile\fP 如果 \fIfile\fP 存在且是设置组ID的 (sgid) 则为真。 .TP .B \-h \fIfile\fP 如果 \fIfile\fP 存在且为符号链接则为真。 .TP .B \-k \fIfile\fP 如果 \fIfile\fP 存在且设置了 ``sticky'' 位 (粘滞位) 则为真。 .TP .B \-p \fIfile\fP 如果 \fIfile\fP 存在且是一个命名管道 (FIFO) 则为真。 .TP .B \-r \fIfile\fP 如果 \fIfile\fP 存在且可读则为真。 .TP .B \-s \fIfile\fP 如果 \fIfile\fP 存在且大小大于零则为真。 .TP .B \-t \fIfd\fP 如果文件描述符 .I fd 是打开的且对应一个终端则为真。 .TP .B \-u \fIfile\fP 如果 \fIfile\fP 存在且是设置用户ID的 (suid) 则为真。 .TP .B \-w \fIfile\fP 如果 \fIfile\fP 存在且可写则为真。 .TP .B \-x \fIfile\fP 如果 \fIfile\fP 存在且可执行则为真。 .TP .B \-O \fIfile\fP 如果 \fIfile\fP 存在且为有效用户ID所拥有则为真。 .TP .B \-G \fIfile\fP 如果 \fIfile\fP 存在且为有效组ID所拥有则为真。 .TP .B \-L \fIfile\fP 如果 \fIfile\fP 存在且为符号链接则为真。 .TP .B \-S \fIfile\fP 如果 \fIfile\fP 存在且为套接字则为真。 .TP .B \-N \fIfile\fP 如果 \fIfile\fP 存在且上次读取后被修改过则为真。 .TP \fIfile1\fP \-\fBnt\fP \fIfile2\fP 如果 \fIfile1\fP 比 \fIfile2\fP 要新 (根据修改日期),或者 如果 \fIfile1\fP 存在而 \fIfile2\fP 不存在,则为真。 .TP \fIfile1\fP \-\fBot\fP \fIfile2\fP 如果 \fIfile1\fP 比 \fIfile2\fP 更旧,或者 如果 \fIfile1\fP 不存在而 \fIfile2\fP 存在,则为真。 .TP \fIfile1\fP \fB\-ef\fP \fIfile2\fP 如果 \fIfile1\fP 和 \fIfile2\fP 指的是相同的设备和 inode 号则为真。 .TP .B \-o \fIoptname\fP 如果启用了 shell 选项 .I optname 则为真。参见下面对内建命令 .B set 的 .B \-o 选项的描述中的选项列表。 .TP .B \-z \fIstring\fP 如果 \fIstring\fP 的长度为 0 则为真。 .TP .B \-n \fIstring\fP .TP \fIstring\fP 如果 \fIstring\fP 的长度非 0 则为真。 .TP \fIstring1\fP \fB==\fP \fIstring2\fP 如果字符串相等则为真。\fB=\fP 可以用于使用 \fB==\fP 的场合来兼容 POSIX 规范。 .TP \fIstring1\fP \fB!=\fP \fIstring2\fP 如果字符串不相等则为真。 .TP \fIstring1\fP \fB<\fP \fIstring2\fP 如果 \fIstring1\fP 在当前语言环境的字典顺序中排在 \fIstring2\fP 之前则为真。 .TP \fIstring1\fP \fB>\fP \fIstring2\fP 如果 \fIstring1\fP 在当前语言环境的字典顺序中排在 \fIstring2\fP 之后则为真。 .TP .I \fIarg1\fP \fBOP\fP \fIarg2\fP .SM .B OP 是 .BR \-eq , .BR \-ne , .BR \-lt , .BR \-le , .BR \-gt , 或 .BR \-ge 之一。这些算术二进制操作返回真,如果 \fIarg1\fP 与 \fIarg2\fP 分别是 相等,不等,小于,小于或等于,大于,大于或等于关系。 .I Arg1 和 .I arg2 可以是正/负整数。 .PD .SH 简单命令扩展("SIMPLE COMMAND EXPANSION") 当执行一个简单命令时,shell 进行下列扩展,赋值和重定向,从左到右。 .IP 1. 解释器标记为与变量赋值 (在命令名之前的) 和重定向有关的词被保存等待随后处理。 .IP 2. 并非变量赋值或重定向的词被扩展。如果扩展后仍然有词保留下来,第一个词被 作为命令名,其余词是参数。 .IP 3. 重定向按照上面 .SM .BR REDIRECTION 中讲到的规则进行。 .IP 4. 每个变量赋值中 \fB=\fP 之后的文本在赋予变量之前要经过波浪线扩展, 参数扩展,命令替换,算术扩展和引用删除。 .PP 如果没有得到命令名,变量赋值影响当前 shell 环境。否则,变量被加入 被执行的命令的环境中,不影响当前 shell 环境。如果任何赋值动作试图 为只读变量赋值,将导致出错,命令以非零状态值退出。 .PP 如果没有得到命令名,重定向仍会进行,但是不影响当前 shell 环境。 重定向出错将使命令以非零状态值退出。 .PP 如果扩展后有命令名保留下来,那么执行过程如下所示。否则,命令退出。 如果在任何扩展中包含命令替换,那么整个命令的退出状态是最后一个命令 替换的退出状态。如果没有进行命令替换,命令以状态零退出。 .SH "命令执行(COMMAND EXECUTION)" 命令被拆分为词之后,如果结果是一个简单命令和可选的参数列表,将执行 下面的操作。 .PP 如果命令名中没有斜杠,shell 试图定位命令位置。如果存在同名的 shell 函数,函数将被执行,像上面 .SM .BR FUNCTIONS 中讲到的一样。如果名称不是一个函数,shell 从 内建命令中搜索它。如果找到 对应命令,它将被执行。 .PP 如果名称既不是 shell 函数也不是一个内建命令,并且没有包含斜杠, .B bash 搜索 .SM .B PATH 的每个成员,查找含有此文件名 (可执行文件) 的目录。 .B Bash 使用散列表来储存可执行文件的全路径 (参见下面的 .SM .B "shell 内建命令(SHELL BUILTIN COMMANDS)" 中的 .B hash。 只有在散列表中没有找到此命令,才对 .SM .B PATH 进行完整的搜索。如果搜索不成功,shell 输出错误消息,返回退出状态 127。 .PP 如果搜索成功,或者命令中包含一个或多个斜杠,shell 在单独的执行环境中 执行这个程序。参数 0 被设置为所给名称;命令的其他参数被设置为所给的参数, 如果有的话。 .PP 如果执行失败,因为文件不是可执行格式,并且此文件不是目录,就假定它是 一个 \fIshell script\fP (脚本),一个包含 shell 命令的文件。此时将孵化 (spawn) 出一个子 shell 来执行它。子 shell 重新初始化自身,效果就好像是 执行了一个新的 shell 来处理脚本一样,但是父 shell 保存的命令位置仍然被 保留 (参见下面的 .SM .B "shell 内建命令(SHELL BUILTIN COMMANDS)" 中的 .B hash)。 .PP 如果程序是以 .BR #! 开头的文件,那么第一行的其余部分指定了这个程序的解释器。 shell 执行指定的解释器,如果操作系统不会自行处理这种可执行文件格式的话。 解释器的参数由下面三部分组成:程序第一行中解释器名称之后的可选的一个参数, 程序的名称,命令行参数,如果有的话。 .SH "命令执行环境(COMMAND EXECUTION ENVIRONMENT)" shell 有 \fIexecution environment\fP (执行环境) 的概念,由下列内容组成: .sp 1 .IP \(bu shell 启动时继承的打开的文件,例如在内建命令 \fBexec\fP 中使用重定向 修改的结果 .IP \(bu 当前工作目录,使用 \fBcd\fP,\fBpushd\fP 或者 \fBpopd\fP 设置,或是由 shell 在启动时继承得到 .IP \(bu 文件创建模式掩码,使用 \fBumask\fP 设置或是从 shell 的父进程中继承得到 .IP \(bu 当前陷阱,用 \fBtrap\fP 设置 .IP \(bu shell 参数,使用变量赋值或者 \fBset\fP 设置,或者是从父进程的环境中继承得到 .IP \(bu shell 函数,在执行中定义或者是从父进程的环境中继承得到 .IP \(bu 设为允许的选项,在执行时设置 (要么是默认允许的,要么是命令行给出的) 或者是 用 \fBset\fP 设置 .IP \(bu 用 \fBshopt\fP 设为允许的选项 .IP \(bu 用 \fBalias\fP 定义的 shell 别名 .IP \(bu 各种进程号,包含后台作业的进程号,\fB$$\fP 的值,以及 \fB$PPID\fP 的值 .PP 当并非 shell 函数或内置命令的简单命令执行时,它在一个由下述内容组成的 单独的执行环境中启动。除非另外说明,值都是从 shell 中继承的。 .sp 1 .IP \(bu shell 打开的文件,加上对命令使用重定向修改和添加的文件 .IP \(bu 当前工作目录 .IP \(bu 文件创建模式掩码 .IP \(bu 标记为导出 (export) 的 shell 变量,以及传递到环境中为这个命令导出的变量 .IP \(bu shell 捕捉的陷阱被重置为从 shell 的父进程中继承的值,shell 忽略的陷阱 也被忽略 .PP 在单独的环境中启动的命令不能影响 shell 的执行环境。 .PP 命令替换和异步命令都在子 shell 环境中执行。子 shell 环境是原有 shell 环境的赋值,但 shell 捕捉的陷阱被重置为 shell 启动时从父进程中继承的值。 作为管道一部分来执行的内建命令也在一个子 shell 环境中执行。对子 shell 环境所作修改不能影响到原有 shell 的执行环境。 .PP 如果命令后面是 \fB&\fP 并且没有启用作业控制,命令的默认标准输入将是空文件 \fI/dev/null\fP。否则,被执行的命令从调用它的 shell 中继承被重定向修改的 文件描述符。 .SH 环境(ENVIRONMENT) 当一个程序执行时,它被赋予一个字符串数组,成为环境 .IR environment 。 它是一个 名称-值对 (\fIname\fP\-\fIvalue\fP) 的列表,形式是 .IR "name\fR=\fPvalue" . .PP shell 提供了多种操作环境的方法。启动时,shell 扫描自身的环境,为每个找到 的名字创建一个参数,自动地将它标记为 .I export (向子进程导出的)。被执行的命令继承了这个环境。 .B export 和 .B declare \-x 命令允许参数和函数被加入到环境中或从环境中删除。如果环境中参数的值 被修改,新值成为环境的一部分,替换了旧值。所有被执行的命令继承的环境 包含 shell 的初始环境 (可能值被修改过),减去被 .B unset 命令删除的,加上通过 .B export 和 .B declare \-x 命令添加的部分。 .PP 可以在任何 .I simple command 或函数的环境中设定暂时有效的参数,只要将参数赋值放在命令前面就可以了, 参见上面 .SM .BR PARAMETERS 的描述。这些赋值语句只在这个命令的环境中有效。 .PP 如果设置了内建命令 .B set 的 .B \-k 选项, .I 所有的 变量赋值都将放到命令的环境中,不仅是在命令名前面的那些。 .PP 当 .B bash 执行一个外部命令时,变量 .B _ 被设置为命令的文件全名,然后被传递到命令的环境之中。 .SH 退出状态("EXIT STATUS") 从 shell 的角度看,一个命令退出状态是 0 意味着成功退出。 退出状态是 0 表明成功。非零状态值表明失败。当命令收到 fatal signal \fIN\fP 退出时,bash 使用 128+\fIN\fP 作为它的退出状态。 .PP 如果没有找到命令,为执行它而创建的子进程返回 127。如果找到了命令但是 文件不可执行,返回状态是 126。 .PP 如果命令由于扩展或重定向错误而失败,退出状态大于零。 .PP shell 内建命令如果成功返回 0(\fItrue\fP),执行时出错则返回非零 (\fIfalse\fP)。 所有内建命令返回 2 来指示不正确的用法。 .PP \fBBash\fP 自身返回最后执行的命令的退出状态,除非发生了语法错误, 这时它返回非零值。参见下面的内建命令 \fBexit\fP。 .SH 信号(SIGNALS) 如果 \fBbash\fP 是交互的,没有设定任何陷阱,它忽略 .SM .B SIGTERM (这样 \fBkill 0\fP 不会杀掉交互的 shell)。 .SM .B SIGINT 被捕获并处理 (从而使内建命令 \fBwait\fP 可以中断)。在所有情况下, \fBbash\fP 忽略 .SM .BR SIGQUIT 。 如果正在使用作业控制, .B bash 忽略 .SM .BR SIGTTIN , .SM .BR SIGTTOU , 和 .SM .BR SIGTSTP . .PP \fBbash\fP 开始的并行作业的信号处理句柄都设置为 shell 从父进程中继承 的值。如果不是正在使用作业控制,异步命令还忽略 .SM .B SIGINT 和 .SM .B SIGQUIT 。 作为命令替换结果运行的命令忽略键盘产生的作业控制信号 .SM .BR SIGTTIN , .SM .BR SIGTTOU , 和 .SM .BR SIGTSTP . .PP 如果收到信号 .SM .BR SIGHUP, shell 默认退出。在退出前,交互的 shell 向所有作业,运行的或停止的,发送 .SM .B SIGHUP 信号。shell 向停止的作业发出 .SM .B SIGCONT 信号来保证它们会收到 .SM .BR SIGHUP . 要阻止 shell 向特定的作业发送信号,应当使用内建命令 .B disown 将作业从作业表中删除 (参见下面的 .SM .B "shell 内建命令(SHELL BUILTIN COMMANDS)" 章节) 或者使用 .BR "disown \-h" 来标记为不接受 .SM .B SIGHUP。 .PP 如果使用 .BR shopt 设置了 shell 选项 .B huponexit, 在交互的登录 shell 退出时 .B bash 向所有作业发出 .SM .B SIGHUP 信号。 .PP 当 \fBbash\fP 等待命令执行结束时,如果收到已设置了陷阱的信号,陷阱 (trap) 将不会执行,直到命令结束。 当 \fBbash\fP 通过内建命令 \fBwait\fP 等待异步命令时,如果收到已设置 了陷阱的信号,将使得内建命令 \fBwait\fP 立即以大于 128 的状态值返回。 接着,陷阱将立即被执行。 .SH 作业控制("JOB CONTROL") .I Job control (作业控制) 指的是可以选择停止 (\fIsuspend\fP,挂起) 进程执行,并且 可以在之后继续 (\fIresume\fP,恢复) 执行的能力。用户一般在交互的人机界面 中使用这种功能。界面是由系统的终端驱动和 .BR bash 共同提供的。 .PP shell 将每个管道分配给一个 .I 作业(job)。 它保存一个当前运行的作业表,可以用 .B jobs 命令来列出。当 .B bash 启动一个异步的作业时 .IR (background,后台执行), 它输出这样的一行: .RS .PP [1] 25647 .RE .PP 表明这个作业的作业号是 1,与作业相关连的管道中最后一个进程的 进程ID是 15647。管道中所有进程都是同一个作业的成员。 .B Bash 使用 .I 作业(job) 概念作为作业控制的基础。 .PP 为简化作业控制的用户界面的实现,操作系统负责管理\(lq当前终端的进程组\(rq (\fIcurrent terminal process group ID\fP) 的概念。这个进程组的成员 (进程组 ID 是当前终端进程组 ID 的进程) 可以收到键盘产生的信号,例如 .SM .BR SIGINT . 这些进程被称为 .IR foreground (前台的)。 .I Background (后台的) 进程是那些进程组 ID 与终端不同的进程;这些进程不会收到键盘产生的信号。 只有前台进程可以从终端读或向终端写。后台进程试图读/写终端时,将收到终端驱动程序发送的 .SM .B SIGTTIN (SIGTTOU) 信号。这个信号如果没有加以捕捉,将挂起这个进程。 .PP 如果 .B bash 运行其上的操作系统支持作业控制, .B bash 会包含使用它的设施。在一个进程正在运行的时候键入 .I suspend 挂起 字符 (通常是 .BR ^Z , Control-Z) 将使这个进程暂停,将控制权还给 .BR bash . 输入 .I "delayed suspend", 延时挂起 字符 (通常是 .BR ^Y , Control-Y) 将使这个进程在试图从终端读取输入时暂停,将控制权还给 .BR bash . 用户接下来可以控制此作业的状态,使用 .B bg 命令使它在后台继续运行, .B fg 命令使它在前台继续运行,或 .B kill 命令将它杀死。\fB^Z\fP 会立即起作用,并且还有使等待中的 (pending) 输出和输入被忽略的附加副作用。 .PP 有很多方法来指代 shell 中的作业。字符 .B % 可以引入作业名。编号为 .I n 的作业可以用 .BR %n 的形式来指代。作业也可以用启动它的名称的前缀,或者命令行中的子字符串来指代。例如, .B %ce 指代一个暂停的 .B ce 作业。如果前缀匹配多于一个作业, .B bash 报错。另一方面,使用 .BR %?ce , 可以指代任何命令行中包含字符串 .B ce 的作业。如果子字符串匹配多于一个作业, .B bash 报错。符号 .B %% 和 .B %+ 指代 shell 意义上的 .IR "current job",当前作业, 也就是前台被暂停的最后一个作业,或者是在后台启动的作业。 .I "previous job",前一作业 可以使用 .BR %\- 来指代。在有关作业的输出信息中 (例如,命令 .B jobs 的输出),当前作业总是被标记为 .BR + , 前一作业标记为 .BR \- . .PP 简单地给出作业名,可以用来把它放到前台: .B %1 是 \fB``fg %1''\fP 的同义词,将作业 1 从后台放到前台。类似的, .B ``%1 &'' 在后台恢复作业 1,与 \fB``bg %1''\fP 等价。 .PP 当某个作业改变状态时,shell 立即可以得知。通常, .B bash 等待直到要输出一个提示符时,才会报告作业的状态变化,从而不会打断其他输出。 如果启用了内建命令 .B set 的 .B \-b 选项, .B bash 将立即报告这些变化。对 .SM .B SIGCHLD 信号的陷阱将在每个子进程退出时执行。 .PP 如果在作业暂停时试图退出 .B bash, shell 打印一条警告消息。命令 .B jobs 可能被用来检查作业的状态。如果再次试图退出,中间没有其他命令,shell 不会打印 其他警告,暂停的作业将终止。 .SH 提示符(PROMPTING) 在交互执行时, .B bash 在准备好读入一条命令时显示主提示符 .SM .B PS1, 在需要更多的输入来完成一条命令时显示 .SM .B PS2。 .B Bash 允许通过插入一些反斜杠转义的特殊字符来定制这些提示字符串,这些字符被如下解释: .RS .PD 0 .TP .B \ea 一个 ASCII 响铃字符 (07) .TP .B \ed 日期,格式是 "星期 月份 日" (例如,"Tue May 26") .TP .B \eD{\fIformat\fP} \fIformat\fP 被传递给 \fIstrftime\fP(3),结果被插入到提示字符串中; 空的 \fIformat\fP 将使用语言环境特定的时间格式。花括号是必需的 .TP .B \ee 一个 ASCII 转义字符 (033) .TP .B \eh 主机名,第一个 `.' 之前的部分 .TP .B \eH 主机名 .TP .B \ej shell 当前管理的作业数量 .TP .B \el shell 的终端设备名的基本部分 .TP .B \en 新行符 .TP .B \er 回车 .TP .B \es shell 的名称, .B $0 的基本部分 (最后一个斜杠后面的部分) .TP .B \et 当前时间,采用 24小时制的 HH:MM:SS 格式 .TP .B \eT 当前时间,采用 12小时制的 HH:MM:SS 格式 .TP .B \e@ 当前时间,采用 12小时制上午/下午 (am/pm) 格式 .TP .B \eA 当前时间,采用 24小时制上午/下午格式 .TP .B \eu 当前用户的用户名 the username of the current user .TP .B \ev \fBbash\fP 的版本 (例如,2.00) .TP .B \eV \fBbash\fP 的发行编号,版本号加补丁级别 (例如,2.00.0) .TP .B \ew 当前工作目录 .TP .B \eW 当前工作目录的基本部分 .TP .B \e! 此命令的历史编号 .TP .B \e# 此命令的命令编号 .TP .B \e$ 如果有效 UID 是 0,就是 .BR # , 其他情况下是 .B $ .TP .B \e\fInnn\fP 对应八进制数 \fInnn\fP 的字符 .TP .B \e\e 一个反斜杠 .TP .B \e[ 一个不可打印字符序列的开始,可以用于在提示符中嵌入终端控制序列 .TP .B \e] 一个不可打印字符序列的结束 .PD .RE .PP 命令编号和历史编号通常是不同的:历史编号是命令在历史列表中的位置,可能 包含从历史文件中恢复的命令 (参见下面的 .SM .B HISTORY 历史 章节),而命令编号是当前 shell 会话中执行的命令序列中,命令的位置。 字符串被解码之后,它将进行扩展,要经过 parameter expansion, command substitution, arithmetic expansion 和 quote removal, 最后要经过 shell 选项 .B promptvars 处理 (参见下面的 .SM .B "shell 内建命令(SHELL BUILTIN COMMANDS)" 章节中,对命令 .B shopt 的描述)。 .SH readline库(READLINE) 这是在交互 shell 中处理读取输入的库,除非在 shell 启动时给出了 .B \-\-noediting 选项。默认情况下,行编辑命令类似于 emacs 中的那些。也可以使用 vi 样式的行编辑界面。 要在 shell 运行之后关闭行编辑,使用内置命令 .B set 的 .B +o emacs 或 .B +o vi 选项 (参见下面的 .SM .B "shell 内建命令(SHELL BUILTIN COMMANDS)" 章节)。 .SS "Readline Notation" .PP 在这个小节中,将使用 emacs 样式的记法来表述按键。Ctrl 键记为 C\-\fIkey\fR, 例如,C\-n 意思是 Ctrl\-N。类似的, .I meta 键记为 M\-\fIkey\fR,因此 M\-x 意味着 Meta\-x。(在没有 .I meta 键的键盘上,M\-\fIx\fP 意思是 ESC\-\fIx\fP,也就是说,按下 Esc 键,然后按 .I x 键。这使得 Esc 成为 \fImeta prefix\fP。M\-C\-\fIx\fP 的组合意思是 Esc\-Ctrl\-\fIx\fP, 也就是按 Esc 键,然后按住 Ctrl 键,同时按 .I x 键。) .PP readline 命令可以有数字的 .IR 参数 (arguments), 一般作为重复的计数。有些时候,它是重要参数的标记。给向前方进行的命令 (例如,\fBkill\-line\fP) 传递负数参数,将使得命令向反方向进行。 下面的命令如果接受参数时的行为与此不同,将另行说明。 .PP 当命令被描述为剪切 (\fIkilling\fP) 文本时,被删除的文本被保存,等待将来使用 (粘贴,\fIyanking\fP)。被剪切的文本保存在 \fIkill ring\fP 中。连续的剪切使得 文本被依次加入到一个单元中,可以一次被粘贴。不剪切文本的命令将 kill ring 中的文本分离。 .SS "Readline Initialization 初始化" .PP readline 可以通过将命令放入初始化文件 (\fIinputrc\fP 文件) 来定制。 文件名从变量 .SM .B INPUTRC 的值中获取。如果没有设置这个变量,默认是 .IR ~/.inputrc . 当使用 readline 库的程序启动时,将读取初始化文件,按键关联和变量将被设置。 readline 初始化文件中只允许有很少的基本构造。 空行被忽略。以 \fB#\fP 开始的行是注释。以 \fB$\fP 开始的行指示了有条件的构造。 其他行表示按键关联和变量设置。 .PP 默认的按键关联可以使用 .I inputrc 文件改变。其他使用这个库的程序可以添加它们自己的命令和关联。 .PP 例如,将 .RS .PP M\-Control\-u: universal\-argument .RE 或 .RS C\-Meta\-u: universal\-argument .RE 放入 .I inputrc 将使得 M\-C\-u 执行 readline 命令 .IR universal\-argument . .PP 可以识别下列字符的符号名称: .IR RUBOUT , .IR DEL , .IR ESC , .IR LFD , .IR NEWLINE , .IR RET , .IR RETURN , .IR SPC , .IR SPACE , 和 .IR TAB . .PP 在命令名之外,readline 允许将按键与一个字符串关联,当按下这个键时,将插入这个字符串 (一个宏,\fImacro\fP)。 .SS "Readline Key Bindings" .PP .I inputrc 文件中的控制按键关联的语法非常简单。需要的内容是命令名或宏,以及它应当关联到的按键序列。 名称可以以两种方式指定:一个按键的符号名称,可能带有 \fIMeta\-\fP 或 \fIControl\-\fP 前缀,或者是一个按键序列。 .PP 当使用 \fBkeyname\fP:\^\fIfunction\-name\fP 或 \fImacro\fP 形式时, .I keyname 是按键以英文拼写的名称。例如: .sp .RS Control-u: universal\-argument .br Meta-Rubout: backward-kill-word .br Control-o: "> output" .RE .LP 在上述例子中, .I C\-u 被关联到函数 .BR universal\-argument , .I M\-DEL 被关联到函数 .BR backward\-kill\-word , 而 .I C\-o 被关联为运行右边给出的宏 (意思是,将向行中插入 .if t \f(CW> output\fP .if n ``> output'' )。 .PP 在第二种形式中,\fB"keyseq"\fP:\^\fIfunction\-name\fP 或 \fImacro\fP, .B keyseq 不同于上面的 .B keyname, 表示整个按键序列的字符串可以通过将按键序列放在双引号引用中来指定。 可以使用一些 GNU Emacs 样式的按键序列,如下例所示,但是不会识别按键的符号名称。 .sp .RS "\eC\-u": universal\-argument .br "\eC\-x\eC\-r": re\-read\-init\-file .br "\ee[11~": "Function Key 1" .RE .PP 在上述例子中, .I C\-u 被又一次关联到函数 .BR universal\-argument . .I "C\-x C\-r" 被关联到函数 .BR re\-read\-init\-file , 而 .I "ESC [ 1 1 ~" 被关联为插入文本 .if t \f(CWFunction Key 1\fP. .if n ``Function Key 1''. .PP GNU Emacs 样式的转义序列的全集为: .RS .PD 0 .TP .B \eC\- Ctrl 前缀 .TP .B \eM\- Meta 前缀 .TP .B \ee 一个 Esc 字符 .TP .B \e\e 反斜杠 .TP .B \e" 字面上的 " .TP .B \e' 字面上的 ' .RE .PD .PP 除了 GNU Emacs 样式的转义序列,还有一系列反斜杠转义序列可用: .RS .PD 0 .TP .B \ea 响铃 .TP .B \eb 回退 .TP .B \ed 删除 .TP .B \ef 进纸 .TP .B \en 新行符 .TP .B \er 回车 .TP .B \et 水平跳格 .TP .B \ev 竖直跳格 .TP .B \e\fInnn\fP 一个八比特字符,它的值是八进制值 \fInnn\fP (一到三个八进制数字)。 .TP .B \ex\fIHH\fP 一个八比特字符,它的值是十六进制值 \fIHH\fP (一到两个十六进制数字)。 .RE .PD .PP 输入宏的文本时,必须使用单引号或双引号引用来表明是宏的定义。 没有引用的文本被当作函数名。在宏的定义体中,上述反斜杠转义被扩展。 反斜杠将引用宏文本中所有其他字符,包括 " 和 '。 .PP .B Bash 允许使用内建命令 .B bind 来显示和修改当前 readline 按键关联。在交互使用中可以用内建命令 .B set 的 .B \-o 选项切换到编辑模式 (参见下面的 .SM .B "shell 内建命令(SHELL BUILTIN COMMANDS)" 章节)。 .SS "Readline Variables" .PP readline 包含额外的可用于定制它的行为的变量。可以在 .I inputrc 文件中设置变量,使用如下形式的语句: .RS .PP \fBset\fP \fIvariable\-name\fP \fIvalue\fP .RE .PP 除非另外说明,readline 变量的值总是 .B On 或 .BR Off。 变量和它们的默认值是: .PP .PD 0 .TP .B bell\-style (audible) 控制了当 readline 需要鸣终端响铃时的动作。如果设置为 \fBnone\fP, readline 不会鸣铃。如果设置为 \fBvisible\fP,readline 使用可视的响铃,如果可用的话。 如果设置为 \fBaudible\fP,readline 试着鸣终端响铃。 .TP .B comment\-begin (``#'') 这个字符串在执行 readline 命令 .B insert\-comment 时被插入。这个命令在 emacs 模式下被关联为 .B M\-#, 在 vi 模式下是 .B #。 .TP .B completion\-ignore\-case (Off) 如果设置为 \fBOn\fP,readline 进行大小写不敏感的文件名匹配和补全。 .TP .B completion\-query\-items (100) 这个变量决定着何时向用户询问,是否查看由命令 \fBpossible\-completions\fP 产生的可能的补全数量。 它可以设为任何大于或等于 0 的值。如果可能的补全数量大于或等于这个变量的值, 用户将被提示是否愿意查看它们;否则将直接在终端上列出它们。 .TP .B convert\-meta (On) 如果设置为 \fBOn\fP,readline 将把设置了最高位的字符转换为 ASCII 按键序列,方法是 去掉第八位,前缀一个转义字符 (实际上,使用 Esc 作为转义符 \fImeta prefix\fP)。 .TP .B disable\-completion (Off) 如果设置为 \fBOn\fP,readline 将禁止词的补全。补全字符将被插入到行中,就好像它们被 映射为 \fBself-insert\fP。 .TP .B editing\-mode (emacs) 控制 readline 的按键关联集合与 \fIemacs\fP 还是 \fIvi\fP 相似。 .B editing\-mode 可以设置为 .B emacs 或 .BR vi。 .TP .B enable\-keypad (Off) 如果设置为 \fBOn\fP ,readline 在调用时将试图启用辅助键盘。 一些系统需要设置这个来启用方向键。 .TP .B expand\-tilde (Off) 如果设置为 \fBOn\fP,readline 试图进行词的补全时会进行波浪线扩展。 .TP .B history-preserve-point 如果设置为 \fBOn\fP,历史代码试着在 \fBprevious-history\fP 或 \fBnext-history\fP 取回的每个历史行的相同位置中加点。 .TP .B horizontal\-scroll\-mode (Off) 如果设置为 \fBOn\fP,将使得 readline 使用单行来显示,如果它比屏幕宽度要长,就在 单一的屏幕行上水平滚动输入行,而不是自动回绕到新行。 .TP .B input\-meta (Off) 如果设置为 \fBOn\fP,readline 将允许八比特输入 (也就是说,它不会将它读入的字符中最高位删除), 不管它能支持什么样的终端要求。名称 .B meta\-flag 与此变量同义。 .TP .B isearch\-terminators (``C\-[C\-J'') 用于终止增量的搜索,不再将字符当作命令执行的字符串。 如果这个变量没有赋值,字符串 \fIEsc\fP 和 \fIC\-J\fP 将终止增量的搜索。 .TP .B keymap (emacs) 设置当前 readline 键盘映射。有效的键盘映射名称是 \fIemacs, emacs\-standard, emacs\-meta, emacs\-ctlx, vi, vi\-command\fP,还有 .IR vi\-insert。 \fIvi\fP 等价于 \fIvi\-command\fP; \fIemacs\fP 等价于 \fIemacs\-standard\fP。默认值是 .IR emacs ; .B editing\-mode 的值也会影响默认的键盘映射。 .TP .B mark\-directories (On) 如果设置为 \fBOn\fP,补全的目录名会添加一个斜杠。 .TP .B mark\-modified\-lines (Off) 如果设置为 \fBOn\fP,已被修改的历史行将显示为前缀一个星号 (\fB*\fP)。 .TP .B mark\-symlinked\-directories (Off) 如果设置为 \fBOn\fP,补全的名称如果是到目录的符号链接,则将添加一个斜杠 (与 \fBmark\-directories\fP 的值同样处理)。 .TP .B match\-hidden\-files (On) 这个变量,如果设置为 \fBOn\fP,将使得 readline 在进行文件名补全时,匹配以 `.' 开头的文件 (隐藏文件), 除非用户在要补全的文件名中给出了前导的 `.'。 .TP .B output\-meta (Off) 如果设置为 \fBOn\fP,readline 将直接显示设置了第八位的字符,而不是转化为一个带 meta 前缀的转义序列。 .TP .B page\-completions (On) 如果设置为 \fBOn\fP,readline 将使用内建的类似 \fImore\fP 的分页程序, 来每次显示一屏可能的补全。 .TP .B print\-completions\-horizontally (Off) 如果设置为 \fBOn\fP,readline 将匹配的补全按字母表顺序排序,然后水平排列显示出来, 而不是在屏幕上竖直排列显示。 .TP .B show\-all\-if\-ambiguous (Off) 这将调整补全函数的默认行为。如果设置为 .BR on , 拥有多于一个可能的补全的词将立即列出所有匹配,而不是鸣响铃。 .TP .B visible\-stats (Off) 如果设置为 \fBOn\fP,在列出可能的补全时,将在文件名后面添加一个表示文件类型的字符, 文件类型由 \fIstat\fP(2) 报告。 .PD .SS "Readline Conditional Constructs" .PP readline 实现了一种功能,本质上与 C 预处理器进行条件编译的功能类似, 允许根据测试的结果进行键盘关联和变量设置。其中使用了四种解释器指令。 .IP \fB$if\fP .B $if 结构允许根据编辑模式,正在使用的终端,使用 readline 的应用程序来设定按键关联。 测试的文本包括一行,直到行尾;不必用字符来隔离它。 .RS .IP \fBmode\fP \fB$if\fP 结构的 \fBmode=\fP 形式用于测试 readline 处于 emacs 还是 vi 模式。 这可以与命令 \fBset keymap\fP 结合使用,例如,设置 \fIemacs\-standard\fP 和 \fIemacs\-ctlx\fP 键盘映射,仅当 readline 以 emacs 模式启动。 .IP \fBterm\fP \fBterm=\fP 形式用于包含与终端相关的按键关联,也许是将按键序列输出与终端的功能键相关联。 等号 .B = 右边的词被同终端的全名和名称中第一个 \fB\-\fP 前面的一部分相比较。 例如,允许 .I sun 同时匹配 .I sun 和 .IR sun\-cmd。 .IP \fBapplication\fP \fBapplication\fP 结构用于包含应用程序相关的设置。每个使用 readline 的程序都设置 \fIapplication name\fP, 初始化文件可以测试它的值。它可用于将一个按键序列与对特定的程序有用的功能相关联。 例如,下列命令添加了一个按键序列,用以引用 bash 中当前的词或前一个词 .sp 1 .RS .nf \fB$if\fP Bash # Quote the current or previous word "\eC\-xq": "\eeb\e"\eef\e"" \fB$endif\fP .fi .RE .RE .IP \fB$endif\fP 上例中的这个命令,结束了一个 \fB$if\fP 命令。 .IP \fB$else\fP 如果测试失败,\fB$if\fP 指令中这个分支的命令将被执行。 .IP \fB$include\fP 这个指令使用单个文件名作为参数,从文件中读取命令和按键关联。例如,下列指令 将读取 \fI/etc/inputrc\fP: .sp 1 .RS .nf \fB$include\fP \^ \fI/etc/inputrc\fP .fi .RE .SS Searching .PP readline 提供了从命令历史中搜索包含给定字符串的行的命令 (参见下面的 .SM .B HISTORY 历史 章节)。有两种搜索模式: .I incremental 和 .IR non-incremental . .PP 增量的搜索在用户结束输入搜索字符串时开始。在搜索字符串的每个字符被输入的同时, readline 显示与已输入的字符串匹配的下一个历史条目。 增量的搜索只要求输入能找到期望的历史条目所需的那么多字符。 \fBisearch-terminators\fP 变量中的字符用来终止一次增量的搜索。如果 这个变量没有被赋值,Esc 和 Ctrl-J 字符串将结束一次增量的搜索。 Ctrl-G 将取消一次增量的搜索,恢复初始的行。当搜索终止时,包含搜索字符串 的历史条目成为当前行。 .PP 要从历史列表中找到其他匹配的条目,适当地键入 Ctrl-S 或 Ctrl-R。 这样将在历史中向前/向后搜索下一个匹配已输入的搜索字符串的条目。 其他关联到某个 readline 命令的按键序列将终止搜索并执行关联的命令。 例如,\fInewline\fP 将终止搜索,接受当前行,从而执行历史列表中的命令。 .PP readline 可以记住上次增量搜索的字符串。如果键入两次 Ctrl-R,中间没有 输入任何字符来定义一个新的搜索字符串,那么将使用已记住的搜索字符串。 .PP 非增量的搜索将整个搜索字符串读入,然后才开始搜索匹配的历史条目。 搜索字符串可以由用户输入,或者是当前行的内容的一部分。 .SS "Readline Command Names" .PP 下面列出的是命令的名称以及默认情况下它们关联的按键序列。 命令名称如果没有对应的按键序列,那么默认是没有关联的。在下列描述中, 点 (\fIpoint\fP) 指当前光标位置,标记 (\fImark\fP) 指命令 \fBset\-mark\fP 保存的光标位置。point 和 mark 之间的文本被称为范围 (\fIregion\fP)。 .SS Commands for Moving 移动 .PP .PD 0 .TP .B beginning\-of\-line (C\-a) 移动到当前行的开始。 .TP .B end\-of\-line (C\-e) 移动到当前行的结尾。 .TP .B forward\-char (C\-f) 向前移动一字。 .TP .B backward\-char (C\-b) 向后移动一字。 .TP .B forward\-word (M\-f) 向前移动到下一词尾。词由字符 (字母和数字) 组成。 .TP .B backward\-word (M\-b) 向后移动到当前或上一词首。 .TP .B clear\-screen (C\-l) 清除屏幕,保留当前行在屏幕顶端。有参数时,刷新当前行,不清屏。 .TP .B redraw\-current\-line 刷新当前行。 .PD .SS Commands for Manipulating the History 操纵历史行 .PP .PD 0 .TP .B accept\-line (Newline, Return) 接受这一行,不管光标在什么位置。如果行非空,将根据变量 .SM .B HISTCONTROL 的状态加入到历史列表中。如果行是修改过的历史行,将恢复该历史行到初始状态。 .TP .B previous\-history (C\-p) 从历史列表中取得前一个命令,从列表中向后移动。 .TP .B next\-history (C\-n) 从历史列表中取得后一个命令,从列表中向前移动。 .TP .B beginning\-of\-history (M\-<) 移动到历史中的第一行。 .TP .B end\-of\-history (M\->) 移动到输入历史行的末尾,也就是当前输入的行的末尾。 .TP .B reverse\-search\-history (C\-r) 从当前行开始向后搜索,按照需要在历史中向\(lq上\(rq移动。这是一个增量的搜索。 .TP .B forward\-search\-history (C\-s) 从当前行开始向前搜索,按照需要在历史中向\(lq下\(rq移动。这是一个增量的搜索。 .TP .B non\-incremental\-reverse\-search\-history (M\-p) 从当前行开始向后,使用非增量搜索来查找用户给出的字符串。 .TP .B non\-incremental\-forward\-search\-history (M\-n) 从当前行开始向前,使用非增量搜索来查找用户给出的字符串。 .TP .B history\-search\-forward 从当前行开始向前搜索历史,查找从当前行首到 point 之间的字符串。 这是一个非增量的搜索。 .TP .B history\-search\-backward 从当前行开始向后搜索历史,查找从当前行首到 point 之间的字符串。 这是一个非增量的搜索。 .TP .B yank\-nth\-arg (M\-C\-y) 将前一个命令的第一个参数 (通常是上一行的第二个词) 插入到 point 位置。有参数 .IR n 时,将前一个命令的第 \fIn\fP 个词 (前一个命令中的词从 0 开始计数) 插入到 point 位置。负数参数则插入前一个命令倒数第 \fIn\fP 个词。 .TP .B yank\-last\-arg (M\-.\^, M\-_\^) 插入前一个命令的最后一个参数 (上一历史条目的最后一个词)。有参数时, 行为类似于 \fByank\-nth\-arg\fP。后继的 \fByank\-last\-arg\fP 调用将 从历史列表中向后移动,依次将每行的最后一个参数插入。 .TP .B shell\-expand\-line (M\-C\-e) 扩展行,像 shell 做的那样。其中包含别名和历史扩展,还有所有的 shell 词的扩展。 参见下面的 .SM .B HISTORY EXPANSION 中关于历史扩展的描述。 .TP .B history\-expand\-line (M\-^) 在当前行进行历史扩展。参见下面的 .SM .B HISTORY EXPANSION 中关于历史扩展的描述。 .TP .B magic\-space 在当前行进行历史扩展,并插入一个空格。参见下面的 .SM .B HISTORY EXPANSION 中关于历史扩展的描述。 .TP .B alias\-expand\-line 在当前行进行别名扩展,参见上面的 .SM .B ALIASES 中关于别名扩展的描述。 .TP .B history\-and\-alias\-expand\-line 在当前行进行历史和别名扩展。 .TP .B insert\-last\-argument (M\-.\^, M\-_\^) 与 \fByank\-last\-arg\fP 同义。 .TP .B operate\-and\-get\-next (C\-o) 接受当前行,加以执行,从历史中取出相对当前行的下一行进行编辑。 任何参数都被忽略。 .TP .B edit\-and\-execute\-command (C\-xC\-e) 启动一个编辑器,编辑当前命令行,将结果作为 shell 命令运行。 \fBBash\fP 将依次试着运行 .SM .BR $FCEDIT , .SM .BR $EDITOR , 和 \fIemacs\fP 作为编辑器。 .PD .SS Commands for Changing Text 改变文本 .PP .PD 0 .TP .B delete\-char (C\-d) 删除 point 处的字符。如果 point 在行首,行中没有字符,最后一次输入的字符 没有被关联到 \fBdelete\-char\fP,将返回 .SM .BR EOF . .TP .B backward\-delete\-char (Rubout) 删除光标之后的字符。当给出一个数值的参数时,保存删除的文本到 kill ring 中。 .TP .B forward\-backward\-delete\-char 删除光标下的字符,除非光标在行尾,此时删除光标后的字符。 .TP .B quoted\-insert (C\-q, C\-v) 将输入的下一字符保持原样添加到行中。例如,可以用它来插入类似 \fBC\-q\fP 的字符。 .TP .B tab\-insert (C\-v TAB) 插入一个跳格符号。 .TP .B self\-insert (a,\ b,\ A,\ 1,\ !,\ ...) 插入键入的字符。 .TP .B transpose\-chars (C\-t) 将 point 之前的字符向前移动,越过 point 处的字符,同时也改变 point 的位置。 如果 point 在行尾,将调换 point 之前的两个字符。负数参数没有作用。 .TP .B transpose\-words (M\-t) 将 point 之前的词向前移动,越过 point 处的词,同时也改变 point 的位置。 如果 point 在行尾,将调换行中的最后两个词。 .TP .B upcase\-word (M\-u) 将当前 (或下一个) 词变成全大写。有负值的参数时,将前一个词变为大写, 但是不移动 point。 .TP .B downcase\-word (M\-l) 将当前 (或下一个) 词变成全小写。有负值的参数时,将前一个词变为小写, 但是不移动 point。 .TP .B capitalize\-word (M\-c) 将当前 (或下一个) 词变为首字大写。有负值的参数时,将前一个词变为首字大写, 但是不移动 point。 .TP .B overwrite\-mode 控制插入/改写模式。给出一个正整数参数时,切换为改写模式。给出一个非正数 参数时,切换为插入模式。这个命令只影响 \fBemacs\fP 模式;\fBvi\fP 模式 的改写与此不同。每个对 \fIreadline()\fP 的调用都以插入模式开始。在改写模式下, 关联到 \fBself\-insert\fP 的字符替换 point 处的字符,而不是将它推到右边。 关联到 \fBbackward\-delete\-char\fP 的字符以空格替换 point 前的字符。 默认情况下,这个命令没有关联。 .PD .SS Killing and Yanking 剪切和粘贴 .PP .PD 0 .TP .B kill\-line (C\-k) 剪切从 point 到行尾的文本。 .TP .B backward\-kill\-line (C\-x Rubout) 反向剪切到行首。 .TP .B unix\-line\-discard (C\-u) 反向剪切到行首。与 \fIbackward\-kill\-line\fP 没有什么区别。 剪切的文本被保存于 kill\-ring 中。 .\" There is no real difference between this and backward-kill-line .TP .B kill\-whole\-line 剪切当前行中所有字符,不管 point 在什么位置。 .TP .B kill\-word (M\-d) 剪切从 point 到当前词尾,或者如果 point 在词之间,那么剪切到下一词尾。 .TP .B backward\-kill\-word (M\-Rubout) 剪切 point 之后的词。词的边界与 \fBbackward\-word\fP 使用的相同。 .TP .B unix\-word\-rubout (C\-w) 剪切 point 之后的词,使用空白作为词的边界。剪切的文本被保存于 kill\-ring 中。 .TP .B delete\-horizontal\-space (M\-\e) 删除 point 两边的所有空格和跳格。 .TP .B kill\-region 剪切当前 region 的文本。 .TP .B copy\-region\-as\-kill 将 region 的文本复制到剪切缓冲区中。 .TP .B copy\-backward\-word 将 point 前面的词复制到剪切缓冲区中。 词的边界与 \fBbackward\-word\fP 使用的相同。 .TP .B copy\-forward\-word 将 point 之后的词复制到剪切缓冲区中。 词的边界与 \fBbackward\-word\fP 使用的相同。 .TP .B yank (C\-y) 将 kill\-ring 顶部的内容粘贴到 point 处的缓冲区中 .TP .B yank\-pop (M\-y) 轮转 kill\-ring,粘贴新的顶部内容。只能在 .B yank 或 .BR yank\-pop 之后使用。 .PD .SS Numeric Arguments 数值参数 .PP .PD 0 .TP .B digit\-argument (M\-0, M\-1, ..., M\-\-) 将这个数字加入已有的 (already accumulating) 参数中,或者开始新的参数。 M\-\- 开始一个否定的参数。 .TP .B universal\-argument 这是指定参数的另一种方法。如果这个命令后面跟着一个或多个数字, 可能还包含前导的负号,这些数字定义了参数。如果命令之后跟随着数字,再次执行 .B universal\-argument 将结束数字参数,但是其他情况下被忽略。有一种特殊情况,如果命令之后紧接着 一个并非数字或负号的字符,下一命令的参数计数将乘以 4。 参数计数初始是 1,因此第一次执行这个函数,使得参数计数为 4, 第二次执行使得参数计数为 16,以此类推。 .PD .SS Completing 补全 .PP .PD 0 .TP .B complete (TAB) 试着对 point 之前的文本进行补全。 .B Bash 依次试着将文本作为一个变量 (如果文本以 \fB$\fP 开始),一个用户名 (如果文本以 \fB~\fP 开始),主机名 (如果文本以 \fB@\fP 开始),或者命令 (以及别名和函数) 来补全。如果这些都没有匹配,将尝试文件名补全。 .TP .B possible\-completions (M\-?) 列出 point 之前的文本可能的补全。 .TP .B insert\-completions (M\-*) 插入 \fBpossible\-completions\fP 已产生的 point 之前的文本所有的补全。 .TP .B menu\-complete 与 \fBcomplete\fP 相似,但是使用可能的补全列表中的某个匹配替换要补全的词。 重复执行 \fBmenu\-complete\fP 将遍历可能的补全列表,插入每个匹配。 到达补全列表的结尾时,鸣终端响铃 (按照 \fBbell\-style\fP 的设置来做) 并恢复初始的文本。 参数 \fIn\fP 将在匹配列表中向前移动 \fIn\fP 步;负数参数可以用于在列表中向后移动。 这个命令应当与 \fBTAB\fP 键关联,但是默认情况下是没有关联的。 .TP .B delete\-char\-or\-list 删除光标下的字符,如果不是在行首或行尾 (类似 \fBdelete\-char\fP)。 如果在行尾,行为与 \fBpossible\-completions\fP 一致。 这个命令默认没有关联。 .TP .B complete\-filename (M\-/) 尝试对 point 之前的文本进行文件名补全。 .TP .B possible\-filename\-completions (C\-x /) 列出 point 之前的文本可能的补全,将它视为文件名。 .TP .B complete\-username (M\-~) 尝试对 point 之前的文本进行补全,将它视为用户名。 .TP .B possible\-username\-completions (C\-x ~) 列出 point 之前的文本可能的补全,将它视为用户名。 .TP .B complete\-variable (M\-$) 尝试对 point 之前的文本进行补全,将它视为 shell 变量。 .TP .B possible\-variable\-completions (C\-x $) 列出 point 之前的文本可能的补全,将它视为 shell 变量。 .TP .B complete\-hostname (M\-@) 尝试对 point 之前的文本进行补全,将它视为主机名。 .TP .B possible\-hostname\-completions (C\-x @) 列出 point 之前的文本可能的补全,将它视为主机名。 .TP .B complete\-command (M\-!) 尝试对 point 之前的文本进行补全,将它视为命令名。命令补全尝试着将此文本 依次与别名,保留字,shell 函数,shell 内建命令,最后是可执行文件名进行匹配。 .TP .B possible\-command\-completions (C\-x !) 列出 point 之前的文本可能的补全,将它视为命令名。 .TP .B dynamic\-complete\-history (M\-TAB) 尝试对 point 之前的文本进行补全,将此文本与历史列表中的行相比较来查找可能的补全匹配。 .TP .B complete\-into\-braces (M\-{) 进行文件名补全,将可能的补全列表放在花括号中插入,使得列表可以被 shell 使用 (参见上面的 .B Brace Expansion 花括号扩展)。 .PD .SS Keyboard Macros 宏 .PP .PD 0 .TP .B start\-kbd\-macro (C\-x (\^) 开始保存输入字符为当前键盘宏。 .TP .B end\-kbd\-macro (C\-x )\^) 停止保存输入字符为当前键盘宏,保存宏定义。 .TP .B call\-last\-kbd\-macro (C\-x e) 重新执行上次定义的键盘宏,即显示出宏中的字符,好像它们是从键盘输入的一样。 .PD .SS Miscellaneous .PP .PD 0 .TP .B re\-read\-init\-file (C\-x C\-r) 读入 \fIinputrc\fP 文件的内容,合并其中的按键关联和变量赋值。 .TP .B abort (C\-g) 取消当前编辑命令,鸣终端响铃 (按照 .BR bell\-style 的设置来做)。 .TP .B do\-uppercase\-version (M\-a, M\-b, M\-\fIx\fP, ...) 如果有 Meta 前缀的字符 \fIx\fP 是小写的,那么与命令相关连的是对应的大写字符。 .TP .B prefix\-meta (ESC) 将输入的下一个字符加上 Meta 前缀。 .SM .B ESC .B f 等价于 .BR Meta\-f . .TP .B undo (C\-_, C\-x C\-u) 增量的撤销,分别记住每一行。 .TP .B revert\-line (M\-r) 撤销这一行的所有修改。这与执行命令 .B undo 足够多次的效果相同,将这一行恢复到初始状态。 .TP .B tilde\-expand (M\-&) 对当前词进行波浪线扩展。 .TP .B set\-mark (C\-@, M\-) 在 point 处设置 mark。如果给出了数值的参数,标记被设置到那个位置。 .TP .B exchange\-point\-and\-mark (C\-x C\-x) 交换 point 和 mark。当前光标位置被设置为保存的位置,旧光标位置被保存为 mark。 .TP .B character\-search (C\-]) 读入一个字符,point 移动到这个字符下一次出现的地方。负数将搜索上一个出现。 .TP .B character\-search\-backward (M\-C\-]) 读入一个字符,point 移动到这个字符上一次出现的地方。负数将搜索下面的出现。 .TP .B insert\-comment (M\-#) 没有数值的参数时,readline 变量 .B comment\-begin 的值将被插入到当前行首。如果给出一个数值的参数,命令的行为类似于一个开关: 如果行首字符不匹配 \fBcomment\-begin\fP 的值,将插入这个值,否则 匹配 \fBcomment\-begin\fP 的字符将被从行首删除。在两种情况下,这一行都被接受, 好像输入了新行符一样。\fBcomment\-begin\fP 的默认值使得这个命令将当前行变成 一条 shell 注释。如果数值参数使得注释字符被删除,这一行将被 shell 执行。 .TP .B glob\-complete\-word (M\-g) point 之前的词被当作路径扩展的一个模式,尾部暗含了一个星号。这个模式被用来 为可能的补全产生匹配的文件名列表。 .TP .B glob\-expand\-word (C\-x *) point 之前的词被当作路径扩展的一个模式,匹配的文件名的列表被插入,替换这个词。 如果给出一个数值参数,在路径扩展之前将添加一个星号。 .TP .B glob\-list\-expansions (C\-x g) 显示 .B glob\-expand\-word 可能产生的扩展的列表,重绘当前行。如果给出一个数值参数,在路径扩展之前将添加一个星号。 .TP .B dump\-functions 向 readline 输出流打印所有的函数和它们的按键关联。如果给出一个数值参数, 输出将被格式化,可以用作 \fIinputrc\fP 文件一部分。 .TP .B dump\-variables 向 readline 输出流打印所有可设置的 readline 函数。如果给出一个数值参数, 输出将被格式化,可以用作 \fIinputrc\fP 文件一部分。 .TP .B dump\-macros 向 readline 输出流打印所有关联到宏的 readline 按键序列以及它们输出的字符串。 如果给出一个数值参数,输出将被格式化,可以用作 \fIinputrc\fP 文件一部分。 .TP .B display\-shell\-version (C\-x C\-v) 显示当前 .BR bash 实例的版本信息。 .PD .SS Programmable Completion 可编程补全 .PP 当试图对一个命令的参数进行词的补全时,如果已经使用内建命令 \fBcomplete\fP 定义了这个命令的补全规则 ( \fBcompspec\fP),将启动可编程补全功能 (参见下面的 .SM .B "shell 内建命令(SHELL BUILTIN COMMANDS)" 章节)。 .PP 首先,命令名被确认。如果针对这个命令有补全规则的定义,那么将使用 规则来产生可能的词的补全的列表。如果命令词是一个路径全名,将首先搜索 针对这个路径全名的规则。如果针对这个路径全名没有找到规则,将尝试查找 针对最后一个斜杠后面的部分的规则。 .PP 一旦找到了一个规则,它将用作产生匹配的词。如果没有找到,将进行上面 \fBCompleting\fP 中描述的 \fBbash\fP 默认的补全。 .PP 首先,将执行规则指定的动作。只有以被补全的词开始的匹配词才会被返回。 当在文件或目录名补全中使用 .B \-f 或 .B \-d 选项时,shell 变量 .SM .B FIGNORE 将用于对匹配进行过滤。 .PP 接下来,将产生所有由\fB\-G\fP 选项给出的文件名扩展模式指定的补全。 模式产生的词不必匹配要补全的词。shell 变量 .SM .B GLOBIGNORE 不会用于过滤匹配结果,但是变量 .SM .B FIGNORE 会被使用。 .PP 接下来,将考虑 \fB\-W\fP 选项的参数指定的字符串。这个字符串首先被 划分,用特殊变量 .SM .B IFS 中的字符作为分隔符。shell 引用被当作一个词。 接下来,每个词被扩展,使用上面 .SM .BR EXPANSION 中描述的 brace expansion, tilde expansion, parameter 和 variable expansion, command substitution, arithmetic expansion, 以及 pathname expansion 规则处理。对于结果,再使用上面 \fBWord Splitting\fP 中描述的规则划分成词。 扩展的结果与要补全的词进行前部一致的比较,匹配的词成为可能的补全。 .PP 在这些匹配被产生后,任何由 \fB\-F\fP 和 \fB\-C\fP 选项指定的 shell 函数和命令将被执行。当命令或函数被执行时,变量 .SM .B COMP_LINE 和 .SM .B COMP_POINT 被赋值,使用上面 \fBShell Variables\fP 中的规则。 如果要执行 shell 函数,还将设置变量 .SM .B COMP_WORDS 和 .SM .B COMP_CWORD 当函数或命令被执行时,第一个参数是等待参数被补全的命令的名称, 第二个参数是要补全的词,第三个参数是当前命令行中,要补全的词前面的词。 对要补全的词产生的补全不会进行任何过滤;函数或命令在产生匹配时有完全的自由。 .PP 任何 \fB\-F\fP 指定的函数将被首先执行。函数可以使用任何 shell 功能, 包含内建命令 \fIcompgen\fP,来产生匹配。它必须将可能的补全放到数组变量 .SM .B COMPREPLY 中。 .PP 接下来,任何 \fB\-C\fP 选项指定的命令将被执行,其执行环境与命令替换 的环境相同。它应当向标准输出打印一个补全的列表,每行一个。 反斜杠可以用来转义一个新行符,如果需要的话。 .PP 所有可能的补全都产生之后,将对列表进行 \fB\-X\fP 选项指定的任何过滤。 过滤器是一个模式,和路径名扩展中的一样;模式中的 \fB&\fP 替换为 要补全的词。字面上的 \fB&\fP 可以用反斜杠转义;反斜杠在进行匹配时被删除。 任何匹配这个模式的补全将从列表中删除。前导的 \fB!\fP 将使模式含义相反; 这种情况下,任何不匹配这个模式的补全将被删除。 .PP 最后,\fPB\-P\fP 和 \fB\-S\fP 指定的任何前缀和后缀被添加到补全列表的每个 成员后面,结果返回给 readline 补全代码,作为可能的补全列表。 .PP 如果先前执行的动作没有产生任何匹配,并且在定义 compspec 规则时,为 \fBcomplete\fP 命令提供了 \fB\-o dirname\fP 选项,将尝试目录名补全。 .PP 默认情况下,如果找到了一个规则,它产生的任何东西都被返回给补全代码, 作为可能的补全的全集。不再尝试默认的 \fBbash\fP 补全,readline 默认的 文件名补全也会禁止。如果定义规则时,为 \fBcomplete\fP 命令提供了 \fB\-o default\fP 选项,在规则没有产生匹配时将进行 readline 默认的补全处理。 .PP 当一个规则指出期望目录名补全时,可编程补全函数强制 readline 在补全的名称 后面添加一个斜杠,如果它是一个到目录的符号连接。然后还要经过 readline 变量 \fBmark\-directories\fP 的值处理,不管 readline 变量 \fBmark\-symlinked\-directories\fP 的值是什么。 .SH 历史(HISTORY) 当启用内建命令 .B set 的 .B \-o history 选项时,shell 允许访问 \fIcommand history\fP,以前输入的命令的列表。 \fBHISTSIZE\fP 的值用作命令列表中保存的命令数量。 过去 .SM .B HISTSIZE 个 (默认为500) 命令将被保存。shell 将每条命令在进行参数和变量扩展之前 保存到历史列表中 (参见上面的 .SM .B EXPANSION 段落),但是是在历史扩展进行之后,并且要经过 shell 变量 .SM .B HISTIGNORE 和 .SM .BR HISTCONTROL 处理。 .PP 在启动时,历史根据以变量 .SM .B HISTFILE 的值为名的文件 (默认是 \fI~/.bash_history\fP) 进行初始化。 如果需要的话,以 .SM .B HISTFILE 为名的文件将被截断,来包含不超过变量 .SM .BR HISTFILESIZE 的值指定的行数。当交互 shell 退出时,最后 .SM .B $HISTSIZE 行被从历史列表中复制到 .SM .BR $HISTFILE 文件中。如果启用了 shell 选项 .B histappend (参见下面的 .SM .B "shell 内建命令(SHELL BUILTIN COMMANDS)" 章节中对内建命令 .B shopt 的描述),这些行被追加到历史文件中,否则历史文件被覆盖。如果 .SM .B HISTFILE 被取消定义,或者如果历史文件不可写,历史将不会保存。保存历史之后, 历史文件被截断,以包含不超过 .SM .B HISTFILESIZE 行。如果 .SM .B HISTFILESIZE 被取消定义,不会进行截断操作。 .PP 内建命令 .B fc (参见下面的 .SM .B "shell 内建命令(SHELL BUILTIN COMMANDS)" 章节) 可以用来列出或修改并重新执行历史列表中的一部分。内建命令 .B history 可以用来显示或修改历史列表,操作历史文件。当使用命令行编辑时,每种 编辑模式都有搜索命令,提供对历史列表的访问。 .PP shell 允许控制哪些命令被保存到历史列表中。可以设置 .SM .B HISTCONTROL 和 .SM .B HISTIGNORE 变量,来使得 shell 只保存输入命令的一个子集。shell 选项 .B cmdhist 如果被启用,将使得 shell 将多行的命令的每一行保存到同一个历史条目中, 在需要的地方添加分号来保证语义的正确性。shell 选项 .B lithist 使得 shell 保存命令时,保留嵌入的新行而不是用分号代替。参见下面 .SM .B "shell 内建命令(SHELL BUILTIN COMMANDS)" 中,内建命令 .B shopt 的描述,有关设置和取消 shell 选项的信息。 .SH 历史扩展("HISTORY EXPANSION") .PP shell 支持历史扩展机制,类似于 .BR csh 中历史扩展。这一节描述了可用的语法特征。在交互的 shell 中这一机制被默认启用, 可以使用内建命令 .B set 的 .B \-H 选项来禁用它 (参见下面的 .SM .B "shell 内建命令(SHELL BUILTIN COMMANDS)" 章节)。非交互的 shell 默认不进行历史扩展。 .PP 历史扩展将历史列表中的词引入输入流中,使得可以方便地重复已执行命令, 在当前输入行中为前一个命令插入新的参数, 或者快速修正前一个命令中的错误。 .PP 历史扩展在读入一整行后,在 shell 将它拆分成词之前立即进行。它 由两部分组成。首先是判断替换中使用历史列表中哪一行。其次是选择那一行中要包含到当前行中的部分。 从历史中选择的行称为 \fIevent\fP,从那一行中选择的部分是 \fIwords\fP。 可以用多种多样的 \fImodifiers\fP 来操纵所选的词。在读入输入时,行被按照同样方式分解成词, 因此多个以 \fImetacharacter\fP 分隔的词,如果被引号包含,就被当成一个词。 历史扩展由历史扩展字符引入,默认是 \^\fB!\fP\^。只有反斜杠 (\^\fP\e\fP\^) 和单引号可以引用历史扩展字符。 .PP 内建命令 .B shopt 可以设定多个选项值,来调整历史扩展的行为。如果 shell 选项 .B histverify 被启用 (参见内建命令 .B shopt 的描述),并且正在使用 .B readline, 历史替换不会被立即传给 shell 解释器。与此相对,扩展后的行被重新载入 .B readline 编辑缓冲区,进行进一步的修改。如果正在使用 .B readline, 并且启用了 shell 选项 .B histreedit, 失败的历史替换将被重新载入到 .B readline 编辑缓冲区,进行改正。内建命令 .B history 的 .B \-p 选项可以用来在执行之前查看历史扩展将如何进行。内建命令 .B history 的 .B \-s 选项可以用来在历史列表末尾添加命令,而不真正执行它们,从而 在接下来的调用中可以使用它们。 .PP shell 允许控制历史扩展机制使用的多种字符 (参见上面的 .BR "Shell Variables" 中 .B histchars 的描述)。 .SS Event Designators .PP 事件指示器 (event designator) 是一个对历史列表中某个命令行条目的引用。 .PP .PD 0 .TP .B ! 开始一个命令替换,除非后面跟随的是 .BR blank , newline, = 或是 (. .TP .B !\fIn\fR 引用命令行 .IR n . .TP .B !\-\fIn\fR 引用当前命令行减去 .IR n . .TP .B !! 引用上一条命令。这是 `!\-1' 的同义词。 .TP .B !\fIstring\fR 引用最近的以 .IR string 开始的命令。 .TP .B !?\fIstring\fR\fB[?]\fR 引用最近的包含 .IR string 的命令。尾部的 \fB?\fP 可以被忽略,如果 .I string 之后紧接着一个新行符。 .TP .B \d\s+2^\s-2\u\fIstring1\fP\d\s+2^\s-2\u\fIstring2\fP\d\s+2^\s-2\u 快速替换。重复上一条命令,将 .I string1 替换为 .IR string2 . 与 ``!!:s/\fIstring1\fP/\fIstring2\fP/'' 等价 (参见下面的 \fB修饰符 (Modifiers)\fP)。 .TP .B !# 到此为止输入的整个命令行。 .PD .SS Word Designators .PP 词指示器 (word designator) 用于从 event 中选择期望的词。 .B : 分隔 event 规则与 word 指示器。它可以忽略,如果词指示器以 .BR ^ , .BR $ , .BR * , .BR \- , 或 .BR % 开始。词被从行首开始编号,第一个词被表示为 0。插入当前行中的词以单个空格分隔。 .PP .PD 0 .TP .B 0 (zero) 第 0 个词。对 shell 来将,这是命令名。 .TP .I n 第 \fIn\fR 个词。 .TP .B ^ 第一个参数。也就是,第 1 个词。 .TP .B $ 最后的参数。 .TP .B % 最近一次搜索 `?\fIstring\fR?' 匹配的词。 .TP .I x\fB\-\fPy 一组词;`\-\fIy\fR' 是 `0\-\fIy\fR' 的简写。 .TP .B * 所有词,除了第 0 个。这是 `\fI1\-$\fP' 的同义词。如果 event 中只有一个词,使用 .B * 也不是错误;这种情况下将返回空字符串。 .TP .B x* \fIx\-$\fP 的简写。 .TP .B x\- \fI\-$\fP 的简写,就像 \fBx*\fP 一样,但是忽略最后一个词。 .PD .PP 如果给出了一个 word 指示器,没有给出 event 规则,前一个命令将用作 event。 .SS 修饰符 (Modifiers) .PP 可选的 word 指示器之后,可以出现一个或多个下述 modifiers 的序列,每一个都前缀有 `:'。 .PP .PD 0 .PP .TP .B h 删除文件名组成的尾部,只保留头部。 .TP .B t 删除文件名组成中前面的成分,保留尾部。 .TP .B r 删除 \fI.xxx\fP 形式中尾部的后缀成分,保留基本名称部分。 .TP .B e 删除所有内容,保留尾部的后缀。 .TP .B p 打印新的命令,但是不执行它。 .TP .B q 引用替换所得的词,使它不再进行替换。 .TP .B x 引用替换所得的词,类似与 .BR q , 但是会根据 .B blanks,空白 和新行符分解为词。 .TP .B s/\fIold\fP/\fInew\fP/ 将事件行中出现的第一个 .I old 替换为 .I new。 任何分隔符都可以用来代替 /,最后一个分隔符是可选的,如果它是事件行的最后一个字符。 .I old 和 .I new 中的分隔符可以用一个反斜杠来引用。如果 & 出现在 .IR new 中,它将替换为 .IR old。 可以用单个反斜杠来引用 &。如果 .I old 为空,它将设置为最后替换的 .I old, 或者,如果前面没有发生过历史替换,就是 .B !?\fIstring\fR\fB[?]\fR 搜索中的最后一个 .I string。 .TP .B & 重复上一次替换。 .TP .B g 使得改变被整个事件行所接受。用于与 `\fB:s\fP' 或 `\fB:&\fP' 结合 (例如,`\fB:gs/\fIold\fP/\fInew\fP/\fR')。 如果与 `\fB:s\fP' 结合使用,任何分隔符都可以用来代替 /, 最后一个分隔符是可选的,如果它是事件行的最后一个字符。 .PD .SH "shell 内建命令(SHELL BUILTIN COMMANDS)" .\" start of bash_builtins .PP 除非另外说明,这一章介绍的内建命令如果接受 .B \- 引导的选项,那么它也接受 .B \-\- 作为参数,来指示选项的结束 .sp .5 .PD 0 .TP \fB:\fP [\fIarguments\fP] .PD 没有效果;这个命令除了扩展 .I arguments 并且作任何指定的重定向之外,不做任何事。 退出时返回0。 .TP \fB .\| \fP \fIfilename\fP [\fIarguments\fP] .PD 0 .TP \fBsource\fP \fIfilename\fP [\fIarguments\fP] .PD 读取并在当前 shell 环境中执行 .I filename 中的命令,返回 .IR filename 中最后一个命令的返回状态。如果 .I filename 中不包含斜杠 (slash),系统将在 .SM .B PATH 中查找包含 .IR filename 的目录。在 .SM .B PATH 中搜索的文件不必是可执行的。 如果 \fBbash\fP 不是运行于 \fIposix mode\fP,当 .SM .BR PATH 中找不到文件时会在当前目录搜索。如果 .B shopt 内建命令的 .B sourcepath 选项被关闭, .SM .B PATH 将不会被搜索。如果有任何 \fIarguments\fP ,它们成为 \fIfilename\fP 的位置参数 (positional parameters),否则 位置参数不发生变化。 返回状态是脚本中最后一个命令退出时的状态。 没有执行命令则返回0,没有找到或不能读取 .I filename 时返回false。 .TP \fBalias\fP [\fB\-p\fP] [\fIname\fP[=\fIvalue\fP] ...] \fBAlias\fP 不带参数或者带 .B \-p 参数运行时将在标准输出以这样的格式 \fBalias\fP \fIname\fP=\fIvalue\fP 给出别名列表。 如果有参数,将创建提供了 \fIvalue\fP 的 \fIname\fP 的别名。 \fIvalue\fP 中尾部的空格使得别名被扩展时,下一个词做别名替换。 对于参数列表中的每一个 \fIname\fP,如果 \fIvalue\fP 没有 给出,这个别名的名称和值会被打印出来。 \fBAlias\fP 返回 true 除非 \fIname\fP 没有定义为别名。 .TP \fBbg\fP [\fIjobspec\fP] 使挂起的程序 \fIjobspec\fP 在后台继续执行,就好像它是用 .BR & 启动的一样。如果没有指定 \fIjobspec\fP,shell 意义上的 \fIcurrent job 当前作业\fP 将被使用。 .B bg .I jobspec 返回0,除非当前禁止了作业控制,或者在允许作业控制,但 是没有找到 \fIjobspec\fP ,或者它不是在作业控制下启动的时候。 .TP \fBbind\fP [\fB\-m\fP \fIkeymap\fP] [\fB\-lpsvPSV\fP] .PD 0 .TP \fBbind\fP [\fB\-m\fP \fIkeymap\fP] [\fB\-q\fP \fIfunction\fP] [\fB\-u\fP \fIfunction\fP] [\fB\-r\fP \fIkeyseq\fP] .TP \fBbind\fP [\fB\-m\fP \fIkeymap\fP] \fB\-f\fP \fIfilename\fP .TP \fBbind\fP [\fB\-m\fP \fIkeymap\fP] \fB\-x\fP \fIkeyseq\fP:\fIshell\-command\fP .TP \fBbind\fP [\fB\-m\fP \fIkeymap\fP] \fIkeyseq\fP:\fIfunction\-name\fP .TP \fBbind\fP \fIreadline\-command\fP .PD 显示当前 .B readline 键和功能的,将一个按键序列和一个 .B readline 功能或宏进行关联,或者设置一个 .B readline 变量。每一个在非选项的参数都是一个命令,好像它是在 .IR .inputrc 中出现的一样。但是每个关联或者命令必须作为单独的参数传递; 也就是这样 '"\eC\-x\eC\-r": re\-read\-init\-file'。 如果有参数,它们有如下的意义: .RS .PD 0 .TP .B \-m \fIkeymap\fP 使用 .I keymap 作为随后的关联的keymap。可选的 .I keymap 名称是 \fIemacs, emacs\-standard, emacs\-meta, emacs\-ctlx, vi, vi\-move, vi\-command\fP,还有 .IR vi\-insert 。 \fIvi\fP 和 \fIvi\-command\fP 等价; \fIemacs\fP 和 \fIemacs\-standard\fP 等价。 .TP .B \-l 列出所有的 \fBreadline\fP 功能。 .TP .B \-p 以程序可读的方式显示 \fBreadline\fP 功能名称和关联 .TP .B \-P 列出当前 \fBreadline\fP 功能名称和关联。 .TP .B \-v 以程序可读的方式显示 \fBreadline\fP 变量名称和值 .TP .B \-V 列出当前 \fBreadline\fP 变量和值。 .TP .B \-s 以程序可读的方式显示 \fBreadline\fP 键序列和对应的宏 .TP .B \-S 显示 \fBreadline\fP 宏对应的键序列和他们输出的字符串 .TP .B \-f \fIfilename\fP 从 \fIfilename\fP 中读取键序列 .TP .B \-q \fIfunction\fP 查询那些键将执行\fIfunction\fP。 .TP .B \-u \fIfunction\fP 取消所有关联到 \fIfunction\fP 的键。 .TP .B \-r \fIkeyseq\fP 取消当前任何 \fIkeyseq\fP 的关联。 .TP .B \-x \fIkeyseq\fP:\fIshell\-command\fP 使 \fIshell\-command\fP 在 \fIkeyseq\fP 按下时被执行。 .PD .PP 返回值是0,除非给出了一个不能识别的选项或是产生了一个错误。 .RE .TP \fBbreak\fP [\fIn\fP] 从一个 .BR for , .BR while , .BR until , 或者 .B select 循环退出。 如果指定了 \fIn\fP ,就跳出 \fIn\fP 层循环。 .I n 必须 \(>= 1。如果 .I n 比当前循环层数还要大,将跳出所有循环。 返回值是0,除非执行 .B break 的时候 shell 不是在执行一个循环。 .TP \fBbuiltin\fP \fIshell\-builtin\fP [\fIarguments\fP] 执行指定的 shell 内建命令,传递 .IR arguments ,返回命令的返回值。 这在定义了一个和 shell 内建命令同名的函数时很有用, 在那个函数中使用它来执行相应的功能。\fBcd\fP 命令常以这种方式重新定义。 返回状态是 false,如果指定的 .I shell\-builtin 并不是一个 shell 内建命令。 .TP \fBcd\fP [\fB\-L|-P\fP] [\fIdir\fP] 改变当前路径到 \fIdir\fP。这个变量的默认值是 .SM .B HOME 目录。环境变量 .SM .B CDPATH 定义了包含 .IR dir 的搜索路径。在 .SM .B CDPATH 中可选的路径名以冒号(:) 分隔。 .SM .B CDPATH 中的空路径名与当前路径相同,就是 ``\fB.\fP''. 如果 .I 目录名 以斜杠 (/,slash) 起始,那么 .SM .B CDPATH 不会被使用。 .B \-P 选项是说使用物理路径结构而不是跟随符号链接,(参见 .B set 命令中的 .B \-P 选项); .B \-L 选项强制跟随符号链接。另外,选项 .B \- 与 .SM .BR $OLDPWD 是相同的。 返回值是 true ,如果成功地改变了目录;否则是 false。 .TP \fBcommand\fP [\fB\-pVv\fP] \fIcommand\fP [\fIarg\fP ...] 运行 .I command ,使用 .I args 作为参数,禁止通常的查找 shell 函数的过程。只有内建命令或者 .SM .B PATH 中包含的命令可以执行。如果给出 .B \-p 参数, .I command 的查找是以 .B PATH 的默认值进行的。这样可以保证找到所有的标准工具。如果给出 .B \-V 或者 .B \-v 选项,关于 .I command 的说明将被打印出来。 .B \-v 选项使得表述这个命令的词,或者要执行 .I command 需要执行的文件显示出来; .B \-V 选项给出更详细的描述。如果给出 .B \-V 或者 .B \-v 选项,退出状态在找到了 .I command 的情况下0,没找到就是1。 如果没有提供选项,并且产生了错误或者 .I command 没有找到,退出状态就是127。否则, .B command 内建命令的退出状态是 .IR command 的退出状态。 .TP \fBcompgen\fP [\fIoption\fP] [\fIword\fP] 根据 \fIoption\fP 为 \fIword\fP 产生可能的补全。\fIoption\fP 是 内建命令 .B complete 接受的任何选项,除了 \fB\-p\fP 和 \fB\-r\fP,将匹配结果写到标准输出。 当使用 \fB\-F\fP 或 \fB\-C\fP 选项时,可编程补全功能所设置的多数 shell 变量如果存在,其值将不再有用。 .sp 1 产生的匹配与可编程补全代码根据补全规则加上相同的标志直接产生的结果相同。 如果指定了 \fIword\fP,只有匹配 \fIword\fP 的补全结果将被显示出来。 .sp 1 返回值为真,除非提供了非法的选项,或者没有产生匹配。 .TP \fBcomplete\fP [\fB\-abcdefgjksuv\fP] [\fB\-o\fP \fIcomp-option\fP] [\fB\-A\fP \fIaction\fP] [\fB\-G\fP \fIglobpat\fP] [\fB\-W\fP \fIwordlist\fP] [\fB\-P\fP \fIprefix\fP] [\fB\-S\fP \fIsuffix\fP] .br [\fB\-X\fP \fIfilterpat\fP] [\fB\-F\fP \fIfunction\fP] [\fB\-C\fP \fIcommand\fP] \fIname\fP [\fIname ...\fP] .PD 0 .TP \fBcomplete\fP \fB\-pr\fP [\fIname\fP ...] .PD 指定每个 \fIname\fP 的参数应当如何被补全。如果给出了 \fB\-p\fP 选项, 或者没有选项给出,现有的补全规则将被显示出来,以一种可以重用为输入 的格式显示。\fB\-r\fP 选项将一个针对每个 \fIname\fP 的补全规则删除。 或者,如果没有给出 \fIname\fP,将删除所有补全规则。 .sp 1 尝试词的补全时,应用这些补全规则的过程在上面 \fBProgrammable Completion\fP(可编程补全) 中详述。 .sp 1 其他选项,如果给出的话,具有下列意义。\fB\-G\fP, \fB\-W\fP, 和 \fB\-X\fP 选项的参数 (如果需要的话,还包括 \fB\-P\fP 和 \fB\-S\fP 选项) 应当被引用,避免在执行内建命令 .B complete 之前被扩展。 .RS .PD 0 .TP 8 \fB\-o\fP \fIcomp-option\fP \fIcomp-option\fP 控制着 compspec 除了简单地产生补全之外的多种行为。 \fIcomp-option\fP 可以是如下之一: .RS .TP 8 .B default 使用 readline 的默认文件名补全,如果 compspec 没有得到匹配。 .TP 8 .B dirnames 进行目录名补全,如果 compspec 没有得到匹配。 .TP 8 .B filenames 告诉 readline,compspec 产生了文件名,使它可以进行任何文件名专用的处理 (例如,给目录名加上斜杠或消除尾部空白)。主要用于 shell 函数。 .TP 8 .B nospace 告诉 readline 不要向补全的词在行的最后添加一个空格 (这是默认行为)。 .RE .TP 8 \fB\-A\fP \fIaction\fP \fIaction\fP 可以是下列之一,来产生一系列可能的补全结果: .RS .TP 8 .B alias 起别名。也可以用 \fB\-a\fP 指定。 .TP 8 .B arrayvar 数组变量名。 .TP 8 .B binding \fBReadline\fP 按键关联。 .TP 8 .B builtin shell 内建命令的名称。也可以用 \fB\-b\fP 指定。 .TP 8 .B command 命令名。也可以用 \fB\-c\fP 指定。 .TP 8 .B directory 目录名。也可以用 \fB\-d\fP 指定。 .TP 8 .B disabled 被禁用的内建命令名称。 .TP 8 .B enabled 启用的内建命令名称。 .TP 8 .B export 被导出的 shell 变量名称。也可以用 \fB\-e\fP 指定。 .TP 8 .B file 文件名。也可以用 \fB\-f\fP 指定。 .TP 8 .B function shell 函数的名称。 .TP 8 .B group 组名。也可以用 \fB\-g\fP 指定。 .TP 8 .B helptopic 内建命令 \fBhelp\fP 接受的帮助主题。 .TP 8 .B hostname 主机名,从环境变量 .SM .B HOSTFILE 指定的文件中得到。 .TP 8 .B job 作业名,如果作业控制被激活的话。也可以用 \fB\-j\fP 指定。 .TP 8 .B keyword shell 保留字。也可以用 \fB\-k\fP 指定。 .TP 8 .B running 正在运行的作业名,如果作业控制被激活的话。 .TP 8 .B service 服务名。也可以用 \fB\-s\fP 指定。 .TP 8 .B setopt 内建命令 \fBset\fP 的 \fB\-o\fP 选项的有效参数。 .TP 8 .B shopt 内建命令 \fBshopt\fP 接受的 shell 选项名。 .TP 8 .B signal 信号名。 .TP 8 .B stopped 停止的作业名,如果作业控制被激活的话。 .TP 8 .B user 用户名。也可以用 \fB\-u\fP 指定。 .TP 8 .B variable shell 变量的名称。也可以用 \fB\-v\fP 指定。 .RE .TP 8 \fB\-G\fP \fIglobpat\fP 文件名扩展模式 \fIglobpat\fP 被扩展,产生可能的补全。 .TP 8 \fB\-W\fP \fIwordlist\fP .SM \fIwordlist\fP 被使用 .B IFS 特殊变量中的字符作为定界符来拆分,每个结果的词被扩展。可能的补全是结果列表 中匹配要补全的词的那一些。 .TP 8 \fB\-C\fP \fIcommand\fP \fIcommand\fP 将在一个子 shell 环境中执行,它的结果用作可能的补全。 .TP 8 \fB\-F\fP \fIfunction\fP shell 函数 \fIfunction\fP 将在当前 shell 环境中执行。当它结束时,可能 的补全可以从数组元素 .SM .B COMPREPLY 中得到。 .TP 8 \fB\-X\fP \fIfilterpat\fP \fIfilterpat\fP 是一个模式,用于文件名扩展。所有前面的选项和参数产生 的可能的补全都要经过这一步处理,每一个匹配 \fIfilterpat\fP 的补全都 被从列表中删除。为 \fIfilterpat\fP 加上前导 \fB!\fP 使模式意义相反; 这种情况下,所有不匹配 \fIfilterpat\fP 的模式被删除。 .TP 8 \fB\-P\fP \fIprefix\fP 在所有其他选项都处理过之后,\fIprefix\fP 被加到每个可能的补全前面。 .TP 8 \fB\-S\fP \fIsuffix\fP 在所有其他选项都处理过之后,\fIsuffix\fP 被加到每个可能的补全后面。 .PD .PP 返回值为真,除非给出了非法的选项,给出除 \fB\-p\fP 和 \fB\-r\fP 之外 的某个选项时没有给出 \fIname\fP 参数,试图删除一条 \fIname\fP 的补全 规则但是规则不存在,或者添加补全规则时出错。 .RE .TP \fBcontinue\fP [\fIn\fP] 复位到外层 .BR for , .BR while , .BR until , 或 .B select 循环的下一次开始。如果指定了 .I n, 复位到向外第 \fIn\fP 层循环的开始。 .I n 必须 \(>= 1。如果 .I n 比外部循环的层数要多,将复位到最外层的循环 (``top-level'' loop,顶层循环)。 返回值是 0,除非执行 .B continue 时,shell 不是在循环之中。 .TP \fBdeclare\fP [\fB\-afFirtx\fP] [\fB\-p\fP] [\fIname\fP[=\fIvalue\fP]] .PD 0 .TP \fBtypeset\fP [\fB\-afFirtx\fP] [\fB\-p\fP] [\fIname\fP[=\fIvalue\fP]] .PD 声明变量且/或设置它们的属性。如果没有给出 \fIname\fP 则显示变量的值。 选项 .B \-p 将显示每个名称 .IR name 的属性和值。当使用 .B \-p 时,其他选项被忽略。选项 .B \-F 禁止显示函数定义;只有函数名和属性会被显示。 .B \-F 选项暗含 .BR \-f . 下列选项可用来限制只输出具有指定属性的变量,或者为变量设置属性: .RS .PD 0 .TP .B \-a 每个 \fIname\fP 都是数组变量 (参见上面的 .B Arrays 段落)。 .TP .B \-f 只使用函数名。 .TP .B \-i 变量被当作一个整数;当变量被赋值时将进行算术运算 (参见 .SM .B "算术求值 (ARITHMETIC EVALUATION)" 章节)。 .TP .B \-r 使得 \fIname\fP 只读。这些名称不能再被后续的赋值语句赋值或取消定义。 .TP .B \-t 设置每个 \fIname\fP 的 \fItrace\fP(跟踪) 属性。被跟踪的函数继承了 调用者 shell 的 \fBDEBUG\fP 陷阱。trace 属性对变量没有特殊意义。 .TP .B \-x 标记 \fIname\fP 为可以通过环境导出给后续命令。 .PD .PP 使用 `+' 代替 `\-' 将关闭属性,特殊情况是 \fB+a\fP 不能用于销毁一个 数组变量。当用于函数中时,它使得每个 \fIname\fP 成为局部的,就像 使用了 .B local 命令。返回值是 0,除非遇到了非法的选项,试图使用 .if n ``\-f foo=bar'' .if t \f(CW\-f foo=bar\fP 定义函数,试图向只读变量赋值,试图向数组变量赋值但没有使用复合的赋值 语法 (参见上面的 .B Arrays 段落),\fIname\fP 之一不是有效的 shell 变量名,试图将数组变量的数组 状态关闭,或者是试图使用 \fB\-f\fP 显示一个不存在的函数。 .RE .TP .B dirs [\fB\-clpv\fP] [+\fIn\fP] [\-\fIn\fP] 没有选项时显示当前保存的目录。默认输出为一行,目录名用空格分开。 可以使用 .B pushd 命令将目录添加到列表, .B popd 命令将列表中的条目删除。 .RS .PD 0 .TP \fB+\fP\fIn\fP 显示 .B dirs 在不带选项执行时显示的列表的第 \fIn\fP 个条目,从 0 开始自左算起。 .TP \fB\-\fP\fIn\fP 显示 .B dirs 在不带选项执行时显示的列表的第 \fIn\fP 个条目,从 0 开始自右算起。 .TP .B \-c 删除所有条目,清空目录栈。 .TP .B \-l 产生长列表;默认列表格式使用波浪线来表示个人目录。 .TP .B \-p 输出目录栈,一行一个。 .TP .B \-v 输出目录栈,一行一个,每个条目前面加上它在栈中的位置索引。 .PD .PP 返回值是 0,除非给出了非法的参数,或者 \fIn\fP 索引超出了目录栈的范围。 .RE .TP \fBdisown\fP [\fB\-ar\fP] [\fB\-h\fP] [\fIjobspec\fP ...] 没有选项时,每个 .I jobspec 被从正在运行的作业表中删除。如果给出了 \fB\-\fP 选项,每个 .I jobspec 并不从表中删除,而是被标记,使得在 shell 接到 .SM .BR SIGHUP 信号时,不会向作业发出 .SM .B SIGHUP 信号。如果没有给出 .I jobspec, 也没有给出 .B \-a 或者 .B \-r 选项,将使用当前作业 (\fIcurrent job\fP)。如果没有给出 .I jobspec, 选项 .B \-a 意味着删除或标记所有作业;选项 .B \-r 不带 .I jobspec 参数时限制操作只对正在运行的作业进行。返回值是 0,除非 .I jobspec 不指定有效的作业。 .TP \fBecho\fP [\fB\-neE\fP] [\fIarg\fP ...] 输出 \fIarg\fP,以空格分开,最后加一个新行符。返回值总是 0。 如果指定了 \fB\-n\fP,将不在尾部添加新行符。如果给出了 \fB\-e\fP 选项, 将允许解释下列反斜杠转义的字符。 .B \-E 选项禁止这些转义字符的解释,即使在默认解释它们的系统中也是如此。 shell 选项 \fBxpg_echo\fP 可以用来在运行时判断 \fBecho\fP 是否默认 展开这些转义字符。 .B echo 不将 .B \-\- 作为选项的结束。 .B echo 解释下列转义序列: .RS .PD 0 .TP .B \ea alert (bell) 响铃 .TP .B \eb backspace 回退 .TP .B \ec suppress trailing newline 删除尾部新行符 .TP .B \ee an escape character 字符 Esc .TP .B \ef form feed 进纸 .TP .B \en new line 新行符 .TP .B \er carriage return 回车 .TP .B \et horizontal tab 水平跳格 .TP .B \ev vertical tab 竖直跳格 .TP .B \e\e backslash 反斜杠 .TP .B \e0\fInnn\fP 一个八比特字符,它的值是八进制值 \fInnn\fP (零到三个八进制数字)。 .TP .B \e\fInnn\fP 一个八比特字符,它的值是八进制值 \fInnn\fP (一到三个八进制数字)。 .TP .B \ex\fIHH\fP 一个八比特字符,它的值是十六进制值 \fIHH\fP (一到两个十六进制数字)。 .PD .RE .TP \fBenable\fP [\fB\-adnps\fP] [\fB\-f\fP \fIfilename\fP] [\fIname\fP ...] 允许或禁止 shell 内建命令。禁止一个内建命令使得磁盘上的与内建命令同名 的文件得以运行,不必使用它的全路径,即使 shell 一般在搜索磁盘上的命令之前 搜索内建命令。如果使用了 \fB\-n\fP 选项,每个 \fIname\fP 都被禁止;否则, \fIname\fP 被允许。例如,要使用 .SM .B PATH 中搜索到的 .B test 命令而不是 shell 内建的那一个,可以运行 .if t \f(CWenable -n test\fP. .if n ``enable -n test''. 选项 .B \-f 意味着从共享库 .IR filename 中加载新的内建命令 .I name, 如果系统支持动态加载的话。选项 .B \-d 将删除曾经用 .BR \-f 加载的内建命令。如果没有给出 \fIname\fP 参数,或者给出了 .B \-p 选项,将显示 shell 内建命令的列表。如果没有其他选项参数, 这个列表只包含所有被允许的 shell 内建命令;如果给出了 \fB\-n\fP,将只显示被禁止的内建命令;如果给出了 \fB\-a\fP,显示的列表中包含所有内建命令,还有命令是否被允许的指示; 如果给出了 \fB\-s\fP,输出被限制为 POSIX \fIspecial\fP 内建命令。 返回值是 0,除非 .I name 不是 shell 内建命令,或者从共享库中加载新的内建命令时出错。 .TP \fBeval\fP [\fIarg\fP ...] \fIarg\fP 被读取并连结为单一的命令。这个命令然后被 shell 读取并执行, 它的退出状态被作为 .BR eval 的值返回。如果没有 .IR args , 或仅仅包含空参数, .B eval 返回 0。 .TP \fBexec\fP [\fB\-cl\fP] [\fB\-a\fP \fIname\fP] [\fIcommand\fP [\fIarguments\fP]] 如果指定了 .I command, 它将替换 shell。不会产生新的进程。 .I arguments 成为 \fIcommand\fP 的参数。如果给出了 .B \-l 选项,shell 将在传递给 .IR command 的第 0 个参数前面加上一个连字符 (dash,`-')。这样做和 .IR login (1) 相同。选项 .B \-c 使得命令 .I command 在一个空环境中执行。如果给出了 .B \-a, shell 会将 .I name 作为第 0 个参数传递给要执行的命令。如果由于某种原因 as the zeroth argument to the executed command. If .I command 不能被执行,非交互的 shell 将退出,除非 shell 选项 .B execfail 被设置为允许,这种情况下它返回失败。如果命令不能执行,交互的 shell 返回失败。 如果没有指定 .I command 任何重定向对当前 shell 发生作用,返回值是 0。如果发生重定向错误,返回状态是 1。 .TP \fBexit\fP [\fIn\fP] 使得 shell 以状态值 \fIn\fP 退出。如果忽略了 .I n, 退出状态是最后执行的命令的退出状态。在 shell 终止前,对 .SM .B EXIT 的陷阱将被执行。 .TP \fBexport\fP [\fB\-fn\fP\^] [\fIname\fP[=\fIword\fP]] ... .PD 0 .TP .B export \-p .PD 给出的名称 .I names 被标记为自动地导出到后续执行的命令的环境中。如果给出了 .B \-f 选项,名称 .I names 指的是函数。如果没有给出 .I names, 或者如果给出了 .B \-p 选项,将打印在这个 shell 中被导出的所有名字的列表。选项 .B \-n 使得以此为名的变量的导出属性被删除。 .B export 返回 0,除非遇到了非法的选项,\fIname\fP 之一不是有效的 shell 变量名, 或者给出了 .B \-f 选项,而 .I name 不是一个函数。 .TP \fBfc\fP [\fB\-e\fP \fIename\fP] [\fB\-nlr\fP] [\fIfirst\fP] [\fIlast\fP] .PD 0 .TP \fBfc\fP \fB\-s\fP [\fIpat\fP=\fIrep\fP] [\fIcmd\fP] .PD 命令修复。第一种形式中,历史列表中从 .I first 到 .I last 范围内的命令都被选取。 .I First 和 .I last 可以指定为字符串 (可以定位最后一个以此字符串开始的命令) 或者数字 (历史列表中 的索引,负数被当作相对当前命令号的偏移)。如果没有指定 .I last, 它在列举时被设为当前命令 (因此 .if n ``fc \-l \-10'' .if t \f(CWfc \-l \-10\fP 将输出最后 10 条命令),其他情况下被设为 .I first。 如果没有指定 .I first, 它在编辑时被设为前一个命令,列举是设为 \-16。 .sp 1 选项 .B \-n 使得列举时不显示命令号码。选项 .B \-r 将命令顺序进行掉换。如果给出了 .B \-l 选项,命令将列举在标准输出上。否则,将启动 .I ename 给出的编辑器,编辑包含这些命令的文件。如果没有给出 .I ename, 将使用变量 .SM .B FCEDIT 的值,如果 .SM .B FCEDIT 没有定义就使用 .SM .B EDITOR 的值。如果仍然没有定义,将使用 .FN vi。 编辑结束后,被编辑的命令将回显并执行。 .sp 1 第二种形式中,\fIcommand\fP 在每个 \fIpat\fP 的实例被 \fIrep\fP 替换后 都被重新执行。使用这种特性时可以起一个有用的别名: .if n ``r=fc -s'', .if t \f(CWr='fc \-s'\fP, 这样输入 .if n ``r cc'' .if t \f(CWr cc\fP 将运行最后的以 .if n ``cc'' .if t \f(CWcc\fP 开头的命令,输入 .if n ``r'' .if t \f(CWr\fP 将重新执行上一个命令。 .sp 1 如果使用第一种形式,返回值是 0,除非遇到了非法的选项,或 .I first 或 .I last 指定的历史行数超出了范围。如果给出了 .B \-e 选项,返回值是最后执行的命令的返回值,或着是失败,如果临时文件中的命令 执行出错。如果使用第二种形式,返回状态是重新执行的命令,除非 .I cmd 没有指定一个有效的历史行,这种情况下 .B fc 返回失败。 .TP \fBfg\fP [\fIjobspec\fP] 将 .I jobspec 恢复至前台,使它成为当前作业。如果 .I jobspec 不存在,将使用 shell 意义上的当前作业 \fIcurrent job\fP。返回值是 被放到前台的命令的状态,或者是失败,如果在禁用作业控制时运行,或者 在启用作业控制时运行,但 .I jobspec 没有指定有效的作业,或 .I jobspec 指定了没有使用作业控制的作业。 .TP \fBgetopts\fP \fIoptstring\fP \fIname\fP [\fIargs\fP] .B getopts 由 shell 程序用来处理位置参数。 .I optstring 包含要识别的选项字符;如果某个字符跟随着冒号,那么这个选项需要一个参数, 需要用空白和它隔离开。冒号和问号字符不能用作选项字符。每次它执行时, .B getopts 将下一个选项放在 shell 变量 .IR name 中,如果 .I name 不存在就初始化它;下一个要处理的参数的索引放在变量 .SM .BR OPTIND 中。每次 shell 或 shell 脚本被执行的时候 .SM .B OPTIND 被初始化为 1。当某个选项需要参数时, .B getopts 将那个参数放到变量 .SM .BR OPTARG 中。shell 不会自动重置 .SM .B OPTIND; 在相同的 shell 中,如果要使用新的参数集合而需要多次调用 .B getopts 时,必须手动重置它。 .sp 1 当遇到选项结束的时候,\fBgetopts\fP 以大于 0 的值退出。 \fBOPTIND\fP 被设置为第一个非选项的参数的索引,\fIname\fP 被设置为 ?。 .sp 1 .B getopts 通常解释位置参数,但是如果 .IR args 中给出了更多参数, .B getopts 将解释它们。 .sp 1 .B getopts 能以两种方式报告错误。如果 .I optstring 的第一个字符是冒号,将使用 .I silent 安静的错误报告。通常的操作中,遇到非法选项或缺少选项的参数时将打印出 诊断信息。如果变量 .SM .B OPTERR 被设置为 0,不会显示错误消息,即使 .I optstring 的第一个字符不是冒号。 .sp 1 如果发现了一个非法的选项, .B getopts 向 .I name 中置入 ?,并且如果不是安静模式的话,打印错误消息并取消 .SM .BR OPTARG 的定义。如果 .B getopts 是安静模式,找到的选项字符将置入 .SM .B OPTARG, 不会打印诊断消息。 .sp 1 如果没有找到需要的参数,并且 .B getopts 不是安静模式,将向 .IR name 置入一个问号 (\^\fB?\fP\^),取消 .SM .B OPTARG 的定义,打印出诊断消息。如果 .B getopts 是安静模式,那么将向 .I name 置入一个冒号 (\^\fB:\fP\^) 并且 .SM .B OPTARG 将设置为找到的选项字符。 .sp 1 .B getopts 返回真,如果找到了指定的/未被指定的选项。它返回假,如果遇到了选项结束 或者发生了错误。 .TP \fBhash\fP [\fB\-lr\fP] [\fB\-p\fP \fIfilename\fP] [\fB\-dt\fP] [\fIname\fP] 对于每个 .IR name , 通过搜索 .B $PATH 中的目录,找到命令的全路径名并记录它。如果给出了 .B \-p 选项,不会进行路径搜索,直接将 .I filename 作为命令的全路径名。选项 .B \-r 使得 shell 忘记所有已记录的位置。选项 .B \-d 使得 shell 忘记已记录的 \fIname\fP 的位置。如果给出了 .B \-t 选项,每个 \fIname\fP 对应的全路径名被打印出来。如果给出多个 \fIname\fP 作为 \fB\-t\fP 的参数,\fIname\fP 将在已记录的全路径名 之前被打印出来。选项 .B \-l 使得输出以一种可以重用为输入的格式显示。如果没有给出参数, 或者只给出了 \fB\-l\fP 选项,已记录的命令的信息将被打印出来。 返回真,除非 .I name 没有找到或给出了非法的选项。 .TP \fBhelp\fP [\fB\-s\fP] [\fIpattern\fP] 显示关于内建命令的有用的信息。如果指定了 .I pattern (模式), .B help 给出关于所有匹配 .IR pattern 的命令的详细帮助;否则所有内建命令的帮助和 shell 控制结构将被打印出来。 选项 \fB\-s\fP 限制信息显示为简短的用法概要。 返回 0,除非没有匹配 .IR pattern 的命令。 .TP \fBhistory [\fIn\fP] .PD 0 .TP \fBhistory\fP \fB\-c\fP .TP \fBhistory \-d\fP \fIoffset\fP .TP \fBhistory\fP \fB\-anrw\fP [\fIfilename\fP] .TP \fBhistory\fP \fB\-p\fP \fIarg\fP [\fIarg ...\fP] .TP \fBhistory\fP \fB\-s\fP \fIarg\fP [\fIarg ...\fP] .PD 不带选项的话,显示带行号的命令历史列表。列出的行中含有 .B * 的已经被修改过。参数 .I n 使得只显示最后 .I n 行。如果给出了 \fIfilename\fP,它被用做历史文件名;没有的话,将使用 .SM .B HISTFILE 的值作为历史文件名。选项如果给出,则具有下列意义: .RS .PD 0 .TP .B \-c 清空历史列表,删除所有条目。 .TP \fB\-d\fP \fIoffset\fP 删除 \fIoffset\fP 位置的历史条目。 .TP .B \-a 将 ``新'' 的历史条目 (自当前 \fBbash\fP 会话开始输入的历史命令) 追加到历史文件中。 .TP .B \-n 将尚未从历史文件中读取的历史条目读入当前历史列表。这些行是当前 \fBbash\fP 会话开始之后,才追加到历史文件中的行。 .TP .B \-r 读取历史文件的内容,使用它们作为当前历史。 .TP .B \-w 将当前历史列表写入历史文件,覆盖历史文件的原有内容。 .TP .B \-p 对后续的 \fIargs\fP 进行历史替换,在标准输出上显示结果。 不会将结果存入历史列表。每个 \fIargs\fP 都必须被引用,来禁止 普通的命令扩展。 .TP .B \-s 将 .I args 保存到历史列表中,作为单独的条目。历史列表中的最后一个命令在添加 .I args 之前被删除。 .PD .PP 返回 0,除非遇到了非法的选项,读/写历史文件发生错误,在 \fB\-d\fP 的 参数中给出了无效的 \fIoffset\fP,或者对 \fB\-p\fP 的后续参数进行历史扩展失败。 .RE .TP \fBjobs\fP [\fB\-lnprs\fP] [ \fIjobspec\fP ... ] .PD 0 .TP \fBjobs\fP \fB\-x\fP \fIcommand\fP [ \fIargs\fP ... ] .PD 第一种形式列出正在运行的作业。选项具有下列意义: .RS .PD 0 .TP .B \-l 普通信息之外,列出进程ID。 .TP .B \-p 只列出作业的进程组 leader 的进程ID。 .TP .B \-n 只显示从上次用户得知它们的状态之后,状态发生改变的作业的信息。 .TP .B \-r 限制只输出正在运行的作业。 .TP .B \-s 限制只输出停止的作业。 .PD .PP 如果给出了 .I jobspec 输出被限制为仅此作业的信息。 返回 0,除非遇到了非法的选项或给出了非法的 .I jobspec。 .PP 如果给出了 .B \-x 选项,作业 .B jobs 将 .I command 或 .I args 中的任何 .I jobspec 替换为相应的进程组ID,执行 .I command, 传递参数 .IR args 给它并返回它的退出状态。 .RE .TP \fBkill\fP [\fB\-s\fP \fIsigspec\fP | \fB\-n\fP \fIsignum\fP | \fB\-\fP\fIsigspec\fP] [\fIpid\fP | \fIjobspec\fP] ... .PD 0 .TP \fBkill\fP \fB\-l\fP [\fIsigspec\fP | \fIexit_status\fP] .PD 向以 .I pid 或 .IR jobspec 为名的进程发送名为 .I sigspec 或 .I signum 的信号。 .I sigspec 可以是一个信号名称,类似 .SM .B SIGKILL 或信号编号; .I signum 是一个信号编号。如果 .I sigspec 是一个信号名称,那么可以有,也可以没有 .SM .B SIG 前缀。如果没有给出 .I sigspec, 那么假设是 .SM .B SIGTERM。 参数 .B \-l 将列出所有信号的名称。如果给出 .B \-l 时还有任何参数,将列出参数对应的信号名称,返回状态 0。 .B \-l 的 \fIexit_status\fP 参数是一个数字,指定了一个信号编号或被信号 终止的进程的退出状态值。 .B kill 返回真,如果至少成功发送了一个信号,或者返回假,如果发生了错误或遇到了 非法的选项。 .TP \fBlet\fP \fIarg\fP [\fIarg\fP ...] 每个 .I arg 都是要求值的算术表达式 (参见 .SM .BR "算术求值 (ARITHMETIC EVALUATION)" 章节)。如果最后一个参数 .I arg 求值结果是 0, .B let 返回 1;否则返回 0。 .TP \fBlocal\fP [\fIoption\fP] [\fIname\fP[=\fIvalue\fP] ...] 对每个参数将创建一个名为 .I name 的局部变量并赋予值 .IR value。 \fIoption\fP 可以是任何 \fBdeclare\fP 接受的值。当 .B local 用于函数内部时,它使得变量 .I name 作用域局限于函数和它的子进程。没有操作数时, .B local 将局部变量的列表写到标准输出。不在函数内部使用 .B local 会导致出错。返回 0,除非在函数之外使用了 .B local, 给出了非法的 .I name, 或者 \fIname\fP 是一个只读的变量。 .TP .B logout 退出登录 shell。 .TP \fBpopd\fP [\-\fBn\fP] [+\fIn\fP] [\-\fIn\fP] 从目录栈中删除条目。没有参数的话,从栈中删除顶层目录,执行 .B cd 切换到新的顶层目录。如果给出了参数,有下列的含义: .RS .PD 0 .TP \fB+\fP\fIn\fP 删除 .BR dirs 给出的列表中从左数第 \fIn\fP 个条目 (从 0 算起)。例如: .if n ``popd +0'' .if t \f(CWpopd +0\fP 删除第一个目录, .if n ``popd +1'' .if t \f(CWpopd +1\fP 第二个。 .TP \fB\-\fP\fIn\fP 删除 .BR dirs 给出的列表中从右数第 \fIn\fP 个条目 (从 0 算起)。例如: .if n ``popd -0'' .if t \f(CWpopd -0\fP 删除最后一个目录, .if n ``popd -1'' .if t \f(CWpopd -1\fP 删除倒数第二个。 .TP .B \-n 阻止从栈中删除目录之后改变目录,这时只对栈进行操作。 .PD .PP 如果命令 .B popd 成功,还要执行一个 .B dirs, 返回 0。 .B popd 返回假,如果遇到了非法的选项,目录栈为空,指定了目录栈中不存在的条目, 或者改变目录失败。 .RE .TP \fBprintf\fP \fIformat\fP [\fIarguments\fP] 在 \fIformat\fP 控制下将格式化的 \fIarguments\fP 写到标准输出。 \fIformat\fP 是一个字符串,包含三种类型的对象:普通字符,被简单地 复制到标准输出,转义字符,被转换并复制到标准输出,格式说明,每一个 都使得相邻的下一个 \fIargument\fP 被打印出来。 在标准的 \fIprintf\fP(1) 格式之外,\fB%b\fP 使得 \fBprintf\fP 展开相应 \fIarguments\fP 中的反斜杠转义序列,\fB%q\fP 使得 \fBprintf\fP 将 相应的 \fIargument\fP 以一种可以重用为 shell 输入的格式输出。 .sp 1 \fIformat\fP 在需要时被重用,以处理所有的 \fIarguments\fP。 如果 \fIformat\fP 需要比所提供的更多的 \fIarguments\fP, 多出的格式说明视为已经提供了相应的 0 值或空字符串。 成功的话返回值是 0,失败则是非 0 值。 .TP \fBpushd\fP [\fB\-n\fP] [\fIdir\fP] .PD 0 .TP \fBpushd\fP [\fB\-n\fP] [+\fIn\fP] [\-\fIn\fP] .PD 将目录推入目录栈,或者轮换栈中的内容,使栈的顶部成为当前工作目录。 没有参数时,交换顶部两个目录,返回 0,除非目录栈为空。如果给出了参数, 它们有如下含义: .RS .PD 0 .TP \fB+\fP\fIn\fP 轮换栈中内容,使得 .BR dirs 给出的列表中从左数第 \fIn\fP 个目录 (从 0 数起) 成为目录栈的顶部。 .TP \fB\-\fP\fIn\fP 轮换栈中内容,使得 .BR dirs 给出的列表中从右数第 \fIn\fP 个目录 (从 0 数起) 成为目录栈的顶部。 .TP .B \-n 阻止向栈中添加目录之后改变目录,这时只对栈进行操作。 .TP .I dir 添加 .I dir 到栈顶,使得它成为新的当前工作目录。 .PD .PP 如果命令 .B pushd 成功,还要执行一个 .B dirs。 如果使用第一种形式, .B pushd 返回 0,除非 cd 切换到目录 .I dir 失败。使用第二中形式时, .B pushd 返回 0,除非目录栈为空,指定了目录栈中不存在的元素,或者 切换到指定的新的当前目录失败。 .RE .TP \fBpwd\fP [\fB\-LP\fP] 打印当前工作目录的绝对路径名。如果给出了 .B \-P 选项,或者设置了内建命令 .B set 的 .B \-o physical 选项,打印出的路径名中不会包含符号链接。如果使用了 .B \-L 选项,打印出的路径中可能包含符号链接。 返回 0,除非在读取当前目录名时出错或给出了非法的选项。 .TP \fBread\fP [\fB\-ers\fP] [\fB\-u\fP \fIfd\fP] [\fB\-t\fP \fItimeout\fP] [\fB\-a\fP \fIaname\fP] [\fB\-p\fP \fIprompt\fP] [\fB\-n\fP \fInchars\fP] [\fB\-d\fP \fIdelim\fP] [\fIname\fP ...] 从标准输入读入一行,或从 \fB\-u\fP 选项的参数中给出的文件描述符 \fIfd\fP 中 读取,第一个词被赋予第一个 .IR name , 第二个词被赋予第二个 .IR name , 以此类推,多余的词和其间的分隔符被赋予最后一个 .IR name . 如果从输入流读入的词数比名称数少,剩余的名称被赋予空值。 .SM .B IFS 中的字符被用来将行拆分成词。 反斜杠字符 (\fB\e\fP) 被用于删除读取的下一字符的特殊含义,以及续行。 如果给出了选项,将包含下列含义: .RS .PD 0 .TP .B \-a \fIaname\fP 词被赋以数组变量 .IR aname 的连续的下标,从 0 开始。在赋新值之前, .I aname 被取消定义。其他 \fIname\fP 参数被忽略。 .TP .B \-d \fIdelim\fP \fIdelim\fP 的第一个字符被用于结束输入行,而不是新行符。 .TP .B \-e 如果标准输入来自终端,将使用 .B readline (参见上面的 .SM .B READLINE 章节) 来获得输入行。 .TP .B \-n \fInchars\fP \fBread\fP 读入 \fInchars\fP 个字符后返回,而不是等待一整行输入。 .TP .B \-p \fIprompt\fP 读取任何输入之前,在标准错误显示提示 \fIprompt\fP,末尾没有新行符。 提示只有在输入来自终端时才会显示。 .TP .B \-r 反斜杠不作为转义字符。反斜杠被认为行的一部分。特殊地,一对反斜杠-新行符不作为续行。 .TP .B \-s 安静模式。如果输入来自终端,字符将不会回显。 .TP .B \-t \fItimeout\fP 使得 \fBread\fP 超时并返回失败,如果在 \fItimeout\fP 秒内没有读入完整的一行输入。 如果 \fBread\fP 不是从终端或管道读取输入,那么这个选项无效。 .TP .B \-u \fIfd\FP 从文件描述符 \fIfd\fP 中读取输入。 .PD .PP 如果没有给出 .I names, 读取的一行将赋予变量 .SM .BR REPLY 。 返回值是 0,除非遇到了 EOF,\fBread\P 超时,或给出了非法的文件描述符作为 \fB\-u\fP 的参数。 .RE .TP \fBreadonly\fP [\fB\-apf\fP] [\fIname\fP ...] .PD 给出的 \fIname\fP 将被标记为只读的; .I names 的值不能被后来的赋值语句改变。如果给出了 .B \-f 选项,\fInames\fP 对应的函数也被标记。选项 .B \-a 限制变量只能是数组类型。如果没有给出 .I name 参数,或者如果给出了 .B \-p 选项,将打印所有只读的名称。选项 .B \-p 使得输出以一种可以被重新用作输入的格式显示。 返回值是 0,除非遇到了非法的选项, .I names 之一不是有效的 shell 变量名,或选项 .B \-f 中给出的 .I name 不是一个函数。 .TP \fBreturn\fP [\fIn\fP] 使得一个函数以指定值 .IR n 退出。如果忽略了 .I n, 返回状态是函数体中执行的最后一个命令的退出状态。如果在函数外使用,但是是在一个以 .B . (\fBsource\fP) 命令执行的脚本内,它使得 shell 中止执行脚本,返回 .I n 或脚本中执行的最后一个命令的退出状态。如果在函数外使用,并且不是在以 \fB.\fP\^ 执行的脚本内,返回状态是假。 .TP \fBset\fP [\fB\-\-abefhkmnptuvxBCHP\fP] [\fB\-o\fP \fIoption\fP] [\fIarg\fP ...] 不带选项时,shell 变量的名称和值将以一种可以重用为输入的格式显示。 输出根据当前语言环境进行排序。指定了选项的时候,它们设置或取消了 shell 的属性。 处理完选项之后剩余的任何参数都被作为位置参数的值被赋值,分别赋予 .BR $1 , .BR $2 , .B ... .BR $\fIn\fP . 如果给出了选项,那么具有以下含义: .RS .PD 0 .TP 8 .B \-a 自动将被修改或创建的变量和函数标志为导出至后续命令的环境中。 .TP 8 .B \-b 后台作业结束时立即报告状态,而不是在下次显示主提示符前报告。只有在启用作业控制时才有效。 .TP 8 .B \-e 立即退出,如果 \fIsimple command\fP (简单命令,参见上面的 .SM .B SHELL GRAMMAR 语法) 以非零值退出。shell 不会退出,如果失败的命令是 .I until 或 .I while 循环的一部分, .I if 语句的一部分, .B && 或 .B \(bv\(bv 序列的一部分,或者命令的返回值是由 .BR ! 翻转得到。针对 \fBERR\fP 的陷阱,如果设置的话,将在 shell 退出前执行。 .TP 8 .B \-f 禁止路径扩展。 .TP 8 .B \-h 在查找并执行命令时,记住它们的位置。这是默认启用的。 .TP 8 .B \-k 所有以赋值语句形式出现的参数都被加入到命令执行的环境中,不仅是命令名前面那些。 .TP 8 .B \-m 监视模式。作业控制被启用。在支持这个选项的系统中,它在交互 shell 中是默认启用的 (参见上面的 .SM .B JOB CONTROL 作业控制)。 后台进程在单独的进程组中运行,结束时将打印出包含它们退出状态的一行信息。 .TP 8 .B \-n 读取命令,但不执行。这可以用在检查 shell 脚本中的语法错误。交互 shell 中它被忽略。 .TP 8 .B \-o \fIoption\-name\fP \fIoption\-name\fP 可以是如下之一: .RS .TP 8 .B allexport 与 .BR \-a 相同。 .TP 8 .B braceexpand 与 .BR \-B 相同。 .TP 8 .B emacs 使用 emacs 样式的命令行编辑界面。这个选项在交互 shell 中默认启用,除非 shell 以 .B \-\-noediting 选项启动。 .TP 8 .B errexit 与 .BR \-e 相同。 .TP 8 .B hashall 与 .BR \-h 相同。 .TP 8 .B histexpand 与 .BR \-H 相同。 .TP 8 .B history 允许记录命令历史,如上述 .SM .BR HISTORY 中的描述。这个选项在交互 shell 中默认启用。 .TP 8 .B ignoreeof 它的效果是好像已经执行了 shell 命令 .if t \f(CWIGNOREEOF=10\fP .if n ``IGNOREEOF=10'' 一样 (参见上面的 .B Shell Variables 变量)。 .TP 8 .B keyword 与 .BR \-k 相同。 .TP 8 .B monitor 与 .BR \-m 相同。 .TP 8 .B noclobber 与 .BR \-C 相同。 .TP 8 .B noexec 与 .BR \-n 相同。 .TP 8 .B noglob 与 .BR \-f 相同。 .B nolog 当前被忽略。 .TP 8 .B notify 与 .BR \-b 相同。 .TP 8 .B nounset 与 .BR \-u 相同。 .TP 8 .B onecmd 与 .BR \-t 相同。 .TP 8 .B physical 与 .BR \-P 相同。 .TP 8 .B posix 如果默认操作与 POSIX 1003.2 不同的话,改变 .B bash 的行为,来满足标准 (\fIposix mode\fP)。 .TP 8 .B privileged 与 .BR \-p 相同。 .TP 8 .B verbose 与 .BR \-v 相同。 .TP 8 .B vi 使用 vi 样式的命令行编辑界面。 .TP 8 .B xtrace 与 .BR \-x 相同。 .sp .5 .PP 如果给出了不带 \fIoption\-name\fP 的 .B \-o 选项,当前选项的值将被打印出来。如果给出了不带 \fIoption\-name\fP 的 .B +o 选项,将在标准输出显示一系列可以重建当前选项设定的 .B set 命令。 .RE .TP 8 .B \-p 打开 .I privileged mode (特权模式)。 在这个模式中,不会处理 .SM .B $ENV 和 .SM .B $BASH_ENV 文件,shell 函数不会从环境中继承,环境中如果有变量 .SM .B SHELLOPTS, 也将被忽略。如果 shell 启动时的有效用户(组) ID 与真实用户(组) ID 不同,并且没有给出 \fB\-p\fP 选项, 将执行这些操作,有效用户 ID 将设置为真实用户 ID。如果启动是给出了 \fB\-p\fP 选项,有效用户 ID 不会 被重置。将这个选项关闭使得有效用户和组 ID 被设置为真实用户和组 ID。 .TP 8 .B \-t 读取并执行一个命令之后退出。 .TP 8 .B \-u 在进行参数扩展时,将未定义的变量作为错误。如果试图扩展未定义的变量,shell 将输出一条错误消息; 如果是非交互的 shell,shell 将以非零值退出。 .TP 8 .B \-v 在读取输入的同时打印出来。 .TP 8 .B \-x 扩展每个简单命令之后,显示 .SM .BR PS4 的值,接着显示命令和它扩展后的参数。 .TP 8 .B \-B shell 执行花括号扩展 (参见上面的 .B Brace Expansion)。 这是默认允许的。 .TP 8 .B \-C 如果设置的话, .B bash 使用重定向操作符 .BR > , .BR >& , 和 .B <> 时,不会覆盖已存在的文件。可以使用重定向操作符 .B >| 代替 .BR > 来创建输出文件,从而绕过这个限制。 .TP 8 .B \-H 允许 Enable .B ! 样式的历史替换。在交互 shell 中这个选项是默认启用的。 .TP 8 .B \-P 如果设置的话,shell 在执行类似 .B cd 的,改变当前工作目录的命令时,不会跟随符号连接。它将使用物理的目录结构来代替。默认情况下, .B bash 在执行改变当前目录的命令时跟随路径的逻辑链。 .TP 8 .B \-\- 如果这个选项没有参数,将取消位置参数的定义。否则,位置参数将设置为 \fIarg\fP,即使它们以 .BR \- 开始。 .TP 8 .B \- 通知信号的结束,使得所有剩余的 \fIarg\fP 被赋予位置参数。 .B \-x 和 .B \-v 选项被关闭。如果没有 \fIarg\fP,位置参数将不会改变。 .PD .PP 这个选项默认是关闭的,除非另外说明。使用 + 而不是 \- 使得这些选项被关闭。选项都可以作为参数, 在 shell 启动时指定。当前的选项集合可以从 .BR $\- 找到。返回值总是真,除非遇到了非法的选项。 .RE .TP \fBshift\fP [\fIn\fP] 从 \fIn\fP+1 ... 开始的选项被重命名为 .B $1 .B .... 从 \fB$#\fP 向下直到 \fB$#\fP\-\fIn\fP+1 的选项被取消定义。 .I n 必须是非负整数,小于或等于 \fB$#\fP。如果 .I n 是 0,不会改变参数。如果没有给出 .I n, 就假定它是 1。如果 .I n 比 \fB$#\fP 大,位置参数不会改变。返回值大于 0,如果 .I n 比 .B $# 大或小于 0;否则返回 0。 .TP \fBshopt\fP [\fB\-pqsu\fP] [\fB\-o\fP] [\fIoptname\fP ...] 对于控制可选的 shell 行为的变量,改变它们的值。没有选项或者有 .B \-p 选项时,将显示所有可设置的选项列表,以及它们是否已经设置的指示。 \fB\-p\fP 使得输出以一种可以被重用为输入的形式显示。 其他选项有如下含义: .RS .PD 0 .TP .B \-s 允许(设置) 每个 \fIoptname\fP。 .TP .B \-u 禁止(取消) 每个 \fIoptname\fP。 .TP .B \-q 禁止通常的输出 (安静模式);返回状态指示了 \fIoptname\fP 是否被设置。 如果对 .BR \-q 给出了多个 \fIoptname\fP 参数,如果所有 \fIoptname\fP 都被允许,返回值就是 0; 否则返回非零值。 .TP .B \-o 限制 \fIoptname\fP 的值为内建命令 .B set 的 .B \-o 选项定义的值。 .PD .PP 如果使用 .B \-s 或 .B \-u 时没有给出 \fIoptname\fP 参数,显示将分别限于被设置或被取消的选项。 除非另外说明,\fBshopt\fP 选项默认被禁止(取消)。 .PP 返回值在列出选项时是 0,如果所有 \fIoptname\fP 都被允许的话,否则是非零值。 当设置或取消选项时,返回值是 0,除非 \fIoptname\fP 是非法的 shell 选项。 .PP \fBshopt\fP 选项的列表是: .if t .sp .5v .if n .sp 1v .PD 0 .TP 8 .B cdable_vars 如果设置的话,内建命令 .B cd 的参数如果不是目录,就假定是一个变量,它的值是要切换到的目录名。 .TP 8 .B cdspell 如果设置的话, .B cd 命令中目录的细微拼写错误能够得以纠正。检查的错误包括字符错位,缺字符, 重复输入同一字符。如果找到了正确的值,将打印正确的文件名,命令将继续。 这个选项只能在交互 shell 中使用。 .TP 8 .B checkhash 如果设置的话,\fBbash\fP 在执行命令前检测散列表中的命令是否存在。 如果一个被散列的命令不再存在,将进行正常的路径搜索。 .TP 8 .B checkwinsize 如果设置的话,\fBbash\fP 在每条命令执行后检测窗口大小,如果需要的话就更新 .SM .B LINES 和 .SM .BR COLUMNS 的值。 .TP 8 .B cmdhist 如果设置的话, .B bash 试着将一个多行命令的所有行放到同一个历史条目中。这样使得 多行命令可以容易地重新修改。 .TP 8 .B dotglob 如果设置的话, .B bash 会把以 `.' 开始的文件名包含在路径名扩展的结果中。 .TP 8 .B execfail 如果设置的话,非交互的 shell 如果不能执行作为参数提供给内建命令 .B exec 的文件时将不会退出。交互的 shell 在 .B exec 失败时不会退出。 .TP 8 .B expand_aliases 如果设置的话,别名被扩展,就像上面 .SM .BR ALIASES 中讲到的一样。这个选项在交互 shell 中是默认启用的。 .TP 8 .B extglob 如果设置的话,将允许上面 \fBPathname Expansion\fP 中提到的扩展模式匹配特性。 .TP 8 .B histappend 如果设置的话,在 shell 退出时,历史列表将追加到以 .B HISTFILE 的值为名的文件之后,而不是覆盖文件。 .TP 8 .B histreedit 如果设置的话,并且正在使用 .B readline, 用户可以重新修改失败的历史替换。 .TP 8 .B histverify 如果设置的话,并且正在使用 .B readline, 历史替换的结果不会立即传给 shell 解释器。结果行被加载到 \fBreadline\fP 编辑缓冲区,允许进行进一步的修改。 .TP 8 .B hostcomplete 如果设置的话,并且正在使用 .B readline, \fBbash\fP 将试着对正在进行补全的包含 \f@\fP 的词进行主机名补全 (参见上面的 .SM .B READLINE 中的 .B Completing 段落)。这是默认允许的。 .TP 8 .B huponexit 如果设置的话,在交互的登录 shell 退出时 \fBbash\fP 将向所有作业发出 .SM .B SIGHUP 信号。 .TP 8 .B interactive_comments 如果设置的话,将允许在交互 shell 中遇到以 .B # 开头的词时忽略这个词和一行中所有剩余的字符 (参见上面的 .SM .B COMMENTS 注释)。 这个选项是默认允许的。 .TP 8 .B lithist 如果设置的话,并且允许了 .B cmdhist 选项,多行的命令在保存到历史中时将包含新行符,而不是在可能的地方使用分号。 .TP 8 .B login_shell 如果 shell 作为登录 shell 启动,将设置这个选项 (参见上面的 .SM .B "启动(INVOCATION)")。 这个值不可修改。 .TP 8 .B mailwarn 如果设置的话,并且 \fBbash\fP 正在检测上次检测以来被存取过的邮件, 将显示 ``The mail in \fImailfile\fP has been read''(\fImailfile\fP 中的邮件已被读取)。 .TP 8 .B no_empty_cmd_completion 如果设置的话,并且正在使用 .B readline, 试图在空行上执行补全时, .B bash 不会搜索 \fBPATH\fP 来查找可能的补全。 .TP 8 .B nocaseglob 如果设置的话, .B bash 进行路径扩展时使用大小写不敏感方式匹配文件名(参见上面的 .B Pathname Expansion 路径扩展)。 .TP 8 .B nullglob 如果设置的话, .B bash 将允许不匹配任何文件的模式扩展为空字符串而不是它们自身(参见上面的 .B Pathname Expansion 路径扩展)。 .TP 8 .B progcomp 如果设置的话,将启用可编程补全功能 (参见上面的 \fBProgrammable Completion\fP)。 这个选项是默认启用的。 .TP 8 .B promptvars 如果设置的话,提示字符串要经过上面 .SM .B PROMPTING 中描述的扩展,然后还要经过变量和参数扩展。这个选项是默认启用的。 .TP 8 .B restricted_shell shell 设置这个选项,如果它是以受限模式启用的 (参见下面的 .SM .B "受限的shell(RESTRICTED SHELL)" 章节)。这个值不能修改。在执行启动文件时,它不会被重置,使得启动文件可以 得知 shell 是否是受限的。 .TP 8 .B shift_verbose 如果设置的话,内建命令 .B shift 在偏移量超过位置参数的个数时打印一条错误消息。 .TP 8 .B sourcepath 如果设置的话,内建命令 \fBsource\fP (\fB.\fP) 使用 .SM .B PATH 中的值来查找包含作为参数给出的文件。这个选项默认是启用的。 .TP 8 .B xpg_echo 如果设置的话,内建命令 \fBecho\fP 默认扩展反斜杠转义序列。 .RE .TP \fBsuspend\fP [\fB\-f\fP] 挂起 shell 的执行,直到收到一个 .SM .B SIGCONT 信号。选项 .B \-f 表示如果这是一个登录 shell,那么不要提示,直接挂起。返回值是 0,除非 shell 是登录 shell 并且没有指定 .B \-f, 或者没有启用作业控制。 .TP \fBtest\fP \fIexpr\fP .PD 0 .TP \fB[\fP \fIexpr\fP \fB]\fP 返回状态值 0 或 1,根据条件表达式 .IR expr 的求值而定。每个操作符和操作数都必须是一个单独的参数。表达式使用上面 .SM .BR "条件表达式 (CONDITIONAL EXPRESSIONS)" 中的操作构造。 .if t .sp 0.5 .if n .sp 1 表达式可以用下列操作符结合,以优先级的降序列出。 .RS .PD 0 .TP .B ! \fIexpr\fP 值为真,如果 .I expr 为假。 .TP .B ( \fIexpr\fP ) 返回 \fIexpr\fP 的值。括号可以用来超越操作符的一般优先级。 .TP \fIexpr1\fP \-\fBa\fP \fIexpr2\fP 值为真,如果 .I expr1 和 .I expr2 都为真。 .TP \fIexpr1\fP \-\fBo\fP \fIexpr2\fP 值为真,如果 .I expr1 或 .I expr2 为真。 .PD .PP \fBtest\fP 和 \fB[\fP 使用基于参数个数的一系列规则,对条件表达式进行求值。 .if t .sp 0.5 .if n .sp 1 .PD 0 .TP 0 arguments 表达式为假。 .TP 1 argument 表达式为真,当且仅当参数非空。 .TP 2 arguments 如果第一个参数是 \fB!\fP,表达式为真,当且仅当第二个参数为空。 如果第一个参数是上面 .SM .BR "条件表达式 (CONDITIONAL EXPRESSIONS)" 中列出的单目条件运算符之一,表达式为真,当且仅当单目测试为真。 如果第一个参数不是合法的单目条件运算符,表达式为假。 .TP 3 arguments 如果第二个参数是上面 .SM .BR "条件表达式 (CONDITIONAL EXPRESSIONS)" 中列出的二进制条件操作符之一,表达式的结果是使用第一和第三个参数作为操作数的二进制测试的结果。 如果第一个参数是 \fB!\fP,表达式值是使用第二和第三个参数进行双参数测试的结果取反。 如果第一个参数是 \fB(\fP,第三个参数是 \fB)\fP,结果是对第二个参数进行单参数测试的结果。 否则,表达式为假。这种情况下 \fB\-a\fP 和 \fB\-o\fP 操作符被认为二进制操作符。 .TP 4 arguments 如果第一个参数是 \fB!\fP,结果是由剩余参数组成的三参数表达式结果取反。 否则,表达式被根据上面列出的优先级规则解释并执行。 .TP 5 或更多 arguments 表达式被根据上面列出的优先级规则解释并执行。 .RE .PD .TP .B times 对 shell 以及 shell 运行的进程,打印累计的用户和系统时间。 返回状态是 0。 .TP \fBtrap\fP [\fB\-lp\fP] [\fIarg\fP] [\fIsigspec\fP ...] 当 shell 收到信号 .IR sigspec 时,命令 .I arg 将被读取并执行。如果没有给出 .I arg 或者给出的是 .BR \- , 所有指定的信号被设置为它们的初始值 (进入 shell 时它们的值)。如果 .I arg 是空字符串, .I sigspec 指定的信号被 shell 和它启动的命令忽略。如果 .I arg 不存在,并且给出了 .B \-p 那么与每个 .I sigspec 相关联的陷阱命令将被显示出来。如果没有给出任何参数,或只给出了 .B \-p, .B trap 将打印出与每个信号编号相关的命令列表。每个 .I sigspec 可以是 <\fIsignal.h\fP> 定义的信号名,或是一个信号编号。 如果 .I sigspec 是 .SM .B EXIT (0),命令 .I arg 将在 shell 退出时执行。如果 .I sigspec 是 .SM .BR DEBUG , 命令 .I arg 将在每个简单命令 (\fIsimple command\fP,参见上面的 .SM .B SHELL GRAMMAR) 之后执行。如果 .I sigspec 是 .SM .BR ERR , 命令 .I arg 将在任何命令以非零值退出时执行。如果失败的命令是 .I until 或 .I while 循环的一部分, .I if 语句的一部分, .B && 或 .B \(bv\(bv 序列的一部分,或者命令的返回值是通过 .BR ! 转化而来, .SM .BR ERR 陷阱将不会执行。选项 .B \-l 使得 shell 打印信号名和对应编号的列表。 shell 忽略的信号不能被捕捉或重置。在子进程中,被捕捉的信号在进程创建时被重置为初始值。 返回值为假,如果 .I sigspec 非法;否则 .B trap 返回真。 .TP \fBtype\fP [\fB\-aftpP\fP] \fIname\fP [\fIname\fP ...] 没有选项时,指示每个 .I name 将如何被解释,如果用作一个命令名。如果使用了 .B \-t 选项, .B type 打印一个字符串,内容是如下之一: .IR alias , .IR keyword , .IR function , .IR builtin , 或 .I file , 如果 .I name 分别是一个别名,shell 保留字,函数,内建命令或磁盘文件。如果没有找到 .I name, 那么不会打印任何东西,返回退出状态假。如果使用了 .B \-p 选项, .B type 返回如果 .I name 作为命令名,将被执行的磁盘文件名;或者返回空,如果 .if t \f(CWtype -t name\fP .if n ``type -t name'' 不会返回 .IR file . 选项 .B \-P 选项强制对每个 \fIname\fP 搜索 .SM .B PATH, 即使 .if t \f(CWtype -t name\fP .if n ``type -t name'' 不会返回 .IR file . 如果命令在散列中, .B \-p 和 .B \-P 将打印散列的值,而不是 .SM .BR PATH 中首先出现的那一个文件。如果使用了 .B \-a 选项, .B type 打印所有包含可执行的名称 .IR name 的场合。结果包括别名和函数,当且仅当没有同时使用 .B \-p 选项。使用 .BR \-a 时不会查找散列中的命令表。选项 .B \-f 阻止 shell 进行查找,就像在内建命令 \fBcommand\fP 中一样。 .B type 返回真,如果找到了任何参数。什么都没找到则返回假。 .TP \fBulimit\fP [\fB\-SHacdflmnpstuv\fP [\fIlimit\fP]] 在支持它的系统上,对 shell 和它启动的进程,提供对可用资源的控制。 选项 \fB\-H\fP 和 \fB\-S\fP 指定为所给资源设定的硬性和柔性限额。 硬性限额在设置后不能增加;柔性限额可以增加,直到与硬性限额相等。 如果没有给出 \fB\-H\fP 或 \fB\-S\fP 选项,将同时设置硬性和柔性限额。 .I limit 的值可以是一个数字,单位是指定资源的单元值,或者是特殊值 .BR hard , .BR soft , 或 .BR unlimited 之一,意思分别是当前硬性限额,当前柔性限额和没有限额。如果忽略了 .I limit, 将打印出当前对资源的柔性限额值,除非给出了 \fB\-H\fP 选项。当指定多于一个 资源时,限额名称和单位将在值之前打印出来。其他选项按照如下意义解释: .RS .PD 0 .TP .B \-a 报告所有当前限额 .TP .B \-c core 文件的最大值 .TP .B \-d 进程数据段的最大值 .TP .B \-f shell 创建的文件的最大值 .TP .B \-l 内存中可以锁定的最大值 .TP .B \-m 常驻内存的最大值 .TP .B \-n 打开的文件描述符最大个数 (大多数系统不允许设置这个值) .TP .B \-p 管道大小,以 512 字节的块为单位 (这个值可能不能设置) .TP .B \-s 栈的最大值 .TP .B \-t cpu 时间总数的最大值,以秒计 .TP .B \-u 用户可以运行的最大进程数 .TP .B \-v shell 可用的虚拟内存总量的最大值 .PD .PP 如果给出了 .I limit, 它将是指定资源的新限额 (选项 .B \-a 只显示它们)。如果没有给出选项,则假设有 .B \-f。 值的递增间隔是 1024 字节,除了 .BR \-t 单位是 秒, .BR \-p 单位是 512 字节的块个数, .B \-n 和 .BR \-u 是不可调节的值。返回 0,除非给出了非法的选项或参数,或者在设置新的限额时发生了错误。 .RE .TP \fBumask\fP [\fB\-p\fP] [\fB\-S\fP] [\fImode\fP] 用户创建文件的掩码被设置为 .IR mode . 如果 .I mode 以数字开始,它被解释为一个八进制数;否则被解释为类似于 .IR chmod (1) 接受的符号形式的模式掩码。如果忽略了 .I mode, 将打印当前掩码值。选项 .B \-S 使得掩码以符号形式打印;默认输出是八进制数。如果给出了 .B \-p 选项,并且忽略了 .I mode, 输出将是一种可以重用为输入的形式。返回值是 0,如果成功改变了模式,或者没有给出 \fImode\fP。 其他情况返回假。 .TP \fBunalias\fP [\-\fBa\fP] [\fIname\fP ...] 从已定义的别名列表中删除 \fIname\fP。如果给出了 .B \-a 将删除所有别名定义。返回值是真,除非给出的 .I name 不是已定义的别名。 .TP \fBunset\fP [\-\fBfv\fP] [\fIname\fP ...] 将每个 .IR name 对应的变量或函数删除。如果没有给出选项,或者给出了 .B \-v 选项, .I name 仅包括 shell 变量。只读的变量不能被取消定义。如果给出了 .B \-f 选项, .I name 仅包括 shell 函数,函数的定义将被删除。每个被取消定义的变量或函数都被从后续命令的环境中删除。 如果 .SM .BR RANDOM , .SM .BR SECONDS , .SM .BR LINENO , .SM .BR HISTCMD , .SM .BR FUNCNAME , .SM .BR GROUPS , 或者 .SM .B DIRSTACK 中的任何一个被取消定义,它们将丧失特殊的属性,即使它们后来被重新定义。 退出状态是真,除非 .I name 不存在或是只读的。 .TP \fBwait\fP [\fIn\fP] 等待指定的进程,返回它的终止状态。 .I n 可以是进程 ID 或一个作业号;如果给出的是作业号,将等待作业的管道中所有进程。如果没有给出 .I n, 将等待所有当前处于激活状态的子进程,返回状态是 0。如果 .I n 指定了不存在的进程或作业,返回状态是 127。否则,返回状态是所等待的最后一个进程或作业的退出状态。 .\" bash_builtins .if \n(zZ=1 .ig zZ .SH "受限的shell(RESTRICTED SHELL)" .\" rbash.1 .PP 如果 .B bash 以 .BR rbash 名称启动,或者启动时使用了 .B \-r 选项,那么它成为受限的 shell。 受限的 shell 一般用来建立一个比标准的 shell 受到更多控制的环境。 它的行为与 .B bash 一致,除了下列行为是不允许的 (disallowed) 或不会运行的 (not performed)。 .IP \(bu 使用 \fBcd\fP 来改变路径; .IP \(bu 设置或取消 .BR SHELL , .BR PATH , .BR ENV , 或 .B BASH_ENV 变量的值; .IP \(bu 指定的命令名中包含 .B / ; .IP \(bu 指定包含 .B / 的文件名作为传递给内建命令 .B . 的参数; .IP \(bu 指定包含斜杠 (slash) 的文件名作为 .B \-p 选项的参数,传递给 .B hash 内建命令; .IP \(bu 启动时从 shell 环境中导入 (import) 函数定义; .IP \(bu 启动时解释 shell 环境中 \fBSHELLOPTS\fP 的值; .IP \(bu 使用 >, >|, <>, >&, &>, 和 >> 等重定向操作符重定向输出; .IP \(bu 使用 .B exec 内建命令来以另一个命令替换 shell; .IP \(bu 使用 .B enable 内建命令的 .B \-f 和 .B \-d 选项来增加和删除内建命令; .IP \(bu 使用 \fBenable\fP 内建命令来允许和禁止 shell 内建命令; .IP \(bu 指定 .B command 内建命令的 .B \-p 选项; .IP \(bu 使用 \fBset +r\fP 或 \fBset +o restricted\fP 来关闭受限模式。 .PP 这些限制在所有启动文件读取之后才会生效。 .PP 当一个 shell 脚本作为一个命令执行时 (参见上面的 .SM .B "命令执行(COMMAND EXECUTION)" 章节), .B rbash 关闭为执行脚本而孵化 (spawn) 的 shell 的所有限制。 .\" end of rbash.1 .if \n(zY=1 .ig zY .SH 参见("SEE ALSO") .PD 0 .TP \fIBash Reference Manual\fP, Brian Fox and Chet Ramey .TP \fIThe Gnu Readline Library\fP, Brian Fox and Chet Ramey .TP \fIThe Gnu History Library\fP, Brian Fox and Chet Ramey .TP \fIPortable Operating System Interface (POSIX) Part 2: Shell and Utilities\fP, IEEE .TP \fIsh\fP(1), \fIksh\fP(1), \fIcsh\fP(1) .TP \fIemacs\fP(1), \fIvi\fP(1) .TP \fIreadline\fP(3) .PD .SH "文件(FILES)" .PD 0 .TP .FN /bin/bash \fBbash\fP 可执行文件 .TP .FN /etc/profile 系统范围的初始化文件,登录 shell 会执行它 .TP .FN ~/.bash_profile 个人初始化文件,登录 shell 会执行它 .TP .FN ~/.bashrc 个人的每个交互式 shell 启动时执行的文件 .TP .FN ~/.bash_logout 个人的登录 shell 清理文件,当一个登录 shell 退出时会执行它 .TP .FN ~/.inputrc 个人的 \fIreadline\fP 初始化文件 .PD .SH "作者(AUTHORS)" Brian Fox, Free Software Foundation .br bfox@gnu.org .PP Chet Ramey, Case Western Reserve University .br chet@ins.CWRU.Edu .SH "报告BUGS (BUG REPORTS)" 如果你发现一个 .B bash 中的 bug,你应当报告它。但是首先, 你应当确定它真的是一个 bug,并且它在你使用的最新版本的 .B bash 中存在。 .PP 一旦你认定存在那样一个 bug,使用 .I bashbug 命令来提交一个错误报告。 如果你有固定住址,鼓励你用邮政的方式提交一份! 建议和有关 \fBbash\fP \(lq哲学\(rq (`philosophical') 的 \(lq错误报告\(rq 可以寄给 \fIbug-bash@gnu.org\fP 或者贴到 Usenet 新闻组 .BR gnu.bash.bug 之上。 .PP 所有错误报告应当包括: .PP .PD 0 .TP 20 \fBbash\fR 的版本号 .TP 硬件信息和操作系统 .TP 用来编译的编译器 .TP 对 bug 行为的描述 .TP 可以激活这个 bug 的一个短小的脚本或者什么 \(lq秘诀\(rq (recipe) .PD .PP .I bashbug 会自动在它提供的错误报告模板中插入前三项。 .PP 关于这份手册页的评论和错误报告请直接提交到 .IR chet@ins.CWRU.Edu . .SH BUGS .PP 它太大了,并且有点慢。 .PP .B bash 和传统版本的 .BR sh 之间有一些细微的差别,大部分是因为 .SM .B POSIX 规约的要求。 .PP 别名机制在一些应用中会混淆。 .PP Shell 内建命令和函数不可终止/重新开始。 .PP 组合的命令和使用 `a ; b ; c' 形式的命令序列在进程试图暂停时不能很好处理。 当一个进程中止,shell 会立即执行序列中的下一条命令。 也可以将命令的序列放在圆括号中,来强制启动子 shell,这样就可以将它们作为一个单元中止了。 .PP 在 \fB$(\fP...\fB)\fP 命令替换中的注释不会被解释,直到执行替换的时候。 这将延迟报错,直到命令开始执行之后的一段时间。 .PP 数组变量还不能导出 (export)。 .SH "[中文版维护人]" .B 袁乙钧 .SH "[中文版最新更新]" .B 2004.03.05 .SH "《中国linux论坛man手册页翻译计划》:" .BI http://cmpp.linuxforum.net manpages-zh-1.6.3.3/src/man1/bg.1000066400000000000000000000000241327105066500161720ustar00rootroot00000000000000.so man1/builtins.1 manpages-zh-1.6.3.3/src/man1/biff.1000066400000000000000000000066511327105066500165240ustar00rootroot00000000000000.\" Copyright (c) 1980, 1990 The Regents of the University of California. .\" All rights reserved. .\" .\" 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. All advertising materials mentioning features or use of this software .\" must display the following acknowledgement: .\" This product includes software developed by the University of .\" California, Berkeley and its contributors. .\" 4. 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. .\" .\" from: @(#)biff.1 6.5 (Berkeley) 3/14/91 .\" .TH BIFF 1 1999-07-31 GNU .Dd July 31, 1999 .Dt BIFF 1 .Os "Linux NetKit (0.16)" .Sh "名称 (NAME)" .Nm biff .Nd "新到邮件提醒" .Sh "总览 (SYNOPSIS)" .Nm biff .Op Cm ny .Sh "描述 (DESCRIPTION)" .Nm Biff 通知系统在当前终端会话期间有新邮件是否提醒你。 .Pp 支持的选项有 .Nm biff : .Bl -tag -width 4n .It Cm n 禁止新邮件提醒。 .It Cm y 开启新邮件提醒。 .El .Pp 当新邮件提醒开启后, 如果有邮件到达, 邮件头和邮件正文的头几行将在你的屏幕上打印出来。 通常会在 .Pa \&.login 或者 .Pa \&.profile 文件中加上一个 .Dq Li biff y 命令, 好让每次登录时自动执行。 .Pp .Nm Biff 通过 .Xr comsat 8 服务异步执行。 如果此服务没有开启, .Nm biff 就不做任何事情。 在这种情况下, 或者需要同步提醒, 用 .Xr sh 1 的 .Ar MAIL 变量, 或者 .Xr csh 1 的 .Ar mail 变量。 .Sh "参见 (SEE ALSO)" .Xr csh 1 , .Xr mail 1 , .Xr sh 1 , .Xr comsat 8 .Sh "历史 (HISTORY)" .Nm 此命令出现于 .Bx 4.0 。 .Sh "错误 (BUGS)" .Xr su 1 ,和 biff 看来并不能一起工作。 这个问题是由于 tty 任然是执行 su 命令的人所有, 这可能导致在改变你的会话的 biff 状态时出现 .Dq Li 拒绝访问错误。 .Pp 请把错误报告给 netbug@ftp.uk.linux.org。 并且附上diffs/patches, 或者编译错误日志等,尽可能完整。 .Sh "[中文版维护人]" .B 唐友 .Sh "[中文版最新更新]" .B 2001/8/28 .Sh "[中国Linux论坛man手册页翻译计划]" .BI http://cmpp.linuxforum.net manpages-zh-1.6.3.3/src/man1/bind.1000066400000000000000000000000241327105066500165160ustar00rootroot00000000000000.so man1/builtins.1 manpages-zh-1.6.3.3/src/man1/bootctl.1000066400000000000000000000067361327105066500172700ustar00rootroot00000000000000'\" t .TH "BOOTCTL" "1" "" "systemd 231" "bootctl" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- .\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ .\" http://bugs.debian.org/507673 .\" http://lists.gnu.org/archive/html/groff/2009-02/msg00013.html .\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ .ie \n(.g .ds Aq \(aq .el .ds Aq ' .\" ----------------------------------------------------------------- .\" * set default formatting .\" ----------------------------------------------------------------- .\" disable hyphenation .nh .\" disable justification (adjust text to left margin only) .ad l .\" ----------------------------------------------------------------- .\" * MAIN CONTENT STARTS HERE * .\" ----------------------------------------------------------------- .SH "NAME" bootctl \- 控制 systemd\-boot 引导管理器 .SH "SYNOPSIS" .HP \w'\fBbootctl\ \fR\fB[OPTIONS...]\fR\fB\ status\fR\ 'u \fBbootctl \fR\fB[OPTIONS...]\fR\fB status\fR .HP \w'\fBbootctl\ \fR\fB[OPTIONS...]\fR\fB\ update\fR\ 'u \fBbootctl \fR\fB[OPTIONS...]\fR\fB update\fR .HP \w'\fBbootctl\ \fR\fB[OPTIONS...]\fR\fB\ install\fR\ 'u \fBbootctl \fR\fB[OPTIONS...]\fR\fB install\fR .HP \w'\fBbootctl\ \fR\fB[OPTIONS...]\fR\fB\ remove\fR\ 'u \fBbootctl \fR\fB[OPTIONS...]\fR\fB remove\fR .SH "描述" .PP \fBbootctl\fR 用于检查、更新、安装、删除 \m[blue]\fBsystemd\-boot\fR\m[]\&\s-2\u[1]\d\s+2(一个功能比GRUB少且仅适用于UEFI平台的引导管理器)。 .PP \fBbootctl status\fR 显示 当前已安装的 systemd\-boot 版本 以及当前的EFI启动项。 .PP \fBbootctl update\fR 更新所有已安装的 systemd\-boot 引导管理器(仅在当前系统的 systemd\-boot 版本比已安装在ESP分区的版本更新的情况下)。 注意,这也会更新默认的EFI启动项(/EFI/BOOT/BOOT*\&.EFI)。 如果当前的EFI启动项列表中不包含 systemd\-boot 项, 那么将会为其创建一个EFI启动项, 并将其添加到EFI启动顺序列表的尾部。 .PP \fBbootctl install\fR 将 systemd\-boot 安装到 ESP(EFI system partition)分区。 也就是将 systemd\-boot 安装为 默认启动项(/EFI/BOOT/BOOT*\&.EFI), 并将其添加到EFI启动顺序列表的头部。 .PP \fBbootctl remove\fR 从ESP(EFI system partition)分区 删除所有已安装的 systemd\-boot 以及对应的 EFI启动项。 .PP 如果没有给出任何命令,那么视为使用了 \fBstatus\fR 命令。 .SH "选项" .PP 能够识别的命令行选项如下: .PP \fB\-h\fR, \fB\-\-help\fR .RS 4 显示简短的帮助信息并退出。 .RE .PP \fB\-\-version\fR .RS 4 显示简短的版本信息并退出。 .RE .PP \fB\-\-path\fR .RS 4 ESP(EFI system partition)的挂载目录。默认值是 /boot .RE .PP \fB\-\-no\-variables\fR .RS 4 忽略EFI引导变量(也就是启动项) .RE .SH "退出状态" .PP 返回值为 0 表示成功, 非零返回值表示失败代码。 .SH "参见" .PP \m[blue]\fBBoot loader specification\fR\m[]\&\s-2\u[2]\d\s+2 \m[blue]\fBSystemd boot loader interface\fR\m[]\&\s-2\u[3]\d\s+2 .SH "NOTES" .IP " 1." 4 Boot loader specification .RS 4 \%http://www.freedesktop.org/wiki/Specifications/BootLoaderSpec .RE .IP " 2." 4 Systemd boot loader interface .RS 4 \%http://www.freedesktop.org/wiki/Software/systemd/BootLoaderInterface .RE .\" manpages-zh translator: 金步国 .\" manpages-zh comment: 金步国作品集:http://www.jinbuguo.com manpages-zh-1.6.3.3/src/man1/break.1000066400000000000000000000000241327105066500166660ustar00rootroot00000000000000.so man1/builtins.1 manpages-zh-1.6.3.3/src/man1/builtin.1000066400000000000000000000000241327105066500172500ustar00rootroot00000000000000.so man1/builtins.1 manpages-zh-1.6.3.3/src/man1/builtins.1000066400000000000000000000000201327105066500174270ustar00rootroot00000000000000.so man1/bash.1 manpages-zh-1.6.3.3/src/man1/bunzip2.1000066400000000000000000000000211327105066500171700ustar00rootroot00000000000000.so man1/bzip2.1 manpages-zh-1.6.3.3/src/man1/busctl.1000066400000000000000000000316021327105066500171040ustar00rootroot00000000000000'\" t .TH "BUSCTL" "1" "" "systemd 231" "busctl" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- .\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ .\" http://bugs.debian.org/507673 .\" http://lists.gnu.org/archive/html/groff/2009-02/msg00013.html .\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ .ie \n(.g .ds Aq \(aq .el .ds Aq ' .\" ----------------------------------------------------------------- .\" * set default formatting .\" ----------------------------------------------------------------- .\" disable hyphenation .nh .\" disable justification (adjust text to left margin only) .ad l .\" ----------------------------------------------------------------- .\" * MAIN CONTENT STARTS HERE * .\" ----------------------------------------------------------------- .SH "NAME" busctl \- 内省与监视 D\-Bus 总线 .SH "SYNOPSIS" .HP \w'\fBbusctl\fR\ 'u \fBbusctl\fR [OPTIONS...] [COMMAND] [\fINAME\fR...] .SH "描述" .PP \fBbusctl\fR 可用于内省与监视 D\-Bus 总线 .SH "选项" .PP 能够识别的命令行选项如下: .PP \fB\-\-address=\fR\fB\fIADDRESS\fR\fR .RS 4 连接到 \fIADDRESS\fR 指定的总线, 而不是默认的总线(无论是 \fB\-\-system\fR 系统总线还是 \fB\-\-user\fR 用户总线)。 .RE .PP \fB\-\-show\-machine\fR .RS 4 在使用 \fBlist\fR 命令显示总线上的所有 peer 列表时, 额外显示一个"MACHINE"列,指明其所属容器的名称。参见 \fBsystemd-machined.service\fR(8) 手册。 .RE .PP \fB\-\-unique\fR .RS 4 在使用 \fBlist\fR 命令显示总线上的所有 peer 列表时,仅显示 ":\fInumber\fR\&.\fInumber\fR" 格式的"唯一名"(UniqueName)。 .RE .PP \fB\-\-acquired\fR .RS 4 在使用 \fBlist\fR 命令显示总线上的所有 peer 列表时,与 \fB\-\-unique\fR 选项正好相反, 仅显示"易读名"(well\-known name)。 .RE .PP \fB\-\-activatable\fR .RS 4 在使用 \fBlist\fR 命令显示总线上的所有 peer 列表时, 仅显示当前未被激活并且可以在被访问时自动激活的 peer 。 .RE .PP \fB\-\-match=\fR\fB\fIMATCH\fR\fR .RS 4 在使用 \fBmonitor\fR 命令监视已交换的消息时, 仅显示与 \fIMATCH\fR 匹配的消息。 参见 \fBsd_bus_add_match\fR(3) .RE .PP \fB\-\-size=\fR .RS 4 在使用 \fBcapture\fR 命令捕获已交换的消息时, 指定允许捕获的最大消息尺寸("snaplen"), 默认值是 4096 字节。 .RE .PP \fB\-\-list\fR .RS 4 在使用 \fBtree\fR 命令显示对象路径时, 不以树形缩进显示,而是以平铺列表的格式显示。 .RE .PP \fB\-\-quiet\fR .RS 4 与 \fBcall\fR 命令连用,禁止显示应答消息。 注意: 错误消息依然会被显示出来,并且依然可以用返回值判断成败。 .RE .PP \fB\-\-verbose\fR .RS 4 与 \fBcall\fR 或 \fBget\-property\fR 命令连用, 表示以详细模式显示输出。 .RE .PP \fB\-\-expect\-reply=\fR\fIBOOL\fR .RS 4 与 \fBcall\fR 命令连用, 设置是否等待被调用的方法执行完成。 "yes" 表示等待方法执行完成并且返回应答数据, 然后 \fBbusctl\fR 将返回一个可用于判断方法执行成败的返回码。 "no" 表示调用方法之后不等待其执行完成也不显示应答数据, 而是直接退出,并且不返回有意义的返回码。 如果只是想屏蔽应答数据, 应该使用 \fB\-\-quiet\fR 选项。 默认值为 "yes" .RE .PP \fB\-\-auto\-start=\fR\fIBOOL\fR .RS 4 与 \fBcall\fR 命令连用, 设置是否应该隐含的启动当前尚未运行、 但是被配置为自动启动的服务。 默认是 "yes" .RE .PP \fB\-\-allow\-interactive\-authorization=\fR\fIBOOL\fR .RS 4 与 \fBcall\fR 命令连用, 设置服务在执行操作时, 是否应该强制进行交互式授权(在安全策略已配置的时候)。 默认是 "yes" .RE .PP \fB\-\-timeout=\fR\fISECS\fR .RS 4 与 \fBcall\fR 命令连用, 设置等候方法完成的最大秒数。 注意,此处的超时设置对 \fB\-\-expect\-reply=no\fR 无效。 可使用明确的时间单位后缀: us, ms, s, min, h, d, w, month, y 。 默认值是"25s" (注意,设为"0"也等价于"25s")。 .RE .PP \fB\-\-augment\-creds=\fR\fIBOOL\fR .RS 4 设置 \fBlist\fR/\fBstatus\fR 命令报告的凭据数据 是否应该被扩展为包含来自 /proc 的数据。 若设为"yes"(默认值), 那么显示的数据可能会不一致, 因为 /proc 中的数据可能会更新。 .RE .PP \fB\-\-user\fR .RS 4 与当前调用用户的用户服务管理器(systemd 用户实例)通信, 而不是默认的系统服务管理器(systemd 系统实例)。 .RE .PP \fB\-\-system\fR .RS 4 与系统服务管理器(systemd 系统实例)通信, 这是默认值。 .RE .PP \fB\-H\fR, \fB\-\-host=\fR .RS 4 操作指定的远程主机。可以仅指定一个主机名(hostname), 也可以使用 "username@hostname" 格式。 hostname 后面还可以加上容器名(以冒号分隔), 也就是形如 "hostname:container" 的格式, 以表示直接连接到指定主机的指定容器内。 操作将通过SSH协议进行,以确保安全。 可以通过 \fBmachinectl \-H \fR\fB\fIHOST\fR\fR 命令列出远程主机上的所有容器名称。 .RE .PP \fB\-M\fR, \fB\-\-machine=\fR .RS 4 在本地容器内执行操作。 必须明确指定容器的名称。 .RE .PP \fB\-\-no\-pager\fR .RS 4 不将程序的输出内容管道(pipe)给分页程序。 .RE .PP \fB\-\-no\-legend\fR .RS 4 不输出列标题, 也就是不在输出列表的头部和尾部显示字段的名称。 .RE .PP \fB\-h\fR, \fB\-\-help\fR .RS 4 显示简短的帮助信息并退出。 .RE .PP \fB\-\-version\fR .RS 4 显示简短的版本信息并退出。 .RE .SH "命令" .PP 能够识别的命令如下: .PP \fBlist\fR .RS 4 显示总线上的所有peer(依据服务名称),这是默认命令。 默认同时显示"唯一名"(UniqueName)与"易读名"(well\-known name), 但是可以使用 \fB\-\-unique\fR 与 \fB\-\-acquired\fR 选项进行修改。 .RE .PP \fBstatus\fR [\fISERVICE\fR] .RS 4 如果 SERVICE 是一个总线服务的"唯一名"或"易读名", 那么显示该服务的进程信息及凭证信息。 如果 SERVICE 是一个进程的PID,那么显示该进程的进程信息及凭证信息。 如果未指定 SERVICE 参数,那么显示总线所有者的进程信息及凭证信息。 .RE .PP \fBmonitor\fR [\fISERVICE\fR...] .RS 4 监视已交换的消息,可使用 Ctrl\-C 中断监视。 如果未指定 \fISERVICE\fR 参数,那么显示总线上的所有消息。 如果指定了 \fISERVICE\fR 参数("唯一名"或"易读名"), 那么仅显示到达此peer或者从此peer发出的消息。 .RE .PP \fBcapture\fR [\fISERVICE\fR...] .RS 4 与 \fBmonitor\fR 命令类似, 不同之处在于以 pcap 格式输出(详见 \m[blue]\fBLibpcap File Format\fR\m[]\&\s-2\u[1]\d\s+2)。 强烈推荐将 STDOUT 重定向到一个文件中,然后使用 \fBwireshark\fR(1) 工具查看与分析。 .RE .PP \fBtree\fR [\fISERVICE\fR...] .RS 4 显示服务的对象树。 如果给出了 \fISERVICE\fR 参数, 那么仅显示指定服务的对象树, 否则显示总线上所有具有"易读名"服务的对象树。 .RE .PP \fBintrospect\fR \fISERVICE\fR \fIOBJECT\fR [\fIINTERFACE\fR] .RS 4 显示SERVICE服务上OBJECT对象(以路径表示)的 interface, method, property, signal 值。 如果指定了 INTERFACE 参数, 那么仅输出指定接口上的成员。 .RE .PP \fBcall\fR \fISERVICE\fR \fIOBJECT\fR \fIINTERFACE\fR \fIMETHOD\fR [\fISIGNATURE\fR\ [\fIARGUMENT\fR...]] .RS 4 调用一个方法并显示应答。 必须指定服务名称(SERVICE)、对象路径(OBJECT)、接口名称(INTERFACE)、方法名称(METHOD)。 如果要给方法传递参数, 那么必须使用类型标记(SIGNATURE)后跟一个参数字符串(ARGUMENT)。 格式细节参见下面的"参数格式"小节。 可以使用 \fB\-\-quiet\fR 选项抑制输出。 .RE .PP \fBget\-property\fR \fISERVICE\fR \fIOBJECT\fR \fIINTERFACE\fR \fIPROPERTY\fR... .RS 4 显示对象属性的当前值。 必须指定服务名称(SERVICE)、对象路径(OBJECT)、接口名称(INTERFACE)、属性名称(PROPERTY)。 如果同时指定了多个属性名称,那么将按照每行一个,依次显示每个属性的当前值。 默认以精简格式输出, 但是可以使用 \fB\-\-verbose\fR 选项以详细格式输出。 .RE .PP \fBset\-property\fR \fISERVICE\fR \fIOBJECT\fR \fIINTERFACE\fR \fIPROPERTY\fR \fISIGNATURE\fR \fIARGUMENT\fR... .RS 4 设置对象属性的当前值。 必须指定下列参数: 服务名称(SERVICE)、对象路径(OBJECT)、接口名称(INTERFACE)、 属性名称(PROPERTY)、类型标记(SIGNATURE)、参数字符串(ARGUMENT)。 .RE .PP \fBhelp\fR .RS 4 显示语法帮助 .RE .SH "参数格式" .PP \fBcall\fR 与 \fBset\-property\fR 命令都接收一个类型标记(SIGNATURE)与多个参数字符串(ARGUMENT)。 有关"类型标记"的详细说明, 参见 \m[blue]\fBType system chapter of the D\-Bus specification\fR\m[]\&\s-2\u[2]\d\s+2 文档的"Type System"小节。 对于简单类型(Basic types), 类型标记(SIGNATURE)后面的每个参数(ARGUMENT)都必须是参数值的字符串表示。 布尔类型真值可以表示为 "true", "yes", "on", "1" ; 布尔类型假值可以表示为 "false", "no", "off", "0" 。 对于数组,先是一个表示数组项数的数字,然后跟着数组中的每一项。 对于变量,先是一个表示变量类型的字符,然后跟着变量的值。 对于字典与结构,直接指定其内容即可。 .PP 例如, .sp .if n \{\ .RS 4 .\} .nf s jawoll .fi .if n \{\ .RE .\} .sp 是一个简单的字符串 "jawoll" , "s"是类型标记,"jawoll"是参数字符串。 .PP .if n \{\ .RS 4 .\} .nf as 3 hello world foobar .fi .if n \{\ .RE .\} .sp 是一个字符串数组,包含3个成员,分别是 "hello", "world", "foobar" .PP .if n \{\ .RS 4 .\} .nf a{sv} 3 One s Eins Two u 2 Yes b true .fi .if n \{\ .RE .\} .sp 是一个字典数组, 该字典将字符串映射为变量,包含3个成员,分别是: 字符串 "One" 映射到字符串 "Eins" , 字符串 "Two" 映射到32位无符号整数"2", 字符串 "Yes" 映射到布尔真值。 .PP 注意, \fBcall\fR, \fBget\-property\fR, \fBintrospect\fR 命令在输出应答时也同样是这个格式。 由于这个格式过于精简不易理解, 所以 \fBcall\fR 与 \fBget\-property\fR 命令提供了 \fB\-\-verbose\fR 选项用于输出详细的、 易于理解的多行输出格式。 .SH "例子" .PP \fBExample\ \&1.\ \&读写属性\fR .PP 下面的两个命令,首先写入一个属性,然后再读取它。 该属性位于 "org\&.freedesktop\&.systemd1" 服务的 "/org/freedesktop/systemd1" 对象中, 属性名是 "org\&.freedesktop\&.systemd1\&.Manager" 接口上的 "LogLevel" , 此属性是一个简单的字符串: .sp .if n \{\ .RS 4 .\} .nf # busctl set\-property org\&.freedesktop\&.systemd1 /org/freedesktop/systemd1 org\&.freedesktop\&.systemd1\&.Manager LogLevel s debug # busctl get\-property org\&.freedesktop\&.systemd1 /org/freedesktop/systemd1 org\&.freedesktop\&.systemd1\&.Manager LogLevel s "debug" .fi .if n \{\ .RE .\} .PP \fBExample\ \&2.\ \&精简输出与详细输出\fR .PP 下面的两个命令,两次读取同一个属性(字符串数组类型), 第一次以精简格式显示, 第二次以详细格式显示: .sp .if n \{\ .RS 4 .\} .nf $ busctl get\-property org\&.freedesktop\&.systemd1 /org/freedesktop/systemd1 org\&.freedesktop\&.systemd1\&.Manager Environment as 2 "LANG=en_US\&.utf8" "PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin" $ busctl get\-property \-\-verbose org\&.freedesktop\&.systemd1 /org/freedesktop/systemd1 org\&.freedesktop\&.systemd1\&.Manager Environment ARRAY "s" { STRING "LANG=en_US\&.utf8"; STRING "PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin"; }; .fi .if n \{\ .RE .\} .PP \fBExample\ \&3.\ \&调用方法\fR .PP 下面的命令, 在 "org\&.freedesktop\&.systemd1" 服务的 "/org/freedesktop/systemd1" 对象的 "org\&.freedesktop\&.systemd1\&.Manager" 接口上调用了 "StartUnit" 方法, 并且给此方法传递了 "cups\&.service" 与 "replace" 两个字符串。 而此方法返回了一个对象路径: .sp .if n \{\ .RS 4 .\} .nf # busctl call org\&.freedesktop\&.systemd1 /org/freedesktop/systemd1 org\&.freedesktop\&.systemd1\&.Manager StartUnit ss "cups\&.service" "replace" o "/org/freedesktop/systemd1/job/42684" .fi .if n \{\ .RE .\} .SH "参见" .PP \fBdbus-daemon\fR(1), \m[blue]\fBD\-Bus\fR\m[]\&\s-2\u[3]\d\s+2, \fBsd-bus\fR(3), \fBsystemd\fR(1), \fBmachinectl\fR(1), \fBwireshark\fR(1) .SH "NOTES" .IP " 1." 4 Libpcap File Format .RS 4 \%http://wiki.wireshark.org/Development/LibpcapFileFormat .RE .IP " 2." 4 Type system chapter of the D-Bus specification .RS 4 \%http://dbus.freedesktop.org/doc/dbus-specification.html#type-system .RE .IP " 3." 4 D-Bus .RS 4 \%http://freedesktop.org/wiki/Software/dbus .RE .\" manpages-zh translator: 金步国 .\" manpages-zh comment: 金步国作品集:http://www.jinbuguo.com manpages-zh-1.6.3.3/src/man1/bzcat.1000066400000000000000000000000211327105066500167020ustar00rootroot00000000000000.so man1/bzip2.1 manpages-zh-1.6.3.3/src/man1/bzip2.1000066400000000000000000000344421327105066500166430ustar00rootroot00000000000000\" 中文版版权所有 Liu JingSong, www.linuxforum.net 2000 \" 本文档可在遵照LDP GENERAL PUBLIC LICENSE,Version 1, September 1998 \" 中描述的条件下进行复制,且该文件发布时必须包含该文档. \" .TH bzip2 1 .SH NAME 命令名 .br bzip2, bunzip2 \- 一种块排序文件压缩软件,v0.9.5 .br bzcat \- 将文件解压缩至标准输出 .br bzip2recover \- 恢复损坏的 bzip2 文件 .SH 总览 .ll +8 .B bzip2 .RB [ " \-cdfkqstvzVL123456789 " ] [ .I "filenames \&..." ] .br .ll -8 .B bunzip2 .RB [ " \-fkvsVL " ] [ .I "filenames \&..." ] .br .B bzcat .RB [ " \-s " ] [ .I "filenames \&..." ] .br .B bzip2recover .I "filename" .SH 描述 .I bzip2 采用 Burrows-Wheeler 块排序文本压缩算法和 Huffman 编码方式压缩文件。 压缩率一般比基于 LZ77/LZ78 的压缩软件好得多,其性能接近 PPM 族统计类 压缩软件。 命令行参数有意设计为非常接近 .I GNU gzip 的形式,但也不完全相同。 .I bzip2 从命令行读入文件名和参数。 每个文件被名为 "原始文件名.bz2" 的压缩文件替换。 每个压缩文件具有与原文件相同的修改时间、 权限, 如果可能的话, 还具有相同的属主, 因此在解压缩时这些特性将正确地恢复。 在某些文件系统中, 没有权限、 属主或时间的概念, 或者对文件名的长度有严格限制, 例如 MSDOS, 在这种情况下,bzip2 没有保持原文件名、 属主、 权限以及时间的机制, 从这个意义上说,bzip2 对文件名的处理是幼稚的。 .I bzip2 和 .I bunzip2 在缺省情况下不覆盖已有的文件。 如果想覆盖已有的文件,要指定 \-f 选项。 如果未指定文件名, .I bzip2 将压缩来自标准输入的数据并写往标准输出。在这种情况下, .I bzip2 会拒绝将压缩结果写往终端,因为这完全无法理解并且是没有意义的。 .I bunzip2 (以及 .I bzip2 \-d) 对所有指定的文件进行解压缩处理。不是由 .I bzip2 产生的文件将被忽略,同时发出一个警告信息。 .I bzip2 按下列方式由压缩文件名确定解压后的文件名: filename.bz2 解压成 filename filename.bz 解压成 filename filename.tbz2 解压成 filename.tar filename.tbz 解压成 filename.tar anyothername 解压成 anyothername.out 如果文件名的后缀不是下列之一: .I .bz2, .I .bz, .I .tbz2 或 .I .tbz, .I .bzip2 将抱怨无法确定原始文件名,并采用原文件名加 .I .out 作为解压缩文件名。 在压缩时,如果不提供文件名,bzip2 将从标准输入读取数据,压缩结果写往标准输出。 .I bunzip2 能够正确地解压由两个或更多个压缩文件连在一起的文件。 解压的结果为相应的连在一起的未压缩文件。 bzip2 也支持对连在一起的压缩文件的完整性检查(\-t选项)。 同样可采用 \-c 选项将文件压缩或解压缩至标准输出。 多个文件可通过这种方式压缩或解压缩。 输出结果被依次送往标准输出。 采用这种方式对多个文件的压缩将生成包含 多个压缩文件的数据流。这样的数据流只能被 0.9.0 版或其后续版本的 .I bzip2 正确解压。较早版本的 .I bzip2 会在解压完第一个文件之后停止。 .I bzcat (或 .I bzip2 -dc) 将所有指定文件解压缩至标准输出。 .I bzip2 可从环境变量 .I BZIP2 和 .I BZIP 中依次读取参数, 并在命令行参数之前对其进行处理。 这是提供缺省选项的方便途径。 即使压缩后的文件略大于原文件, 压缩也总是照样进行。 小于大约 100 字节的文件压缩后倾向于变大, 因为会有一个 50 字节的数据头。 对于随机数据 (包括大多数压缩软 件的输出), 大约每字节压成 8.05 位, 放大率约为 0.5%。 .I bzip2 采用 32 位 CRC 校验码作自我检查,以确认解压后的文件与原始文件相同。 这可用于检测压缩文件是否损坏,并防止 .I bzip2 中未知的缺陷(运气好的话这种可能性非常小)。 数据损坏而未检测到的几率非常之小, 对于每个被处理的文件大约是四十亿分之一。 检查是在解压缩时进行的, 因此它只能说明某个地方出问题了。 它能帮助恢复原始未压缩的数据。可以用 .I bzip2recover 来尝试从损坏的文件中恢复数据。 返回值:正常退出返回 0, 出现环境问题返回 1 (文件未找到,非法的选项,I/O错误等), 返回 2 表明压缩文件损坏,出现导致 .I bzip2 紧急退出的内部一致性错误(例如缺陷)时返回 3。 .SH 选项 .TP .B \-c --stdout 将数据压缩或解压缩至标准输出。 .TP .B \-d --decompress 强制解压缩。 .I bzip2, .I bunzip2 以及 .I bzcat 实际上是同一个程序,进行何种操作将根据程序名确定。 指定该选项后将不考虑这一机制,强制 .I bzip2 进行解压缩。 .TP .B \-z --compress \-d 选项的补充:强制进行压缩操作,而不管执行的是哪个程序。 .TP .B \-t --test 检查指定文件的完整性,但并不对其解压缩。 实际上将对数据进行实验性的解压缩操作,而不输出结果。 .TP .B \-f --force 强制覆盖输出文件。通常 .I bzip2 不会覆盖已经存在的文件。该选项还强制 .I bzip2 打破文件的硬连接,缺省情况下 bzip2 不会这么做。 .TP .B \-k --keep 在压缩或解压缩时保留输入文件(不删除这些文件)。 .TP .B \-s --small 在压缩、 解压缩及检查时减少内存用量。 采用一种修正的算法进行压缩和测试, 每个数据块仅需要 2.5 个字节。 这意味着任何文件都可以在 2300k 的内存中进行解压缩, 尽管速度只有通常情况下的一半。 在压缩时,\-s将选定 200k 的块长度,内存用量也限制在 200k 左右, 代价是压缩率会降低。 总之,如果机器的内存较少(8兆字节或更少), 可对所有操作都采用\-s选项。参见下面的内存管理。 .TP .B \-q --quiet 压制不重要的警告信息。属于 I/O 错误及其它严重事件的信息将不会被压制。 .TP .B \-v --verbose 详尽模式 -- 显示每个被处理文件的压缩率。 命令行中更多的 \-v 选项将增加详细的程度, 使 bzip2 显示出许多主要用于诊断目的信息。 .TP .B \-L --license -V --version 显示软件版本,许可证条款及条件。 .TP .B \-1 to \-9 在压缩时将块长度设为 100 k、200 k .. 900 k。 对解压缩没有影响。参见下面的内存管理。 .TP .B \-- 将所有后面的命令行变量看作文件名,即使这些变量以减号"-"打头。 可用这一选项处理以减号"-"打头的文件名, 例如:bzip2 \-- \-myfilename. .TP .B \--repetitive-fast --repetitive-best 这些选项在 0.9.5 及其以上版本中是多余的。 在较早的版本中,这两个选项对排序算法 的行为提供了一些粗糙的控制,有些情况下很有用。 0.9.5 及其以上版本采用了改进的算法而与这些选项无关。 .SH 内存管理 .I bzip2 按照数据块压缩大文件。 数据块长度同时影响数据的压缩率和压缩及解压缩时需要 的内存用量。 选项 \-1 至 \-9 将数据块长度分别指定为 100,000 字节至 900,000(缺省)字节。 在解压缩时, 压缩时使用的块长度从压缩文件的头中读取, 同时 .I bunzip2 分配出刚好够用的内存对文件进行解压缩。 由于数据块长度保存在压缩文件中, 所以在解压缩时不需要 \-1 至 \-9 这些选项, 因而将被忽略。 可以按下面的公式估计压缩和解压缩时的内存用量,单位为字节: 压缩: 400k + ( 8 x 数据块长度 ) 解压缩: 100k + ( 4 x 数据块长度 ), 或 100k + ( 2.5 x 数据块长度 ) 大数据块长度产生迅速缩小的临界返回 (give rapidly diminishing marginal returns)。 在小机器上使用 .I bzip2 时, 一个值得记住的事实是, 大多数压缩来自数据块长度的前 200 或 300k。 另外重要的一点是, 解压缩时内存的需要量是在压缩时用块长度选项设定的。 对于缺省用 900k 的数据块长度压缩的文件, .I bunzip2 大约需要 3700k 字节的内存进行解压缩。为支持一台 4MB 机器上任何文件的解压缩, .I bunzip2 有一个选项大约只需一半容量的内存,约 2300k 字节。 解压缩速度同样也降低一半。 因此应该只在需要时采用该选项。相应的选项标志为 \-s。 一般来说,应尽量采用内存允许的最大数据块长度, 因为这能达到最好的压缩率, 压缩和解压缩速度实质上不受块长度的影响。 另一个值得注意的问题是关于小于一个数据块长度的文件的, 也就是说, 所遇到的 大多数文件使用一个大数据块。 由于文件长度小于一个数据块长度, 实际使用到的内存与文件长度成正比。 例如,采用 \-9 选项压缩一个 20,000 字节的文件时, 将分配 7600k 的内存, 但其中只用到了 400k+20000*8=560k 字节。同样地,在解压缩时将分配 3700k 内存,但只用到 100k + 20000 * 4 = 180 k 字节。 下表总结了不同数据块长度下的内存用量。同时列出的还有 Calgary 文本压缩语料 库中的 14 个文件的压缩长度,这 14 个文件压缩前总长度为 3,141,622 字节。 这些数据显示了压缩率是如何随数据块长度变化的。 由于这一语料库主要由小文件组成, 所以这些数字并没有充分体现出大文件情况下, 采用大数据块所能达到的较高压缩率的优势。 压缩时 解压缩 解压缩 -s 语料库文件 Flag 内存用量 内存用量 选项内存用量 压缩长度 -1 1200k 500k 350k 914704 -2 2000k 900k 600k 877703 -3 2800k 1300k 850k 860338 -4 3600k 1700k 1100k 846899 -5 4400k 2100k 1350k 845160 -6 5200k 2500k 1600k 838626 -7 6100k 2900k 1850k 834096 -8 6800k 3300k 2100k 828642 -9 7600k 3700k 2350k 828642 .SH 从损坏的文件中恢复数据 .I bzip2 按数据块对数据进行压缩,数据块长度通常为 900k 字节。每个数据块被独立地处理。 如果由于介质或传输错误导致多数据块的 .bz2 文件损坏,有可能将文件中未损坏的 数据块中的数据恢复。 压缩后的数据块以一个 48 位的结构分界,因而有可能在合理的范围内找到块边界。 每个数据块也带着自己的 32 位 CRC 校验码,因此可以区分损坏与未损坏的数据块。 .I bzip2recover 是一个简单的程序,它的功能是在 .bz2 文件中寻找数据块,并将每个数据块写到 自己的 .bz2 文件中。然后可以用 .I bzip2 \-t 测试结果的完整性,将未损坏的部分解压缩。 .I bzip2recover 只有一个命令行变量,即损坏文件的名字。输出结果是一系列象 "rec0001file.bz2"、 "rec0002file.bz2" 这样的文件, 每个文件含有从损坏文件中找出的数据块。 输出文件名设计为在接下来的处理中可方便地使用通配符, 例如,"bzip2 -dc rec*file.bz2>recovered_data",可按正确的次序列出文件。 .I bzip2recover 在处理大文件时最有用, 因为大文件含有很多数据块。 显然用它处理单个数据块的损坏文件不会有任何结果, 因为一个损坏的数据块是无法恢复的。 如果想尽量减少潜在的由于介质及传输错误导致的数据损坏, 可以考虑采用较小的数据块长度进行压缩。 .SH 有关性能的注解 在压缩的排序阶段, 相似的字符串将被聚集在一起。 因此, 对于包含很长重复符号 的文件, 例如象 "aabaabaabaab......" 这样的字符串(重复几百次), 压缩速度会 比通常情况慢得多。 0.9.5 及其以上版本在处理这样的重复时, 速度比以前版本提高 了很多。 最坏情况与平均情况下的压缩时间之比约为 10:1。 对于以前的版本, 这一数字大约是 100:1 以上。你如果愿意, 可采用 \-vvvv 选项来非常详细地监视这一过程。 解压缩速度并不受这些现象的影响。 .I bzip2 通常分配出几兆字节的内存用于处理数据, 对这些内存的访问是以相当随机的方式 进行的。 这意味着, 压缩及解压缩的性能在很大程度上取决于机器上处理高速缓存 未命中的速度。 因此, 已经观察到对程序作很小的减少失败率的改动会导致不成比例的很大的性能 上的提升。 我设想 .I bzip2 在有大量高速缓存机器上的性能最佳。 .SH 警告 I/O 错误信息并不是很有用。 .I bzip2 会尽量探测 I/O 错误信息并干净地退出, 但问题的细节有时看上去很容易引起误解。 本手册页适用于 0.9.5 版的 .I bzip2。 由这一版本的 bzip2 产生的压缩数据与以前的公开版本 0.1pl2、0.9.0 完全兼容, 但有一个例外:0.9.0 及其以上版本能正确解压缩多个连在一起的压缩文件,0.1pl2 则不能, 它将在解压缩完数据流中的第一个文件之后停止。 .I bzip2recover 采用 32 位的整型数表示压缩文件中位的位置, 因此它无法处理大于 512 兆字节的文件。 但这一问题很容易解决。 .SH 作者 Julian Seward, jseward@acm.org. http://www.muraroa.demon.co.uk .I bzip2 包含的想法及概念至少归功于下列人员: Michael Burrows 和 David Wheeler(块排序变换), David Wheeler(Huffman 编码器), Peter Fenwick(原始 bzip 的结构编程模型及许多改进),Alistair Moffat、 Ian Witten(原始 bzip 中的算法编码)。 我非常感激他们的帮助、 支持以及建议。 参见源发布的手册中有关文档来源中的线索。 Christian von Roques 曾鼓励我寻找更快的排序算法, 以提高压缩速度。 bela Lubkin 曾鼓励我改进最坏情况下的压缩性能。 很多人给我发来修补程序, 帮助解决移植问题, 租借机器,提出建议等。 .SH "[中文版维护人]" .B Liu JingSong .SH "[中文版最新更新]" 2001/01/31 .SH "[中国 Linux 论坛 man 手册页翻译计划]" .BI http://cmpp.linuxforum.net manpages-zh-1.6.3.3/src/man1/bzip2recover.1000066400000000000000000000000211327105066500202130ustar00rootroot00000000000000.so man1/bzip2.1 manpages-zh-1.6.3.3/src/man1/cal.1000066400000000000000000000064461327105066500163570ustar00rootroot00000000000000.\" Copyright (c) 1989, 1990, 1993 .\" The Regents of the University of California. All rights reserved. .\" Chinese version Copyright (c) 苏勇 ysu@gnocis.org .\" .\" This code is derived from software contributed to Berkeley by .\" Kim Letkeman. .\" .\" 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. All advertising materials mentioning features or use of this software .\" must display the following acknowledgement: .\" This product includes software developed by the University of .\" California, Berkeley and its contributors. .\" 4. 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. .\" .\" @(#)cal.1 8.1 (Berkeley) 6/6/93 .\" .TH CAL 1 "June 6, 1993" .SH NAME cal, ncal \- 显示一个日历 .SH 总览 .B cal [ .B -mjy ] [ .IR 月份 ] [ .IR 年份 ] .SH 描述 显示一个简单的日历.. 如果没有指定参数, 则显示当前月份. 选项如下所列: .IP -m 显示星期一作为一周的第一天.. (缺省为星期日.) .IP -j 显示儒略历的(Julian)日期 (以 1 为基的天数, 从 1 月 1 日开始计数) . .IP -y 显示当前年份的日历.. .PP 一个单一的参数指定要显示的年份 (1 \- 9999) ; 注意年份必须被完全地指定: .B cal 89 .IR 不会 显示1989年的日历. 两个参数表示月份 (1 \- 12) 和年份. 如果没有指定参数, 则显示当前月份的日历. .PP 一年从Jan 1 (1 月 1 日) 开始. .PP 格里高利历法改革(Gregorian Reformation)被认为发生于 1752 年 9 月 3 日. 在此之前, 多数国家已经认可这项改革(尽管有一些直到 20 世纪初才认可它). 那天之后的 10 天在这项改革被略去了, 所以那个月的日历有点不太寻常. .SH 参见 .BR calendar (3), .BR strftime (3) .SH 历史 一个 命令出现于第6版 AT&T UNIX. .SH "[中文版维护人]" .B 苏勇 .SH "[中文版最新更新]" .B 2001/07/15 .SH "《中国linux论坛man手册页翻译计划》:" .BI http://cmpp.linuxforum.net manpages-zh-1.6.3.3/src/man1/cat.1000066400000000000000000000043071327105066500163610ustar00rootroot00000000000000.\" DO NOT MODIFY THIS FILE! It was generated by help2man 1.47.3. .\"******************************************************************* .\" .\" This file was generated with po4a. Translate the source file. .\" .\"******************************************************************* .TH CAT 1 2017年10月 "GNU coreutils 8.28" 用户命令 .SH 名称 cat \- 连接文件并在标准输出上输出 .SH 概述 \fBcat\fP [\fI\,选项\/\fP]... [\fI\,文件\/\fP]... .SH 描述 .\" Add any additional description here .PP 将文件列表中的文件连接到标准输出。 .PP 如果没有指定文件,或者指定文件为“\-”,则从标准输入读取。 .TP \fB\-A\fP, \fB\-\-show\-all\fP 等价于 \fB\-vET\fP .TP \fB\-b\fP, \fB\-\-number\-nonblank\fP 给非空输出行编号,使 \fB\-n\fP 失效。 .TP \fB\-e\fP 等价于 \fB\-vE\fP .TP \fB\-E\fP, \fB\-\-show\-ends\fP 在每行结束显示 $ .TP \fB\-n\fP, \fB\-\-number\fP 给所有输出行编号 .TP \fB\-s\fP, \fB\-\-squeeze\-blank\fP 将所有的连续的多个空行替换为一个空行 .TP \fB\-t\fP 等价于 \fB\-vT\fP .TP \fB\-T\fP, \fB\-\-show\-tabs\fP 把 TAB 字符显示为 ^I .TP \fB\-u\fP (被忽略的选项) .TP \fB\-v\fP, \fB\-\-show\-nonprinting\fP 除了 LFD 和 TAB 之外的不可打印字符,用 ^ 和 M\- 标记方式显示 .TP \fB\-\-help\fP 显示此帮助信息并退出 .TP \fB\-\-version\fP 显示版本信息并退出 .SH 范例 .TP cat f \- g 依次输出文件 f,标准输入和文件 g 到标准输出 .TP cat 复制标准输入到标准输出 .SH 作者 由 Torbjorn Granlund 和 Richard M. Stallman 编写。 .SH 报告错误 GNU coreutils 的在线帮助: .br 请向 报告 cat 的翻译错误。 .SH 版权 Copyright \(co 2017 Free Software Foundation, Inc. License GPLv3+: GNU GPL version 3 or later . .br This is free software: you are free to change and redistribute it. There is NO WARRANTY, to the extent permitted by law. .SH 参见 \fBtac\fP(1) .PP .br 完整文档请见: .br 或者在本地使用: info \(aq(coreutils) cat invocation\(aq manpages-zh-1.6.3.3/src/man1/cd.1000066400000000000000000000000241327105066500161700ustar00rootroot00000000000000.so man1/builtins.1 manpages-zh-1.6.3.3/src/man1/chattr.1000066400000000000000000000057111327105066500170770ustar00rootroot00000000000000.\" -*- nroff -*- .TH CHATTR 1 "1999年11月" "E2fsprogs version 1.18" .SH NAME(名称) chattr \- 修改 Linux 文件系统中的文件属性 .SH SYNOPSIS(总览) .B chattr [ .B \-RVf ] [ .B \-v .I 版本 ] [ .B \-p .I project ] [ .I mode ] .I files... .SH DESCRIPTION(描述) .B chattr 修改文件在 Linux 文件系统中的特有属性。 .PP 符号模式有 +-=[aAcCdDeijsStTu] 几种格式. .PP 操作符`+'用来在文件已有属性的基础上增加选定的属性; `-'用来去掉文件上的选定的属性;而`='用来指定该文件的唯一属性. .PP 字符`ASacdisu'用作文件新属性的选项: 不更新atime(A),同步更新(S),只能添加(a), 压缩(c),不可变(i),不可转移(d),删除保护(s)以及不可删除(u). .SH OPTIONS(选项) .TP .B \-R 递归地修改目录以及其下内容的属性. 如果在递归目录时遇到了符号链接,遍历将跳过. .TP .B \-V 详尽地给出chattr的输出信息并打印出程序的版本. .TP .BI \-v " version" 设置文件系统的版本. .SH ATTRIBUTES(属性) 当修改设置了'A'属性的文件时,它的atime记录不会改变. 这可以在笔记本电脑系统中避免某些磁盘I/O处理. .PP 设置了`a'属性的文件只能在添加模式下打开用于写入. 只有超级用户可以设置或清除该属性. .PP 设置了`c'属性的文件在磁盘上由内核自动进行压缩处理. 从该文件读取时返回的是未压缩的数据. 对该文件的一次写入会在保存它们到磁盘之前进行数据压缩. .PP 设置了`d'属性的文件不能对其运行 .BR dump (8) 程序进行备份. .PP 设置了`i'属性的文件不能进行修改:你既不能删除它, 也不能给它重新命名,你不能对该文件创建链接, 而且也不能对该文件写入任何数据. 只有超级用户可以设置或清除该属性. .PP 当删除设置了`s'属性的文件时,将对其数据块清零 并写回到磁盘上. .PP 当修改设置了`S'属性的文件时, 修改会同步写入到磁盘上;这与应用 到文件子系统上的`sync'挂载选项有相同的效果. .PP 当删除设置了`u'属性的文件时, 将会保存其内容. 这使得用户可以请求恢复被删除的文件. .PP .SH AUTHOR(作者) .B chattr 的作者为Remy Card , 他是ext2 fs的开发和维护者. .SH BUGS AND LIMITATIONS(BUGS和局限性) 对于ext2 fs 0.5a来说,`c'和`u'属性是不被 内核代码所承认的. 对于Linux 2.0内核而言,'A'属性也是不被 内核代码所支持的. (noatime代码仍在测试中.) .PP 这些属性将在未来的ext2 fs版本中实现. .SH AVAILABILITY(怎样获取) .B chattr 是e2fsprogs包的一部分, 你可以通过 对tsx-11.mit.edu的匿名ftp访问在 /pub/linux/packages/ext2fs下找到它. .SH SEE ALSO(另见) .BR lsattr (1), .BR btrfs (5), .BR ext4 (5), .BR xfs (5) .SH "[中文版维护人]" .B riser .SH "[中文版最新更新]" .BR 2001/08/08 .SH "《中国linux论坛man手册页翻译计划》:" .BI http://cmpp.linuxforum.net manpages-zh-1.6.3.3/src/man1/chgrp.1000066400000000000000000000055541327105066500167220ustar00rootroot00000000000000.\" DO NOT MODIFY THIS FILE! It was generated by help2man 1.47.3. .\"******************************************************************* .\" .\" This file was generated with po4a. Translate the source file. .\" .\"******************************************************************* .TH CHGRP 1 2017年10月 "GNU coreutils 8.28" 用户命令 .SH 名称 chgrp \- 修改文件所属组 .SH 概述 \fBchgrp\fP [\fI\,选项列表\/\fP]... \fI\,组 文件\/\fP... .br \fBchgrp\fP [\fI\,选项列表\/\fP]... \fI\,\-\-reference=参考文件 文件\/\fP... .SH 描述 .\" Add any additional description here .PP 修改每个文件的所属组为指定的组。 使用参数 \fB\-\-reference\fP 时, 修改每个文件的所属组为参考文件的所属组。 .TP \fB\-c\fP, \fB\-\-changes\fP 类似 verbose 参数, 但只会在发生变化时才会报告 .TP \fB\-f\fP, \fB\-\-silent\fP, \fB\-\-quiet\fP 隐藏大多数错误信息 .TP \fB\-v\fP, \fB\-\-verbose\fP 对于每个文件的处理, 都会打印分析报告 .TP \fB\-\-dereference\fP 影响每个符号链接所引用的文件 (默认设置), 而不是符号链接本身 .TP \fB\-h\fP, \fB\-\-no\-dereference\fP 影响符号链接本身而不是其引用的文件 (只在可以修改符号链接所有权的系统上有效) .TP \fB\-\-no\-preserve\-root\fP 不对 '/' 特殊处理 (默认设置) .TP \fB\-\-preserve\-root\fP 不允许递归执行于 '/' .TP \fB\-\-reference\fP=\fI\,参考文件\/\fP 使用参考文件的所属组代替指定所属组 .TP \fB\-R\fP, \fB\-\-recursive\fP 递归执行于文件和目录 .PP 当指定了 \fB\-R\fP 选项时, 下面的几个选项会修改遍历层次目录的方式。 如果指定了以下多个选项, 只有最后一个选项才会生效。 .TP \fB\-H\fP 如果命令行参数是一个指向目录的符号链接, 则遍历该目录 .TP \fB\-L\fP 遍历目录中的每一个符号链接 .TP \fB\-P\fP 不遍历任何一个符号链接 (默认设置) .TP \fB\-\-help\fP 显示此帮助信息并退出 .TP \fB\-\-version\fP 显示版本信息并退出 .SH 范例 .TP chgrp staff /u 修改 /u 的所属组为 "staff" 。 .TP chgrp \-hR staff /u 修改 /u 和其子文件的所属组为 "staff" 。 .SH 作者 由 David MacKenzie 和 Jim Meyering 编写。 .SH 报告错误 GNU coreutils 的在线帮助: .br 请向 报告 chgrp 的翻译错误。 .SH 版权 Copyright \(co 2017 Free Software Foundation, Inc. License GPLv3+: GNU GPL version 3 or later . .br This is free software: you are free to change and redistribute it. There is NO WARRANTY, to the extent permitted by law. .SH 参见 chown(1), chown(2) .PP .br 完整文档请见: .br 或者在本地使用: info \(aq(coreutils) chgrp invocation\(aq manpages-zh-1.6.3.3/src/man1/chmod.1000066400000000000000000000116201327105066500167000ustar00rootroot00000000000000.\" Copyright Andries Brouwer, Ragnar Hojland Espinosa and A. Wik, 1998. .\" Chinese version Copyright 王炎,BitBIRD,Scorpio,www.linuxforum.net 2000. .\" Modifier: Scorpio,BitBIRD. .\" .\" This file may be copied under the conditions described .\" in the LDP GENERAL PUBLIC LICENSE, Version 1, September 1998 .\" that should have been distributed together with this file. .\" .TH CHMOD 1 "November 1998" "GNU fileutils 4.0" .SH NAME chmod \- 改变文件的访问权限 .SH 概述 .BI "chmod [" options "] " "mode file..." .sp .SH POSIX 选项: .B [-R] .sp GNU 选项 (最短方式): .B [-cfvR] .BI [--reference=rfile] .B "[--help] [--version] [--]" .SH 描述 使用chmod命令改变指定文件访问权限有两种方式:一种是用符号 标记所进行更改,另一种方式是采用8进制数指定新的访问权限。 使用下面的语法格式来使用符号改变方式 .br \&`[ugoa...][[+-=][rwxXstugo...]...][,...]'. .PP 在这种格式下,所带参数是一个用逗号分隔的字符列表.每个符号方式的 改变命令以零或者字'ugoa'开始;'ugoa'控制哪些用户对该文件访问权 限将被改变:文件的所有者(u),与文件所有者同组的用户(g),其他组的 用户(o),所有用户(a).因此,a在这里等同于ugo.如果没有带参数,则缺 省设置为a,运行效果相同,但是在umask中设置的位将不会受影响. .PP 操作符'+'使得用户选择的权限被追加到每个指定文件,(操作给 指定文件添加所选权限);操作符'-'使得这些权限被撤消;'='使得 指定文件只具有这些权限。 .PP 字符串'rwxXstugo' 给用户选择新的属性:(r)读权限、(w)写权限、 (x)执行权(或对目录的访问权),(X)只有目标文件对某些用户是 可执行的或该目标文件是目录时才追加x属性,(s)同时设定用户 或组ID,(t)粘滞位(保存程序的文本到交换设备上),(u)目标文件 属主,(g)目标文件属主所在的组,(o)其他用户。(因此,'chmod g-s file' 撤消sgid位,'chmod ug+s file'同时设置了suid和sgid位,'chmod o+s file' 则没有进行任何设置) .PP POSIX并没有粘滞位的描述。它最初是指在交换设备上保留程序文本。 现在,如果设置了目录的粘滞位, 那么只有文件和目录的所有者可以删除该目录下的文件。 (一般使用于类似于/tmp这样有基本写权限的目录) .PP 数字模式是一到4个八进制数,每个数由位权为4,2,1的3位叠加而得. 被省略掉的数字缺省设置为零. 第一位为4时为suid,2时为sgid,1时 为粘滞位,.第二位设置文件所有者的权限:可读(4),可写(2),可执行(1); 第三位设置了文件所在组其他用户的权限,值如上;第四位设置了其 他组的用户的权限,值同上. .PP . 由于chmod的系统调用不支持,chomd命令不能改变符号链接的权限. 由于符号链接的权限从不使用,所以这也不成问题.无论如何,由于 每个符号连接都可在命令行中列出,chmod改变了所指文件的属性. 相反,chmod在递归目录遍历时忽略所碰到的符号连接. .SH POSIX 选项 .B "\-R" 改变目录及目录下的内容的访问权限. .SH "GNU 选项" .TP .B "\-c, \-\-changes" 只有在文件的权限确实改变时才进行详细的说明 .TP .B "\-f, \-\-silent, \-\-quiet" 不输出权限不能改变的文件的错误信息 .TP .B "\-v, \-\-verbose" 详细说明权限的变化 .TP .B "\-R, \-\-recursive" 改变目录及其所有子目录的文件的权限 .TP .BI "\-\-reference=" "rfile" (更新在fileutils 4.0上) 改变文件的模式到rfile. .SH "GNU 标准选项" .TP .B "\-\-help" 在标准输出上输出帮助信息并退出 .TP .B "\-\-version" 在标准输出上输出版本信息并退出 .TP .B "\-\-" 终端选项列表 .SH 环境变量 变量LANG, LC_ALL, LC_CTYPE ,LC_MESSAGES与一般情况相同. .SH 遵循 POSIX 1003.2 只需要-R参数。使用其他选项可能无法移植。该标准没有描述 `t'权限位。该标准没有特别要求chmod命令是否必须通过拒绝或清除suid,sgid位 来保持一致性,也就是说,当所有的可执行位都被清除了以后, chomd 是否还完全保留`s'位. .SH 非标准模式 在上面的内容中我们讨论了't'位在目录上的用法。不同的系统对这些 位的组合有特殊的定义。特别是Linux,继System V之后(参考System V 接口描述(SVID)第三卷),给一个文件设置 sgid 位但又不给它设置组执行权限, 那么就标志该文件被强制锁住.详细内容,参照文件 /usr/src/linux/Docu-mentation/mandatory.txt .SH 注意 此页描述的chmod基于fileutils-4.0 package;其他版本可能会有细微 的差别.请将修正和增加发送到aeb@cwi.nl. 程序中的错误报告到fileutils-bugs@gnu.ai.mit.edu. .SH "[中文版维护人]" .B 王炎 .SH "[中文版最新更新]" .BR 2000/10/19 .SH "《中国linux论坛man手册页翻译计划》:" .BI http://cmpp.linuxforum.net manpages-zh-1.6.3.3/src/man1/chown.1000066400000000000000000000062041327105066500167260ustar00rootroot00000000000000.\" 版权所有 Andries Brouwer, Ragnar Hojland Espinosa and A. Wik, 1998. .\" 中文版版权所有 riser,BitBIRD www.linuxforum.net 2000 .\" 本文档可在遵照LDP GENERAL PUBLIC LICENSE,Version 1, September 1998 .\" 中描述的条件下进行复制,且该文件发布时必须包含该文档. .\" .TH CHOWN 1 "1998年11月" "GNU fileutils 4.0" .SH NAME chown \- 修改文件所有者和组别 .SH 总览 .BI "chown [" options "] " user " [:" group "] " file... .sp POSIX 选项: .B [\-R] .sp GNU 选项(最短格式): .B "[\-cfhvR] [\-\-dereference]" .BI [\-\-reference= rfile ] .B "[\-\-help] [\-\-version] [\-\-]" .SH 描述 .B chown 修改每个由第一个非选项参数声明的给定 .I file(文件) 的用户和/或组的所有权.如下: 如果只给出了用户名(或者数字用户标识),那么该用户即成为每个指定 文件的所有者,而该文件的组别并不改变.如果用户名后面紧跟着冒号和 组名(或者是数字组标识),并且它们之间没有空格,那么文件的组所有权 也随之改变. .SH "GNU细节" GNU版本允许使用一个点来替代冒号(学BSD的).[因为点是有效的用户 名中的字符,所以这不被POSIX所接纳.]如果有一个冒号或者点,却没有 组名跟在用户名后,那么该用户即成为文件的所有者,而且文件的组改为 该用户的登录组.如果给定了冒号或者点,以及组,但是省略了用户名,那 么只有文件的组被修改;在这种情况下, .B chown 执行的是与 .BR chgrp 相同的功能. .SH "POSIX选项" .TP .B "\-R" 递归地修改目录及其下面内容的所有权. .SH "GNU选项" .TP .B "\-c, \-\-changes" 详尽地描述每个 .I file 实际改变了哪些所有权. .TP .B "\-f, \-\-silent, \-\-quiet" 不打印文件所有权不能修改的报错信息. .TP .B "\-h, \-\-no\-dereference" 只作用于其本身的符号链接,而不修改它们所指向的文件. 这只在提供了 .B lchown 系统调用的情况下才可用. .TP .B "\-v, \-\-verbose" 详尽地描述对每个 .IR file 所执行的操作(或者无操作). .TP .B "\-R, \-\-recursive" 递归地修改目录及其下面内容的所有权. .TP .B \-\-dereference 修改符号链接目标端的所有权,而非符号链接自身. (file\%utils 4.0中实现的新功能.) .TP .BI "\-\-reference=" "rfile" (file\%utils 4.0中实现的新功能.) 修改 .I file 的所有权为 .IR rfile 的所有权. .SH "GNU标准选项" .TP .B "\-\-help" 在标准输出上打印一条用法信息,并以成功状态退出. .TP .B "\-\-version" 在标准输出上打印版本信息,然后以成功状态退出. .TP .B "\-\-" 终止选项列表. .SH 环境变量 变量LANG, LC_ALL, LC_CTYPE和LC_MESSAGES取其常用义. .SH "遵循" POSIX 1003.2不允许使用点作为用户名和组名的分隔符. .SH 备注 本页描述了包括在fileutils-4.0包中的 .B chown; 其它版本会有细微差别. 请将您的修正和增补建议发到aeb@cwi.nl. 程序中的bugs请报告到 fileutils-bugs@gnu.ai.mit.edu. .SH "[中文版维护人]" .B riser .SH "[中文版最新更新]" .BR 2000/10/19 .SH "《中国linux论坛man手册页翻译计划》:" .BI http://cmpp.linuxforum.net manpages-zh-1.6.3.3/src/man1/chroot.1000066400000000000000000000022641327105066500171100ustar00rootroot00000000000000.TH CHROOT "1" "August 1999" "GNU sh-utils 2.0" FSF .SH NAME chroot \- 以 特定 根 目录 运行 命令 或者 交互式 shell .SH "总览 (SYNOPSIS)" .B chroot [\fIOPTION\fR]\fI NEWROOT \fR[\fICOMMAND\fR...] .br .B chroot \fIOPTION\fR .SH "描述 (DESCRIPTION)" .PP 以 NEWROOT 为 根 目录 运行 COMMAND. .TP \fB\-\-help\fR 显示 帮助 并且 退出 .TP \fB\-\-version\fR 显示 版本 信息 并且 退出 .PP 如果 没有 指定 命令, 运行 ``${SHELL} \fB\-i\fR'' (默认: /bin/sh). .SH "报告错误 (REPORTING BUGS)" 把 错误 报告 给 . .SH "参见 (SEE ALSO)" .B chroot 的 完整 的 文档 是 以 Texinfo 手册页 维护 的. 如果 .B info 和 .B chroot 程序 被 正确 的 安装 在 你的 机子 上, 用 .IP .B info chroot .PP 命令 查看 完整 的 手册页. .SH "版权 (COPYRIGHT)" 版权所有 \(co 1999 自由软件基金会 .br 这一程序是自由软件; 拷贝条件见源文件. 没有任何担保; 甚至没有适合特定目的的隐含的担保. .SH "[中文版维护人]" .B 唐友 .SH "[中文版最新更新]" .BR 2001/9/20 .SH "[中国Linux论坛man手册页翻译计划]" .BI http://cmpp.linuxforum.net manpages-zh-1.6.3.3/src/man1/chvt.1000066400000000000000000000013571327105066500165600ustar00rootroot00000000000000.TH CHVT 1 "1997年10月7日" "控制台工具" "Linux用户手册" .SH NAME(名称) chvt \- 修改虚拟终端的前台环境 .SH SYNOPSIS(总览) .BI chvt N .SH DESCRIPTION(描述) .B chvt .I N 命令用来生成 .RI /dev/tty N 的前台终端.如果它本来不存在,即创建相应的屏幕.为了删除掉 不用的VT(虚拟终端),可使用 .BR deallocvt (1). 键映射操作 .RI `Console_ N ' (通常绑定为键组合 .RI (Ctrl\-)LeftAlt\-F N , .I N 在1-12的范围里取值, 而 .RI RightAlt\-F N\-12 中的 .I N 则在13-24的范围里取值)也允许切换到其它的VT,不过实际的切换 只能在它已经分配的前提下进行.这防止了分配给新的VT一个错位 的键值. .SH "SEE ALSO"(另见) .BR deallocvt (1). manpages-zh-1.6.3.3/src/man1/cksum.1000066400000000000000000000024731327105066500167360ustar00rootroot00000000000000.\" DO NOT MODIFY THIS FILE! It was generated by help2man 1.47.3. .\"******************************************************************* .\" .\" This file was generated with po4a. Translate the source file. .\" .\"******************************************************************* .TH CKSUM 1 2017年10月 "GNU coreutils 8.28" 用户命令 .SH 名称 cksum \- 显示文件校验和并计数其字节数 .SH 概述 \fBcksum\fP [\fI\,文件列表\/\fP]... .br \fBcksum\fP [\fI\,选项\/\fP] .SH 描述 .\" Add any additional description here .PP 显示每个文件的 CRC 校验和和字节计数。 .TP \fB\-\-help\fP 显示此帮助信息并退出 .TP \fB\-\-version\fP 显示版本信息并退出 .SH 作者 由 Q. Frank Xia 编写。 .SH 报告错误 GNU coreutils 的在线帮助: .br 请向 报告 cksum 的翻译错误。 .SH 版权 Copyright \(co 2017 Free Software Foundation, Inc. License GPLv3+: GNU GPL version 3 or later . .br This is free software: you are free to change and redistribute it. There is NO WARRANTY, to the extent permitted by law. .SH 参见 完整文档请见: .br 或者在本地使用: info \(aq(coreutils) cksum invocation\(aq manpages-zh-1.6.3.3/src/man1/clear.1000066400000000000000000000053461327105066500167040ustar00rootroot00000000000000.\"*************************************************************************** .\" Copyright (c) 1998 Free Software Foundation, Inc. * .\" * .\" Permission is hereby granted, free of charge, to any person obtaining a * .\" copy of this software and associated documentation files (the * .\" "Software"), to deal in the Software without restriction, including * .\" without limitation the rights to use, copy, modify, merge, publish, * .\" distribute, distribute with modifications, sublicense, and/or sell * .\" copies of the Software, and to permit persons to whom the Software is * .\" furnished to do so, subject to the following conditions: * .\" * .\" The above copyright notice and this permission notice shall be included * .\" in all copies or substantial portions of the Software. * .\" * .\" THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS * .\" OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF * .\" MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. * .\" IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, * .\" DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR * .\" OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR * .\" THE USE OR OTHER DEALINGS IN THE SOFTWARE. * .\" * .\" Except as contained in this notice, the name(s) of the above copyright * .\" holders shall not be used in advertising or otherwise to promote the * .\" sale, use or other dealings in this Software without prior written * .\" authorization. * .\"*************************************************************************** .\" .TH clear 1 "" .ds n 5 .SH NAME(名称) \fBclear\fR - 清除终端屏幕 .SH SYNOPSIS(总览) \fBclear\fR .br .SH DESCRIPTION(描述) \fBclear\fR可以在允许的情况下清屏. 它会在环境变量中查找终端的类型, 然后到 \fBterminfo\fR数据库中找出清屏的方法. .SH SEE ALSO(另见) \fBtput\fR(1), \fBterminfo\fR(\*n) .\"# .\"# The following sets edit modes for GNU EMACS .\"# Local Variables: .\"# mode:nroff .\"# fill-column:79 .\"# End: .SH "[中文版维护人]" .B riser .SH "[中文版最新更新]" .BR 2001/08/08 .SH "《中国linux论坛man手册页翻译计划》:" .BI http://cmpp.linuxforum.net manpages-zh-1.6.3.3/src/man1/clusterdb.1000066400000000000000000000053521327105066500176020ustar00rootroot00000000000000.TH "CLUSTERDB" "1" "2003-11-02" "Application" "PostgreSQL Client Applications" .SH NAME clusterdb \- 对一个PostgreSQL数据库进行建簇 .SH SYNOPSIS .sp \fBclusterdb\fR\fR [ \fR\fB\fIconnection-option\fB\fR...\fB \fR\fR]\fR\fR [ \fR\fB--table | -t \fItable\fB \fR\fR]\fR\fR [ \fR\fB\fIdbname\fB \fR\fR]\fR \fBclusterdb\fR\fR [ \fR\fB\fIconnection-option\fB\fR...\fB \fR\fR]\fR \fR[\fR \fB--all\fR\fR | \fR\fB-a\fR\fR ]\fR .SH "DESCRIPTION 描述" .PP \fBclusterdb\fR 是一个用于对某个 PostgreSQL 数据库中的表进行重新建簇的工具。它寻找以前建过簇的表,然后在上次用过的同一个索引上再次建簇。将不会动那些从未建簇的表。 .PP \fBclusterdb\fR 是对 SQL 命令 CLUSTER[\fBcluster\fR(7)] 的封装。 使用这两种方法对数据库建簇实际上没有任何区别。 .SH "OPTIONS 选项" .PP \fBclusterdb\fR 接受下列命令行参数: .TP \fB-a\fR .TP \fB--all\fR 对所有数据库建簇。 .TP \fB[-d] \fIdbname\fB\fR .TP \fB[--dbname] \fIdbname\fB\fR 声明要建簇的数据库名字。如果没有声明这个并且没有使用 -a(或者 --all), 那么数据库名从环境变量 PGDATABASE 中读取。 如果那个也没有设置,那么使用用于连接的用户名。 .TP \fB-e\fR .TP \fB--echo\fR 回显 clusterdb 生成并发送给服务器的命令。 .TP \fB-q\fR .TP \fB--quiet\fR 不要显示响应。 .TP \fB-t \fItable\fB\fR .TP \fB--table \fItable\fB\fR 只对表 table 建簇。 .PP .PP \fBclusterdb\fR 还接受下列命令行参数获取连接参数: .TP \fB-h \fIhost\fB\fR .TP \fB--host \fIhost\fB\fR 声明服务器运行所在的机器的主机名。如果值以斜杠开头, 那么就用作 Unix 域套接字的目录。 .TP \fB-p \fIport\fB\fR .TP \fB--port \fIport\fB\fR 声明服务器监听的网际网 TCP 端口或者本地 Unix 域套接字文件扩展。 .TP \fB-U \fIusername\fB\fR .TP \fB--username \fIusername\fB\fR 进行连接的用户名 .TP \fB-W\fR .TP \fB--password\fR 强制提示口令。 .PP .SH "ENVIRONMENT 环境" .TP \fBPGDATABASE\fR .TP \fBPGHOST\fR .TP \fBPGPORT\fR .TP \fBPGUSER\fR 缺省连接参数。 .SH "DIAGNOSTICS 诊断" .PP 出现困难的时候,参阅 CLUSTER [\fBcluster\fR(7)] 和 \fBpsql\fR(1) 获取有关可能的错误和错误信息的讨论。 数据库服务器必须在目标主机上运行。同样,任何缺省连接设置和 libpq 前端库使用的环境变量都将得以应用。 .SH "EXAMPLES 例子" .PP 对数据库 test 建簇: .sp .nf $ \fBclusterdb test\fR .sp .fi .PP 对一个叫做 xyzzy 的数据库里的表 foo 建簇: .sp .nf $ \fBclusterdb --table foo xyzzy\fR .sp .fi .SH "SEE ALSO 参见" CLUSTER [\fBcluster\fR(7)] .SH "译者" .B Postgresql 中文网站 .B 何伟平 manpages-zh-1.6.3.3/src/man1/col.1000066400000000000000000000076261327105066500163760ustar00rootroot00000000000000.\" Copyright (c) 1990 The Regents of the University of California. .\" All rights reserved. .\" .\" This code is derived from software contributed to Berkeley by .\" Michael Rendell. .\" .\" 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. All advertising materials mentioning features or use of this software .\" must display the following acknowledgement: .\" This product includes software developed by the University of .\" California, Berkeley and its contributors. .\" 4. 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. .\" .\" @(#)col.1 6.8 (Berkeley) 6/17/91 .\" .TH col 1 1991年6月17日 "COL 1" .SH NAME(名称) col \- 过滤掉输入中的反向换行符 .SH SYNOPSIS(总览) .B col [ .B -bfx ] [ .B -l .IR num ] .SH DESCRIPTION(描述) .B col 过滤掉反向(以及半反向)换行符(LF: line feed or NL: new line), 这样输出按正常顺序,即只包括正向和半正向换行符, 而且在可能的地方使用tab替换白空格.这对 nroff(1) 和 tbl(1) 的输出处理很有用处. .PP .B col 从标准输出读入,并写出到标准输出上. .PP 选项如下: .TP -b 不输出任何退格符,在每列的位置上只打印最后写的那个字符. .TP -f 允许正向半换行符(``fine''模式). 通常,处于半行分界线上的字符打印在下一行. .TP -x 输出多个空格以替换tab. .TP -l num 在内存中至少缓冲 .IR num 行. 默认情况下,缓冲128行. .PP .B col 所能理解的用于回车操作的控制序列以及它们的十进制值都列在下面的表中: .PP .IP ESC\-7 反向换行符(escape后接7) .IP ESC\-8 反向半换行符(escape后接8) .IP ESC\-9 正向半换行符(escape后接9) .IP backspace 反向移动一列(8);在第一列则忽略. .TP carriage return (13) .IP newline 正向换行符(10);同时执行回车(carriage return)操作 .TP shift in 转到正常字符集(15) .TP shift out 转到备选的字符集(14) .IP space 正向移动一列(32) .IP tab 正向移动到下一个tab(9) .TP vertical tab 反向换行符(11) .PP 丢弃所有不被承认的控制字符和escape序列. .PP 当读取字符时, .B col 保持着与字符集的联系,而且在输出时确保字符集是正确的. .PP 如果输入设备试图回复到最近被刷新的行, .B col 会显示一条警告消息. .SH SEE ALSO(另见) .BR expand (1) .BR nroff (1) .BR tbl (1) .SH HISTORY(历史) .B col 命令出现于AT&T UNIX版本6. .SH "[中文版维护人]" .B riser .SH "[中文版最新更新]" 2000/12/6 .SH 《中国Linux论坛man手册页翻译计划》: .B http://cmpp.linuxforum.net manpages-zh-1.6.3.3/src/man1/comm.1000066400000000000000000000031161327105066500165420ustar00rootroot00000000000000.TH COMM "1" "February 2000" "GNU textutils 2.0a" FSF .SH NAME comm \- 逐行比较两个已排序的文件 .SH "总览 (SYNOPSIS)" .B ../src/comm [\fIOPTION\fR]... \fILEFT_FILE RIGHT_FILE\fR .SH "描述 (DESCRIPTION)" .\" Add any additional description here .PP 逐行比较 已排序的 文件 LEFT_FILE 和 RIGHT_FILE. .TP \fB\-1\fR 屏蔽 左边文件 (LEFT_FILE) 中 不同于 右边文件 的 行(或内容) .TP \fB\-2\fR 屏蔽 右边文件 (RIGHT_FILE) 中 不同于 左边文件 的 行(或内容) .TP \fB\-3\fR 屏蔽 两个文件 中 相同 的 行(或内容) (译注: 原文为 "不相同的行", 疑有误) .TP \fB\-l\fR 认为 输入数据 根据 当前的 locale 排了序 (应该 给 \fBsort\fR 提供 \fB\-l\fR 选项). .TP \fB\-\-help\fR 显示 帮助信息, 然后 结束 .TP \fB\-\-version\fR 显示 版本信息, 然后 结束 .SH "作者 (AUTHOR)" Richard Stallman 和 David MacKenzie. .SH "报告 BUGS" 发现的 bug 送往 . .SH "版权 (COPYRIGHT)" Copyright \(co 1999 Free Software Foundation, Inc. .br This is free software; see the source for copying conditions. There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. .SH "另见 (SEE ALSO)" .B comm 的 完整文档 以 Texinfo 手册 的 格式 维护. 如果 正确 安装了 .B info 和 .B comm 程序, 使用 命令 .IP .B info comm .PP 能够 访问到 完整 的 手册. .SH "[中文版维护人]" .B 徐明 .SH "[中文版最新更新]" .BR 2001/10/19 第一版 .SH "《中国Linux论坛man手册页翻译计划》:" .BI http://cmpp.linuxforum.net manpages-zh-1.6.3.3/src/man1/command.1000066400000000000000000000000241327105066500172200ustar00rootroot00000000000000.so man1/builtins.1 manpages-zh-1.6.3.3/src/man1/compgen.1000066400000000000000000000000241327105066500172320ustar00rootroot00000000000000.so man1/builtins.1 manpages-zh-1.6.3.3/src/man1/complete.1000066400000000000000000000000241327105066500174120ustar00rootroot00000000000000.so man1/builtins.1 manpages-zh-1.6.3.3/src/man1/continue.1000066400000000000000000000000241327105066500174260ustar00rootroot00000000000000.so man1/builtins.1 manpages-zh-1.6.3.3/src/man1/cp.1000066400000000000000000000134151327105066500162140ustar00rootroot00000000000000.\" DO NOT MODIFY THIS FILE! It was generated by help2man 1.47.3. .\"******************************************************************* .\" .\" This file was generated with po4a. Translate the source file. .\" .\"******************************************************************* .TH CP 1 2017年10月 "GNU coreutils 8.28" 用户命令 .SH 名称 cp \- 复制文件和目录 .SH 概述 \fBcp\fP [\fI\,选项\/\fP]... [\fI\,\-T\/\fP] \fI\,来源 目标\/\fP .br \fBcp\fP [\fI\,选项\/\fP]... \fI\,来源\/\fP... \fI\,目录\/\fP .br \fBcp\fP [\fI\,选项\/\fP]... \fI\,\-t 目录 来源\/\fP... .SH 描述 .\" Add any additional description here .PP 从指定的来源文件复制到目标处,或者将多个源文件复制到目标目录中。 .PP 必选参数对长短选项同时适用。 .TP \fB\-a\fP, \fB\-\-archive\fP 与 \fB\-dR\fP \fB\-\-preserve\fP=\fI\,all\/\fP 相同。 .TP \fB\-\-attributes\-only\fP 不要复制文件数据,仅仅复制其属性值。 .TP \fB\-\-backup\fP[=\fI\,控制参数\/\fP] 为每个已存在的目标文件创建一个备份 .TP \fB\-b\fP 类似 \fB\-\-backup\fP,但是不接受参数 .TP \fB\-\-copy\-contents\fP 递归模式下复制特殊文件的内容 .TP \fB\-d\fP 与 \fB\-\-no\-dereference\fP \fB\-\-preserve\fP=\fI\,links\/\fP 相同 .TP \fB\-f\fP, \fB\-\-force\fP 如果有一个已存在且无法打开的目标文件,删除之并进行重试(该选项在 \fB\-n\fP 选项同时被使用时无效) .TP \fBi\fP, \fB\-\-interactive\fP 覆写前进行提示(覆盖先前的 \fB\-n\fP 选项) .TP \fB\-H\fP 跟随源文件命令行中显式给出的符号链接 .TP \fB\-l\fP, \fB\-\-link\fP 使用硬链接取代复制 .TP \fB\-L\fP, \fB\-\-dereference\fP 总是跟随源文件中的符号链接 .TP \fB\-n\fP, \fB\-\-no\-clobber\fP 不要覆写已有的文件(覆盖先前给出的 \fB\-i\fP 选项) .TP \fB\-P\fP, \fB\-\-no\-dereference\fP 永远不要跟随源文件中的符号链接 .TP \fB\-p\fP 与 \fB\-\-preserve\fP=\fI\,mode\/\fP,ownership,timestamps 相同 .TP \fB\-\-preserve\fP[=\fI\,属性列表\/\fP] 保留指定的属性(默认:模式、从属关系、时间戳),如果可能的话还有额外属性:上下文、链接(links)、xattr、all .TP \fB\-\-no\-preserve\fP=\fI\,属性列表\/\fP 不要保留指定的属性 .TP \fB\-\-parents\fP 在目标目录下使用完整的源文件名 .TP \fB\-R\fP, \fB\-r\fP, \fB\-\-recursive\fP 递归地复制文件 .TP \fB\-\-reflink\fP[=\fI\,WHEN\/\fP] 控制克隆/写入时复制(CoW)副本。详情见下文 .TP \fB\-\-remove\-destination\fP 在尝试打开每个已存在的目标文件之前对其进行删除(和 \fB\-\-force\fP 行为相反) .TP \fB\-\-sparse\fP=\fI\,WHEN\/\fP 控制稀疏文件的创建。详情见下文 .TP \fB\-\-strip\-trailing\-slashes\fP 移除每个源文件参数后的任何末尾斜杠 .TP \fB\-s\fP, \fB\-\-symbolic\-link\fP 使用符号链接代替复制 .TP \fB\-S\fP, \fB\-\-suffix\fP=\fI\,后缀名\/\fP 使用给定名称代替常用备份后缀名 .TP \fB\-t\fP, \fB\-\-target\-directory\fP=\fI\,目录\/\fP 将所有源文件参数给出的内容复制到目标目录中 .TP \fB\-T\fP, \fB\-\-no\-target\-directory\fP 将目标文件当作普通文件对待(而不是目录) .TP \fB\-u\fP, \fB\-\-update\fP 仅在源文件比目标文件新,或者目标文件不存在的情况下复制 .TP \fB\-v\fP, \fB\-\-verbose\fP 解释正在发生的情况 .TP \fB\-x\fP, \fB\-\-one\-file\-system\fP 停留在当前文件系统中 .TP \fB\-Z\fP 将目标文件 SELinux 安全上下文设置为默认类型 .TP \fB\-\-context\fP[=\fI\,CTX\/\fP] 类似 \fB\-Z\fP,或者如果给定了上下文(CTX)那么将 SELinux 或者 SMACK 安全上下文设置为给定值 .TP \fB\-\-help\fP 显示此帮助信息并退出 .TP \fB\-\-version\fP 显示版本信息并退出 .PP 默认情况下,程序会使用一种粗糙的启发式算法探测源文件是否是稀疏的,若判定为稀疏,则目标文件也会以稀疏形式创建。这个行为可以通过 \fB\-\-sparse\fP=\fI\,auto\/\fP 指定。若指定 \fB\-\-sparse\fP=\fI\,always\/\fP,将在源文件包含足够多内容为零的字节序列时将其视作稀疏文件。使用 \fB\-\-sparse\fP=\fI\,never\/\fP 以禁止创建稀疏文件。 .PP 当指定了 \fB\-\-reflink\fP[=\fI\,always\/\fP] 时,进行轻量级复制,其中的数据块仅在被修改时进行复制。如果这样的复制失败,或无法实行,或者指定了 \fB\-\-reflink\fP=\fI\,auto\/\fP 时,回退到标准复制。 .PP 备份的后缀为“~”,除非设置了 \fB\-\-suffix\fP 或者 SIMPLE_BACKUP_SUFFIX。版本控制方式可以使用 \fB\-\-backup\fP 选项或者 VERSION_CONTROL 环境变量进行指定。可用的值如下: .TP none, off 永远不制作备份(即使给出了 \fB\-\-backup\fP ) .TP numbered, t 制作编号的备份 .TP existing, nil 如果已编号副本存在则编号,否则采用简单方式 .TP simple, never 总是制作简单备份 .PP 作为一个特例,cp 将在同时给出 force 选项与 backup 选项,并且源文件和目标文件是同一个已存在普通文件的情况下制作备份副本。 .SH 作者 由 Torbjorn Granlund、David MacKenzie 和 Jim Meyering 编写。 .SH 报告错误 GNU coreutils 的在线帮助: .br 请向 报告 cp 的翻译错误。 .SH 版权 Copyright \(co 2017 Free Software Foundation, Inc. License GPLv3+: GNU GPL version 3 or later . .br This is free software: you are free to change and redistribute it. There is NO WARRANTY, to the extent permitted by law. .SH 参见 完整文档请见: .br 或者在本地使用: info \(aq(coreutils) cp invocation\(aq manpages-zh-1.6.3.3/src/man1/cpio.1000066400000000000000000000265011327105066500165440ustar00rootroot00000000000000.TH CPIO 1 \" -*- nroff -*- .SH NAME cpio \- 存取归档包中的文件 .SH 总览 (SYNOPSIS) .B cpio {\-o|\-\-create} [\-0acvABLV] [\-C bytes] [\-H format] [\-M message] [\-O [[user@]host:]archive] [\-F [[user@]host:]archive] [\-\-file=[[user@]host:]archive] [\-\-format=format] [\-\-message=message] [\-\-null] [\-\-reset-access-time] [\-\-verbose] [\-\-dot] [\-\-append] [\-\-block-size=blocks] [\-\-dereference] [\-\-io-size=bytes] [\-\-quiet] [\-\-force\-local] [\-\-help] [\-\-version] < name-list [> archive] .B cpio {\-i|\-\-extract} [\-bcdfmnrtsuvBSV] [\-C bytes] [\-E file] [\-H format] [\-M message] [\-R [user][:.][group]] [\-I [[user@]host:]archive] [\-F [[user@]host:]archive] [\-\-file=[[user@]host:]archive] [\-\-make-directories] [\-\-nonmatching] [\-\-preserve-modification-time] [\-\-numeric-uid-gid] [\-\-rename] [\-\-list] [\-\-swap-bytes] [\-\-swap] [\-\-dot] [\-\-unconditional] [\-\-verbose] [\-\-block-size=blocks] [\-\-swap-halfwords] [\-\-io-size=bytes] [\-\-pattern-file=file] [\-\-format=format] [\-\-owner=[user][:.][group]] [\-\-no-preserve-owner] [\-\-message=message] [\-\-force\-local] [\-\-no\-absolute\-filenames] [\-\-sparse] [\-\-only\-verify\-crc] [\-\-quiet] [\-\-help] [\-\-version] [pattern...] [< archive] .B cpio {\-p|\-\-pass-through} [\-0adlmuvLV] [\-R [user][:.][group]] [\-\-null] [\-\-reset-access-time] [\-\-make-directories] [\-\-link] [\-\-quiet] [\-\-preserve-modification-time] [\-\-unconditional] [\-\-verbose] [\-\-dot] [\-\-dereference] [\-\-owner=[user][:.][group]] [\-\-no-preserve-owner] [\-\-sparse] [\-\-help] [\-\-version] destination-directory < name-list .SH 描述 (DESCRIPTION) 本手册页 描述 GNU 版本 的 .BR cpio . .B cpio 可以 从 cpio 或 tar 格式 的 归档包(archive) 中 读写 文件, 归档包 是 一种文件, 它 由 归档文件 及其 相关信息 组成, 例如 文件名, 属主, 时标 (timestamp), 和 访问权限. 归档包 可以 是 磁盘上的 文件, 也可以 是 磁带或管道. .B cpio 有 三种 操作模式. .PP 在 copy-out 模式中, .B cpio 把 文件 复制到 归档包 中. 它 从 标准输入 读取 文件名列表, 每行一个文件名. 生成的 归档包 写到 标准输出. 产生 文件名列表 的 典型方法 是 使用 .B find 命令; 你 可能 要在 .B find 后面 用上 \-depth 选项, 减少 因为 进入 没有 访问权限 的 目录 引起 的 麻烦. .PP 在 copy-in 模式中, .B cpio 从 归档包 读取 文件, 或者 列出 归档包 的 内容, 归档包 来自 标准输入. 任何 非选项 命令行参数 被视为 shell 的 通配符模式串 (globbing pattern); 在 归档包 中, 只 读取 文件名 匹配 这些 模式串 的 文件. 和 shell 环境 不一样, 文件名 起始处 的 '.' 可以 匹配 模式串 起始处 的 通配符, 文件名中 的 '/' 也可以 匹配 通配符. 如果 没有 给出 模式串, 那么 读取 所有 文件. .PP 在 copy-pass 模式中, .B cpio 把 文件 从 一棵目录树 复制到 另一棵, 它 结合了 copy-in 和 copy-out 的 操作, 但是 没有 使用 归档包. .B cpio 从 标准输入 读取 欲复制的 文件名列表; 目标目录 是 非选项命令行参数. .PP .B cpio 支持 下列的 归档 格式: binary, old ASCII, new ASCII, crc, HPUX binary, HPUX old ASCII, old tar, 和 POSIX.1 tar. "binary" 格式 是 过时 格式, 因为 它 保存 文件信息 的 方法 无法 应用在 不同体系 的 机器 上. "old ASCII" 格式 可以 跨平台 使用, 但是 不能 用于 超过 65536 个 i 节点 的 文件系统 中. "new ASCII" 格式 可以 跨平台 使用, 也 适用于 任意大小 的 文件系统 上, 但 不是 所有 版本 的 .BR cpio 都 支持, 目前 只有 GNU 和 System VR4 的 cpio 能够 支持 "new ASCII" 格式. "crc" 格式 类似于 "new ASCII" 格式, 而且 对每个 文件 计算 校验和; .B cpio 在 创建 归档包 时 计算 校验和, 解开 文件 时 进行 校验. "HPUX" 格式 用于 兼容 HP UNIX 的 cpio, 它 用了 独特的方法 保存 设备文件. .PP "tar" 格式 用以 兼容 .B tar 程序. 它 不能 对 文件名 超过 100 个 字符 的 文件 归档, 也 不能 对 特殊文件 (块设备 或 字符设备) 归档. "POSIX.1 tar" 格式 不能 对 文件名 超过 255 个 字符 的 文件 归档 (小于 255, 除非 文件名 的 最右边 有一个 "/"). .PP 缺省情况下, .B cpio 为了 兼容 老式的 .B cpio 程序, 创建 "binary" 格式 的 归档包. 当展开 归档包 时, .B cpio 能够 自动识别 归档包 的 格式, 而且 能够 读取 不同 字节顺序 的 机器 上 创建 的 归档包. .PP .B cpio 的 某些 选项 只能 用在 相应的 操作模式 上; 参见 总览 小节, 里面 列出了 什么模式 可以用 什么选项. .SS 选项 (OPTIONS) .TP .I "\-0, \-\-null" 在 copy-out 和 copy-pass 模式中, 认为 输入的 文件名 以 null 字符 结尾, 而不是 换行符, 这样 即使 文件名 中 包含 换行符, 也 不影响 归档. GNU .B find 是 生成 null 结尾 文件名 列表 的 方法 之一. .TP .I "\-a, \-\-reset-access-time" 读取完 文件 后 重置 文件的访问时间, 这样 看上去 就象 没有 访问 过 这个 文件. .TP .I "\-A, \-\-append" 添加到 现存的 归档包 中. 仅用于 copy-out 模式. 该 归档包 必须是 用 .I \-O 或 .I "\-F (\-\-file)" 选项 生成的 磁盘文件. .TP .I "\-b, \-\-swap" 在 copy-in 模式中, 颠倒 数据中 字 的 字节 顺序. 相当于 .IR "\-sS" . 使用 这个 选项 可以 在 大端数 和 小端数 机器 之间 转换 32 位 整数. .TP .I "\-B" 把 I/O 块 大小 设置成 5120 字节. 最初的 块大小 是 512 字节. .TP .I "\-\-block-size=BLOCK-SIZE" 设置 I/O 块 大小 为 BLOCK-SIZE * 512 字节. .TP .I "\-c" 使用 老式的 跨平台 (ASCII) 归档 格式. .TP .I "\-C IO-SIZE, \-\-io-size=IO-SIZE" 设置 I/O 块 大小 为 IO-SIZE 字节. .TP .I "\-d, \-\-make-directories" 在 需要的地方 创建 起始目录. .TP .I "\-E FILE, \-\-pattern-file=FILE" 在 copy-in 模式中, 从 FILE 里 读取 用于 匹配 文件名 的 模式串. FILE 的 内容 如同 .BR cpio 的 非选项 参数. .TP .I "\-f, \-\-nonmatching" 只复制 那些 不匹配 给定的 模式串 的 文件. .TP .I "\-F, \-\-file=archive" 使用 归档包文件, 而不是 标准输入或输出. 如果 把 其他 机器上 的 磁带机 作成 归档包文件, 文件名 要用 "HOSTNAME:" 开始. 主机名 前面 可以 加上 用户名 和 一个 '@', 作为 访问 远程 磁带机 的 用户 (如果 你有 这样的 权限, 一般 在 用户的 ~/.rhosts 文件中 会有 这么 一项). .TP .I "\-\-force-local" 和 .IR \-F , .IR \-I , 或 .IR \-O , 一起用, 可以 把 归档包文件 看作 本地文件, 即使 文件名 中 含有 冒号, 一般说来 冒号 指出 一个 远程主机 的 存在. .TP .I "\-H FORMAT, \-\-format=FORMAT" 使用 归档格式 FORMAT. 有效 的 格式 列在 下面, 大小写 均可. "copy-in" 模式 的 缺省动作 是 自动检测 归档格式, "copy-out" 的 缺省格式 是 "bin". .RS .IP bin 老式的 binary 格式. .IP odc 老式的 (POSIX.1) 跨平台 格式. .IP newc 新型 (SVR4) 跨平台 格式, 支持 大于 65536 i节点 的 文件系统. .IP crc 新型 (SVR4) 跨平台 格式, 并且 计算 校验和. .IP tar 老式的 tar 格式. .IP ustar POSIX.1 tar 格式, 也能 识别 GNU .B tar 归档文件, 它们 相似 但不全相同. .IP hpbin HP UNIX 上的 cpio 使用的 老式的 binary 格式. (用 独特的方法 储存 设备文件) .IP hpodc HP UNIX 上的 cpio 使用的 跨平台 格式. (用 独特的方法 储存 设备文件) .RE .TP .I "\-i, \-\-extract" 进入 copy-in 模式. .TP .I "\-I archive" 使用 归档包文件, 而不是 标准输入. 如果 把 其他 机器上 的 磁带机 作成 归档包文件, 文件名 要用 "HOSTNAME:" 开始. 主机名 前面 可以 加上 用户名 和 一个 '@', 作为 访问 远程 磁带机 的 用户 (如果 你有 这样的 权限, 一般 在 用户的 ~/.rhosts 文件中 会有 这么 一项). .TP .I \-k 无效操作; 只是 用来 兼容 其他 版本 的 .BR cpio . .TP .I "\-l, \-\-link" 如果有可能, 连接 文件, 而不是 复制. .TP .I "\-L, \-\-dereference" 解除 符号连接 的 关联 (复制 符号连接 指向的 文件, 而不是 连接 本身). .TP .I "\-m, \-\-preserve-modification-time" 当 创建 文件 时, 保留 以前的 文件修改时间. .TP .I "\-M MESSAGE, \-\-message=MESSAGE" 当 备份 媒体 (例如 磁带或软盘) 到达 卷尾时, 显示 一条 消息, 提醒 用户 插入 下一卷. 如果 MESSAGE 包含 字符串 "%d", 它 替换成 当前 卷号 (从 1 开始). .TP .I "\-n, \-\-numeric-uid-gid" 以 繁琐模式 (verbose) 显示 内容 时, 用 数字 显示 UID 和 GID, 而 不是 名称. .TP .I " \-\-no-absolute-filenames" 在 copy-in 模式中, 在 当前目录中 创建 所有 相关 文件, 即使 它们 在 归档包中 有 绝对路径名. .TP .I " \-\-no-preserve-owner" 在 copy-in 和 copy-pass 模式中, 不改变 文件 的 属主关系 (译注: 疑为不保留); 使 它们 属于 展开 它们 的 用户. 这是 普通用户 的 缺省行为, 因此 System V 的 用户 不致于 无意中 把 文件 送人. .TP .I "\-o, \-\-create" 进入 copy-out 模式. .TP .I "\-O archive" 使用 归档包文件, 而不是 标准输出. 如果 把 其他 机器上 的 磁带机 作成 归档包文件, 文件名 要用 "HOSTNAME:" 开始. 主机名 前面 可以 加上 用户名 和 一个 '@', 作为 访问 远程 磁带机 的 用户 (如果 你有 这样的 权限, 一般 在 用户的 ~/.rhosts 文件中 会有 这么 一项). .TP .I " \-\-only-verify-crc" 当以 copy-in 模式 读入 CRC 格式 的 归档包 时, 不展开 里面的文件, 只是 测试 文件的 CRC 码. .TP .I "\-p, \-\-pass-through" 进入 copy-pass 模式. .TP .I "\-\-quiet" 不显示 复制的 块数. .TP .I "\-r, \-\-rename" 交互式 文件 改名. .TP .I "\-R [user][:.][group], \-\-owner [user][:.][group]" 在 copy-out 和 copy-pass 模式中, 把 所有文件 的 属主 设置为 指定的 用户 和/或 用户组. 无论 用户 还是 用户组 都必须 存在. 如果 省略 用户组, 但却 给出了 分隔符 ":" 或 ".', 则 使用 该 用户 的 登录用户组. 只有 超级用户 能够 改变 文件的属主. .TP .I "\-\-sparse" 在 copy-out 和 copy-pass 模式中, 把 大块 数据0 的 文件 写成 稀疏文件 (sparse file). .TP .I "\-s, \-\-swap-bytes" 在 copy-in 模式中, 交换 文件中 每一个 半字(字节对) 中的 字节. .TP .I "\-S, \-\-swap-halfwords" 在 copy-in 模式中, 交换 文件中 每一个 字(4字节) 中的 半字. .TP .I "\-t, \-\-list" 显示 输入(归档包) 的 内容. .TP .I "\-u, \-\-unconditional" 替换 所有 文件, 不再提问 是否 用 旧文件 替换 已经存在的 新文件. .TP .I "\-v, \-\-verbose" 列出 处理的文件, 加上 .IR \-t 选项 可以 列出 一个 'ls \-l' 风格的列表. 在一个 归档包 的 内容 详细列表 (verbose) 中, 如果 本地系统 不存在 归档文件的 用户和用户组 名称, 就用 其数字 UID和GID 对应于 本地系统的 用户和用户组 名称 代替. .TP .I "\-V \-\-dot" 每处理一个文件, 显示一个 ".". .TP .I "\-\-version" 显示 .B cpio 程序 的 版本号, 然后退出. .SH "[中文版维护人]" .B 徐明 .SH "[中文版最新更新]" .BR 2001/09/25 .SH "《中国Linux论坛man手册页翻译计划》" .B http://cmpp.linuxforum.net manpages-zh-1.6.3.3/src/man1/createdb.1000066400000000000000000000074101327105066500173610ustar00rootroot00000000000000.TH "CREATEDB" "1" "2003-11-02" "Application" "PostgreSQL Client Applications" .SH NAME createdb \- 创建一个新的 PostgreSQL 数据库 .SH SYNOPSIS .sp \fBcreatedb\fR\fR [ \fR\fB\fIoption\fB\fR...\fB \fR\fR]\fR\fR [ \fR\fB\fIdbname\fB \fR\fR]\fR\fR [ \fR\fB\fIdescription\fB \fR\fR]\fR .SH "DESCRIPTION 描述" .PP \fBcreatedb\fR 创建一个新的 PostgreSQL 数据库。 .PP 通常,执行这个命令的数据库用户成为新数据库的所有者。 不过,如果执行用户拥有合适的权限,那么他可以通过 \fB\-O\fP 指定合适的用户。 .PP \fBcreatedb\fR 是一个 SQL 命令 CREATE DATABASE [\fBcreate_database\fR(7)] 的封装。 因此,用哪种方法创建数据库都没什么特别的。 .SH "OPTIONS 选项" .PP \fBcreatedb\fR 接受下列命令行参数: .TP \fB\fIdbname\fB\fR 声明要创建的数据库名。该名称应该在本节点的 PostgreSQL 所有数据库里面是唯一的。 缺省是与当前系统用户同名。 .TP \fB\fIdescription\fB\fR 这个选项声明一个与新创建的数据库相关的注解。 .TP \fB-D \fIlocation\fB\fR .TP \fB--location \fIlocation\fB\fR 声明变更了的数据库集群(节点)的位置。 又见 \fBinitlocation\fR(1). .TP \fB-e\fR .TP \fB--echo\fR 回显 createdb 生成的命令并且把它发送到服务器。 .TP \fB-E \fIencoding\fB\fR .TP \fB--encoding \fIencoding\fB\fR 声明用于此数据库的字符编码方式。 .TP \fB-O \fIowner\fB\fR .TP \fB--owner \fIowner\fB\fR 指定将拥有新数据库的数据库用户。 .TP \fB-q\fR .TP \fB--quiet\fR 不显示响应。 .TP \fB-T \fItemplate\fB\fR .TP \fB--template \fItemplate\fB\fR 声明创建此数据库的模板数据库。 .PP .PP 选项 -h,-p,-U, -W,-e 是以文本形式传递给 psql。 选项\fB-O\fR,\fB-D\fR,\fB-T\fR 和 \fB-E\fR 转换为下层的 SQL 命令 CREATE DATABASE [\fBcreate_database\fR(7)] 的选项;参考该条目获取更多相关信息。 .PP \fBcreatedb\fR 还接受下列命令行参数作为连接参数: .TP \fB-h \fIhost\fB\fR .TP \fB--host \fIhost\fB\fR 声明运行服务器的主机名。 如果数值以斜扛开头,则它被用做到 Unix 域套接字的路径。 .TP \fB-p \fIport\fB\fR .TP \fB--port \fIport\fB\fR 声明服务器 侦听的等待连接的互联网 TCP 端口或一个本地 Unix 域套接字文件扩展(描述符)。 .TP \fB-U \fIusername\fB\fR .TP \fB--username \fIusername\fB\fR 进行联接的用户名。 .TP \fB-W\fR .TP \fB--password\fR 强制口令提示符。 .PP .SH "ENVIRONMENT 环境" .TP \fBPGDATABASE\fR 如果设置了,那么就是要创建的数据库名字,除非在命令行上覆盖了。 .TP \fBPGHOST\fR .TP \fBPGPORT\fR .TP \fBPGUSER\fR 缺省连接参数。PGUSER 还决定了要创建的数据库名字-- 如果我们没有在命令行上声明数据库名字,也没有用 \fBPGDATABASE\fR 声明的话。 .SH "DIAGNOSTICS 诊断" .PP 如果出现错误,将会显示后端错误信息。参阅 CREATE DATABASE [\fBcreate_database\fR(7)] 和 \fBpsql\fR(1) 获取可能信息描述。 数据库服务器必须在目标服务器上运行。同样,前端库 libpq 使用的缺省连接设置和环境变量都将适用。 .SH "EXAMPLES 例子" .PP 用缺省数据库服务器创建一个数据库 demo: .sp .nf $ \fBcreatedb demo\fR CREATE DATABASE .sp .fi 响应信息与运行 CREATE DATABASE SQL 命令时一样。 .PP 用在主机eden上的服务器创建数据库 demo, 端口是 5000,使用 LATIN1 编码方式,并且显示执行的命令: .sp .nf $ \fBcreatedb -p 5000 -h eden -E LATIN1 -e demo\fR CREATE DATABASE "demo" WITH ENCODING = 'LATIN1' CREATE DATABASE .sp .fi .SH "SEE ALSO 参见" \fBdropdb\fR(1), CREATE DATABASE [\fBcreate_database\fR(7)] .SH "译者" .B Postgresql 中文网站 .B 何伟平 manpages-zh-1.6.3.3/src/man1/createlang.1000066400000000000000000000053511327105066500177170ustar00rootroot00000000000000.TH "CREATELANG" "1" "2003-11-02" "Application" "PostgreSQL Client Applications" .SH NAME createlang \- 定义一种新的 PostgreSQL 过程语言 .SH SYNOPSIS .sp \fBcreatelang\fR\fR [ \fR\fB\fIconnection-option\fB\fR...\fB \fR\fR]\fR \fB\fIlangname\fB\fR\fR [ \fR\fB\fIdbname\fB \fR\fR]\fR \fBcreatelang\fR\fR [ \fR\fB\fIconnection-option\fB\fR...\fB \fR\fR]\fR \fR\fR \fB--list\fR\fR | \fR\fB-l\fR\fR\fR \fB\fIdbname\fB\fR .SH "DESCRIPTION 描述" .PP \fBcreatelang\fR 是一个用于向 PostgreSQL 数据库增加新的编程语言的工具。 createlang 可以处理所有 PostgreSQL 版本缺省就提供的语言,但是不能处理其它方面提供的语言。 .PP 尽管可以用 SQL 命令直接增加后端编程语言,我们还是推荐使用 createlang, 因为它进行了一些检查而且更容易使用。参阅 CREATE LANGUAGE [\fBcreate_language\fR(7)] 获取更多信息。 .SH "OPTIONS 选项" .PP \fBcreatelang\fR 接受下列命令行参数: .TP \fB\fIlangname\fB\fR 声明要被定义的过程编程语言的名称。 .TP \fB[-d] \fIdbname\fB\fR .TP \fB[--dbname] \fIdbname\fB\fR 声明要向哪个数据库增加该语言。 缺省是使用和当前系统用户同名地数据库。 .TP \fB-e\fR .TP \fB--echo\fR 执行的时候显示所执行的 SQL 命令。 .TP \fB-l\fR .TP \fB--list\fR 显示一个在目标数据库里已经安装的语言的列表。 .TP \fB-L \fIdirectory\fB\fR 声明该语言的解释器所在的目录。 这个目录通常是自动发现的。这个选项主要用于调试。 .PP .PP \fBcreatelang\fR 还接受下列命令行参数作为联接参数: .TP \fB-h \fIhost\fB\fR .TP \fB--host \fIhost\fB\fR 声明运行服务器的机器的主机名。 如果数值以斜扛开头,则它被用做到 Unix 域套接字的路径。 .TP \fB-p \fIport\fB\fR .TP \fB--port \fIport\fB\fR 声明服务器侦听着等待连接的互联网 TCP 端口或一个本地 Unix 域套接字文件扩展(描述符)。 .TP \fB-U \fIusername\fB\fR .TP \fB--username \fIusername\fB\fR 进行联接的用户名。 .TP \fB-W\fR .TP \fB--password\fR 强制口令提示符。 .PP .SH "ENVIRONMENT 环境" .TP \fBPGDATABASE\fR .TP \fBPGHOST\fR .TP \fBPGPORT\fR .TP \fBPGUSER\fR 缺省连接参数。 .SH "DIAGNOSTICS 诊断" .PP 多数错误信息是自解释的。如果没有,带着 \fB--echo\fR 参数运行 \fBcreatelang\fR 然后在相应的SQL命令下面检查细节。 .SH "NOTES 注意" .PP 使用 \fBdroplang\fR(1) 删除一种语言。 .SH "EXAMPLES 例子" .PP 把 pltcl 语言安装到数据库 template1里: .sp .nf $ \fBcreatelang pltcl template1\fR .sp .fi .SH "SEE ALSO 参见" \fBdroplang\fR(1), CREATE LANGUAGE [\fBcreate_language\fR(7)] .SH "译者" .B Postgresql 中文网站 .B 何伟平 manpages-zh-1.6.3.3/src/man1/createuser.1000066400000000000000000000100301327105066500177420ustar00rootroot00000000000000.TH "CREATEUSER" "1" "2003-11-02" "Application" "PostgreSQL Client Applications" .SH NAME createuser \- 定义一个新的 PostgreSQL 用户帐户 .SH SYNOPSIS .sp \fBcreateuser\fR\fR [ \fR\fB\fIoption\fB\fR...\fB \fR\fR]\fR\fR [ \fR\fB\fIusername\fB \fR\fR]\fR .SH "DESCRIPTION 描述" .PP \fBcreateuser\fR 创建一个新的 PostgreSQL 用户。只有超级用户(在 pg_shadow 表中设置了 usesuper 的用户)可以创建新的 PostgreSQL 用户。 因此, createuser 必须由某位可以以 PostgreSQL 超级用户连接的用户执行。 .PP 作为超级用户同时也意味着绕开数据库内访问检查的能力, 因此我们应该少赋予超级用户权限。 .PP \fBcreateuser\fR 是 SQL 命令 CREATE USER [\fBcreate_user\fR(7)] 的封装。 因此,用那种方法创建新用户都没什么特别的。 .SH "OPTIONS 选项" .PP \fBcreateuser\fR 接受下列命令行参数: .TP \fB\fIusername\fB\fR 声明要创建的 PostgreSQL 用户名称。 该名称必须在所有 PostgreSQL 用户中唯一。 .TP \fB-a\fR .TP \fB--adduser\fR 允许该新建用户创建其他用户。(注意: 实际上这样做相当于把这个新用户变成了 superuser,只不过这个选项命名得比较烂。) .TP \fB-A\fR .TP \fB--no-adduser\fR 不允许该新建用户创建其他用户。 (也就是说,该用户是一个普通用户,不是超级用户)。 .TP \fB-d\fR .TP \fB--createdb\fR 允许该新建用户创建数据库。 .TP \fB-D\fR .TP \fB--no-createdb\fR 禁止该新建用户创建数据库。 .TP \fB-e\fR .TP \fB--echo\fR 回显 createuser 生成的命令并发送给服务器。 .TP \fB-E\fR .TP \fB--encrypted\fR 对保存在数据库里的用户口令加密。如果没有声明, 则使用缺省值。 .TP \fB-i \fInumber\fB\fR .TP \fB--sysid \fInumber\fB\fR 允许你给新用户使用非缺省用户标识。这个也不是必须的,但是有些人喜欢这样。 .TP \fB-N\fR .TP \fB--unencrypted\fR 不对保存在数据库里的用户口令加密。如果没有声明, 则使用缺省值, .TP \fB-P\fR .TP \fB--pwprompt\fR 如果给出,createuser 将发出一个提示符要求输入新用户的口令。 如果你不打算用口令认证,那么这是不必要的。 .TP \fB-q\fR .TP \fB--quiet\fR 不显示响应。 .PP .PP 如果没有在命令行上声明名称和其他的一些缺少的信息,脚本会提示你输入。 .PP \fBcreateuser\fR 还接受下列命令行参数用作连接参数: .TP \fB-h \fIhost\fB\fR .TP \fB--host \fIhost\fB\fR 声明运行服务器的机器的主机名。 如果数值以斜扛开头,则它被用做到 Unix 域套接字的路径。 .TP \fB-p \fIport\fB\fR .TP \fB--port \fIport\fB\fR 声明服务器 正在侦听的互联网 TCP 端口号或本地Unix域套接字的文件扩展(描述符)。 .TP \fB-U \fIusername\fB\fR .TP \fB--username \fIusername\fB\fR 连接的用户名(不是要创建的用户名)。 .TP \fB-W\fR .TP \fB--password\fR 强制口令提示(与服务器连接的口令,不是新用户的口令。) .PP .SH "ENVIRONMENT 环境" .TP \fBPGHOST\fR .TP \fBPGPORT\fR .TP \fBPGUSER\fR 缺省连接参数。 .SH "DIAGNOSTICS 诊断" .PP 如果出现错误,将会显示后端错误信息。参阅 CREATE USER [\fBcreate_user\fR(7)] 和 \fBpsql\fR(1) 获取可能信息描述。数据库服务器必须在目标主机上运行。 同样,任何 libpq 前端库使用的缺省连接设置和环境变量都将适用。 .SH "EXAMPLES 例子" .PP 在缺省数据库服务器上创建一个用户 joe: .sp .nf $ \fBcreateuser joe\fR Is the new user allowed to create databases? (y/n) \fBn\fR Shall the new user be allowed to create more new users? (y/n) \fBn\fR CREATE USER .sp .fi .PP 用在主机eden上的服务器创建用户 joe,端口是 5000,避免提示并且显示执行的命令: .sp .nf $ \fBcreateuser -p 5000 -h eden -D -A -e joe\fR CREATE USER "joe" NOCREATEDB NOCREATEUSER CREATE USER .sp .fi .SH "SEE ALSO 参见" \fBdropuser\fR(1), CREATE USER [\fBcreate_user\fR(7)] .SH "译者" .B Postgresql 中文网站 .B 何伟平 manpages-zh-1.6.3.3/src/man1/cut.1000066400000000000000000000043701327105066500164050ustar00rootroot00000000000000.TH CUT "1" "December 1999" "GNU textutils 2.0a" FSF .SH NAME cut \- 在文件的每一行中提取片断 .SH "总览 (SYNOPSIS)" .B ../src/cut [\fIOPTION\fR]... [\fIFILE\fR]... .SH "描述 (DESCRIPTION)" .\" Add any additional description here .PP 在 每个文件 FILE 的 各行 中, 把 提取的 片断 显示在 标准输出. .TP \fB\-b\fR, \fB\-\-bytes\fR=\fILIST\fR 输出 这些 字节 .TP \fB\-c\fR, \fB\-\-characters\fR=\fILIST\fR 输出 这些 字符 .TP \fB\-d\fR, \fB\-\-delimiter\fR=\fIDELIM\fR 使用 DELIM 取代 TAB 做 字段(field) 分隔符 .TP \fB\-f\fR, \fB\-\-fields\fR=\fILIST\fR 输出 这些 字段 .TP \fB\-n\fR (忽略) .TP \fB\-s\fR, \fB\-\-only\-delimited\fR 不显示 没有 分隔符 的 行 .TP \fB\-\-output\-delimiter\fR=\fISTRING\fR 使用 STRING 作为 输出分隔符, 缺省 (的 输出分隔符) 为 输入分隔符 .TP \fB\-\-help\fR 显示 帮助信息, 然后 结束 .TP \fB\-\-version\fR 显示 版本信息, 然后 结束 .PP 使用 且 只使用 \fB\-b\fR, \fB\-c\fR 或 \fB\-f\fR 中的 一个 选项. LIST 由 一个 范围 (range) 或 逗号 隔开的 多个 范围 组成. 范围 是 下列 形式 之一: .TP N 第 N 个 字节, 字符 或 字段, 从 1 计数 起 .TP N- 从 第 N 个 字节, 字符 或 字段 直至 行尾 .TP N-M 从 第 N 到 第 M (并包括 第M) 个 字节, 字符 或 字段 .TP \fB\-M\fR 从 第 1 到 第 M (并包括 第M) 个 字节, 字符 或 字段 .PP 如果 没有 指定 文件 FILE, 或 FILE 是 -, 就从 标准输入 读取 数据. .SH "作者 (AUTHOR)" David Ihnat, David MacKenzie, 和 Jim Meyering. .SH "报告 BUGS" 发现的 bug 送往 . .SH "版权 (COPYRIGHT)" Copyright \(co 1999 Free Software Foundation, Inc. .br This is free software; see the source for copying conditions. There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. .SH "另见 (SEE ALSO)" .B cut 的 完整文档 以 Texinfo 手册 的 格式 维护. 如果 正确 安装了 .B info 和 .B cut 程序, 使用 命令 .IP .B info cut .PP 能够 访问到 完整 的 手册. .SH "[中文版维护人]" .B 徐明 .SH "[中文版最新更新]" .BR 2001/12/11 第一版 .SH "《中国Linux论坛man手册页翻译计划》:" .BI http://cmpp.linuxforum.net manpages-zh-1.6.3.3/src/man1/date.1000066400000000000000000000101231327105066500165200ustar00rootroot00000000000000.TH DATE "1" "August 1999" "GNU sh-utils 2.0" FSF .SH NAME date \- 打印或设置系统日期和时间 .SH 总览 .B date [\fI选项\fR]... [\fI+格式\fR] .br .B date [\fI选项\fR] [\fIMMDDhhmm\fR[[\fICC\fR]\fIYY\fR][\fI.ss\fR]] .SH 描述 .PP .\" Add any additional description here .PP 根据指定格式显示当前时间或设置系统时间. .TP \fB\-d\fR, \fB\-\-date\fR=\fISTRING\fR 显示由 STRING 指定的时间, 而不是当前时间 .TP \fB\-f\fR, \fB\-\-file\fR=\fIDATEFILE\fR 显示 DATEFILE 中每一行指定的时间, 如同将 DATEFILE 中的每行作为 \fB\-\-date\fR 的参数一样 .IP \fB\-I\fR, \fB\-\-iso\-8601\fR[=\fITIMESPEC\fR] 按照 ISO-8601 的日期/时间格式输出时间. .IP TIMESPEC=`date' (或者不指定时)仅输出日期,等于 `hours', `minutes', 或`seconds' 时按照指定精度输出日期及时间. .TP \fB\-r\fR, \fB\-\-reference\fR=\fIFILE\fR 显示 FILE 的最后修改时间 .TP \fB\-R\fR, \fB\-\-rfc\-822\fR 根据 RFC-822 指定格式输出日期 .TP \fB\-s\fR, \fB\-\-set\fR=\fISTRING\fR 根据 STRING 设置时间 .TP \fB\-u\fR, \fB\-\-utc\fR, \fB\-\-universal\fR 显示或设置全球时间(格林威治时间) .TP \fB\-\-help\fR 显示本帮助文件并退出 .TP \fB\-\-version\fR 显示版本信息并退出 .PP 格式 FORMAT 控制着输出格式. 仅当选项指定为全球时间时本格式才有效。 分别解释如下: .TP %% 文本的 % .TP %a 当前区域的星期几的简写 (Sun..Sat) .TP %A 当前区域的星期几的全称 (不同长度) (Sunday..Saturday) .TP %b 当前区域的月份的简写 (Jan..Dec) .TP %B 当前区域的月份的全称(变长) (January..December) .TP %c 当前区域的日期和时间 (Sat Nov 04 12:02:33 EST 1989) .TP %d (月份中的)几号(用两位表示) (01..31) .TP %D 日期(按照 月/日期/年 格式显示) (mm/dd/yy) .TP %e (月份中的)几号(去零表示) ( 1..31) .TP %h 同 %b .TP %H 小时(按 24 小时制显示,用两位表示) (00..23) .TP %I 小时(按 12 小时制显示,用两位表示) (01..12) .TP %j (一年中的)第几天(用三位表示) (001..366) .TP %k 小时(按 24 小时制显示,去零显示) ( 0..23) .TP %l 小时(按 12 小时制显示,去零表示) ( 1..12) .TP %m 月份(用两位表示) (01..12) .TP %M 分钟数(用两位表示) (00..59) .TP %n 换行 .TP %p 当前时间是上午 AM 还是下午 PM .TP %r 时间,按 12 小时制显示 (hh:mm:ss [A/P]M) .TP %s 从 1970年1月1日0点0分0秒到现在历经的秒数 (GNU扩充) .TP %S 秒数(用两位表示)(00..60) .TP %t 水平方向的 tab 制表符 .TP %T 时间,按 24 小时制显示(hh:mm:ss) .TP %U (一年中的)第几个星期,以星期天作为一周的开始(用两位表示) (00..53) .TP %V (一年中的)第几个星期,以星期一作为一周的开始(用两位表示) (01..52) .TP %w 用数字表示星期几 (0..6); 0 代表星期天 .TP %W (一年中的)第几个星期,以星期一作为一周的开始(用两位表示) (00..53) .TP %x 按照 (mm/dd/yy) 格式显示当前日期 .TP %X 按照 (%H:%M:%S) 格式显示当前时间 .TP %y 年的后两位数字 (00..99) .TP %Y 年(用 4 位表示) (1970...) .TP %z 按照 RFC-822 中指定的数字时区显示(如, -0500) (为非标准扩充) .TP %Z 时区(例如, EDT (美国东部时区)), 如果不能决定是哪个时区则为空 .PP 默认情况下,用 0 填充数据的空缺部分. GNU 的 date 命令能分辨在 `%'和数字指示之间的以下修改. .IP `-' (连接号) 不进行填充 `_' (下划线) 用空格进行填充 .SH "BUG报告" 请向报告BUG. .SH "参考" 关于 .B date 的详细说明是个 Texinfo 手册. 如果在你的计算机上已经成功安装了 .B info 和 .B date 程序,你可以使用 .IP .B info date .PP 命令访问完全手册. .SH 版权 Copyright \(co 1999 Free Software Foundation, Inc. This is free software; see the source for copying conditions. There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. .SH "[中文版维护人]" .B liguoping .SH "[中文版最新更新]" .B 2001/07/15 .SH "《中国linux论坛man手册页翻译计划》:" .BI http://cmpp.linuxforum.net manpages-zh-1.6.3.3/src/man1/dd.1000066400000000000000000000130571327105066500162030ustar00rootroot00000000000000.\" 版权所有 Andries Brouwer, Ragnar Hojlond Espinosa和A Wik 1998. .\" 中文版版权所有 astonia,BitBIRD, www.linuxforum.net 2000 .\" 本文件可以在LDP GENERAL licence 1998年第一版所述条件下拷贝, .\" 并且该许可可同本文件一起分发。 .\" .TH DD 1 "November 1998" "GNU fileutils 4.0" .SH NAME dd \- 转换和拷贝文件 .SH 摘要 .B dd .B [\-\-help] [\-\-version] .BI [if= file ] .BI [of= file ] .BI [ibs= bytes ] .BI [obs= bytes ] .BI [bs= bytes ] .BI [cbs= bytes ] .BI [skip= blocks ] .BI [seek= blocks ] .BI [count= blocks ] .B "[conv={ascii, ebcdic, ibm, block, unblock, lcase, ucase, swab, noerror, notrunc, sync}]" .SH 描述 当进行非强制的转换的时候,使用指定的输入和输出块大小拷贝文件 (默认是从标准输入到标准输出。) .PP 它每次从输入读取指定大小的一个块(默认是512字节)。 如果使用 .BI bs= bytes 选项,并且没有转换,除了指定 .BR sync ", " noerror ", 或 " notrunc 之外, 那么dd将把全部读到的数据(可以比请求读的少) 写到独立的输出块去。 这个输出块的长度和读到的数据 完全一样,除非指定使用 .B sync(同步) 转换,那样的话,数据结尾处将追加NUL字符(或空格,见下)。 .PP 其他情况下,输入的时候每次读一个块,然后处理,并将 输出结果收集起来,最后写到指定大小的数据块中去。最 终的输出块可能会比指定的大小短一些。 .PP 数字值选项(以字节或块为单位)后面可以跟一个乘数: k=1024,b=512,w=2,c=1(w和c是GNU扩展语法。最好别 使用w,因为在system V中,它表示2,在4.2 BSD中,它 表示4)。两个或更多的数值表达式可以通过\(lqx\(rq乘起来。 GEU fileutils 4.0并且允许在数据块大小的叙述中使用 下列乘法后缀(用bs=,cbs=,obs=):M=1048576,G=1073741824, 同理可得T,P,E,Z,Y。D后缀表示数值是以 十进制表示的:kD=1000 MD=1000000 GD=1000000000等等。 (注意,在ls、df、du命令中,M等标记的大小是由环境 变量确定的,而在DD中,它的值是固定的。) .SH 选项 .TP .BI "if=" file 从 .I file 中读而不是标准输入。 .TP .BI "of=" file 写到 .I file 里去而不是标准输出。除非指定 .B conv=notrunc ,否则, .B dd 将把 .I file 截为O字节(或由 .BR seek= 选项指定的大小) .TP .BI "ibs=" bytes 一次读 .I bytes 字节。默认是512。 .TP .BI "obs=" bytes 一次写 .I bytes 字节。默认是512。 .TP .BI "bs=" bytes 一次读和写 .I bytes 字节。这将覆盖 .B ibs 和 .BR obs 设定的值(并且,设定 .B bs 不等于同时将 .B ibs 和 .B obs 设为同一个值,至少在 只使用 .BR sync , .B noerror 或 .B notrunc 转换时是这样的。因为bs规定,每个输入块都应作为单独 的数据块拷贝到输出,而不把较短的块组合到一起)。 .TP .BI "cbs=" bytes 为 .B block 转换和 .BR unblock 转换指定转换块的大小。 .TP .BI "skip=" blocks 在拷贝之前,跳过输入文件的前 .I blocks 块,每块大小为 .BR ibs \-byte 字节。 .TP .BI "seek=" blocks 在拷贝之前,跳过输出文件的前 .I blocks 块,每块大小为 .BR obs \-byte 字节。 .TP .BI "count=" blocks 只拷贝输入文件的前 .I blocks 块(每块的大小为 .BR ibs \-byte 字节),而不是全部内容,直到文件末尾。 .TP .BI "conv=" 转换"[," 转换"]..." 将文件按 .I 转换 参数指定的方式转换(在\(lq,\(rq两边没有空格)。 .RS .PP 转换方式包括: .PP .TP .B ascii 将EBCDIC转换成ascii。 .TP .B ebcdic 将ascii转换成ebcdic。 .TP .B ibm 将ascii转换成alternative ebcdic。 .TP .B block 每一行输入,无论长短,输出都是 .B cbs 字节,并且其中的\(lq换行\(rq(NEWLINE,即c中的'\n')用 空格替换。如有必要,行尾会填充空格。 .TP .B unblock 用\(lq换行\(rq替换每个输入块( .BR cbs 字节大小)末尾的空格。 .TP .B lcase 将大写字母转换成小写。 .TP .B ucase 将小写字母转换成大写。 .TP .B swab 交换每对输入字节。如果读入的字节数是奇数,最后 一个字节只是简单的复制到输出(因为没有能跟它交换的 字节了)(POSIX 1003.26,PASC翻译1003.2 3号和4号)。 .TP .B noerror 发生读错误时,继续进行。 .TP .B notrunc 不截断输出文件。 .TP .B sync 用0填充到每个输入块的末尾,使其大小为 .B ibs 字节。 .RE .SH "GNU标准选项" .TP .B "\-\-help" 将用法信息打印到标准输出,并成功退出。 .TP .B "\-\-version" 将版本信息打印到标准输出,并成功退出。 .TP .B "\-\-" 结束选项列表。 .SH 环境变量 LANG, LC_ALL, LC_CTYPE和LC_MESSAGES具有其通常含义。 .SH "遵循标准" POSIX 1003.2 .SH 举例 磁带机通常不能接受任意大小的数据块,当最后一个数据片 段不能充满整个块时, .B dd 将出现I/O错误。用'dd if=myfile of=/dev/mytape conv=sync' 就可以使全部内容存到磁带上。当然,这样做,把文件从磁 带上读回时回产生一个稍大些的文件,因为其尾部填充了一 些NUL(空字符)。 .SH 注 本手册页描述了fileutils\-4.0软件包中的 .B dd 命令。其他版 本的dd会与此稍有不同。有关更正和补充可以发帖到中国linux 论坛\-man手册版。报告程序中的错误,请给 fileutils\-bugs2gnu.ai.wit.edu 发邮件。 .SH "[中文版维护人]" .B astonia .SH "[中文版最新更新]" .BR 2000/10/19 .SH "[中国Linux论坛man手册页翻译计划]" .BI http://cmpp.linuxforum.net manpages-zh-1.6.3.3/src/man1/deallocvt.1000066400000000000000000000011711327105066500175630ustar00rootroot00000000000000.TH DEALLOCVT 1 "1997年10月6日" "控制台工具" "Linux用户手册" .SH NAME(名称) deallocvt \- 释放未使用的虚拟终端 .SH SYNOPSIS(总览) .BI "deallocvt [ " "N1 N2" " ... ]" .SH DESCRIPTION(描述) 如果不指定参数, .B deallocvt 程序会释放所有未使用的虚拟终端的核心内存和数据结构. 如果给定了参数 .I Ni 那么就只释放TTY .RI /dev/tty Ni . 如果一个虚拟终端不是前台控制台,而且没有在上面打开进程 执行读或写操作,又没有在该屏幕上选择文本,那么认为该 终端是未使用的. .SH "SEE ALSO"(另见) .BR chvt (1), .BR openvt (1). manpages-zh-1.6.3.3/src/man1/declare.1000066400000000000000000000000241327105066500172010ustar00rootroot00000000000000.so man1/builtins.1 manpages-zh-1.6.3.3/src/man1/df.1000066400000000000000000000055141327105066500162040ustar00rootroot00000000000000.\" Copyright Andries Brouwer, Ragnar Hojland Espinosa and A. Wik, 1998. .\" Copyright 王炎,BitBIRD,Scorpio,www.linuxforum.net 2000. .\" This file may be copied under the conditions described .\" in the LDP GENERAL PUBLIC LICENSE, Version 1, September 1998 .\" that should have been distributed together with this file. .\" .TH DF 1 "November 1998" "GNU fileutils 4.0" .SH NAME df \- 报告文件系统磁盘空间的使用情况 .SH 总览 .BI "df [" OPTION "]... ["FILE]... .sp POSIX 选项: .B [\-kP] .sp GNU 选项 (最短方式): .B [\-ahHiklmPv] .BI "[\-t " fstype ] .BI "[\-x " fstype ] .BI "[\-\-block\-size=" size ] .B [\-\-print\-type] .B [\-\-no\-sync] .B [\-\-sync] .B "[\-\-help] [\-\-version] [\-\-]" .SH 描述 此手册页文档是df的GNU版本. df命令列出指定的每一个文件名所在的文件系统上可用磁盘空间的数量。 如果没有指定文件名,则显示当前所有使用中的文件系统.缺省设置时, 磁盘空间以1K为一块显示,如果环境变量POSIXLY_CORRECT已设 置,则采用512字节为一块显示. 如果参数是一个包含已使用文件系统的磁盘设备名, df命令显示出的是该文件系统的可用空间,而非包含设备结点的文件系 统(只能是根文件系统).此版本的df不能显示未使用文件系统的可用空 间,这是由于大多数系统在响应这样的请求时必须很清楚该文件系统的 结构. .SH GNU 参数说明 .TP .B "\-a, \-\-all" 列出包括BLOCK为0的文件系统 .TP .B "\-\-block\-size=SIZE use SIZE\-byte blocks" 指定块的大小 .TP .B \-h,\--huma\-readable" 用常见的格式显示出大小(例如:1K 234M 2G) .TP .B \-H,\--si" 同上,但是这里的1k等于1000字节而不是1024字节 .TP .B "\-i, \-\-inodes" 用信息索引点代替块表示使用状况 .TP .B "\-k, \-\-kilobytes" 指定块大小等于1024字节来显示使用状况 .TP .B "\-l, \-\-local" 只显示本地文件系统使用状况 .TP .B "\-m, \-\-megabytes" 以指定块大小等于1048576字节(1M)来显示使用状况 .TP .B "\-\-no\-sync" 在取得使用信息前禁止调用同步 (default) .TP .B "\-P, \-\-portability" 使用POSIX格式输出 .TP .B "\-\-sync" 在取得使用信息前调用同步 .TP .B "\-t, \-\-type=TYPE" 只显示指定类型(TYPE)的文件系统 .TP .B "\-T, \-\-print\-type" 输出每个文件系统的类型 .TP .B "\-x, \-\-exclude\-type=TYPE" 只显示指定类型(TYPE)之外的文件系统. .TP .B "\-v" (忽略) .TP .B "\-\-" 输出该命令的帮助信息并退出 .TP .B "\-\-version" 输出版本信息并退出 .SH 作者 由 Torbjorn Granlund, David MacKenzie, Larry McVoy, 和 Paul Eggert 写作. .SH 错误报告 将错误发到 .SH "[中文版维护人]" .B 王炎 .SH "[中文版最新更新]" .BR 2000/10/19 .SH "[中国Linux论坛man手册页翻译计划]" .BI http://cmpp.linuxforum.net manpages-zh-1.6.3.3/src/man1/diff.1000066400000000000000000000227101327105066500165200ustar00rootroot00000000000000.\" Date: Fri, 11 Sep 1998 19:13:45 +0100 .\" From: Edward Betts .\" Chinese Version Copyrighted Scorpino, www.linuxforum.net 2000 .\" Derived from the GNU diff info page. .\" May be distributed under the GPL. .TH DIFF 1 "22sep1993" "GNU Tools" "GNU Tools" .SH NAME diff \- 找出两个文件的不同点 .SH 总览 .B diff [选项] 源文件 目标文件 .SH 描述 在最简单的情况是, .I diff 比较两个文件的内容 .I (源文件 和 .IR 目标文件) . 文件名可以是 .B \- 由标准输入设备读入的文本. 作为特别的情况是, .B "diff \- \-" 比较一份标准输入的它自己的拷贝 如果 .I 源文件 是一个目录和 .I 目标文件 不是(目录), .I diff 会比较在 .I 源文件(目录) 里的文件的中和 .IR 目标文件同名的(文件), 反过来也一样. 非目录文件不能是 .BR \- . 如果 .I 源文件 和 .I 目标文件 都是目录, .I diff 比较两个目录中相应的文件, 依照字母次序排序;这个比较是不会递归的,除非给出 .B \-r 或者 .B \-\-recursive. .I diff 不把一个目录的内容看为它是一个文件来比较。被指定的文件不 能是标准的输入, 因为标准的输入是无名的并且"有一样的名字的文 件"的观点不适用。 .B diff 的选项由 .BR \- , 开始 所以正常地 .I 源文件(名) 和 .I 目标文件(名) 不可以用 .BR \- 开头. 然而, .B \-\- 可以被它视为保留的即使作为文件名的开头( they begin with .BR \- . ) .SS 选项 下面是 GNU所接受的 .I diff 的所有选项的概要. 大多数的选项有两个相同的名字,一个是单个的 跟在 .BR \- 后面字母, 另一个是由 .BR \-\- 引出的长名字. 多个单字母选项(除非它们产生歧义)能够组合为单行的命令行语法 .B \-ac 是等同于 .BR "\-a \-c" . 长命名的选项能被缩短到他们的名字的任何唯一的前缀. 用 .RB ( [ 和 .BR ] ) 括起来显示选项产生歧义的选项 .TP .BI \- 行数(一个整数) 显示上下文 .I 行数 (一个整数). 这个选项自身没有指定输出格式,这是没有效果的,除非和 .B \-c 或者 .BR \-u 组合使用. 这是已废置的选项,对于正确的操作, 上下文至少要有两行。 .TP .B \-a 所有的文件都视为文本文件来逐行比较,甚至他们似乎不是文本文件. .TP .B \-b 忽略空格引起的变化. .TP .B \-B 忽略插入删除空行引起的变化. .TP .B \-\-brief 仅报告文件是否相异,在乎差别的细节. .TP .B \-c 使用上下文输出格式. .TP .BI "\-C " 行数(一个整数) .br .ns .TP .BI \-\-context[= lines ] 使用上下文输出格式,显示以指定 .I 行数 (一个整数), 或者是三行(当 .I 行数 没有给出时. 对于正确的操作, 上下文至少要有两行. .TP .BI \-\-changed\-group\-format= format 使用 .I format 输出一组包含两个文件的不同处的行,其格式是 if\-then\-else . .TP .B \-d 改变算法也许发现变化的一个更小的集合.这会使 .I diff 变慢 (有时更慢). .TP .BI "\-D " name 合并 if\-then\-else 格式输出, 预处理宏(由name参数提供)条件. .TP .B \-e .br .ns .TP .B \-\-ed 输出为一个有效的 .I ed 脚本. .TP .BI \-\-exclude= pattern 比较目录的时候,忽略和目录中与 .IR pattern (样式) 相配的. .TP .BI \-\-exclude\-from= file 比较目录的时候,忽略和目录中与任何包含在 .IR file (文件) 的样式相配的文件和目录. .TP .B \-\-expand\-tabs 在输出时扩展tab为空格,保护输入文件的tab对齐方式 .TP .B \-f 产生一个很象 .I ed 脚本的输出,但是但是在他们在文件出现的顺序有改变 .TP .BI "\-F " regexp 在上下文和统一格式中,对于每一大块的不同,显示出匹配 .IR regexp . 的一些前面的行. .TP .B \-\-forward\-ed 产生象 .B ed 脚本的输出,但是它们在文件出现的顺序有改变。 .TP .B \-h 这选项现在已没作用,它呈现Unix的兼容性. .TP .B \-H 使用启发规则加速操作那些有许多离散的小差异的大文件. .TP .BI \-\-horizon\-lines= lines 比较给定行数的有共同前缀的最后行,和有共同或缀的最前行. .TP .B \-i 忽略大小写. .TP .BI "\-I " regexp 忽略由插入,删除行(由regexp 参数提供参考)带来的改变. .TP .BI \-\-ifdef= name 合并 if\-then\-else 格式输出, 预处理宏(由name参数提供)条件. .TP .B \-\-ignore\-all\-space 在比较行的时候忽略空白. .TP .B \-\-ignore\-blank\-lines 忽略插入和删除空行 .TP .B \-\-ignore\-case 忽略大小写. .TP .BI \-\-ignore\-matching\-lines= regexp 忽略插入删除行(由regexp 参数提供参考). .TP .B \-\-ignore\-space\-change 忽略空白的数量. .TP .B \-\-initial\-tab 在文本行(无论是常规的或者格式化的前后文关系)前输出tab代替空格. 引起的原因是tab对齐方式看上去象是常规的一样. .TP .B \-l 产生通过 .I pr 编码的输出. .TP .BI "\-L " label .br .ns .TP .BI \-\-label= label 使用 .I label 给出的字符在文件头代替文件名输出. .TP .B \-\-left\-column 以并列方式印出两公共行的左边 .TP .BI \-\-line\-format= format 使用 .I format 输出所有的行,在 if\-then\-else 格式中. .TP .B \-\-minimal 改变算法也许发现变化的一个更小的集合.这会使 .I diff 变慢 (有时更慢). .TP .B \-n 输出 RC\-格式 diffs; 除了每条指令指定的行数受影响外 象 .B \-f 一样。 .TP .B \-N .br .ns .TP .B \-\-new\-file 在目录比较中,如果那个文件只在其中的一个目录中找到,那么它被视为在 另一个目录中是一个空文件. .TP .BI \-\-new\-group\-format= format 使用 .I format 以if\-then\-else 格式输出只在第二个文件中取出的一个行组 .TP .BI \-\-new\-line\-format= format 使用 .I format 以if\-then\-else 格式输出只在第二个文件中取出的一行 .TP .BI \-\-old\-group\-format= format 使用 .I format 以if\-then\-else 格式输出只在第一个文件中取出的一个行组 .TP .BI \-\-old\-line\-format= format 使用 .I format 使用 .I format 以if\-then\-else 格式输出只在第一个文件中取出的一行 .TP .B \-p 显示带有c函数的改变. .TP .B \-P 在目录比较中,如果那个文件只在其中的一个目录中找到,那么它被视为在 另一个目录中是一个空文件. .TP .B \-\-paginate 产生通过 .I pr 编码的输出. .TP .B \-q 仅报告文件是否相异,不报告详细的差异. .TP .B \-r 当比较目录时,递归比较任何找到的子目录. .TP .B \-\-rcs 输出 RC\-格式 diffs; 除了每条指令指定的行数受影响外 象 .B \-f 一样。 .TP .B \-\-recursive 当比较目录时,递归比较任何找到的子目录. .TP .B \-\-report\-identical\-files .br .ns .TP .B \-s 报告两个文件相同. .TP .BI "\-S " file 当比较目录时,由 .IR file 开始. 这用于继续中断了的比较. .TP .B \-\-sdiff\-merge\-assist 打印附加的信息去帮助 .IR sdiff . .I sdiff 在运行 .IR diff 时使用这些选项. 这些选项不是特意为使用者直接使用而准备的。 .TP .B \-\-show\-c\-function 显示带有c函数的改变. .TP .BI \-\-show\-function\-line= regexp 在上下文和统一的格式,对于每一大块的差别,显示出匹配 .IR regexp . 的一些前面的行 .TP .B \-\-side\-by\-side 使用并列的输出格式. .TP .B \-\-speed\-large\-files 使用启发规则加速操作那些有许多离散的小差异的大文件. .TP .BI \-\-starting\-file= file 当比较目录时,由 .IR file 开始. 这用于继续中断了的比较. .TP .B \-\-suppress\-common\-lines 在并列格式中不印出公共行。 .TP .B \-t 在输出时扩展tab为空格,保护输入文件的tab对齐方式 .TP .B \-T 在文本行(无论是常规的或者格式化的前后文关系)前输出tab代替空格.引起的原因 是tab对齐方式看上去象是常规的一样. .TP .B \-\-text 所有的文件都视为文本文件来逐行比较,甚至他们似乎不是文本文件. .TP .B \-u 使用统一的输出格式. .TP .BI \-\-unchanged\-group\-format= format 使用 .I format 输出两个文件的公共行组,其格式是if\-then\-else. .TP .BI \-\-unchanged\-line\-format= format 使用 .I format 输出两个文件的公共行,其格式是if\-then\-else. .TP .B \-\-unidirectional\-new\-file 在目录比较中,如果那个文件只在其中的一个目录中找到,那么它被视为在 另一个目录中是一个空文件. .TP .BI "\-U " lines .br .ns .TP .BI \-\-unified[= lines ] 使用前后关系格式输出,显示以指定 .I 行数 (一个整数), 或者是三行(当 .I 行数 没有给出时. 对于正确的操作, 上下文至少要有两行. .TP .B \-v .br .ns .TP .B \-\-version 输出 .IR diff 版本号. .TP .B \-w 在比较行时忽略空格 .TP .BI "\-W " columns .br .ns .TP .BI \-\-width= columns 在并列格式输出时,使用指定的列宽. .TP .BI "\-x " pattern 比较目录的时候,忽略和目录中与 .IR pattern (样式) 相配的. .TP .BI "\-X " file 比较目录的时候,忽略和目录中与任何包含在 .IR file (文件) 的样式相配的文件和目录. .TP .B \-y 使用并列格式输出 .SH 参考 cmp(1), comm(1), diff3(1), ed(1), patch(1), pr(1), sdiff(1). .SH DIAGNOSTICS 退出状态为0意味着没有差别, 1意味着有一些不同。 2意味很有问题(许多差异) .br .SH "[中文版维护人]" .B Scorpio .SH "[中文版最新更新]" .BR 2000/10/19 .SH "《中国Linux论坛man手册页翻译计划》:" .BI http://cmpp.linuxforum.net manpages-zh-1.6.3.3/src/man1/dig.1000066400000000000000000000373741327105066500163670ustar00rootroot00000000000000.\" ++Copyright++ 1993 .\" - .\" Copyright (c) 1993 .\" The Regents of the University of California. All rights reserved. .\" .\" 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. All advertising materials mentioning features or use of this software .\" must display the following acknowledgement: .\" This product includes software developed by the University of .\" California, Berkeley and its contributors. .\" 4. 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. .\" - .\" Portions Copyright (c) 1993 by Digital Equipment Corporation. .\" .\" Permission to use, copy, modify, and distribute this software for any .\" purpose with or without fee is hereby granted, provided that the above .\" copyright notice and this permission notice appear in all copies, and that .\" the name of Digital Equipment Corporation not be used in advertising or .\" publicity pertaining to distribution of the document or software without .\" specific, written prior permission. .\" .\" THE SOFTWARE IS PROVIDED "AS IS" AND DIGITAL EQUIPMENT CORP. DISCLAIMS ALL .\" WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES .\" OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL DIGITAL EQUIPMENT .\" CORPORATION BE LIABLE FOR ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL .\" DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR .\" PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS .\" ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS .\" SOFTWARE. .\" - .\" --Copyright-- .\" .\" Distributed with 'dig' version 2.0 from University of Southern .\" California Information Sciences Institute (USC-ISI). .\" .\" dig.1 2.0 (USC-ISI) 8/30/90 .\" .Dd 1990年8月30日 .Dt DIG 1 .Os BSD 4 .Sh NAME(名称) .Nm dig .Nd 发送域名查询信息包到域名服务器 .Sh SYNOPSIS(总览) .Nm dig .Op Ic @ Ns Ar server .Ar domain .Op Aq Ar query-type .Op Aq Ar query-class .Op Ic + Ns Aq Ar query-option .Op Fl Aq Ar dig-option .Op Ar %comment .Sh DESCRIPTION(描述) .Ic Dig (domain information groper 域名信息搜索)是一个灵活的 命令行工具, 它可以用来从域名系统服务器中收集信息. .Ic Dig 有两种模式:简单交互模式 用于简单的查询,而批处理模式则可以对 包含多个查询条目的列表执行查询. 所有查询选项都可以从命令行输入. .Pp 通常简单的 .Ic dig 用法为下列格式: .Pp .Bd -ragged -offset indent-two .Ic dig @ Ns Ar server domain query-type query-class .Ed .Pp 这里: .Bl -tag -width Fl .It Ar server 可为域名或者以点分隔的Internet地址. 如果省略该可选字段, .Ic dig 会尝试使用你机器的默认域名服务器. .sp 1 .Em 注意: 如果指定了一个域名,那么将使用域名系统解析程序 (即BIND)来进行解析. 如果你的系统不支持DNS,那么可能 .Em 必须 指定一个以点分隔的地址.另外一种选择是, 如果在你配置的某个地方有一台这样的服务器, 那么你所要做的就是建立 .Pa /etc/resolv.conf 并在其中指明默认域名服务器的位置,这样 .Ar server 自身就可以解析了.参看 .Xr resolver 5 以获得 .Pa /etc/resolv.conf 相关的信息. .Sy 警告: 修改 .Pa /etc/resolv.conf 同样会对标准的解析程序库产生影响,而 .Pq 潜在地 某些程序会要用到它. 作为一种选择,用户可设置环境变量 .Ev LOCALRES 为指定的文件,这将用来取代 .Pa /etc/resolv.conf .Po Ns Ev LOCALRES 是特定针对 .Ic dig 解析程序的,并不会牵涉到标准解析程序 .Pc . 如果 .Ev LOCALRES 变量未设置或者指定的文件不能读,那么就使用 .Pa /etc/resolf.conf . .It Ar domain 是指一个你请求信息的域名. 参看 .Fl x 选项(在该部分的 .Sx OTHER OPTIONS 节中有介绍)以获知指定反向地址查询的便捷方法. .It Ar query-type 是指你所请求的信息类型(DNS查询类型). 如果省略,默认为 .Dq Ar a .Pq Dv T_A = Ar address . 以下类型是可识别的: .Pp .Bl -hang -width "hinfo T_HINFO " -compact .It Ar a\ \ \ \ \ \ Dv T_A 网络地址 .It Ar any\ \ \ \ Dv T_ANY 所有/任何与指定域相关的信息 .It Ar mx\ \ \ \ \ Dv T_MX 该域的邮件网关 .It Ar ns\ \ \ \ \ Dv T_NS 域名服务器 .It Ar soa\ \ \ \ Dv T_SOA 区域的授权记录 .It Ar hinfo\ \ Dv T_HINFO 主机信息 .It Ar axfr\ \ \ Dv T_AXFR 区域传输记录(必须是询问一台授权的服务器) .It Ar txt\ \ \ \ Dv T_TXT 任意的字符串信息 .El .Pp (参看RFC 1035以获得完整的列表.) .It Ar query-class 是指在查询中请求的网络等级.如果省略,默认为 .Dq Ar in .Pq Dv C_IN = Ar Internet . 以下的等级是可识别的: .Pp .Bl -tag -width "hinfo T_HINFO " -compact .It Ar in\ \ \ \ \ Dv C_IN Internet等级的域 .It Ar any\ \ \ \ Dv C_ANY 所有/任何等级的信息 .El .Pp (参看RFC 1035以获得完整的列表.) .Pp .Em 注意: .Dq Ar Any 可以用来指定一个 .Em 等级 和/或查询的一种 .Em 类型 . .Ic Dig 会将第一次出现的 .Dq Ar any 解释为 .Ar query-type = Dv T_ANY . 为了指明 .Ar query-class = Dv C_ANY , 你必须或者指定 .Dq any 两次,或者使用 .Fl c 选项(见下面)设置 .Ar query-class . .El .Ss OTHER OPTIONS(其它选项) .Bl -tag -width Fl .It % Ns Ar ignored-comment .Dq % 用来引用一个不用作解释的参数. 如果正以批处理的模式运行 .Ic dig 这可能很有用. 因为不用对一组查询中的每个 .Ar @server-domain-name 进行解析,你就可以避免这样做的额外开销, 并且仍然能够在命令行上以域名作为参数. 例如: .Pp .Bd -ragged -offset indent-two .Ic dig @128.9.0.32 %venera.isi.edu mx isi.edu .Ed .Pp .It Fl Aq Ar dig option .Dq Fl 用来指定一个影响 .Ic dig 操作的选项. 当前可用的选项有(尽管不能保证都有用): .Bl -tag -width Fl .It Fl x Ar dot-notation-address 这是指定反向地址映射的便捷的方法. 不用写 .Dq Ic dig 32.0.9.128.in-addr.arpa , 你可以简单地写成 .Dq Ic dig -x 128.9.0.32 . .It Fl f Ar file .Ic dig 批处理模式的文件.该文件包含了一组查询清单 ( .Ns Ic dig 命令行),它们将一个接一个地执行.以 .Sq \&; , .Sq # 或 .Sq \en 开头的行将忽略.其它选项 仍然可以在命令行上出现,而且对 每个批处理查询都有效. .It Fl T Ar time 当运行于批处理模式下时,两次接着的查询之间的 时间间隔,以秒计. 可以用来保持两个或多个批处理 .Ic dig 命令大致同步运行.默认为零. .It Fl p Ar port 端口号.通过监听非标准端口号来查询 域名服务器.默认为53. .It Fl P Ns Bq Ar ping-string 在查询返回之后,执行一次 .Xr ping 8 命令以获得响应时间的对照关系.这在调用shell上 显得不那么自然. 该命令显示的最后三行统计信息为: .Pp .Bd -ragged -offset indent-two .Ic ping Fl s server_name 56 3 .Ed .Pp 如果可选的 .Dq Ar ping_string 存在,那么 会覆盖shell命令中的 .Dq Ic ping Fl s . .It Fl t Ar query-type 指定查询类型.可以指定为一个将包含在类型字段 中的整数值,也可以使用 上面讨论的缩写助记符(即 .Ar mx = Dv T_MX ) . .It Fl c Ar query-class 指定查询等级.可以指定为一个将包含在等级字段 中的整数值,也可以使用 上面讨论的缩写助记符(即in = C_IN). .It Fl k Ar keydir:keyname 用TSIG密钥指定的的密钥名来签署这次查询, 该密钥名在目录keydir下. .It Fl envsav 该标识指定 .Ic dig 的环境变量 (默认的,显示选项,等等.),在所有参数都解释了之后, 应保存它们到 一个文件中以使之成为默认的环境变量. 如果你不喜欢默认的标准设置而又不想在每次使用 .Ic dig 时带大量的选项,那么这很有用. 环境变量包括解析程序状态变量标识,超时和重试次数 以及详细控制 .Ic dig 输出的标识(见下面). 如果shell环境变量 .Ev LOCALDEF 设置为一个文件的名字,那么此即为默认的 .Ic dig 环境变量所保存的地方.如果没有,那么会在当前 工作目录下创建 .Dq Pa DiG.env . .Pp .Em 注意: .Ev LOCALDEF 是特定针对 .Ic dig 解析程序, 而它不会影响标准解析程序库的操作. .Pp 每当 .Ic dig 执行时,它会查找 .Dq Pa ./DiG.env 或者在shell环境变量 .Ev LOCALDEF 中指定的文件. 如果这样的文件存在而且可读,那么在解释 任何参数之前, 先从 该文件中 恢复环境变量. .It Fl envset 该标识只影响批处理查询的运行.当在 .Ic dig 的批处理文件一行上指定了 .Dq Fl envset 时,在参数之后的 .Ic dig 环境变量会被解释为批处理文件执行期间 默认的环境变量, 或者 直到指定了 .Dq Fl envset 的下一行为止. .It Xo .Fl Op Cm no .Ns cm stick .Xc 该标识只影响批处理查询的运行. 它指定 .Ic dig 环境变量(通过 .Dq Fl envset 开关变量初始化读入或设置)会在 .Ic dig 批处理文件每次查询(行)之前重建. 默认的 .Dq Fl nostick 表示 .Ic dig 环境变量不是固定的,因而在 .Ic dig 批处理文件中单行上指定的选项将对剩余的行 继续产生作用(也即,它们不会恢复成 .Dq sticky(固定的) 默认值). .El .It Ic + Ns Aq Ar query-option .Dq + 用来指定一个在查询信息包中需修改的或者 需用来修改 .Ic dig 输出细节的选项.这些选项中的许多与 .Xr nslookup 8 所承认的参数相同. 如果一个选项需带参数,那么格式如下: .Pp .Bd -ragged -offset indent-two .Ic + .Ns Ar keyword .Ns Op = Ns Ar value .Ed .Pp 绝大多数关键字可简写. .Dq + 选项的解释是非常直白的 \(em 值与它的关键字之间 千万不能用空格分隔. 当前可用的关键字有: .Pp Keyword Abbrev. Meaning [default] .Pp (关键字) (缩写) (含义) [默认值] .Pp .Bl -tag -width "[no]primary (ret) " -compact .It Xo .Op Cm no .Ns Cm debug\ \ \ \ .Pq Cm deb .Xc 打开/关闭调试模式 .Bq Cm deb .It Xo .Op Cm no .Ns Cm d2\ \ \ \ \ \ \ \ \ \ .Xc 打开/关闭特殊的调试模式 .Bq Cm nod2 .It Xo .Op Cm no .Ns Cm recurse\ \ .Pq Cm rec .Xc 使用/不使用递归查询 .Bq Cm rec .It Xo .Cm retry= Ns Ar # .Cm \ \ \ \ \ .Pq Cm ret .Xc 设置重试次数为# .Bq 4 .It Xo .Cm time= Ns Ar # .Cm \ \ \ \ \ \ .Pq Cm ti .Xc 设置超时长度为#秒 .Bq 4 .It Xo .Op Cm no .Ns Cm ko .Xc 保留公开的选项(keep open options)(隐含vc) .Bq Cm noko .It Xo .Op Cm no .Ns Cm vc .Xc 使用/不使用虚拟电路 .Bq Cm novc .It Xo .Op Cm no .Ns Cm defname\ \ .Pq Cm def .Xc 使用/不使用默认的域名 .Bq Cm def .It Xo .Op Cm no .Ns Cm search\ \ \ .Pq Cm sea .Xc 使用/不使用域搜索列表 .Bq Cm sea .It Xo .Cm domain= Ns Ar NAME\ \ .Pq Cm do .Xc 设置默认的域名为 .Ar NAME .It Xo .Op Cm no .Ns Cm ignore\ \ \ .Pq Cm i .Xc 忽略/不忽略截断(trunc.)错误 .Bq Cm noi .It Xo .Op Cm no .Ns Cm primary\ \ .Pq Cm pr .Xc 使用/不使用主服务器 .Bq Cm nopr .It Xo .Op Cm no .Ns Cm aaonly\ \ \ .Pq Cm aa .Xc 表示只包含授权查询的标识 .Bq Cm noaa .It Xo .Op Cm no .Ns Cm cmd .Xc 重复(echo)解释的参数 .Bq Cm cmd .It Xo .Op Cm no .Ns Cm stats\ \ \ \ .Pq Cm st .Xc 显示查询统计信息 .Bq Cm st .It Xo .Op Cm no .Ns Cm Header\ \ \ .Pq Cm H .Xc 显示基本的包头 .Bq Cm H .It Xo .Op Cm no .Ns Cm header\ \ \ .Pq Cm he .Xc 显示包头的标识 .Bq Cm he .It Xo .Op Cm no .Ns Cm ttlid\ \ \ \ .Pq Cm tt .Xc 显示TTLs(Time to Live) .Bq Cm tt .It Xo .Op Cm no .Ns Cm cl .Xc 显示等级信息 .Bq Cm nocl .It Xo .Op Cm no .Ns Cm qr .Xc 显示向外的查询 .Bq Cm noqr .It Xo .Op Cm no .Ns Cm reply\ \ \ \ .Pq Cm rep .Xc 显示响应信息 .Bq Cm rep .It Xo .Op Cm no .Ns Cm ques\ \ \ \ \ .Pq Cm qu .Xc 显示询问部分 .Bq Cm qu .It Xo .Op Cm no .Ns Cm answer\ \ \ .Pq Cm an .Xc 显示应答部分 .Bq Cm an .It Xo .Op Cm no .Ns Cm author\ \ \ .Pq Cm au .Xc 显示授权的部分 .Bq Cm au .It Xo .Op Cm no .Ns Cm addit\ \ \ \ .Pq Cm ad .Xc 显示附加的部分 .Bq Cm ad .It Cm pfdef 设置为默认显示位 .It Cm pfmin 设置为最小的默认显示位 .It Cm pfset= Ns Ar # 设置显示位为# (#可以为十六进制/八进制/十进制) .It Cm pfand= Ns Ar # 位和显示位设为#(bitwise and print flags with #) .It Cm pfor= Ns Ar # 位或显示位设为#(bitwise or print flags with #) .El .Pp 当发送数据报查询时, .Cm retry 和 .Cm time 选项会影响解析程序库的重传策略.其算法如下: .Pp .Bd -literal -offset indent for i = 0 to retry - 1 for j = 1 to num_servers send_query wait((time * (2**i)) / num_servers) end end .Ed .Pp (注意: .Ic dig 通常取 .Dq Li num_servers 的值为1 . ) .El .Ss DETAILS(细节) .Ic Dig 以前要求BIND的 .Xr resolver 3 库的版本作一些细微的修改. 从BIND 4.9起,BIND的解析程序已经修补好 并可以正常地与 .Ic dig 一起工作. 实质上, .Ic dig 在解释参数和设置适合的参数时是 直来直去的 (虽然并不巧妙) .Ic Dig 会用到 .Xr resolver 3 的例程 .Fn res_init , .Fn res_mkquery , .Fn res_send 以及访问 .Ft _res 结构. .Sh ENVIRONMENT(环境变量) .Bl -tag -width "LOCALRES " -compact .It Ev LOCALRES 用来替换Pa /etc/resolv.conf的文件 .It Ev LOCALDEF 默认的环境变量文件 .El .Pp 另见上面对 .Fl envsav , .Fl envset , 和 .Xo .Fl Op Cm no .Ns Cm stick .Xc 选项的说明. .Sh FILES(相关文件) .Bl -tag -width "/etc/resolv.conf " -compact .It Pa /etc/resolv.conf 初始化的域名和域名服务器地址 .It Pa \./DiG.env 默认的保存默认选项的文件 .El .Sh SEE ALSO(另见) .Xr named 8 , .Xr resolver 3 , .Xr resolver 5 , .Xr nslookup 8 . .Sh STANDARDS(标准) RFC 1035. .Sh AUTHOR(作者) Steve Hotz hotz@isi.edu .Sh ACKNOWLEDGMENTS(致谢) .Ic Dig 使用了源自 .Xr nslookup 8 的函数, 其作者为Andrew Cherenson. .Sh BUGS .Ic Dig 是蠕变特色("creeping featurism")的一个 典型实例 -- 这是因在其开发 过程中就考虑到了一些潜在应用而导致的结果. 它可能会从这种严格的限定中受益.同样, 他们设立的显示位以及条目的间隔尺寸 很明显地也是一种十分特别的创意. .Pp 当问题出在解析程序身上时, .Ic Dig 不会总是能够正常地退出(在适合的状况下) .Po Sy 注意: 绝大多数一般的exit情况是能够处理的 .Pc . 当运行于批处理模式下时尤其恼火. 如果不能正常退出(又无法俘获)的话, 那么整个批处理将终止;如果俘获了这样的事件, .Ic dig 就只是继续下一个查询罢了. .Sh [中文版维护人] riser .Sh [中文版最新更新] 2001/7/19 .Sh "《中国Linux论坛man手册页翻译计划》" http://cmpp.linuxforum.net manpages-zh-1.6.3.3/src/man1/dircolor.1000066400000000000000000000061771327105066500174360ustar00rootroot00000000000000.\" Copyright Andries Brouwer, Ragnar Hojland Espinosa and A. Wik, 1998. .\" Chinese Version Copyright Scorpio, BitBIRD, www.linuxforum.net, 2000 .\" This file may be copied under the conditions described .\" in the LDP GENERAL PUBLIC LICENSE, Version 1, September 1998 .\" that should have been distributed together with this file. .\" .\" Modified, James Sneeringer , Wed Sep 22 23:21:19 1999 .\" .TH DIRCOLORS 1 "November 1998" "GNU fileutils 4.0" .SH NAME[名字] dircolors \- 设置`ls'显示结果的颜色 .SH SYNOPSIS[总览] .B dircolors .B [\-b] [\-\-sh] [\-\-bourne\-shell] .B [\-c] [\-\-csh] [\-\-c\-shell] .B [\-p] [\-\-print\-database] .B [\-\-help] [\-\-version] .BI [ FILE ] .SH 描述 .B dircolors 输出希望得到的输出颜色,是由 .B ls (和 .BR dir , 等.). 典型的用法: .br .RS eval `dircolors [OPTION]... [FILE]` .RE .PP 如果指定了 .I FILE , .B dircolors 从该文件确定那些颜色用于什么文件类型和外延. 否则使用一个预先编译好的数据库. 关于这个文件的详细格式, 运行`dircolors \-\-print\-database'. .PP 输出是一个shell命令去设置 .B LS_COLORS 环境变量.你能够指定shell语法来在命令行使用,或者 .B dircolors 将推测它是来自 .B SHELL 环境变量的值. .PP 完成这个命令后, `ls \-\-color' (可能已经alias 为 ls) 会以渴望的颜色列表文件. .PP .SH 选项 .TP .B "\-b, \-\-sh, \-\-bourne\-shell" 输出 Bourne shell 命令.如果设置了 .B SHELL 环境变量设置了和没有以 .I csh 或是 .IR tcsh 结尾,这就是默认值. .TP .B "\-c, \-\-csh, \-\-c\-shell" 输出C shell 命令. 如果 .B SHELL 以 .I csh 或 .IR tcsh 结尾的时候是默认值. .TP .B "\-p, \-\-print\-database" 显示(已编译)的默认颜色配置数据库. 这个输出本身就是有效的配置文件 并且相当清楚地描述了可能的情况. .SH "GNU 标准选项" .TP .B "\-\-help" 显示使用信息在标准输出并退出. .TP .B "\-\-version" 显示版本信息在标准输出并退出. .TP .B "\-\-" 结束选项列表. .SH 环境(变量) 变量 SHELL and TERM 通常能从shell命令中正确找到. 变量LANG, LC_ALL, LC_CTYPE 和 LC_MESSAGES 有通常的意义. 变量LS_COLORS 被用于信息到 .BR ls . .SH "遵循" 有色彩的 .BR ls (1) 输出是一项 GNU 扩展. 这个实现和跟着最早的 Slackware Linux 发布的 .BR dircolors / color\-ls 包不太兼容. 尤其是没有提供对 Z shell 和 Korn shell 的支持. 使用这些shells 应该使用 Bourne shell (\-b) 模式. .SH "参考" .BR dir_colors (5), .BR ls (1) .SH 相关文件 .TP .I /etc/dir_colors System\-wide configuration file for 为 .BR dircolors. 提供的系统普用配置文件 .TP .I ~/.dir_colors 每个用户 .BR dircolors 配置文件. .SH 注意 这份 .B dircolors 的描述能够在 file\%utils\-4.0 包中找到; 其它的版本也许有些微的不同. 对于修改和新增的请邮到 aeb@cwi.nl. 漏洞报告邮到 fileutils\-bugs@gnu.ai.mit.edu. .br .SH "[中文版维护人]" .B Scorpio .SH "[中文版最新更新]" .BR 2000/10/9 .SH "《中国Linux论坛man手册页翻译计划》" .BI http://cmpp.linuxforum.net manpages-zh-1.6.3.3/src/man1/dircolors.1000066400000000000000000000035721327105066500176150ustar00rootroot00000000000000.\" DO NOT MODIFY THIS FILE! It was generated by help2man 1.47.3. .\"******************************************************************* .\" .\" This file was generated with po4a. Translate the source file. .\" .\"******************************************************************* .TH DIRCOLORS 1 2017年10月 "GNU coreutils 8.28" 用户命令 .SH 名称 dircolors \- 为 ls 设置颜色 .SH 概述 \fBdircolors\fP [\fI\,选项\/\fP]... [\fI\,文件\/\fP] .SH 描述 .\" Add any additional description here .PP 输出用来设置 LS_COLORS 环境变量的命令。 .SS 确定输出格式: .TP \fB\-b\fP, \fB\-\-sh\fP, \fB\-\-bourne\-shell\fP 输出 Bourne shell 设置 LS_COLORS 的代码 .TP \fB\-c\fP, \fB\-\-csh\fP, \fB\-\-c\-shell\fP 输出 C shell 设置 LS_COLORS 的代码 .TP \fB\-p\fP, \fB\-\-print\-database\fP 输出默认配置 .TP \fB\-\-help\fP 显示此帮助信息并退出 .TP \fB\-\-version\fP 显示版本信息并退出 .PP 如果参数里指定了一个文件,程序将从文件中读取内容以确定应当为不同的文件类型和扩展名使用怎样的颜色。在其它情况下,程序会使用一个预编译的数据库。如需了解这些文件的格式细节,请运行“dircolors \fB\-\-print\-database\fP”。 .SH 作者 由 H. Peter Anvin 编写。 .SH 报告错误 GNU coreutils 的在线帮助: .br 请向 报告 dircolors 的翻译错误。 .SH 版权 Copyright \(co 2017 Free Software Foundation, Inc. License GPLv3+: GNU GPL version 3 or later . .br This is free software: you are free to change and redistribute it. There is NO WARRANTY, to the extent permitted by law. .SH 参见 完整文档请见: .br 或者在本地使用: info \(aq(coreutils) dircolors invocation\(aq manpages-zh-1.6.3.3/src/man1/dirname.1000066400000000000000000000032671327105066500172350ustar00rootroot00000000000000.\" DO NOT MODIFY THIS FILE! It was generated by help2man 1.47.3. .\"******************************************************************* .\" .\" This file was generated with po4a. Translate the source file. .\" .\"******************************************************************* .TH DIRNAME 1 2017年10月 "GNU coreutils 8.28" 用户命令 .SH 名称 dirname \- 去除文件名的最后一个组成部分 .SH 概述 \fBdirname\fP [\fI\,选项\/\fP] \fI\,名称\/\fP... .SH 描述 .\" Add any additional description here .PP 将每个名称的最后一个非斜线的组成部分与后缀的斜线移除并输出;如果所给名称不包含斜线 '/',则输出 '.'(即代表当前目录)。 .TP \fB\-z\fP, \fB\-\-zero\fP 使每行输出以 NUL 字符结束,不添加换行符 .TP \fB\-\-help\fP 显示此帮助信息并退出 .TP \fB\-\-version\fP 显示版本信息并退出 .SH 范例 .TP dirname /usr/bin/ \-> "/usr" .TP dirname dir1/str dir2/str \-> "dir1" 后接 "dir2" .TP dirname stdio.h \-> "." .SH 作者 由 David MacKenzie 和 Jim Meyering 编写。 .SH 报告错误 GNU coreutils 的在线帮助: .br 请向 报告 dirname 的翻译错误。 .SH 版权 Copyright \(co 2017 Free Software Foundation, Inc. License GPLv3+: GNU GPL version 3 or later . .br This is free software: you are free to change and redistribute it. There is NO WARRANTY, to the extent permitted by law. .SH 参见 basename(1), readlink(1) .PP .br 完整文档请见: .br 或者在本地使用: info \(aq(coreutils) dirname invocation\(aq manpages-zh-1.6.3.3/src/man1/dirs.1000066400000000000000000000000241327105066500165430ustar00rootroot00000000000000.so man1/builtins.1 manpages-zh-1.6.3.3/src/man1/disown.1000066400000000000000000000000241327105066500171050ustar00rootroot00000000000000.so man1/builtins.1 manpages-zh-1.6.3.3/src/man1/dnskeygen.1000066400000000000000000000064521327105066500176040ustar00rootroot00000000000000.\" Copyright (c) 1996,1999 by Internet Software Consortium .\" .\" Permission to use, copy, modify, and distribute this software for any .\" purpose with or without fee is hereby granted, provided that the above .\" copyright notice and this permission notice appear in all copies. .\" .\" THE SOFTWARE IS PROVIDED "AS IS" AND INTERNET SOFTWARE CONSORTIUM DISCLAIMS .\" ALL WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES .\" OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL INTERNET SOFTWARE .\" CONSORTIUM BE LIABLE FOR ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL .\" DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR .\" PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS .\" ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS .\" SOFTWARE. .\" .Dd 1998 年 12 月 2 日 .Dt DNSKEYGEN 1 .Os BSD 4 .Sh NAME .Nm dnskeygen .Nd 针对DNS安全性所生成的公共,私有和共享的密钥 .Sh SYNOPSIS(总览) .Nm dnskeygen .Oo Fl .Op Cm DHR .Ar size .Oc .Op Fl F .Fl Op Cm zhu .Op Fl a .Op Fl c .Op Fl p Ar num .Op Fl s Ar num .Fl n Ar name .Sh DESCRIPTION(描述) .Ic Dnskeygen (DNS密钥生成器)是一个用来在DNS(Domain Name System)内部 生成和维护针对DNS安全性的密钥的工具. .Nm Dnskeygen 可以生成鉴别区域数据的公共和私有密钥,以及用于请求/事务处理签名的 共享密钥. .Bl -tag -width Fl .It Fl D Dnskeygen会生成一个 .Ic DSA/DSS 密钥. .Dq size 必为[512, 576, 640, 704, 768, 832, 896, 960, 1024]中的一个. .It Fl H Dnskeygen会生成一个 .Ic HMAC-MD5 密钥. .Dq size 必定在128到504之间. .It Fl R Dnskeygen会生成一个 .Ic RSA 密钥. .Dq size 必定在512到4096之间. .It Fl F .Ic (只用于RSA) 在生成密钥中使用大指数. .It Fl z Fl h Fl u 这些标识分别定义了所生成密钥的类型为区域(DNS有效性)密钥, 主机(主机或服务)密钥还是用户(如email)密钥. .It Fl a 指明该密钥 .Ic 不能 用作鉴别. .It Fl c 指明该密钥 .Ic 不能 用作加密. .It Fl p Ar num 设置密钥的协议字段为 .Ar num ;默认为 .Ic 3 (DNSSEC)如果指定了 .Dq Fl z 或 .Dq Fl h 那么则为 .Ic 2 (EMAIL). 其它可接受的值还有 .Ic 1 (TLS), .Ic 4 (IPSEC),和 .Ic 255 (ANY). .It Fl s Ar num 设置密钥的强度字段为 .Ar num; 默认为 .Sy 0. .It Fl n Ar name 设置密钥的名字为 .Ar name. .El .Ss DETAILS(细节) .Ic Dnskeygen 存储每个密钥在两个文件中: .Pa K++.private 和 .Pa K++.key 文件 .Pa K++.private 包含了以可移植格式保存的私有密钥.文件 .Pa K++.key 包含了以DNS区域文件格式保存的公共密钥: .Pp .D1 Ar IN KEY .Pp .Sh ENVIRONMENT(环境变量) 没有涉及到任何环境变量. .Sh SEE ALSO(另见) .Em RFC 2065 关于维护DNS安全的文档以及 .Em TSIG Internet草案. .Sh AUTHOR(作者) Olafur Gudmundsson (ogud@tis.com). .Sh ACKNOWLEDGMENTS(致谢) 基本的加密数学是由DNSSAFE和/或Foundation Toolkit libraries完成的. .Sh BUGS 目前尚无已知的bugs. .Sh "[中文版维护人]" riser .Sh "[中文版最新更新]" 2001/7/13 .Sh "《中国Linux论坛man手册页翻译计划》" http://cmpp.linuxforum.net manpages-zh-1.6.3.3/src/man1/dnsquery.1000066400000000000000000000104111327105066500174550ustar00rootroot00000000000000.\"Copyright (c) 1995,1996,1999 by Internet Software Consortium .\" .\"Permission to use, copy, modify, and distribute this software for any .\"purpose with or without fee is hereby granted, provided that the above .\"copyright notice and this permission notice appear in all copies. .\" .\"THE SOFTWARE IS PROVIDED "AS IS" AND INTERNET SOFTWARE CONSORTIUM DISCLAIMS .\"ALL WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES .\"OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL INTERNET SOFTWARE .\"CONSORTIUM BE LIABLE FOR ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL .\"DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR .\"PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS .\"ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS .\"SOFTWARE. .\" .Dd 1990年3月10日 .Dt DNSQUERY 1 .Os BSD 4 .Sh NAME(名称) .Nm dnsquery .Nd 使用解析程序查询域名服务器 .Sh SYNOPSIS(总览) .Nm dnsquery .Op Fl n Ar nameserver .Op Fl t Ar type .Op Fl c Ar class .Op Fl r Ar retry .Op Fl p Ar period .Op Fl d .Op Fl s .Op Fl v .Ar host .Sh DESCRIPTION(描述) .Ic dnsquery 程序是一个通过BIND解析程序库调用到域名服务器的通用接口. 该程序支持使用一些查询操作码来查询域名服务器. 该程序意在作为程序如nstest,nsquery和nslookup的替换或补充. 所有参数,除了 .Ar host 和 .Ar nameserver 之外都是不区分大小写的. .Sh OPTIONS(选项) .Bl -tag -width Fl .It Fl n Ar nameserver 查询中使用的域名服务器.域名服务器可以表示为 Internet地址格式 .Ar w.x.y.z 也可以表示为域名的形式. (默认情况:取 .Pa /etc/resolv.conf 中指定的.) .It Fl t Ar type 所关心的资源记录的类型.类型包括: .Bl -tag -width "AFSDB " -compact -offset indent .It Ar A 地址 .It Ar NS 域名服务器 .It Ar CNAME 标准名 .It Ar SOA 起始授权记录 .It Ar WKS 众所周知的服务 .It Ar HINFO 主机信息 .It Ar MINFO 邮箱信息 .It Ar MX 邮件网关 .It Ar RP 负责人信息 .It Ar MG 邮件组成员信息 .It Ar AFSDB DCE或AFS服务器 .It Ar ANY 所有的信息 .El .Pp 注意可以使用任意大小写形式.(默认情况: .Ar ANY . ) .It Fl c Ar class 所关心的资源纪录的等级. 等级包括: .Bl -tag -width "CHAOS " -compact -offset indent .It Ar IN Internet等级 .It Ar HS Hesiod等级 .It Ar CHAOS Chaos等级 .It Ar ANY 所有的等级 .El .Pp 注意可以使用任意大小写形式.(默认情况: .Ar IN . ) .It Fl r Ar retry 名字服务器无响应下的重试次数.(默认情况: 4.) .It Fl p Ar period 超时等待的时间周期.(默认情况: .Dv RES_TIMEOUT . ) .It Fl d 打开调试环境.这会设置 解析程序的 .Ft options 字段的 .Dv RES_DEBUG 位.(默认情况:不作调试.) .It Fl s 使用 .Em 信息流 而不是信息包的形式.这将对名字服务器使用TCP流连接,而不是 UDP数据报连接. 它会设置 解析程序的 .Ft options 字段的 .Dv RES_USEVC 位.(默认情况:UDP数据报.) .It Fl v 与 .Dq Fl s 标识同义. .It Ar host 所关心的主机(或域)的名字. .El .Sh FILES(相关文件) .Bl -tag -width " " -compact .It Pa /etc/resolv.conf 用来获取默认的域名服务器以及搜索列表 .It Pa 可用的RR(资源纪录)的类型和等级的列表 .It Pa 解析程序标识的列表 .El .Sh DIAGNOSTICS(诊断) 如果解析程序不能响应查询,并且调试环境又没有打开,那么 .Ic dnsquery 会简单地显示如下信息: .Dl Query failed (rc = 1) : Unknown host .Pp 返回代码的值由 .Ft h_errno 提供. .Sh SEE ALSO(另见) .Xr nslookup 8 , .Xr nstest 1 , .Xr nsquery 1 , .Xr named 8 , .Xr resolver 5 . .Sh AUTHOR(作者) Bryan Beecher .Sh BUGS 除了等级 .Ar IN 之外的查询会得到有趣的结果, 因为通常名字服务器只会有针对等级为 .Ar IN 的资源记录的一组根域名服务器. .Pp .Ic Dnsquery 通过调用 .Fn inet_addr 来确定针对 .Dq Fl n 选项的参数是否为有效的 Internet地址.不幸的是, .Fn inet_addr 可能会在判别一些(错误的)IP地址(如1.2.3.4.5)时引发segmentation(分段) 错误. .Sh "[中文版维护人]" riser .Sh "[中文版最新更新]" 2001/7/13 .Sh "《中国Linux论坛man手册页翻译计划》" http://cmpp.linuxforum.net manpages-zh-1.6.3.3/src/man1/dropdb.1000066400000000000000000000047451327105066500170720ustar00rootroot00000000000000.TH "DROPDB" "1" "2003-11-02" "Application" "PostgreSQL Client Applications" .SH NAME dropdb \- 删除一个现有 PostgreSQL 数据库 .SH SYNOPSIS .sp \fBdropdb\fR\fR [ \fR\fB\fIoption\fB\fR...\fB \fR\fR]\fR \fB\fIdbname\fB\fR .SH "DESCRIPTION 描述" .PP \fBdropdb\fR 删除一个现有 PostgreSQL 数据库。 执行这条命令的人必须是数据库超级用户,或者是数据库所有者。 .PP \fBdropdb\fR 是对 SQL 命令 DROP DATABASE [\fBdrop_database\fR(7)] 的封装。因此,用两种方法删除数据库都没什么区别。 .SH "OPTIONS 选项" .PP \fBdropdb\fR 接受下列命令行选项: .TP \fB\fIdbname\fB\fR 声明要删除的数据库名。 .TP \fB-e\fR .TP \fB--echo\fR 回显 dropdb 生成的命令并且把它发送到服务器。 .TP \fB-i\fR .TP \fB--interactive\fR 在做任何破坏性动作前提示。 .TP \fB-q\fR .TP \fB--quiet\fR 不显示响应。 .PP .PP \fBcreateuser\fR 还接受下列命令行参数用作连接参数: .TP \fB-h \fIhost\fB\fR .TP \fB--host \fIhost\fB\fR 声明运行服务器的机器的主机名。 如果数值以斜扛开头,则它被用做到 Unix 域套接字的路径。 .TP \fB-p \fIport\fB\fR .TP \fB--port \fIport\fB\fR 声明服务器 正在侦听的互联网 TCP 端口号或本地Unix域套接字的文件扩展(描述符)。 .TP \fB-U \fIusername\fB\fR .TP \fB--username \fIusername\fB\fR 连接的用户名(不是要创建的用户名)。 .TP \fB-W\fR .TP \fB--password\fR 强制口令提示(与服务器连接的口令,不是新用户的口令。) .PP .SH "ENVIRONMENT 环境" .TP \fBPGHOST\fR .TP \fBPGPORT\fR .TP \fBPGUSER\fR 缺省连接参数。 .SH "DIAGNOSTICS 诊断" .PP 如果出现错误,参阅 DROP DATABASE [\fBdrop_database\fR(7)] 和 \fBpsql\fR(1) 获取可能的问题和错误信息描述。 数据库服务器必须在目标机器上运行。同样,任何前端库 libpq 使用的缺省连接设置和环境变量都将适用。 .SH "EXAMPLES 例子" .PP 删除缺省数据库服务器上的数据库 demo: .sp .nf $ \fBdropdb demo\fR DROP DATABASE .sp .fi .PP 用在主机eden上的服务器删除数据库demo, 端口是 5000,需要确认和显示执行的命令: .sp .nf $ \fBdropdb -p 5000 -h eden -i -e demo\fR Database "demo" will be permanently deleted. Are you sure? (y/n) \fBy\fR DROP DATABASE "demo" DROP DATABASE .sp .fi .SH "SEE ALSO 参见" \fBcreatedb\fR(1), DROP DATABASE [\fBdrop_database\fR(7)] .SH "译者" .B Postgresql 中文网站 .B 何伟平 manpages-zh-1.6.3.3/src/man1/droplang.1000066400000000000000000000050461327105066500174210ustar00rootroot00000000000000.TH "DROPLANG" "1" "2003-11-02" "Application" "PostgreSQL Client Applications" .SH NAME droplang \- 删除一种 PostgreSQL 过程语言 .SH SYNOPSIS .sp \fBdroplang\fR\fR [ \fR\fB\fIconnection-option\fB\fR...\fB \fR\fR]\fR \fB\fIlangname\fB\fR\fR [ \fR\fB\fIdbname\fB \fR\fR]\fR \fBdroplang\fR\fR [ \fR\fB\fIconnection-option\fB\fR...\fB \fR\fR]\fR \fR\fR \fB--list\fR\fR | \fR\fB-l\fR\fR\fR \fB\fIdbname\fB\fR .SH "DESCRIPTION 描述" .PP \fBdroplang\fR 是一个从 PostgreSQL 数据库中删除一种现有编程语言的工具。 droplang 可以删除任何过程语言, 甚至是那些 PostgreSQL 版本没有自带的。 .PP 尽管可以用 SQL 命令直接删除后端编程语言,我们还是推荐使用 droplang, 因为它进行了一些检查而且更容易使用。参阅 DROP LANGUAGE [\fBdrop_language\fR(7)] 获取更多信息。 .SH "OPTIONS 选项" .PP \fBdroplang\fR 接受下面命令行参数: .TP \fB\fIlangname\fB\fR 声明将被删除的后端编程语言的名称。 .TP \fB[-d] \fIdbname\fB\fR .TP \fB[--dbname] \fIdbname\fB\fR 声明从哪个数据库删除该语言。 缺省使用和当前系统用户同名的数据库。 .TP \fB-e\fR .TP \fB--echo\fR 运行的时候显示执行的 SQL 命令。 .TP \fB-l\fR .TP \fB--list\fR 显示一个在目标数据库里已经安装的语言的列表。 .PP .PP \fBcreateuser\fR 还接受下列命令行参数用作连接参数: .TP \fB-h \fIhost\fB\fR .TP \fB--host \fIhost\fB\fR 声明运行服务器的机器的主机名。 如果数值以斜扛开头,则它被用做到 Unix 域套接字的路径。 .TP \fB-p \fIport\fB\fR .TP \fB--port \fIport\fB\fR 声明服务器 正在侦听的互联网 TCP 端口号或本地Unix域套接字的文件扩展(描述符)。 .TP \fB-U \fIusername\fB\fR .TP \fB--username \fIusername\fB\fR 连接的用户名(不是要创建的用户名)。 .TP \fB-W\fR .TP \fB--password\fR 强制口令提示(与服务器连接的口令,不是新用户的口令。) .PP .SH "ENVIRONMENT 环境" .TP \fBPGHOST\fR .TP \fBPGPORT\fR .TP \fBPGUSER\fR 缺省连接参数。 .SH "DIAGNOSTICS 诊断" .PP 大多数错误信息是自解释的。如果没有,带着--echo 参数运行 droplang 然后在相应的 SQL 命令下面检查细节。 .SH "NOTES 注意" .PP 使用 \fBcreatelang\fR(1) 增加一种语言。 .SH "EXAMPLES 例子" .PP 删除语言 pltcl: .sp .nf $ \fBdroplang pltcl dbname\fR .sp .fi .SH "SEE ALSO 参见" \fBcreatelang\fR(1), DROP LANGUAGE [\fBdrop_language\fR(7)] .SH "译者" .B Postgresql 中文网站 .B 何伟平 manpages-zh-1.6.3.3/src/man1/dropuser.1000066400000000000000000000051631327105066500174560ustar00rootroot00000000000000.TH "DROPUSER" "1" "2003-11-02" "Application" "PostgreSQL Client Applications" .SH NAME dropuser \- 删除一个 PostgreSQL 用户帐户 .SH SYNOPSIS .sp \fBdropuser\fR\fR [ \fR\fB\fIoption\fB\fR...\fB \fR\fR]\fR\fR [ \fR\fB\fIusername\fB \fR\fR]\fR .SH "DESCRIPTION 描述" .PP \fBdropuser\fR 删除一个现有 PostgreSQL 用户 和 该用户所有的数据库。 只有超级用户(在 pg_shadow 表中设置了 usesuper 的用户)可以创建新的 PostgreSQL 用户。 .PP \fBdropuser\fR 是 SQL 命令 DROP USER [\fBdrop_user\fR(7)] 的封装。 因此,用哪种方法删除用户没什么区别。 .SH "OPTIONS 选项" .PP \fBdropuser\fR 接受下列命令行参数: .TP \fB\fIusername\fB\fR 声明要删除的 PostgreSQL 用户名。 如果你没有在命令行上声明,将会被提示输入一个。 .TP \fB-e\fR .TP \fB--echo\fR 回显 dropuser 生成的命令并发送给服务器。 .TP \fB-i\fR .TP \fB--interactive\fR 在真正删除用户前前提示。 .TP \fB-q\fR .TP \fB--quiet\fR 不显示响应。 .PP .PP \fBcreateuser\fR 还接受下列命令行参数用作连接参数: .TP \fB-h \fIhost\fB\fR .TP \fB--host \fIhost\fB\fR 声明运行服务器的机器的主机名。 如果数值以斜扛开头,则它被用做到 Unix 域套接字的路径。 .TP \fB-p \fIport\fB\fR .TP \fB--port \fIport\fB\fR 声明服务器 正在侦听的互联网 TCP 端口号或本地Unix域套接字的文件扩展(描述符)。 .TP \fB-U \fIusername\fB\fR .TP \fB--username \fIusername\fB\fR 连接的用户名(不是要创建的用户名)。 .TP \fB-W\fR .TP \fB--password\fR 强制口令提示(与服务器连接的口令,不是新用户的口令。) .PP .SH "ENVIRONMENT 环境" .TP \fBPGHOST\fR .TP \fBPGPORT\fR .TP \fBPGUSER\fR 缺省连接参数。 .SH "DIAGNOSTICS 诊断" .PP 如果出现错误,将会显示后端错误信息。参阅 DROP USER [\fBdrop_user\fR(7)] 和 \fBpsql\fR(1) 获取可能信息描述。 数据库服务器必须在目标主机上运行。同样,任何 libpq 前端库可获得的缺省设置和环境变量都将生效。 .SH "EXAMPLES 例子" .PP 删除缺省数据库服务器上的用户 joe: .sp .nf $ \fBdropuser joe\fR DROP USER .sp .fi .PP 用在主机eden上的服务器删除用户joe, 端口是 5000,执行命令前提示并且显示执行的命令: .sp .nf $ \fBdropuser -p 5000 -h eden -i -e joe\fR User "joe" and any owned databases will be permanently deleted. Are you sure? (y/n) \fBy\fR DROP USER "joe" DROP USER .sp .fi .SH "SEE ALSO 参见" \fBcreateuser\fR(1), DROP USER [\fBdrop_user\fR(7)] .SH "译者" .B Postgresql 中文网站 .B 何伟平 manpages-zh-1.6.3.3/src/man1/du.1000066400000000000000000000127211327105066500162210ustar00rootroot00000000000000.\" Copyright Andries Brouwer, Ragnar Hojland Espinosa and A. Wik, 1998. .\" Chinese Version Copyright mhss, www.linuxforum.net, 2000 .\" This file may be copied under the conditions described .\" in the LDP GENERAL PUBLIC LICENSE, Version 1, September 1998 .\" that should have been distributed together with this file. .\" .TH DU 1 "November 1998" "GNU fileutils 4.0" .SH NAME du \- 报告磁盘空间使用情况 .SH 总览 .BI "du [" options "] [" file... ] .sp POSIX 选项: .B [\-askx] .SH GNU 选项 (最短格式): .B "[-abcDhHklLmsSxX]" .BI "[--block-size=size] [--exclude=pattern] [--max-depth=n]" .B "[--help] [--version] [--]" .SH 描述 du 报告指定的文件已使用的磁盘空间的总量,包括在层次结构中以 这些以指定文件为根的目录在内。这里的\(lq已使用的磁盘空间\(rq意思 为指定的文件下的整个文件层次结构所使用的空间。 .PP 在没给定参数的情况下,du 报告当前目录所使用的磁盘空间。 .SH POSIX 细节 输出结果在缺省时以512字节为计数单位,若给以 -k 选项,则以 1024字节为计数单位。 .SH GNU 细节 (在没有用选项指定计数单位的情况下)输出结果以1024字节为计数 单位,但不包括由于设置了环境变量POSIXLY_CORRECT而跟从POSIX 标准的情况。 .SH POSIX 选项 .TP .B "\-a" 显示对涉及到的所有文件的统计,而不只是包含子目录。 .TP .B "\-k" 用1024字节作为计数单位,替代缺省时512字节的计数单位。 .TP .B "\-x" 只输出指定参数的实际使用空间,而不包括其下的子目录。 .TP .B "\-s" 只统计指定参数的在同一设备上所使用的空间。 .SH GNU 选项 .TP .B "\-a, \-\-all" 显示对所有文件的统计,而不只是包含子目录。 .TP .B "\-b, \-\-bytes" 输出以字节为单位的大小,替代缺省时1024字节的计数单位。 .TP .BI "\-\-block\-size=" size 输出以块为单位的大小,块的大小为 size 字节。( file- utils-4.0 的新选项) .TP .B "\-c, \-\-total" 在处理完所有参数后给出所有这些参数的总计。这个选项被 用给出指定的一组文件或目录使用的空间的总和。 .TP .B "\-D, \-\-dereference\-args" 引用命令行参数的符号连接。但不影响其他的符号连接。 这对找出象 /usr/tmp 这样的目录的磁盘使用量有用, /usr/tmp 等通常是符号连接。 译住:例如在 /var/tmp 下建立一个目录test, 而/usr/tmp 是指向 /var/tmp 的符号连接。du /usr/tmp 返回一项 /usr/tmp , 而 du - D /usr/tmp 返回两项 /usr/tmp,/usr/tmp/test。 .TP .BI "\-\-exclude=" pattern 在递归时,忽略与指定模式相匹配的文件或子目录。模式 可以是任何 Bourne shell 的文件 glob 模式。( file- utils-4.0 的新选项) .TP .B "\-h, \-\-human\-readable" 为每个数附加一个表示大小单位的字母,象用M表示二进制 的兆字节。 .TP .B "\-H, \-\-si" 与 -h 参数起同样的作用,只是使用法定的 SI 单位( 用 1000的幂而不是 1024 的幂,这样 M 代表的就是1000000 而不是 1048576)。(fileutils-4.0 的新选项) .TP .B "\-k, \-\-kilobytes" 输出以1024字节为计数单位的大小。 .TP .B "\-l, \-\-count\-links" 统计所有文件的大小,包括已经被统计过的(作为一个硬连接)。 .TP .B "\-L, \-\-dereference" 引用符号连接(不是显示连接点本身而是连接指向的文件或 目录所使用的磁盘空间)。 .TP .B "\-m, \-\-megabytes" 输出以兆字节的块为计数单位的大小(就是 1,048,576 字节)。 .TP .BI "\-\-max\-depth=" n 只输出命令行参数的小于等于第 n 层的目录的总计。 --max-depth=0的作用同于-s选项。(fileutils-4.0的新选项) .TP .B "\-s, \-\-summarize" 对每个参数只显示总和。 .TP .B "\-S, \-\-separate\-dirs" 单独报告每一个目录的大小,不包括子目录的大小。 .TP .B "\-x, \-\-one\-file\-system" 忽略与被处理的参数不在同一个文件系统的目录。 .TP .BI "\-X " "file, " "\-\-exclude\-from=" "file" 除了从指定的文件中得到模式之外与 --exclude 一样。 模式以行的形式列出。如果指定的文件是'-',那么从标准输 入中读出模式。(fileutils-4.0 的新选项) GNU 标准选项 .TP .B "\-\-help" 在标准输出上输出帮助信息后正常退出。 .TP .B "\-\-version" 在标准输出上输出版本信息后正常退出。 .TP .B "\-\-" 终结选项列表 .SH 缺陷 对于从 HP-UX 系统上以 NFS 方式挂装上的文件,在 BSD 系统上的 du 报告的大小是正确数值的一半;而对于从 BSD 系统上以 NFS 方 式挂装上的文件,HP-UX 系统上的 du 报告的大小是正确数值的翻 倍。这是 HP-UX 的缺陷导致的,这个缺陷也影响HP-UX的 du 程序。 .SH 变量 变量 POSIXLY_CORRECT 确定计数单位的选择。如果没有设置此变 量并且环境变量 BLOCKSIZE 的值以`HUMAN'为前缀,那么,除了 -k 或 -m 选项优先生效的情况,计数单位的行为同于 -h 选项。 变量 LANG、LC_ALL、LC_CTYPE 和 LC_MESSAGES 的意义和字面上 一样。 .SH 遵循的标准 POSIX 1003.2 .SH 注意事项 本页面描述的 du 可在 fileutils-4.0 包中找到,其他版本可能有细 微的不同。把更正和补充以邮件的形式发送到 aeb@cwi.nl。向 file utils-bugs@gnu.ai.mit.edu.报告程序存在的缺陷。 .SH "[中文版维护人]" .B mhss .SH "[中文版最新更新]" .BR 2000/10/19 .SH "《中国linux论坛man手册页翻译计划》:" .BI http://cmpp.linuxforum.net manpages-zh-1.6.3.3/src/man1/dumpkeys.1000066400000000000000000000135071327105066500174550ustar00rootroot00000000000000.TH DUMPKEYS 1 "09 Oct 1997" "Console tools" "Linux User's Manual" .SH NAME dumpkeys \- 转储显示键盘翻译表 .SH "总览 (SYNOPSIS)" .B dumpkeys [ .I \-hilfn1 .IB \-S shape .IB \-c charset .I \-\-help \-\-short\-info \-\-long\-info \-\-numeric \-\-full\-table .I \-\-separate\-lines .IB \-\-shape= shape .I \-\-funcs\-only \-\-keys\-only \-\-compose\-only .IB \-\-charset= charset .B ] .SH "描述 (DESCRIPTION)" .B dumpkeys 以 .BR keymaps (5) 中 描述 的 格式, 在 标准输出 显示 键盘驱动程序 翻译表 的 当前内容. .PP 下面 提供了 多种 选项, 可以 控制 输出格式, 也可以 显示 来自 内核 或 .BR dumpkeys (1) 和 .BR loadkeys (1) 的 其他信息. .SH "选项 (OPTION)" .TP .I \-h \-\-help 在 标准错误 上 显示 版本号 和 简短 的 用法, 然后 结束. .TP .I \-i \-\-short-info 显示 内核 键盘驱动程序 的 某些 特征: .RS 内核 支持的 键值(keycode) 范围: .PP .RS 这个特征指, 在 键盘映射文件 中, .B keycode 关键字 后面 可以 使用 什么值. 有关 这个文件 的 语法 和 其他信息 参看 .BR keymaps (5). .RE 单键 可编联(bind) 的 动作(action) 数: .PP .RS 这个特征指, 通过 修饰键 的 组合, 一个键 能够 发生 多少个 不同的 动作. 例如, 如果 该值是 16, 那么 一个键 结合 修饰键 可以 产生 多达 16 个 动作. 此时, 内核 大约 知道 存在 四个 修饰键, 你可以 按下 不同的 修饰键 组合 获得 所有 定义的 动作. .RE 内核 支持的 动作码(action code) 值域(range): .PP .RS 这一项 包含 用 十六进制 表示的 动作码 值域. 这些值 能够 用在 按键定义 的 右边, 也就是 下面 这行 的 .IR vv 部分: .RS .B keycode .I xx = .I vv vv vv vv .RE (有关 按键定义行 的 细节 参见 .BR keymaps (5) ). .BR dumpkeys (1) 和 .BR loadkeys (1) 支持 符号表示法, 它 比 数字表示法 更优越, 内核 和 内核 之间的 动作码 可能 不一样, 而 符号名字 一般 不变. 然而, 动作码值域 列表 可以 用来 判断 内核 是否 支持 .BR loadkeys (1) 识别的 全部 符号, 或者 内核 支持的 动作 在 .BR loadkeys (1) 中 有没有 对应的 符号名. 你 可以 比较一下 值域列表 和 动作符号表, 参见 下述的 .I --long-info 选项. .RE 内核 支持的 功能键(function key) 数目: .PP .RS 这个特征 指 能够 用来 输出 字符串 的 动作码 数目. 这些 动作码 往往 编联 键盘上的 功能键 和 编辑键, 输出 标准 escape 序列. 然而 你 可以 重定义 这些键, 让 它们 输出 命令行, 电子邮件地址 或者 其他什么. 特别是 某些 编号 的 功能键 和 编辑键 在 键盘上 不存在, 这样 就有了 "空闲的" 动作码, 例如, 把 它们 和 AltGr-字母组合 编联, 用来 输出 有用的 字符串. 详情 参见 .BR loadkeys (1). .RE 功能串(function string): .PP .RS 可以 用 下面的 命令 查看 当前 的 功能键 定义 .RS .BI dumpkeys \ \-\-funcs\-only .RE .RE .RE .TP .I \-l \-\-long-info 这个选项 要求 .B dumpkeys 显示 较多的 信息. 显示 的 信息 除了 .I --short-info 选项 的 内容 外, 增加了 .BR loadkeys (1) 和 .BR dumpkeys (1) 支持 的 动作 的 符号名 列表, 及 对应的 数值. .TP .I \-n \-\-numeric 这个选项 阻止 .B dumpkeys 把 动作码 翻译成 符号名, 只 显示 十六进制数字. .TP .I \-f \-\-full-table 这个选项 使 .B dumpkeys 跳过 所有 速记形式(short-hand) (参见 .BR keymaps (5)), 以 行排格式(canonical) 输出 键值编联. 首先是 keymaps 行, 描述 当前 定义的 修饰键 及其 组合. 然后 每个键 显示 一行, 其中 每个 修饰键 的 组合 占 一列. 例如, 如果 键盘映射表 使用了 七个 修饰键组合, 那么 每行 将显示 七列 动作码. 这种格式 用于 诸如 对 .BR dumpkeys 输出 的 后处理 等. .TP .I \-1 \-\-separate\-lines 这个选项 使 .B dumpkeys 把 每个 (修饰键,键值)对 用 一行 显示. 前缀 .I plain 表示 没有 使用 修饰键. .TP .IB "\-S \-\-shape=" shape 这个选项 告诉 .B dumpkeys 使用 指定的 表格格式. 允许的 表格格式 有 .BI 0 : 缺省格式 (就象 没使用 .IR \-S 一样); .BR 1 : 和 使用 选项 .IR \-\-full\-table 一样; .BR 2 : 和 使用 选项 .IR \-\-separate\-lines 一样; .BR 3 : 每个 键值 占用 一行 (就象 格式 .BR 1 一样), 直到 遇到 第一个 空项(hole), 然后 每个 (修饰键,键值)对 一行 (就象 格式 .BR 2 一样). (译注: 空项 位置 可参考 dumpkeys 不带参数时 显示的 第一行, keymaps 行) .TP .I \-\-funcs-only 这个选项 使 .B dumpkeys 只显示 功能键 定义的 字符串. 否则 .B dumpkeys 既显示 串定义, 也显示 键值编联. .TP .I \-\-keys-only 这个选项 使 .B dumpkeys 只显示 键值编联. 否则 .B dumpkeys 既显示 串定义, 也显示 键值编联. .TP .I \-\-compose-only 这个选项 使 .B dumpkeys 只显示 组合键(compose key) 定义. 它 只对 支持 组合键 的 内核 有效. .TP .IB \-c "charset " \-\-charset= charset 这个选项 使 .B dumpkeys 根据 指定的 字符集 翻译 字符码值. 它 只影响 字符码值 对 符号名 的 翻译. 用 .I \-\-help 选项 可以 列出 .I charset 的 有效值. 如果 没有 指定 .I charset, 缺省字符集 是 .B iso-8859-1. 这个选项 能够 输出 一个 `charset "iso-8859-X"' 行, 告诉 loadkeys 如何 翻译 键盘映射表. (例如, "division" 在 .B iso-8859-1 中 是 0xf7, 但在 .BR iso-8859-8 中 是 0xba). .SH "文件 (FILE)" .I /usr/lib/kbd/keymaps/ 推荐 存放 键盘映射 文件 的 目录. .SH "另见 (SEE ALSO)" .BR loadkeys (1), .BR keymaps (5). .SH "[中文版维护人]" .B 徐明 .SH "[中文版最新更新]" .BR 2001/12/10 第一版 .SH "《中国Linux论坛man手册页翻译计划》:" .BI http://cmpp.linuxforum.net manpages-zh-1.6.3.3/src/man1/echo.1000066400000000000000000000040551327105066500165300ustar00rootroot00000000000000.\" DO NOT MODIFY THIS FILE! It was generated by help2man 1.47.3. .\"******************************************************************* .\" .\" This file was generated with po4a. Translate the source file. .\" .\"******************************************************************* .TH ECHO 1 2017年10月 "GNU coreutils 8.28" 用户命令 .SH 名称 echo \- 显示一行文本 .SH 概述 \fBecho\fP [\fI\,短选项\/\fP]... [\fI\,字符串列表\/\fP]... .br \fBecho\fP \fI\,长选项\/\fP .SH 描述 .\" Add any additional description here .PP 将字符串列表中的字符输出到标准输出。 .TP \fB\-n\fP 不输出尾随的换行符 .TP \fB\-e\fP 启用解释反斜杠的转义功能 .TP \fB\-E\fP 禁用解释反斜杠的转义功能(默认) .TP \fB\-\-help\fP 显示此帮助信息并退出 .TP \fB\-\-version\fP 显示版本信息并退出 .PP 若 \fB\-e\fP 可用,则以下序列即可识别: .TP \e\e 反斜线 .TP \ea 报警符(BEL) .TP \eb 退格符 .TP \ec 禁止尾随的换行符 .TP \ee escape 字符 .TP \ef 换页符 .TP \en 另起一行 .TP \er 回到行首 .TP \et 水平制表符 .TP \ev 垂直制表符 .TP \e0NNN 字节数以八进制数 NNN (1至3位)表示 .TP \exHH 字节数以十六进制数 HH (1至2位)表示 .PP 注意:您的 shell 可能内置了自己的 echo 程序版本,它会覆盖这里所提及的相应版本。请查阅您的 shell 文档获知它所支持的选项。 .SH 作者 由 Brian Fox 和 Chet Ramey 编写。 .SH 报告错误 GNU coreutils 的在线帮助: .br 请向 报告 echo 的翻译错误。 .SH 版权 Copyright \(co 2017 Free Software Foundation, Inc. License GPLv3+: GNU GPL version 3 or later . .br This is free software: you are free to change and redistribute it. There is NO WARRANTY, to the extent permitted by law. .SH 参见 完整文档请见: .br 或者在本地使用: info \(aq(coreutils) echo invocation\(aq manpages-zh-1.6.3.3/src/man1/ecpg.1000066400000000000000000000056561327105066500165400ustar00rootroot00000000000000.TH "ECPG" "1" "2003-11-02" "Application" "PostgreSQL Client Applications" .SH NAME ecpg \- 嵌入的 SQL C 预处理器 .SH SYNOPSIS .sp \fBecpg\fR\fR [ \fR\fB\fIoption\fB\fR...\fB \fR\fR]\fR\fR \fIfile\fR...\fR\fR .SH "DESCRIPTION 描述" .PP \fBecpg\fR 是一个嵌入的用于C 语言的 SQL 预编译器。 它把嵌有 SQL 语句的 C 程序通过将 SQL 调用替换成特殊的函数调用的方法转换成普通的 C 代码。 然后输出的文件就可以用任何 C 编译工具进行处理。 .PP \fBclusterdb\fR 将把命令行上给出的每个输入文件转换成对应的 C 输出文件。 输入文件最好有 .pgc 的扩展名, 这样,这个扩展将被替换成 .c 来决定输出文件名。 如果输入文件的扩展不是 .pgc,那么输出文件名将通过在全文件名后面附加 .c 来生成。 输出文件名也可以用 -o 选项覆盖。 .PP 本手册页并不描述嵌入的 SQL 语句,参阅 Chapter 29 获更多信息。 .SH "OPTIONS 选项" .PP \fBclusterdb\fR 接受下列命令行参数: .TP \fB-c\fR 为 SQL 代码自动生成某种 C 代码。目前,这个选项可以用于 EXEC SQL TYPE。 .TP \fB-C \fR\fImode\fR 设置一个兼容模式。mode 可以是 INFORMIX 或者 INFORMIX_SE。 .TP \fB-D \fR\fIsymbol\fR 定义一个 C 预编译器符号。 .TP \fB-i\fR 同时也分析系统包含文件。 .TP \fB-I \fIinclude-path\fB\fR 声明一个附加的包含路径。用于寻找通过 EXEC SQL INCLUDE 包含的文件。缺省是 .(当前目录), /usr/local/include, 在编译时定义的PostgreSQL 包含路径(缺省: /usr/local/pgsql/include)和 /usr/include。顺序如上。 .TP \fB-o \fIfilename\fR 声明ecpg应该把它的所有输出写到给出的 filename里。 .TP \fB-t\fR 打开自动提交模式。在这种模式象,每个查询都自动提交, 除非它是包围在一个明确的事务块中。在缺省模式下, 命令只是在发出 EXEC SQL COMMIT 的时候提交。 .TP \fB-v\fR 打印额外的信息,包括版本和包含路径。 .TP \fB--help\fR 显示一个命令用法的简单摘要,然后退出。 .TP \fB--version\fR 显示版本信息,然后退出。 .SH "NOTES 注意" 在编译预处理的 C 代码文件的时候,编译器需要能够找到 PostgreSQL 包含目录里面的 ECPG 头文件。因此,我们在调用编译器的时候可能需要使用 -I (比如,-I/usr/local/pgsql/include)。 使用了嵌入 SQL 的 C 代码必须和 libecpg 库链接,比如,使用这样的链接选项: -L/usr/local/pgsql/lib -lecpg 这些目录的实际值可以通过 \fIpg_config\fP(1) 找到。 .SH "EXAMPLES 例子" .PP 如果你有一个叫 prog1.pgc 的嵌入 SQL 的 C 源代码,你可以用下面的命令序列创建一个可执行程序: .sp .nf ecpg prog1.pgc cc -I/usr/local/pgsql/include -c prog1.c cc -o prog1 prog1.o -L/usr/local/pgsql/lib -lecpg .sp .fi .SH "译者" .B Postgresql 中文网站 .B 何伟平 manpages-zh-1.6.3.3/src/man1/egrep.1000066400000000000000000000000201327105066500167000ustar00rootroot00000000000000.so man1/grep.1 manpages-zh-1.6.3.3/src/man1/eject.1000066400000000000000000000150311327105066500167000ustar00rootroot00000000000000.\" 本文件版权所有(C) 1994-1999 Jeff Tranter .\" (tranter@pobox.com) .\" 它可在GNU出版许可版本2或更高版本下发布.参见 GNU 出版许可的 COPYING 章节以 .\" 获知该文件可以重新发布的条件. .TH EJECT 1 1999年1月21日 Linux User Commands(用户命令) .SH NAME (名称) eject \- 弹出可移动介质 .SH SYNOPSIS(总览) eject -h.breject [-vnrsfq] [] .br eject [-vn] -d.breject [-vn] -a on|off|1|0 [] .br eject [-vn] -c slot [] .br eject [-vn] -t [] .SH DESCRIPTION(描述) .B Eject 允许可移动介质(典型是 CD-ROM,软盘,磁带,或者 JAZ 以及 ZIP 磁盘) 在软件控制下弹出.该命令也可以控制一些多盘片 CD-ROM 控制器, 控制一些设备支持的自动弹出功能,以及控制一些 CD-ROM 驱动器磁盘托盘的关闭. 与 name 相应的设备将被弹出.name 可以为设备文件或者其挂载点, 也可以为完整路径或者省略前面的 /dev 或者 /mnt 设备文件名. 如果没有指定 name,缺省使用 cdrom.有四种不同的弹出的方法, 具体要看设备是 CD-ROM, SCSI设备, 可移动软盘, 还是磁带而定. 默认的弹出会依次尝试所有四种方法, 直到成功为止. 如果设备当前是挂载上来的, 那么在弹出前要先卸载. .PP .SH COMMAND\-LINE OPTIONS (命令\-行选项) .TP 0.5i .B -h 该选项使得 .B eject 显示关于命令选项的简要描述. .TP 0.5i .B -v 令 .B eject 在冗长模式下运行; 显示更多的关于命令作什么用的信息. .TP 0.5i .B -d 如果调用了这个选项, .B eject 会显示默认的设备名. .TP 0.5i .B -a on|1|off|0 该选项控制一些设备支持的自动弹出模式. 当激活时, 驱动器自动在设备关闭时弹出. .TP 0.5i. B -c 有了这个选项, 可由 ATAPI/IDE CD-ROM 控制器选择一个 CD 槽. Linux 2.0 或者更高版本要求使用该功能.CD-ROM 驱动器不能在正使用时 (已挂载数据 CD 或者在播放音乐 CD)响应工作改变请求. 还要注意控制器的第一个槽设为 0,而不是 1. .TP 0.5i .B -t 有了这个选项, 会发一个关闭 CD-ROM 托盘的命令给驱动器. 不是所有的设备都支持该命令. .TP 0.5i .B -n 有了这个选项, 显示选定的设备, 但是不执行任何动作. .TP 0.5i .B -r 该选项指定了使用 CDROM 弹出命令应被弹出的驱动器. .TP 0.5i .B -s 该选项指定了使用 SCSI 命令应被弹出的驱动器. .TP 0.5i .B -f 该选项指定了使用可移动软盘弹出命令应被弹出的驱动器. .TP 0.5i. B -q 该选项指定了使用磁带驱动器离线命令应被弹出的驱动器. .SH LONG OPTIONS(长选项) 所有选项与以下列出的长名字相关. 只要长名字缩写唯一, 它就可以缩写. .br -h --help .br -v --verbose .br -d --default .br -a --auto .br -c --changerslot .br -t --trayclose .br -n --noop .br -r --cdrom .br -s --scsi .br -f --floppy .br -q --tape .br .SH EXAMPLES(示例) .PP 弹出默认设备: .IP eject .PP 弹出名字为 cdrom 的设备或者挂载点: .IP eject cdrom .PP 使用设备名来弹出: .IP eject /dev/cdrom .PP 使用挂载点来弹出: .IP eject /mnt/cdrom/ .PP 弹出第四个 IDE 设备: .IP eject hdd .PP 弹出第一个 SCSI 设备: .IP eject sda .PP 使用 SCSI 分区名(例如 ZIP 设备)来弹出 :.IP eject sda4 .PP 在多盘片控制器上选择第五个磁盘: .IP eject -v -c5 /dev/cdrom .PP 在 SoundBlaster CD-ROM 驱动器上开启自动弹出功能: .IP eject -a on /dev/sdpcd .SH EXIT STATUS(退出状态) .PP 如果操作成功, 返回 0, 如果操作失败或者命令语法无效, 则返回 1. .SH NOTES(备注) .PP .B Eject 只对支持四种弹出方式其中之一或更多的设备起作用. 这些设备包括大多数的 CD-ROM 驱动器 (IDE, SCSI 和专有接口的), 一些 SCSI 磁带驱动器, JAZ 驱动器, ZIP 驱动器(并口, SCSI 以及 IDE 版本接口的), 以及 LS120 可移动软盘. 用户已经报告过在 Sun SPARC 和 Apple Macintosh 系统上的软盘驱动器也成功了. 如果 .B eject 不起作用, 最可能的原因是由于设备的内核驱动的限制, 而并非 .B eject 程序本身的问题. -r, -s, -f 和 -q 选项可以控制弹出的方式. 可指定一种以上的方式. 如果没有指定任何这些选项, 它会尝试所有四种方式(这在多数情况下工作很好). .B Eject 不一定总是能判断设备是否已经挂载(例如, 如果设备有多个名字). 如果设备名是一个符号链接, .B eject 会跟随该链接并使用其指向的设备. 如果 .B eject 判断设备能有多个分区, 它会尝试在弹出前卸载所有该设备已挂载的分区. 如果卸载失败, 程序不会尝试弹出该介质. 你可以弹出音频 CD. 如果驱动器为空, 一些 CD-ROM 驱动器会拒绝打开其托盘. 一些设备不支持托盘关闭的命令. 如果激活了自动弹出的功能. 那么驱动器总会在运行该命令后弹出. 不是所有的 Linux 内核 CD-ROM 驱动程序都支持自动弹出模式. 你需要适当的特权以访问设备文件. 在弹出一些设备(例如, SCSI 设备)时, 要求以 root 或者 setuid root 的身份运行. 用来找到给定名字的设备的搜索方法如下. 如果名字以标记斜线结束, 它将被移去(这是为了支持使用 shell 文件名补全所生成的文件名). 如果名字以 '.' 或 '/' 开头, 它会试图以设备文件名或者挂载点打开它. 如果那样失败了, 它会尝试在名字前面补加 '/dev/', '/mnt', `/dev/rdsk/', '/dev/dsk/' 以及 './', 直到找到的设备文件名或者能够打开挂载点为止. 程序检查 /etc/mtab 以获知已挂载的设备. 如果那样也失败了, 它还会检查 /etc/fstab 以获知当前未挂载设备的挂载点. 推荐创建如 /dev/cdrom 或者 /dev/zip 之类的符号链接,这样 .B eject 可以使用易记的名字决定合适的设备. 为了节约输出, 你可以创建一个适合于你的特定配置的针对 eject 选项的 shell 别名. .SH AUTHOR(作者) .B Eject 由 Jeff Tranter (tranter@pobox.com) 写成, 并在 GNU 通用出版许可的条例下发布. 参看源文件中的文件 COPYING 和注释以获知详情. .SH 又见 mount(2), umount(2), mount(8), umount(8) .br /usr/src/linux/Documentation/cdrom/ .SH "[中文版维护人]" .B riser .SH "[中文版最新更新]" .BR 2001/08/08 .SH "《中国linux论坛man手册页翻译计划》:" .BI http://cmpp.linuxforum.net manpages-zh-1.6.3.3/src/man1/emacs.1000066400000000000000000000331141327105066500167000ustar00rootroot00000000000000.TH EMACS 1 "1995 December 7" .UC 4 .SH NAME emacs \- GNU Emacs .SH "总览 (SYNOPSIS)" .B emacs [ .I command-line switches ] [ .I files ... ] .br .SH "描述 (DESCRIPTION)" .I GNU Emacs 是 .I Emacs 的 一个 版本, 是由 最早的 (PDP-10) .I Emacs 的 作者 Richard Stallman 写的. .br GNU Emacs 的 主要 文档 都 在 GNU Emacs 手册 里, 可以 通过 Info (Emacs 的 一个 子系统) 在线 浏览. 请 在那儿 寻找 完整的 最新的 文档. 自愿者们 不定时 的 更新 这个 文档; 而 Emacs 的 维护者们 就可以 抽出 更多的 时间 来 用在 其它 更有用的 项目上. .br 对 用户 来讲, 其它 .I Emacs 提供的 功能 GNU Emacs 都有, 而且 因为 它的 命令 是 用 Lisp 写的, 所以 扩展性 很好. .PP .I Emacs 拥有 一个 可扩展的 交互式的 帮助 功能, 但 这 要求 你 知道 怎么 操纵 .I Emacs 窗口 和 缓冲区. CTRL-h (backspace 或者 CTRL-h) 进入 帮助 系统. 帮助 教程 (CTRL-h t) 是 一个 交互式的 教程, 可以 在 很短 的 时间内 教会 初学者 .I Emacs 的 基本 操作. 帮助 Apropos (CTRL-h a) 帮助 你 根据 其 功能 找到 命令, 帮助 字符 (CTRL-h c) 描述 一个 指定 的 字符 的 作用, 帮助 功能 (CTRL-h f) 描述 一个 由 名称 指定 的 Lisp 函数. .PP .I Emacs 的 能够 撤销 你的 缓冲区 的 很多 层 修改, 所以 它 很 容易 从 编辑 错误 中 恢复. .PP .I GNU Emacs 的 很多 专门 的 包 能够 收发 邮件 (RMail/Mail), 大纲 编辑 (Outline), 编译 (Compile), 在 .I Emacs 窗口 中 运行 子 shell (Shell), 执行 Lisp 读-估值-显示 (read-eval-print) 循环 (Lisp-Interaction-Mode), 以及 自动 心理 疗法 (Doctor). .PP 这有 一个 可扩展 的 参考 手册, 但是 就算 其它 Emacs 的 用户 没有 这个 手册, 也能 很快 适应 的. 刚 开始 使用 .I Emacs 的 用户 也 能够 通过 它的 自包含 的 文档 功能 学习 教程, 很快 就能 使用 其 基本 的 特性. .PP .SM Emacs Options .PP 以下 是 常用 的 选项: .TP 8 .I file 编辑 .I file. .TP .BI \+ number 跳到 .I number 指定 的 行 (不要 在 "+" 和 number 间 加个 空格). .TP .B \-q 不 装载 初始化 文件. .TP .BI \-u " user" 装载 .I user 的 初始化 文件. .TP .BI \-t " file" 把 指定 的 .I file 作为 终端, 而 不是 stdin/stdout. 这 必须 是 命令行 的 第一个 参数. .PP 下面 的 选项 是 面向 lisp 的(这些 选项 根据 先后 顺序 处理): .TP 8 .BI \-f " function" 执行 lisp 函数 .I function. .TP .BI \-l " file" 装载 文件 .I file 里面 的 lisp 代码. .PP 下面 的 选项 在 把 .I Emacs 作为 批处理 编辑器 时 很有用: .TP 8 .BI \-batch 当 批处理 模式 编辑. 编辑器 会 把 消息 发送 至 stderr. 这个 选项 必须 是 参数 列表 中 的 第一个. 你 必须 用 -l 和 -f 来 指定 执行 的 文件 和 调用 的 函数. .TP .B \-kill 在 批处理 模式 时 退出 .I Emacs. .\" 如果你没有用 X 从这里删除 .PP .SM 在 X 下 用 Emacs .PP .I Emacs 已经 被 修改 为 在 X 窗口 系统 下 能 很好的 运行. 如果 你在 X 下 运行 .I Emacs, 它会 创建 它 自己 的 窗口 来 显示. 也许 你想 把 编辑器 作为 后台 进程 运行, 这样 你 仍然 可以 用 你原来 的 窗口. .PP 启动 .I Emacs 可以 用 下面 的 X 选项: .TP 8 .BI \-name " name" 指定 初始 .I Emacs 窗口 的 名字. 这个 选项 不仅 控制 窗口 标题 也 控制 X 资源 的 查找. .TP 8 .BI \-title " name" 指定 初始 X 窗口 的 标题. .TP 8 .B \-r 用 翻转 影像(reverse video) 显示 .I Emacs 窗口. .TP .B \-i 当 图标化 .I Emacs 窗口 时 用 "kitchen sink" 位图 图标. .TP .BI \-font " font, " \-fn " font" 把 .I Emacs 窗口 的 字体 设置 成 .I font 指定 的 字体. 你会在 .I /usr/lib/X11/fonts 目录 下 找到 许多 .I X 字体. 注意 .I Emacs 只 接受 固定 宽度 字体. 根据 X11R4 字体 命名 规定, 所有 字体名 第 7 字段 是 "m" 或者 "c" 的 字体 都是 固定 宽度 字体. 还有, 字体名 是 .IR width x height 形式 的 字体 一般 也是 固定 宽度的, 就像 .IR fixed 字体 一样. 更多 的 信息 参见 .IR xlsfonts (1). 在 指定 字体 的 时候 请注意 在 选项 和 字体名 中间 加 一个 空格. .TP .BI \-b " pixels" Set the 把 .I Emacs 窗口 边框 宽度 设置 成 .I pixels 指定 的 像素. 默认的 是 窗口 每边 都是 一个 像素. .TP .BI \-ib " pixels" 把 窗口 内边框 宽度 设置 成 .I pixels 指定 的 像素. 默认的 是 窗口 每边 都 填充 一个 像素. .PP .TP 8 .BI \-geometry " geometry" 设置 .I Emacs 窗口 的 宽度, 高度, 以及 位置, 其 格式 是 标准 的 X 格式; 具体 参见 .IR X (1) . 宽度 和 高度 是 用 字符 指定的; 默认 的 是 80 乘以 24. .PP .TP 8 .BI \-fg " color" 如果 是 彩色 显示器, 设置 文本 的 颜色. 在 .I /usr/lib/X11/rgb.txt 文件 中 有 可用 的 颜色 名字 列表. .TP .BI \-bg " color" 如果 是 彩色 显示器, 设置 窗口 背景 颜色. .TP .BI \-bd " color" 如果 是 彩色 显示器, 设置 窗口 边框 颜色. .TP .BI \-cr " color" 如果 是 彩色 显示器, 设置 窗口 文本 光标 的 颜色. .TP .BI \-ms " color" 如果 是 彩色 显示器, 设置 窗口 鼠标 光标 的 颜色. .TP .BI \-d " displayname, " \-display " displayname" 在 .IR displayname 指定 的 显示器 上 创建 .I Emacs 窗口. 它 必须 是 命令行 的 第一个 参数. .TP .B \-nw 告诉 .I Emacs 不要 用 它的 X 界面. 如果 你 在 一个 .IR xterm (1) 窗口 中 调用 .I Emacs 并且 加上了 这个 选项, 会在 这个 窗口 中 显示, 而 不是 新建 一个 X 窗口. 它 必须 是 命令行 的 第一个 参数. .PP 你 可以 在 你的 .I \.Xresources 文件 里面 为 你的 .I Emacs 窗口 设置 其 .I X 的 默认 值(见 .IR xrdb (1)). 用 如下 的 格式: .IP emacs.keyword:value .PP .I value 指定 了 .I keyword 的 默认值. .I Emacs 允许 你 设置 如下 关键字 的 默认值: .TP 8 .B font (\fPclass\fB Font) 设置 窗口 文本 字体. .TP .B reverseVideo (\fPclass\fB ReverseVideo) 如果 .I reverseVideo 的值 是 .I on, 窗口 就会 以 翻转 影像 显示. .TP .B bitmapIcon (\fPclass\fB BitmapIcon) 如果 .I bitmapIcon's 的值 是 .I on, 窗口 就会 图标化 为 "kitchen sink." .TP .B borderWidth (\fPclass\fB BorderWidth) 以 像素 为 单位 设置 窗口 的 边框 宽度. .TP .B internalBorder (\fPclass\fB BorderWidth) 以 像素 为 单位 设置 窗口 的 内边框 宽度. .TP .B foreground (\fPclass\fB Foreground) 只对 彩色 显示器 有用, 设置 窗口 的 文本 颜色. .TP .B background (\fPclass\fB Background) 只对 彩色 显示器 有用, 设置 窗口 的 背景 颜色. .TP .B borderColor (\fPclass\fB BorderColor) 只对 彩色 显示器 有用, 设置 窗口 的 边框 颜色. .TP .B cursorColor (\fPclass\fB Foreground) 只对 彩色 显示器 有用, 设置 窗口 的 文本 光标 的 颜色. .TP .B pointerColor (\fPclass\fB Foreground) 只对 彩色 显示器 有用, 设置 窗口 的 鼠标 光标 的 颜色. .TP .B geometry (\fPclass\fB Geometry) 设置 .I Emacs 窗口 的 宽度, 高度, 以及 位置 (同 上面 描述 的 一样). .TP .B title (\fPclass\fB Title) 设置 .I Emacs 窗口 的 标题. .TP .B iconName (\fPclass\fB Title) 设置 .I Emacs 窗口 图标 的 图标名. .PP 如果 你 用的 是 黑白 显示器, 窗口 特性 将会是 下面的 默认值: 前景 颜色 为 黑色, 背景 颜色 为 白色, 边框 颜色 为 灰色, 文本 和 鼠标 光标 颜色 为 黑色. .PP .SM Using the Mouse .PP 以下 是 X11 下 .I Emacs 的 鼠标键 绑定. .in +\w'CTRL-SHIFT-middle'u+4n .ta \w'CTRL-SHIFT-middle'u+4n .ti -\w'CTRL-SHIFT-middle'u+4n 鼠标键 作用 .br .ti -\w'CTRL-SHIFT-middle'u+4n 左键 设置点. .br .ti -\w'CTRL-SHIFT-middle'u+4n 中键 粘贴 文本. .br .ti -\w'CTRL-SHIFT-middle'u+4n 右键 把 文本 剪切 到 X 剪切 缓冲区. .br .ti -\w'CTRL-SHIFT-middle'u+4n SHIFT-中键 把 文本 剪切 到 X 剪切 缓冲区. .br .ti -\w'CTRL-SHIFT-middle'u+4n SHIFT-右键 粘贴 文本. .br .ti -\w'CTRL-SHIFT-middle'u+4n CTRL-中键 把 文本 剪切 到 X 剪切 缓冲区 并且 删除. .br .ti -\w'CTRL-SHIFT-middle'u+4n CTRL-右键 选择 窗口, 然后 分拆 成 2 个 窗口. 同 键入 CTRL-x 2 一样. .\" 如果你没有用 X 从这里删除 .br .ti -\w'CTRL-SHIFT-middle'u+4n CTRL-SHIFT-左键 X buffer 菜单 -- 保持 按住 按键, 等 菜单 显示 出来, 选择 缓冲区, 释放 按键. 要 取消, 把 鼠标 移出 菜单 然后 释放 按键. .br .ti -\w'CTRL-SHIFT-middle'u+4n CTRL-SHIFT-中键 X help 菜单 -- 弹处 Emacs 帮助 的 索引 菜单. .\" 如果你没有用 X 从这里停止删除 .br .ti -\w'CTRL-SHIFT-middle'u+4n CTRL-SHIFT-右键 用 鼠标 选择 窗口, 关闭 其它 所有 窗口. 同 键入 CTRL-x 1 一样. .\" 如果你没有用 X 从这里停止删除 .PP .SH " 手册页 (MANUALS)" 你 可以 向 自由 软件 基金会(GNU 软件 的 开发者) 定购 GNU Emacs 手册页 的 印刷 拷贝. 定购 信息 参见 ORDERS 文件. .br 你的 本地的 Emacs 维护者 可能 有 拷贝. 象 所有 FSF 的 软件 和 印刷品 一样 , 所有的 人 都被 准许 制作 或 分发 Emacs 手册页, 同时 Emacs 源文件包 里面 也 包含 手册页 的 Tex 源文件. .PP .SH "文件 (FILES)" /usr/local/info - 所有 Info 文档 浏览器(Emacs 的 一个 子系统) 文档 的 所在地. 现在 不是 许多 Unix 系统 在 这里 都有 文档, 但是 所有 Emacs 手册页 文档 都 以 一种 树 结构 保存 在 这里. /usr/local/share/emacs/$VERSION/src - C 源文件 以及 目标文件 /usr/local/share/emacs/$VERSION/lisp - Lisp 源文件 和 一些 定义 常用的 编辑 命令 的 已经 编译 了的 文件. 有一些 文件 是 预先 装载 了的; 另外 一些 则是 要用 的 时候 自动 装载. /usr/local/share/emacs/$VERSION/etc - GNU Emacs 用到 的 许多 程序, 还有 一些 包含 常用 信息 的 文件. /usr/local/share/emacs/$VERSION/etc/DOC.* - 包含 GNU Emacs 的 Lisp primitive 和 预先 装载 的 Lisp 函数 的 文档 描述 字符串. 这样 可以 减小 Emacs 本身 的 大小. /usr/local/share/emacs/$VERSION/etc/OTHER.EMACSES 讨论 GNU Emacs vs. 其它 版本 的 Emacs. .br /usr/local/share/emacs/$VERSION/etc/SERVICE 向 GNU Emacs 用户 提供 各种 服务 的人 的 列表, 包括 教育, 疑难 排解, 移植 和 定制 等. .br 这些 文件 包含 一些 对 那些 想用 Emacs Lisp 扩展 语言(现在 还 没有 这个 语言 的 完整 的 文档) 写 程序 的人 有用 的 信息. /usr/local/com/emacs/lock - 为 Emacs 正在 编辑 的 所有 的 文件 的 上锁 文件 都在 这里, 这些 文件 可以 防止 两个 用户 同时 编辑 同一个 文件. .\" 如果你没有用 X 从这里删除 /usr/lib/X11/rgb.txt - 合法 X 颜色 名称 的 列表. .\" 如果你没有用 X 从这里停止删除 .PP .SH "错误 (BUGS)" 在 英特网 上 有一个 邮件 列表 bug-gnu-emacs@prep.ai.mit.edu (在 UUCPnet 上 是 ucbvax!prep.ai.mit.edu!bug-gnu-emacs), 可以 通过 这个 邮件 列表 报告 Emacs 的 错误 和 补丁. 但是 在 报告 一个 错误 之前 请 确认 它 的确 是个 错误, 不要 把 一个 一些 特性 误认为 是 错误. 我们 建议 你 读读 手册页(或者 Info 系统) 末尾 的 ``报告 Emacs 错误'' 一节, 那里 有 如何 以及 什么 时候 报告 错误 的 一些 描述. 还有 不要 忘了 在 \fI所有\fR 错误 报告 里 包含 你 运行 的 Emacs 的 版本号. 请 不要 指望 就 错误 报告 获得 个人 回答. 报告 错误 的 目的 是 在 下一个 发行版 中 清除 错误, 如果 可能. 如果 要 寻求 个人 帮助, 在 SERVICE 文件 (见上) 里 有 提供 服务 的人 的 名单. 请 不要 发送 任何 与 错误 报告 无关 的 东西 到 这个 邮件 列表 中. 请把 加入 邮件 列表 的 请求 发送 到 info-gnu-emacs-request@prep.ai.mit.edu (或者 相 对应 的 UUCP 地址 里). 在 /usr/local/emacs/etc/MAILINGLISTS 文件 里 有 更多 关于 邮件 列表 的 信息. 如果 我们 能 找到 导致 错误 的 代码, 那么 错误 多半 都能 被 清除, 所以 你 应该 尽量 详细 的 报告 错误, 使得 我们 能够 使 错误 重新 发生. .PP 我 知道 的 错误 有: 在 一些 版本 的 Unix 中, shell 不能 正常 运行 一些 在 原始 模式 (Raw mode) 下 运行 的 程序. .SH "无限制 (UNRESTRICTIONS)" .PP .I Emacs 是 自由 软件; 每个人 都可以 在 .I Emacs 通用 公共 许可证 中 申明 的 条款 下 把 .I Emacs 发布 给 每个人, 每个 .I Emacs 中 都 附带 有 此 条款, 在 手册页 中 也 包含 有 此 条款. .PP .I Emacs 的 拷贝 可能 被 打包 包含 在 一些 Unix 系统 中, 但是 它 并不在 那些 系统 所用 的 许可证 的 保护 下. 这种 行为 违背 了 允许 分发 的 条款. 事实上, 通用 公共 许可证 的 主要 目的 就是 禁止 任何人 在 .I Emacs 的 发布 上 加入 其它 任何 的 限制。 .PP Richard Stallman 倡导 大家 来 改进 扩展 .I Emacs, 并且 鼓励 大家 为 GNU 库 的 扩展 做出 贡献. 事实上 GNU (Gnu's Not Unix) 将会 成为 Berkeley Unix 的 代替品. 每个人 都可以 自由 的 使用, 拷贝, 学习 以及 改变 GNU 系统. .SH "参见 (SEE ALSO)" X(1), xlsfonts(1), xterm(1), xrdb(1) .SH "作者 (AUTHORS)" .PP .I Emacs 是 Richard Stallman 和自由软件基金会写的。 Joachim Martillo 和 Robert Krawitz 加入了 X 特性。 .SH "[中文版维护人]" .B 唐友 .SH "[中文版最新更新]" .BR 2001/9/20 .SH "《中国Linux论坛man手册页翻译计划》" .BI http://cmpp.linuxforum.net manpages-zh-1.6.3.3/src/man1/enable.1000066400000000000000000000000241327105066500170300ustar00rootroot00000000000000.so man1/builtins.1 manpages-zh-1.6.3.3/src/man1/env.1000066400000000000000000000036111327105066500163770ustar00rootroot00000000000000.\" DO NOT MODIFY THIS FILE! It was generated by help2man 1.47.3. .\"******************************************************************* .\" .\" This file was generated with po4a. Translate the source file. .\" .\"******************************************************************* .TH ENV 1 2017年10月 "GNU coreutils 8.28" 用户命令 .SH 名称 env \- 在重建的环境中运行程序 .SH 概述 \fBenv\fP [\fI\,选项\/\fP]... [\fI\-\fP] [\fI\,名称=值\/\fP]... [\fI\,命令 \/\fP[\fI\,参数列表\/\fP]...] .SH 描述 .\" Add any additional description here .PP 在环境中将每个指定名称的环境变量设为指定的值,并运行给定命令。 .PP 必选参数对长短选项同时适用。 .TP \fB\-i\fP, \fB\-\-ignore\-environment\fP 不带环境变量启动 .TP \fB\-0\fP, \fB\-\-null\fP 使每行输出以 NUL 字符结束,不添加换行符 .TP \fB\-u\fP, \fB\-\-unset\fP=\fI\,名称\/\fP 从环境中移除指定环境变量 .TP \fB\-C\fP, \fB\-\-chdir\fP=\fI\,指定目录名称\/\fP 将工作目录修改为指定的目录名称 .TP \fB\-\-help\fP 显示此帮助信息并退出 .TP \fB\-\-version\fP 显示版本信息并退出 .PP 单独的“\-”隐含选项 \fB\-i\fP。如果没有给定命令,则输出重建后的环境。 .SH 作者 由 Richard Mlynarik 和 David MacKenzie 编写。 .SH 报告错误 GNU coreutils 的在线帮助: .br 请向 报告 env 的翻译错误。 .SH 版权 Copyright \(co 2017 Free Software Foundation, Inc. License GPLv3+: GNU GPL version 3 or later . .br This is free software: you are free to change and redistribute it. There is NO WARRANTY, to the extent permitted by law. .SH 参见 完整文档请见: .br 或者在本地使用: info \(aq(coreutils) env invocation\(aq manpages-zh-1.6.3.3/src/man1/eval.1000066400000000000000000000000241327105066500165310ustar00rootroot00000000000000.so man1/builtins.1 manpages-zh-1.6.3.3/src/man1/ex.1000066400000000000000000000250671327105066500162340ustar00rootroot00000000000000.TH VIM 1 "1998 December 28" .SH NAME vim \- Vi IMproved, 一个程序员的文本编辑器 .SH "总览 (SYNOPSIS)" .br .B vim [options] [file ..] .br .B vim [options] - .br .B vim [options] \-t tag .br .B vim [options] \-q [errorfile] .PP .br .B ex .br .B view .br .B gvim .B gview .br .B rvim .B rview .B rgvim .B rgview .SH "描述 (DESCRIPTION)" .B Vim 是 一个 同 Vi 向上兼容的 文本 编辑器, 可以 用来 编辑 任何 ASCII 文本, 特别 适合 用来 编辑 程序. .PP 它对 Vi 作了 许多 增强: 多层撤销, 多窗口, 多缓冲区(buffer), 高亮度 语法显示, 命令行编辑, 文件名匹配, 在线帮助, 可视选定, 等等. 用 ":help vi_diff.txt" 看 .B Vim 和 Vi 的差别 的 摘要. .PP 在运行 .B Vim 的时候 可以用 ":help" 命令 获得 很多 帮助. 参考 下面的 在线帮助 一节. .PP 一般 可用 .PP vim file .PP 命令 打开 .B Vim 来 编辑 一个 文件. 概括的说, 可以用 .PP vim [options] [filelist] .PP 命令 来运行 .B Vim . 如果 没有 文件名, 编辑器 就会 打开 一个 空的 缓冲区. 否则 就会用 下面 四个中的一个 来选择 要编辑的 文件. .TP 12 file .. 文件名列表. 第一个 会 作为 当前 文件 读入 缓冲区, 光标 会 停在 缓冲区的 第一行. 你 可以用 ":next" 命令 转到 其它的 文件. 如果 要编辑 一个以 "-" 开头的 文件. 在文件 列表 前面 加上 "--". .TP - 从 标准输入 读取 被编辑的 文件. 从 标准 错误输出 (应该 是个 终端) 读入 命令. .TP -t {tag} 被 编辑的 文件 和 光标的 初始位置 由 标记 (tag) 决定, 标记 有点像 一种 goto 标签 (goto label). 在 标记文件中 找到 标记, 相应的 文件 成为 当前文件, 相应的 命令 被执行. 这种方式 常用于 C 程序, 标记 就是 函数名, 当前文件 就是 包含 那个函数的 文件, 光标 停留在 函数的 开始处. 见 ":help tag-commands"。 .TP -q [errorfile] 运行时 进入 快速修复模式. 读取 [errorfile] 文件 并显示 第一个 错误. 如果 没有 [errorfile] 文件, 文件名 由 'errorfile' 选项 决定 (在 Amiga 为 "AztecC.Err", 在 其他系统中 为 "errors.vim"). 可以 用 ":cn" 命令 跳到 其它错误处. 见 ":help quickfix"。 .PP .B Vim 会 根据 不同命令 有 不同的 表现, 尽管 它们 可能 是 一个 可执行 文件. .TP 10 vim 正常 模式, 所有 都是 默认状态. .TP ex 以 Ex 模式 运行. 用 ":vi" 命令 进入 正常模式. 也可以 加上 "-e" 选项 进入 此模式. .TP view 以 只读模式 运行. 你被禁止 写文件. 也可以 加上 "-R" 选项 进入 此模式. .TP gvim gview GUI 版本。 开启 一个 新的窗口. 也可以 加上 "-g" 选项 进入 此模式. .TP rvim rview rgvim rgview 同 上面的 相同, 只是 加上了 限制, 不能运行 shell 程序, 也 不能 暂停 .B Vim . 也 可以 加上 "-Z" 选项 进入 此模式. .SH "选项 (OPTIONS)" 所有选项 都可以 以 任何顺序 出现, 可以 在文件名前, 也可以 在文件名后. 没有 参数的 选项 可以 出现在 一个 "-" 后面. .TP 12 +[num] 对于 第一个 文件, 光标 会停在 第 "num" 行. 如果 没有 "num" , 则 光标 会停在 最后一行. .TP +/{pat} 对于 第一个文件, 光标 会停在 {pat} 第一次 出现的 地方. 搜寻 模式 见 ":help search-pattern"。 .TP +{command} .TP -c {command} 读入 第一个 文件后 会 执行 {command} 命令. {command} 应为 Ex 命令. 如果 {command} 中 包含有 空格, 必须 用双引号 括住 (这个取决于所用的 shell). 例: Vim "+set si" main.c .br 注意: 你 最多 可以用 10 个 "+" 或者 "-c" 命令. .TP -b 二进制模式. 设置 一些选项, 这样 就可以 用来 编辑 二进制 和 可执行 文件 了. .TP -C 兼容. 设置 'compatible' 选项. 这样 就算 存在 .vimrc 文件 .B Vim 也会 基本上 象 Vi 一样了. .TP -d {device} 打开 {device} 用作终端, 只在 Amiga 下。 例: "\-d con:20/30/600/150". .TP -e 以 Ex 模式 运行 .B Vim , 就像 运行 "ex" 一样。 .TP -f 前台 运行。 对于 GUI 版本, .B Vim 不会 同运行它的 shell 分离。 在 Amiga 中, .B Vim 不会 重新启动 来 开启一个 新窗口. 这个选项 会用在当 .B Vim 被 另外一个 程序执行, 并且 这个程序 想等编辑动作 结束后 再运行 的 时候 (如 mail). 在 Amiga 上 ":sh" 和 ":!" 不会起作用. .TP -F 如果 .B Vim 编译时 加入了 对 从右到左 书写的 文件 FKMAP 以及 Farsi 键盘映射 的支持, .B Vim 会 以 Farsi 模式 运行, 比如 设置 'fkmap' 和 'rightleft' 选项.不然 .B Vim 会 显示 一条 错误信息 并 终止. .TP -g 如果 .B Vim 编译时 加入 GUI 支持, 会开启 GUI, 不然 .B Vim 会 显示 一条 错误信息 并 终止. .TP -h .B Vim 显示 命令行 参数 和 选项的 帮助, 然后 终止. .TP -H 如果 .B Vim 编译时 加入了 对 从右到左 书写的 文件 RIGHTLEFT 以及 Hebrew 键盘映射 的支持, .B Vim 会以 Hebrew 模式 运行, 比如 设置 'hkmap' 和 'rightleft' 选项. 不然 .B Vim 会 显示 一条 错误信息 并 终止. .TP -i {viminfo} 准许 使用 viminfo 文件, 这个 选项 设置 使用的 文件名, 默认的 是 "~/.viminfo". 用 "NONE" 文件名 也可以 跳过 使用 .viminfo 文件. .TP -L 同 -r 一样. .TP -l Lisp 模式. 打开 'lisp' 和 'showmatch' 选项. .TP -m 禁止 修改文件. 设置 'write' 选项, 这样 就不能 写文件了. .TP -N 非兼容 模式. 设置 'compatible' 选项. 这样 .B Vim 会 表现得 更好, 就算 .vimrc 文件 不存在 也会 同 Vi 不兼容. .TP -n 禁止 交换文件, 这样 在崩溃后 就 不能 恢复 文件了. 对于 编辑 在很慢的 媒体中的 文件 很有好处 (比如软盘), 也可以 用 ":set uc=0" 禁止交换, 用 ":set uc=200" 开启 交换. .TP -o[N] 打开 N 个窗口. 如果没有 N, 为 每个文件 开一个 窗口. .TP -R 只读 模式. 设置 'readonly' 选项. 你 仍然 可以 编辑 缓冲区, 但是 不能 重写文件. 如果 你要 重写文件, 必须在 Ex 命令中 用惊叹号, 比如 ":w!". -R 选项 隐含了 -n 选项 (见下). 'readonly' 选项 可以 用 ":set noro" 设置. 见 ":help 'readonly'". .TP -r 列出 交换文件, 显示 关于 恢复文件的 信息. .TP -r {file} 恢复 模式. 交换文件 是 用来 恢复 在 编辑过程中 崩溃了的 文件. 交换 文件名 是 被编辑文件名 后面 加上 ".swp". 见 ":help recovery". .TP -s 安静 模式. 只在 用 "Ex" 启动 或者 用了 "-e" 选项 才有用. .TP -s {scriptin} 读入 脚本文件 {scriptin}. 文件里的 字符 就像 你 直接 输入 一样的, 也 可以 用 ":source! {scriptin}" 命令 实现 这个功能. 如果 在 编辑器 结束前 就 读到了 文件尾, 就 接着 从键盘 读入. .TP -T {terminal} 告诉 .B Vim 你 用的 终端的 名字, 只有 当 不能 自动确定 的时候 才这样. 它 必须是 .B Vim (builtin) 能辨认的 终端 或者是 在 termcap 或者 terminfo 文件中 定义了的. .TP -u {vimrc} 用 {vimrc} 文件 里的 命令 来初始化, 跳过 所有 其它的 初始化, 用 这个 来编辑 特殊类型的 文件. 也可以 用 "NONE" 来 跳过 所有初始化. 在 vim 中 用 ":help initialization" 查看 更多信息. .TP -U {gvimrc} 用 {gvimrc} 文件 里的 命令 来初始化 GUI, 跳过 所有 其它的 GUI 初始化, 也 可以 用 "NONE" 来跳过 所有 GUI 初始化. 在 vim 中 用 ":help gui-init" 查看 更多信息. .TP -V 冗长 显示. 显示 执行 初始化代码 和 读入的 文件, 并且 写 viminfo 文件. .TP -v 以 Vi 模式运行 .B Vim , 就像 运行 "vi" 一样, 只有 运行 "ex" 时 才有用. .TP -w {scriptout} 所有 在 .B Vim 退出前 你键入的 字符 都会被 存入 {scriptout} 文件. 这 用来 创建一个 脚本文件, 你 可以用 "vim -s" 和 ":source!" 来使用. 如果 {scriptout} 存在, 会 把 字符 追加到 后面. .TP -W {scriptout} 同 -w 一样, 但是 是覆盖 原来的文件. .TP -x 写文件时 加密. 会提示你 输入密码. .TP -Z 受限 模式. 同运行 以 "r" 开头的 程序 同效. .TP -- 表明 选项结束. 在此之后的 参数 都会被认为 是 文件名, 可以 用这个 来编辑 一个 以 '-' 开头 的文件. .SH "在线帮助 (ON-LINE HELP)" 在 .B Vim 中键入 ":help" 来 获得 帮助. 用 ":help subject" 来 获得 关于 一个 特定主题的 帮助. 例如 用 ":help ZZ" 来 获得 关于 "ZZ" 的帮助. 用 和 CTRL-D 来 完成 帮助主题 (":help cmdline-completion"). 可以 用 标记 从 一个地方 跳到 另一个 地方 (有点像 超文本连接, 见 ":help"). 所有的 文档 都可以 这样 来浏览, 比如 ":help syntax.txt". .SH "文件 (FILES)" .TP 15 /usr/share/vim/vim56/doc/*.txt .B Vim 文档文件. 用 ":help doc-file-list" 获得 完整的 列表. .TP /usr/share/vim/vim56/doc/tags 在 文档文件中 查找信息 用的 标签文件. .TP /usr/share/vim/vim56/syntax/syntax.vim 系统 语法 初始化 文件. .TP /usr/share/vim/vim56/syntax/*.vim 各种语言的 语法文件. .TP /usr/share/vim/vimrc 系统 .B Vim 初始化文件. .TP /usr/share/vim/gvimrc 系统 gvim 初始化文件. .TP /usr/share/vim/vim56/optwin.vim ":options" 命令 所用的 脚本文件, 这是个 查看 和 设置选项的 很好的 办法. .TP /usr/share/vim/vim56/menu.vim gvim 的 系统菜单 初始化文件. .TP /usr/share/vim/vim56/bugreport.vim 用来 生成 错误报告的 脚本文件, 见 ":help bugs". .TP /usr/share/vim/vim56/filetype.vim 根据 文件名 来判定 文件类型 的 脚本文件, 见 ":help 'filetype'". .TP /usr/share/vim/vim56/scripts.vim 根据 文件内容 来判定 文件类型 的 脚本文件, 见 ":help 'filetype'". .PP 最新 信息 参见 VIM 主页: .br \ .SH "参见 (SEE ALSO)" vimtutor(1) .SH "作者 (AUTHOR)" Most of .B Vim 的大部分 都是 Bram Moolenaar 在 很多人的 帮助下 完成的. 见 ":help credits". .br 虽然 不大会有 最早的 代码存在, 但是 .B Vim 基于 Stevie 写的代码, 之后被 Tim Thompson, Tony Andrews and G.R. (Fred) Walter 修改, 然后 才形成的. .SH "错误 (BUGS)" 多半都有. 用 ":help todo" 看 已知问题的 列表. .PP 注意 有些 被 报告为 错误的 事实上 是 应为 太相信 所有的 行为 都应该 同 Vi 一样, 如果 你因为 它 和 Vi 不一样 而 认为 它 是个 错误, 你 应该 好好 看看 vi_diff.txt 文件 (或者 在 Vim 中 键入 :help vi_diff.txt), 并且 看看 'compatible' 和 'cpoptions' 选项. .SH "[中文版维护人]" .B 唐友 .SH "[中文版最新更新]" .BR 2001/8/30 .SH "[中国Linux论坛man手册页翻译计划]" .BI http://cmpp.linuxforum.net manpages-zh-1.6.3.3/src/man1/exec.1000066400000000000000000000000241327105066500165260ustar00rootroot00000000000000.so man1/builtins.1 manpages-zh-1.6.3.3/src/man1/exit.1000066400000000000000000000000241327105066500165530ustar00rootroot00000000000000.so man1/builtins.1 manpages-zh-1.6.3.3/src/man1/expand.1000066400000000000000000000033771327105066500170770ustar00rootroot00000000000000.\" DO NOT MODIFY THIS FILE! It was generated by help2man 1.47.3. .\"******************************************************************* .\" .\" This file was generated with po4a. Translate the source file. .\" .\"******************************************************************* .TH EXPAND 1 2017年1月 "GNU coreutils 8.26" "User Commands" .SH 名称 expand \- 将制表符转换为空格 .SH 概述 \fBexpand\fP [\fI\,选项\/\fP]... [\fI\,文件列表\/\fP]... .SH 描述 .\" Add any additional description here .PP 将所列文件中的制表符转换为空格,且输出到标准输出。 .PP 如果没有指定文件,或者指定文件为“\-”,则从标准输入读取。 .PP 必选参数对长短选项同时适用。 .TP \fB\-i\fP, \fB\-\-initial\fP 不转换非空白符后的制表符 .TP \fB\-t\fP, \fB\-\-tabs\fP=\fI\,数值\/\fP 设置每个制表符为指定数值的宽度,而不是默认的 8 .TP \fB\-t\fP, \fB\-\-tabs\fP=\fI\,列表\/\fP 使用明确的制表位置列表,用逗号分隔 .TP \fB\-\-help\fP 显示此帮助信息并退出 .TP \fB\-\-version\fP 显示版本信息并退出 .SH 作者 由 David MacKenzie 编写。 .SH 报告错误 GNU coreutils 的在线帮助: .br 请向 报告 expand 的翻译错误。 .SH 版权 Copyright \(co 2016 Free Software Foundation, Inc. License GPLv3+: GNU GPL version 3 or later . .br This is free software: you are free to change and redistribute it. There is NO WARRANTY, to the extent permitted by law. .SH 参见 unexpand(1) .PP .br 完整文档请见: .br 或者在本地使用: info \(aq(coreutils) expand invocation\(aq manpages-zh-1.6.3.3/src/man1/export.1000066400000000000000000000000241327105066500171230ustar00rootroot00000000000000.so man1/builtins.1 manpages-zh-1.6.3.3/src/man1/expr.1000066400000000000000000000064201327105066500165660ustar00rootroot00000000000000.\" DO NOT MODIFY THIS FILE! It was generated by help2man 1.47.3. .\"******************************************************************* .\" .\" This file was generated with po4a. Translate the source file. .\" .\"******************************************************************* .TH EXPR 1 2017年10月 "GNU coreutils 8.28" 用户命令 .SH 名称 expr \- 对表达式求值 .SH 概述 \fBexpr\fP \fI\,表达式\/\fP .br \fBexpr\fP \fI\,选项\/\fP .SH 描述 .\" Add any additional description here .TP \fB\-\-help\fP 显示此帮助信息并退出 .TP \fB\-\-version\fP 显示版本信息并退出 .PP 将表达式的值打印至标准输出。以下说明以空行分隔优先级级别,运算优先级从低到高。表达式可能为: .TP 参数1 | 参数2 如果参数1 既不是 null 也不是 0,则为参数1,否则为参数2 .TP 参数1 & 参数2 如果两个参数都不是 null 也不是 0,则为参数1,否则为 0 .TP 参数1 < 参数2 参数1 小于参数2 .TP 参数1 <= 参数2 参数1 小于或等于参数2 .TP 参数1 = 参数2 参数1 等于参数2 .TP 参数1 != 参数2 参数1 不等于参数2 .TP 参数1 >= 参数2 参数1 大于或等于参数2 .TP 参数1 > 参数2 参数1 大于参数2 .TP 参数1 + 参数2 参数1 和参数2 的代数和 .TP 参数1 \- 参数2 参数1 和参数2 的代数差 .TP 参数1 * 参数2 参数1 和参数2 的代数乘积 .TP 参数1 / 参数2 参数1 除以参数2 的代数商 .TP 参数1 % 参数2 参数1 除以参数2 所得余数 .TP 字符串 : 正则表达式 在字符串中由给定正则表达式决定的锚定模式匹配 .TP match 字符串 正则表达式 与”字符串 : 正则表达式“相同 .TP substr 字符串 位置 长度 字符串的子串,位置由 1 开始计数 .TP index 字符串 CHARS 任何能够在字符串中找到的 CHARS 的位置,或者 0 .TP length 字符串 字符串 的长度 .TP + TOKEN 将 TOKEN 视作字符串,即使它是一个 .IP 类似于 'match' 的关键字或是一个类似 '/' 的操作符 .TP ( 表达式 ) 表达式 的值 .PP 请注意许多运算符需要在 shell 环境下转义或被引号引起。如果两个 参数 都是数字,那么比较将在代数意义下进行,否则将按照词典序比较。模式比较时,将返回在 \e( 和 \e) 之间的字符串或者 null;如果 \e( 和 \e) 未被使用,那么返回匹配的字符个数或者 0。 .PP 如果 表达式 既不是 null 也不是 0,则返回状态值为 0;如果 表达式 是 null 或 0,则返回状态值为 1;如果 表达式 在语法上无效,则返回状态值为 1;如果发生错误,则返回状态值为 3。 .SH 作者 由 Mike Parker, James Youngman 和 Paul Eggert 编写。 .SH 报告错误 GNU coreutils 的在线帮助: .br 请向 报告 expr 的翻译错误。 .SH 版权 Copyright \(co 2017 Free Software Foundation, Inc. License GPLv3+: GNU GPL version 3 or later . .br This is free software: you are free to change and redistribute it. There is NO WARRANTY, to the extent permitted by law. .SH 参见 完整文档请见: .br 或者在本地使用: info \(aq(coreutils) expr invocation\(aq manpages-zh-1.6.3.3/src/man1/factor.1000066400000000000000000000025771327105066500170770ustar00rootroot00000000000000.\" DO NOT MODIFY THIS FILE! It was generated by help2man 1.47.3. .\"******************************************************************* .\" .\" This file was generated with po4a. Translate the source file. .\" .\"******************************************************************* .TH FACTOR 1 2017年10月 "GNU coreutils 8.28" 用户命令 .SH 名称 factor \- 求质因数分解 .SH 概述 \fBfactor\fP [\fI\,数\/\fP]... .br \fBfactor\fP \fI\,选项\/\fP .SH 描述 .\" Add any additional description here .PP 打印参数列表中的每一个整数的质因数分解。如果没有指定参数,则从标准输入读取。 .TP \fB\-\-help\fP 显示此帮助信息并退出 .TP \fB\-\-version\fP 显示版本信息并退出 .SH 作者 由 Paul Rubin, Torbjorn Granlund 和 Niels Moller 编写。 .SH 报告错误 GNU coreutils 的在线帮助: .br 请向 报告 factor 的翻译错误。 .SH 版权 Copyright \(co 2017 Free Software Foundation, Inc. License GPLv3+: GNU GPL version 3 or later . .br This is free software: you are free to change and redistribute it. There is NO WARRANTY, to the extent permitted by law. .SH 参见 完整文档请见: .br 或者在本地使用: info \(aq(coreutils) factor invocation\(aq manpages-zh-1.6.3.3/src/man1/false.1000066400000000000000000000027231327105066500167040ustar00rootroot00000000000000.\" DO NOT MODIFY THIS FILE! It was generated by help2man 1.47.3. .\"******************************************************************* .\" .\" This file was generated with po4a. Translate the source file. .\" .\"******************************************************************* .TH FALSE 1 2017年10月 "GNU coreutils 8.28" 用户命令 .SH 名称 false \- (失败地)什么都不做 .SH 概述 \fBfalse\fP [\fI\,忽略命令行参数\/\fP] .br \fBfalse\fP \fI\,选项\/\fP .SH 描述 .\" Add any additional description here .PP 以表示失败的状态值退出。 .TP \fB\-\-help\fP 显示此帮助信息并退出 .TP \fB\-\-version\fP 显示版本信息并退出 .PP 注意:您的 shell 可能内置了自己的 false 程序版本,它会覆盖这里所提及的相应版本。请查阅您的 shell 文档获知它所支持的选项。 .SH 作者 由 Jim Meyering 编写。 .SH 报告错误 GNU coreutils 的在线帮助: .br 请向 报告 false 的翻译错误。 .SH 版权 Copyright \(co 2017 Free Software Foundation, Inc. License GPLv3+: GNU GPL version 3 or later . .br This is free software: you are free to change and redistribute it. There is NO WARRANTY, to the extent permitted by law. .SH 参见 完整文档请见: .br 或者在本地使用: info \(aq(coreutils) false invocation\(aq manpages-zh-1.6.3.3/src/man1/fc.1000066400000000000000000000000241327105066500161720ustar00rootroot00000000000000.so man1/builtins.1 manpages-zh-1.6.3.3/src/man1/fg.1000066400000000000000000000000241327105066500161760ustar00rootroot00000000000000.so man1/builtins.1 manpages-zh-1.6.3.3/src/man1/fgrep.1000066400000000000000000000000201327105066500167010ustar00rootroot00000000000000.so man1/grep.1 manpages-zh-1.6.3.3/src/man1/file.1000066400000000000000000000273121327105066500165320ustar00rootroot00000000000000.TH FILE 1 "Copyright but distributable" .SH NAME file \- 确定文件类型 .SH 总览 .B file [ .B \-bcnsvzL ] [ .B \-f 命名文件 ] [ .B \-m 幻数文件 ] file ... .SH 描述 本手册页说明了3.27版本 .B file 命令的使用. .B File 命令试图检查每个参数以判定文件的类型. 检查共有三组,按如下顺序进行:文件系统检查,幻数检查,以及语言检查. .I 文件系统 检查成功则输出文件类型. .PP 输出的类型一般会包含以下的词中的一个: .B text (文件中仅有 .SM ASCII 字符,可以用 .SM ASCII 终端读此文件,以保证内容的可靠性), .B executable (文件中保存的是程序编译后的结果,一些\s-1UNIX\s0 内核或其它内核能理解这类文件), 或者 .B data 表示所有其它类型文件(data 一般为二进制文件或者不可打印的). 但是有的常用的文件格式(如core文件、tar包),虽然也包含二进制数据, 却不属于这一类 如果要修改 .I /usr/share/magic 或者程序本身, .B "preserve these keywords" . 当文件为``text'' 类型时,认为此文件为可读文件. 不要象在Berkeley环境中那样做 \- 要把``shell commands text''改为``shell script''. .PP 文件系统检查是建立在对 .BR stat (2) 系统调用结果的分析上的. 程序会分析文件是否为空,或者是否是某种特殊文件. 对于所有可在现有系统上使用的文件类型 (比如套接 口文件,动态链接文件,命名管道文件(FIFOs) 等), 只要它在系统头文件 .IR sys/stat.h 中已经定义过,就可以被检查到. .PP 幻数检查用来检查文件中是否有特殊的固定格式的数据. 规范的例子如二进制可执行文件(编译后的程序) .I a.out ,该文件格式在标准include目录下的 .I a.out.h 文件中定义,也可能在 .I exec.h 中定义. 这些文件在文件开始部分附近的一个特殊位置保存有一个'幻数' , 通过幻数告诉\s-1UNIX\s0 操作系统此文件是二进制可执行文件, 和其中包含的其它类型. 幻数的概念已经扩展到数据文件.任何在文件固定位置有与文件类型 相关的不变标识符的文件都可以这样表示. 这些文件中的信息可以 从幻数文件 .I /usr/share/magic 中读取. .PP 如果文件为 .SM ASCII 文件, .B file 会试图检查它的语言. 语言检查在文件开始的几个块中(任意位置)查找是否有特殊字符串(参看 .IR names.h ) 例如,关键字 .B .br 指出此文件很可能是 .BR troff (1) 输入文件, 而关键字 .B struct 指出此文件是C程序. 语言检查不如前两组检查可靠,所以放在最后执行.它也用来检查 一些混合文件(例如 .BR tar (1) 存档文件)并确定文件是`ascii text'类型还是`data'类型. .SH 选项 .TP 8 .B \-b 不输出文件名 (简要模式). .TP 8 .B \-c 检查时打印输出幻数文件的解析结果.常与 .B \-m 一起使用,用来在安装幻数文件之前调试它. .TP 8 .B \-f 命名文件 从在参数表前的 .I 命名文件 中读出将要检查的文件名(每行一个文件).要有 .I 命名文件 ,或者至少有一个文件名参数; 如果要检查标准输入, 使用``-''作为文件参数. .TP 8 .B \-m list 指定包含幻数的文件列表.可以是单个文件,也可以是 用冒号分开的多个文件. .TP 8 .B \-n 每检查完一个文件就强制刷新标准输出. 仅在检查一组文件时才有效. 一般在将文件类型输出到管道时才采用此选项. .TP 8 .B \-v 打印程序版本并退出. .TP 8 .B \-z 试图查看压缩文件内部信息. .TP 8 .B \-L (在支持符号链接的系统上)选项显示符号链接文件的原文件, 就像 .BR ls (1) 命令的like-named 选项. .TP 8 .B \-s 通常, .B file 只是试图去检查在文件列表中那些 .BR stat (2) 报告为正常文件的文件的类型.由于读特殊文件将可能导致 不可知后果,所以这样可以防止发生问题.使用 .BR \-s 选项时 .B file 命令也将去读文件列表中的块特殊文件和字符特殊文件. 一般用于从原始磁盘分区中获得文件系统类型,此文件为块 特殊文件. 这个选项也导致 .B file 命令忽略 .BR stat (2) 报告的文件大小,因为在有些系统中原始磁盘分区的大小报告为0. .SH 文件 .I /usr/share/magic \- 默认的幻数列表 .SH ENVIRONMENT 环境变量 .B MAGIC 用于设置默认的幻数文件. .SH 参看 .BR magic (4) \- 幻数文件的格式. .br .BR strings (1), " od" (1), " hexdump(1)" \- 检查非textfile的工具. .SH 标准的一致性 本程序比System V 的FILE命令强大, 几乎能分辨出所有的模糊语言. 与System V 的FILE命令大部分兼容.本版本能识别更多的magic, 但是,也将因此在有些情况下会产生不同输出(尽管更加精确). .PP 本版本与System V的显著区别就是本版本对空格是作为分隔符来 处理的, 所以不能在格式字符串中包含空格. 例如,现有幻数文 件中的 .br >10 string language impress\ (imPRESS data) .br 要改为 .br >10 string language\e impress (imPRESS data) .br 另外, 格式字符串中的反斜线符号也要避免.例如,现有幻数文件中的 .br 0 string \ebegindata Andrew Toolkit document .br 要改为 .br 0 string \e\ebegindata Andrew Toolkit document .br .PP SunOS releases 3.2及以后的版本包括从System V 发展来的 .BR file (1) 命令,但有所扩展.本版本与Sun的file命令差别不大.它包括对 `&' 操作符的扩展,例如, .br >16 long&0x7fffffff >0 not stripped .SH MAGIC DIRECTORY 幻数文件项主要是从USENET收集来的,许多人都为此作出了贡献. Christos Zoulas (下边将提到的)将收集附加项信息及修正幻数文件项. 幻数文件项的合并表将会定时发布. .PP 幻数文件项的顺序非常重要.不同的系统上的幻数项放的顺序可能不同. 如果老的 .B file 命令使用幻数文件,请将旧的幻数文件改名保存, (如改为 .IR /usr/share/magic.orig ) 以便日后做比较用. .SH 举例 .nf $ file file.c file /dev/hda file.c: C program text file: ELF 32-bit LSB executable, Intel 80386, version 1, dynamically linked, not stripped /dev/hda: block special $ file -s /dev/hda{,1,2,3,4,5,6,7,8,9,10} /dev/hda: x86 boot sector /dev/hda1: Linux/i386 ext2 filesystem /dev/hda2: x86 boot sector /dev/hda3: x86 boot sector, extended partition table /dev/hda4: Linux/i386 ext2 filesystem /dev/hda5: Linux/i386 swap file /dev/hda6: Linux/i386 swap file /dev/hda7: Linux/i386 swap file /dev/hda8: Linux/i386 swap file /dev/hda9: empty /dev/hda10: empty .fi .SH 历史 There has been a .B file 命令至少是从研究版本6(手册页时间为1975年1月)开始加入\s-1UNIX\s0中的. System V 版本引入了一个重要变化:幻数类型的外部表.程序的运 行时间有轻微下降, 但是复杂性大大增加了. .PP 本程序是基于System V 版本的,由Ian Darwin独立设计和编写. .PP John Gilmore对源代码做了较大修改,在第一版基础上有较大提高. Geoff Collyer发现了一些不足之处,并提供了一些幻数文件项. 本程序一直在完善中. .SH 作者 由Ian F. Darwin写源码, UUCP 地址 {utzoo | ihnp4}!darwin!ian, 电子邮件 ian@sq.com, 邮寄地址: P.O. Box 603, Station F, Toronto, Ontario, CANADA M4Y 2L8. .PP 由Rob McMahon修改, cudcv@warwick.ac.uk, 1989, 并对`&'操作符进行了扩充 (不再仅仅是简单的 `x&y != 0',而是象`x&y op z'这样). .PP 由Guy Harris修改, guy@netapp.com, 1993,完成: .RS .PP 恢复``old-style'' `&' 操作符为原来的功能,因为 1) Rob McMahon所做的修改打破了原来的使用方式, 2) 本版本的 .B file 命令支持的SunOS 的``new-style'' `&' 操作符也处理 `x&y op z', 3) Rob的修改对某些情况没有考虑到; .PP 引入多级`>'; .PP 引入``beshort'', ``leshort'', 等关键字使得程序能够按照一定的比特顺序 查看文件中的比特数,而不是仅按运行 .BR file 时的本地比特顺序查看. .RE .PP 由Ian Darwin和其他作者(包括Christos Zoulas(christos@astron.com))修改, 1990-1999. .SH 合法性通告 版权所属 (c) Ian F. Darwin, Toronto, Canada, 1986, 1987, 1988, 1989, 1990, 1991, 1992, 1993. .PP 本软件独立于美国电话电报公司,Sun微系统公司,Digital设备公司, Lotus发展公司 , California大学董事会,X联盟或者MIT,或者自由软件基金会. .PP 本软件独立于美国商业部的任何出口规定,可以自由用于任何国家和行星. .PP 任何人无需授权即可在任何计算机系统上使用此软件用于任何目的, 可以自由修改和发布,但要遵守以下限制: .PP 1. 作者对使用此软件造成的任何后果不负任何责任,无论多么严重, 即使这些后果是由于软件造成的. .PP 2. 禁止不如实说明本软件的来源,无论是明确说错或是忽略. 由于很少有用户读源码, 所以在文件中一定要说明软件来源. .PP 3. 修改后的版本必须明白的标明,禁止将其作为原始软件.由于很少有用户读源码, 所以在文件中一定要说明软件来源. .PP 4. 禁止删除或修改本通告. .PP 随同本包发布的几个支持文件(\fIgetopt\fP, \fIstrtok\fP)由 Henry Spencer完成,同样适用以上条款. .PP 随同本包发布的几个支持文件(\fIstrtol\fP, \fIstrchr\fP)属于公共域的;都做了标记. .PP 文件 .I tar.h 和 .I is_tar.c 由 .B tar 程序组的John Gilmore完成,无需遵从以上条款. .SH 臭虫 必定存在一种更好的方法来根据Magdir中的glop来自动创建Magic 文件.是什么方法呢?要更好的实现,那么幻数文件应该编译成二进制 (就是说, .BR ndbm (3) 或者, 在异种网络环境中采用定长的 .SM ASCII 字符串)来加快启动速度.这样,程序就能达到Version 7 中的 file命令那样的运行速度,同时又具有System V 版本的灵活性. .PP .B File 使用的一些算法虽然提高了速度,但精确性降低了,因此 在对 .SM ASCII 文件内容操作有时会出错. .PP 对 .SM ASCII 文件的支持(基本上是对编程语言)过于简单,效率较低,需要重新编译并更新. .PP 在一系列连续行后应该跟着有一个``else''从句. .PP 幻数文件和关键词应该有正则表达式的支持. 使用 .SM "ASCII TAB" 作为分隔符非常不足取,导致很难编辑文件, 但也因此受到保护. .PP 在关键词中使用大写字母是可取的. 例如, .BR troff (1) 命令与查看手册页的宏. 正则表达式支持将使这易于实现. .PP 本程序没有实现对 \s-2FORTRAN\s0 的理解. 应该能够通过在开始行中出现的关键字识别出\s-2FORTRAN\s0 . 正则表达式支持将使这易于实现. .PP 文件 .I ascmagic 中的关键词表可能应归入Magic文件. 这能通过使用象`*'这样的关键词来实现偏移量. .PP 另一个优化是要对幻数文件排序,这样,我们就可以 在取得第一个比特,第一个词,第一个长整型,等等的时候完成 对它们所有的检查.抱怨在幻数文件项中的冲突.制定一条规则, 将幻数项在文件偏移量的基础上排序,胜过在幻数文件里指定位置吗? .PP 本程序应提供一种方法来评价一种猜测有"多么好". 我们去除了一些先前的设想(如,将 ``From '' 作为文件的最初5个字符) 因为它们不如其它的设想好(如,``Newsgroups:'' 对"Return-Path:"). 如果没有其它的设想提出,就很可能会采纳第一种设想. .PP 本程序比某些file命令执行速度慢. .PP 本手册,特别是本部分,比较长. .SH 可用性 可以通过匿名FTP登陆到 .B ftp.astron.com 在目录下 .I /pub/file/file-X.YY.tar.gz 获得作者的命令的最新版本 .SH "[中文版维护人]" .B 姓名 .SH "[中文版最新更新]" .B 2001/07/15 .SH "《中国linux论坛man手册页翻译计划》:" .BI http://cmpp.linuxforum.net manpages-zh-1.6.3.3/src/man1/find.1000066400000000000000000000370261327105066500165360ustar00rootroot00000000000000.TH FIND 1 \" -*- nroff -*- .SH NAME find \- 递归地在层次目录中处理文件 .SH 总览 SYNOPSIS .B find [path...] [expression] .SH 描述 DESCRIPTION 这个文档是GNU版本 .BR find 命令的使用手册。 .B find 搜索目录树上的每一个文件名,它从左至右运算给定的表达式,按照优先规则(见运 算符OPERATORS一节)进行匹配,直到得出结果(左边运算在 '与' 操作中得出假, 在'或' 操作中得出真),然后 .B find 移向下一个文件名。 .PP 第一个以 '\-' , '(' , ')' , ',' 或 '!' 这些字符起始的参数是表达式的开始; 在它之前的任何参数是要搜索的路径,在它之后的任何参数都是表达式的余下部分。 如果没有路径参数,缺省用当前目录。如果没有表达式,缺省表达式 用 '\-print'. .PP 当所有文件都成功处理时 .B find 退出并返回状态值0。如果发生错误则返回一个大于0的值。 .SH 表达式 EXPRESSIONS .P 表达式是由\fB选项\fR(选项总是影响所有的操作, 而不仅仅是一个指定的文件的处 理, 而且总是返回真值),\fB测试\fR(测试返回一个真值或一个假值),还有\fB动 作\fR(动作有side effects, 返回一个真值或假值) 组成。它们都以运算符分开.忽 略运算符的时候,默认使用 \-and 连接. 如果表达式没有包含 \-prune 以外的动 作,当表达式为真时会执行 \-print 动作。 .SS 选项 OPTIONS .P 所有的选项都总是返回真值,它们总会被执行,除非放在表达式中执行不到的地方。 因此,清楚起见,最好把它们放在表达式的开头部分。 .IP \-daystart 从当日起始时开始而不是从24小时之前,计算时间(for \-amin, \-atime, \-cmin, \-ctime, \-mmin, and \-mtime)。 .IP \-depth 先处理目录的内容再处理目录本身。 .IP \-follow 不检索符号链接。隐含了 \-noleaf。 .IP "\-help, \-\-help" 列出 .B find 的命令行用法的概要,然后退出。 .IP "\-maxdepth \fIlevels\fR" 进入命令行参数指定的目录下层目录时,最深不超过\fIlevels\fR(一个非负整数) 层。`\-maxdepth 0' 意味着只在命令行参数指定的目录中执行测试和动作。 .IP "\-mindepth \fIlevels\fR" 不在\fIlevels\fR(一个非负整数)层之内执行任何测试和动作。`\-mindepth 1'意 味着处理所有的文件,除了命令行参数指定的目录中的文件。 .IP \-mount 不进入处于其它文件系统之上的目录。可以用\-xdev代替,从而和一些其他版本的 .BR find 兼容。 .IP "\-noleaf" 不为\(lq目录中子目录数量比硬连接数少2\(rq这种假设做优化。这个选项在搜索那些不遵 循UNIX文件系统链接约定的文件系统时用,比如CD-ROM,MS-DOS文件系统或AFS卷的 加载点。在普通的UNIX文件系统中,每个目录至少有两个硬连接,它的名字和它 的 '.' 条目。另外,它的子目录(假如有)还会各有一个 '..' 链接到它。在 .B find 检索一个目录时,发现子目录数比它的连接数少二时,它就知道目录中的其他条目 并非目录(而是目录树中的叶(`leaf')节点)。除非需要检索的是这个叶节点,否则 没必要去处理它。这样可以带来很大的搜索速度提升。 .IP "\-version, \-\-version" 打印\fBfind\fR的版本号然后退出。 .IP \-xdev 不进入处于其他文件系统之上的目录。 .SS 测试 TESTS .P 数字参数可以这样给出: .IP \fI+n\fP 是比 .IR n 大, .IP \fI\-n\fP 是比 .IR n 小, .IP \fIn\fP 正好是 .IR n 。 .IP "\-amin \fIn\fR" 对文件的最近一次访问是在 \fIn\fR 分钟之前。 .IP "\-anewer \fIfile\fR" 对文件的最近一次访问比 \fIfile\fR 修改时间要晚。如果命令行中 \-follow 在 \-anewer 之前,(也只有在这种情况下) \-anewer 会受 \-follow 的影响。 .IP "\-atime \fIn\fR" 对文件的最近一次访问是在 \fIn\fR*24 小时之前。 .IP "\-cmin \fIn\fR" 对文件状态的最近一次修改是在 \fIn\fR 分钟之前。 .IP "\-cnewer \fIfile\fR" 对文件状态的最近一次修改比 \fIfile\fR 修改时间要晚。如果命令行中 \-follow 在 \-cnewer 之前,(也只有在这种情况下) \-cnewer 会受 \-follow 的影响。 .IP "\-ctime \fIn\fR" 对文件状态的最近一次修改是在 \fIn\fR*24 小时之前。 .IP \-empty 文件是空的普通文件或者空目录。 .IP \-false 总是false。 .IP "\-fstype \fItype\fR" 文件处于 \fItype\fR 类型的文件系统之上。有效的文件系统类型在不同版本的Unix中是不同的;一些Unix中的不完全的文件系统类型列表是这样:ufs, 4.2, 4.3, nfs, tmp, mfs, S51K, S52K. 你可以用 \-printf 加上 %F 指令来查看你的文件系统的类型。 .IP "\-gid \fIn\fR" 文件的数字形式的组ID是 \fIn\fR。 .IP "\-group \fIgname\fR" 文件属于 \fIgname\fR (也允许使用数字形式的组ID). .IP "\-ilname \fIpattern\fR" 和 \-lname 类似,但是匹配时是不区分大小写的。 .IP "\-iname \fIpattern\fR" 和 \-name 类似,但是匹配时是不区分大小写的。例如,`fo*' and `F??' 模式与文件名 `Foo', `FOO', `foo', `fOo' 等等相匹配。 .IP "\-inum \fIn\fR" 文件的 i 结点数是 \fIn\fR。 .IP "\-ipath \fIpattern\fR" 和 \-path 类似,但是匹配时是不区分大小写的。 .IP "\-iregex \fIpattern\fR" 和 \-regex 类似, 但是匹配时是不区分大小写的。 .IP "\-links \fIn\fR" 文件有 \fIn\fR 个链接。 .IP "\-lname \fIpattern\fR" 文件是一个与\fIpattern\fR 匹配的符号链接。元字符不会对`/' 或 `.' 做特殊处理。 .IP "\-mmin \fIn\fR" 对文件数据的最近一次修改是在 \fIn\fR 分钟之前。 .IP "\-mtime \fIn\fR" 对文件数据的最近一次修改是在 \fIn\fR*24 小时之前。 .IP "\-name \fIpattern\fR" 基本的文件名(将路径去掉了前面的目录)与shell模式\fIpattern\fR相匹配。元字符(`*', `?', 还有`[]' ) 不会匹配文件名开头的`.' 。使用 \-prune 来略过一个目录及其中的文件。查看 \-path 的描述中的范例。 .IP "\-newer \fIfile\fR" 对文件的最近一次修改比 \fIfile\fR 修改时间要晚。如果命令行中 \-follow 在 \-newer 之前,(也只有在这种情况下) \-newer 会受 \-follow 的影响。 .IP \-nouser 没有符合文件的数字形式的用户ID的用户。 .IP \-nogroup 没有符合文件的数字形式的组ID的组。 .IP "\-path \fIpattern\fR" 文件名与shell模式\fIpattern\fR相匹配。元字符不会对`/' 或 `.' 做特殊处理。因此,例如: .br .in +1i find . \-path './sr*sc' .br .in -1i 如果存在 './src/misc' 的话,会将它打印出来。想要忽略一个完整的目录树,应当使用\-prune 而不是检查目录树中所有的文件。例如:要跳过 'src/emacs' 目录和其中所有的文件和子目录,把其他找到的文件打印出来,应当这样: .br .in +1i find . \-path './src/emacs' -prune -o -print .br .in -1i .IP "\-perm \fImode\fR" 文件的权限位恰好是 \fImode\fR (八进制或符号)。 Symbolic modes use mode 0 as a point of departure. .IP "\-perm \-\fImode\fR" 所有的权限位 \fImode\fR 都被设置了的文件。 .IP "\-perm +\fImode\fR" 任何权限位 \fImode\fR 被设置了的文件。 .IP "\-regex \fIpattern\fR" 文件名与正则表达式 \fIpattern\fR 匹配。这是对整个路径的匹配,不是搜索文件。例如,要匹配名为`./fubar3' 的文件,可以使用正则表达式 `.*bar.' 或者 `.*b.*3',但是不能用`b.*r3'。 .IP "\-size \fIn\fR[bckw]" 文件使用了 \fIn\fP 单位个存储单元。默认的单位是512字节的块,也可以用\fIn\fP后面加上 `b' 来指定这个值。其他的单位是字节,如果在 \fIn\fP 后面加上 `c' ;千字节(kB),如果在 \fIn\fP 后面加上`k' ;两字节的字,如果在 \fIn\fP 后面加上 `w' 。大小不会计入 indirect blocks,但是会计入没有真正分配空间的疏松文件中的块。 .IP \-true 总是true。 .IP "\-type \fIc\fR" 文件是 \fIc\fR 类型的。类型可取值如下: .RS .IP b 特殊块文件(缓冲的) .IP c 特殊字符文件(不缓冲) .IP d 目录 .IP p 命名管道 (FIFO) .IP f 普通文件 .IP l 符号链接 .IP s 套接字 .IP D 门 (Solaris 特有) .RE .IP "\-uid \fIn\fR" 文件的数字形式的用户ID是 \fIn\fR 。 .IP "\-used \fIn\fR" 文件最后一次存取是在最后一次修改它的状态的 \fIn\fR 天之后。 .IP "\-user \fIuname\fR" 文件的所有者是 \fIuname\fR (也可以使用数字形式的用户ID). .IP "\-xtype \fIc\fR" 和 \-type 相同,除非文件是一个符号链接。对于符号链接:如果没有给出 \-follow ,如果文件是一个指向 \fIc\fR 类型文件的链接,那么返回true;如果给出了 \-follow ,如果 \fIc\fR 是 `l' 那么返回true。换句话说,对于符号链接,\-xtype 检查那些 \-type 不检查的文件。 .SS 动作 ACTIONS .IP "\-exec \fIcommand\fR ;" 执行 \fIcommand\fR;如果命令返回状态值0,那么 exec 返回true。所有 .B find 其余的命令行参数将作为提供给命令的参数,直到遇到一个由 `;' 组成的参数为止。命令的参数中,字符串 `{}' 将以正在处理的文件名替换。所有的 `{}' 都会被替换,不仅是在单独的一个参数中。有些版本的 .BR find 不是这样做的。 这些参数可能需要用 `\e' 来escape 或者用括号括住,防止它们被shell展开。命令是从起始目录执行的。 .IP "\-fls \fIfile\fR" 返回true;类似 \-ls 但是像 \-fprint 那样写入 \fIfile\fR。 .IP "\-fprint \fIfile\fR" 返回true;将文件全名打印到文件 \fIfile\fR 中。如果运行 \fBfind\fR 时 \fIfile\fR 不存在,那么它将被创建。如果它存在,它将被覆盖。文件名``/dev/stdout'' 和``/dev/stderr'' 会作特殊处理;它们分别指的是标准输出和标准错误输出。 .IP "\-fprint0 \fIfile\fR" 返回true;类似 \-print0 但是像 \-fprint 那样写入 \fIfile\fR。 .IP "\-fprintf \fIfile\fR \fIformat\fR" 返回true;类似 \-printf 但是像 \-fprint 那样写入 \fIfile\fR。 .IP "\-ok \fIcommand\fR ;" 类似 \-exec 但是会先向用户询问 (在标准输入); 如果回应不是以 `y' 或 `Y' 起始则不会运行 \fIcommand\fR 而是返回false。 .IP \-print 返回true;在标准输出打印文件全名,然后是一个换行符。 .IP \-print0 返回true;在标准输出打印文件全名,然后是一个null字符。这样可以使得处理 \fBfind\fR 的输出的程序可以正确地理解带有换行符的文件名。 .IP "\-printf \fIformat\fR" 返回true;在标准输出打印 \fIformat\fR , 解释 `\e' escape 还有 `%' 指令。字段宽度和精度可以像C函数 `printf' 那样来指定。与 \-print 不同的是, \-printf 在字符串末端不会添加一个新行。可用的escape 和指令如下: .RS .IP \ea 警告铃声 .IP \eb 回退 .IP \ec 立即停止以当前格式输出,刷新输出设备。 .IP \ef 表格结束 .IP \en 新行 .IP \er 回车 .IP \et 水平tab .IP \ev 竖直tab .IP \e\e 输出自身`\e' .IP \eNNN ASCII编码是NNN(八进制)的字符 .PP 在一个 `\e' 字符后面使用任何其他字符会被作为普通的字符,因此它们都会被打印出来。 .IP %% 输出自身`%' .IP %a 文件最后一次存取的时间。格式是C函数 `ctime' 返回值的格式。 .IP %A\fIk\fP 文件最后一次存取的时间。格式以 \fIk\fR 指定,可以是 `@' 或者是C函数 `strftime' 的指令格式。下面列出了 \fIk\fR 可用的值;有一些并不是在所有系统上都可用,因为不同系统中 `strftime' 也不同。 .RS .IP @ 从 Jan. 1, 1970, 00:00 GMT 起的秒数 .PP 时间字段: .IP H 小时 (00..23) .IP I 小时 (01..12) .IP k 小时 ( 0..23) .IP l 小时 ( 1..12) .IP M 分钟 (00..59) .IP p 本地的 AM 或者 PM .IP r 12小时格式的时间 (hh:mm:ss [AP]M) .IP S 秒 (00..61) .IP T 24小时格式的时间 (hh:mm:ss) .IP X 本地的时间表示方法 (H:M:S) .IP Z 时区(例如,EDT),如果不能决定时区就是空 .PP 日期字段: .IP a 本地一星期中每天的名称的缩写(Sun..Sat) .IP A 本地一星期中每天的全名,可变长度 (Sunday..Saturday) .IP b 本地每月的名称的缩写 (Jan..Dec) .IP B 本地每月的全名,可变长度 (January..December) .IP c 本地的日期和时间表示 (Sat Nov 04 12:02:33 EST 1989) .IP d 一个月当中的日子 (01..31) .IP D 日期 (mm/dd/yy) .IP h 与 b 相同 .IP j 一年当中的日子 (001..366) .IP m 月份 (01..12) .IP U 以星期日作为每周起始,一年当中的星期 (00..53) .IP w 一星期当中的日子 (0..6) .IP W 以星期一当作每周起始,一年当中的星期 (00..53) .IP x 本地的日期表示 (mm/dd/yy) .IP y 年份的最后两位 (00..99) .IP Y 年份 (1970...) .RE .IP %b 文件大小,以512字节的块为单位 (四舍五入)。 .IP %c 文件状态最后一次修改的时间。格式是C函数 `ctime' 返回值的格式。 .IP %C\fIk\fP 文件状态最后一次修改的时间。格式以 \fIk\fR 指定,类似于%A。 .IP %d 文件在目录树中的深度;0 意味着文件是一个命令行参数。 .IP %f 去掉了前面的目录的文件名 (只剩下最后的成分)。 .IP %F 文件所在文件系统的类型;这个值可以为 \-fstype 所用。 .IP %g 文件的组名,如果组没有名称就是数字形式的组ID。 .IP %G 文件的数字形式的组ID。 .IP %h 文件名的前面的目录部分 (仅除去最后的成分)。 .IP %H 据以找到了文件的命令行参数。 .IP %i 文件的 i 结点号(16进制)。 .IP %k 文件大小,以1kB 的块为单位 (四舍五入)。 .IP %l 符号链接的目标 (如果文件不是一个符号链接,那么结果是空字符串)。 .IP %m 文件的权限位 (8进制)。 .IP %n 文件的硬连接数。 .IP %p 文件名。 .IP %P 文件名,去掉了据以找到了文件的命令行参数的名称部分。 .IP %s 文件大小,以字节为单位。 .IP %t 文件最后一次修改的时间。格式是C函数 `ctime' 返回值的格式。 .IP %T\fIk\fP 文件最后一次修改的时间。格式以 \fIk\fR 指定,类似于%A。 .IP %u 文件的用户名,如果用户没有名称就是数字形式的用户ID。 .IP %U 文件的数字形式的用户ID。 .PP 在一个 `%' 字符后面使用任何其他字符,`%' 将被忽略 (但是其他字符会被打印出来)。 .RE .IP \-prune 如果没有给出 \-depth 则返回 true; 不进入当前目录。 .br 如果给出了 \-depth 则返回false; 没有效果。 .IP \-ls 返回true;以 `ls \-dils' 格式在标准输出列出文件。块以1kB 字节为单位计数,除非设置了环境变量POSIXLY_CORRECT,那样的话会使用 512字节的块。 .SS 运算符 OPERATORS .P 以优先级高低顺序排列: .IP "( \fIexpr\fR )" 强制为优先 .IP "! \fIexpr\fR" 如果 \fIexpr\fR 是false则返回true .IP "\-not \fIexpr\fR" 与 ! \fIexpr\fR 相同 .IP "\fIexpr1 expr2\fR" 与 (隐含的默认运算符);如果 \fIexpr1\fR 为false则不会执行 \fIexpr2\fR .IP "\fIexpr1\fR \-a \fIexpr2\fR" 与 \fIexpr1 expr2\fR 相同 .IP "\fIexpr1\fR \-and \fIexpr2\fR" 与 \fIexpr1 expr2\fR 相同 .IP "\fIexpr1\fR \-o \fIexpr2\fR" 或;如果 \fIexpr1\fR 为true 则不会执行 \fIexpr2\fR .IP "\fIexpr1\fR \-or \fIexpr2\fR" 与 \fIexpr1\fR \-o \fIexpr2\fR 相同 .IP "\fIexpr1\fR , \fIexpr2\fR" 列表;\fIexpr1\fR 和 \fIexpr2\fR 都会被执行。\fIexpr1\fR 的值被忽略,列表的值是 \fIexpr2\fR的值 .SH "参见 SEE ALSO" \fBlocate\fP(1L), \fBlocatedb\fP(5L), \fBupdatedb\fP(1L), \fBxargs\fP(1L) \fBFinding Files\fP (Info 在线帮助, 或者是打印的版本) .SH "[中文版维护人]" .B 袁乙钧 .SH "[中文版最新更新]" .B 11/01/2003 .SH "《中国linux论坛man手册页翻译计划》:" .BI http://cmpp.linuxforum.net manpages-zh-1.6.3.3/src/man1/findsmb.1000066400000000000000000000054721327105066500172400ustar00rootroot00000000000000.TH findsmb 1 Samba2 May2000 .SH NAME findsmb \- 列出在子网上响应SMB名称查询的主机信息 .SH SYNOPSIS 总览 findsmb [子网广播地址] .SH 描述 此perl脚本是Samba组件的一部分。 findsmb是个用于打印出关于子网中响应SMB名字查询请求的主机信息的perl脚本。实际上它是通 过使用nmblookup和smbclient来获得这些信息的。 .SH 选项 如果不使用子网广播地址这个选项的话,findsmb将自行探测运行命令本身的主机所在的子网。 该值将会传递给nmblookup作为它的-B选项的一部分。 .SH 示例 findsmb的输出可以列出响应任何初始nmblookup名字查询的所有主机的以下信息:IP地址、NetBIOS 名、工作组名、操作系统和SMB服务器版本。 在列表中,如果某台主机为其所在工作组的本地主浏览器的话,该主机后跟的工作组名前会被 标上\(lq+\(rq号。而如果某台主机为其所在工作组的主域浏览器的话,那么该主机后跟的工作组名 前会被标上\(lq*\(rq号。那些运行Windows、Windows 95 或 Windows 98的主机将不显示任何操作 系统或服务器版本的信息。 该命令必须运行在没有nmbd正在运行的系统上。否则,你将只得到主机的IP地址和DNS名。要得 到Windows 95 和 Windows 98主机的正确响应,必须以root身份运行该命令。 例如运行: findsmb 在一台当前没有nmbd运行的主机上就会产生如下的信息: .nf IP ADDR NETBIOS NAME WORKGROUP/OS/VERSION --------------------------------------------------------------------- 192.168.35.10 MINESET-TEST1 [DMVENGR] 192.168.35.55 LINUXBOX *[MYGROUP] [Unix] [Samba 2.0.6] 192.168.35.56 HERBNT2 [HERB-NT] 192.168.35.63 GANDALF [MVENGR] [Unix] [Samba 2.0.5a for IRIX] 192.168.35.65 SAUNA [WORKGROUP] [Unix] [Samba 1.9.18p10] 192.168.35.71 FROGSTAR [ENGR] [Unix] [Samba 2.0.0 for IRIX] 192.168.35.78 HERBDHCP1 +[HERB] 192.168.35.88 SCNT2 +[MVENGR] [Windows NT 4.0] [NT LAN Manager 4.0] 192.168.35.93 FROGSTAR-PC [MVENGR] [Windows 5.0] [Windows 2000 LAN Manager] 192.168.35.97 HERBNT1 *[HERB-NT] [Windows NT 4.0] [NT LAN Manager 4.0] .fi .SH 版本 此手册页是针对samba套件版本2.0的。 .SH 另见 nmblookup (1), smbclient (1) .SH 作者 该perl脚本是由SGI的Herb Lewis所开发。 samba软件和相关工具最初由Andrew Tridgell samba-bugs@samba.org创建。samba现在 由开发组作为类似Linux内核开发采用的开放源代码计划方式来发展。 请参见samba (7)查找如何获得一份完整的维护者列表以及如何提交错误报告及注解等等。 .SH [中文版维护人] meaculpa .SH [中文版最新更新] 2001/02/24 .SH 《中文MAN-PAGE计划》: http://cmpp.linuxforum.net manpages-zh-1.6.3.3/src/man1/finger.1000066400000000000000000000113141327105066500170600ustar00rootroot00000000000000.\" Copyright (c) 1989, 1990 The Regents of the University of California. .\" All rights reserved. .\" .\" 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. All advertising materials mentioning features or use of this software .\" must display the following acknowledgement: .\" This product includes software developed by the University of .\" California, Berkeley and its contributors. .\" 4. 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. .\" .\" from: @(#)finger.1 6.14 (Berkeley) 7/27/91 .\" .Dd August 15, 1999 .Dt FINGER 1 .Os "Linux NetKit (0.16)" .Sh NAME .Nm finger .Nd 用户信息查找程序 .Sh 总览 .Nm finger .Op Fl lmsp .Op Ar user ... .Op Ar user@host ... .Sh 描述 The .Nm finger 显示关于系统用户的信息 .Pp 参数: .Bl -tag -width flag .It Fl s .Nm Finger 显示用户的登录名, 真名, 终端名 以及写 状态(如果写被禁止,在终端名后显示一个``*''), 空闲时间,登录时间,办公地点和电话等。 .Pp 登录时间显示为月,天,小时和分钟,如果是超过6个月以前,则 显示年份,而不是小时和分钟。 .Pp 不明设备以及不存在的空闲时间和登录时间显示为一个星号。 .Pp .It Fl l 产生一个多行显示来描述信息 .Fl s 关于用户家目录,家庭电话,登录脚本,邮件状态和文件的内容 .Dq Pa .plan 和 .Dq Pa .project 和 .Dq Pa .forward 从用户的家目录. .Pp 11位数字电话号码显示为 ``+N-NNN-NNN-NNNN''. 十位或七位数字可以显示为它的子集。 五位数字电话号码显示为 ``xN-NNNN''. 四位数字电话号码显示为 ``xNNNN''. .Pp 如果对设备写被禁止, 短语 ``(messages off)'' 被附加在有此设备的行后边. 每一个用户有一个条目,用 .Fl l 选项; 如果一个用户多次登录, 终端信息 按每次登录重复显示。. .Pp 如果什么邮件都没有,邮件信息显示为``No Mail.'', 如果当新邮件来后, 已经查看过信箱,为``Mail last read DDD MMM ## HH:MM YYYY (TZ)'' 如果有新邮件,则为 ``New mail received ...'',`` Unread since ...'' .Pp .It Fl p 防止 .Nm finger .Fl l 选项 显示 .Dq Pa .plan 和 .Dq Pa .project 文件的内容。 .It Fl m 防止 .Ar user 名字的匹配. .Ar User 通常是一个登录名; 可是, 也会对用户的真实名字 进行匹配, 除非提供 .Fl m 选项. 所有由 .Nm finger 进行的名字匹配是区分大小写的 .El .Pp 不指定 .Nm finger 的选项 如果提供操作者的话, 缺省设为 .Fl l 输出风格,否则为 .Fl s 风格. 注意在两种格式中,如果信息不足, 都有一些域可能丢失, .Pp 如果没有指定参数 .Nm finger 会为当前登录的每个用户打印一个条目. .Pp .Nm Finger 可以用来查看远地机器上的用户信息 格式是指定 .Ar user 为 .Dq Li user@host , 或 .Dq Li @host , 前者的缺省输出为 .Fl l 风格, 后者的缺省输出为 .Fl s 风格. .Fl l 是唯一的向远地机器传递的选项. .Pp 如果标准输出是一个socket .Nm finger 会在每个换行符前插入回车符。这是为了处理由以下调用的远程finger请求 .Xr fingerd 8 . .Sh 参见 .Xr chfn 1 , .Xr passwd 1 , .Xr w 1 , .Xr who 1 .Sh 历史 .Nm finger 命令出现在 .Bx 3.0 .Sh "[中文版维护人]" hunter77 .Sh "[中文版最新更新]" 2001/04/01 .Sh "《中国linux论坛man手册页翻译计划》:" http://cmpp.linuxforum.net manpages-zh-1.6.3.3/src/man1/fmt.1000066400000000000000000000036221327105066500163770ustar00rootroot00000000000000.TH FMT "1" "December 1999" "GNU textutils 2.0a" FSF .SH NAME fmt \- 简易的文本格式优化工具 simple optimal text formatter .SH "总览 (SYNOPSIS)" .B ../src/fmt [\fI-DIGITS\fR] [\fIOPTION\fR]... [\fIFILE\fR]... .SH "描述 (DESCRIPTION)" .\" Add any additional description here .PP 重新 格式化 文件 FILE(s) 中的 每一个 段落, 结果 写到 标准输出. 如果 文件 FILE 不存在, 或者 FILE 是 '-', 就从 标准输入 读取 数据. .PP 长选项 后面的 参数 对于 短选项 形式 也是 必须的. .TP \fB\-c\fR, \fB\-\-crown\-margin\fR 保持 前两行 的 缩排形式 .TP \fB\-p\fR, \fB\-\-prefix\fR=\fISTRING\fR 只处理 STRING 起始 的 行 .TP \fB\-s\fR, \fB\-\-split\-only\fR 断裂 长行, 而且 不再 合并 短行 .TP \fB\-t\fR, \fB\-\-tagged\-paragraph\fR 首行 的 缩排 和 第二行 不同 .TP \fB\-u\fR, \fB\-\-uniform\-spacing\fR 单词 之间 有 一个 空格, 句子 之间 两个 空格 .TP \fB\-w\fR, \fB\-\-width\fR=\fINUMBER\fR 最大行宽 (缺省为 75 列) .TP \fB\-\-help\fR 显示 帮助信息, 然后 退出. .TP \fB\-\-version\fR 显示 版本信息, 然后 退出. .PP 在 \fB\-wNUMBER\fR 选项 中, 字母 `w' 可以 省略. .SH "作者 (AUTHOR)" Ross Paterson. .SH "报告 BUGS" 发现 的 错误 送往 . .SH "版权 (COPYRIGHT)" Copyright \(co 1999 Free Software Foundation, Inc. .br This is free software; see the source for copying conditions. There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. .SH "另见 (SEE ALSO)" .B fmt 的 完整 文档 以 Texinfo 手册 形式 维护. 如果 正确 安装 了 .B info 和 .B fmt 程序, 用 命令 .IP .B info fmt .PP 能够 访问到 完整 的 手册. .SH "[中文版维护人]" .B 徐明 .SH "[中文版最新更新]" .BR 2001/12/17 第一版 .SH "《中国Linux论坛man手册页翻译计划》" .BI http://cmpp.linuxforum.net manpages-zh-1.6.3.3/src/man1/fold.1000066400000000000000000000032321327105066500165320ustar00rootroot00000000000000.\" DO NOT MODIFY THIS FILE! It was generated by help2man 1.47.3. .\"******************************************************************* .\" .\" This file was generated with po4a. Translate the source file. .\" .\"******************************************************************* .TH FOLD 1 2017年10月 "GNU coreutils 8.28" 用户命令 .SH 名称 fold \- 对每个输入行进行折叠以适应指定宽度 .SH 概述 \fBfold\fP [\fI\,选项\/\fP]... [\fI\,文件\/\fP]... .SH 描述 .\" Add any additional description here .PP 将每个指定文件中的行进行折叠,并写入至标准输出。 .PP 如果没有指定文件,或者指定文件为“\-”,则从标准输入读取。 .PP 必选参数对长短选项同时适用。 .TP \fB\-b\fP, \fB\-\-bytes\fP 计算字节数而不是列数 .TP \fB\-s\fP, \fB\-\-spaces\fP 在空格处断行 .TP \fB\-w\fP, \fB\-\-width\fP=\fI\,宽度\/\fP 使用指定的列宽度代替默认的80 .TP \fB\-\-help\fP 显示此帮助信息并退出 .TP \fB\-\-version\fP 显示版本信息并退出 .SH 作者 由 David MacKenzie 编写。 .SH 报告错误 GNU coreutils 的在线帮助: .br 请向 报告 fold 的翻译错误。 .SH 版权 Copyright \(co 2017 Free Software Foundation, Inc. License GPLv3+: GNU GPL version 3 or later . .br This is free software: you are free to change and redistribute it. There is NO WARRANTY, to the extent permitted by law. .SH 参见 完整文档请见: .br 或者在本地使用: info \(aq(coreutils) fold invocation\(aq manpages-zh-1.6.3.3/src/man1/free.1000066400000000000000000000027521327105066500165350ustar00rootroot00000000000000.\" -*-Nroff-*- .\" This page Copyright (C) 1993 Matt Welsh, mdw@sunsite.unc.edu. .\" Freely distributable under the terms of the GPL .TH FREE 1 "20 Mar 1993 " "Cohesive Systems" "Linux User's Manual" .SH NAME free \- 显示系统中已用和未用的内存空间总和. .SH 总览 (SYNOPSIS) .BR "free " [ "\-b" " | " "\-k" " | " "\-m" "] [" "\-o" "] [" "\-s" .I delay .RB "] [" "\-t" "] [" "\-V" ] .SH 描述 (DESCRIPTION) \fBfree\fP 显示 系统中 已用和未用的 物理内存和交换内存, 共享内存和 内核使用的 缓冲区的 总和. .SH 选项 (Options) \fB-b\fP 选项 以字节为单位 显示 内存总和; \fB-k\fP 选项 (缺省的) 以 KB 为单位 显示; \fB-m\fP 选项 以 MB 为单位. .PP \fB-t\fP 选项 显示 一个 总计行. .PP \fB-o\fP 选项 禁止 "buffer adjusted" 行的显示. 除非 指定 \fBfree\fP 从 (相应的) 已用/未用的 内存 减去/加上 缓冲区内存. .PP \fB-s\fP 使 \fBfree\fP 以 \fIdelay\fP 秒为间隔, 连续抽样显示. \fIdelay\fP 可以设置成浮点数, 它用 .BR usleep (3) 做 微秒级 延迟. .PP \fB\-V\fP 显示版本信息. .SH 文件 (FILES) .ta .IR /proc/meminfo "\-\- 内存信息" .fi .SH 另见 .BR ps (1), .BR top(1) .SH 作者 由 Brian Edmonds 编写 Bug 报告寄给 .SH "[中文版维护人]" .B 徐明 .SH "[中文版最新更新]" .BR 2001/12/17 第一版 .SH "《中国Linux论坛man手册页翻译计划》" .BI http://cmpp.linuxforum.net manpages-zh-1.6.3.3/src/man1/ftp.1000066400000000000000000000735331327105066500164120ustar00rootroot00000000000000.\" Copyright (c) 1985, 1989, 1990 The Regents of the University of California. .\" All rights reserved. .\" .\" 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. All advertising materials mentioning features or use of this software .\" must display the following acknowledgement: .\" This product includes software developed by the University of .\" California, Berkeley and its contributors. .\" 4. 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. .\" .\" from: @(#)ftp.1 6.18 (Berkeley) 7/30/91 .\" .\" .\" 参考了几个其它版本的 ftp man page, 开头的版权声明、日期都是一样的, .\" 只具体内容稍有不同. 为方便起见, 本文英文原稿使用 cmpp cvs 上的 ftp.1. .\" 本文的英文原稿写的非常简洁、准确. 本人水平有限, 许多地方看不明白; .\" 而且翻译时采用意译, 比起英文原稿来, 译文也显得不够严谨. .\" 错误、不足之处实在太多, 还望各位指正. .\" 译者 sliant@21cn.com, 2001-11-11, .\" while missing Xie-WenMin , .\" while missing Xie-WenMin . .Dd August 15, 1999 .Dt FTP 1 .Os "Linux NetKit (0.16) " .Sh NAME .Nm ftp .Nd .Tn Internet 文件传输程序 (file transfer program) .Sh 概述 (SYNOPSIS) .Nm ftp .Op Fl pinegvd .Op Ar host .Nm pftp .Op Fl inegvd .Op Ar host .Sh 说明 (DESCRIPTION) 用户通过 .Nm Ftp 这个程序来使用 .Tn Internet 上的标准文件传输协议 (File Transfer Protocol). 本程序允许用户向远端网站发送文件, 或从远端网站接收文件. .Pp 参数选项可以在命令行启动ftp时指定, 也可以在ftp命令解释模式下输入. .Bl -tag -width flag .It Fl p 使用被动模式进行数据传输. 如果你本地网络有防火墙, 外部主机不能连接到你这个客户端, 这个选项就派上用场了. 本选项要求 ftp 服务器支持 PASV 命令. 如果使用 pftp 从命令行启动 ftp, 本选项是默认打开的. .It Fl i 进行多个文件传输时关掉交互式的确认提示. .It Fl n 一般,在启动 ftp 时, ftp 会试着进行自动登录. 本选项可以关掉这个功能. 如果 auto-login 功能被启用的话, ftp 会在用户 home 目录下的 .netrc (参阅 .Xr netrc 5) 文件中查找远端主机上的用户帐号. 如果 .netrc 文件中用户帐号这一项不存在, ftp 会提示用户输入远端主机上的登录名 (缺省为用户在本地机器上的帐号), 如果需要, 还会提示你输入密码和用来登录的帐号. ?? .Pp (译者注: 使用本选项, 可以实现所谓的 "非交互式登录". 你可以试试下面这条命令: .Pp echo open ftp_server "\\n" user my_name my_password "\\n" dir "\\n" bye | ftp -n 不能使用 rcp 的时候, 可以用这条 ftp 命令来代替.) .It Fl e 如果被编译成了 ftp 可执行格式, 本选项会关掉命令编辑和历史命令功能; 否则什么也不做. ?? .It Fl g 关掉文件名匹配功能. .It Fl v 显示详细信息. 本选项使得 ftp 显示远端服务器的所有响应, 并在数据传输完成后显示传输数据的统计信息. .It Fl d 打开 debug 模式. .El .Pp 从命令行启动 .Nm ftp 时, 可指定欲与之通讯的远端主机. 如果指定了, .Nm ftp 会立即尝试与远端 .Tn FTP 服务器建立连接; 否则, .Nm ftp 会进入其命令解释模式, 等待用户进一步的指令. .Nm ftp 在等待用户指令时, 会显示提示符 .Ql ftp> .Pp .Nm ftp 能够识别以下的命令: .Bl -tag -width Fl .It Ic \&! Op Ar command Op Ar args 在本地机器上启动一个交互的shell. 如果本命令带有参数, 第一个参数作为 shell 命令直接执行, 其它的参数成为这个 shell 命令的参数. .It Ic \&$ Ar macro-name Op Ar args 执行宏 .Ar macro-name 所指代的命令. 宏使用 .Ic macdef 命令来定义. 本命令中的参数不进行文件名匹配, 直接传给这个宏. .It Ic account Op Ar passwd 在你成功登录以后, 本命令可以提供一个附加的密码, 远端系统会用这个密码来访问某些资源. 如果不指定参数, 则会提示用户输入密码; 输入密码时, 回显会被禁止. .It Ic append Ar local-file Op Ar remote-file 添加本地文件到远端机器上. 如果没有指定 .Ar remote-file, 则本地文件名在经过 .Ic ntrans 或 .Ic nmap 转换后, 作为远端文件名使用. 在文件传输过程中还会使用 .Ic type, .Ic forma, .Ic mode 和 .Ic structure 的当前设置. .It Ic ascii 将当前文件传输方式设置为网络 .Tn ASCII 方式, 即文本模式. 这也是缺省的文件传送方式. .It Ic bell 每个文件传送命令完成后响铃提示. .It Ic binary 将当前文件传输方式设置为 binary image, 即二进制模式. .It Ic bye 终止与当前 .Tn FTP 服务器的连接, 退出 .Nm ftp. 文件结束符 (译者注: ctrl-D) 有同样的功能. .It Ic case 转换 case 状态, 即远端主机文件名大小写转换规则. .Ic mget 命令会中用到本状态. .Ic case 状态若为 on, 远端主机文件传输到本地时, 文件名中的大写字母会被转换为小写. 缺省的 case 状态为 off. (译者注: toggle 这个词我翻译成转换. 意思是说, 如果当前 case 状态为 on, 你执行 case 这个命令, case 状态就转成了 off; 如果当前为 off, 则会变成 on. 下同.) .It Ic \&cd Ar remote-directory 改变远端机器上的当前目录到 .Ar remote-directory. .It Ic cdup 改变远端机器上的当前目录到其父目录, 即其上级目录. .It Ic chmod Ar mode file-name 将远端系统上文件 .Ar file-name 的权限改为 .Ar mode. .It Ic close 终止与当前远端服务器的 .Tn FTP 连接, 回到命令解释模式. 所有定义的宏都会被清除. .It Ic \&cr 转换 cr 状态, 即 ascii 方式下取文件时的回车换行转换规则. 用 ascii 方式获取文件时, 文件内容被分割为一条条纪录, 以回车换行符为分隔符; 如果 .Ic \&cr 状态为 on, 回车换行符会被转换为 .Ux 系统的单个换行符. 非 .Ux 系统的文本文件中可能含有单个换行符; 在进行 ascii 方式的文件传输时, 只有将 .Ic \&cr 状态设置为 off, 这些单个换行符才能与回车换行符区分开来. .Ic \&cr 的缺省状态为 on. (译者注: 回车符的 ASCII 码为 0D, 对应的 C 语言转义字符为 \\r; 换行符的 ASCII 码为 0A , 对应的 C 语言转义字符为 \\n; UNIX 下的文本文件, 换行的时候就一个换行符; DOS 下的文本文件, 换行的时候是两个字符: 回车 + 换行. 服务器端 ftpd 在用 ascii 方式发送文件时, 会先把单个换行转换为回车 + 换行, 再送到网络上传输; 客户端 ftp 在用 ascii 方式接受文件时, 如果 cr 状态为 on, ftp 会把回车 + 换行转换为单个换行; 如果为 off, 则不进行这种转换. 如果网上传输的数据中同时含有单个换行和回车 + 换行, 你就一定要把 cr 状态设为 off, 才能把数据原样取回来; 否则, 取回来的单个换行和回车 + 换行都转换成了单个换行, 你就分不清这两种了. 还是使用 binary 最好.) .It Ic delete Ar remote-file 删除远端机器上的文件 .Ar remote-file. .It Ic debug Op Ar debug-value 转换 debugging 状态, 即是否跟踪每条指令. .Ar debug-value 是可选的, 其值用来设置跟踪的级别. 当 debigging 状态为 on 时, .Nm ftp 会显示每条送往远端机器的指令, 并在显示的指令前加上 .Ql \-\-> .It Xo .Ic dir .Op Ar remote-directory .Op Ar local-file .Xc 显示远端机器目录 .Ar remote-director 下的文件名. .Ar local-file 这个参数是可选的. 如果指定了这个参数, 本命令的显示结果会保存在 .Ar local-file 这个本地文件中. 如果 prompt 状态为 on, .Nm ftp 会提示用户确认最后这个参数是用来存放 .Ic dir 显示结果的本地文件. 如果不指定 .Ar remote-director, 则本命令显示远端机器当前目录下的文件名. 如果不指定 .Ar local-file, 或 .Ar local-file 指定为 .Fl , 则输出结果显示在你的终端上. .It Ic disconnect 同 .Ar close. .It Ic form Ar format 将文件传输格式设置为 .Ar format. 缺省格式为 \*(Lqfile\*(Rq. ?? .It Ic get Ar remote-file Op Ar local-file 把远端机器上的文件 .Ar remote-file 取回到本地. 如果不指定本地文件名, 则远端文件名在经过 .Ic case, .Ic ntrans 和 .Ic nmap 转换后, 作为本地文件名使用. 文件传输过程中会用到当前的 .Ic type, .Ic form, .Ic mode, 和 .Ic structure 状态. .It Ic glob 转换 glob 状态, 即在执行 .Ic mdelete, .Ic mget 和 .Ic mput 命令时, 是否进行文件名匹配. 如果 glob 状态为 off, 则不进行文件名匹配. 对 .Ic mput 而言, 文件名匹配规则和本地的 .Xr csh 1 文件名匹配一样. 对 .Ic mdelete 和 .Ic mget 而言, 每个远端机器文件名都分别在远端机器上进行匹配, 匹配结果中的同名文件不会合并. 目录名匹配规则和文件名匹配规则不尽相同, 具体结果要取决于远端系统和 ftp 服务程序. 你可以使用 .Ql mls remote-files \- 预先看看匹配结果是否如你所愿. 注意: .Ic mget 和 .Ic mput 可能不会传送子目录. 想连着子目录一起传送, 你可以使用 binary 方式传送这个子目录的 .Xr tar 1 包. (译者注: 1、 文件匹配是说, *n 代表所有以 n 结尾的文件. 例如, 在你本地 linux 机器当前目录下有三个文件 Xie Wen Min , 在 shell 下用 echo *n 这条命令, 结果为 Wen Min , 可见 *n 被 shell 匹配为 Wen Min. 在 ftp 中, 如果 glob 为 on , mput *n 这条指令会被匹配为 mput Wen Min , 本地的 Wen Min 两个文件被传送到远端. 如果 glob 为 off , mput *n 这条指令不会被匹配, 于是 mput 会试图把文件名为 "*n" 的本地文件传到远端, 如果本地没有这个名为 "*n" 的文件, ftp 就会报错. 2、 mput 是把本地文件送到远端机器, 故其匹配规则与本地 shell的文件名匹配一致. mget, mdelete 则是把远端机器上的文件送到本地, 故其匹配规则和最终结果要取决于远端系统. 3、 考虑如下情况: 远端机器上有三个文件 Xie, Wen, Min 如果执行 mget X* W* *n, 显然, 匹配结果会是 Xie Wen Min Wen. 虽然 Wen 这个文件出现了两次, 但 ftp 不会把这两个文件名合为一个, 所以 Wen 这个文件会被 mget 两次, 第二次覆盖第一次. 如果 mdel X* W* *n, Wen 这个文件会被删两次, 第二次报错.) .It Ic hash 转换 hash 状态, 即是否显示数据传输进度. 如果 hash 状态为 on, 每传送完一个 1024 字节的数据块时显示一个 # 号. .It Ic help Op Ar command 显示指定命令 .Ar command 的简要说明. 如果不指定参数, 本命令列出所有已知的 .Nm ftp 命令. .It Ic idle Op Ar seconds 将远端服务器的最长空闲时间设为 .Ar seconds 秒. 如果不指定参数 .Ar seconds, 则本命令显示当前的最长空闲时间值. (译者注:如果在最长空闲时间内没执行任何 ftp 命令, 与远端机器的连接将自动终止. ) .It Ic lcd Op Ar directory 改变本地的当前工作目录. 如果不指定参数 .Ar directory, 则切换到用户的 home 目录. .It Xo .Ic \&ls .Op Ar remote-directory .Op Ar local-file .Xc 显示远端机器目录下的文件名列表. 具体如何显示与远端系统有关; 例如, 大多数 .Ux 系统显示 shell 命令 ls -l 的输出 (参阅 nlist ). 如果不指定 .Ar remote-directory 则显示远端机器当前目录的内容. 如果 prompt 状态为 on , .Nm ftp 会提示用户确认最后一个参数是用来存放 .Ic \&ls 显示结果的本地文件. 如果不指定 .Ar local-file , 或者 .Ar local-file 指定为 .Sq Fl , 则结果显示到用户终端上. 可以在本命令中用引号指定附加参数. 例如, 如果远端系统为 .Ux , 则 ls "-rt /usr" 这条命令会显示远端机器 /usr 这个目录下的文件, 显示结果按创建时间由远到近排序. .It Ic macdef Ar macro-name 定义一个宏. 执行本命令后, 接下来输入的内容会存放到宏 .Ar macro-name 里. 空行 (文件中的连续换行, 或终端的回车换行) 表示宏定义结束. 最多只能定义 16 条宏, 而且所有的宏内容加起来不能超过 4096 字节. 执行 .Ic close 命令后所有的宏定义会被清除. 在宏中, $ 和 \e 这两个字符为特殊字符. $ 字符后跟数字, 将在这个宏在执行时将替换为命令行中的参数. $ 字符后跟字符 i , 表示循环执行当前宏. 在循环的第一次, $i 被替换为命令行中的第一个参数; 第二次, 替换为第二个参数, 以此类推. \e 后面跟一个字符, 表示这个字符本身. 例如, \e 可以去掉 $ 的特殊意义, 表示 $ 这个字符本身. .It Ic mdelete Op Ar remote-files 删除远端机器文件 .Ar remote-files. .It Ic mdir Ar remote-files local-file 和 .Ic dir 命令相似, 但是允许你指定多个远端文件. 如果 prompt 状态为 on, .Nm ftp 会提示用户确认最后一个参数是用来存放输出结果的本地文件. .It Ic mget Ar remote-files 匹配参数 .Ar remote-files 中指定的远端文件名, 对匹配结果里的每个文件都执行一个 .Ic get 命令. 关于文件名匹配, 请参阅 .Ic glob 命令. 根据当前的 .Ic case, .Ic ntrans, 和 .Ic nmap 状态, 远端文件名在经过适当的转换后, 作为本地文件名使用. 文件被传输到本地机器的当前目录. 你可以用 .Ql lcd directory 命令改变本地机器的当前目录, 也可以用 .Ql "\&! mkdir directory" 命令新建本地目录. .It Ic mkdir Ar directory-name 在远端机器上创建目录. .It Ic mls Ar remote-files local-file 和 .Ic nlist 命令相似, 但是允许你指定多个远端文件, 而且 .Ar local-file 这个参数必须指定. 如果 prompt 状态为 on, .Nm ftp 会提示用户确认最后一个参数是用来存放输出结果的本地文件. .It Ic mode Op Ar mode-name 将文件传输模式设置为 .Ar mode-name 所指定的模式. 缺省模式为 \*(Lqstream\*(Rq 模式. ?? .It Ic modtime Ar file-name 显示远端机器上文件的最后修改时间. .It Ic mput Ar local-files 匹配参数中指定的本地文件名, 对匹配结果里的每个文件都执行一个 .Ic put 命令. 关于文件名匹配, 请参阅 .Ic glob 命令. 根据当前的 .Ic ntrans 和 .Ic nmap 状态, 本地文件名在经过适当的转换后, 作为远端文件名使用. .It Ic newer Ar file-name Op Ar local-file 比较远端文件和本地文件的修改时间, 如果远端文件比本地文件新, 或本地文件不存在, 则从远端机器上取此文件. .It Xo .Ic nlist .Op Ar remote-directory .Op Ar local-file .Xc 显示远端机器上指定目录下的文件列表. 如果不指定参数 .Ar remote-directory, 则显示远端机器当前目录的内容. 如果 prompt 状态为 on, .Nm ftp 会提示用户确认最后一个参数是用来存放显示结果的本地文件. 如果不指定本地文件 .Ar local-file, 或者本地文件 .Ar local-file 指定为 .Sq Fl, 显示结果会在用户终端上显示出来. .It Ic nmap Op Ar inpattern outpattern 设置或取消文件名映射机制. 如果不指定参数, 则本命令取消文件名映射机制. 如果指定了参数, 则在执行 .Ic mput 或 .Ic put 命令, 且不指定远端文件名时, 远端文件名会被映射; 在执行 .Ic mget 或 .Ic get 命令, 且不指定本地文件名时, 本地文件名会被映射. 非 unix 的远端系统常使用不同于 unix 的文件命名规则, 当用 ftp 连接到这样的远端系统时, 本命令会很有用处. 转换规则由参数 .Ar inpattern 和 .Ar outpattern 决定. 一个文件名会先经过 .Ic ntrans 和 .Ic case 的转换, 再按照 .Ar inpattern 进行 .Ic nmap 映射. 参数 .Ar inpattern 指定转换前的文件命名规则. 参数 .Ar outpattern 指定转换后的文件命名规则. 在 .Ar inpattern 和 .Ar outpattern 这两个参数中, 用 $1, $2, ..., $9 来替代变量; 用 \e$ 替代 $ 字符; 其余的字符则没有特殊含义. 例如, 若 .Ar inpattern 为 $1.$2, 则对于文件名 mydata.data, $1 取值 mydata, $2取值 data. 结果文件名由 .Ar outpattern 决定. 在 .Ar outpattern 中, $1, $2, ..., $9 被相应的取值代替, 作为最终结果. $0 被替换为整个原始文件名. 对方括号括起来的两个变量 [$x,$y] 而言, 若 $x 非空, 则其相当于 $x; 否则相当于 $y (以上 x,y 为数字). 举例如下: 输入命令行 nmap $1.$2.$3 [$1,$2].[$2,file], 则 原始文件名 myfile.data 会被映射为 myfile.data, 原始文件名 myfile.data.old 会被映射为 myfile.data, 原始文件名 myfile 会被映射为 myfile.file, 原始文件名 .myfile 会被映射为 myfile.myfile, Spaces may be included in .Ar outpattern, as in the example: `nmap $1 sed "s/ *$//" > $1' . ?? (译者注: 这一段我没看懂, 也没试出来.) `$', '[', ']', `,' 这四个字符有特殊含义, 所以若要使用这四个字符, 需在前面加上 \\ 以去掉其特殊含义. .It Ic ntrans Op Ar inchars Op Ar outchars 设置或取消文件名字符转换机制. 如果不指定参数, 则本命令取消文件名字符转换机制. 如果指定了参数, 则在执行 .Ic mput 和 .Ic put 命令, 且不指定远端文件名时, 远端文件名中的字符会被转换; 在执行 .Ic mget 和 .Ic get 命令, 且不指定本地文件名时, 本地文件名中的字符会被转换. 非 unix 的远端系统常使用不同于 unix 的文件命名规则, 用 ftp 连接到这样的远端系统时, 本命令会很有用处. 原始文件名中的 .Ar inchars 会被替换为对应的 .Ar outchars. 如果 inchar 字符串比 outchar 长, 则多出的那一部分字符会从原始文件名中删掉. .It Ic open Ar host Op Ar port 连接到指定的远端主机 .Ar host .Tn FTP 服务器. 端口号 .Nm ftp 是可选的; 如果指定了端口号, .Nm ftp 会尝试使用这个指定的端口号连接远端 .Tn FTP 主机. 如果自动登陆选项 .Ic auto-login 是打开的话 (缺省为打开), .Nm ftp 还会尝试自动登陆. (详见下述) .It Ic prompt 转换 prompt 状态, 即是否进行交互提示. 如果 prompt 状态为 on , 在传送多个文件时, ftp 会提示用户选择要上传或下载的文件; 如果 prompt 状态为 off (缺省为 on), .Ic mget 和 .Ic mput 这两个命令会不加提示地传送所有指定的文件, .Ic mdelete 会不加提示地删掉所有指定的文件. .It Ic proxy Ar ftp-command 在副连接上执行 ftp 命令. 本命令允许同时连接到两个远端 ftp 服务器, 并在这两个远端服务器之间传送文件. (译者注: 原始的 ftp 所建立的连接为 primary control connection, 主连接; 使用 proxy open 所建立的连接为 secondary control connection, 副连接. 在副连接上运行 ftp 命令, 即在 ftp 命令前加上 proxy 前缀, 如 proxy open, proxy put 等. 以下将这种 ``proxy ftp command'' 译为 "代理命令".) 第一个执行的代理命令应该是 .Ic open 命令, 用来建立副连接. 运行 "proxy ?" 命令, 可以看到所有能在副连接中运行的 ftp 命令. 以下的 ftp 命令在副连接中运行时, 效果与在主连接中不同: 在自动登录过程中, .Ic open 不会定义新的宏; .Ic close 不会清除已有的宏定义; .Ic get 和 .Ic mget 将文件从主连接的远端主机传送到副连接的远端主机; .Ic put , .Ic mput , 和 .Ic append 将文件从副连接的远端主机传至主连接的远端主机. 第三方文件传输取决于副连接的远端主机是否支持 ftp 协议中的 .Dv PASV 命令. .It Ic put Ar local-file Op Ar remote-file 将本地文件传至远端主机. 如果不指定参数 .Ar remote-file, 则根据当前的 .Ic ntrans 和 .Ic nmap 状态, 本地文件名在经过适当的转换后, 作为远端文件名使用. 在文件传输过程中会用到当前的 .Ic type, .Ic format, .Ic mode 和 .Ic structure 状态. .It Ic pwd 显示远端机器的当前路径. .It Ic quit 同 .Ic bye 命令. .It Ic quote Ar arg1 arg2 ... 将你指定的参数原样送到远端 .Tn FTP 服务器. (译者注: 你输入的 ftp 命令, 经由本地 ftp 客户程序解释, 转换成 ftp 协议命令, 再发送给远端 ftp 服务程序. 这些转换后的 ftp 协议命令, 叫做 raw ftp command, 也就是本命令所能使用的参数. 关于这些参数, 请参阅 remotehelp 命令. 下文中出现的大写字母的命令都是 raw ftp command.) .It Ic recv Ar remote-file Op Ar local-file 同 get 命令. .It Ic reget Ar remote-file Op Ar local-file 和 get 命令相似, 略有差异如下: 如果本地文件 .Ar local-file 的长度比远端文件 .Ar remote-file 短, ftp 会认为这是由于上一次传送异常中断, 导致本地文件只是远端文件的开头一部分, 故 reget 会从本地文件的最后开始续传. 在连接不稳、经常异常断掉的网络中传送大文件时, 本命令会很有用. .It Ic remotehelp Op Ar command-name 显示远端 .Tn FTP 服务程序的帮助信息. 如果指定了参数 .Ar command-name, 则此参数也会一并传给远端服务器. .It Ic remotestatus Op Ar file-name 如果不指定参数, 本命令显示远端机器的状态. 如果指定了参数 .Ar file-name, 则显示远端文件 .Ar file-name 的状态. .It Xo .Ic rename .Op Ar from .Op Ar to .Xc 将远端机器上的文件 .Ar from 重命名为 .Ar to. .It Ic reset 清除应答队列. 本命令使本地 ftp 客户和远端 ftp 服务程序 重新同步命令/应答序列. 远端 ftp 服务程序可能出错, 并导致 ftp 协议出现错误, 此时需要使用本命令. .It Ic restart Ar marker 使用本命令后, 接下来应使用一个 .Ic get 或 .Ic put 命令; 此时的 get 或 put 命令会从参数 .Ar marker 指定的 .Ux 系统文件偏移处 (一般以字节计算) 重传文件. .It Ic rmdir Ar directory-name 删除远端机器上的目录. .It Ic runique 转换 runique 状态, 即本地同名文件是否自动覆盖. 如果 runique 状态为 off, 则在使用 .Ic get 或 .Ic mget 命令取远端文件到本地时, 远端文件会自动覆盖本地的同名文件; 如果 runique 状态为 on, 则在文件同名时, 会在取回的文件名后加一个 .1; 如果加了一个 .1 还是与本地文件重名, 则在远端文件名后加 .2; 若还是重名, 加 .3; 以此类推, 如果直到 .99 还重名, 则会报错. 新文件名会显示给用户. 注意 .Ic runique 状态并不影响本地 shell 命令的文件覆盖. 缺省的 .Ic runique 状态为 off. .It Ic send Ar local-file Op Ar remote-file 同 put 命令. .It Ic sendport 转换 sendport 状态, 即是否使用 .Dv PORT 命令. 缺省状态下, .Nm ftp 每建立一个连接进行数据传送时, 都会使用一个 .Dv PORT 命令. 使用 .Dv PORT 命令可以免掉多文件传输时的延迟时间. 如果 .Dv PORT 命令失败, .Nm ftp 会使用缺省的数据端口. 如果禁止使用 .Dv PORT 命令, 则在每次进行数据传送时不会使用 .Dv PORT 命令. 有些版本的 .Tn FTP 在具体实现中忽略了 .Dv PORT 命令, 但却错误地应答说已经接受了 .Dv PORT 指令, 此时就需要使用本命令. .It Ic site Ar arg1 arg2 ... 本命令将参数作为 .Dv SITE 命令原样传给远端 .Tn FTP 服务器. .It Ic size Ar file-name 显示远端机器上文件 .Ar file-name 的大小. .It Ic status 显示 .Nm ftp 当前的各种状态. .It Ic struct Op Ar struct-name 将文件传输结构 .Ar structure 设置为参数 .Ar struct-name. 缺省取值为 stream. ?? .It Ic sunique 转换 sunique 状态, 即远端同名文件是否自动覆盖. 要使用本命令, 远端的 ftp 服务程序必须支持 ftp 协议中的 .Dv STOU 命令. 新生成的不同的远端文件名会显示给用户. 缺省的 sunique 状态为 off, 即自动覆盖远端同名文件. .It Ic system 显示远端机器的操作系统类型. .It Ic tenex 设置文件传输方式为与 .Tn TENEX 机器通讯所需要的方式. ?? .It Ic trace 转换 trace 状态, 即是否跟踪每个数据包. .It Ic type Op Ar type-name 将文件传送类型 .Ic type 设置为 .Ar type-name. 如果不指定参数, 则本命令显示当前文件传送类型. 缺省的文件传送类型是网络 .Tn ASCII 类型. .It Ic umask Op Ar newmask 设置远端机器上的文件掩码为 .Ar newmask. 如果不指定参数 .Ar newmask, 则本命令显示当前的文件掩码. .It Xo .Ic user Ar user-name .Op Ar password .Op Ar account .Xc 使用 .Op Ar user-name 作为用户名登录远端 .Tn FTP 服务器. 如果不指定参数 .Ar password, 而远端服务器需要提供密码, 则 .Nm ftp 会提示用户输入密码 (无回显); 如果不指定参数 .Ar account, 而远端 .Tn FTP 服务器需要提供账号, .Nm ftp 会提示用户输入账号. 如果指定了参数 .Ar account, 而在登录过程中远端 FTP 服务程序不需要账号, 则在登录完成以后会使用一个 account 命令将账号发送给服务器. 一般而言, .Nm ftp 在启动时, 会与远端 .Tn FTP 服务器建立连接并自动完成以上的登录过程. 也可以在启动 .Nm ftp 时使用 -n 选项禁止此自动登录功能. .It Ic verbose 转换 verbose 状态, 即是否显示详细信息. 如果 verbose 状态为 on , 则会显示远端 .Tn FTP 服务器的每一个响应, 并在文件传送结束后显示关于传输效率的统计信息. 缺省的 verbose 状态为 on . .It Ic ? Op Ar command 同 help 命令. .El .Pp 如果参数含有空格, 需用使用一对引号 "" 将其引起来. .Sh 放弃当前文件传送 (ABORTING A FILE TRANSFER) 按中断键 (一般为 Ctrl-C ) 可放弃当前文件传送. 对发送文件而言, 此时当前发送过程会立刻终止; 对文件接收, 此时会发送一个 ftp 协议中的 .Dv ABOR 命令到远端服务器, 而剩下未接受的数据会被丢弃. 这个过程有快有慢, 具体取决于远端服务器如何实现 .Dv ABOR 命令. 如果远端服务器不支持 .Dv ABOR 命令, 则服务器会继续当前文件传送, 直到传送完成, 才再显示出提示符 .Ql ftp>. .Pp 如果所有的本地操作已经完成, .Nm ftp 在等待远端服务器应答时, 不会对中断键做出响应. 如果这时候 ftp 协议出了问题, 或如上所述远端服务器不支持 ABOR 命令而坚持把当前文件发送完, 用户就会等待很长时间得不到响应. 如果确实是 ftp 协议出了问题, 用户必需手工杀掉这个 .Nm ftp 进程. .Sh 文件名转换 (FILE NAMING CONVENTIONS) .Nm ftp 命令中, 若指定文件名作为参数, 则此文件名会经过以下几步的处理: .Bl -enum .It 如果指定的文件名为 .Sq Fl , 则在输出时使用标准输出 .Ar stdin, 在输入时使用标准输入 .Ar stdout. .It 如果指定的文件名首字母是 .Sq \&|, 则此参数余下的部分被当作是一个 shell 命令. .Nm Ftp 会使用 .Xr popen 3 和所提供的参数创建一个 shell 进程, 并使用标准输入 stdin (标准输出 stdout) 来进行读 (写) 操作. 如果 shell 命令中包含空格, 则必须用引号将其引起来; 例如: "ls -lt". 一个有用的例子是: "dir | more". .It 如果上述两步处理失败, 而 globbing 状态为 on , 本地文件名会进行匹配, 匹配规则同 .Xr csh 1 (参阅 .Ic glob 命令). 如果 .Nm ftp 命令只需要单个的本地文件作参数 (如 .Ic put), 则仅使用匹配结果里的第一个文件名. .It 对 .Ic mget 和 .Ic get 命令而言, 如果不指定本地文件名, 则远端文件名在经过 .Ic case, .Ic ntrans, 或 .Ic nmap 转换后, 作为本地文件名使用. 如果 .Ic runique 状态为 on, 本地文件名还可能加上一个后缀以免覆盖. .It 对 .Ic mput 和 .Ic put 命令而言, 如果不指定远端文件名, 则本地文件名在经过 .Ic ntrans 或 .Ic nmap 转换后, 作为远端文件名使用. 如果 .Ic sunique 状态为 on, 远端服务器可能还会给远端文件名加上一个后缀以免覆盖. .El .Sh 文件转换参数 (FILE TRANSFER PARAMETERS) FTP 规格说明书中指定了许多可能影响文件传送的参数. .Ic type 可设置为 ascii, image (binary), ebcdic, 或 local byte size (一般用于 .Tn PDP Ns -10's 和 .Tn PDP Ns -20's 机器). .Nm Ftp 支持 ascii 和 image 类型的文件传输, 对于 .Ic tenex 机器, 还支持 local byte size 8 方式的文件传输. .Pp 其它可能影响文件传输的参数有 .Ic mode, .Ic form, 和 .Ic struct. .Nm Ftp 只支持这些参数的缺省值. .Sh 环境 (ENVIRONMENT) .Nm Ftp 使用了以下的环境变量: .Bl -tag -width Fl .It Ev HOME 本环境变量指明了文件 .Pa .netrc 的缺省路径, 如果其存在的话. .It Ev SHELL 本环境变量指明了缺省的 shell. .El .Sh 参阅 (SEE ALSO) .Xr ftpd 8, RFC 959 .Sh 历史 (HISTORY) .Nm ftp 命令最初见于 .Bx 4.2. .Sh 错误 (BUGS) 对许多 ftp 命令而言, 其能否正确执行, 取决于远端服务器如何响应. .Pp 使用 .Bx 4.2 的 ascii 方式传送文件时, 对回车换行符的处理有错误. 本版本中已经修正了此问题, 但同时带来了另一个问题: 使用 ascii 方式, 与 .Bx 4.2 服务器互传二进制文件时可能出错. 要避免此问题, 请使用 binary image 类型来传送文件. manpages-zh-1.6.3.3/src/man1/gedit.1000066400000000000000000000020761327105066500167070ustar00rootroot00000000000000.TH GEDIT 1 "1998年5月13日" .SH NAME \fBgEdit\fP \- GTK+ 基础文本编辑器 .SH 语法 .B gedit .RI [ --help ] .RI [ --version ] .RI [ 文件名 ] .RI [ 文件名 ] .RI [ 文件名 ] .RI 等等... .SH 描述 .B gEdit 是一个 X窗口系统下的基础文本编辑器由 GTK+ 写成。它现在 支持建立,打开,关闭和保存多个文件,查找和替换, 一个选项接口可以在命令行打开文件。 .LP .SH 选项 它是漂亮且简单的。 .TP .B \-\-help .PD 输出命令行选项。 .TP .B \-\-version .PD 输出你使用的 gEdit 的版本。 .TP .B 文件名 .PD 当 gEdit 启动时指定文件打开 - 如果没有指定,gEdit 将 打开一个空白的文件在无标题标签。 .SH 错误 看知道的错误列表文件如果你发现那没有你发现的错误请 email 给我们。 .SH 作者 Alex Roberts (bse@dial.pipex.com) .TP Evan Lawrence (evan@worldpath.net) .SH "[中文版维护人]" .B wide288 .SH "[中文版最新更新]" .B 2003/11/22 .SH "《中国linux论坛man手册页翻译计划》:" .BI http://cmpp.linuxforum.net manpages-zh-1.6.3.3/src/man1/getopts.1000066400000000000000000000000241327105066500172670ustar00rootroot00000000000000.so man1/builtins.1 manpages-zh-1.6.3.3/src/man1/gnroff.1000066400000000000000000000033701327105066500170720ustar00rootroot00000000000000.ig \"-*- nroff -*- Copyright (C) 1989-1999 Free Software Foundation, Inc. Permission is granted to make and distribute verbatim copies of this manual provided the copyright notice and this permission notice are preserved on all copies. Permission is granted to copy and distribute modified versions of this manual under the conditions for verbatim copying, provided that the entire resulting derived work is distributed under the terms of a permission notice identical to this one. Permission is granted to copy and distribute translations of this manual into another language, under the above conditions for modified versions, except that this permission notice may be included in translations approved by the Free Software Foundation instead of in the original English. .. .TH NROFF 1 "28 December 1999" "Groff Version 1.15" .SH NAME nroff \- 用 groff 模拟 nroff 命令 .SH "总览 (SYNOPSIS)" .B nroff [ .B \-h ] [ .B \-i ] [ .BI \-m name ] [ .BI \-n num ] [ .BI \-o list ] [ .BI \-r cn ] [ .BI \-T name ] [ .I file\|.\|.\|. ] .SH "描述 (DESCRIPTION)" .B nroff 脚本用 groff 模拟 .B nroff 命令。 .B \-T 选项的参数除了 .B ascii 和 .B latin1 以外都将被忽略。 .B \-h 选项同 .B grotty .B \-h 选项等价。 .BR \-i , .BR \-n , .BR \-m , .B \-o 和 .B \-r 选项同在 .BR troff (1) 中描述的作用是一样的。 另外 .B nroff 忽略 .BR \-e , .B \-q 或者 .BR \-s 选项。 .B \-S (安全) 和 .B \-U (不安全) 选项被传给 groff。 默认情况下 .B \-S 被传给 groff。 .SH "参见 (SEE ALSO)" .BR groff (1), .BR troff (1), .BR grotty (1) .SH "[中文版维护人]" .B 唐友 .SH "[中文版最新更新]" .BR 2001/8/28 .SH "[中国Linux论坛man手册页翻译计划]" .BI http://cmpp.linuxforum.net manpages-zh-1.6.3.3/src/man1/grep.1000066400000000000000000000474451327105066500165610ustar00rootroot00000000000000.\" grep man page .if !\n(.g \{\ . if !\w|\*(lq| \{\ . ds lq `` . if \w'\(lq' .ds lq "\(lq . \} . if !\w|\*(rq| \{\ . ds rq '' . if \w'\(rq' .ds rq "\(rq . \} .\} .de Id .ds Dt \\$4 .. .TH GREP 1 "GNU Project" .SH NAME grep, egrep, fgrep \- 打印匹配给定模式的行 .SH 总览 SYNOPSIS .B grep .RI [ options ] .I PATTERN .RI [ FILE .\|.\|.] .br .B grep .RI [ options ] .RB [ \-e .I PATTERN | .B \-f .IR FILE ] .RI [ FILE .\|.\|.] .SH 描述 DESCRIPTION .PP .B Grep 搜索以 .IR FILE 命名的文件输入 (或者是标准输入,如果没有指定文件名,或者给出的文件名是 .B \- 的话),寻找含有与给定的模式 .IR PATTERN 相匹配的内容的行。 默认情况下, .B grep 将把含有匹配内容的行打印出来。 .PP 另外,也可以使用两个变种程序 .B egrep 和 .B fgrep 。 .B Egrep 与 .BR "grep\ \-E" 相同。 .B Fgrep 与 .BR "grep\ \-F" 相同。 .SH 选项 OPTIONS .TP .BI \-A " NUM" "\fR,\fP \-\^\-after-context=" NUM 打印出紧随匹配的行之后的下文 .I NUM 行。在相邻的匹配组之间将会打印内容是 .B \-\^\- 的一行。 .TP .BR \-a ", " \-\^\-text 将一个二进制文件视为一个文本文件来处理;它与 .B \-\^\-binary-files=text 选项等价。 .TP .BI \-B " NUM" "\fR,\fP \-\^\-before-context=" NUM 打印出匹配的行之前的上文 .I NUM 行。在相邻的匹配组之间将会打印内容是 .B \-\^\- 的一行。 .TP .BI \-C " NUM" "\fR,\fP \-\^\-context=" NUM 打印出匹配的行的上下文前后各 .I NUM 行。在相邻的匹配组之间将会打印内容是 .B \-\^\- 的一行。 .TP .BR \-b ", " \-\^\-byte-offset 在输出的每行前面同时打印出当前行在输入文件中的字节偏移量。 .TP .BI \-\^\-binary-files= TYPE 如果一个文件的起始几个字节表明文件包含二进制数据,那么假定文件是 .IR TYPE 类型的。默认情况下, .I TYPE 是 .BR binary ,并且 .B grep 一般会输出一个一行的消息说一个二进制文件匹配,或者如果没有匹配的话就没有消息输出。如果类型 .I TYPE 是 .BR without-match ,那么 .B grep 假定二进制文件不会匹配;这样做与 .B \-I 选项等价。如果类型 .I TYPE 是 .BR text ,那么 .B grep 将一个二进制文件视为文本文件来处理;它与 .B \-a 选项等价。 .I 警告: .B "grep \-\^\-binary-files=text" 可能会输出二进制的无用内容。如果输出设备是一个终端,并且终端的驱动将这些输出中的一些当作命令,可能会带来恶劣的副作用。 .TP .BI \-\^\-colour[=\fIWHEN\fR] ", " \-\^\-color[=\fIWHEN\fR] 在匹配的行周围以 .B GREP_COLOR 环境变量中指定的记号来标记。WHEN 可以是 `never', `always', 或是 `auto'。 .TP .BR \-c ", " \-\^\-count 禁止通常的输出;作为替代,为每一个输入文件打印一个匹配的行的总数。如果使用 .BR \-v ", " \-\^\-invert-match 选项 (参见下面),将是不匹配的行的总数。 .TP .BI \-D " ACTION" "\fR,\fP \-\^\-devices=" ACTION 如果输入文件是一个设备,FIFO 或是套接字 (socket) ,使用动作 .I ACTION 来处理它。默认情况下,动作 .I ACTION 是 .BR read ,意味着设备将视为普通文件那样来读。如果动作 .I ACTION 是 .BR skip ,将不处理而直接跳过设备。 .TP .BI \-d " ACTION" "\fR,\fP \-\^\-directories=" ACTION 如果输入文件是一个目录,使用动作 .I ACTION 来处理它。默认情况下,动作 .I ACTION 是 .BR read ,意味着目录将视为普通文件那样来读。如果动作 .I ACTION 是 .BR skip ,将不处理而直接跳过目录。如果动作 .I ACTION 是 .BR recurse , .B grep 将递归地读每一目录下的所有文件。这样做和 .B \-r 选项等价。 .TP .BR \-E ", " \-\^\-extended-regexp 将模式 .I PATTERN 作为一个扩展的正则表达式来解释 (参见下面)。 .TP .BI \-e " PATTERN" "\fR,\fP \-\^\-regexp=" PATTERN 使用模式 .I PATTERN 作为模式;在保护以 .BR \- 为起始的模式时有用。 .TP .BR \-F ", " \-\^\-fixed-strings 将模式 .I PATTERN 视为一个固定的字符串的列表,用新行 (newlines) 分隔,只要匹配其中之一即可。 .TP .BR \-P ", " \-\^\-perl-regexp 将模式 .I PATTERN 作为一个 Perl 正则表达式来解释。 .TP .BI \-f " FILE" "\fR,\fP \-\^\-file=" FILE 从文件 .IR FILE 中获取模式,每行一个。空文件含有0个模式,因此不匹配任何东西。 .TP .BR \-G ", " \-\^\-basic-regexp 将模式 .I PATTERN 作为一个基本的正则表达式 (参见下面) 来解释。这是默认值。 .TP .BR \-H ", " \-\^\-with-filename 为每个匹配打印文件名。 .TP .BR \-h ", " \-\^\-no-filename 当搜索多个文件时,禁止在输出的前面加上文件名前缀。 .TP .B \-\^\-help 输出一个简短的帮助信息。 .TP .BR \-I 处理一个二进制文件,但是认为它不包含匹配的内容。这和 .B \-\^\-binary-files=without-match 选项等价。 .TP .BR \-i ", " \-\^\-ignore-case 忽略模式 .I PATTERN 和输入文件中的大小写的分别。 .TP .BR \-L ", " \-\^\-files-without-match 禁止通常的输出;作为替代,打印出每个在通常情况下不会产生输出的输入文件的名字。对每个文件的扫描在遇到第一个匹配的时候就会停止。 .TP .BR \-l ", " \-\^\-files-with-matches 禁止通常的输出;作为替代,打印出每个在通常情况下会产生输出的输入文件的名字。对每个文件的扫描在遇到第一个匹配的时候就会停止。 .TP .BI \-m " NUM" "\fR,\fP \-\^\-max-count=" NUM 在找到 .I NUM 个匹配的行之后,不再读这个文件。如果输入是来自一个普通文件的标准输入,并且已经输出了 .I NUM 个匹配的行, .B grep 保证标准输入被定位于退出时的最后一次匹配的行之后,不管是否指定了要输出紧随的下文的行。这样可以使一个调用程序恢复搜索。当 .B grep 在 .I NUM 个匹配的行之后停止,它会输出任何紧随的下文的行。当使用了 .B \-c 或 .B \-\^\-count 选项的时候, .B grep 不会输出比 .IR NUM 更多的行。当指定了 .B \-v 或 .B \-\^\-invert-match 选项的时候, .B grep 会在输出 .I NUM 个不匹配的行之后停止。 .TP .B \-\^\-mmap 如果可能的话,使用 .BR mmap (2) 系统调用来读取输入,而不是默认的 .BR read (2) 系统调用。在一些情况下, .B \-\^\-mmap 提供较好的性能。但是,如果一个输入文件在 .B grep 正在操作时大小发生变化,或者如果发生了一个 I/O 错误, .B \-\^\-mmap 可能导致不可知的行为 (包括core dumps)。 .TP .BR \-n ", " \-\^\-line-number 在输出的每行前面加上它所在的文件中它的行号。 .TP .BR \-o ", " \-\^\-only-matching 只显示匹配的行中与 .I PATTERN 相匹配的部分。 .TP .BI \-\^\-label= LABEL 将实际上来自标准输入的输入视为来自输入文件 .I LABEL 。这对于 zgrep 这样的工具非常有用,例如: .B "gzip -cd foo.gz |grep --label=foo something" .TP .BR \-\^\-line-buffering 使用行缓冲,it can be a performance penality. .TP .BR \-q ", " \-\^\-quiet ", " \-\^\-silent 安静。不向标准输出写任何东西。如果找到任何匹配的内容就立即以状态值 0 退出,即使检测到了错误。 参见 .B \-s 或 .B \-\^\-no-messages 选项。 .TP .BR \-R ", " \-r ", " \-\^\-recursive 递归地读每一目录下的所有文件。这样做和 .B "\-d recurse" 选项等价。 .TP .BR "\fR \fP \-\^\-include=" PATTERN 仅仅在搜索匹配 .I PATTERN 的文件时在目录中递归搜索。 .TP .BR "\fR \fP \-\^\-exclude=" PATTERN 在目录中递归搜索,但是跳过匹配 .I PATTERN 的文件。 .TP .BR \-s ", " \-\^\-no-messages 禁止输出关于文件不存在或不可读的错误信息。 对于可移植性需要注意:与 \s-1GNU\s0 .BR grep 不同,传统的 .B grep 不遵守 \s-1POSIX.2\s0 规范,因为传统的 .B grep 缺少一个 .B \-q 选项,而它的 .B \-s 选项与 \s-1GNU\s0 .BR grep 的 .B \-q 选项行为相似。需要可移植到传统 .B grep 的 shell 脚本应当避免使用 .B \-q 和 .B \-s 选项,而应当将输出重定向到 /dev/null 。 .TP .BR \-U ", " \-\^\-binary 将文件视为二进制。默认情况下,在 MS-DOS 和 MS-Windows 系统中, .BR grep 通过从文件中读取头部的 32kB 内容来判断它的文件类型。如果 .BR grep 判断文件是一个文本文件,它将原始文件内容中的 CR 字符去除 (使得含有 .B ^ 和 .B $ 的正则表达式可以正常工作)。指定 .B \-U 将不进行这些工作,而使所有文件保持不变地读取并传递给匹配机制。如果文件是一个以 CR/LF 换行的文本文件,这样作将导致一些正则表达式失败。这个选项在 MS-DOS 和 MS-Windows 之外的系统中无效。 .TP .BR \-u ", " \-\^\-unix-byte-offsets 报告 Unix 风格的字节偏移量。这个开关使得 .B grep 报告字节偏移量时,将文件作为 Unix 风格的文本文件看待,也就是说将 CR 字符去掉。这将产生与在一台 Unix 主机上运行 .B grep 完全相同的结果。除非同时使用 .B \-b 选项,否则这个选项无效。这个选项在 MS-DOS 和 MS-Windows 之外的系统中无效。 .TP .BR \-V ", " \-\^\-version 向标准错误输出打印 .B grep 的版本号。版本号应当包含在所有的 bug 报告中 (参见下面)。 .TP .BR \-v ", " \-\^\-invert-match 改变匹配的意义,只选择不匹配的行。 .TP .BR \-w ", " \-\^\-word-regexp 只选择含有能组成完整的词的匹配的行。判断方法是匹配的子字符串必须是一行的开始,或者是在一个不可能是词的组成的字符之后。与此相似,它必须是一行的结束,或者是在一个不可能是词的组成的字符之前。词的组成字符是字母,数字,还有下划线。 .TP .BR \-x ", " \-\^\-line-regexp 只选择能匹配完整一行的匹配。 .TP .B \-y .BR \-i 的同义词,废弃不用。 .TP .BR \-Z ", " \-\^\-null 输出一个全零字节 (\s-1ASCII\s0 码中的 .B NUL 字符) 而不是一般情况下输出在文件名之后的字符。例如, .B "grep \-lZ" 在每个文件名之后输出一个全零字节而不是普通的新行符。这个选项使得输出清楚明白,即使文件名的表示中包含特殊字符比如新行符。这个选项可以与命令 .BR "find \-print0" , .BR "perl \-0" , .BR "sort \-z" , 和 .B "xargs \-0" 一起使用,来处理任意的文件名,即使是那些含有新行符的文件名。 .SH "正则表达式 REGULAR EXPRESSIONS" .PP 一个正则表达式是一个描述了一个字符串集合的模式。正则表达式的构造类似于算术表达式,使用各种各样的操作符来将更小的表达式连在一起。 .PP .B Grep 能理解两种不同版本的正则表达式语法:\*(lqbasic\*(rq 和 \*(lqextended\*(rq。在 .RB "\s-1GNU\s0\ " grep 中,两种语法可以实现的功能是没有区别的。在其他实现中,基本 (basic) 正则表达式表达能力要弱一点。下面的描述适用于扩展的 (extended) 正则表达式,它与基本正则表达式的区别会在最后做一个总结。 .PP 基本的构造块是匹配单个字符的正则表达式。大部分字符,包括所有字母和数字,是匹配它们自身的正则表达式。任何具有特殊含义的元字符可以通过前置一个反斜杠来引用。(may be quoted by preceding it with a backslash.) .PP .I "方括号表达式 (bracket)" 是一个字符序列,放在 .B [ 和 .BR ] 当中。它匹配序列中的任何一个字符;如果序列中的第一个字符是脱字符 (caret) .B ^ 那么它匹配 .I 不在 序列中的任何一个字符。例如,正则表达式 .B [0123456789] 匹配任何一个数字。 .PP 在方括号表达式之中,一个 .I "范围表达式 (range)" 由两个字符组成,中间用一个连字符 (hyphen) 分隔。它匹配在这两个字符之间的任何一个字符,使用本地化的序列顺序和字符集。(that sorts between the two characters,inclusive, using the locale's collating sequence and character set.) 例如,在默认的 C locale中, .B [a\-d] 与 .BR [abcd] 等价。典型的,许多 locale 将字符以字典顺序排序,在这些 locale 中, .B [a\-d] 不与 .BR [abcd] 等价;例如它可能与 .BR [aBbCcDd] 等价。要获得传统的对方括号表达式的解释,可以设定环境变量 .B LC_ALL 值为 .BR C 来使用 locale C 。 .PP 最后,在方括号表达式中有一些预定义的字符类,如下所示。它们的名字是自说明的,它们是 .BR [:alnum:] (字母和数字), .BR [:alpha:] (字母), .BR [:cntrl:] (), .BR [:digit:] (数字), .BR [:graph:] (), .BR [:lower:] (小写字母), .BR [:print:] (可打印字符), .BR [:punct:] (), .BR [:space:] (空格), .BR [:upper:] (大写字母), 和 .BR [:xdigit:] 。例如, .B [[:alnum:]] 意思是 .BR [0\-9A\-Za\-z] ,但是后一种表示方法依赖于 locale C 和\s-1ASCII\s0 字符编码,而前一种是与 locale 和字符集无关的。(注意这些字符类名中的方括号也是符号名称的一部分,必须包含在用来为序列定界的方括号之中。) .PP 大多数元字符处于序列中时会失去它们的特殊意义。为了包含一个字面意义 (literal) 的 .B ] ,需要将它放在序列的最前。与此相似,为了包含一个字面意义 (literal) 的 .B ^ ,需要将它放在除了序列最前之外的其他位置。最后,为了包含一个字面意义 (literal) 的 .B \- ,需要将它放在序列最后。 .PP 句点符 (period) .B . 匹配任何一个字符。符号 .B \ew 是 .B [[:alnum:]] 的同义词, .B \eW 是 .BR [^[:alnum]] 的同义词。 .PP 脱字符 (caret) .B ^ 和美元标记 (dollar) .B $ 分别是匹配一行的首部和尾部的空字串的元字符。符号 .B \e< 和 .B \e> 分别是匹配一个词的首部和尾部的空字串的元字符。符号 .B \eb 匹配一个词边缘 (edge) 的空字串,符号 .B \eB 匹配 .I 不 处于一个词的边缘的空字串。 .PP 一个正则表达式后面可以跟随多种重复操作符之一。 .PD 0 .TP .B ? 先前的项是可选的,最多匹配一次。 .TP .B * 先前的项可以匹配零次或多次。 .TP .B + 先前的项可以匹配一次或多次。 .TP .BI { n } 先前的项将匹配恰好 .I n 次。 .TP .BI { n ,} 先前的项可以匹配 .I n 或更多次。 .TP .BI { n , m } 先前的项将匹配至少 .I n 词,但是不会超过 .I m 次。 .PD .PP 两个正则表达式可以连接到一起;得出的正则表达式可以匹配任何由两个分别匹配连接前的子表达式的子字符串连接而成的字符串。 .PP 两个正则表达式可以用中缀操作符 .BR | 联合到一起,得出的正则表达式可以匹配任何匹配联合前的任何一个子表达式的字符串。 .PP 重复操作符的优先级比连接高,接下来又比选择的优先级高。一个完整的子表达式可以用圆括号 (parentheses) 括住来超越这些优先级规则。(to override these precedence rules.) .PP 反向引用 .BI \e n\c \& 中, .I n 是一个数字,匹配正则表达式中,以第 .IR n 个圆括号括住的子表达式已匹配的子字符串。 .PP 在基本正则表达式中,元字符 .BR ? , .BR + , .BR { , .BR | , .BR ( , 和 .BR ) 丧失了它们的特殊意义;作为替代,使用加反斜杠的 (backslash) 版本 .BR \e? , .BR \e+ , .BR \e{ , .BR \e| , .BR \e( , 和 .BR \e) 。 .PP 传统的 .B egrep 不支持元字符 .B { ,并且一些 .B egrep 的实现通过支持 .B \e{ 来代替它,因此可移植的脚本应当避免 在 .B egrep 中使用 .B { 模式,应当使用 .B [{] 来匹配一个字面意义 (literal) 的 .BR { 。 .PP \s-1GNU\s0 .B egrep 通过假设如果 .B { 处于 an invalid interval specification 的起始,就不是一个特殊字符,来支持传统的用法。例如,shell 命令 .B "egrep '{1'" 将会搜索这个两字符的字符串 .B {1 而不是报告在正则表达式中发生了语法错误。\s-1POSIX.2\s0 允许这个行为,将其视为一个扩展,但是可移植的脚本应当避免使用它。 .SH "环境变量 ENVIRONMENT VARIABLES" .B Grep 的行为受下列环境变量影响。 .PP 一个 locale .BI LC_ foo 是通过按下面的顺序, .BR LC_ALL , .BR LC_\fIfoo\fP , .BR LANG , 检查这三个环境变量的取值而确定的。设置了的第一个变量指定了 locale。例如,如果 .B LC_ALL 没有设置,但是 .B LC_MESSAGES 设置为 .BR pt_BR ,那么巴西的葡萄牙语 (Brazilian Portuguese) 将用作 .B LC_MESSAGES locale 的值。如果没有设置这其中任何一个环境变量,或者没有安装所设置的 locale 目录,或者如果 .B grep 没有将国家和语言支持 (national language support (\s-1NLS\s0)) 编译在内,将默认使用 locale C。 .TP .B GREP_OPTIONS 这个变量指定了将放在所有显式指定的选项之前的默认选项。例如,如果 .B GREP_OPTIONS 是 .BR "'\-\^\-binary-files=without-match \-\^\-directories=skip'" 的话, .B grep 将像已经在任何显式指定的选项之前指定了 .B \-\^\-binary-files=without-match 和 .B \-\^\-directories=skip 选项那样来运作。选项以空白 (whitespace) 分隔。一个反斜杠 (backslash) 使得下一个字符转义 (escape),因此可以用来指定一个含有空白或者反斜杠的选项。 .TP .B GREP_COLOR 指定用来高亮显示的标记。 .TP \fBLC_ALL\fP, \fBLC_COLLATE\fP, \fBLANG\fP 这些变量指定了 locale .B LC_COLLATE ,决定了解释类似 .BR [a\-z] 的范围表达式时的序列顺序 (collating sequence) 。 .TP \fBLC_ALL\fP, \fBLC_CTYPE\fP, \fBLANG\fP 这些选项指定了 locale .B LC_CTYPE ,决定了字符的类型,例如,哪些字符是空白 (whitespace) 。 .TP \fBLC_ALL\fP, \fBLC_MESSAGES\fP, \fBLANG\fP 这些选项指定了 locale .B LC_MESSAGES ,决定了 .B grep 的消息使用的语言。默认的 locale C 使用美国英语的消息。 .TP .B POSIXLY_CORRECT 如果设置了的话, .B grep 将像 \s-1POSIX.2\s0 要求的那样来运作;否则, .B grep 将像其他 \s-1GNU\s0 程序一样来运作。\s-1POSIX.2\s0 要求文件名之后的选项必须视为文件名;默认情况下,这些选项被交换到操作数列表的前面,被当作选项来处理。同时, \s-1POSIX.2\s0 要求不可识别的选项在诊断消息中表示为 \*(lqillegal\*(rq,但是既然它们没有真正触犯法律,因此默认情况下它们在诊断 (diagnose) 消息中表示为 \*(lqinvalid\*(rq。 .B POSIXLY_CORRECT 同时禁止了下面描述的 \fB_\fP\fIN\fP\fB_GNU_nonoption_argv_flags_\fP。 .TP \fB_\fP\fIN\fP\fB_GNU_nonoption_argv_flags_\fP (这里 .I N 是 .BR grep 's 数字形式的进程ID。) 如果这个环境变量的值的第 .IR i 个字符是 .BR 1 ,那么不将 .B grep 的第 .IR i 个操作数视为一个选项,即使它看上去像。shell 可以将这个变量设置在它运行的每个命令的环境中,指定哪个操作数是文件名通配符扩展的结果,因此不应当被视为选项。这个行为只有在使用 \s-1GNU\s0 C 库时有效,并且只有在 .B POSIXLY_CORRECT 没有设置的时候。 .SH 诊断 DIAGNOSTICS .PP 一般地,如果找到了选择的行,退出时状态值为0,否则为1。但是如果发生错误,退出时状态值是2,除非指定了 .B \-q 或 .B \-\^\-quiet 或 .B \-\^\-silent 选项,并且找到了选择的行。 .SH BUGS .PP bug 报告的电子邮件地址是 .BR bug-gnu-utils@gnu.org 。 一定要在\*(lqSubject:\*(rq中带有 \*(lqgrep\*(rq 这个词。 .PP 在 .BI { n , m } 结构中重复次数过多会导致 .B grep 使用大量内存。另外,一些过分晦涩的正则表达式需要指数级的时间和空间,可能会导致 .B grep 耗尽所有内存。 .PP 向后引用 (backreferences) 非常慢,可能需要指数级的时间。 .SH "[中文版维护人]" .B 袁乙钧 .SH "[中文版最新更新]" .B 2003.11.03 .SH "《中国linux论坛man手册页翻译计划》:" .BI http://cmpp.linuxforum.net .\" Work around problems with some troff -man implementations. .br manpages-zh-1.6.3.3/src/man1/groff.1000066400000000000000000000162711327105066500167200ustar00rootroot00000000000000.ig \"-*- nroff -*- Copyright (C) 1999 Free Software Foundation, Inc. Permission is granted to make and distribute verbatim copies of this manual provided the copyright notice and this permission notice are preserved on all copies. Permission is granted to copy and distribute modified versions of this manual under the conditions for verbatim copying, provided that the entire resulting derived work is distributed under the terms of a permission notice identical to this one. Permission is granted to copy and distribute translations of this manual into another language, under the above conditions for modified versions, except that this permission notice may be included in translations approved by the Free Software Foundation instead of in the original English. .. .de TQ .br .ns .TP \\$1 .. .\" Like TP, but if specified indent is more than half .\" the current line-length - indent, use the default indent. .de Tp .ie \\n(.$=0:((0\\$1)*2u>(\\n(.lu-\\n(.iu)) .TP .el .TP "\\$1" .. .TH GROFF 1 "21 December 1999" "Groff Version 1.15" .SH NAME groff \- groff 文档排版系统前端 .SH "总览 (SYNOPSIS)" .B groff [ .B \-abehilpstvzCENRSUVXZ ] [ .BI \-w name ] [ .BI \-W name ] [ .BI \-m name ] [ .BI \-F dir ] [ .BI \-I dir ] [ .BI \-T dev ] [ .BI \-f fam ] [ .BI \-M dir ] [ .BI \-d cs ] [ .BI \-r cn ] [ .BI \-n num ] [ .BI \-o list ] [ .BI \-P arg ] [ .BI \-L arg ] [ .IR files \|.\|.\|.\| ] .SH "描述 (DESCRIPTION)" .B groff 是 groff 文档排版系统的前端。 一般来说, 它运行 .B troff 程序和一个同选择的设备相对应的后处理器。 可选的设备有 .TP .B ps PostScript 打印机和查看器。 .TP .B dvi TeX dvi 格式。 .TP .B X75 一个 75 点每英寸的 X11 查看器。 .TP .B X100 一个 100 点每英寸的 X11 查看器。 .TP .B ascii 打字机一类的设备。 .TP .B latin1 用 ISO Latin-1 字符集的打字机设备。 .TP .B lj4 一个兼容 HP LaserJet4 的(或者其它兼容 PCL5 的) 打印机。 .TP .B html 输出 HTML 格式。 .LP 在设备描述文件里, 设备的后处理器是通过 .B postpro 命令指定的。 这个可以被 .B \-X 选项改写。 .LP 默认的设备是 .BR ps 。 它可以选择用 .BR pic , .BR eqn , .BR tbl , .BR refer , 或者 .B soelim 等预处理器。 .LP 如果没有任何选项, 可以用一个单独的 .BR \- 来代替。 文件名 .B \- 代表标准输入。 .LP .B grog 命令可以根据文件格式猜测相应的 groff 命令。 .SH "选项 (OPTIONS)" .TP .B \-h 打印帮助信息。 .TP .B \-e 用 eqn 预处理。 .TP .B \-t 用 tbl 预处理。 .TP .B \-p 用 pic 预处理。 .TP .B \-s 用 soelim 预处理。 .TP .BI \-I dir 此选项在 .BR soelim (1) 中描述。 此选项包含 .B \-s 选项。 .TP .B \-R 用 refer 预处理。 没有传输参数给 .B refer 的机制, 因为很多 refer 选项在文件里有相应的命令。 细节请参照 .BR refer (1) 。 .TP .B \-v 使 .B groff 运行的程序打印出版本号。 .TP .B \-V 在标准输出打印管道线, 而不执行它。 .TP .B \-z 禁止 .BR troff 输出。 只有出错信息显示出来。 .TP .B \-Z 不后处理 .BR troff 的输出。 一般 .B groff 会自动运行相应的后处理器。 .TP .BI \-P arg 把 .I arg 传给后处理器。 每个参数都要用单独的 .B \-P 选项分开。 注意 .B groff 在传 .I arg 给后处理器时不会在前加上 .B \- 。 .TP .B \-l 把输出送到打印机, 所用的命令在设备描述文件中用 .B print 命令分开。 .TP .BI \-L arg 把 .I arg 传给打印机。 每个参数都要用单独的 .B \-L 选项分开。 注意 .B groff 在传 .I arg 给后处理器时不会在前加上 .B \- 。 .TP .BI \-T dev 生成针对 .IR dev 设备的输出。 默认的设备是 .BR ps 。 .TP .B \-X 用 .B gxditview 预览, 而不是用一般的后处理器。 .B Groff 会传给 .B gxditview 一个 .B -printCommand 选项, 这样如果有 .B -l 选项 .B Print 就会做 .B groff 会做的事。 除非有 .BR \-Tps 选项, 否则这并不能产生好的输出。 .TP .B \-N 在 eqn 分割符出不产生新行符(newline)。 这个同 .BR eqn 中的 .B \-N 选项有一样的作用。 .TP .B \-S 安全模式。 把 .B \-S 选项传给 .B pic 并且对 .BR troff 用 .B \%\-msafer 宏。 (默认开启) .TP .B \-U 不安全模式。 用以前的不安全的特性。 .TP .B \-a .TQ .B \-b .TQ .B \-i .TQ .B \-C .TQ .B \-E .TQ .BI \-w name .TQ .BI \-W name .TQ .BI \-m name .TQ .BI \-o list .TQ .BI \-d cs .TQ .BI \-r cn .TQ .BI \-F dir .TQ .BI \-M dir .TQ .BI \-f fam .TQ .BI \-n num 这些都在 .BR troff (1) 中描述。 .SH "环境 (ENVIRONMENT)" .TP .SM .B GROFF_COMMAND_PREFIX 如果这个变量设为 .IR X , .B groff 会运行 .IB X troff , 而不是 .BR troff 。 这也适用于 .BR tbl , .BR pic , .BR eqn , .BR refer , 和 .BR soelim。 但并不适用于 .BR grops , .BR grodvi , .BR grotty , .BR grolj4 , .BR grohtml , 和 .BR gxditview 。 .TP .SM .B GROFF_TMAC_PATH 一个冒号分开的列表, 包含寻找宏文件的路径。 .TP .SM .B GROFF_TYPESETTER 缺省设备。 .TP .SM .B GROFF_FONT_PATH 一个冒号分开的列表, 包含寻找 .BI dev name 的路径。 .TP .SM .B PATH .BR groff 执行命令的搜寻路径。 .TP .SM .B GROFF_TMPDIR 临时文件目录。 如果没有设置此变量但是设置了 .B .SM TMPDIR 临时文件就会在那个目录中创建。 否则临时文件就会在 .BR /tmp 中创建。 .BR grops (1) 和 .BR refer (1) 命令都会创建临时文件。 .SH "文件 (FILES)" .Tp \w'\fB/usr/lib/groff/font/dev\fIname\fB/DESC'u+3n .BI /usr/lib/groff/font/dev name /DESC .IR name 设备的设备描述文件。 .TP .BI /usr/lib/groff/font/dev name / F .IR name 设备的 .I F 字体的字体文件。 .SH "作者 (AUTHOR)" James Clark .SH "错误 (BUGS)" 报错误报告给 bug-groff@gnu.org。 请包含一个完整的报告, 还有一个能使错误再次出现的例子, 并注明用的是 groff 的哪个版本。 .SH "版权 (COPYRIGHT)" 版权所有 \(co 1989, 1990, 1991, 1992, 1999 自由软件基金会 .LP 这一程序是自由软件, 你可以遵照自由软件基金会出版的 GNU 通用公共许可 证条款来修改和重新发布这一程序。 或者用许可证的第二版, 或者(根据你的选 择)用任何更新的版本。 .LP 发布 groff 程序的目的是希望它有用, 但没有任何担保。 甚至没有适合特定目 的的隐含的担保。 更详细的情况请参阅 GNU 通用公共许可证。 .LP 你应该已经和程序一起收到一份 GNU 通用公共许可证的副本。 如果还没有, 写信给: The Free Software Foundation, Inc., 675 Mass Ave, Cambridge, MA02139, USA .SH "获取 (AVAILABILITY)" groff 的最新版本可以通过匿名 ftp 从 ftp.gnu.org/gnu/groff 得到。 .SH "参见 (SEE ALSO)" .BR grog (1), .BR troff (1), .BR tbl (1), .BR pic (1), .BR eqn (1), .BR soelim (1) , .BR refer (1), .BR grops (1), .BR grodvi (1), .BR grotty (1), .BR grohtml (1), .BR gxditview (1), .BR groff_font (5), .BR groff_out (5), .BR groff_man (7), .BR groff_ms (7), .BR groff_me (7), .BR groff_char (7), .BR groff_msafer (7) .SH "[中文版维护人]" .B 唐友 \ .SH "[中文版最新更新]" .BR 2001/8/29 .SH "[中国Linux论坛man手册页翻译计划]" .BI http://cmpp.linuxforum.net manpages-zh-1.6.3.3/src/man1/groups.1000066400000000000000000000027121327105066500171270ustar00rootroot00000000000000.\" DO NOT MODIFY THIS FILE! It was generated by help2man 1.47.3. .\"******************************************************************* .\" .\" This file was generated with po4a. Translate the source file. .\" .\"******************************************************************* .TH GROUPS 1 2017年10月 "GNU coreutils 8.28" 用户命令 .SH 名称 groups \- 显示用户所在的组 .SH 概述 \fBgroups\fP [\fI\,选项列表\/\fP]... [\fI\,用户名列表\/\fP]... .SH 描述 .\" Add any additional description here .PP 显示每个输入的用户名所在的全部组,如果没有指定用户名则默认为当前进程用户(当用户组数据库发生变更时可能导致差异)。 .TP \fB\-\-help\fP 显示此帮助信息并退出 .TP \fB\-\-version\fP 显示版本信息并退出 .SH 作者 由 David MacKenzie 和 James Youngman 编写。 .SH 报告错误 GNU coreutils 的在线帮助: .br 请向 报告 groups 的翻译错误。 .SH 版权 Copyright \(co 2017 Free Software Foundation, Inc. License GPLv3+: GNU GPL version 3 or later . .br This is free software: you are free to change and redistribute it. There is NO WARRANTY, to the extent permitted by law. .SH 参见 getent(1) .PP .br 完整文档请见: .br 或者在本地使用: info \(aq(coreutils) groups invocation\(aq manpages-zh-1.6.3.3/src/man1/gunzip.1000066400000000000000000000000201327105066500171120ustar00rootroot00000000000000.so man1/gzip.1 manpages-zh-1.6.3.3/src/man1/gview.1000066400000000000000000000000201327105066500167170ustar00rootroot00000000000000.so man1/gvim.1 manpages-zh-1.6.3.3/src/man1/gvim.1000066400000000000000000000260061327105066500165540ustar00rootroot00000000000000.TH VIM 1 "2006-04-11" .SH "名称" vim \- Vi IMproved, 一个程序员的文本编辑器 .SH "概述" .br .B vim [options] [file ..] .br .B vim [options] - .br .B vim [options] \-t tag .br .B vim [options] \-q [errorfile] .PP .br .B ex .br .B view .br .B gvim .B gview .B evim .B eview .br .B rvim .B rview .B rgvim .B rgview .SH "描述" .B Vim 是一个同 Vi 向上兼容的文本编辑器。 它可以用来编辑任何纯文本。 它特别适合用来编辑程序。 .PP 它对 Vi 作了许多增强:多层撤销、多窗口、多缓冲区(buffer)、 高亮语法显示、命令行编辑、文件名补全、在线帮助、可视选择等等。 请用 ":help vi_diff.txt" 查看 .B Vim 和 Vi 之间差别的摘要。 .PP 在运行 .B Vim 的时候,可以用 ":help" 命令获得很多帮助信息。 请参考下面的“在线帮助”一节。 .PP 通常情况下, .B vim 使用直接把文件名作为参数的方法来编辑文件: .PP vim 文件名 .PP 更通用地来说, .B Vim 使用下述方式从命令行启动: .PP vim [选项] [文件列表] .PP 如果没有给定文件,则编辑器会打开一个空的缓冲区。 否则就会用下面四个中的一个方式来选择要编辑的文件。 .TP 12 文件 .. 文件名列表。 第一个会作为当前文件读入缓冲区。 光标会停在缓冲区的第一行。 您可以使用 ":next" 命令转到其它的文件。 如果要编辑一个以 "-" 开头的文件,请在文件列表前面加上 "\-\-"。 .TP \- 从标准输入读取要编辑的文件。命令从标准错误读取,此时标准错误应当是一个 TTY。 .TP -t {tag} 被 编辑的 文件 和 光标的 初始位置 由 标记 (tag) 决定, 标记 有点像 一种 goto 标签 (goto label). 在 标记文件中 找到 标记, 相应的 文件 成为 当前文件, 相应的 命令 被执行. 这种方式 常用于 C 程序, 标记 就是 函数名, 当前文件 就是 包含 那个函数的 文件, 光标 停留在 函数的 开始处. 见 ":help tag-commands"。 .TP -q [errorfile] 运行时 进入 快速修复模式. 读取 [errorfile] 文件 并显示 第一个 错误. 如果 没有 [errorfile] 文件, 文件名 由 'errorfile' 选项 决定 (在 Amiga 为 "AztecC.Err", 在 其他系统中 为 "errors.vim"). 可以 用 ":cn" 命令 跳到 其它错误处. 见 ":help quickfix"。 .PP .B Vim 会 根据 不同命令 有 不同的 表现, 尽管 它们 可能 是 一个 可执行 文件. .TP 10 vim 正常 模式, 所有 都是 默认状态. .TP ex 以 Ex 模式 运行. 用 ":vi" 命令 进入 正常模式. 也可以 加上 "-e" 选项 进入 此模式. .TP view 以 只读模式 运行. 你被禁止 写文件. 也可以 加上 "-R" 选项 进入 此模式. .TP gvim gview GUI 版本。 开启 一个 新的窗口. 也可以 加上 "-g" 选项 进入 此模式. .TP rvim rview rgvim rgview 同 上面的 相同, 只是 加上了 限制, 不能运行 shell 程序, 也 不能 暂停 .B Vim . 也 可以 加上 "-Z" 选项 进入 此模式. .SH "选项 (OPTIONS)" 所有选项 都可以 以 任何顺序 出现, 可以 在文件名前, 也可以 在文件名后. 没有 参数的 选项 可以 出现在 一个 "-" 后面. .TP 12 +[num] 对于 第一个 文件, 光标 会停在 第 "num" 行. 如果 没有 "num" , 则 光标 会停在 最后一行. .TP +/{pat} 对于 第一个文件, 光标 会停在 {pat} 第一次 出现的 地方. 搜寻 模式 见 ":help search-pattern"。 .TP +{command} .TP -c {command} 读入 第一个 文件后 会 执行 {command} 命令. {command} 应为 Ex 命令. 如果 {command} 中 包含有 空格, 必须 用双引号 括住 (这个取决于所用的 shell). 例: Vim "+set si" main.c .br 注意: 你 最多 可以用 10 个 "+" 或者 "-c" 命令. .TP -b 二进制模式. 设置 一些选项, 这样 就可以 用来 编辑 二进制 和 可执行 文件 了. .TP -C 兼容. 设置 'compatible' 选项. 这样 就算 存在 .vimrc 文件 .B Vim 也会 基本上 象 Vi 一样了. .TP -d {device} 打开 {device} 用作终端, 只在 Amiga 下。 例: "\-d con:20/30/600/150". .TP -e 以 Ex 模式 运行 .B Vim , 就像 运行 "ex" 一样。 .TP -f 前台 运行。 对于 GUI 版本, .B Vim 不会 同运行它的 shell 分离。 在 Amiga 中, .B Vim 不会 重新启动 来 开启一个 新窗口. 这个选项 会用在当 .B Vim 被 另外一个 程序执行, 并且 这个程序 想等编辑动作 结束后 再运行 的 时候 (如 mail). 在 Amiga 上 ":sh" 和 ":!" 不会起作用. .TP -F 如果 .B Vim 编译时 加入了 对 从右到左 书写的 文件 FKMAP 以及 Farsi 键盘映射 的支持, .B Vim 会 以 Farsi 模式 运行, 比如 设置 'fkmap' 和 'rightleft' 选项.不然 .B Vim 会 显示 一条 错误信息 并 终止. .TP -g 如果 .B Vim 编译时 加入 GUI 支持, 会开启 GUI, 不然 .B Vim 会 显示 一条 错误信息 并 终止. .TP -h .B Vim 显示 命令行 参数 和 选项的 帮助, 然后 终止. .TP -H 如果 .B Vim 编译时 加入了 对 从右到左 书写的 文件 RIGHTLEFT 以及 Hebrew 键盘映射 的支持, .B Vim 会以 Hebrew 模式 运行, 比如 设置 'hkmap' 和 'rightleft' 选项. 不然 .B Vim 会 显示 一条 错误信息 并 终止. .TP -i {viminfo} 准许 使用 viminfo 文件, 这个 选项 设置 使用的 文件名, 默认的 是 "~/.viminfo". 用 "NONE" 文件名 也可以 跳过 使用 .viminfo 文件. .TP -L 同 -r 一样. .TP -l Lisp 模式. 打开 'lisp' 和 'showmatch' 选项. .TP -m 禁止 修改文件. 设置 'write' 选项, 这样 就不能 写文件了. .TP -N 非兼容 模式. 设置 'compatible' 选项. 这样 .B Vim 会 表现得 更好, 就算 .vimrc 文件 不存在 也会 同 Vi 不兼容. .TP -n 禁止 交换文件, 这样 在崩溃后 就 不能 恢复 文件了. 对于 编辑 在很慢的 媒体中的 文件 很有好处 (比如软盘), 也可以 用 ":set uc=0" 禁止交换, 用 ":set uc=200" 开启 交换. .TP -o[N] 打开 N 个窗口. 如果没有 N, 为 每个文件 开一个 窗口. .TP -R 只读 模式. 设置 'readonly' 选项. 你 仍然 可以 编辑 缓冲区, 但是 不能 重写文件. 如果 你要 重写文件, 必须在 Ex 命令中 用惊叹号, 比如 ":w!". -R 选项 隐含了 -n 选项 (见下). 'readonly' 选项 可以 用 ":set noro" 设置. 见 ":help 'readonly'". .TP -r 列出 交换文件, 显示 关于 恢复文件的 信息. .TP -r {file} 恢复 模式. 交换文件 是 用来 恢复 在 编辑过程中 崩溃了的 文件. 交换 文件名 是 被编辑文件名 后面 加上 ".swp". 见 ":help recovery". .TP -s 安静 模式. 只在 用 "Ex" 启动 或者 用了 "-e" 选项 才有用. .TP -s {scriptin} 读入 脚本文件 {scriptin}. 文件里的 字符 就像 你 直接 输入 一样的, 也 可以 用 ":source! {scriptin}" 命令 实现 这个功能. 如果 在 编辑器 结束前 就 读到了 文件尾, 就 接着 从键盘 读入. .TP -T {terminal} 告诉 .B Vim 你 用的 终端的 名字, 只有 当 不能 自动确定 的时候 才这样. 它 必须是 .B Vim (builtin) 能辨认的 终端 或者是 在 termcap 或者 terminfo 文件中 定义了的. .TP -u {vimrc} 用 {vimrc} 文件 里的 命令 来初始化, 跳过 所有 其它的 初始化, 用 这个 来编辑 特殊类型的 文件. 也可以 用 "NONE" 来 跳过 所有初始化. 在 vim 中 用 ":help initialization" 查看 更多信息. .TP -U {gvimrc} 用 {gvimrc} 文件 里的 命令 来初始化 GUI, 跳过 所有 其它的 GUI 初始化, 也 可以 用 "NONE" 来跳过 所有 GUI 初始化. 在 vim 中 用 ":help gui-init" 查看 更多信息. .TP -V 冗长 显示. 显示 执行 初始化代码 和 读入的 文件, 并且 写 viminfo 文件. .TP -v 以 Vi 模式运行 .B Vim , 就像 运行 "vi" 一样, 只有 运行 "ex" 时 才有用. .TP -w {scriptout} 所有 在 .B Vim 退出前 你键入的 字符 都会被 存入 {scriptout} 文件. 这 用来 创建一个 脚本文件, 你 可以用 "vim -s" 和 ":source!" 来使用. 如果 {scriptout} 存在, 会 把 字符 追加到 后面. .TP -W {scriptout} 同 -w 一样, 但是 是覆盖 原来的文件. .TP -x 写文件时 加密. 会提示你 输入密码. .TP -Z 受限 模式. 同运行 以 "r" 开头的 程序 同效. .TP -- 表明 选项结束. 在此之后的 参数 都会被认为 是 文件名, 可以 用这个 来编辑 一个 以 '-' 开头 的文件. .SH "在线帮助 (ON-LINE HELP)" 在 .B Vim 中键入 ":help" 来 获得 帮助. 用 ":help subject" 来 获得 关于 一个 特定主题的 帮助. 例如 用 ":help ZZ" 来 获得 关于 "ZZ" 的帮助. 用 和 CTRL-D 来 完成 帮助主题 (":help cmdline-completion"). 可以 用 标记 从 一个地方 跳到 另一个 地方 (有点像 超文本连接, 见 ":help"). 所有的 文档 都可以 这样 来浏览, 比如 ":help syntax.txt". .SH "文件" .TP 15 /usr/share/vim/vim80/doc/*.txt .B Vim 的文档文件。 请使用 ":help doc\-file\-list" 获得完整的列表。 .TP /usr/share/vim/vim80/doc/tags 在文档文件中查找信息用的标签文件。 .TP /usr/share/vim/vim80/syntax/syntax.vim 系统层面的语法初始化文件。 .TP /usr/share/vim/vim80/syntax/*.vim 各种语言的语法文件。 .TP /usr/share/vim/vimrc 系统层面的 .B Vim 初始化文件。 .TP ~/.vimrc 您的个人 .B Vim 初始化文件。 .TP /usr/share/vim/gvimrc 系统层面的 gvim 初始化文件。 .TP ~/.gvimrc 您的个人 gvim 初始化文件。 .TP /usr/share/vim/vim80/optwin.vim ":options" 命令所用的脚本文件,这是个查看和设置选项的好方法。 .TP /usr/share/vim/vim80/menu.vim 系统层面的 gvim 菜单初始化文件。 .TP /usr/share/vim/vim80/bugreport.vim 用来生成错误报告的脚本文件。详见 ":help bugs"。 .TP /usr/share/vim/vim80/filetype.vim 根据文件名来判定文件类型的脚本文件。详见 ":help 'filetype'"。 .TP /usr/share/vim/vim80/scripts.vim 根据文件内容来判定文件类型的脚本文件。详见 ":help 'filetype'"。 .TP /usr/share/vim/vim80/print/*.ps 用于 PostScript 打印的文件。 .PP 要了解最新信息,请查看 VIM 主页: .br \ .SH "参见" vimtutor(1) .SH "作者" .B Vim 的大部分都是 Bram Moolenaar 在很多人的帮助下完成的。 请见 .B vim 下的 ":help credits"。 .br 虽然不大可能还有原始的代码存在, 但是 .B Vim 仍然是基于 Stevie 写的代码,之后被 Tim Thompson、 Tony Andrews 和 G.R. (Fred) Walter 修改而成的。 .SH "缺陷" 也许有吧。 请用 ":help todo" 查看已知问题的列表。 .PP 请留意,有不少地方可能被其他人视为缺陷与错误, 但实际上这只是因为程序忠实地还原了 Vi 的行为操作。 如果你觉得有些地方“因为和 Vi 的行为不一样”而应该是错误的, 也许你应该再仔细阅读一下 vi_diff.txt 文件(或者在 Vim 中输入 "help vi_diff.txt")。 您也应该查一查“compatible”和“cpoptions”选项的用法。 .SH "[中文版原维护人]" .B 唐友 \ .SH "[中文版原最新更新]" .BR 2001/8/30 .SH "[原中国Linux论坛man手册页翻译计划]" .BI http://cmpp.linuxforum.net .\" manpages-zh date: 2016-12-18 .\" manpages-zh orig-date: 2016-12-14 manpages-zh-1.6.3.3/src/man1/gzip.1000066400000000000000000000326631327105066500165710ustar00rootroot00000000000000.\" 中文版版权所有 Liu JingSong, www.linuxforum.net 2000 .\" 本文档可在遵照LDP GENERAL PUBLIC LICENSE,Version 1, September 1998 .\" 中描述的条件下进行复制,且该文件发布时必须包含该文档. .TH GZIP 1 local .SH NAME gzip, gunzip, zcat \- 压缩或展开文件 .SH 总揽 .ll +8 .B gzip .RB [ " \-acdfhlLnNrtvV19 " ] .RB [ \-S\ 后缀 ] [ .I "文件名 \&..." ] .ll -8 .br .B gunzip .RB [ " \-acfhlLnNrtvV " ] .RB [ \-S\ 后缀 ] [ .I "文件名 \&..." ] .br .B zcat .RB [ " \-fhLV " ] [ .I "文件名 \&..." ] .SH 描述 .I Gzip 采用Lempel-Ziv 编码算法(LZ77)压缩给定文件的大小。 在可能的情况下, 每个文件被具有扩展名 .B "\&.gz," 的文件所替换, 同时保留原属主状态,存取和修改时间 (在VMS系统下缺省扩展名为 .B "\-gz" 在MSDOS、OS/2 FAT, Windows NT FAT 和Atari系统下,缺省扩展名为 .B "z" ) 如果未指定文件名,或者指定了一个名为"-"的文件名,则从标准输入读取数据,压缩的 结果输出到标准输出。 .I Gzip 只尝试压缩常规文件,特别地,它将忽略符号连接。 .PP 如果压缩后的文件名对于所在的文件系统来说太长, .I gzip 会将其截断。 .I Gzip 只尝试截断文件名中大于3个字符的段(每个段由点分隔)。如果文件名只由较小的段 组成,最长的段将被截断。例如,如果文件名的长度限制是14个字符,文件gzip.msdos.exe 将被压缩为gzi.msd.exe.gz。在没有文件名长度限制的系统中,文件名将不会被截断。 .PP 缺省情况下, .I gzip 将原始文件名和时间信息保存在压缩后的文件中。 当采用 .B \-N 选项解压缩文件时,这些信息将被利用。在经过文件传输后文件名被截断及时间信息 未被保留的情况下,这些信息将将用于恢复文件名及时间信息。 .PP 用 .I gzip -d 或者 .I gunzip 以及 .I zcat. 可以将压缩后的文件恢复到原始的形式。如果保留在压缩文件中的原始文件名不适合 于当前的文件系统,将根据原文件名新建一个合法的文件名。 .PP .I gunzip 将命令行中以.gz, -gz, .z, -z, _z 或 .Z结尾并具有正确标志头的文件 解压缩,并以去掉扩展名的解压缩文件替换原文件。 .I gunzip 也能识别扩展名为 .B "\&.tgz" 和 .B "\&.taz" 的文件,并将其分别当作 .B "\&.tar.gz" 和 .B "\&.tar.Z" 的缩写。 在压缩时,如果采用 .B "\&.tar" 扩展名则需要对文件名进行截断处理时, .I gzip 将采用 .B "\&.tgz" 作为扩展名。 .PP .I gunzip 目前能够解压由 .I gzip, zip, compress, compress -H 以及 .I pack 产生的文件。 对输入格式的检测是自动的。当采用前两种格式时, .I gunzip 检查一个32位的CRC校验码。对于 .I pack, gunzip 则检查压缩前的数据长度。标准的 .I compress 格式的设计无法实现一致性检查。但有时 .I gunzip 仍然能检测到坏的.Z文件。如果你在解压一个.Z文件时出现错误,不要简单地因为标准的 .I uncompress 没有报错就认定.Z文件是正确的。 这通常意味着标准的 .I uncompress 没有检查它的输入数据,而盲目地产生了错误的输出。SCO的compress -H格式(lzh压缩方 法)不包含CRC校验码,但也允许一些一致性检查。 .PP 由 .I zip 生成的文件, 如果其内容只有一个文件并且是以'deflation'方式压缩的,则可 由gzip解压。这一特性只是为了方便将tar.zip 格式的文件转换为tar.gz格式而加入的。 要解压含有多个文件的zip文件,请用 .I unzip. .PP .I zcat 的功能与 .I gunzip .B \-c. 相同。 (在一些系统中, .I zcat 可能被安装成 .I gzcat 以保留 .I compress 与zcat的原有连接。) .I zcat 将命令行中列出的文件或由标准输入输入的数据解压,解压后的数据写到标准输出。 .I zcat 解压具有正确标志头的文件,而不管其是否带有 .B "\&.gz" 后缀。 .PP .I Gzip 采用 .I zip 和 PKZIP 中所采用的Lempel-Ziv算法。得到的压缩比依赖于输入数据的大小以及公用 子串的分布。例如源程序和英文文档能够压缩60\-70%。 压缩比通常比LZW( .IR compress 采用的算法)、Huffman编码( .IR pack 所采用的算法)、以及自适应Huffman编码( .RI compact ) 等方法要好得多。 .PP 即使压缩后的文件略大于原文件,压缩也照样进行。最坏的情况下,多出的数据包括 gzip文件头中的若干个字节,加上每块32K的5个字节,或者,对于大文件来说0.015% 的放大率。注意实际占用的硬盘块数目几乎从不增加。 .I gzip 在压缩和解压缩时保留原文件的属主和时间信息。 .SH 选项 .TP .B \-a --ascii Ascii文本模式:按本地习惯转换行结束符。该选项仅在一些非Unix 系统上有效。 对于MSDOS,在压缩时CR LF(译注:即回车和换行符)被转换为LF,在解压时LF被 转换为CR LF。 .TP .B \-c --stdout --to-stdout 将结果写到标准输出;原文件保持不变。如果有多个输入文件,输出将由一系列 独立的压缩文件组成。如果想得到较好的压缩率,在压缩前应将多个文件连在一起。 .TP .B \-d --decompress --uncompress 解压缩。 .TP .B \-f --force 强制压缩和解压缩,即使指定文件具有多重连接,或相应文件已经存在,或压缩数据 来自或写往一个终端。 如果输入数据是 .I gzip 无法识别的格式,同时在命令行中也给出了--stdout选项,gzip将把输入数据拷贝至标准 输出而不做任何改动,就象cat所做的一样。 如果未给出 .B \-f 选项,并且未在后台运行, .I gzip 会提示用户以确认是否覆盖一个已存在的文件。 .TP .B \-h --help 显示帮助信息然后退出。 .TP .B \-l --list 列出每个压缩文件的如下项目: compressed size: 压缩文件的长度 uncompressed size: 压缩前文件的长度 ratio: 压缩率(如果未知则为0.0%) uncompressed_name: 压缩前的文件名 对于非gzip格式的文件,压缩前文件长度显示为-1,例如由compress压缩的.Z文件。 可用下列命令得到这种文件压缩前的长度: zcat file.Z | wc -c 如果同时指定了--verbose选项,下列项目也被列出: method: 压缩方式 crc: 未压缩数据的32位CRC校验码 date & time: 压缩前文件的时间信息 目前支持的压缩方式有deflate、compress、lzh(SCO下的compress -H)以及pack等方式。 对于非gzip格式的文件,crc校验码显示为ffffffff。 若指定了--name选项,如果有的话,压缩前文件名,日期以及时间是保存在压缩文件中 的内容。 若指定了--verbose选项,还将列出所有文件的长度总和,除非某些文件的长度未知。 若指定--quiet选项,将不显示标题和合计两行内容。 .TP .B \-L --license 显示 .I gzip 的许可证信息然后退出。 .TP .B \-n --no-name 在压缩时,缺省不保留原始文件名和时间信息。(如果必须对文件名作截断处理, 则原始文件名总是被保存。) 在解压缩时,即使有也不恢复原始文件名(仅将压 缩文件名中的 .I gzip 后缀去掉)和时间信息(拷贝压缩文件中相应信息)。该选项是压缩时的缺省选项。 .TP .B \-N --name 在压缩时总是保存原始文件名和时间信息;该选项为缺省选项。在解压缩时,如果 存在原始文件名和时间信息则恢复之。该选项可用于对文件名长度有限制的系统, 以及经过文件传输后丢失时间信息的情况。 .TP .B \-q --quiet 压制所有警告信息。 .TP .B \-r --recursive 递归地访问目录结构。如果命令行中有目录名, .I gzip 将进入目录并压缩所有找到的文件(如果执行的命令是 .I gunzip 则对其解压缩)。 .TP .B \-S .suf --suffix .suf 采用.suf后缀取代.gz后缀。可以指定任何后缀,但应避免使用除了.z和.gz以外 的其它后缀,以免文件传输到其它系统时发生混淆。一个空后缀将迫使gunzip 解压缩所有文件而不管它具有什么样的后缀,例如: gunzip -S "" * (在MSDOS下用*.*替换*) 以前版本的gzip采用.z后缀。为了避免与 .IR pack "(1)". 冲突,后来作了改动。 .TP .B \-t --test 测试。检查压缩文件的完整性。 .TP .B \-v --verbose 详尽模式。显示每个压缩或解压缩文件的名字和压缩率。 .TP .B \-V --version 版本。显示版本号和编译选项后退出。 Version. Display the version number and compilation options then quit. .TP .B \-# --fast --best 用指定的数字 .IR # 调整压缩速度, 其中 .B \-1 及 .B \-\-fast 对应最快压缩方式(压缩率较低), .B \-9 及 .B \-\-best 对应最慢压缩方式(压缩率最佳)。缺省的压缩级别为 .BR \-6 (也就是说,以速度为代价偏向于高压缩率)。 .SH "高级用法" 多个被压缩的文件可以连在一起。在这种情况下, .I gunzip 能一次解压所有文件。例如: gzip -c file1 > foo.gz gzip -c file2 >> foo.gz 然后 gunzip -c foo 上面的命令等价于 cat file1 file2 如果.gz文件中的某一个文件损坏,其他文件仍可以恢复(如果损坏的文件被删除的话)。 而且一次压缩所有文件能得到较好的压缩率: cat file1 file2 | gzip > foo.gz 上面用法的压缩率比下面用法的高: gzip -c file1 file2 > foo.gz 如果想重新压缩连接起来的文件以得到较高的压缩率,可以用下面的命令: gzip -cd old.gz | gzip > new.gz 如果一个压缩文件由多个文件组成,--list选项只能列出最后一个成员的 解压后文件长度和CRC校验码。如果需要所有成员的解压后文件长度,可用如下命令: gzip -cd file.gz | wc -c 如果想要产生一个具有多个成员的存档文件,以便将来能够独立地取出其中的成员, 可以用tar或zip这样的归档软件。GNU tar支持-z选项,可直接调用gzip。gzip设计为 tar的补充,而非它的取代物。 .SH "环境变量" 环境变量 .B GZIP 能够控制一系列 .I gzip 的缺省选项。 这些选项被首先解释,并且能被命令行参数中的直接定义覆盖。例如: 在sh下: GZIP="-8v --name"; export GZIP 在csh下: setenv GZIP "-8v --name" 在MSDOS下: set GZIP=-8v --name 在Vax/VMS系统中,为了避免与调用该程序的符号设置冲突,该环境变量名为GZIP_OPT。 .SH "另见" znew(1), zcmp(1), zmore(1), zforce(1), gzexe(1), zip(1), unzip(1), compress(1), pack(1), compact(1) .SH "诊断" 正常的退出状态为0;如果出现错误,退出状态为1。如果出现警告信息,退出状态为2。 .PP Usage: gzip [-cdfhlLnNrtvV19] [-S suffix] [file ...] .in +8 在命令行中出现非法的选项。 .in -8 .IR file : not in gzip format .in +8 指定给 .I gunzip 的文件没有被压缩。 .in -8 .IR file: Corrupt input. Use zcat to recover some data. .in +8 压缩文件已损坏。在损坏点以前的数据可以用下列命令恢复。 .in +8 zcat file > recover .in -16 .IR file : compressed with .I xx bits, can only handle .I yy bits .in +8 文件 .I File 是由一个比在当前机器上能处理更多 .I 位 的程序压缩的(采用LZW算法)。用gzip重新压缩该文件,将得到较好的压缩率,并且 占用的内存较少。 .in -8 .IR file : already has .gz suffix -- no change .in +8 gzip认为该程序已经压缩。改变文件名再试。 .in -8 .I file already exists; do you wish to overwrite (y or n)? .in +8 如果你想覆盖该文件回答"y",如果不是回答"n"。 .in -8 gunzip: corrupt input .in +8 探测到一个SIGSEGV非法操作,这通常意味着输入文件已经损坏。 .in -8 .I "xx.x%" .in +8 由于压缩而减少的数据量相对于输入数据的百分比。(仅对应于 .BR \-v 和 .BR \-l 选项。) .in -8 -- not a regular file or directory: ignored .in +8 如果输入文件不是常规文件或目录,(例如符号连接,socket文件,FIFO文件, 设备文件),该文件将保持不变。 .in -8 -- has .I xx other links: unchanged .in +8 该文件有连接,将保持不变。更多信息参见 .IR ln "(1)". 采用 .B \-f 强制压缩多重连接文件。 .in -8 .SH 警告 在向磁带写压缩数据时,通常需要在数据尾部充零以使数据总长度为磁带数据块 长度的整数倍。当用 .I gunzip 对这样的数据解压缩时, .I gunzip 能检测到尾部的无用数据,在缺省情况下将发出一个警告信息。必须采用--quiet 选项才能压制这一警告信息。该选项可以设在 .B GZIP 环境变量中,例如: 在sh下: GZIP="-q" tar -xfz --block-compress /dev/rst0 在csh下: (setenv GZIP -q; tar -xfz --block-compr /dev/rst0 在上面的例子中,gzip被采用了-z选项的GNU tar调用。在磁带上读写压缩数据时, 应确保采用同样的数据块长度(tar的 .B -b 选项)。(本例假定使用的是GNU版本的tar。) .SH 缺陷 如果数据长度超过2GB, 采用--list选项时报告的文件长度不正确。 如果压缩文件位于不能定位的存储介质上,采用--list选项时报告的文件长度为-1,crc 校验码为ffffffff。 在极少数情况下,--best选项得到的压缩率比缺省情况(-6)还差。对于一些高度冗余 的文件, .I compress 比 .I gzip 压缩得更好。 .SH "[中文版维护人]" .B Liu JingSong .SH "[中文版最新更新]" 2000/12/28 .SH "[中国Linux论坛man手册页翻译计划]" .BI http://cmpp.linuxforum.net manpages-zh-1.6.3.3/src/man1/hash.1000066400000000000000000000000241327105066500165250ustar00rootroot00000000000000.so man1/builtins.1 manpages-zh-1.6.3.3/src/man1/head.1000066400000000000000000000044301327105066500165100ustar00rootroot00000000000000.\" DO NOT MODIFY THIS FILE! It was generated by help2man 1.47.3. .\"******************************************************************* .\" .\" This file was generated with po4a. Translate the source file. .\" .\"******************************************************************* .TH HEAD 1 2017年10月 "GNU coreutils 8.28" 用户命令 .SH 名称 head \- 输出文件的起始部分 .SH 概述 \fBhead\fP [\fI\,选项\/\fP]... [\fI\,文件\/\fP]... .SH 描述 .\" Add any additional description here .PP 将文件列表中每个文件的起始10行内容输出至标准输出。如果指定多个文件,则会在每个文件的部分之前添加给定文件名称。 .PP 如果没有指定文件,或者指定文件为“\-”,则从标准输入读取。 .PP 必选参数对长短选项同时适用。 .TP \fB\-c\fP, \fB\-\-bytes\fP=\fI\,[\-]NUM\/\fP 显示每个文件的前 NUM 个字节;以 '\-' 起始,则显示每个文件中不包含最后 NUM 个字节的全部内容 .TP \fB\-n\fP, \fB\-\-lines\fP=\fI\,[\-]NUM\/\fP 显示前 NUM 行而不是前10行;以 '\-' 起始,则显示每个文件中不包含最后 NUM 行的全部内容 .TP \fB\-q\fP, \fB\-\-quiet\fP, \fB\-\-silent\fP 不显示给出文件名的首部 .TP \fB\-v\fP, \fB\-\-verbose\fP 显示给出文件名的首部 .TP \fB\-z\fP, \fB\-\-zero\-terminated\fP 以 NUL 作为行的分隔符,而非换行符 .TP \fB\-\-help\fP 显示此帮助信息并退出 .TP \fB\-\-version\fP 显示版本信息并退出 .PP NUM 可以带倍数后缀:b 512, kB 1000, K 1024, MB 1000*1000, M 1024*1024, GB 1000*1000*1000, G 1024*1024*1024, 对于 T, P, E, Z, Y 同样适用。 .SH 作者 由 David MacKenzie 和 Jim Meyering 编写。 .SH 报告错误 GNU coreutils 的在线帮助: .br 请向 报告 head 的翻译错误。 .SH 版权 Copyright \(co 2017 Free Software Foundation, Inc. License GPLv3+: GNU GPL version 3 or later . .br This is free software: you are free to change and redistribute it. There is NO WARRANTY, to the extent permitted by law. .SH 参见 tail(1) .PP .br 完整文档请见: .br 或者在本地使用: info \(aq(coreutils) head invocation\(aq manpages-zh-1.6.3.3/src/man1/help.1000066400000000000000000000000241327105066500165320ustar00rootroot00000000000000.so man1/builtins.1 manpages-zh-1.6.3.3/src/man1/history.1000066400000000000000000000000241327105066500173030ustar00rootroot00000000000000.so man1/builtins.1 manpages-zh-1.6.3.3/src/man1/host.1000066400000000000000000000232001327105066500165600ustar00rootroot00000000000000.\" ++Copyright++ 1993 .\" - .\" Copyright (c) 1993 .\" The Regents of the University of California. All rights reserved. .\" .\" 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. All advertising materials mentioning features or use of this software .\" must display the following acknowledgement: .\" This product includes software developed by the University of .\" California, Berkeley and its contributors. .\" 4. 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. .\" - .\" Portions Copyright (c) 1993 by Digital Equipment Corporation. .\" .\" Permission to use, copy, modify, and distribute this software for any .\" purpose with or without fee is hereby granted, provided that the above .\" copyright notice and this permission notice appear in all copies, and that .\" the name of Digital Equipment Corporation not be used in advertising or .\" publicity pertaining to distribution of the document or software without .\" specific, written prior permission. .\" .\" THE SOFTWARE IS PROVIDED "AS IS" AND DIGITAL EQUIPMENT CORP. DISCLAIMS ALL .\" WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES .\" OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL DIGITAL EQUIPMENT .\" CORPORATION BE LIABLE FOR ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL .\" DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR .\" PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS .\" ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS .\" SOFTWARE. .\" - .\" --Copyright-- .TH HOST 1 "1994年12月15日" BSD 4 .SH NAME (名字) .B host \- 使用域名服务器查询主机名字 .SH SYNOPSIS (总览) .B host [ .B -l ] [ .B -v ] [ .B -w ] [ .B -r ] [ .B -d ] [ .B -t .IR querytype ] [ .B -a ] .IR host [ .IR server ] .SH DESCRIPTION (描述) .B Host 查询 Internet 主机 的 信息. 它 通过 一组 分布在 国家间的 互连服务器 获取 这些 信息. 缺省情况下, host 只是 简单的 做 主机名字 和 Internet 地址 的 转换. 然而 通过 .B -t 或 .B -a 选项, 它 可以 用来 查找 由 域名服务器 维护的 某个主机 的 全部信息. .PP 参数 可以是 主机名称, 也可以是 数字地址. 此程序 首先 把它 当做 主机的 数字地址, 如果 尝试 失败, 再把它 当做 主机名称. 主机的 数字地址 由 句点隔开的 四个 十进位制数 组成, 例如 128.6.4.194. 主机名称 由 句点隔开的 名字 组成, 例如 topaz.rutgers.edu. 除非 名字 以句点 结尾, 否则 本地域名 将 自动 添加在 后面. 因此, Rutgers 的 用户 可以 输入 .PP host topaz .PP 它 实际上 查找 "topaz.rutgers.edu". 如果 尝试 失败, 就用 原来输入的 名字 再试一次 (这里就是 "topaz"). 邮件 和 其他 网络工具 用了 同样的 策略. 添加在 名字 后面 的 后缀 来自 调用 .B hostname(1) 的 结果, 使用了 第一个点 后面的 全部 数据. (另见 下面 .IR 定制查询主机名字 的 描述. ) .PP 第一个参数 是 你 打算查询的 主机名称. 如果 是 数字地址, 就 执行 \(lq 反向查询 (inverse query) \(rq 也就是说, 域名系统 查看 一系列 独立的 数据库, 把 数字地址 转换成 名字. .PP 第二个 参数 是 可选的. 它 允许你 指定查询 某个 特定的 服务器. 如果 没有 使用 这个参数, 就用 缺省 服务器 (一般是本地机). .PP 如果 指定了 名字, 你 可以见到 三个 不同种类的 输出. 这里是 它们的 例子: .PP % host sun4 .br sun4.rutgers.edu is a nickname for ATHOS.RUTGERS.EDU .br ATHOS.RUTGERS.EDU has address 128.6.5.46 .br ATHOS.RUTGERS.EDU has address 128.6.4.4 .br ATHOS.RUTGERS.EDU mail is handled by ARAMIS.RUTGERS.EDU .PP 用户 键入的命令 是 \(lq .B host sun4 \(rq 第一行 表明 \(lq sun4.rutgers.edu \(rq 实际上 是 别名. 正式名字 是 \(lq ATHOS.RUTGERS.EDU \(rq 接下来 两行 显示 地址. 如果 系统 有 多个 网络接口, host 就 分别 显示 每个 接口 的 地址. 最后一行 表明 ATHOS.RUTGERS.EDU 不接收 属于它的 邮件, 邮件 由 ARAMIS.RUTGERS.EDU 处理. 由于 某些系统 拥有 多个 处理邮件的 系统, 可能 会有 多行 这样的显示. 从 技术角度 看, 我们 认为 每个 能够 接收邮件 的 系统 应该有 这样的项. 如果 系统 接收 它自己的 邮件, 应该 有一项 提及 该系统 自身; 例如: .PP Li XXX mail is handled by XXX .PP 然而, 很多 能够 接收 自己邮件 的 系统 不愿意 提及 这个事实. 如果 系统 有一项 .br Li mail is handled by , .br 但是 没有 地址, 这 表明 它 不是 Internet 的 一部分, 而是 在 网络上 转发 邮件 的 系统. Usenet, Bitnet 和 许多 其他网络 都有 类似项. .SH 选项 在 主机名字 前面 能够 使用 很多 选项. 大多数 选项 只对 维护 域名数据库 有意义. .TP .B \-w 这一项 导致 .B host 永久 等待 应答. 正常情况下, 大约 一分钟后 产生 超时. .TP .B \-v 以 "繁琐" 格式 输出, 它是 正式的 主域文件格式, 在 手册页 named(8) 中 有描述. 没有 这个选项 时, 基本术语 的 输出 仍然 遵循 这个 格式, 但是 试图 对 普通用户 显示的 更智能些. 如果 不使用 \-v , 所有的 "a", "mx", 和 "cname" 项目 显示成 相应的 "has address", "mail is handled by" 和 "is a nickname for", 而且 不显示 TTL 和类型. .TP .B \-r 查询时 关闭 递归. 这 意味着 名字服务器 只返回 它 自身 数据库 的 数据. 不向 其他服务器 询问 更多 信息. .TP .B \-d 打开 调试功能. 显示 网络应答细节. .TP \fB-t\fP \fIquerytype\fP 允许 指定 .IR querytype 来 查询 某个信息. 手册页 named(8) 中 定义了 这些 参数. 目前支持的 类型有: a , ns , md , mf , cname , soa , mb , mg , mr , null , wks , ptr , hinfo , minfo , mx , uinfo , uid , gid , unspec . 另外, 通配符 (可以 写成 any 或 * ) 可以 指定 上面的 任意(全部) 类型. 类型 必须是 小写字符. 注意 缺省 搜索顺序 首先是 a , 然后是 mx , 除非 打开了 -v 选项, 使 缺省值 只是 a . \-t 选项 在过滤 .IR host 返回的信息 时 非常有用. 更多的 内容 参见 下面 \-l 选项 的 说明. .TP .B -a 全部 ; 等同于 \-v \-t any .TP .B -l 列出 全部域项; 例如: host -l rutgers.edu 将 列出 rutgers.edu 域 中 所有的 主机. \-t 选项 可以 按需 过滤 收到的信息. 缺省值 是 地址信息, 包括 PTR 和 NS 记录. .PP host -l -v -t any rutgers.edu .PP 命令 以 正式主域文件格式 下载 rutgers.edu 的 全部 区域(zone) 数据. (然而 由于 某些 复杂原因, SOA 记录 显示了 两次.) .PP .B 注意: -l 执行 全部的 区域 传输, 然后 过滤出 要求的 信息. 所以 万不得已 才用 这个 命令. .SH 定制查询主机名字 一般说来, 如果 用户 给出的 名字 中 不含 任何 句点, host 就把 缺省域名 添加在 它的末尾. 缺省域名 能够 定义 在 .IR /etc/resolv.conf 中, 但是 通常 从 本机名字 的 第一个 句点 后面 提取. 用户 可以 通过 环境变量 .B LOCALDOMAIN 指定 不同的 缺省域名. 另外, 用户 可以 自定义 主机名字 的 缩写. 缩写 存放在 某个文件 中, 一行 一项, 格式是 一个 缩写名字, 一个 空格, 然后是 完整的 主机名. 这个 名字文件 必须 用 .B HOSTALIASES 环境变量 指出. .SH 环境变量 .IP HOSTALIASES 名字文件, 含有 .IR (主机别名 , 主机全名) 对. .SH 文件 .IP /etc/resolv.conf .SH 另见 .BR named (8), .BR resolver (5) .SH BUGS 当你 输入的 名字 不属于 本地域 时, 将会 出现 不希望 的 现象. 请记住 除非 输入的名字 以 点 结尾, 否则 本地域名 总会 附加在 它 后面, 失败后 才使用 原来的 名字. .PP \-l 选项 只 联系 指定域 中 的 第一个 名字服务器. 如果 这个 服务器 宕机, 你 应该 手工 指定 一个 服务器. 例如, 要 获取 foo.edu 的清单, 可以 用 .PP host -t ns foo.edu .PP 获得 foo.edu 的 全部 名字服务器, 然后 用 .PP host -l foo.edu xxx .PP 试验 每一个 xxx 名字服务器, 直到 碰上 能用的. .SH "[中文版维护人]" 徐明 .SH "[中文版最新更新]" 2003/05/13 .SH "《中国Linux论坛man手册页翻译计划》" http://cmpp.linuxforum.net manpages-zh-1.6.3.3/src/man1/hostid.1000066400000000000000000000024511327105066500171020ustar00rootroot00000000000000.\" DO NOT MODIFY THIS FILE! It was generated by help2man 1.47.3. .\"******************************************************************* .\" .\" This file was generated with po4a. Translate the source file. .\" .\"******************************************************************* .TH HOSTID 1 2017年10月 "GNU coreutils 8.28" 用户命令 .SH 名称 hostid \- 显示当前主机的数字标识符 .SH 概述 \fBhostid\fP [\fI\,选项\/\fP] .SH 描述 .\" Add any additional description here .PP 显示当前主机的数字标识符(十六进制)。 .TP \fB\-\-help\fP 显示此帮助信息并退出 .TP \fB\-\-version\fP 显示版本信息并退出 .SH 作者 由 Jim Meyering 编写。 .SH 报告错误 GNU coreutils 的在线帮助: .br 请向 报告 hostid 的翻译错误。 .SH 版权 Copyright \(co 2017 Free Software Foundation, Inc. License GPLv3+: GNU GPL version 3 or later . .br This is free software: you are free to change and redistribute it. There is NO WARRANTY, to the extent permitted by law. .SH 参见 gethostid(3) .PP .br 完整文档请见: .br 或者在本地使用: info \(aq(coreutils) hostid invocation\(aq manpages-zh-1.6.3.3/src/man1/hostname.1000066400000000000000000000112101327105066500174170ustar00rootroot00000000000000.TH HOSTNAME "1" "1996年1月28日" "net-tools(网络工具)" "Linux Programmer's Manual(Linux程序员手册)" .SH NAME(名称) hostname \- 显示或设置系统的主机名 .br domainname \- 显示或设置系统的NIS/YP域名 .br dnsdomainname \- 显示系统的DNS域名 .br nisdomainname \- 显示或设置系统的NIS/YP域名 .br ypdomainname \- 显示或设置系统的NIS/YP域名 .br nodename \- 显示或设置系统的DECnet节点名 .SH SYNOPSIS(总览) .B hostname .RB [ \-v ] .RB [ \-a ] .RB [ \-\-alias ] .RB [ \-d ] .RB [ \-\-domain ] .RB [ \-f ] .RB [ \-\-fqdn ] .RB [ \-i ] .RB [ \-\-ip-address ] .RB [ \-\-long ] .RB [ \-s ] .RB [ \-\-short ] .RB [ \-y ] .RB [ \-\-yp ] .RB [ \-\-nis ] .RB [ \-n ] .RB [ \-\-node ] .PP .B hostname .RB [ \-v ] .RB [ \-F\ filename ] .RB [ \-\-file\ filename ] .RB [ hostname ] .PP .B domainname .RB [ \-v ] .RB [ \-F\ filename ] .RB [ \-\-file\ filename ] .RB [ name ] .PP .B nodename .RB [ \-v ] .RB [ \-F\ filename ] .RB [ \-\-file\ filename ] .RB [ name ] .PP .B hostname .RB [ \-v ] .RB [ \-h ] .RB [ \-\-help ] .RB [ \-V ] .RB [ \-\-version ] .PP .B dnsdomainname .RB [ \-v ] .br .B nisdomainname .RB [ \-v ] .br .B ypdomainname .RB [ \-v ] .SH DESCRIPTION(描述) .B Hostname 是一个用来设置或显示当前主机,域或者系统的节点名的程序.许多联网程序使用这些名字来 标识机器.NIS/YP同样也使用域名. .SS "GET NAME"(获取名字) 如果不调用任何参数,程序即显示当前的名字: .LP .B hostname 会打印系统的名字为通过 .BR gethostname (2) 函数返回的值. .LP .B "domainname,nisdomainname,ypdomainname" 会打印系统的名字为通过 .BR getdomainname (2) 函数返回的值.这同时也被看作系统的YP/NIS域名. .LP .B nodename 会打印系统的DECnet节点名为通过 .BR getnodename (2) 函数返回的值. .LP .B dnsdomainname 会打印FQDN(完全资格域名)的域部分.系统的完整的FQDN可使用 .BR "hostname \-\-fqdn" 返回. .SS "SET NAME"(设置名字) 如果带一个参数或者带 .B \-\-file 选项调用的话,命令即设置主机名,NIS/YP域名或者节点名. .LP 注意,只有超级用户才可以修改这些名字. .LP 不可能使用 .B dnsdomainname 命令(参看下面的 .B "THE FQDN" ) 来设置FQDN或者DNS域名. .LP 每次系统启动时,主机名通常在 .I /etc/rc.d/rc.inet1 或 .I /etc/init.d/boot (一般通过读取文件的内容,其中包括了主机名,例如, .IR /etc/hostname )中设置. .SS THE FQDN 你不能使用该命令修改FQDN(通过 .BR "hostname \-\-fqdn" 返回) 或者DNS域名(通过 .BR "dnsdomainname" 返回).系统的FQDN是一个由 .BR resolver (3) 返回的主机名. .LP 从技术上说:FQDN指的是使用 .BR gethostbyname (2) 以返回 gethostname (2) 所返回主机名的名字. DNS域名是第一个圆点之后的部分. .LP 因此它依赖于你修改方式的配置(通常在 .IR /etc/host.conf 中).通常(如果hosts文件在DNS或NIS之前解析)你可以在 .IR /etc/hosts 中修改. .SH OPTIONS(选项) .TP .I "\-a,\-\-alias" 显示主机的别名(如果使用了的话). .TP .I "\-d,\-\-domain" 显示DNS域名.不要使用命令 .B domainname 来获得DNS域名,因为这会显示NIS域名而非DNS域名.可使用 .B dnsdomainname 替换之. .TP .I "\-F,\-\-file filename" 从指定文件中读取主机名.注释(以一个`#'开头的行)可忽略. .TP .I "\-f,\-\-fqdn,\-\-long" 显示FQDN(完全资格域名).一个FQDN包括一个短格式主机名和DNS域名.除非你正在使用bind或 者NIS来作主机查询,否则你可以在\fI/etc/hosts\fR文件中修改FQDN和DNS域名(这是FQDN的一 部分). .TP .I "\-h,\-\-help" 打印用法信息并退出. .TP .I "\-i,\-\-ip-address" 显示主机的IP地址(组). .TP .I "\-n,\-\-node" 显示DECnet节点名.如果指定了参数(或者指定了 .B \-\-file name ),那么root也可以设置一个新的节点名. .TP .I "\-s,\-\-short" 显示短格式主机名.这是一个去掉第一个圆点后面部分的主机名. .TP .I "\-V,\-\-version" 在标准输出上打印版本信息并以成功的状态退出. .TP .I "\-v,\-\-verbose" 详尽说明并告知所正在执行的. .TP .I "\-y,\-\-yp,\-\-nis" 显示NIS域名.如果指定了参数(或者指定了 .B \-\-file name ),那么root也可以设置一个新的NIS域. .SH FILES(相关文件) .B /etc/hosts .SH AUTHOR(作者) Peter Tobias, .br ernd Eckenfels, (NIS and manpage). .br Steve Whitehouse, (DECnet support and manpage). .SH "[中文版维护人]" .B riser .SH "[中文版最新更新]" .BR 2000/12/14 .SH "《中国linux论坛man手册页翻译计划》:" .BI http://cmpp.linuxforum.net manpages-zh-1.6.3.3/src/man1/hostnamectl.1000066400000000000000000000146421327105066500201360ustar00rootroot00000000000000'\" t .TH "HOSTNAMECTL" "1" "" "systemd 231" "hostnamectl" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- .\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ .\" http://bugs.debian.org/507673 .\" http://lists.gnu.org/archive/html/groff/2009-02/msg00013.html .\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ .ie \n(.g .ds Aq \(aq .el .ds Aq ' .\" ----------------------------------------------------------------- .\" * set default formatting .\" ----------------------------------------------------------------- .\" disable hyphenation .nh .\" disable justification (adjust text to left margin only) .ad l .\" ----------------------------------------------------------------- .\" * MAIN CONTENT STARTS HERE * .\" ----------------------------------------------------------------- .SH "NAME" hostnamectl \- 控制系统的主机名 .SH "SYNOPSIS" .HP \w'\fBhostnamectl\fR\ 'u \fBhostnamectl\fR [OPTIONS...] {COMMAND} .SH "描述" .PP \fBhostnamectl\fR 可用于查询与修改系统主机名以及其他相关设置。 所谓"主机名",其实有三种不同的含义: .PP "pretty"主机名,仅供人类阅读,可以包含各种特殊字符, 例如"Lennart\*(Aqs Laptop"(必须是UTF\-8编码)。 pretty(易读主机名)、chassis(设备类型)、icon(图标名称)存储在 /etc/machine\-info 文件中, 详见 \fBmachine-info\fR(5) 手册。 .PP "static"主机名,用于在系统启动时设置内核的主机名,仅可包含 "\-","a\-z","0\-9" 字符,例如"lennarts\-laptop"。 此种主机名就是通常所说的"主机名",存储在 /etc/hostname 文件中, 详见 \fBhostname\fR(5) 手册。 .PP "transient"主机名,是从网络配置中获得的 fallback 主机名, 同样仅可包含 "\-","a\-z","0\-9" 字符。 如果存在"static"主机名且不等于"localhost", 那么将忽略"transient"主机名。 .PP 可以使用 \fBsystemd-firstboot\fR(1) 初始化已挂载(但未启动)的系统镜像的主机名(hostname)。 .SH "选项" .PP 能够识别的命令行选项如下: .PP \fB\-\-no\-ask\-password\fR .RS 4 在执行特权操作时不向用户索要密码。 .RE .PP \fB\-\-static\fR, \fB\-\-transient\fR, \fB\-\-pretty\fR .RS 4 与默认的 \fBstatus\fR 命令一起使用, 表示仅显示特定的主机名(不可同时使用多个选项)。 .sp 与 \fBset\-hostname\fR 命令一起使用, 表示仅更新特定的主机名(可以同时使用多个选项)。 .RE .PP \fB\-H\fR, \fB\-\-host=\fR .RS 4 操作指定的远程主机。可以仅指定一个主机名(hostname), 也可以使用 "username@hostname" 格式。 hostname 后面还可以加上容器名(以冒号分隔), 也就是形如 "hostname:container" 的格式, 以表示直接连接到指定主机的指定容器内。 操作将通过SSH协议进行,以确保安全。 可以通过 \fBmachinectl \-H \fR\fB\fIHOST\fR\fR 命令列出远程主机上的所有容器名称。 .RE .PP \fB\-M\fR, \fB\-\-machine=\fR .RS 4 在本地容器内执行操作。 必须明确指定容器的名称。 .RE .PP \fB\-h\fR, \fB\-\-help\fR .RS 4 显示简短的帮助信息并退出。 .RE .PP \fB\-\-version\fR .RS 4 显示简短的版本信息并退出。 .RE .PP 能够识别的命令如下: .PP \fBstatus\fR .RS 4 显示当前的主机名及其他相关信息。 这是默认命令。 .RE .PP \fBset\-hostname \fR\fB\fINAME\fR\fR .RS 4 将系统的主机名设为 \fINAME\fR 。 如果使用了 \fB\-\-static\fR, \fB\-\-transient\fR, \fB\-\-pretty\fR 选项, 那么只更新指定的主机名, 否则同时更新 pretty, static, transient 三个主机名。 如果在设置 pretty 主机名的同时也设置 static/transient 主机名, 那么 static/transient 主机名将根据如下规则从 pretty 主机名派生而来: 首先将空格替换为 "\-" , 然后将大写字母转换为小写字母, 最后删除不在"\-","a\-z","0\-9"范围内的字符。 这样可以确保 static/transient 主机名始终保持与 pretty 主机名一致, 同时又不违反自身的命名规则。 如果仅设置 static/transient 主机名, 则不会对 pretty 主机名产生任何影响。 .sp 注意,若设为空字符串, 则表示将主机名重置为默认值(通常是 "localhost")。 .RE .PP \fBset\-icon\-name \fR\fB\fINAME\fR\fR .RS 4 将系统的图标名设为 \fINAME\fR , 某些图形界面的应用程序会根据此设置给主机配上适当的图标。 此名称必须遵守 \m[blue]\fB图标命名规范\fR\m[]\&\s-2\u[1]\d\s+2。 .sp 注意,若设为空字符串, 则表示将图标名重置为默认值(通常由"设备类型"决定)。 .RE .PP \fBset\-chassis \fR\fB\fITYPE\fR\fR .RS 4 将系统的设备类型设为 \fITYPE\fR, 某些图形界面的应用程序 会根据此设置切换到合适的人机界面之类。 取值范围如下: "desktop"(台式机), "laptop"(笔记本), "server"(服务器), "tablet"(平板电脑), "handset"(智能手机), "watch"(智能手表), "embedded"(嵌入式设备), "vm"(虚拟机), "container"(容器)。 .sp 注意,若设为空字符串, 则表示将设备类型重置为默认值(通常由主板固件决定)。 .RE .PP \fBset\-deployment \fR\fB\fIENVIRONMENT\fR\fR .RS 4 将系统的部署环境设为 \fIENVIRONMENT\fR 。 必须设为一个单独的单词且禁止包含任何特殊字符。 建议设为下列单词中的一个: "development"(开发), "integration"(综合), "staging"(阶段), "production"(生产) .sp 注意,若设为空字符串,则表示将部署环境重置为默认值(同样是空字符串)。 .RE .PP \fBset\-location \fR\fB\fILOCATION\fR\fR .RS 4 将系统的地理位置设为 \fILOCATION\fR 。 必须设为一个人类易读字符串, 准确的描述出主机所在的物理位置。 例如: "XX数据中心3楼E23机柜U7" .sp 注意,若设为空字符串,则表示将地理位置重置为默认值(同样是空字符串)。 .RE .SH "退出状态" .PP 返回值为 0 表示成功, 非零返回值表示失败代码。 .SH "参见" .PP \fBsystemd\fR(1), \fBhostname\fR(1), \fBhostname\fR(5), \fBmachine-info\fR(5), \fBsystemctl\fR(1), \fBsystemd-hostnamed.service\fR(8), \fBsystemd-firstboot\fR(1) .SH "NOTES" .IP " 1." 4 图标命名规范 .RS 4 \%http://standards.freedesktop.org/icon-naming-spec/icon-naming-spec-latest.html .RE .\" manpages-zh translator: 金步国 .\" manpages-zh comment: 金步国作品集:http://www.jinbuguo.com manpages-zh-1.6.3.3/src/man1/iconv.1000066400000000000000000000025501327105066500167260ustar00rootroot00000000000000.\" Copyright (c) Bruno Haible .\" .\" This is free documentation; you can redistribute it and/or .\" modify it under the terms of the GNU General Public License as .\" published by the Free Software Foundation; either version 2 of .\" the License, or (at your option) any later version. .\" .\" References consulted: .\" OpenGroup's Single Unix specification http://www.UNIX-systems.org/online.html .\" .TH ICONV 1 "February 20, 2001" "GNU" "Linux Programmer's Manual" .SH NAME iconv \- 字符集转换 .SH "总览 (SYNOPSIS)" iconv [\fB-f\fP \fIencoding\fP] [\fB-t\fP \fIencoding\fP] [\fIinputfile\fP ...] .SH "描述 (DESCRIPTION)" \fBiconv\fP 程序 把 文本 从 一种 编码 转换 为 另一种 编码. 更准确一点, 他是 把 \fB-f\fP 指定的 编码 转换为 \fB-t\fP 指定的 编码. 这两种 编码 默认 都是 当前 locale 的编码, 所有 \fIinputfile\fP 都依次 进行转换. 如果没有指定 \fIinputfile\fP 则使用 标准输入. 转换后的 内容 会 输出到 标准输出. .PP 允许的 编码 与 具体系统 有关. 具体 实现 可以 查看 iconv_open(3) 手册页. .SH "参见 (SEE ALSO)" .BR iconv_open "(3), " locale (7) .SH "[中文版维护人]" .B 唐友 \ .SH "[中文版最新更新]" .BR 2002/3/21 .SH "[中国Linux论坛man手册页翻译计划]" .BI http://cmpp.linuxforum.net manpages-zh-1.6.3.3/src/man1/id.1000066400000000000000000000040351327105066500162040ustar00rootroot00000000000000.\" DO NOT MODIFY THIS FILE! It was generated by help2man 1.47.3. .\"******************************************************************* .\" .\" This file was generated with po4a. Translate the source file. .\" .\"******************************************************************* .TH ID 1 2017年10月 "GNU coreutils 8.28" 用户命令 .SH 名称 id \- 显示真实和有效用户 ID 和组 ID .SH 概述 \fBid\fP [\fI\,选项\/\fP]... [\fI\,用户\/\fP] .SH 描述 .\" Add any additional description here .PP 显示指定用户的用户和用户组信息,或者(在没有给定用户信息的情况下)显示当前用户的信息。 .TP \fB\-a\fP 忽略,仅用于与其它版本兼容 .TP \fB\-Z\fP, \fB\-\-context\fP 只显示当前进程的安全上下文 .TP \fB\-g\fP, \fB\-\-group\fP 只显示有效组 ID .TP \fB\-G\fP, \fB\-\-groups\fP 显示所有组 ID .TP \fB\-n\fP, \fB\-\-name\fP 显示名称而非编号,与 \fB\-ugG\fP 共同使用 .TP \fB\-r\fP, \fB\-\-real\fP 显示真实 ID 而非有效 ID,与 \fB\-ugG\fP 共同使用 .TP \fB\-u\fP, \fB\-\-user\fP 只显示有效用户 ID .TP \fB\-z\fP, \fB\-\-zero\fP 使用 NUL 字符分隔不同项,而不用空格; .IP 在默认格式情况下不允许使用 .TP \fB\-\-help\fP 显示此帮助信息并退出 .TP \fB\-\-version\fP 显示版本信息并退出 .PP 如果没有指定任何选项,将会显示一些有用的身份信息。 .SH 作者 由 Arnold Robbins 和 David MacKenzie 编写。 .SH 报告错误 GNU coreutils 的在线帮助: .br 请向 报告 id 的翻译错误。 .SH 版权 Copyright \(co 2017 Free Software Foundation, Inc. License GPLv3+: GNU GPL version 3 or later . .br This is free software: you are free to change and redistribute it. There is NO WARRANTY, to the extent permitted by law. .SH 参见 完整文档请见: .br 或者在本地使用: info \(aq(coreutils) id invocation\(aq manpages-zh-1.6.3.3/src/man1/info.1000066400000000000000000000055171327105066500165510ustar00rootroot00000000000000.\" DO NOT MODIFY THIS FILE! It was generated by help2man 1.29. .TH INFO "1" "2016年9月" "info 6.3" "用户命令" .SH 名称 info \- 阅读 Info 文档 .SH "SYNOPSIS 总览" .B info [\fI选项\fR]... [\fI菜单\-项目\fR...] .SH "描述" 阅读 info 格式的文档。 .SH "选项" .TP \fB\-a\fR, \fB\-\-all\fR 使用所有匹配的手册。 .TP \fB\-\-apropos\fR=\fISTRING\fR 在所有手册的索引中查找 STRING。 .TP \fB\-d\fR, \fB\-\-directory\fR=\fIDIR\fR 将 DIR 添加到 INFOPATH。 .TP \fB\-\-dribble\fR=\fIFILENAME\fR 记录用户在查看 FILENAME 时的击键情况。 .TP \fB\-f\fR, \fB\-\-file\fR=\fIFILENAME\fR 指定要阅读的 info 文件。 .TP \fB\-h\fR, \fB\-\-help\fR 显示这份帮助,然后退出。 .TP \fB\-\-index\-search\fR=\fISTRING\fR 转到索引项 STRING 指向的节点。 .TP \fB\-n\fR, \fB\-\-node\fR=\fINODENAME\fR 指定第一个阅读的 info 文件中的节点。 .TP \fB\-o\fR, \fB\-\-output\fR=\fIFILENAME\fR 将所选的节点输出到 FILENAME。 .TP \fB\-R\fR, \fB\-\-raw\-escapes\fR 不要从 man 手册页中移除 ANSI 控制序列。 .TP \fB\-\-restore\fR=\fIFILENAME\fR 从 FILENAME 中读取初始的击键。 .TP \fB\-O\fR, \fB\-\-show\-options\fR, \fB\-\-usage\fR 转到命令行选项节点。 .TP \fB\-\-subnodes\fR 递归地输出菜单项目。 .TP \fB\-\-vi\-keys\fR 使用 vi 和 less 中的按键关联。 .TP \fB\-\-version\fR 显示版本信息,然后退出。 .PP 如果存在并非选项的参数,那么其中的第一个将成为目录项的起始点;它被从 INFOPATH 的所有 \(lq目录文件\(rq 中搜索。如果它不存在,info 将合并所有的 \(lq目录文件\(rq,并且显示结果。任何剩余的参数都被视为相对于阅读的初始节 点的目录项的名称。 .SH "EXAMPLES 范例" .TP info 显示顶层目录菜单 .TP info emacs 从 emacs 节点的顶层菜单开始 .TP info emacs buffers 从 emacs 手册中的 buffers 节点开始 .TP info \fB\-\-show\-options\fR emacs 从 emacs 的 \(lq命令行选项\(rq 节点开始 .TP info \fB\-f\fR ./foo.info 显示文件 ./foo.info,不搜索目录 .SH "REPORTING BUGS 报告错误" 将错误报告发送到 bug\-texinfo@gnu.org,一般的问题和讨论则发送到 help\-texinfo@gnu.org。 Texinfo 主页:http://www.gnu.org/software/texinfo/ .SH COPYRIGHT Copyright \(co 2016 Free Software Foundation, Inc. License GPLv3+: GNU GPL version 3 or later .br This is free software: you are free to change and redistribute it. There is NO WARRANTY, to the extent permitted by law. .SH "参见" .B info 的完整文档由 .B texinfo-doc-nonfree 软件包以 Texinfo 手册的形式提供。如果该软件包在您的系统上已经安装, 使用如下的命令: .IP .B info info .PP 应该能够让您阅读完整手册。 (或者,如果您有 Emacs,M-x info 可以打开该手册。) manpages-zh-1.6.3.3/src/man1/initdb.1000066400000000000000000000113371327105066500170640ustar00rootroot00000000000000.TH "INITDB" "1" "2003-11-02" "Application" "PostgreSQL Server Applications" .SH NAME initdb \- 创建一个新的 PostgreSQL数据库集群 .SH SYNOPSIS .sp \fBinitdb\fR\fR [ \fR\fB\fIoption\fB\fR...\fB \fR\fR]\fR \fR\fR \fB--pgdata \fR\fR | \fR\fB-D \fR\fIdirectory\fR\fR\fR .SH "DESCRIPTION 描述" .PP \fBinitdb\fR 创建一个新的 PostgreSQL 数据库集群。 一个数据库集群是由单个服务器实例管理的数据库集合。 .PP 创建数据库系统包括创建数据库数据的宿主目录, 生成共享的系统表(不属于任何特定数据库的表)和创建 template1 数据库。当你以后再创建一个新数据库时, template1 数据库里所有内容都会拷贝过来。 它包括填充了象内建类型这样的系统表。 .PP \fBinitdb\fR 初始化该数据库集群的缺省区域和字符集编码。 有些区域范畴对该集群而言是全生命期固定的,因此在运行 initdb 的时候选取正确的是非常重要的。 其它区域范畴可以在服务器启动之后的时间里改变。 initdb 将把那些区域设置写到 postgresql.conf 配置文件,这样它们就是缺省的, 但是我们可以通过编辑那些文件来修改它们。 要设置 initdb 使用的区域,参阅 --locale 选项的描述。字符集编码可以在数据库创建的时候独立设置。 initdb 决定 template1 数据库的编码,而该编码将成为所有其它数据库的缺省。 要修改缺省编码,我们可以使用 \fB--encoding\fR 选项。 .PP \fBinitdb\fR 必须以运行数据库服务器进程的用户身份运行它。 因为服务器需要能够访问 initdb 创建的文件和目录。 因为服务器不能以 root 身份运行,所以你也不能以 root 身份运行 initdb。(实际上它拒绝以 root 身份运行。) .PP 尽管initdb会尝试创建相应的数据目录, 但经常会发生它没有权限做这些事情的情况。因为所需要的目录的父目录通常是 root 所有的目录。 要为此安排做一个设置,用 root 创建一个空数据目录, 然后用 chown 把该目录的所有权交给数据库用户帐号, 然后 su 成数据库用户,最后以数据库用户身份运行 initdb。 .SH "OPTIONS 选项" .PP .TP \fB-D \fIdirectory\fB\fR .TP \fB--pgdata=\fIdirectory\fB\fR 这个选项声明数据库集群应该存放在哪个目录。 这是initdb需要的唯一信息,但是你可以通过设置 PGDATA 环境变量来避免键入, 这样做可能方便一些,因为稍后数据库服务器(postmaster)可以通过同一个变量找到数据库目录。 .TP \fB-E \fIencoding\fB\fR .TP \fB--encoding=\fIencoding\fB\fR 选择模板数据库的编码方式。这将是你以后创建的数据库的缺省编码方式, 除非你创建数据库时覆盖了它。 缺省是 SQL_ASCII。 .TP \fB--locale=\fIlocale\fB\fR 为数据库集群设置缺省的区域。如果没有声明这个选项,那么区域 是从 initdb 运行的环境中继承过来的。 .TP \fB--lc-collate=\fIlocale\fB\fR .TP \fB--lc-ctype=\fIlocale\fB\fR .TP \fB--lc-messages=\fIlocale\fB\fR .TP \fB--lc-monetary=\fIlocale\fB\fR .TP \fB--lc-numeric=\fIlocale\fB\fR .TP \fB--lc-time=\fIlocale\fB\fR 类似 --locale,但是只设置特殊范畴的区域。 .TP \fB-U \fIusername\fB\fR .TP \fB--username=\fIusername\fB\fR 选择数据库超级用户的用户名。 缺省是运行 initdb 的用户的有效用户。 超级用户的名字是什么并不重要, 但是我们可以选择习惯的名字 postgres,即使操作系统的用户名字不一样也无所谓。 .TP \fB-W\fR .TP \fB--pwprompt\fR 令 initdb 提示输入数据库超级用户的口令。 如果你不准备使用口令认证,这个东西并不重要。 否则你将不能使用口令认证直到你设置了口令。 .PP .PP 其他不常用的参数还有: .TP \fB-d\fR .TP \fB--debug\fR 从初始化后端打印调试输出以及一些其它的一些普通用户不太感兴趣的信息。 初始化后端是 initdb 用于创建系统表的程序。 这个选项生成大量非常烦人的输出。 .TP \fB-L \fIdirectory\fB\fR 告诉 initdb 到哪里找初始化数据库所需要的输入文件。 通常是不必要的。如果需要你明确声明的话,程序会提示你输入。 .TP \fB-n\fR .TP \fB--noclean\fR 缺省时,当initdb 发现一些错误妨碍它完成创建数据库集群的工作时, 它将在检测到不能结束工作之前将其创建的所有文件删除。 这个选项禁止任何清理动作,因而对调试很有用。 .PP .SH "ENVIRONMENT 环境" .TP \fBPGDATA\fR 声明数据库集群存储的目录;可以用 \fB-D\fR 选项覆盖。 .SH "SEE ALSO 参见" \fBpostgres\fR(1), \fBpostmaster\fR(1) .SH "译者" .B Postgresql 中文网站 .B 何伟平 manpages-zh-1.6.3.3/src/man1/initex.1000066400000000000000000000000171327105066500171040ustar00rootroot00000000000000.so man1/tex.1 manpages-zh-1.6.3.3/src/man1/initlocation.1000066400000000000000000000024131327105066500203020ustar00rootroot00000000000000.TH "INITLOCATION" "1" "2003-11-02" "Application" "PostgreSQL Server Applications" .SH NAME initlocation \- 创建一个从属的 PostgreSQL数据库存储区 .SH SYNOPSIS .sp \fBinitlocation\fR \fB\fIdirectory\fB\fR .SH "DESCRIPTION 描述" .PP \fBinitlocation\fR 创建一个新的PostgreSQL从属数据库存储区。参阅 CREATE DATABASE [\fBcreate_database\fR(7)] 里关于如何管理和使用从属存储区的讨论。 如果参数不包含一个斜杠而且也不是一个有效的路径, 它会被认为是一个环境变量而引用。参考下面的例子。 .PP 为使用这条命令,你必须以数据库超级用户登录(例如,使用 su) .SH "EXAMPLES 例子" .PP 用环境变量在一个可选位置创建一个数据库: .sp .nf $ \fBexport PGDATA2=/opt/postgres/data\fR .sp .fi 启动并停止postmaster这样它就能看到PGDATA2环境变量。 系统必须配置为 postmaster每次启动都能看到PGDATA2。 最后: .sp .nf $ \fBinitlocation PGDATA2\fR $ \fBcreatedb -D PGDATA2 testdb\fR .sp .fi .PP 或者,如果允许你使用绝对路径,你可以这样: .sp .nf $ \fBinitlocation /opt/postgres/data\fR $ \fBcreatedb -D /opt/postgres/data/testdb testdb\fR .sp .fi .SH "译者" .B Postgresql 中文网站 .B 何伟平 manpages-zh-1.6.3.3/src/man1/install-info.1000066400000000000000000000045011327105066500202050ustar00rootroot00000000000000.\" DO NOT MODIFY THIS FILE! It was generated by help2man 1.29. .TH INSTALL-INFO "1" "June 2003" "install-info 4.6" "User Commands" .SH NAME install-info \- 更新 info/dir 项 .SH "SYNOPSIS 总览" .B install-info [\fIOPTION\fR]... [\fIINFO-FILE \fR[\fIDIR-FILE\fR]] .SH "DESCRIPTION 描述" 从 Info 目录文件 DIR-FILE 中的文件 INFO-FILE 中安装或删除 dir 目录项。 .SH "OPTIONS 选项" .TP \fB\-\-delete\fR 删除 DIR-FILE 中的 INFO-FILE 里已有的项;不插入任何新项。 .TP \fB\-\-dir\-file\fR=\fINAME\fR 指定 Info 目录文件的文件名。这等价于使用 DIR-FILE 参数。 .TP \fB\-\-entry\fR=\fITEXT\fR 插入 TEXT,作为一个 Info 目录项。TEXT 的形式应当是一个 Info 目录项的一行,加上 0 个或多个以空白开始的行。如果指定了超过一项,它们都将被添加。如果不指定任何项,就根据它们的 Info 文件中的信息来判断。 .TP \fB\-\-help\fR 显示此帮助,然后退出。 .TP \fB\-\-info\-file\fR=\fIFILE\fR 指定要安装到目录中的 Info 文件。这等价于使用 INFO-FILE 参数。 .TP \fB\-\-info\-dir\fR=\fIDIR\fR 与 \fB\-\-dir\-file\fR=\fIDIR\fR/dir 相同。 .TP \fB\-\-item\fR=\fITEXT\fR 与 \fB\-\-entry\fR TEXT 相同。一个 Info 目录项实际是一个菜单项。 .TP \fB\-\-quiet\fR 阻止发出警告。 .TP \fB\-\-remove\fR 与 \fB\-\-delete\fR 相同。 .TP \fB\-\-section\fR=\fISEC\fR 将文件中所有项添加到目录的 SEC 段。如果指定了超过一个段,所有项都被添加到每一个段当中。如果不指定任何段,就根据它们的 Info 文件中的信息来判断。 .TP \fB\-\-version\fR 显示版本信息,然后退出。 .SH "REPORTING BUGS 报告错误" 将错误报告发送到 bug-texinfo@gnu.org,一般的问题和讨论则发送到 help-texinfo@gnu.org。 Texinfo 主页: http://www.gnu.org/software/texinfo/ .SH COPYRIGHT Copyright \(co 2003 Free Software Foundation, Inc. There is NO warranty. You may redistribute this software under the terms of the GNU General Public License. For more information about these matters, see the files named COPYING. .SH "SEE ALSO 参见" .B install-info 的全部文档以 Texinfo 手册页形式保存。如果你的主机上正确安装了 .B info 和 .B install-info 程序,命令 .IP .B info install\-info .PP 将使你可以读取完整的手册。 manpages-zh-1.6.3.3/src/man1/install.1000066400000000000000000000106161327105066500172600ustar00rootroot00000000000000.\" DO NOT MODIFY THIS FILE! It was generated by help2man 1.47.3. .\"******************************************************************* .\" .\" This file was generated with po4a. Translate the source file. .\" .\"******************************************************************* .TH INSTALL 1 2017年10月 "GNU coreutils 8.28" 用户命令 .SH 名称 install \- 复制文件并设置属性 .SH 概述 \fBinstall\fP [\fI\,选项\/\fP]... [\fI\,\-T\/\fP] \fI\,源文件 目标文件\/\fP .br \fBinstall\fP [\fI\,选项\/\fP]... \fI源文件列表\fP... \fI目录\fP .br \fBinstall\fP [\fI\,选项\/\fP]... \fI\,\-t 目录 源文件列表\/\fP... .br \fBinstall\fP [\fI\,选项\/\fP]... \fI\,\-d 目录列表\/\fP... .SH 描述 .\" Add any additional description here .PP 本程序将文件(通常是刚编译生成的文件)复制到您选定的目的位置。如果您想要在 GNU/Linux 系统上下载安装开箱即用的软件包,您应当使用像 yum(1) 或 apt\-get(1) 这样的软件包管理器。 .PP 在给出的前三种格式中,程序会将源文件复制为目标文件或将多个源文件复制到指定的已存在目录中,同时设置文件权限与属主、属组。在第四种格式中,程序将创建给定目录及其所有组件。 .PP 必选参数对长短选项同时适用。 .TP \fB\-\-backup\fP[=\fI\,控制参数\/\fP] 为每个已存在的目标文件创建一个备份 .TP \fB\-b\fP 类似 \fB\-\-backup\fP,但是不接受参数 .TP \fB\-c\fP (被忽略的选项) .TP \fB\-C\fP, \fB\-\-compare\fP 比较每一对源文件与目标文件。在某些情况下,完全不修改目标文件 .TP \fB\-d\fP, \fB\-\-directory\fP 将所有参数看作目录名称;创建指定目录的所有相关组件 .TP \fB\-D\fP 创建目标文件路径中除最后一个部分以外所有组成部分(缺失的父目录),或者 \fB\-\-target\-directory\fP 的全部组成部分,然后将源文件复制为目标文件 .TP \fB\-g\fP, \fB\-\-group\fP=\fI\,组名\/\fP 设置组所有权,而不是使用进程的当前组所有权 .TP \fB\-m\fP, \fB\-\-mode\fP=\fI\,模式\/\fP 设置权限模式(类似 chmod),而不是 rwxr\-xr\-x .TP \fB\-o\fP, \fB\-\-owner\fP=\fI\,所有者\/\fP 设置所有权(仅适用于超级用户) .TP \fB\-p\fP, \fB\-\-preserve\-timestamps\fP 将源文件的访问/修改时间应用于相应目标文件 .TP \fB\-s\fP, \fB\-\-strip\fP 剥离符号表 .TP \fB\-\-strip\-program\fP=\fI\,程序\/\fP 指定用于剥离(strip)二进制文件的程序 .TP \fB\-S\fP, \fB\-\-suffix\fP=\fI\,后缀\/\fP 替换常用的备份文件后缀 .TP \fB\-t\fP, \fB\-\-target\-directory\fP=\fI\,目录\/\fP 复制源目录列表中的所有文件到指定目录 .TP \fB\-T\fP, \fB\-\-no\-target\-directory\fP 将目标文件当作普通文件对待(而不是目录) .TP \fB\-v\fP, \fB\-\-verbose\fP 每次创建目录都输出目录名 .TP \fB\-\-preserve\-context\fP 保持 SELinux 安全上下文 .TP \fB\-Z\fP 将目标文件和每个创建的目录的 SELinux 安全上下文设置为默认类型 .TP \fB\-\-context\fP[=\fI\,CTX\/\fP] 类似 \fB\-Z\fP,或者如果指定了上下文,则将 SELinux 或者 SMACK 安全上下文设置为指定类型 .TP \fB\-\-help\fP 显示此帮助信息并退出 .TP \fB\-\-version\fP 显示版本信息并退出 .PP 文件备份所使用的后缀是“~”,除非设置了 \fB\-\-suffix\fP 或者 SIMPLE_BACKUP_SUFFIX。版本控制的方式可通过 \fB\-\-backup\fP 选项选择或者通过 VERSION_CONTROL 这个环境变量。可选的值如下所示: .TP none, off 从不做备份(即使给定了 \fB\-\-backup\fP) .TP numbered, t 做带编号的备份 .TP existing, nil 如果备份带编号则继续以编号方式备份,否则采用简单备份 .TP simple, never 总做简单备份 .SH 作者 由 David MacKenzie 编写。 .SH 报告错误 GNU coreutils 的在线帮助: .br 请向 报告 install 的翻译错误。 .SH 版权 Copyright \(co 2017 Free Software Foundation, Inc. License GPLv3+: GNU GPL version 3 or later . .br This is free software: you are free to change and redistribute it. There is NO WARRANTY, to the extent permitted by law. .SH 参见 完整文档请见: .br 或者在本地使用: info \(aq(coreutils) install invocation\(aq manpages-zh-1.6.3.3/src/man1/intro.1000066400000000000000000000225331327105066500167460ustar00rootroot00000000000000.\" Copyright (c) 2002 Andries Brouwer .\" .\" %%%LICENSE_START(VERBATIM) .\" Permission is granted to make and distribute verbatim copies of this .\" manual provided the copyright notice and this permission notice are .\" preserved on all copies. .\" .\" Permission is granted to copy and distribute modified versions of this .\" manual under the conditions for verbatim copying, provided that the .\" entire resulting derived work is distributed under the terms of a .\" permission notice identical to this one. .\" .\" Since the Linux kernel and libraries are constantly changing, this .\" manual page may be incorrect or out-of-date. The author(s) assume no .\" responsibility for errors or omissions, or for damages resulting from .\" the use of the information contained herein. The author(s) may not .\" have taken the same level of care in the production of this manual, .\" which is licensed free of charge, as they might when working .\" professionally. .\" .\" Formatted or processed versions of this manual, if unaccompanied by .\" the source, must acknowledge the copyright and authors of this work. .\" %%%LICENSE_END .\" .\"******************************************************************* .\" .\" This file was generated with po4a. Translate the source file. .\" .\"******************************************************************* .TH INTRO 1 2015\-07\-23 Linux "Linux 用户手册" .SH 名称 intro \- 用户命令的介绍 .SH 描述 手册页的第一部分描述了用户命令和工具,例如,文件操作工具、各个 shell、编译器、网页浏览器、文件和图像查看器和编辑器,等等。 .SH 注记 Linux 是类 UNIX 的一个变种,粗略地看,很多 UNIX 下的用户命令都可以同样地在 Linux(以及 FreeBSD 和很多其它类 UNIX 系统上)工作。 .LP 在 Linux 下,存在 GUI(图形用户界面),其中您可以进行指向、点击或者拖曳,这些工作一般不需要阅读大量手册即可完成。传统的 UNIX 环境是一个 CLI(命令行用户界面),其中您键入命令来告诉计算机该做什么。这样更快、更强大,但是需要先弄清楚这些命令是什么。下面是如何开始工作的一些基础性指导。 .SS 登录 要开始工作,您可能需要首先提供您的用户名和密码以打开一个会话。\fBlogin\fP(1) 程序现在会为您启动一个 \fIshell\fP(命令解释器)。在图形登录的时候,您需要在一个有着菜单和图标的屏幕上使用鼠标点击,最终可以在一个窗口内启动一个 shell。参见 \fBxterm\fP(1)。 .SS "使用 shell" 用户输入命令并将其传送给命令解释器,即 \fIshell\fP。它不是内置的,只是一个独立程序,您可以更改自己使用的 shell。每个人都有其最喜爱的选择。标准的 shell 被称作 \fIsh\fP。参见 \fBash\fP(1)、\fBbash\fP(1)、\fBchsh\fP(1)、\fBcsh\fP(1)、\fBdash\fP(1)、\fBksh\fP(1)、\fBzsh\fP(1)。 .LP 一个会话的进行可能如下所示: .LP .RS .nf knuth login: \fBaeb\fP Password: \fB********\fP $ \fBdate\fP Tue Aug 6 23:50:44 CEST 2002 $ \fBcal\fP August 2002 Su Mo Tu We Th Fr Sa 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 $ \fBls\fP bin tel $ \fBls \-l\fP total 2 drwxrwxr\-x 2 aeb 1024 Aug 6 23:51 bin \-rw\-rw\-r\-\- 1 aeb 37 Aug 6 23:52 tel $ \fBcat tel\fP maja 0501\-1136285 peter 0136\-7399214 $ \fBcp tel tel2\fP $ \fBls \-l\fP total 3 drwxr\-xr\-x 2 aeb 1024 Aug 6 23:51 bin \-rw\-r\-\-r\-\- 1 aeb 37 Aug 6 23:52 tel \-rw\-r\-\-r\-\- 1 aeb 37 Aug 6 23:53 tel2 $ \fBmv tel tel1\fP $ \fBls \-l\fP total 3 drwxr\-xr\-x 2 aeb 1024 Aug 6 23:51 bin \-rw\-r\-\-r\-\- 1 aeb 37 Aug 6 23:52 tel1 \-rw\-r\-\-r\-\- 1 aeb 37 Aug 6 23:53 tel2 $ \fBdiff tel1 tel2\fP $ \fBrm tel1\fP $ \fBgrep maja tel2\fP maja 0501\-1136285 $ .fi .RE .LP 这里键入 Control\-D 会终止会话。 .LP 这里的 \fB$\fP 是命令提示符\(em这是 shell 用来提示它已经准备好接收下一条命令的方式。提示符可以用许多方式进行定制,同时可能包含诸如用户名、机器名、当前目录、时间等等附加信息。进行一次类似 PS1="下面该做些什么,主人?" 这样的赋值可以按照用户要求修改该提示的内容。 .LP 我们可以看见的命令有 \fIdate\fP(提供日期和时间),以及 \fIcal\fP(提供日历)。 .LP 命令 \fIls\fP 列出当前目录的内容\(em它告诉您您拥有什么文件。使用 \fI\-l\fP 选项可以给出一个长列表,其中包括文件的所有者、大小和日期,以及人们读取和/或修改它的权限。例如,这里的“tel”有37字节长,由 aeb 所有,其所有者可以读取或写入它,其他人只能读取它。所有者和权限可以使用 \fIchown\fP 和 \fIchmod\fP 命令进行修改。 .LP 命令 \fIcat\fP 将会显示一个文件的内容。(其名称来自“concatenate and print”:所有当作参数给出的文件将会被连接起来并发送至“标准输出”(见 \fBstdout\fP(3)),这里是终端屏幕。) .LP 命令 \fIcp\fP(来自 "copy" 单词)将会复制一个文件。 .LP 命令 \fImv\fP(来自“move”),则只会将其重命名。 .LP 命令 \fIdiff\fP 列出两个文件之间的不同之处。这里没有输出,因为两者之间没有区别。 .LP 命令 \fIrm\fP(来自“remove”)删除文件,请小心!它不见了。没有回收站或者类似的东西。删除即意味着丢失。 .LP 命令 \fIgrep\fP(来自“g/re/p”)在一个或多个文件中寻找某个字符串的出现情况。这里它找到了 Maja 的电话号码。 .SS 路径名和当前目录 文件存在于一个巨大的树结构中,即文件目录结构。每个文件有一个 \fIpathname\fP 描述从树的树根(被称作 \fI/\fP)到这个文件的路径。例如,这样的一个完整路径名可能是 \fI/home/aeb/tel\fP。总是使用完整的路径名可能不太方便,所以当前目录下文件的名称可以缩写为只给出其最后一部分。这就是在当前目录是 \fI/home/aeb\fP 时 \fI/home/aeb/tel\fP 可以被缩写为 \fItel\fP 的原因。 .LP 命令 \fIpwd\fP 打印当前目录。 .LP 命令 \fIcd\fP 改变当前目录。 .LP 请交替尝试使用 \fIcd\fP 和 \fIpwd\fP 命令并探索 \fIcd\fP 的用法:“cd”、“cd .”、“cd ..”、“cd /”和“cd ~”。 .SS 目录 命令 \fImkdir\fP 创建一个新目录。 .LP 命令 \fIrmdir\fP 在目录为空的情况下删除该目录,若非空则提示出错。 .LP 命令 \fIfind\fP 具有不寻常的语法,它可以使用给定的文件名或其它属性查找文件。例如,“find . \-name tel”会从当前目录(也被称作 \&\fI.\fP)开始寻找文件 \fItel\fP。而“find / \-name tel”会做同样的工作,但是从目录树的根开始寻找。在以 GB 为单位计量容量的磁盘上进行大规模查找可能耗时很多,使用 \fBlocate\fP(1) 可能是相对更好的方案。 .SS 磁盘和文件系统 命令 \fImount\fP 会将某些磁盘(或者软盘、光盘等等)上寻找到的文件系统挂载到大的文件系统层次中。而 \fIumount\fP 会将其重新卸载。命令 \fIdf\fP 会告诉您磁盘上还有多少空闲空间。 .SS 进程 在一个 UNIX 系统上,有许多用户进程和系统进程同时运行。您正与其交互的进程被称为在 \fI前台\fP 运行,其它的则在 \fI后台\fP。命令 \fIps\fP 将会为您显示哪些进程是活跃的,以及这些进程的编号。命令 \fIkill\fP 允许您将其停止。如果没有额外参数,这将是一个友好的请求:请停止吧。而“kill \-9”命令,后面加上该进程的编号则会立刻杀死它。前台进程通常可以通过按下 Control\-C 来杀死。 .SS 获取信息 系统上可能有成千上万个命令,每个都有许多可用参数。传统上,命令使用 \fIman 手册页\fP 进行记录(类似当前这个文档),这样使用“man kill”命令就可以显示命令“kill”的使用方法(而“man man”则记录了命令“man”的使用方法)。“man”程序将文字送给某些 \fI分页器\fP,通常是 \fIless\fP 程序。敲击空格键可以翻到下一页,点击 q 可以退出。 .LP 文档中,习惯上会使用一个名称和一个分类编号来指代一个手册页,例如 \fBman\fP(1)。手册页通常简明扼要,允许您在忘记某些细节时进行快速查找。对新手来说,一段介绍性文字和更多的示例和解释可能会更有用。 .LP 许多 GNU/FSF 软件提供了 info 文件。输入“info info”以查阅使用 \fIinfo\fP 程序的一段介绍。 .LP .\" .\" Actual examples? Separate section for each of cat, cp, ...? .\" gzip, bzip2, tar, rpm 特别的主题通常被作为 HOWTO 文档。请在 \fI/usr/share/doc/howto/en\fP 目录下看一看,如果您找到了 HTML 文档的话,请使用浏览器阅览。 .SH 参见 \fBash\fP(1), \fBbash\fP(1), \fBchsh\fP(1), \fBcsh\fP(1), \fBdash\fP(1), \fBksh\fP(1), \fBlocate\fP(1), \fBlogin\fP(1), \fBman\fP(1), \fBxterm\fP(1), \fBzsh\fP(1), \fBwait\fP(2), \fBstdout\fP(3), \fBman\-pages\fP(7), \fBstandards\fP(7) .SH 跋 本页面是 Linux \fIman\-pages\fP 项目 4.09 版的一部分。该项目的描述、有关报告错误的信息以及本页面的最新版本可以在 \%https://www.kernel.org/doc/pan\-pages/ 上找到。 manpages-zh-1.6.3.3/src/man1/ipcclean.1000066400000000000000000000025361327105066500173720ustar00rootroot00000000000000.TH "IPCCLEAN" "1" "2003-11-02" "Application" "PostgreSQL Server Applications" .SH NAME ipcclean \- 从退出的PostgreSQL服务器中删除共享内存和信号灯 .SH SYNOPSIS .sp \fBipcclean\fR .SH "DESCRIPTION 描述" .PP \fBipcclean\fR 删除当前用户拥有的所有共享内存段和信号灯集。 它的目地是在 PostgreSQL 服务器 (\fBpostmaster\fR(1))崩溃之后进行清理。 请注意的是立 即重起服务器也会清理共享内存和信号灯,所以这条命令实际上用处不大。 .PP 应该只有数据库管理员可以运行这条命令,因为如果在多用户的环境中执行, 它会 导致怪异的行为(也就是说,崩溃)。 如果在服务器运行时执行这条命令, 服务 器分配的共享内存和信号灯将被删除。 这通常会导致该服务器启动的后端服务器的 普遍失败。 .SH "NOTES 注意" .PP 这个脚本是个\(lqhack\(rq,但是从写成它的这些年来, 没有人提出等效的可移植的解决 方法。因为 \fBpostmaster\fR 现在可以清理自己,所以以后很可能不会继续改进 ipcclean。 .PP 这个脚本对 \fBipcs\fR 工具的输出做了一些假设, 而这些假设可能在不同的操作 系统间是不同的。因此,它可能不能在你的系统上运行。 .SH "译者" .B Postgresql 中文网站 .B 何伟平 manpages-zh-1.6.3.3/src/man1/jobs.1000066400000000000000000000000241327105066500165370ustar00rootroot00000000000000.so man1/builtins.1 manpages-zh-1.6.3.3/src/man1/journalctl.1000066400000000000000000000536201327105066500177710ustar00rootroot00000000000000'\" t .TH "JOURNALCTL" "1" "" "systemd 231" "journalctl" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- .\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ .\" http://bugs.debian.org/507673 .\" http://lists.gnu.org/archive/html/groff/2009-02/msg00013.html .\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ .ie \n(.g .ds Aq \(aq .el .ds Aq ' .\" ----------------------------------------------------------------- .\" * set default formatting .\" ----------------------------------------------------------------- .\" disable hyphenation .nh .\" disable justification (adjust text to left margin only) .ad l .\" ----------------------------------------------------------------- .\" * MAIN CONTENT STARTS HERE * .\" ----------------------------------------------------------------- .SH "NAME" journalctl \- 检索 systemd 日志 .SH "SYNOPSIS" .HP \w'\fBjournalctl\fR\ 'u \fBjournalctl\fR [OPTIONS...] [MATCHES...] .SH "描述" .PP \fBjournalctl\fR 可用于检索 \fBsystemd\fR(1) 日志(由 \fBsystemd-journald.service\fR(8) 记录)。 .PP 如果不带任何参数直接调用此命令, 那么将显示所有日志内容(从最早一条日志记录开始)。 .PP 如果指定了 [MATCHES...] 参数, 那么输出的日志将会按照 [MATCHES...] 参数进行过滤。 MATCHE 必须符合 "FIELD=VALUE" 格式 (例如 "_SYSTEMD_UNIT=httpd\&.service" ), 参见 \fBsystemd.journal-fields\fR(7) 手册以了解日志字段的详细介绍。 如果有多个不同的字段被 [MATCHES...] 参数匹配, 那么这些字段之间使用"AND"逻辑连接, 也就是,日志项必须同时满足全部字段的匹配条件才能被输出。 如果同一个字段被多个 [MATCHES...] 参数匹配, 那么这些匹配条件之间使用"OR"逻辑连接, 也就是对于同一个字段,日志项只需满足任意一个匹配条件即可输出。 最后, "+" 字符可用作 [MATCHES...] 组之间的分隔符,并被视为使用"OR"逻辑连接。 也就是,MATCHE1 MATCHE2 + MATCHE3 MATCHE4 MATCHE5 + MATCHE6 MATCHE7 相当于 ( MATCHE1 MATCHE2 ) OR ( MATCHE3 MATCHE4 MATCHE5 ) OR ( MATCHE6 MATCHE7 ) .PP 还可以使用绝对路径作为参数来过滤日志。 绝对路径可以是普通文件,也可以是软连接,但必须指向一个确实存在的文件。 如果路径指向了一个二进制可执行文件, 那么它实际上相当于是一个对 "_EXE=" 字段的匹配(仅匹配完整的绝对路径)。 如果路径指向了一个可执行脚本, 那么它实际上相当于是一个对 "_COMM=" 字段的匹配(仅匹配脚本的文件名)。 如果路径指向了一个设备节点, 那么它实际上相当于是一个对 "_KERNEL_DEVICE=" 字段的匹配(匹配该设备及其所有父设备的内核设备名称)。 在查询时,软连接会被追踪到底,内核设备名称将被合成, 父设备将按照当时的实际情况被提列出来。 因为日志项一般并不包含标记实际物理设备的字段, 所以,设备节点一般就是实际物理设备的最佳代表。 但是又因为设备节点与物理设备之间的对应关系在系统重启之后可能会发生变化, 所以,根据设备节点过滤日志仅对本次启动有意义, 除非你能确认对应关系在重启之后保持不变。 .PP 可以使用 \fB\-\-boot\fR, \fB\-\-unit=\fR 等选项 进一步附加额外的约束条件(相当于使用"AND"逻辑连接)。 .PP 最终的输出结果来自所有可访问的日志文件的综合, 无论这些日志文件是否正在滚动或者正在被写入, 也无论这些日志文件是属于系统日志还是用户日志, 只要有访问权限,就会被包括进来。 .PP 用于提取日志的日志文件的集合可以使用 \fB\-\-user\fR, \fB\-\-system\fR, \fB\-\-directory\fR, \fB\-\-file\fR 选项进行筛选。 .PP 每个用户都可以访问其专属的用户日志。 但是默认情况下, 只有root用户以及 "systemd\-journal", "adm", "wheel" 组中的用户才可以访问全部的日志(系统与其他用户)。 注意,一般发行版还会给 "adm" 与 "wheel" 组一些其他额外的特权。 例如 "wheel" 组的用户一般都可以执行一些系统管理任务。 .PP 默认情况下,结果会通过 \fBless\fR 工具进行分页输出, 并且超长行会在屏幕边缘被截断。 不过,被截掉的部分可以通过左右箭头按键查看。 如果不想分页输出,那么可以使用 \fB\-\-no\-pager\fR 选项,参见下面的"环境变量"小节。 .PP 如果是输出到 tty 的话,行的颜色还会根据日志的级别变化: ERROR 或更高级别为红色,NOTICE 或更高级别为高亮,其他级别则正常显示。 .SH "选项" .PP 能够识别的命令行选项如下: .PP \fB\-\-no\-full\fR, \fB\-\-full\fR, \fB\-l\fR .RS 4 如果字段内容超长则以省略号(\&...)截断以适应列宽。 默认显示完整的字段内容(超长的部分换行显示或者被分页工具截断)。 .sp 老旧的 \fB\-l\fR/\fB\-\-full\fR 选项 仅用于撤销已有的 \fB\-\-no\-full\fR 选项,除此之外没有其他用处。 .RE .PP \fB\-a\fR, \fB\-\-all\fR .RS 4 完整显示所有字段内容, 即使其中包含不可打印字符或者字段内容超长。 .RE .PP \fB\-f\fR, \fB\-\-follow\fR .RS 4 只显示最新的日志项,并且不断显示新生成的日志项。 此选项隐含了 \-n 选项。 .RE .PP \fB\-e\fR, \fB\-\-pager\-end\fR .RS 4 在分页工具内立即跳转到日志的尾部。 此选项隐含了 \fB\-n1000\fR 以确保分页工具不必缓存太多的日志行。 不过这个隐含的行数可以被明确设置的 \fB\-n\fR 选项覆盖。 注意,此选项仅可用于 \fBless\fR(1) 分页器。 .RE .PP \fB\-n\fR, \fB\-\-lines=\fR .RS 4 限制显示最新的日志行数。 \fB\-\-pager\-end\fR 与 \fB\-\-follow\fR 隐含了此选项。 此选项的参数:若为正整数则表示最大行数; 若为 "all" 则表示不限制行数; 若不设参数则表示默认值10行。 .RE .PP \fB\-\-no\-tail\fR .RS 4 显示所有日志行, 也就是用于撤销已有的 \fB\-\-lines=\fR 选项(即使与 \-f 连用)。 .RE .PP \fB\-r\fR, \fB\-\-reverse\fR .RS 4 反转日志行的输出顺序, 也就是最先显示最新的日志。 .RE .PP \fB\-o\fR, \fB\-\-output=\fR .RS 4 控制日志的输出格式。 可以使用如下选项: .PP \fBshort\fR .RS 4 这是默认值, 其输出格式与传统的 \m[blue]\fBsyslog\fR\m[]\&\s-2\u[1]\d\s+2 文件的格式相似, 每条日志一行。 .RE .PP \fBshort\-iso\fR .RS 4 与 short 类似,只是将时间戳字段以 ISO 8601 格式显示。 .RE .PP \fBshort\-precise\fR .RS 4 与 short 类似,只是将时间戳字段的秒数精确到微秒级别。 .RE .PP \fBshort\-monotonic\fR .RS 4 与 short 类似,只是将时间戳字段的零值从内核启动时开始计算。 .RE .PP \fBshort\-unix\fR .RS 4 与 short 类似,只是将时间戳字段显示为从"UNIX时间原点"(1970\-1\-1 00:00:00 UTC)以来的秒数。 精确到微秒级别。 .RE .PP \fBverbose\fR .RS 4 以结构化的格式显示每条日志的所有字段。 .RE .PP \fBexport\fR .RS 4 将日志序列化为二进制字节流(大部分依然是文本) 以适用于备份与网络传输(详见 \m[blue]\fBJournal Export Format\fR\m[]\&\s-2\u[2]\d\s+2 文档)。 .RE .PP \fBjson\fR .RS 4 将日志项按照JSON数据结构格式化, 每条日志一行(详见 \m[blue]\fBJournal JSON Format\fR\m[]\&\s-2\u[3]\d\s+2 文档)。 .RE .PP \fBjson\-pretty\fR .RS 4 将日志项按照JSON数据结构格式化, 但是每个字段一行, 以便于人类阅读。 .RE .PP \fBjson\-sse\fR .RS 4 将日志项按照JSON数据结构格式化,每条日志一行,但是用大括号包围, 以适应 \m[blue]\fBServer\-Sent Events\fR\m[]\&\s-2\u[4]\d\s+2 的要求。 .RE .PP \fBcat\fR .RS 4 仅显示日志的实际内容, 而不显示与此日志相关的任何元数据(包括时间戳)。 .RE .RE .PP \fB\-\-utc\fR .RS 4 以世界统一时间(UTC)表示时间 .RE .PP \fB\-\-no\-hostname\fR .RS 4 不显示来源于本机的日志消息的主机名字段。 此选项仅对 \fBshort\fR 系列输出格式(见上文)有效。 .RE .PP \fB\-x\fR, \fB\-\-catalog\fR .RS 4 在日志的输出中增加一些解释性的短文本, 以帮助进一步说明日志的含义、 问题的解决方案、支持论坛、 开发文档、以及其他任何内容。 并非所有日志都有这些额外的帮助文本, 详见 \m[blue]\fBMessage Catalog Developer Documentation\fR\m[]\&\s-2\u[5]\d\s+2 文档。 .sp 注意,如果要将日志输出用于bug报告, 请\fI不要\fR使用此选项。 .RE .PP \fB\-q\fR, \fB\-\-quiet\fR .RS 4 当以普通用户身份运行时, 不显示任何警告信息与提示信息。 例如:"\-\- Logs begin at \&.\&.\&.", "\-\- Reboot \-\-" .RE .PP \fB\-m\fR, \fB\-\-merge\fR .RS 4 混合显示包括远程日志在内的所有可见日志。 .RE .PP \fB\-b \fR\fB[\fIID\fR]\fR\fB[\fI\(+-offset\fR]\fR, \fB\-\-boot=\fR\fB[\fIID\fR]\fR\fB[\fI\(+-offset\fR]\fR .RS 4 显示特定于某次启动的日志, 这相当于添加了一个 "_BOOT_ID=" 匹配条件。 .sp 如果参数为空(也就是 \fIID\fR 与 \fI\(+-offset\fR 都未指定), 则表示仅显示本次启动的日志。 .sp 如果省略了 \fIID\fR , 那么当 \fI\(+-offset\fR 是正数的时候, 将从日志头开始正向查找, 否则(也就是为负数或零)将从日志尾开始反响查找。 举例来说, "\-b 1"表示按时间顺序排列最早的那次启动, "\-b 2"则表示在时间上第二早的那次启动; "\-b \-0"表示最后一次启动, "\-b \-1"表示在时间上第二近的那次启动, 以此类推。 如果 \fI\(+-offset\fR 也省略了, 那么相当于"\-b \-0", 除非本次启动不是最后一次启动(例如用 \fB\-\-directory\fR 指定了另外一台主机上的日志目录)。 .sp 如果指定了32字符的 \fIID\fR , 那么表示以此 \fIID\fR 所代表的那次启动为基准 计算偏移量(\fI\(+-offset\fR), 计算方法同上。 换句话说, 省略 \fIID\fR 表示以本次启动为基准 计算偏移量(\fI\(+-offset\fR)。 .RE .PP \fB\-\-list\-boots\fR .RS 4 列出每次启动的 序号(也就是相对于本次启动的偏移量)、32字符的ID、 第一条日志的时间戳、最后一条日志的时间戳。 .RE .PP \fB\-k\fR, \fB\-\-dmesg\fR .RS 4 仅显示内核日志。隐含了 \fB\-b\fR 选项以及 "_TRANSPORT=kernel" 匹配项。 .RE .PP \fB\-t\fR, \fB\-\-identifier=\fR\fB\fISYSLOG_IDENTIFIER\fR\fR .RS 4 仅显示 \m[blue]\fBsyslog\fR\m[]\&\s-2\u[1]\d\s+2 识别符为 \fISYSLOG_IDENTIFIER\fR 的日志项。 .sp 可以多次使用该选项以指定多个识别符。 .RE .PP \fB\-u\fR, \fB\-\-unit=\fR\fB\fIUNIT\fR\fR\fB|\fR\fB\fIPATTERN\fR\fR .RS 4 仅显示属于特定单元的日志。 也就是单元名称正好等于 \fIUNIT\fR 或者符合 \fIPATTERN\fR 模式的单元。 这相当于添加了一个 "_SYSTEMD_UNIT=\fIUNIT\fR" 匹配项(对于 \fIUNIT\fR 来说), 或一组匹配项(对于 \fIPATTERN\fR 来说)。 .sp 可以多次使用此选项以添加多个并列的匹配条件(相当于用"OR"逻辑连接)。 .RE .PP \fB\-\-user\-unit=\fR .RS 4 仅显示属于特定用户会话单元的日志。 相当于同时添加了 "_SYSTEMD_USER_UNIT=" 与 "_UID=" 两个匹配条件。 .sp 可以多次使用此选项以添加多个并列的匹配条件(相当于用"OR"逻辑连接)。 .RE .PP \fB\-p\fR, \fB\-\-priority=\fR .RS 4 根据日志等级(包括等级范围)过滤输出结果。 日志等级数字与其名称之间的对应关系如下 (参见 \fBsyslog\fR(3)): "emerg"\ \&(0), "alert"\ \&(1), "crit"\ \&(2), "err"\ \&(3), "warning"\ \&(4), "notice"\ \&(5), "info"\ \&(6), "debug"\ \&(7) 。 若设为一个单独的数字或日志等级名称, 则表示仅显示小于或等于此等级的日志 (也就是重要程度等于或高于此等级的日志)。 若使用 FROM\&.\&.TO\&.\&. 设置一个范围, 则表示仅显示指定的等级范围内(含两端)的日志。 此选项相当于添加了 "PRIORITY=" 匹配条件。 .RE .PP \fB\-c\fR, \fB\-\-cursor=\fR .RS 4 从指定的游标(cursor)开始显示日志。 [提示]每条日志都有一个"__CURSOR"字段,类似于该条日志的指纹。 .RE .PP \fB\-\-after\-cursor=\fR .RS 4 从指定的游标(cursor)\fI之后\fR开始显示日志。 如果使用了 \fB\-\-show\-cursor\fR 选项, 则也会显示游标本身。 .RE .PP \fB\-\-show\-cursor\fR .RS 4 在最后一条日志之后显示游标, 类似下面这样,以"\-\-"开头: .sp .if n \{\ .RS 4 .\} .nf \-\- cursor: s=0639\&.\&.\&. .fi .if n \{\ .RE .\} .sp 游标的具体格式是私有的(也就是没有公开的规范), 并且会变化。 .RE .PP \fB\-S\fR, \fB\-\-since=\fR, \fB\-U\fR, \fB\-\-until=\fR .RS 4 显示晚于指定时间(\-\-since=)的日志、显示早于指定时间(\-\-until=)的日志。 参数的格式类似 "2012\-10\-30 18:17:16" 这样。 如果省略了"时:分:秒"部分, 则相当于设为 "00:00:00" 。 如果仅省略了"秒"的部分则相当于设为 ":00" 。 如果省略了"年\-月\-日"部分, 则相当于设为当前日期。 除了"年\-月\-日 时:分:秒"格式, 参数还可以进行如下设置: (1)设为 "yesterday", "today", "tomorrow" 以表示那一天的零点(00:00:00)。 (2)设为 "now" 以表示当前时间。 (3)可以在"年\-月\-日 时:分:秒"前加上 "\-"(前移) 或 "+"(后移) 前缀以表示相对于当前时间的偏移。 关于时间与日期的详细规范, 参见 \fBsystemd.time\fR(7) .RE .PP \fB\-F\fR, \fB\-\-field=\fR .RS 4 显示所有日志中某个字段的所有可能值。 [译者注]类似于SQL语句:"SELECT DISTINCT 某字段 FROM 全部日志" .RE .PP \fB\-N\fR, \fB\-\-fields\fR .RS 4 输出所有日志字段的名称 .RE .PP \fB\-\-system\fR, \fB\-\-user\fR .RS 4 仅显示系统服务与内核的日志(\fB\-\-system\fR)、 仅显示当前用户的日志(\fB\-\-user\fR)。 如果两个选项都未指定,则显示当前用户的所有可见日志。 .RE .PP \fB\-M\fR, \fB\-\-machine=\fR .RS 4 显示来自于正在运行的、特定名称的本地容器的日志。 参数必须是一个本地容器的名称。 .RE .PP \fB\-D \fR\fB\fIDIR\fR\fR, \fB\-\-directory=\fR\fB\fIDIR\fR\fR .RS 4 仅显示来自于特定目录中的日志, 而不是默认的运行时和系统日志目录中的日志。 .RE .PP \fB\-\-file=\fR\fB\fIGLOB\fR\fR .RS 4 \fIGLOB\fR 是一个可以包含"?"与"*"的文件路径匹配模式。 表示仅显示来自与指定的 \fIGLOB\fR 模式匹配的文件中的日志, 而不是默认的运行时和系统日志目录中的日志。 可以多次使用此选项以指定多个匹配模式(多个模式之间用"OR"逻辑连接)。 .RE .PP \fB\-\-root=\fR\fB\fIROOT\fR\fR .RS 4 在对日志进行操作时, 将 \fIROOT\fR 视为系统的根目录。 例如 \fB\-\-update\-catalog\fR 将会创建 \fIROOT\fR/var/lib/systemd/catalog/database .RE .PP \fB\-\-new\-id128\fR .RS 4 此选项并不用于显示日志内容, 而是用于重新生成一个标识日志分类的 128\-bit ID 。 此选项的目的在于 帮助开发者生成易于辨别的日志消息, 以方便调试。 .RE .PP \fB\-\-header\fR .RS 4 此选项并不用于显示日志内容, 而是用于显示日志文件内部的头信息(类似于元数据)。 .RE .PP \fB\-\-disk\-usage\fR .RS 4 此选项并不用于显示日志内容, 而是用于显示所有日志文件(归档文件与活动文件)的磁盘占用总量。 .RE .PP \fB\-\-vacuum\-size=\fR, \fB\-\-vacuum\-time=\fR, \fB\-\-vacuum\-files=\fR .RS 4 这些选项并不用于显示日志内容, 而是用于清理日志归档文件(并不清理活动的日志文件), 以释放磁盘空间。 \fB\-\-vacuum\-size=\fR 可用于限制归档文件的最大磁盘使用量 (可以使用 "K", "M", "G", "T" 后缀); \fB\-\-vacuum\-time=\fR 可用于清除指定时间之前的归档 (可以使用 "s", "m", "h", "days", "weeks", "months", "years" 后缀); \fB\-\-vacuum\-files=\fR 可用于限制日志归档文件的最大数量。 注意,\fB\-\-vacuum\-size=\fR 对 \fB\-\-disk\-usage\fR 的输出仅有间接效果, 因为 \fB\-\-disk\-usage\fR 输出的是归档日志与活动日志的总量。 同样,\fB\-\-vacuum\-files=\fR 也未必一定会减少日志文件的总数, 因为它同样仅作用于归档文件而不会删除活动的日志文件。 此三个选项可以同时使用,以同时从三个维度去限制归档文件。 若将某选项设为零,则表示取消此选项的限制。 .RE .PP \fB\-\-list\-catalog \fR\fB[\fI128\-bit\-ID\&.\&.\&.\fR]\fR\fB \fR .RS 4 简要列出日志分类信息, 其中包括对分类信息的简要描述。 .sp 如果明确指定了分类ID(\fI128\-bit\-ID\fR), 那么仅显示指定的分类。 .RE .PP \fB\-\-dump\-catalog \fR\fB[\fI128\-bit\-ID\&.\&.\&.\fR]\fR\fB \fR .RS 4 详细列出日志分类信息 (格式与 \&.catalog 文件相同)。 .sp 如果明确指定了分类ID(\fI128\-bit\-ID\fR), 那么仅显示指定的分类。 .RE .PP \fB\-\-update\-catalog\fR .RS 4 更新日志分类索引二进制文件。 每当安装、删除、更新了分类文件,都需要执行一次此动作。 .RE .PP \fB\-\-setup\-keys\fR .RS 4 此选项并不用于显示日志内容, 而是用于生成一个新的FSS(Forward Secure Sealing)密钥对。 此密钥对包含一个"sealing key"与一个"verification key"。 "sealing key"保存在本地日志目录中, 而"verification key"则必须保存在其他地方。 详见 \fBjournald.conf\fR(5) 中的 \fBSeal=\fR 选项。 .RE .PP \fB\-\-force\fR .RS 4 与 \fB\-\-setup\-keys\fR 连用, 表示即使已经配置了FSS(Forward Secure Sealing)密钥对, 也要强制重新生成。 .RE .PP \fB\-\-interval=\fR .RS 4 与 \fB\-\-setup\-keys\fR 连用,指定"sealing key"的变化间隔。 较短的时间间隔会导致占用更多的CPU资源, 但是能够减少未检测的日志变化时间。 默认值是 15min .RE .PP \fB\-\-verify\fR .RS 4 检查日志文件的内在一致性。 如果日志文件在生成时开启了FSS特性, 并且使用 \fB\-\-verify\-key=\fR 指定了FSS的"verification key", 那么,同时还将验证日志文件的真实性。 .RE .PP \fB\-\-verify\-key=\fR .RS 4 与 \fB\-\-verify\fR 选项连用, 指定FSS的"verification key" .RE .PP \fB\-\-sync\fR .RS 4 要求日志守护进程将所有未写入磁盘的日志数据刷写到磁盘上, 并且一直阻塞到刷写操作实际完成之后才返回。 因此该命令可以保证当它返回的时候, 所有在调用此命令的时间点之前的日志, 已经全部安全的刷写到了磁盘中。 .RE .PP \fB\-\-flush\fR .RS 4 要求日志守护进程 将 /run/log/journal 中的日志数据 刷写到 /var/log/journal 中 (如果持久存储设备当前可用的话)。 此操作会一直阻塞到操作完成之后才会返回, 因此可以确保在该命令返回时, 数据转移确实已经完成。 注意,此命令仅执行一个单独的、一次性的转移动作, 若没有数据需要转移, 则此命令什么也不做, 并且也会返回一个表示操作已正确完成的返回值。 .RE .PP \fB\-\-rotate\fR .RS 4 要求日志守护进程滚动日志文件。 此命令会一直阻塞到滚动完成之后才会返回。 .RE .PP \fB\-h\fR, \fB\-\-help\fR .RS 4 显示简短的帮助信息并退出。 .RE .PP \fB\-\-version\fR .RS 4 显示简短的版本信息并退出。 .RE .PP \fB\-\-no\-pager\fR .RS 4 不将程序的输出内容管道(pipe)给分页程序。 .RE .SH "退出状态" .PP 返回值为 0 表示成功, 非零返回值表示失败代码。 .SH "环境变量" .PP \fI$SYSTEMD_PAGER\fR .RS 4 指定分页程序。仅在未指定 \fB\-\-no\-pager\fR 选项时有意义。 此变量会覆盖 \fI$PAGER\fR 的值。 将此变量设为空字符串或 "cat" 等价于使用 \fB\-\-no\-pager\fR 选项。 .RE .PP \fI$SYSTEMD_LESS\fR .RS 4 用于覆盖 默认传递给 \fBless\fR 程序的命令行选项 ("FRSXMK")。 .RE .SH "例子" .PP 不带任何选项与参数,表示显示全部日志 .sp .if n \{\ .RS 4 .\} .nf journalctl .fi .if n \{\ .RE .\} .PP 仅指定一个匹配条件, 显示所有符合该匹配条件的日志 .sp .if n \{\ .RS 4 .\} .nf journalctl _SYSTEMD_UNIT=avahi\-daemon\&.service .fi .if n \{\ .RE .\} .PP 指定了两个不同字段的匹配条件, 显示同时满足两个匹配条件的日志 .sp .if n \{\ .RS 4 .\} .nf journalctl _SYSTEMD_UNIT=avahi\-daemon\&.service _PID=28097 .fi .if n \{\ .RE .\} .PP 指定了同一个字段的两个不同匹配条件, 显示满足其中任意一个条件的日志 .sp .if n \{\ .RS 4 .\} .nf journalctl _SYSTEMD_UNIT=avahi\-daemon\&.service _SYSTEMD_UNIT=dbus\&.service .fi .if n \{\ .RE .\} .PP 使用 "+" 连接两组匹配条件, 相当于逻辑"OR"连接 .sp .if n \{\ .RS 4 .\} .nf journalctl _SYSTEMD_UNIT=avahi\-daemon\&.service _PID=28097 + _SYSTEMD_UNIT=dbus\&.service .fi .if n \{\ .RE .\} .PP 显示所有 D\-Bus 进程产生的日志 .sp .if n \{\ .RS 4 .\} .nf journalctl /usr/bin/dbus\-daemon .fi .if n \{\ .RE .\} .PP 显示上一次启动所产生的所有内核日志 .sp .if n \{\ .RS 4 .\} .nf journalctl \-k \-b \-1 .fi .if n \{\ .RE .\} .PP 持续显示 apache\&.service 服务不断生成的日志 .sp .if n \{\ .RS 4 .\} .nf journalctl \-f \-u apache .fi .if n \{\ .RE .\} .SH "参见" .PP \fBsystemd\fR(1), \fBsystemd-journald.service\fR(8), \fBsystemctl\fR(1), \fBcoredumpctl\fR(1), \fBsystemd.journal-fields\fR(7), \fBjournald.conf\fR(5), \fBsystemd.time\fR(7) .SH "NOTES" .IP " 1." 4 syslog .RS 4 \%//linux/sysklogd.html .RE .IP " 2." 4 Journal Export Format .RS 4 \%http://www.freedesktop.org/wiki/Software/systemd/export .RE .IP " 3." 4 Journal JSON Format .RS 4 \%http://www.freedesktop.org/wiki/Software/systemd/json .RE .IP " 4." 4 Server-Sent Events .RS 4 \%https://developer.mozilla.org/en-US/docs/Server-sent_events/Using_server-sent_events .RE .IP " 5." 4 Message Catalog Developer Documentation .RS 4 \%http://www.freedesktop.org/wiki/Software/systemd/catalog .RE .\" manpages-zh translator: 金步国 .\" manpages-zh comment: 金步国作品集:http://www.jinbuguo.com manpages-zh-1.6.3.3/src/man1/kbd_mode.1000066400000000000000000000032721327105066500173560ustar00rootroot00000000000000.TH KBD_MODE 1 "28 Oct 1997" "Console tools" "Linux User's Manual" .SH NAME kbd_mode \- 显示或者设置键盘模式 .SH "总览 (SYNOPSIS)" .BI "kbd_mode [ " -auks " ]" .SH "描述 (DESCRIPTION)" .PP 如果 没有 参数 .B kbd_mode 会 显示 当前 键盘 的 模式, 如果 有 参数, 它会把 键盘 设置成 相应的 模式。 .RS .IR \-s : 键盘 扫描码 模式 (原始), .PP .IR \-k : 键值 (keycode) 模式 (半原始), .PP .IR \-a : ASCII 模式 (XLATE), .PP .IR \-u : UTF-8 模式 (UNICODE)。 .RE .I XLATE 模式 是 传统 模式, 所用的 代码 可以 是 任何 .B 8\-bit (8位) 的 字符集. 一般 这个 字符集 同 后面 用到 的 字符集 是 匹配 的, 在 它们 被 传给 屏幕 后, 它们 会 根据 .B consolechars .IR -m 选择的 字符集 在 内部 转换 为 Unicode, 在 .I UNICODE 模式, 键盘 会 产生 .B 16位 的 字符, 这些 字符 会 以1, 2 或者 3 字节 的 形式 (UTF\-8 编码) 传给 内核。 .B UTF\-8 在这 后两种 模式中 要 用到 .BR loadkeys (1) 定义的 键盘 映射 表。 .B 警告: 如果 不是 把 键盘 模式 改为 ASCII 或者 Unicode, 很可能 会使 键盘 不可用。 这个 命令 也 可以 在 有些 程序 使你的 键盘 处于 错误 状态时 用来 把 键盘 改回 .I XLATE 或者 .I UNICODE 模式 (比如 通过 远程 登录)。 在 有些 过时的 版本的 程序 中 .I \-u 和 .IR \-s 是 一样的。 .SH "参见 (SEE ALSO)" .BR loadkeys (1), .BR consolechars (8). .SH "[中文版维护人]" .B 唐友 .SH "[中文版最新更新]" .BR 2001/9/13 .SH "[中国Linux论坛man手册页翻译计划]" .BI http://cmpp.linuxforum.net manpages-zh-1.6.3.3/src/man1/kill.1000066400000000000000000000036651327105066500165530ustar00rootroot00000000000000.\" 版权所有 1992 Rickard E. Faith (faith@cs.unc.edu) .\" 中文版版权所有 riser,BitBIRD www.linuxforum.net 2000 .\" 可以在GNU通用出版许可下发布 .TH KILL 1 1994 年 10 月 14 日 Linux 工具 Linux 程序员手册 .SH NAME (名称) kill \- 终止进程 .SH SYNOPSIS(总览) .BR kill [ \-s signal | \-p ][ -a ]pid ... .br .B kill -l [ signal ] .SH DESCRIPTION (描述) .B kill 给指定进程发送指定信号. 如果没有指定信号, 则发送 TERM 信号. TERM 信号会杀死不能俘获该信号的进程. 对于其他进程, 可能需要使用 KILL (9) 信号, 因为该信号不能够被俘获. 大多数现代的 shell 有一个内嵌的 kill 函数. .SH OPTIONS (选项) .TP .BR "pid ..." 给 .B kill 指定一个该发信号的进程列表. 每个 .I pid 可为下面四种之一. .I "进程名" 在这种情况下,发信号给所命名的进程. .I n 这里的 .I n 大于 0. 将发信号给 pid 为 .I n 的进程. .I -1 在这种情况下, 只要发信号的用户能够控制那些进行, 将发信号给所有从 MAX_INT 到 2 的进程. .I -n 这里的 .I n 大于 1, 在这种情况下, 发信号给属于进程组 .I n 的进程. 如果给定一个负的参数, 那么信号 .I 必须 首先声明, 否则它会被当作信号发送出去. .TP .BR \-s 指定发送的信号. 信号可以以信号名或数字的方式给定. .TP .BR \-p 指定 .B kill 只打印命名进程的进程标识 .I (pid) , 而不应发送给它信号. .TP .BR \-l 打印信号名的列表.这可以在 .I /usr/include/linux/signal.h 中找到. .SH SEE ALSO (又见) .BR bash (1), .BR tcsh (1), .BR kill (2), .BR sigvec (2) .SH AUTHOR (作者) 引自 BSD 4.4. 翻译进程名为进程标识的功能由 Salvatore Valente <svalente@mit.edu> 加入. .SH "[中文版维护人]" .B riser .SH "[中文版最新更新]" .BR 2001/08/08 .SH "《中国linux论坛man手册页翻译计划》:" .BI http://cmpp.linuxforum.net manpages-zh-1.6.3.3/src/man1/killall.1000066400000000000000000000055261327105066500172420ustar00rootroot00000000000000.TH KILLALL 1 1999年9月7日 Linux User Commands(用户命令) .SH NAME (名称) killall \- 以名字方式来杀死进程 .SH SYNOPSIS (总览) .ad l .B killall .RB [ \-egiqvw ] .RB [ \-\fIsignal\fB ] .I name ... .br .B killall .RB \-l .br .B killall .RB \-V .ad b .SH DESCRIPTION (描述) .B killall 发送一条信号给所有运行任意指定命令的进程. 如果没有指定信号名, 则发送 SIGTERM. .PP 信号可以以名字 (如 \fB\-HUP\fP ) 或者数字 (如 \fB\-1\fP ) 的方式指定. 信号 0 (检查进程是否存在)只能以数字方式指定. .PP 如果命令名包括斜杠 (\fB/\fP), 那么执行该特定文件的进程将被杀掉, 这与进程名无关. .PP 如果对于所列命令无进程可杀, 那么 \fBkillall\fP 会返回非零值. 如果对于每条命令至少杀死了一个进程, \fBkillall\fP 返回 0. .PP \fBkillall\fP 进程决不会杀死自己 (但是可以杀死其它 \fBkillall\fP 进程). .SH OPTIONS (选项) .IP \fB\-e\fP 对于很长的名字, 要求准确匹配. 如果一个命令名长于 15 个字符, 则可能不能用整个名字 (溢出了). 在这种情况下, \fBkillall\fP 会杀死所有匹配名字前 15 个字符的所有进程. 有了 \fB\-e\fP 选项,这样的记录将忽略. 如果同时指定了 \fB\-v\fP 选项, \fBkillall\fP 会针对每个忽略的记录打印一条消息. .IP \fB\-g\fP 杀死属于该进程组的进程. kill 信号给每个组只发送一次, 即使同一进程组中包含多个进程. .IP \fB\-i\fP 交互方式,在杀死进程之前征求确认信息. .IP \fB\-l\fP 列出所有已知的信号名. .IP \fB\-q\fP 如果没有进程杀死, 不会提出抱怨. .IP \fB\-v\fP 报告信号是否成功发送. .IP \fB\-V\fP 显示版本信息. .IP \fB\-w\fP 等待所有杀的进程死去. \fBkillall\fP 会每秒检查一次是否任何被杀的进程仍然存在, 仅当都死光后才返回. 注意: 如果信号被忽略或没有起作用, 或者进程停留在僵尸状态, \fBkillall\fP 可能会永久等待. .SH FILES(相关文件) .nf /proc proc文件系统的存在位置 .fi .SH "KNOWN BUGS (已知 BUGS)" 以文件方式杀死只对那些在执行时一直打开的可执行文件起作用, 也即, 混杂的可执行文件不能够通过这种方式杀死. .PP 要警告的是输入 \fBkillall\fP \fIname\fP 可能不会在非 Linux 系统上产生预期的效果, 特别是特权用户执行时要小心. .PP 在两次扫描的间隙, 如果进程消失了而被代之以一个有同样 PID 的新进程, \fBkillall \-w\fP 侦测不到. .SH AUTHOR (作者) Werner Almesberger <Werner.Almesberger@epfl.ch> .SH SEE ALSO (又见) kill(1), fuser(1), pidof(1), ps(1), kill(2) .\" {{{}}} .SH "[中文版维护人]" .B riser .SH "[中文版最新更新]" .BR 2001/08/08 .SH "《中国linux论坛man手册页翻译计划》:" .BI http://cmpp.linuxforum.net manpages-zh-1.6.3.3/src/man1/last.1000066400000000000000000000057111327105066500165550ustar00rootroot00000000000000.\"{{{}}} .\"{{{ Title .TH LAST,LASTB 1 "Jul 29, 1999" "" "Linux 系统管理员手册" .\"}}} .\"{{{ Name .SH NAME last, lastb \- 显示最近登录的用户列表 .\"}}} .\"{{{ Synopsis .SH 总览 .B last .RB [ \-R ] .RB [ \-\fInum\fP ] .RB "[ \-\fBn\fP \fInum\fP ]" .RB [ \-adiox ] .RB "[ \-\fBf\fP \fIfile\fP ]" .RI [ name... ] .RI [ tty... ] .br .B lastb .RB [ \-R ] .RB [ \-\fInum\fP ] .RB "[ \-\fBn\fP \fInum\fP ]" .RB "[ \-\fBf\fP \fIfile\fP ]" .RB [ \-adiox ] .RI [ name... ] .RI [ tty... ] .\"}}} .\"{{{ Description .SH 描述 .B Last 向后检索 \fB/var/log/wtmp\fP 文件(也可以用 \fB\-f\fP 选项指定被检索的文件),并显示自这个文件创建以来所有登录(退出)系统的用户列表。在指定了用户名和终端名的情况下,\fBlast\fP 只显示符合这些参数的记录。终端的名字可以简写,因此 \fBlast 0\fP 等同于 \fBlast tty0\fP. .PP 当 \fBlast\fP 捕捉到了\s-2SIGINT\s0 信号 (产生于中断键,通常是 control-C)或 \s-2SIGQUIT\s0 信号(产生于退出键,通常是 control-\e)时, \fBlast\fP 会显示它对文件已经检索了多少;在 \s-2SIGINT\s0 信号的情况下 \fBlast\fP 将终止运行。 .PP 每次系统重新启动时,虚用户 \fBreboot\fP 都会被记录到日志中。所以\fBlast reboot\fP 会列出自日志文件创建以来的所有重新启动的日志记录。.PP \fBLastb\fP 缺省上列出 \fB/var/log/btmp\fP 文件中的日志记录,这个文件包含有所有不良的登录企图。除此之外,等同于 \fBlast\fP。 .\"}}} .\"{{{ Options .SH 选项 .IP \fB\-\fP\fInum\fP指定 \fBlast\fP 要显示多少行。 .IP "\fB\-n\fP \fInum\fP"等同 \fB\-\fP\fInum\fP. .IP \fB\-R\fP不显示主机名列。 .IP \fB\-a\fP在最后一列显示主机名. 和下一个选项合用时很有用 .IP \fB\-d\fP对于非本地的登录,Linux 不仅保存远程主机名而且保存IP地址(IP number)。这个选项可以将IP地址(IP number)转换为主机名。 .IP \fB\-i\fP这个选项类似于显示远程主机 IP 地址(IP number)的 \fB-d\fP 选项,只不过它用数字和点符号显示IP数 .IP \fB\-o\fP读取一个旧格式的 wtmp 文件 (用linux-libc5应用程序写入的). .IP \fB\-x\fP显示系统关机记录和运行级别改变的日志。 .\"}}} .SH 注意 \fIwtmp\fP 和 \fIbtmp\fP 等文件也许找不到。只有这些文件存在时,系统才记录日志信息。这是一个本地配置的问题。 要想这些文件起作用,你可以用一条简单的命令 \fBtouch\fP(1) 创建它们(如, \fItouch /var/log/wtmp\fP). .\"{{{ Files .SH 相关文件 /var/log/wtmp.br/var/log/btmp .\"}}} .\"{{{ Author .SH 作者 Miquel van Smoorenburg, miquels@cistron.nl.\ "}}} .\"{{{ See also .SH "另见" .BR shutdown (8),.BR login (1),.BR init (8) .\"}}} .SH "[中文版维护人]" .B Mirnshi .SH "[中文版最新更新]" .B 2001/07/15 .SH "《中国linux论坛man手册页翻译计划》:" .BI http://cmpp.linuxforum.net manpages-zh-1.6.3.3/src/man1/ld.1000066400000000000000000000627501327105066500162170ustar00rootroot00000000000000.\" Copyright (c) 1991, 92, 93, 94, 95, 96, 97, 98, 1999 Free Software Foundation .\" See section COPYING for conditions for redistribution .TH ld 1 "17 August 1992" "cygnus support" "GNU Development Tools" .de BP .sp .ti \-.2i \(** .. .SH NAME ld \- GNU linker (连接器) .SH "总览 (SYNOPSIS)" .hy 0 .na .TP .B ld .RB "[\|" \-o " .I output\c \&\|] \c .I objfile\c \&.\|.\|. .br .RB "[\|" \-A\c .I architecture\c \&\|] .RB "[\|" "\-b\ "\c .I input-format\c \&\|] .RB "[\|" \-Bstatic "\|]" .RB "[\|" \-Bdynamic "\|]" .RB "[\|" \-Bsymbolic "\|]" .RB "[\|" "\-c\ "\c .I commandfile\c \&\|] .RB "[\|" \-\-cref "\|]" .RB "[\|" \-d | \-dc | \-dp\c \|] .br .RB "[\|" "\-defsym\ "\c .I symbol\c \& = \c .I expression\c \&\|] .RB "[\|" \-\-demangle "\|]" .RB "[\|" \-\-no\-demangle "\|]" .RB "[\|" "\-e\ "\c .I entry\c \&\|] .RB "[\|" \-embedded\-relocs "\|]" .RB "[\|" \-E "\|]" .RB "[\|" \-export\-dynamic "\|]" .RB "[\|" "\-f\ "\c .I name\c \&\|] .RB "[\|" "\-\-auxiliary\ "\c .I name\c \&\|] .RB "[\|" "\-F\ "\c .I name\c \&\|] .RB "[\|" "\-\-filter\ "\c .I name\c \&\|] .RB "[\|" "\-format\ "\c .I input-format\c \&\|] .RB "[\|" \-g "\|]" .RB "[\|" \-G .I size\c \&\|] .RB "[\|" "\-h\ "\c .I name\c \&\|] .RB "[\|" "\-soname\ "\c .I name\c \&\|] .RB "[\|" \-\-help "\|]" .RB "[\|" \-i "\|]" .RB "[\|" \-l\c .I ar\c \&\|] .RB "[\|" \-L\c .I searchdir\c \&\|] .RB "[\|" \-M "\|]" .RB "[\|" \-Map .I mapfile\c \&\|] .RB "[\|" \-m .I emulation\c \&\|] .RB "[\|" \-n | \-N "\|]" .RB "[\|" \-noinhibit-exec "\|]" .RB "[\|" \-no\-keep\-memory "\|]" .RB "[\|" \-no\-warn\-mismatch "\|]" .RB "[\|" \-O\c .I level\c \&\|] .RB "[\|" "\-oformat\ "\c .I output-format\c \&\|] .RB "[\|" "\-R\ "\c .I filename\c \&\|] .RB "[\|" \-relax "\|]" .RB "[\|" \-r | \-Ur "\|]" .RB "[\|" "\-rpath\ "\c .I directory\c \&\|] .RB "[\|" "\-rpath\-link\ "\c .I directory\c \&\|] .RB "[\|" \-S "\|]" .RB "[\|" \-s "\|]" .RB "[\|" \-shared "\|]" .RB "[\|" \-sort\-common "\|]" .RB "[\|" "\-split\-by\-reloc\ "\c .I count\c \&\|] .RB "[\|" \-split\-by\-file "\|]" .RB "[\|" "\-T\ "\c .I commandfile\c \&\|] .RB "[\|" "\-Ttext\ "\c .I textorg\c \&\|] .RB "[\|" "\-Tdata\ "\c .I dataorg\c \&\|] .RB "[\|" "\-Tbss\ "\c .I bssorg\c \&\|] .RB "[\|" \-t "\|]" .RB "[\|" "\-u\ "\c .I sym\c \&] .RB "[\|" \-V "\|]" .RB "[\|" \-v "\|]" .RB "[\|" \-\-verbose "\|]" .RB "[\|" \-\-version "\|]" .RB "[\|" \-warn\-common "\|]" .RB "[\|" \-warn\-constructors "\|]" .RB "[\|" \-warn\-multiple\-gp "\|]" .RB "[\|" \-warn\-once "\|]" .RB "[\|" \-warn\-section\-align "\|]" .RB "[\|" \-\-whole\-archive "\|]" .RB "[\|" \-\-no\-whole\-archive "\|]" .RB "[\|" "\-\-wrap\ "\c .I symbol\c \&\|] .RB "[\|" \-X "\|]" .RB "[\|" \-x "\|]" .ad b .hy 1 .SH "描述 (DESCRIPTION)" \c .B ld\c \& 合并 一组 目标文件(object) 和 库文件(archive), 重定位 数据部分, 构建 符号引用(symbol reference). 一般说来, 编译 生成 可执行文件 的 最后步骤 就是 调用 \c .B ld\c \&. \c .B ld\c \& 可以读取 用 连接器命令语言(Linker Command Language) 编写的 脚本文件, 它 能够 对 连接过程 提供 精确 和 全面 的 控制. 本 手册页 不讨论 命令语言; 可参看 `\|\c .B info\c \|' 的 `\|\c .B ld\c \|' 项, 或者 手册 .I ld: the GNU linker \&, 里面有 命令语言 的 细节 和 其他 GNU linker 的 内容. 这个版本 的 \c .B ld\c \& 使用 通用BFD库 操作 目标文件, \c .B ld\c \& 能够 以 多种格式 读入, 连接 和 输出 目标文件 \(em\&例如 COFF 或 \c .B a.out\c \&, 能够 把 不同的格式 连接 在一起, 产生 各种 有效 的 目标文件. 用 `\|\c .B objdump \-i\c \|' 可以 列出 各种 体系结构 支持 的 格式 列表; 另见 .BR objdump ( 1 ). GNU linker 不仅 灵活 强大, 还能够 比 其他 linker 提供 更多 的 诊断信息. 很多 linker 只要 碰上 一个错误 就 立刻停止 执行; 而 \c .B ld\c \& 一有可能 仍然 继续执行, 这样 容易 定位出 其他错误 (某些情况下, 尽管出了错, 仍然 生成 输出文件). GNU linker \c .B ld\c \& 期望 实现 更广泛 的 适用范围, 尽可能 兼容 其他 linker. 通过 命令行 和 环境变量, 用户 可以 用 ld 执行 多种 操作. .SH "选项 (OPTIONS)" 过于丰富的 命令行选项 使人 感到 压抑, 好在 实际使用 中, 多数情况下 只需要 掌握 其中 一小部分. 例如, 在 一个 标准的, 提供 相应支持 的 Unix 系统 中, 常常 用 \c .B ld\c \& 连接 标准的 Unix 目标文件. 如果要 连接 \c .B hello.o\c \&: .sp .br $\ ld\ \-o\ output\ /lib/crt0.o\ hello.o\ \-lc .br .sp 它 告诉 \c .B ld\c \& 生成 一个 叫做 \c .B output\c \& 的 文件 , 其中 连接了 文件 \c .B /lib/crt0.o\c \& 和 \c .B hello.o\c \& 以及 库文件 \c .B libc.a\c \& (在 标准搜索目录下). \c .B ld\c \& 的 命令行选项 可以 任意顺序 出现, 甚至 重复出现. 多数 情况 下, 如果 用 不同的 参数 重复 同一种 选项, ld 不会 出现 更多的变化, 也不会 覆盖 以前的 参数. (指 命令行 中 左边的参数) 例外情况 \(em\& 某些选项 有 反复使用 的 需要 \(em\& 如 \c .B \-A\c \&, \c .B \-b\c \& (或等同的 \c .B \-format\c \&), \c .B \-defsym\c \&, \c .B \-L\c \&, \c .B \-l\c \&, \c .B \-R\c \&, 和 \c .B \-u\c \&. 待连接的 目标文件 列表, 即 总览中的 \c .I objfile\c \&, 可以 放在 命令行选项 的 前面, 后面, 或者 混杂其中; 但是 不能 把 \c .I objfile\c \& 放置于 某个 选项开关 和 它的参数 中间. 一般说来 linker 要求 至少 输入 一个 目标文件, 但是 可以 用 \c .B \-l\c \&, \c .B \-R\c \& 输入 其他格式 的 二进制文件, 或者 用 命令语言 编写的 脚本文件. 如果 \c .I 没有\c \& 指定 二进制格式 的 输入文件, linker 就不能 产生 输出文件, 而是 显示 `\|\c .B No input files\c \|'. 选项的参数 必须 出现在 代表 选项 的 字母 后面, 可以有 空白符, 也可以 没有. .TP .BI "-A" "architecture" 在 目前版本 的 \c .B ld\c \& 中, 这个 选项 仅适用于 Intel 960 体系系列. 在 \c .B ld\c \& 的 设置 中, \c .I architecture\c \& 参数 是 960 系列 的 成员 识别名称 之一, 由 两个字母 组成; 这个选项 指出 期望的 输出目标, 对 输入文件 的 不兼容指令 作出 警告. 它 能够 改变 linker 对 库文件 的 搜索策略, 以便于 支持 体系相关库, 方法是 把 体系识别名称 添加在 待搜索 的 文件名 尾部. 例如, 如果 \c .B ld\c \& 命令行 有 `\|\c .B \-ACA\c \|' 和 `\|\c .B \-ltry\c \|', linker 将 搜索 (根据 内置的路径 和 \c .B \-L\c \& 指定的路径) 以下 名称 的 库文件 .sp .br try .br libtry.a .br tryca .br libtryca.a .br .sp 前两项 是 常规做法; 后两项 源于 `\|\c .B \-ACA\c \|'. 将来发布的 \c .B ld\c \& 可能 对 其他 体系结构 提供 类似功能. 可以 在 命令行上 使用 多个 \c .B \-A\c \& 选项, 只要 该 体系 允许 和 目标体系 相连, 其选项 使 ld 在 搜索 \c .B \-l 指定的库 中, 增加 和 体系结构名称 对应的库. .TP .BI "\-b " "input-format" 指定 输入目标文件 的 二进制格式, 目标文件 在 命令行 上 给出, 放在 这个选项 的 后面. 一般 不需要 指定 这个选项, \c .B ld\c \& 的 缺省输入格式 配置为 各个机器 上 最常用 的 格式. \c .I input-format\c \& 是 字符串, BFD 库 支持的 格式 名称. 选项 \c .B \-format \c .I input-format\c \&\c \& 起 相同的 作用, 脚本命令 .BR TARGET 也是 一样. 连接 某些 不寻常的 二进制文件 时 需要 这个选项. 或者 使用 \c .B \-b\c \& 选项 强调 格式切换 (连接 不同格式 的 目标文件), 比如说, 在 每组 特定格式 的 目标文件 前面 使用 \c .B \-b \c .I input-format\c \&\c \& 选项. 环境变量 .B GNUTARGET\c \& 用于 指定 缺省格式. 也可以 在 脚本文件 中 用 \c .B TARGET\c \& 命令 定义 输入格式. .TP .B \-Bstatic 禁止 连接 共享库. 这个选项 只在 支持 共享库 的 平台 上 有意义. .TP .B \-Bdynamic 连接 动态库. 这个选项 只在 支持 共享库 的 平台 上 有意义, 一般说来 它 是 缺省选项. .TP .B \-Bsymbolic 当 创建 共享库 的 时候, 只要 有可能, 在 共享库 内 编联(bind reference) 全局符号 和 定义(definition). 一般说来, 允许 连接了 某个 共享库 的 程序 覆盖 共享库内 的 定义. 这个选项 只在 支持 共享库 的 ELF 平台 上 有意义. .TP .BI "\-c " "commandfile" 告诉 \c .B ld\c \& 从 文件 \c .I commandfile\c \& 中 读取 连接 命令. 这些 命令 彻底的 覆盖 \c .B ld\c \& 的 缺省 连接 格式 (而不是 添加); \c .I commandfile\c \& 必须 详尽的 描述 目标格式 的 所有细节. 你 也可以 在 命令行 上 直接嵌入 连接命令, 把 脚本 嵌在 大括弧 `\|\c .B {\c \|' 和 `\|\c .B }\c \|' 中间. .TP .B \-\-cref 输出 交叉引用表(cross reference). 如果 创建了 连接映像(linker map) 文件, 交叉引用表 就 输出到 映像文件 中, 否则 送往 标准输出. .TP .B \-d .TP .B \-dc .TP .B \-dp 这 三个选项 是 一回事, 为了 兼容 其他 linker 而 同时提供. 即使 已经 指定 \c .B ld 生成 可重定位文件 (\c .B \-r\c \&), 它们 能为 公共符号(common symbol) 分配 空间. 脚本命令 \c .B FORCE_COMMON_ALLOCATION\c \& 起 同样作用. .TP .BI "-defsym " "symbol" "\fR = \fP" expression 在 输出文件 中 创建 一个 全局符号, 它 含有 \c .I expression\c \& 给出的 绝对地址. 可以 在 命令行 使用 多个 这样的 选项. 这个 \c .I expression\c \& 只能 使用 有限的 数学形式: 十六进制常数, 已经存在 的 符号名字. 或者 使用 \c .B +\c \& 和 \c .B \-\c \& 加减 十六进制常数 或 符号. 如果 需要 更复杂的 表达式, 考虑 使用 命令语言脚本. .TP .B \-\-demangle .TP .B \-\-no\-demangle 这些选项 控制 是否在 出错信息 和 其他信息 中, 输出 可读的(demangle) 符号名称. 如果 使用了 demangle 选项, linker 尽量使 符号名称 容易理解: 去掉 领头的 下划线 (如果 被 目标文件格式 采用); 把 C++ 难懂的 符号名称 (symbol name) 转换成 可读的 名称. 缺省情况下 linker 输出 可读的 符号名称, 除非 设置了 环境变量 .B COLLECT_NO_DEMANGLE . 这些选项 能够 覆盖 缺省行为. .TP .BI "-e " "entry" 使用 \c .I entry (入口)\c \& 标识符 作为 程序 执行 的 开始端, 而不是 缺省入口. 关于 缺省入口 和 其他 设置 入口 的 方法 参见 `\|\c .B info\c \|' 的 .B ld\c \|' 项. .TP .B \-embedded\-relocs 这个选项 仅用于 连接 MIPS上 嵌入的 PIC 代码, GNU 的 编译器 和 汇编器 用 .B \-membedded\-pic 选项 能够 生成 这种代码. 它使 linker 创建 一张 表格, 用于 在 运行的时候, 重定位 任何 被 静态初始化 为 指针值 的 数据. 详见 testsuite/ld-empic 的 代码. .TP .B \-E .TP .B \-export\-dynamic 当 创建 ELF 文件 时, 把 所有 符号 加入 动态符号表. 一般说来, 动态符号表 只包含 动态目标库(dynamic object) 需要的 符号. 用 .I dlopen 的 时候 需要 这个 选项. .TP .BI "-f " "name" .TP .BI "--auxiliary " "name" 创建 ELF 共享目标库 时, 把 内部的 DT_AUXILIARY 字段 设置为 .I name. 它 告诉 动态linker, 把 该 共享目标库 的 符号表 用做 共享目标 .I name 的 符号表 的 辅助过滤器. .TP .BI "-F " "name" .TP .BI "--filter " "name" 创建 ELF 共享目标库 时, 把 内部的 DT_FILTER 字段 设置为 .I name. 它 告诉 动态linker, 把 该 共享目标库 的 符号表 用做 共享目标 .I name 的 符号表 的 辅助过滤器. .TP .BI "\-format " "input\-format" 等同于 \c .B \-b\c \& \c .I input\-format\c \&. .TP .B \-g 虚设项; 用于 兼容 其他 工具. .TP .BI "\-G " "size"\c 把 使用 GP 寄存器 优化的 目标(文件) 大小 限制为 .I size . 用于 MIPS ECOFF, 对 其他 目标文件格式 无效. .TP .BI "-h " "name" .TP .BI "-soname " "name" 创建 ELF 共享目标库 时, 把 内部的 DT_SONAME 字段 设置为 name. 如果 某个 可执行文件 连接了 含有 DT_SONAME 字段 的 共享目标库, 当 该程序 运行 时, 动态 linker 试图 根据 DT_SONAME 字段 调入 共享的 目标库, 而 不使用 提供给 linker 的 文件名. .TP .B \-\-help 在 标准输出 显示 命令行选项 的 摘要, 然后 结束. 这个选项 和 .B \-\-version 选项 使用了 两个 短横线, 不是 一个, 目的是 兼容 其他 GNU 程序. 只用 一个 短横线 的 选项 是为了 兼容 其他 linker. .TP .B \-i 执行 增量连接(incremental link), 等同于 \c .B \-r\c \& 选项. .TP .BI "\-l" "ar" 在 连接文件 列表 中 增加 归档库文件 \c .I ar\c \&. 可以 多次 使用 这个选项. 凡指定 一项 \c .I ar \&, \c .B ld\c \& 就会 在 路径列表 中 增加 一项 对 \c .B lib\c .I ar\c \&.a\c \& 的 搜索. .TP .BI "\-L" "searchdir" 这个选项 将 路径 \c .I searchdir\c \& 添加 到 路径列表 中去, \c .B ld\c \& 在 这个 列表 中 搜索 归档库. 可以 多次 使用 这个选项. 缺省的 搜索路径集 (不使用 \c .B \-L\c \& 时) 取决于 \c .B ld\c \& 使用的 模拟模式(emulation) 及其 配置. 在 连接脚本 中, 可以 用 \c .B SEARCH_DIR 命令 指定 路径. .TP .B \-M 在 标准输出 显示 连接映像 \(em\& 有关 \c .B ld\c \& 把 符号 映射到 何处 的 诊断信息, 以及 全局公共存储器 的 分配 信息. .TP .BI "\-Map " "mapfile"\c 把 连接映像 输出到 .I mapfile 文件 中 \(em\& 有关 \c .B ld\c \& 把 符号 映射到 何处 的 诊断信息, 以及 全局公共存储器 的 分配 信息. .TP .BI "\-m " "emulation"\c 模仿 .I emulation 连接器. 可以 用 .I \-\-verbose 或 .I \-V 选项 列出 有效的 模拟项. 这个选项 覆盖 编译 进去 的 缺省项. .TP .B \-N 指定 可读写 的 \c .B 正文\c \& 和 \c .B 数据\c \& 节(section). 如果 输出格式 支持 Unix 风格的 幻数(magic number), 则 输出文件 标记为 \c .B OMAGIC\c \&. 当 使用 `\|\c .B \-N\c \&\|' 选项 时, linker 不做 数据段 的 页对齐(page-align). .TP .B \-n 设置 正文段 为 只读, 如果 有可能, \c .B NMAGIC\c \& 为 可写. .TP .B \-noinhibit\-exec 一般说来, 如果 连接的 时候 发生 错误, linker 不会 产生 输出文件. 使用了 这个 标志选项, 只要 不出 致命差错, 仍能够 产生 输出文件. .TP .B \-no\-keep\-memory linker 通常 牺牲 内存, 优化 速度, 它 把 输入文件 的 符号表 缓冲在 内存中. 这个选项 使 linker 必要时 重复读取 符号表, 以便 优化 内存使用. 连接 大型 可执行文件 的 时候, linker 有可能 内存 不够, 此时 可以 试试 这个选项. .TP .B \-no\-warn\-mismatch 一般情况下, 如果 试图 连接 某些 不匹配 的 输入文件, 比如说, 按 不同 处理器 编译 的, 或者 具有 不同的 字节顺序(endianness), linker 就会 报错. 这个选项 告诉 linker 默许 这种 错误. 要 小心使用 这个选项, 除非 你 正在做 某些 特殊 操作, 而且 能够 确定 不需要 linker 报错. .TP .BI "\-o " "output" .I output\c \& 用来 指定 \c .B ld\c \& 生成的 程序名; 如果 没有 使用 这个选项, 缺省名字 是 `\|\c .B a.out\c \|'. 脚本命令 \c .B OUTPUT\c \& 起 同样 作用. .TP .BI "\-O" "level" 生成 优化的 输出文件. 这个选项 占用 比较多 的 时间, 因此 仅 常用于 最终文件 的 生成. \c .I level\c \& 是 数值参数. 任何 大于零 的 参数 意味着 要求 优化. .TP .BI "\-oformat " "output\-format" 指定 输出目标文件 的 二进制格式. 一般 不需要 指定 这个选项, \c .B ld\c \& 的 缺省 输出格式 配置为 各个机器 上 最常用 的 格式. \c .I output-format\c \& 是 一个 字符串, BFD 库 支持的 格式 名称. 脚本命令 .B OUTPUT_FORMAT 也可以 指定 输出格式, 但是 这个选项 能够 覆盖 掉 它. .TP .BI "\-R " "filename" 从 文件 \c .I filename\c \& 中 读取 符号名称 及其 地址, 但是 不做 重定位, 不传送到 输出端. 它 可以 使 输出文件 符号引用 其他程序中 定义的 绝对地址. .TP .B \-relax 这个选项 的 效果 取决于 机器, 目前 只支持 H8/300. 在 某些 平台 上 可以 使用 这个选项 做 全局优化, 它 让 linker 解决 程序中 的 地址处理, 例如 在 输出目标文件 中 缓和(relax) 地址模式 以及 合成 (synthesize) 新指令. 其他平台 也接受 `\|\c .B \-relax\c \&\|' 选项, 但是 不起作用. .TP .B \-r 生成 可重定位 输出 \(em\& 就是说, 生成的 输出文件 能够 依次 成为 \c .B ld\c \& 的 输入, 一般 称之为 \c .I 不完全(partial) 连接\c \&. 它 有 一个 副效应, 在 支持 标准 Unix 幻数(magic number) 的 环境 中, 这个选项 把 输出文件 的 幻数 设置成 \c .B OMAGIC\c \&. 如果 没有 指定 这个选项, linker 生成 绝对定位 的 文件. 连接 C++ 程序时, 这个选项 \c .I 不会 \c \& 解析 出 对 构造子(constructor) 的 引用(reference); 不妨 改用 \c .B \-Ur\c \& 选项. 这个选项 的 效果 和 \c .B \-i\c \& 一样. .TP .B \-rpath\ \fIdirectory 增加 一条 对 运行时(runtime)库 的 搜索路径. 这个选项 用于 连接 ELF 可执行 文件 和 共享目标库. 所有 .B \-rpath 选项 的 参数 被 合并, 然后 一起 传递 给 运行时 linker, 运行时 linker 在 运行 的 时候 使用 这些 路径 寻找 共享目标库. .B \-rpath 也可以 用来 定位 共享目标库 引用的 共享目标库; 参见 对 .B \-rpath\-link 选项 的 叙述. 如果 连接 ELF 可执行文件 时 没有 指定 .B \-rpath 选项, linker 就使用 环境变量 .B LD_RUN_PATH 的 内容 \(em\& 只要 这个 环境变量 存在. .B \-rpath 选项 能够 用在 SunOS 上, 缺省状况下, linker 可以 根据 给出的 .B \-L 选项 形成 运行时 搜索路径. 如果 使用了 .B \-rpath 选项, 运行时 搜索路径 从 .B \-rpath 中 产生, 而 忽略 .B \-L 选项. 这一点 有利于 使用 gcc, 在 NFS 文件系统 上, gcc 可能 产生 许多 .B \-L 选项. .TP .B \-rpath\-link\ \fIdirectory 使用 ELF 或 SunOS 的 时候, 某些 共享库 可能 需要 其他 共享库. 这种情况 一般 发生在 某个 .B ld\ \-shared 连接 中, 输入文件 包含了 共享库. 如果 linker 遇到 这样的 依赖情况, 当 它 执行 非共享, 不可重定位 的 连接 时, linker 将 自动 寻找 所需的 共享库, 如果 它们 没有 被 显明 包含, 就 把 它们 包含到 连接 中. 在 这种情况下, .B \-rpath\-link 选项 指定了 最先 搜索 的 目录集. .B \-rpath\-link 能够 指定 一批 目录, 目录 用 冒号 隔开. 也可以 用 这些 目录名 作为 参数, 重复 使用 这个 选项. 如果 没有 找到 需要的 共享库, linker 产生 一个 警告, 但是 继续 连接. .TP .B \-S 去掉 输出文件 中的 调试符号信息 (但不是 所有符号). .TP .B \-s 去掉 输出文件 中的 全部 符号信息. .TP .B \-shared 创建 一个 共享库. 目前 只支持 ELF 和 SunOS 平台 (在 SunOS 上, 这个选项 不是 必须的, 如果 没有 使用 .B \-e 选项, 而且 存在 不确定 的 符号, linker 将 自动 创建 共享库). .TP .B \-sort\-common .B ld 通常 把 全局公共符号 放到 适当的 输出节, 按照 大小 排序. 首先是 单字节符号, 然后是 双字节, 接下来是 四字节, 随后是 其他的. 它的 目的是 防止 符号间 因为 排布限制 出现 间隙. 使用 这个选项 可以 禁止 排序. .TP .B \-split\-by\-reloc\ \fIcount 在 输出文件 中 创建 附加节(extra section), 使得 输出文件 中, 没有 某一个 输出节 包含 大于 .I count 个 重定位项. 它 用于 产生 大型 可重定位 COFF 目标文件, 可以 插入到 某些 实时内核 中; 因为 COFF 不能 在 单一节内 存放 65535 以上的 重定位项. 注意, 有些 目标文件格式 不支持 任意 分节, 此时 这个选项 将会 操作 失败. 此外, linker 不能够 分割 输入节, 然后 重新分配, 因此 如果 某个 输入节 包含 .I count 以上的 重定位项, 相应的 输出节 将 包含 同样多的 重定位项. .TP .B \-split\-by\-file 类似于 .B \-split\-by\-reloc , 但是 它为 每个 输入文件 建立一个 新的 输出节. .TP .BI "\-Tbss " "org"\c .TP .BI "\-Tdata " "org"\c .TP .BI "\-Ttext " "org"\c 把 \c .I org\c \& 作为 输出文件 的 段 起始地址 \(em\& 特别是 \(em\& \c .B bss\c \&, \c .B data\c \&, 或 \c .B text\c \& 段. \c .I org\c \& 必须是 十六进制整数. .TP .BI "\-T " "commandfile" 等同于 \c .B \-c \c .I commandfile\c \&\c \&; 用于 兼容 其他工具. .TP .B \-t 在 \c .B ld\c \& 处理 输入文件 的 时候 显示 文件名. .TP .BI "\-u " "sym" 把 \c .I sym\c \& 作为 未定义(undefined) 的 符号 送入 输出文件. 这样做 可以, 例如, 促使 linker 从 标准库 连接 某个 附加的模块. 允许 使用 多个 \c .B \-u\c \& 选项 输入 多个 未定义 符号. .TP .B \-Ur 对于 除 C++ 以外的 任何 程序, 这个选项 等同于 \c .B \-r\c \&: 生成 可重定位 的 输出 \(em\& 就是说, 能够 依次 输入 \c .B ld\c \& 的 输出文件. 连接 C++ 程序 的 时候, \c .B \-Ur .I 将\c \& 解析 对 构造子(constructor) 的 引用(reference), 这一点 和 \c .B \-r\c \& 不同. .TP .B \-\-verbose 显示 \c .B ld 的 版本号, 列出 支持的 模拟项(emulation). 显示 哪些 输入文件 能够 打开, 哪些 不能, .TP .B \-v, \-V 显示 \c .B ld\c \& 的 版本号. 此外 .B \-V 选项 能够 列出 支持的 模拟项. .TP .B \-\-version 显示 \c .B ld 的 版本号 然后 结束. .TP .B \-warn\-common 当 公共符号 和 其他 公共符号 合并 时, 或者 和 某个 符号定义 合并 时, linker 就发出 警告. Unix 系统的 linker 允许 这种 有些 草率 的 做法, 其他 操作系统 则 不行. 这个选项 帮助你 在 合并 全局符号 的 时候 发现 潜在问题. .TP .B \-warn\-constructors 如果 使用了 全局构造子(global constructor), linker 就发出 警告. 它 只对 某些 目标文件结构 有用, 对于 如 COFF 或 ELF, 此 linker 不能够 检测 全局构造子 的 使用情况. .TP .B \-warn\-multiple\-gp 如果 输出文件 需要 多个 全局指针值, linker 就发出 警告. 这个选项 只能 用于 某些 处理器, 如 Alpha. .TP .B \-warn\-once 对 每个 未定义符号 只 警告 一次, 而不是 每次 引用 这个符号 都 警告. .TP .B \-warn\-section\-align 如果 某个 输出节(section) 的 地址 因为 边界对齐 而 发生 改变, linker 就发出 警告. 典型情况下 由 输入节 设置 边界, 只有 不做 明确指定 的 时候 地址 才会 改变; 就是说, SECTIONS 命令 没有 指出 该节 的 开始地址. .TP .B \-\-whole\-archive 对于 命令行 上 .B \-\-whole\-archive 选项 提到的 每个 归档库, 连接时 连入 归档库 的 全部 目标文件, 而不是 在 归档库 中 搜索 所需的 目标文件. 一般用于 把 归档库文件 转变成 共享库文件, 迫使 全部 目标文件 进入 共享库. .TP .B \-\-no\-whole\-archive 关闭 .B \-\-whole\-archive 选项 对 归档库 的 影响. .TP .BI "--wrap " "symbol" 对 .I symbol 使用 包装函数(wrapper function). 任何 对 .I symbol 未定义 的 引用 (undefined reference) 将 解析为 .BI "__wrap_" "symbol". 任何 对 .BI "__real_" "symbol" 未定义 的 引用 将 解析为 .I symbol. .TP .B \-X 删除 全部 临时的 局部符号. 大多数 目的文件 中, 这些 局部符号 的 名字 用 `\|\c .B L\c \|' 做 开头. .TP .B \-x 删除 全部 局部符号. .PP .SH "环境 (ENVIRONMENT)" \c 通过 环境变量 \c .B GNUTARGET\c \& 可以 改变 .B ld\c \& 的 行为. \c 如果 没有 使用 \c .B \-b\c \& 选项 (或 相同的 \c .B \-format\c \&), .B GNUTARGET\c \& 决定了 输入文件 的 目标格式, 其值 应为 BFD的 名称之一. 如果 没有 \c .B GNUTARGET \c \& 环境变量, \c .B ld\c \& 就使用 主机的 本地格式. 如果 \c .B GNUTARGET\c \& 设置为 \c .B default\c \&, BFD 通过 检查 输入文件 的 二进制格式 判断 输入格式; 这个方法 通常 有效, 但 隐含 歧义, 这是因为 没有 办法 保证 标志 目标文件格式 的 幻数 是 唯一的. 不过, 各个系统 配置 BFD 的 时候, 会把 系统 约定的格式 放在 搜索列表 的 前面, 因此 能够 按照 约定 消除 歧义. .PP .SH "另见 (SEE ALSO)" .BR objdump ( 1 ) .br .RB "`\|" ld "\|' 和 `\|" binutils "\|'" 项 ( .B info\c ) .br .I ld: the GNU linker\c , Steve Chamberlain and Roland Pesch; .I The GNU Binary Utilities\c , Roland H. Pesch. .SH COPYING Copyright (c) 1991, 92, 93, 94, 95, 96, 97, 1998 Free Software Foundation, Inc. .PP Permission is granted to make and distribute verbatim copies of this manual provided the copyright notice and this permission notice are preserved on all copies. .PP Permission is granted to copy and distribute modified versions of this manual under the conditions for verbatim copying, provided that the entire resulting derived work is distributed under the terms of a permission notice identical to this one. .PP Permission is granted to copy and distribute translations of this manual into another language, under the above conditions for modified versions, except that this permission notice may be included in translations approved by the Free Software Foundation instead of in the original English. .SH "[中文版维护人]" .B 徐明 .SH "[中文版最新更新]" .BR 2003/05/13 第一版 .SH "《中国Linux论坛man手册页翻译计划》" .BI http://cmpp.linuxforum.net manpages-zh-1.6.3.3/src/man1/ldd.1000066400000000000000000000036411327105066500163550ustar00rootroot00000000000000.\" Copyright 1995-1996 David Engel (david@ods.com) .\" Copyright 1995 Rickard E. Faith (faith@cs.unc.edu) .\" Most of this was copied from the README file. Do not restrict distribution. .\" May be distributed under the GNU General Public License .TH LDD 1 "30 March 1995" .SH NAME ldd \- 显示共享库的依赖情况 .SH "总览 (SYNOPSIS)" .B ldd .RB [ \-vVdr ] program ... .SH "描述 (DESCRIPTION)" .B ldd 显示 每个 程序 需要 的 共享库 (shared library), 程序名 在 命令行 上 给出. .PP 对于 a.out 程序, .B ldd 简单的 进行 fork 和 exec 各个 程序, 执行 程序 时 argc 参数 等于零, a.out 的 动态连接器 (dynamic linker) .BR ld.so , 正常情况下 能够 调入 共享库, 注意到 这个 特殊情况, 从而 显示出 依赖关系. .PP 对于 ELF 程序, .B ldd 设置 适当的 环境变量集, 然后 fork 和 exec 各个 程序. ELF 的 动态连接器, .BR ld-linux.so , 正常情况下 能够 调入 共享库, 注意到 这个 特殊情况, 从而 显示出 依赖关系. .SH "选项 (OPTIONS)" .TP .B \-v 显示 .BR ldd 的 版本号. .TP .B \-V 显示 动态连接器 .BR ld.so 的 版本号. .TP .B \-d 进行 重定位(relocation), 而且 报告 缺少的 函数 (仅限于 ELF). .TP .B \-r 对 数据目标 (data object) 和 函数 进行 重定位, 而且 报告 缺少的 数据目标 (仅限于 ELF). .SH BUGS 对于 非常 陈旧 的 程序, .B ldd 可能 .I 无法 工作, 这些 程序 在 .B ldd 加入 编译器工具 之前 就 连接 好了. 如果 对 这样的 某个 程序 执行 .B ldd , 该 程序 的 argc = 0, 其 运行结果 无法 预测. .SH "作者 (AUTHOR)" David Engel. .SH "另见 (SEE ALSO)" .BR ldconfig (8), .BR ld.so (8), .BR ld.so.info . .SH "[中文版维护人]" .B 徐明 .SH "[中文版最新更新]" .BR 2003/05/13 第一版 .SH "《中国Linux论坛man手册页翻译计划》" .BI http://cmpp.linuxforum.net manpages-zh-1.6.3.3/src/man1/let.1000066400000000000000000000000241327105066500163660ustar00rootroot00000000000000.so man1/builtins.1 manpages-zh-1.6.3.3/src/man1/link.1000066400000000000000000000025211327105066500165430ustar00rootroot00000000000000.\" DO NOT MODIFY THIS FILE! It was generated by help2man 1.47.3. .\"******************************************************************* .\" .\" This file was generated with po4a. Translate the source file. .\" .\"******************************************************************* .TH LINK 1 2017年10月 "GNU coreutils 8.28" 用户命令 .SH 名称 link \- 调用 link 函数创建一个文件的链接 .SH 概述 \fBlink\fP \fI\,文件1 文件2\/\fP .br \fBlink\fP \fI\,选项\/\fP .SH 描述 .\" Add any additional description here .PP 调用 link 函数创建从既存的文件1到文件2的链接。 .TP \fB\-\-help\fP 显示此帮助信息并退出 .TP \fB\-\-version\fP 显示版本信息并退出 .SH 作者 由 Michael Stone 编写。 .SH 报告错误 GNU coreutils 的在线帮助: .br 请向 报告 link 的翻译错误。 .SH 版权 Copyright \(co 2017 Free Software Foundation, Inc. License GPLv3+: GNU GPL version 3 or later . .br This is free software: you are free to change and redistribute it. There is NO WARRANTY, to the extent permitted by law. .SH 参见 link(2) .PP .br 完整文档请见: .br 或者在本地使用: info \(aq(coreutils) link invocation\(aq manpages-zh-1.6.3.3/src/man1/listalias.1000066400000000000000000000027641327105066500176040ustar00rootroot00000000000000.\" 版权所有 The USENET Community Trust, 1988-1995. .\" 中文版版权所有 Liu JingSong, www.linuxforum.net 2000 .\" 本文档可在遵照LDP GENERAL PUBLIC LICENSE,Version 1, September 1998 .\" 中描述的条件下进行复制,且该文件发布时必须包含该文档. .TH LISTALIAS 1 "Elm Version 2.5" "USENET Community Trust" .SH NAME listalias \- 列出用户和系统别名 .SH 总揽 .B listalias [ -s | -u ] [ 正则表达式] .SH 描述 .I Listalias 按用户及系统别名每个输出一行。每行具有下列格式: .nf <别名> <地址> (<注解>) .fi 如果采用了正则表达式选项,则只有与指定表达式匹配的别名才被列出, 如果未采用正则表达式,所有别名将被列出。 .sp 在两种方式下,命令的输出都被排序。 .SH 选项 .TP .B \-s 只输出系统别名。 .BR \ \-s \ 和 \ \-u 两个选项为互斥关系,即两个选项只能选一个。 .TP .B \-u 只输出用户别名 .BR \ \-s \ 和 \ \-u 两个选项为互斥关系。 .SH 作者 Elm 开发小组 .SH 参见 checkalias(1L), elm(1L), elmalias(1L), newalias(1L) .SH 缺陷 由于该程序通过管道调用了另一个程序egrep, 因此表达式的检查结果由egrep决定,而非这个程序自己决定! .SH 程序错误报告至 Bill Pemberton flash@virginia.edu .SH "[中文版维护人]" .B Liu JingSong .SH "[中文版最新更新]" .B 2001/05/02 .SH "[中国 Linux 论坛 man 手册页翻译计划]" .BI http://cmpp.linuxforum.net manpages-zh-1.6.3.3/src/man1/ln.1000066400000000000000000000146641327105066500162320ustar00rootroot00000000000000.\" Copyright Andries Brouwer, Ragnar Hojland Espinosa and A. Wik, 1998. .\" Chinese version Copyright Surran, BitBIRD of www.linuxforum.net .\" This file may be copied under the conditions described .\" in the LDP GENERAL PUBLIC LICENSE, Version 1, September 1998 .\" that should have been distributed together with this file. .\" .TH LN 1 "November 1998" "GNU fileutils 4.0" .SH NAME ln \-在文件之间建立连接 .SH 总览 .BI "ln [options] source [dest]" .br .BI "ln [options] source...directory" .SH POSIX 选项: .B "[\-f]" .SH GNU 选项(缩写): .B [\-bdfinsvF] .B [\-S backup\-suffix] .B [\-V {numbered, existing, simple}] .B [\-\-help] [\-\-version] [\-\-] .SH 描述 在Unix世界里有两个'link'(连接)概念,一般称之为硬连接和软连接。一个硬连 接仅仅是一个文件名。(一个文件可以有好几个文件名,只有将最后一个文件名从 磁盘上删除,才能把这个文件删掉。文件名的个数是由ls(1)来确定的。所有的文件 名都处于同一个状态,也就没有什么\(lq源名字\(rq 之说。通常文件系统里的一个 文件的所有名字包含着一样的数据信息,不过这样也不是必需的。)一个软连接 (或符号连接)是完全不同的:它是一个包含了路径信息的小小的指定文件。因此, 软连接可以指向不同文件系统里的文件(比如由NFS装载的不同机器文件系统上的文 件),甚至可以指向一个不一定确实存在的文件。在软连接文件被访问(系统调用 open(2) 或stat(2))的时候,操作系统用该文件所包含的路径替换该文件的访问介 入点,从而实现对所指文件的访问。(用命令rm(1)和unlink(2)可以删除连接,但 不是删除该文件所指向的文件。系统指定调用lstat(2)和readlink(2) 来读取连接 文件与其所指文件的状态。到底是对软连接文件操作,还是对被指向文件操作,由 于不同操作系统件存在不同的系统调用,而存在着差异。) ln 在文件间产生连接。缺省时,产生硬连接,有\-s选项,则产生符号(软)连接。 如果仅仅只给出一个文件名,那么ln将在当前目录里产生这个文件的连接, 也就是说,以该文件(的最后一个)名称等同的名字在当前目录里产生一个连接 (GNU范围内); 如果最后一个参数是一个已存在的目录名, ln 将在那个目录里给每一个源文件用以与源文件相同的文件名产生连接, (不同情况见以下\-\-no\-dereference的描述); 如果只给出两个文件名,ln将产生源文件的连接; 如果最后一个参数不是一个目录名或多于两个文件名,则报错。 缺省时,ln不删除已存在的文件或符号连接。 (因此,它可以被用来锁定目标文件,即当dest已经不存在时) 但选项\-f可以强制执行。 在已存在的实现中,只有超级用户才能建立目录的硬连接。 POSIX 禁止系统调用link(2)和ln建立目录的硬连接 (但是允许在不同的文件系统间建立硬连接)。 .SH POSIX 选项 .TP .B "\-f " 删除已存在的目的文件。 .SH GNU 选项 .TP .B "\-d, \-F, \-\-directory" 允许超级用户建立目录硬连接。 .TP .B "\-f, \-\-force" 删除已存在的目的文件。 .TP .B "\-i, \-\-interactive" 提示是否删除已存在的目的文件。 .TP .B "\-n, \-\-no\-dereference" 当所给出的目的文件名是一个目录的符号连接时,将其视为一般文件处理。 当目的目录名是一个确实存在的目录(不是一个符号连接)时, 不进行模糊处理,而在那个目录里建立连接。 但是当所指定的目的目录名是一个符号连接时, 有两种方式来对待用户的要求。 ln 会视目的为一个普通目录,并且在里面建立连接。 或者如同符号连接本身一样地视其为一个非目录。 这种情况下,ln 将在建立新连接之前删除或备份这个符号连接。 缺省地,把符号连接视为普通目录来对待。 .TP .B "\-s, \-\-symbolic" 建立符号连接以替代硬连接。 在不支持符号连接的系统上,这个选项仅仅会产生一个错误提示而已。 .TP .B "\-v, \-\-verbose" 在建立连接前显示所操作的文件名。 .SH GNU 备份选项 对于想备份那些有可能被覆盖、改写或者被破坏的文件, GNU提供了比如:cp, mv, ln, install和patch等命令。 可以使用\-b参数生成备份文件。备份文件的名称由\-V参数指定。 假如备份文件的名称是通过原文件名加后缀而得到, 那么要用\-S参数来指定这个后缀。 .TP .B "\-b, \-\-backup" 备份文件。 .TP .B "\-S SUFFIX,\-suffix=SUFFIX" 在备份文件后添加"SUFFIX"(你的后缀)。如果不使用该参数,则使用环境变量 SIM_PLE_BACHUP_SUFFIX,如果该环境变量没有设置,则缺省地使用'~'。 .TP .B "\-V METHOD,\-version\-control=METHOD" 指定备份文件如何命名。 参数"METHOD"可以是'numbered'(或't'), \'existing\'(或\'nil\'),或\'never\'(或\'simple\')。 如果不使用该参数,则使用环境变量VERSION_CONTROL, 如果该环境变量没有设置,则缺省地使用 'existing'。 正确有效的METHOD参数对应于Emacs变量'version\-control'。(唯一被承认的缩写): t, numbered 产生数字标记形式的备份文件。 nil, existiong 对已有数字标记备份的文件进行数字备份,而简单备份其他类型文件。 never, simple 总是进行简单备份。 .SH GNU 标准参数 .TP .B "\-help" 在标准输出上显示使用信息并顺利退出。 .TP .B "\-version" 在标准输出上显示版本信息并顺利退出 .TP .B "\-\-" 终端参数列表。 .SH 环境变量 变量LANG, LC_ALL, LC_COLLATE, LC_CTYPE和LC_MESSAGES具有通常意义。 在GNU版本里,变量 SIMPLE_BACKUP_SUFFIX和VERSION_CONTROL控制备份文件的命名。 .SH 遵循 POSIX 1003.2,尽管POSIX 1003.2(1996)没有讨论软连接。 软连接在BSD中有介绍,在System V release3(或更老版本)系统中不出现。 .SH 另见 ls(1), rm(1), link(2), lstat(2), open(2), readlink(2), stat(2), unlink(2) .SH 注意 本文出自应用文档-4.0,其他版本肯定会有微小差别。 任何添加或纠错意见请寄:aeb@cwi.nl。 程序Bugs请告知:fileutils\-bugs@gnu.ai.mit.edu .SH "[中文版维护人]" .B Surran .SH "[中文版最新更新]" 2000/10/19 .SH "[中国Linux论坛man手册页翻译计划]" .BI http://cmpp.linuxforum.net manpages-zh-1.6.3.3/src/man1/loadkeys.1000066400000000000000000000127511327105066500174270ustar00rootroot00000000000000.TH LOADKEYS 1 "09 Oct 1997" "Console tools" "Linux User's Manual" .SH NAME loadkeys \- 调入键盘翻译表 .SH "总览 (SYNOPSIS)" .B loadkeys [ .I \-d \-\-default .B ] [ .I \-h \-\-help .B ] [ .I \-q \-\-quiet .B ] [ .I \-v \-\-verbose .B [ .I \-v \-\-verbose .B ]...] [ .I \-m \-\-mktable .B ] [ .I \-c \-\-clearcompose .B ] [ .I \-s \-\-clearstrings .B ] [ filename... ] .SH "描述 (DESCRIPTION)" .B Loadkeys 读取 由 .I filename... 指定的 文件 内容. 它的 主要目的 是 为 控制台 调入 内核键盘映射表(kernel keymap). .SH "设为缺省 (RESET TO DEFAULT)" 如果 指定了 .I -d (或 .I --default ) 选项, .B loadkeys 调入 缺省的 键盘映射 文件 .I defkeymap.map, 可能 在 .I /usr/share/keymaps 或 .IR /usr/src/linux/drivers/char 目录 下. (前者 可能是 用户定义的, 而 后者 是 针对 PC 机 qwerty 键盘 的 映射 \- 也许 你 不需要.) 某些情况下, 如果 遇上 奇怪的 键盘映射 (把 减号 '\-' 弄成了 某种 陌生的 修饰组合), 你 只要 轻松的 键入 `loadkeys defkeymap' 就 可以了. (译注: qwerty 是一种常用的 PC 键盘布局, 由 键盘 字母区 左上角 的 连续 横向 六个 字母键 得名) .SH "调入内核键盘映射 (KERNEL KEYMAP)" .B loadkeys 的 主要作用 是 调入 或 修改 键盘驱动程序 的 翻译表. 当 指出了 文件名 的 时候, 标准输入 用 短横线(\-) 表示. 如果 没有 指出 文件名, loadkeys 就 从 标准输入 读取 数据. .LP 对于 许多 国家 和 各种 键盘类型, 系统 已经 提供了 对应的 键盘映射表, 只需 用一条 诸如 `loadkeys uk' 的 命令 就可以 满足 需要. 而且 很容易 设计 自己的 键盘映射表. 用户 必须 识别 哪些 符号 属于 哪些 键. 可以 用 .BR showkey (1) 命令 查出 键值(keycode), 手册页 .BR keymaps (5) 对 键盘映射表 格式 做了 说明, 也可以 参考 .BR dumpkeys (1) 命令 输出 的 内容. .SH "调入内核 ACCENT 表" 如果 输入文件 没有 定义 任何 组合键(compose key), 内核 accent 表 就 保持 不变, 除非 使用了 .I -c (或 .I --clearcompose ) 选项, 此时 内核 accent 表 被 清空. 如果 输入文件 定义了 组合键, 那么 清除 原有 定义, 换成 新的 定义. 内核 accent 表 是 一组 表项 (缺省为 68 项), 用来 描述 区分符(dead diacritical sign) 和 组合键 怎么 工作. 例如, 这行 .LP .RS compose ',' 'c' to ccedilla .RE .LP 表示 <,> 组合 产生 . 使用 命令 `dumpkeys \-\-compose\-only' 能够 查看 当前 accent 表. (译注: Compose 键 可以 用 dumpkeys 命令 查出, 我的 系统上 是 ctrl+句号, 因此 相继 按下 'ctrl-.', ',', 'c' 就可以 产生 上述的 'ccedilla'.) .SH "调入内核字符串表 (KERNEL STRING TABLE)" 选项 .I -s (或 .I --clearstrings ) 用于 清除 内核字符串表. 如果 不使用 这个 选项, .B loadkeys 只会 添加 或 调换 字符串, 而不是 清除 它们. (因而 需要 选项 \-s 实现 友好定义 状态.) 内核字符串表 是 一组 命名 字符串, 就象 F31. 例如, 你 可以 使 功能键 F5 (普通 PC 键盘上 有) 产生 字符串 `Hello!', 使 Shift+F5 产生 `Goodbye!': .LP .RS keycode 63 = F70 F71 .br string F70 = "Hello!" .br string F71 = "Goodbye!" .RE .LP 把 这三行 加进 键盘映射表 即可. 缺省的 功能键 定义 大多是 来自 VT100 终端 的 转码序列 (escape sequence). .SH "创建内核源文件表 (KERNEL SOURCE TABLE)" 如果 给出了 .I -m (或 .I --mktable ) 选项, .B loadkeys 在 标准输出 产生 一个文件, 可以 用做 .I /usr/src/linux\%/drivers\%/char\%/defkeymap.c, 它 定义了 内核的 缺省 键盘编联 (但 不影响 当前 键盘映射). .SH "选项 (OPTION)" .TP .I \-h \-\-help 在 标准错误 上 显示 版本号 和 简短 的 用法, 然后 结束. .TP .I \-v \-\-verbose 显示 更新 细节, 用的越多, 细节越细. .TP .I \-q \-\-quiet 不要 显示 一般信息. .TP .I \-c \-\-clearcompose 清除 内核的 组合键表 (就是 accent 表). 如果 没有 使用 这个选项, 而且 输入文件 没有 定义 组合键, 内核组合键表 保持 不变. .TP .I \-s \-\-clearstrings 清除 内核的 字符串表. 如果 没有 使用 这个选项, .B loadkeys 将 添加 或 调换 字符串, 而不是 删除 它们. .SH "文件 (FILE)" .I /usr/lib/kbd/keymaps/ 键盘映射文件 的 缺省目录. .I /usr/lib/kbd/keymaps/defkeymap.kmap 用 .I \-d 选项 调入的 缺省 键盘映射文件. (译注: 对于 比较 新的 系统 请查看 /usr/lib/kbd/keymaps/i386/qwerty/, 注意 这里 最后面的 两个 目录, 前者 是 系统平台, 后者 是 键盘类型) .SH BUGS 任何人 只要有 对 .I /dev/console 的 读访问权 就能够 运行 .B loadkeys , 从而 改变 键盘布局, 使 它 可能 无法使用. 键盘翻译表 由 所有 虚拟控制台 共用, 所以 任何 对 键盘编联 的 改变 会 同时 影响 所有的 虚拟控制台. 注意, 由于 改变 能够 影响 所有的 虚拟控制台, 因此 它 比 用户的 会话期 更长. 这意味着 即使 在 登录 提示 阶段, 键值编联 也会 影响 用户 的 使用. 缺省的 键盘映射 应该 编译在 内核中. ( .IR /usr/src/linux/drivers/char/defkeymap.c ). .SH "另见 (SEE ALSO)" .BR dumpkeys (1), .BR kbd_mode (1), .BR keymaps (5). .SH "[中文版维护人]" .B 徐明 .SH "[中文版最新更新]" .BR 2003/05/13 第一版 .SH "《中国Linux论坛man手册页翻译计划》" .BI http://cmpp.linuxforum.net manpages-zh-1.6.3.3/src/man1/local.1000066400000000000000000000000241327105066500166740ustar00rootroot00000000000000.so man1/builtins.1 manpages-zh-1.6.3.3/src/man1/localectl.1000066400000000000000000000135111327105066500175510ustar00rootroot00000000000000'\" t .TH "LOCALECTL" "1" "" "systemd 231" "localectl" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- .\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ .\" http://bugs.debian.org/507673 .\" http://lists.gnu.org/archive/html/groff/2009-02/msg00013.html .\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ .ie \n(.g .ds Aq \(aq .el .ds Aq ' .\" ----------------------------------------------------------------- .\" * set default formatting .\" ----------------------------------------------------------------- .\" disable hyphenation .nh .\" disable justification (adjust text to left margin only) .ad l .\" ----------------------------------------------------------------- .\" * MAIN CONTENT STARTS HERE * .\" ----------------------------------------------------------------- .SH "NAME" localectl \- 控制系统的本地化与键盘布局 .SH "SYNOPSIS" .HP \w'\fBlocalectl\fR\ 'u \fBlocalectl\fR [OPTIONS...] {COMMAND} .SH "描述" .PP \fBlocalectl\fR 可用于查询与修改系统的本地化(locale)与键盘布局的设置。 它通过与 \fBsystemd-localed.service\fR(8) 通信来修改例如 /etc/locale\&.conf 与 /etc/vconsole\&.conf 之类的配置文件。 .PP 本地化设置控制着 用户界面的语言、字符类型与字符编码、 日期时间与货币符号的表达方式 等许多细节。 .PP 键盘布局控制着 键盘上每个按键及组合键的含义。 .PP 注意,为了使此工具所做的修改在系统启动的早期就能生效, 可能需要重新制作 initramfs , 因为 localectl 并不会自动更新 initramfs 。 .PP 可以使用 \fBsystemd-firstboot\fR(1) 初始化已挂载(但未启动)的系统镜像的本地化(locale)设置。 .SH "选项" .PP 能够识别的命令行选项如下: .PP \fB\-\-no\-ask\-password\fR .RS 4 在执行特权操作时不向用户索要密码。 .RE .PP \fB\-\-no\-convert\fR .RS 4 与 \fBset\-keymap\fR 或 \fBset\-x11\-keymap\fR 命令连用, 表示不同时设置X11与控制台的键盘映射, 也就是不强迫保持两者一致。 .RE .PP \fB\-H\fR, \fB\-\-host=\fR .RS 4 操作指定的远程主机。可以仅指定一个主机名(hostname), 也可以使用 "username@hostname" 格式。 hostname 后面还可以加上容器名(以冒号分隔), 也就是形如 "hostname:container" 的格式, 以表示直接连接到指定主机的指定容器内。 操作将通过SSH协议进行,以确保安全。 可以通过 \fBmachinectl \-H \fR\fB\fIHOST\fR\fR 命令列出远程主机上的所有容器名称。 .RE .PP \fB\-h\fR, \fB\-\-help\fR .RS 4 显示简短的帮助信息并退出。 .RE .PP \fB\-\-version\fR .RS 4 显示简短的版本信息并退出。 .RE .PP \fB\-\-no\-pager\fR .RS 4 不将程序的输出内容管道(pipe)给分页程序。 .RE .PP 能够识别的命令如下: .PP \fBstatus\fR .RS 4 显示当前的本地化设置与键盘映射。 这是默认命令。 .RE .PP \fBset\-locale LOCALE\&.\&.\&.\fR .RS 4 设置系统的本地化环境变量(可以一次设置多个), 例如 "LANG=zh_CN\&.utf8", "LC_MESSAGES=en_US\&.utf8" 等等。参见 \fBlocale\fR(7) 以了解可用的环境变量及其含义。使用 \fBlist\-locales\fR 命令列出所有可用的 locale (见下文)。 .RE .PP \fBlist\-locales\fR .RS 4 列出所有可用的 locale , 以帮助正确使用 \fBset\-locale\fR 命令。 .RE .PP \fBset\-keymap MAP [TOGGLEMAP]\fR .RS 4 设置控制台的键盘映射(中国人应设为 "us")。 可选的[TOGGLEMAP]用于设置第二切换键盘映射。 除非明确设置了 \fB\-\-no\-convert\fR 选项, 否则此命令也会同时设置默认的X11键盘布局(将"MAP"自动转化为最接近的X11键盘布局)。 使用 \fBlist\-keymaps\fR 命令列出所有可用的 键盘映射 (见下文)。 .RE .PP \fBlist\-keymaps\fR .RS 4 列出所有可用的控制台键盘映射, 以帮助正确使用 \fBset\-keymap\fR 命令。 .RE .PP \fBset\-x11\-keymap LAYOUT [MODEL [VARIANT [OPTIONS]]]\fR .RS 4 设置默认的X11键盘布局(中国人应设为 "us")。 可选的,还可以设置 Model, Variant, Options 三项(无默认值)。 "MODEL"一般设为"pc104","VARIANT"与"OPTIONS"一般直接忽略,详见 \fBkbd\fR(4) 手册。除非明确设置了 \fB\-\-no\-convert\fR 选项, 否则此命令也会同时设置控制台的键盘映射, 也就是将"LAYOUT"自动转化为最接近的控制台键盘映射。 .RE .PP \fBlist\-x11\-keymap\-models\fR, \fBlist\-x11\-keymap\-layouts\fR, \fBlist\-x11\-keymap\-variants [LAYOUT]\fR, \fBlist\-x11\-keymap\-options\fR .RS 4 分别列出所有可用的X11键盘的 Layout, Model, Variant, Options 以帮助正确使用 \fBset\-x11\-keymap\fR 命令。 \fBlist\-x11\-keymap\-variants\fR 命令有个可选的"LAYOUT"参数用于过滤出仅适合于特定键盘布局的变种。 .RE .SH "退出状态" .PP 返回值为 0 表示成功, 非零返回值表示失败代码。 .SH "环境变量" .PP \fI$SYSTEMD_PAGER\fR .RS 4 指定分页程序。仅在未指定 \fB\-\-no\-pager\fR 选项时有意义。 此变量会覆盖 \fI$PAGER\fR 的值。 将此变量设为空字符串或 "cat" 等价于使用 \fB\-\-no\-pager\fR 选项。 .RE .PP \fI$SYSTEMD_LESS\fR .RS 4 用于覆盖 默认传递给 \fBless\fR 程序的命令行选项 ("FRSXMK")。 .RE .SH "参见" .PP \fBsystemd\fR(1), \fBlocale\fR(7), \fBlocale.conf\fR(5), \fBvconsole.conf\fR(5), \fBloadkeys\fR(1), \fBkbd\fR(4), \m[blue]\fBThe XKB Configuration Guide\fR\m[]\&\s-2\u[1]\d\s+2, \fBsystemctl\fR(1), \fBsystemd-localed.service\fR(8), \fBsystemd-firstboot\fR(1), \fBmkinitrd\fR(8) .SH "NOTES" .IP " 1." 4 The XKB Configuration Guide .RS 4 \%http://www.x.org/releases/current/doc/xorg-docs/input/XKB-Config.html .RE .\" manpages-zh translator: 金步国 .\" manpages-zh comment: 金步国作品集:http://www.jinbuguo.com manpages-zh-1.6.3.3/src/man1/lockfile.1000066400000000000000000000136231327105066500174030ustar00rootroot00000000000000.TH LOCKFILE 1 .SH NAME(名称) lockfile \- 条件标志文件创建命令 .SH SYNOPSIS(总览) .B lockfile .I "\fB\-\fPsleeptime" | .I "\fB\-r \fPretries" | .if n .ti +0.5i .I "\fB\-l \fPlocktimeout" | .I "\fB\-s \fPsuspend" | .B "\-!" | .B "\-ml" | .B "\-mu" | .I filename \&.\|.\|. .SH DESCRIPTION(描述) .B lockfile可以用来创建一个或多个 .I 信号量(semaphore) .IR 文件.如果lockfile不能创建所有指定的文件(按照指定的顺序),那么它会等待一段 .I 休眠期(sleeptime) (默认为8秒)并从不成功的最后一个文件开始重试.你可以指定失败返回之前 .I 重试(retries) 的次数. 如果 .I retries 的次数设为\-1(默认地,也即 .BR \-r\-1 ) lockfile会永远重试下去. .PP 如果在所有文件创建之前 .I retries 的次数已经满了,lockfile会返回失败的信息并删除所有已经创建的文件. .PP 在shell脚本中使用lockfile作为循环的条件可以很容易地通过使用 .B \-! 标识反向退出的状态来实现.为了防止无限循环,除了lockfile已经存在以外的任何原因的失败都不会反向为成功状态,而是仍然以失败状态返回. .PP 所有标识可以在命令行中的任何地方指定,碰到它们就进行处理.命令行简单地由左至右进行解析. .PP 所有通过lockfile创建的文件都是只读的,因此必须使用 .B rm .BR \-f 来删除. .PP 如果你指定了一个 .I locktimeout 那么lockfile会在lockfile最后一次修改/创建之后locktimeout秒过后强制性地删除(很可能是一些其它程序意外死掉很长一段时间后造成不能清除残余的lockfiles).Lockfile不受时钟偏差的影响.在lockfile强制被清除之后,延迟的 .I suspend 秒(默认为16)开始计数,这是为了防止无意的直接删除了任何由另一程序新创建的lockfile(与 .BR procmail (1)) 中的 .BR SUSPEND 比较). .SS "Mailbox locks"(邮箱锁定) 如果系统邮件spool目录有权限允许它,或者如果lockfile正好被setgid了,那么它可以通过 使用相应的选项 .B "\-ml" 和 .B "\-mu" lock和unlock你的系统邮箱. .SH EXAMPLES(示例) 假设你想确定访问文件"important"是串行的,也即,没有其它程序或shell脚本允许访问它.为了简省起见,让我们假定它是一个shell脚本.在这个例子中,你应该像这样解决: .RS \&.\|.\|. lockfile important.lock \&.\|.\|. access_"important"_to_your_hearts_content \&.\|.\|. rm \-f important.lock \&.\|.\|. .RE 现在如果所有访问"important"的脚本按照这条规则,你就可以确保在`lockfile'和`rm'命令之间至多只有一个脚本在执行. .SH ENVIRONMENT(环境变量) .TP 2.3i .B LOGNAME 用作隐含变量以确定调用者的登录名 .SH FILES(相关文件) .TP 2.3i .B /etc/passwd 为了验证和/或纠正调用者的登录名(如果需要的话,同时也是为了找出HOME目录) .TP .B /var/spool/mail/$LOGNAME.lock 系统邮箱的lockfile,出现在其中的环境变量不由系统的环境变量决定,而是会通过在/etc/passwd中查找确定. .SH "SEE ALSO"(另见) .na .nh .BR rm (1), .BR mail (1), .BR binmail (1), .BR sendmail (8), .BR procmail (1) .hy .ad .SH DIAGNOSTICS(诊断) .TP 2.3i Filename too long,.\|.\|. 使用更短的文件名. .TP Forced unlock denied on "x" 没有对lockfile "x"所存放的目录的写的权限,或者超过一个lockfile几乎同时正在试图强制lock. .TP Forcing lock on "x" lockfile "x"因为超时的缘故将要强制删除 (与 .BR procmail (1)) 中的 .BR LOCKTIMEOUT 作比较). .TP Out of memory,.\|.\|. 系统交换空间溢出. .TP Signal received,.\|.\|. Lockfile将删除到此为止创建的所有文件并终止. .TP Sorry,.\|.\|. .I retries 限制已经到达. .TP Truncating "x" and retrying lock "x"看上去不是有效的文件名. .TP Try praying,.\|.\|. 缺失子目录或者权限不够. .SH BUGS 确实少于一个. .SH WARNINGS(警告) .B \-! 标识的操作行为,尽管有用,但是并不很直接或一致.当测试lockfile的返回值时,shell脚本编写者应该仔细考虑是使用 .B \-! 标识简单地作反向测试,还是对原来的退出代码执行一次转换. 通常, .B \-! 标识应该只用在lockfile是循环的条件之时. .SH MISCELLANEOUS(杂项) Lockfile不兼容NFS,而且八位还原. .SH NOTES(备注) 使用\-h或\-?选项调用lockfile会使得它显示命令行方式的帮助页.使用\-v选项调用会使得它显示版本信息. .PP 多个 .B \-! 标识会切换返回状态. .PP 因为标识可以出现在命令行的任何位置,所以任何一个以'-'开头的文件名必须加'./"在前面. .PP 当任何接在后面的文件正在创建(也即,它们正在使用)时, .I retries 的次数不能重新设置.不过,它可以通过在命令行上指定 .RI \-r newretries 于每个文件之后来重新设置. .PP 尽管任何名字的文件都可用作lockfiles,通常习惯还是使用扩展名为'.lock'的文件来lock邮件文件夹(它添加于邮件夹名之后).如果不想担心文件名太长了,也不必遵从任何其它的lockfilename的习惯,那么一个最好的方法就是通过添加前缀`lock.'来生成一个与已经存在的文件相应的lockfilename,并且在其后添加锁定文件的i-node数. .SH SOURCE(源自) 该程序为 http://www.procmail.org/或者 ftp.procmail.org的 .BR pub/procmail/ 中 .I procmail mail-processing-package (v3.14)的一部分. .SH MAILINGLIST(邮件列表) 有一个针对procmail包中任何程序相关问题的邮件列表: .RS .RS 用来提交问题/答案. .RE .RS 用来请求订阅. .RE .PP .RE 如果你想即时获得新版本和公开补丁的通告,请发订阅请求到 .RS procmail-announce-request@procmail.org .RE (这是一个只读列表). .SH AUTHOR Stephen R. van den Berg .RS .SH "[中文版维护人]" .B riser .SH "[中文版最新更新]" .BR 2001/08/08 .SH "《中国linux论坛man手册页翻译计划》:" .BI http://cmpp.linuxforum.net manpages-zh-1.6.3.3/src/man1/loginctl.1000066400000000000000000000256361327105066500174350ustar00rootroot00000000000000'\" t .TH "LOGINCTL" "1" "" "systemd 231" "loginctl" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- .\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ .\" http://bugs.debian.org/507673 .\" http://lists.gnu.org/archive/html/groff/2009-02/msg00013.html .\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ .ie \n(.g .ds Aq \(aq .el .ds Aq ' .\" ----------------------------------------------------------------- .\" * set default formatting .\" ----------------------------------------------------------------- .\" disable hyphenation .nh .\" disable justification (adjust text to left margin only) .ad l .\" ----------------------------------------------------------------- .\" * MAIN CONTENT STARTS HERE * .\" ----------------------------------------------------------------- .SH "NAME" loginctl \- 控制 systemd 登录管理器 .SH "SYNOPSIS" .HP \w'\fBloginctl\fR\ 'u \fBloginctl\fR [OPTIONS...] {COMMAND} [NAME...] .SH "描述" .PP \fBloginctl\fR 可用于内省与控制 \fBsystemd\fR(1) 登录管理服务 \fBsystemd-logind.service\fR(8) .SH "选项" .PP 能够识别的命令行选项如下: .PP \fB\-\-no\-ask\-password\fR .RS 4 在执行特权操作时不向用户索要密码。 .RE .PP \fB\-p\fR, \fB\-\-property=\fR .RS 4 在显示 session/user/seat 属性时, 仅显示此处指定的属性。 若未指定,则显示全部属性。 参数必须是属性名(例如"Sessions")。 可以多次使用此选项以指定多个属性。 .RE .PP \fB\-\-value\fR .RS 4 在使用 \fBshow\fR 显示属性时, 仅显示属性值,而不显示属性名及等号。 .RE .PP \fB\-a\fR, \fB\-\-all\fR .RS 4 在显示 session/user/seat 属性时, 显示全部属性,无论这些属性是否已经被设置。 .RE .PP \fB\-l\fR, \fB\-\-full\fR .RS 4 在显示进程树的时候,不对超长行进行截断。 .RE .PP \fB\-\-kill\-who=\fR .RS 4 与 \fBkill\-session\fR 连用,指定杀死哪个进程。 \fBleader\fR 表示仅杀死会话的领导进程; \fBall\fR 表示杀死会话的所有进程。 默认值为 \fBall\fR .RE .PP \fB\-s\fR, \fB\-\-signal=\fR .RS 4 与 \fBkill\-session\fR 或 \fBkill\-user\fR 连用, 指定向选中的进程发送什么信号。 必须设为众所周知的信号名称,例如 \fBSIGTERM\fR(默认值), \fBSIGINT\fR, \fBSIGSTOP\fR 之类 .RE .PP \fB\-n\fR, \fB\-\-lines=\fR .RS 4 与 \fBuser\-status\fR 或 \fBsession\-status\fR 连用, 控制显示多少行日志(从最新的一条日志开始计算)。 必须设为一个正整数,默认值是"10"。 .RE .PP \fB\-o\fR, \fB\-\-output=\fR .RS 4 与 \fBuser\-status\fR 或 \fBsession\-status\fR 连用, 控制日志的输出格式。 可用值参见 \fBjournalctl\fR(1) 手册。 默认为 "short" .RE .PP \fB\-H\fR, \fB\-\-host=\fR .RS 4 操作指定的远程主机。可以仅指定一个主机名(hostname), 也可以使用 "username@hostname" 格式。 hostname 后面还可以加上容器名(以冒号分隔), 也就是形如 "hostname:container" 的格式, 以表示直接连接到指定主机的指定容器内。 操作将通过SSH协议进行,以确保安全。 可以通过 \fBmachinectl \-H \fR\fB\fIHOST\fR\fR 命令列出远程主机上的所有容器名称。 .RE .PP \fB\-M\fR, \fB\-\-machine=\fR .RS 4 在本地容器内执行操作。 必须明确指定容器的名称。 .RE .PP \fB\-\-no\-pager\fR .RS 4 不将程序的输出内容管道(pipe)给分页程序。 .RE .PP \fB\-\-no\-legend\fR .RS 4 不输出列标题, 也就是不在输出列表的头部和尾部显示字段的名称。 .RE .PP \fB\-h\fR, \fB\-\-help\fR .RS 4 显示简短的帮助信息并退出。 .RE .PP \fB\-\-version\fR .RS 4 显示简短的版本信息并退出。 .RE .SH "命令" .PP 能够识别的命令如下: .SS "会话命令" .PP \fBlist\-sessions\fR .RS 4 列出当前所有的会话。这是默认命令。 .RE .PP \fBsession\-status\fR [\fIID\fR\&.\&.\&.] .RS 4 显示简洁的会话状态信息,后跟最近的日志。 如果指定了会话ID,那么仅显示指定的会话, 否则显示当前调用者的会话。 此命令主要用于输出人类易读的信息, 如果你想输出易于程序分析的信息, 那么应该使用 \fBshow\-session\fR 命令 .RE .PP \fBshow\-session\fR [\fIID\fR\&.\&.\&.] .RS 4 如果指定了会话ID,那么显示指定会话的各项属性值, 否则显示登陆管理器自身的各项属性值。 除非使用了 \fB\-\-all\fR 选项, 否则空属性将被忽略。 还可以使用 \fB\-\-property=\fR 选项指定仅显示个别属性。 此命令主要用于输出易于程序分析的信息, 如果你想输出人类易读的信息, 那么应该使用 \fBsession\-status\fR 命令。 .RE .PP \fBactivate\fR [\fIID\fR] .RS 4 激活会话。 也就是将处于后台的会话切换到前台(如果同席位的另一个会话正处于前台)。 如果指定了会话ID, 那么将激活指定的会话, 否则将激活当前调用者的会话。 .RE .PP \fBlock\-session\fR [\fIID\fR\&.\&.\&.], \fBunlock\-session\fR [\fIID\fR\&.\&.\&.] .RS 4 锁定/解锁会话(如果会话支持屏幕锁)。 如果指定了会话ID,那么将锁定/解锁指定的会话, 否则将锁定/解锁当前调用者的会话。 .RE .PP \fBlock\-sessions\fR, \fBunlock\-sessions\fR .RS 4 锁定/解锁所有支持屏幕锁的会话。 .RE .PP \fBterminate\-session\fR \fIID\fR\&.\&.\&. .RS 4 结束指定的会话。 也就是杀死指定会话的所有进程、释放所有与此会话相关的资源。 .RE .PP \fBkill\-session\fR \fIID\fR\&.\&.\&. .RS 4 向指定的会话进程发送信号。 使用 \fB\-\-kill\-who=\fR 指定目标进程, 使用 \fB\-\-signal=\fR 指定要发送的信号。 .RE .SS "用户命令" .PP \fBlist\-users\fR .RS 4 列出当前登录的用户 .RE .PP \fBuser\-status\fR [\fIUSER\fR\&.\&.\&.] .RS 4 显示简洁的已登录用户信息,后跟最近的日志。 如果指定了用户名或UID, 那么仅显示指定的用户, 否则显示当前调用者的用户。 此命令主要用于输出人类易读的信息, 如果你想输出易于程序分析的信息, 那么应该使用 \fBshow\-user\fR 命令。 .RE .PP \fBshow\-user\fR [\fIUSER\fR\&.\&.\&.] .RS 4 如果指定了用户名或UID,那么显示指定用户的各项属性值, 否则显示登陆管理器自身的各项属性值。 除非使用了 \fB\-\-all\fR 选项, 否则空属性将被忽略。 还可以使用 \fB\-\-property=\fR 选项来显示指定的属性。 此命令主要用于输出易于程序分析的信息, 如果你想输出人类易读的信息, 那么应该使用 \fBuser\-status\fR 命令。 .RE .PP \fBenable\-linger\fR [\fIUSER\fR\&.\&.\&.], \fBdisable\-linger\fR [\fIUSER\fR\&.\&.\&.] .RS 4 启用/禁止用户逗留(相当于保持登录状态)。 如果指定了用户名或UID, 那么系统将会在启动时自动为这些用户派生出用户管理器, 并且在用户登出后继续保持运行。 这样就可以允许未登录的用户在后台运行持续时间很长的服务。 如果没有指定任何参数, 那么将作用于当前调用者的用户。 .sp 参见 \fBlogind.conf\fR(5) 中的 \fIKillUserProcesses=\fR 指令。 .RE .PP \fBterminate\-user\fR \fIUSER\fR\&.\&.\&. .RS 4 结束指定用户的所有会话。 这将杀死该用户的所有会话中的所有进程, 同时释放与此用户有关的所有资源。 .RE .PP \fBkill\-user\fR \fIUSER\fR\&.\&.\&. .RS 4 向指定用户的所有进程发送 \fB\-\-signal=\fR 选项指定的信号。 .RE .SS "席位命令" .PP \fBlist\-seats\fR .RS 4 列出当前本机上的所有可用席位 .RE .PP \fBseat\-status\fR [\fINAME\fR\&.\&.\&.] .RS 4 显示简洁的席位信息,后跟最近的日志。 如果指定了席位名,那么仅显示指定的席位, 否则显示当前调用者会话所属的席位。 此命令主要用于输出人类易读的信息, 如果你想输出易于程序分析的信息, 那么应该使用 \fBshow\-seat\fR 命令。 .RE .PP \fBshow\-seat\fR [\fINAME\fR\&.\&.\&.] .RS 4 如果指定了席位名,那么显示指定席位的各项属性值, 否则显示登陆管理器自身的各项属性值。 除非使用了 \fB\-\-all\fR 选项, 否则空属性将被忽略。 还可以使用 \fB\-\-property=\fR 选项来显示指定的属性。 此命令主要用于输出易于程序分析的信息, 如果你想输出人类易读的信息, 那么应该使用 \fBseat\-status\fR 命令。 .RE .PP \fBattach\fR \fINAME\fR \fIDEVICE\fR\&.\&.\&. .RS 4 将指定的设备(DEVICE)持久的连接到指定的席位(NAME)上。 设备可以用相对于 /sys 文件系统的设备路径表示。 要创建一个新席位,至少需要连接一个显卡。 席位名称必须以 "seat" 开头, 后跟 a\(enz, A\(enZ, 0\(en9, "\-", "_" 字符。 要想从席位上删除一个设备, 可以将此设备连接到另一个席位, 或者使用 \fBflush\-devices\fR 命令。 .RE .PP \fBflush\-devices\fR .RS 4 删除所有先前用 \fBattach\fR 命令连接的设备(同时也删除了所有先前用 \fBattach\fR 命令创建的席位)。 调用此命令之后,所有自动生成的席位将会被保留, 同时所有席位设备将会连接到自动生成的席位上。 .RE .PP \fBterminate\-seat\fR \fINAME\fR\&.\&.\&. .RS 4 结束指定席位上的所有会话。 这将杀死指定席位上的所有会话进程, 同时释放与之关联的所有资源。 .RE .SH "退出状态" .PP 返回值为 0 表示成功, 非零返回值表示失败代码。 .SH "例子" .PP \fBExample\ \&1.\ \&查询用户状态\fR .sp .if n \{\ .RS 4 .\} .nf $ loginctl user\-status fatima (1005) Since: Sat 2016\-04\-09 14:23:31 EDT; 54min ago State: active Sessions: 5 *3 Unit: user\-1005\&.slice ├─user@1005\&.service \&.\&.\&. ├─session\-3\&.scope \&.\&.\&. └─session\-5\&.scope ├─3473 login \-\- fatima └─3515 \-zsh Apr 09 14:40:30 laptop login[2325]: pam_unix(login:session): session opened for user fatima by LOGIN(uid=0) Apr 09 14:40:30 laptop login[2325]: LOGIN ON tty3 BY fatima .fi .if n \{\ .RE .\} .PP 有 3 与 5 两个会话。会话 3 是一个图形会话, 以星号(*)标记。同时还显示了两个对应的 scope 单元中的进程树。 .SH "环境变量" .PP \fI$SYSTEMD_PAGER\fR .RS 4 指定分页程序。仅在未指定 \fB\-\-no\-pager\fR 选项时有意义。 此变量会覆盖 \fI$PAGER\fR 的值。 将此变量设为空字符串或 "cat" 等价于使用 \fB\-\-no\-pager\fR 选项。 .RE .PP \fI$SYSTEMD_LESS\fR .RS 4 用于覆盖 默认传递给 \fBless\fR 程序的命令行选项 ("FRSXMK")。 .RE .SH "参见" .PP \fBsystemd\fR(1), \fBsystemctl\fR(1), \fBsystemd-logind.service\fR(8), \fBlogind.conf\fR(5) .\" manpages-zh translator: 金步国 .\" manpages-zh comment: 金步国作品集:http://www.jinbuguo.com manpages-zh-1.6.3.3/src/man1/logname.1000066400000000000000000000023571327105066500172370ustar00rootroot00000000000000.\" DO NOT MODIFY THIS FILE! It was generated by help2man 1.47.3. .\"******************************************************************* .\" .\" This file was generated with po4a. Translate the source file. .\" .\"******************************************************************* .TH LOGNAME 1 2017年10月 "GNU coreutils 8.28" 用户命令 .SH 名称 logname \- 显示用户的登录名 .SH 概述 \fBlogname\fP [\fI\,选项\/\fP] .SH 描述 .\" Add any additional description here .PP 显示当前用户名。 .TP \fB\-\-help\fP 显示此帮助信息并退出 .TP \fB\-\-version\fP 显示版本信息并退出 .SH 作者 由 FIXME: unknown 编写。 .SH 报告错误 GNU coreutils 的在线帮助: .br 请向 报告 logname 的翻译错误。 .SH 版权 Copyright \(co 2017 Free Software Foundation, Inc. License GPLv3+: GNU GPL version 3 or later . .br This is free software: you are free to change and redistribute it. There is NO WARRANTY, to the extent permitted by law. .SH 参见 完整文档请见: .br 或者在本地使用: info \(aq(coreutils) logname invocation\(aq manpages-zh-1.6.3.3/src/man1/logout.1000066400000000000000000000000241327105066500171130ustar00rootroot00000000000000.so man1/builtins.1 manpages-zh-1.6.3.3/src/man1/ls.1000066400000000000000000000317161327105066500162340ustar00rootroot00000000000000.\" Copyright Andries Brouwer, Ragnar Hojland Espinosa and A. Wik, 1998. .\" .\" This file may be copied under the conditions described .\" in the LDP GENERAL PUBLIC LICENSE, Version 1, September 1998 .\" that should have been distributed together with this file. .\" .TH LS 1 "November 1998" "GNU fileutils 4.0" .SH NAME ls, dir, vdir \- 列目录内容 .SH 提要 ls [选项] [文件名...] .sp POSIX 标准选项: .B "[-CFRacdilqrtu1]" .SH GNU 选项 (短格式): .B [-1abcdfgiklmnopqrstuxABCDFGLNQRSUX] .B [-w cols] [-T cols] [-I pattern] .B [--full-time] .B [--format={long,verbose,commas,across,vertical,single-column}] .B [--sort={none,time,size,extension}] .B [--time={atime,access,use,ctime,status}] .B [--color[={none,auto,always}]] .B [--help] .B [--version] .B [--] .SH 描述( DESCRIPTION ) 程序ls先列出非目录的文件项,然后是每一个目录中的\(lq可显示\(rq文件。如果 没有选项之外的参数【译注:即文件名部分为空】出现,缺省为 "." (当前目录)。 选项\(lq -d \(rq使得目录与非目录项同样对待。除非\(lq -a \(rq 选项出现,文 件名以\(lq.\(rq开始的文件不属\(lq可显示\(rq文件。 以当前目录为准,每一组文件(包括非目录文件项,以及每一内含文件的目录)分 别按文件名比较顺序排序。如果\(lq -l \(rq选项存在,每组文件前显示一摘要行: 给出该组文件长度之和(以 512 字节为单位)。 输出是到标准输出( stdout )。除非以\(lq -C \(rq选项要求按多列输出,输出 将是一行一个。然而,输出到终端时,单列输出或多列输出是不确定的。可以分别 用选项\(lq -1 \(rq 或\(lq -C \(rq来强制按单列或多列输出。 .PP POSIX 选项 .TP .B "\-C" 多列输出,纵向排序。 .TP .B "\-F" 每个目录名加\(lq / \(rq后缀,每个 FIFO 名加\(lq | \(rq后缀, 每个可运行名加\(lq * \(rq后缀。 .TP .B "\-R" 递归列出遇到的子目录。 .TP .B "\-a" 列出所有文件,包括以 "." 开头的隐含文件。 .TP .B "\-c" 使用\(lq状态改变时间\(rq代替\(lq文件修改时间\(rq为依据来排序 (使用\(lq -t \(rq选项时)或列出(使用\(lq -l \(rq选项时)。 .TP .B "\-d" 将目录名象其它文件一样列出,而不是列出它们的内容。 .TP .B "\-i" 输出文件前先输出文件系列号(即 i 节点号: i-node number)。 -l 列出(以单列格式)文件模式( file mode ),文件的链 接数,所有者名,组名,文件大小(以字节为单位),时间信 息,及文件名。缺省时,时间信息显示最近修改时间;可以以 选项\(lq -c \(rq和\(lq -u \(rq选择显示其它两种时间信息。对于设 备文件,原先显示文件大小的区域通常显示的是主要和次要的 号(majorand minor device numbers)。 .TP .B "\-q" 将文件名中的非打印字符输出为问号。(对于到终端的输出这是缺省的。) .TP .B "\-r" 逆序排列。 .TP .B "\-t" 按时间信息排序。 .TP .B "\-u" 使用最近访问时间代替最近修改时间为依据来排序(使用 \(lq -t \(rq选项时)或列出(使用\(lq -l \(rq选项时)。 .TP .B "\-1" 单列输出。 .SH GNU 细节 如果标准输出是终端,将多列输出(纵向排序)。 .TP dir ( 也被安装为命令 d ) 等同于\(lq ls -C \(rq;即,文件 缺省是多列输出,纵向排序。vdir ( 也被安装为命令 v ) 等同于\(lq ls -l \(rq; 即,文件缺省是按长格式输出。 .SH GNU 选项 .B "-1, --format=single-column" 一行输出一个文件(单列输出)。如标准输出不是到终端, 此选项就是缺省选项。 .TP .B "-a, --all" 列出目录中所有文件,包括以\(lq.\(rq开头的文件。 .TP .B "-b, --escape" 把文件名中不可输出的字符用反斜杠加字符编号(就象在 C 语言里一样)的形式列出。 .TP .B "-c, --time=ctime, --time=status" 按文件状态改变时间(i节点中的ctime)排序并输出目录内 容。如采用长格式输出(选项\(lq-l\(rq),使用文件的状态改 变时间取代文件修改时间。【译注:所谓文件状态改变(i节 点中以ctime标志),既包括文件被修改,又包括文件属性( 如所有者、组、链接数等等)的变化】 .TP .B "-d, --directory" 将目录名象其它文件一样列出,而不是列出它们的内容。 .TP .B "-f" 不排序目录内容;按它们在磁盘上存储的顺序列出。同时启 动\(lq -a \(rq选项,如果在\(lq -f \(rq之前存在\(lq -l \(rq、\(lq - -color \(rq或\(lq -s \(rq,则禁止它们。 .TP .B "-g" 忽略,为兼容UNIX用。 .TP .B "-i, --inode" 在每个文件左边打印 i 节点号(也叫文件序列号和索引号: file serial number and index number)。i节点号在每个特定的文件系统中是唯一的。 .TP .B "-k, --kilobytes" 如列出文件大小,则以千字节KB为单位。 .TP .B "-l, --format=long, --format=verbose" 除每个文件名外,增加显示文件类型、权限、硬链接数、所 有者名、组名、大小( byte )、及时间信息(如未指明是 其它时间即指修改时间)。对于6个月以上的文件或超出未来 1 小时的文件,时间信息中的时分将被年代取代。 每个目录列出前,有一行\(lq总块数\(rq显示目录下全部文件所 占的磁盘空间。块默认是 1024 字节;如果设置了 POSIXLY_CORRECT 的环境变量,除非用\(lq -k \(rq选项,则默认块大小是 512 字 节。每一个硬链接都计入总块数(因此可能重复计数),这无 疑是个缺点。 .TP 列出的权限类似于以符号表示(文件)模式的规范。但是 ls 在每套权限的第三个字符中结合了多位( multiple bits ) 的信息,如下: s 如果设置了 setuid 位或 setgid 位,而且也设置了相应的可执行位。 S 如果设置了 setuid 位或 setgid 位,但是没有设置相应的可执行位。 t 如果设置了 sticky 位,而且也设置了相应的可执行位。 T 如果设置了 sticky 位,但是没有设置相应的可执行位。 x 如果仅仅设置了可执行位而非以上四种情况。 - 其它情况(即可执行位未设置)。 .TP .B "-m, --format=commas" 水平列出文件,每行尽可能多,相互用逗号和一个空格分隔。 .TP .B "-n, --numeric-uid-gid" 列出数字化的 UID 和 GID 而不是用户名和组名。 .TP .B "-o" 以长格式列出目录内容,但是不显示组信息。等于使用\(lq --format=long --no-group \(rq选项。提供此选项是为了与其它版本的 ls 兼容。 .TP .B "-p" 在每个文件名后附上一个字符以说明该文件的类型。类似\(lq -F \(rq选项但是不 标示可执行文件。 .TP .B "-q, --hide-control-chars" 用问号代替文件名中非打印的字符。这是缺省选项。 .TP .B "-r, --reverse" 逆序排列目录内容。 .TP .B "-s, --size" 在每个文件名左侧输出该文件的大小,以 1024 字节的块为单位。如果设置了 POSIXLY_CORRECT 的环境变量,除非用\(lq -k \(rq选项,块大小是 512 字节。 .TP .B "-t, --sort=time" 按文件最近修改时间( i 节点中的 mtime )而不是按文件名字典序排序,新文件 靠前。 .TP .B "-u, --time=atime, --time=access, --time=use" 类似选项\(lq -t \(rq,但是用文件最近访问时间( i 节点中的 atime )取代文件修 改时间。如果使用长格式列出,打印的时间是最近访问时间。 .TP .B "-w, --width cols" 假定屏幕宽度是 cols ( cols 以实际数字取代)列。如未用此选项,缺省值是这 样获得的:如可能先尝试取自终端驱动,否则尝试取自环境变量 COLUMNS (如果设 置了的话),都不行则取 80 。 .TP .B "-x, --format=across, --format=horizontal" 多列输出,横向排序。 .TP .B "-A, --almost-all" 显示除 "." 和 ".." 外的所有文件。 .TP .B "-B, --ignore-backups" 不输出以\(lq ~ \(rq结尾的备份文件,除非已经在命令行中给出。 .TP .B "-C, --format=vertical" 多列输出,纵向排序。当标准输出是终端时这是缺省项。使用命令名 dir 和 d 时, 则总是缺省的。 .TP .B "-D, --dired" 当采用长格式(\(lq -l \(rq选项)输出时,在主要输出后,额外打印一行: //DIRED// BEG1 END1 BEG2 END2 ... .TP BEGn 和 ENDn 是无符号整数,记录每个文件名的起始、结束位置在输出中的位置( 字节偏移量)。这使得 Emacs 易于找到文件名,即使文件名包含空格或换行等非正 常字符也无需特异的搜索。 .TP 如果目录是递归列出的(\(lq -R \(rq选项),每个子目录后列出类似一行: //SUBDIRED// BEG1 END1 ... 【译注:我测试了 TurboLinux4.0 和 RedHat6.1 ,发现它们都是在 \(lq //DIRED// BEG1... \(rq之后列出\(lq //SUBDIRED// BEG1 ... \(rq,也即只有一个 而不是在每个子目录后都有。而且\(lq //SUBDIRED// BEG1 ... \(rq列出的是各个子目 录名的偏移。】 .TP .B "-F, --classify, --file-type" 在每个文件名后附上一个字符以说明该文件的类型。\(lq * \(rq表示普通的可执行文件; \(lq / \(rq表示目录;\(lq @ \(rq表示符号链接;\(lq | \(rq表示FIFOs;\(lq = \(rq表示套接字 (sockets) ;什么也没有则表示普通文件。 .TP .B "-G, --no-group" 以长格式列目录时不显示组信息。 .TP .B "-I, --ignorepattern" 除非在命令行中给定,不要列出匹配 shell 文件名匹配式( pattern ,不是指一般 表达式)的文件。在 shell 中,文件名以 "." 起始的不与在文件名匹配式 (pattern) 开头的通配符匹配。 .TP .B "-L, --dereference" 列出符号链接指向的文件的信息,而不是符号链接本身。 .TP .B "-N, --literal" 不要用引号引起文件名。 .TP .B "-Q, --quote-name" 用双引号引起文件名,非打印字符以 C 语言的方法表示。 .TP .B "-R, --recursive" 递归列出全部目录的内容。 .TP .B "-S, --sort=size" 按文件大小而不是字典序排序目录内容,大文件靠前。 .TP .B "-T, --tabsize cols" 假定每个制表符宽度是 cols 。缺省为 8。为求效率, ls 可能在输出中使用制表符。 若 cols 为 0,则不使用制表符。 .TP .B "-U, --sort=none" 不排序目录内容;按它们在磁盘上存储的顺序列出。(选项\(lq -U \(rq和\(lq -f \(rq的不 同是前者不启动或禁止相关的选项。)这在列很大的目录时特别有用,因为不加排序 能显著的加快速度。 .TP .B "-X, --sort=extension" 按文件扩展名(由最后的 "." 之后的字符组成)的字典序排序。没有扩展名的先列 出。 .TP .B "--color[=when]" 指定是否使用颜色区别文件类别。环境变量 LS_COLORS 指定使用的颜色。如何设置 这个变量见 dircolors(1) 。 when 可以被省略,或是以下几项之一: .TP none 不使用颜色,这是缺省项。 auto 仅当标准输出是终端时使用。 always 总是使用颜色。指定 --color 而且省略 when 时就等同于 --color=always 。 .TP .B "--full-time" 列出完整的时间,而不是使用标准的缩写。格式如同 date(1) 的缺省格式;此格式 是不能改变的,但是你可以用 cut(1) 取出其中的日期字串并将结果送至命令 \(lq date -d \(rq。 .TP 输出的时间包括秒是非常有用的。( Unix 文件系统储存文件的时间信息精确到秒, 因此这个选项已经给出了系统所知的全部信息。)例如,当你有一个 Makefile 文件 不能恰当的生成文件时,这个选项会提供帮助。 .SH GNU 标准选项 .TP .B "--help" 打印用法信息到标准输出并顺利退出。 .TP .B "--version" 打印版本信息到标准输出并顺利退出。 .TP .B "--" 结束选项表。 .SH 环境 变量 POSIXLY_CORRECT 可以决定一组选择。如果没有设置此变量,每个制表符的字 符数由变量 TABSIZE 决定。变量 COLUMNS (当它由一个十进制整数表示时)决定输 出的列宽度(同\(lq -C \(rq选项一起用时)。文件名不得为适应多列输出而被截断。变 量 LANG, LC_ALL, LC_COLLATE, LC_CTYPE, LC_MESSAGES 及 LC_TIME 仍保持原义。 变量 TZ 给出时区供 ls 输出相应的时间字串。变量 LS_COLORS 用以决定是否使用 颜色。 .SH 已知错误 在 BSD 系统上,对于从 HP-UX 系统上通过 NFS mount 而来的文件,\(lq -s \(rq选项报 告的大小只有正确值的一半;在 HP-UX 系统上,对于从 BSD 系统上通过 NFS mount 而来的文件, ls 报告的大小则有正确值的两倍。这是 HP-UX 的一个缺陷造成的,它 也影响 HP-UX 上的 ls 程序。 .SH 适合到 POSIX 1003.2 .SH 参见 dircolors(1) .SH 注意 本页描述的是 fileutils-3.16 文件包中的 ls ,其它版本的可能略有不同。纠错或添 加(功能)请 mailto: aeb@cwi.nl 和 aw@mail1.bet1.puv.fi 及 ragnar@lightside.ddns.org 。本程序的错误报告请 mailto: fileutils-bugs@gnu.ai.mit.edu 。 .SH "[中文版维护人]" .B wangdong .SH "[中文版最新更新]" .B 2003.11.22 .SH "《中国linux论坛man手册翻译计划》:" .BI http://cmpp.linuxforum.net manpages-zh-1.6.3.3/src/man1/lsattr.1000066400000000000000000000022061327105066500171170ustar00rootroot00000000000000.\" -*- nroff -*- .TH LSATTR 1 "1999年11月" "E2fsprogs version 1.18" .SH NAME(名称) lsattr \- 显示文件在Linux第二扩展文件系统上的特有属性 .SH SYNOPSIS(总览) .B lsattr [ .B \-RVadv ] [ .I files... ] .SH DESCRIPTION(描述) .B lsattr 显示文件在Linux第二扩展文件系统上的特有属性 .SH OPTIONS(选项) .TP .B \-R 递归地列出目录以及其下内容的属性. .TP .B \-V 显示程序版本. .TP .B \-a 列出目录中的所有文件,包括以`.'开头的文件的属性. .TP .B \-d 以列出其它文件的方式那样列出目录的属性, 而不列出其下的内容. .TP .B \-v 显示文件版本. .SH AUTHOR(作者) .B lsattr 的作者是Remy Card , 他是ext2 fs的开发和维护者. .SH BUGS 没有:-). .SH AVAILABILITY(怎样获取) .B lsattr 是e2fsprogs包的一部分,你可以通过 对tsx-11.mit.edu的匿名ftp访问在 /pub/linux/packages/ext2fs下找到它. .SH SEE ALSO(另见) .BR chattr (1) .SH "[中文版维护人]" .B riser .SH "[中文版最新更新]" .BR 2001/08/08 .SH "《中国linux论坛man手册页翻译计划》:" .BI http://cmpp.linuxforum.net manpages-zh-1.6.3.3/src/man1/mail.1000066400000000000000000000557041327105066500165430ustar00rootroot00000000000000.\" $OpenBSD: mail.1,v 1.5 1994/06/29 05:09:32 deraadt Exp $ .\" Copyright (c) 1980, 1990, 1993 .\" The Regents of the University of California. All rights reserved. .\" .\" 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. All advertising materials mentioning features or use of this software .\" must display the following acknowledgement: .\" This product includes software developed by the University of .\" California, Berkeley and its contributors. .\" 4. 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. .\" .\" from: @(#)mail.1 8.2 (Berkeley) 12/30/93 .\" .Dd 1993年12月30日 .Dt MAIL 1 .Os BSD 4 .Sh NAME(名称) .Nm mail .Nd 发送和接收邮件 .Sh SYNOPSIS(总览) .Nm mail .Op Fl iInv .Op Fl s Ar subject .Op Fl c Ar cc-addr .Op Fl b Ar bcc-addr .Ar to-addr... .Nm mail .Op Fl iInNv .Fl f .Op Ar name .Nm mail .Op Fl iInNv .Op Fl u Ar user .Sh INTRODUCTION(介绍) .Nm Mail 是一个智能化的邮件处理系统,它具有 .Xr \&ed 1 的命令语法回忆功能,只是用消息替换了行罢了. .Pp .Bl -tag -width flag .It Fl v 详尽模式. 传输邮件的细节都呈现在用户的终端上. .It Fl i 忽略tty中断信号. 这对于在嘈杂的电话线路上使用 .Nm mail 特别有用. .It Fl I 强迫mail以交互模式运行,即使其不是通过终端输入的. 特别地,正在发送邮件时, .Sq Ic \&~ 特殊字符只在交互模式下才起作用. .It Fl n 禁止在启动时读取 .Pa /etc/mail.rc .It Fl N 当阅读邮件或编辑邮件夹时禁止消息头的初始化显示. .It Fl s 在命令行上指定主题(仅把 .Fl s 标识后的第一个参数用作主题;注意对包含空格的主题加上引号.) .It Fl c 发送复件(carbon copy)给用户 .Ar list .It Fl b 发送隐藏的复写副本(blind carbon copy)给用户 .Ar list . list应为以逗号分隔的名字列表. .It Fl f 读入你的 .Ar mbox (或指定文件) 中的内容进行处理;当你 .Ar quit 时, .Nm mail 会把未删除的消息写回该文件. .It Fl u 相当于: .Pp .Dl mail -f /var/spool/mail/user .El .Ss Sending mail(发送邮件) 要发送一条消息给一个或更多的人, .Nm mail 可以以邮件将要发送的人名作为参数进行调用. 然后要求你输入你的消息,并在每行的开头跟着 一个 .Sq Li control\-D 下面的部分 .Ar Replying to or originating mail , 描述了一些 .Nm mail 用于帮助你操作信件的功能. .Pp .Ss Reading mail(阅读邮件) 在一般的用法中 .Nm mail 不带任何参数,并通过邮局(post office)检查你的邮件,然后对于每条找到的消息打印出一个 行头.当前的消息初始为第一条消息(序号1),而且可以使用 .Ic print 命令(可简省为 .Ql Ic p ) 打印. 你可以使用命令 .Ql Ic \&+ 和 .Ql Ic \&\- 如在 .Xr \&ed 1 的各行间移动一样前后移动消息,或者移动到一个简单的序号. .Pp .Ss Disposing of mail(丢弃邮件). 在检查了消息之后,你可以 .Ic delete .Ql Ic d ) 这条消息或者 .Ic reply .Ql Ic r ) 它. 删除会导致 .Nm mail 程序遗忘该条消息. 这并非不能撤销;可以通过给定其序号来 .Ic undeleted .Ql Ic u ) 该条消息,或者 通过指定 .Ic exit .Ql Ic x ) 命令来终止 .Nm mail 的会话. 不过,删除了的消息就会永远消失不再出现. .Pp .Ss Specifying messages(指定消息) 命令如 .Ic print 和 .Ic delete 可以给定一组消息的序号作为参数来一次性对这组消息进行操作. 所以, .Dq Li delete 1 2 会删除消息1和2,而 .Dq Li delete 1\-5 会删除消息1到5. 特殊名字 .Ql Li \&* 表示所有消息,而 .Ql Li \&$ 表示最后一条消息;因此用来打印一条消息的首几行的命令 .Ic top 可用在 .Dq Li top \&* 中以打印所有消息的首几行. .Pp .Ss Replying to or originating mail(回复或发送邮件). 你可以使用 .Ic reply 命令来回复一条消息,将它发送回消息的发送者. 你输入的一直到文末的文本定义了该条消息的内容. 当你正在操作一条消息时, .Nm mail 处理以字符 .Ql Ic \&~ 开头的行会有些特殊. 例如,输入 .Ql Ic \&~m (这一行就这么一句)会放置一个当前消息的拷贝到回复中,其可以通过tabstop右移位(参见下 面的 .Em indentprefix 变量). 其它扩展符可用来设置主题字段,添加和删除消息的收件人,并且允许你返回编辑器来修改消 息,或者用shell执行某些命令. (这些选项都在下面的summary中给定.) .Pp .Ss Ending a mail processing session(终止邮件处理会话). 你可以使用 .Ic quit .Ql Ic q ) 命令来终止 .Nm mail 会话. 检查了的邮件会转到你的 .Ar mbox 文件,除非它们因为删除而被丢弃了. 未检查的邮件则返回到邮局. (参见上面的 .Fl f 选项). .Pp .Ss Personal and systemwide distribution lists(个人和系统的发送列表). 可以创建个人的发送列表,这样,例如你发送邮件到 .Dq Li cohorts 时,即可发送它给一组人. 这样的列表可以通过在你home目录下的文件 .Pa \&.mailrc 中放置如下一行: .Pp .Dl alias cohorts bill ozalp jkf mark kridle@ucbcory .Pp 来实现. 这类别名的当前列表可以使用 .Nm mail 中的 .Ic alias 命令来显示. 系统级的发送列表可以通过编辑 .Pa /etc/aliases 来创建,参看 .Xr aliases 5 和 .Xr sendmail 8 ; 这些具有不同的语法. 在你发送的邮件中,私有别名会在发送给其他人的邮件中展开,这样他们就能够 .Ic reply 给收件人. 系统级的 .Ic aliases 在邮件发送时不会展开,但是当所有邮件通过 .Xr sendmail 时,任何返回机器的回复信都会展开系统级别名. .Pp .Ss Network mail(网络邮件)(ARPA,UUCP,Berknet) 参见 .Xr mailaddr 7 以获知关于网络地址的描述. .Pp .Nm Mail 可以在 .Pa .mailrc 文件中设置一些选项以改变其操作;因而 .Dq Li set askcc 会激活 .Ar askcc 功能. (这些选项都总结在下面.) .Sh SUMMARY(总结) (改编自`Mail Reference Manual') .Pp 每条命令单独占一行,而且可能带有参数跟在命令字后. 命令不需要完全输入 \- 使用第一个匹配输入前缀的命令. 对于那些以消息列表作为参数的命令,如果没有给定消息列表,那么使用满足命令要求的下一 条消息. 如果当前消息之后没有任何消息,那么搜索继续向前进行.如果根本没有合适的消息, .Nm mail 输出 .Dq No applicable messages 并且 终止该命令. .Bl -tag -width delete .It Ic \&\- 打印出接下来的消息. 如果给定一个序号 .Ar n 作为参数,那么会转到 .Ar n Ns 'th 前面的消息并打印它. .It Ic \&? 打印命令概要. .It Ic \&! 执行后面跟着的shell命令 (参看 .Xr sh 1 和 .Xr csh 1 ) .It Ic Print .Pq Ic P 如同 .Ic print 一样,不过它还会打印出忽略的消息头字段. 另见 .Ic print , .Ic ignore 以及 .Ic retain . .It Ic Reply .Pq Ic R 回复信件给发送者. 不回复给发送来的邮件中的其它收件人. .It Ic Type .Pq Ic T 与 .Ic Print 命令一致. .It Ic alias .Pq Ic a 不带参数,打印出所有当前定义的别名.. 带一个参数,打印该别名. 带多于一个的参数,则创建一个新的别名或对老的进行修改, .It Ic alternates .Pq Ic alt 如果你在数台机器上有账号. .Ic alternates 命令很有用.它可以用来通知 .Nm mail 列出的地址实际都是你的. 当你 .Ic 回复 消息时, .Nm mail 就不会发送消息的拷贝到任何列在 .Ic alternates 列表中的地址. 如果 .Ic alternates 命令未给定参数,那么显示当前alternate的名字. .It Ic chdir .Pq Ic c 如果指定了的话,修改用户的工作目录为指定的目录. 如果没有指定目录,那么修改为用户的登录目录. .It Ic copy .Pq Ic co .Ic copy 命令与 .Ic save 一样,唯一的例外是当你退出时,它不会标明删除了的消息. .It Ic delete .Pq Ic d 以消息列表作为参数,并且标明它们全部被删除. 删除了的消息不会保存在 .Ar mbox 中, 也不会对大多数其它命令可用. .It Ic dp (也作 .Ic dt ) 删除当前消息并打印下一条消息. 如果没有下一条消息, .Nm mail 输出 .Dq Li "at EOF" . .It Ic edit .Pq Ic e 读取一组消息,并把文本编辑器按序指向每条消息. 在从编辑器返回时,消息会再读回. .It Ic exit .Pf ( Ic ex 或者 .Ic x ) 不修改用户的系统邮箱,他的 .Ar mbox 文件,或者在 .Fl f 中的编辑文件而立即返回到shell. .It Ic file .Pq Ic fi 与 .Ic folder 相同. .It Ic folders 列出在你的邮件夹目录中的邮件夹名. .It Ic folder .Pq Ic fo .Ic folder 命令用来转到一个新的邮件文件或文件夹. 不带参数时,它会告知你当前在阅读的文件. 如果你给定了一个参数,它会在当前文件中写完你刚作的修改(例如删除)并读入新的文件. 对名字有一些特别的约定. #表示前一个文件, %表示你的系统邮箱, %user表示user的系统邮箱, &表示你的 .Ar mbox 文件,而 \&+\&folder表示在你的folder目录中的一个文件. .It Ic from .Pq Ic f 读取一组消息并打印出其消息头. .It Ic headers .Pq Ic h 显示消息头的当前范围,这是一个18\-消息组. 如果 给定了一个 .Ql \&+ 参数,那么会打印下一个18\-消息组,而如果给定了一个 .Ql \&\- 参数,那么会打印前一个18\-消息组. .It Ic help 与 .Ic \&? 同义. .It Ic hold .Pf ( Ic ho , 也作 .Ic preserve ) 读取一个消息列表,并标记其中的每条消息保存到用户的系统邮箱中,而非 .Ar mbox 中. 这不会覆盖 .Ic delete 命令. .It Ic ignore 添加一列消息头字段到 .Ar ignored list 中. 当你打印一条消息时,在ignore list中的消息头字段不会在你的终端上打印出来. 这条命令对于抑制特定的机器生成的消息头字段很方便. .Ic Type 和 .Ic Print 命令可以用来完整地打印一条消息,包括忽略的字段. 如果 .Ic ignore 不带任何参数执行,它会列出当前设置的忽略的字段. .It Ic mail .Pq Ic m 以登录名和发送组名作为参数并发送邮件给这些人. .It Ic mbox 标明当你退出时,消息列表会发送到你的home目录下的 .Ic mbox 中. 如果你 .Em 没有 设置 .Ic hold 选项,这就是消息默认的操作行为. .It Ic next .Pq Ic n 类似 .Ic \&+ 或 .Tn CR ) 转到按序的下一条消息并输出它. 如果带了参数列表,则输出下一个匹配的消息. .It Ic preserve .Pq Ic pre 与 .Ic hold 同义. .It Ic print .Pq Ic p 读取消息列表,并在用户终端上输出每条消息. .It Ic quit .Pq Ic q 终止会话,保存所有未删除而且未保存的消息到用户的登录目录下的 .Ar mbox 文件中,并保留所有使用 .Ic hold 或者 .Ic preserve 标记或者从未关联的消息到他的系统邮箱中,另外从他的系统邮箱中删除所有其它消息. 如果新的邮件在这次会话中到达,会给出 .Dq Li "You have new mail" 消息. 如果在编辑邮箱文件时指定了 .Fl f 标识,那么编辑的文件会重写. 返回到Shell会受影响,除非编辑文件的重写失败,在这种情况下,用户可以使用 .Ic exit 命令退出. .It Ic reply .Pq Ic r 读取消息列表并发送邮件给发送者和指定消息的所有收件人. 默认消息不能够删除. .It Ic respond 与 .Ic reply 同义. .It Ic retain 添加消息头字段列表到 .Ar retained list 中. 只有在retain list中的消息头字段才会在你打印一条消息时显示在你的终端上. 所有其它消息头字段都抑制了. .Ic Type 和 .Ic Print 命令可以用来完整地打印一条消息. 如果 .Ic retain 不带任何参数执行,它会列出保留字段(retained field)的当前设置. .It Ic save .Pq Ic s 读取一个消息列表和一个文件名,并按序添加每条消息到该文件末尾. 文件名应以加引号,后面跟着回应到用户终端上的行数和字符数. .It Ic set .Pq Ic se 如果不带任何参数,打印所有变量值. 否则,设置选项. 参数为以下格式: .Ar option=value (在=前后都没有空格)或者 .Ar option . 引号标记可能需要放到赋值语句的任何部分以括起空格或者退格符,也即 .Dq Li "set indentprefix=\*q->\*q" .It Ic saveignore .Ic Saveignore 用来 .Ic save .Ic ignore 的内容并 .Ic print 和 .Ic type . 这样标记的消息头字段当通过 .Ic save 保存消息或者当自动保存到 .Ar mbox 中时会过滤掉. .It Ic saveretain .Ic Saveretain 用来 .Ic save .Ic retain 中的内容,并 .Ic print 和 .Ic type . 这样标记的消息头字段当通过 .Ic save 保存消息或者当自动保存到 .Ar mbox 中时会过滤掉. .Ic Saveretain 覆盖 .Ic saveignore . .It Ic shell .Pq Ic sh 调用shell的交互式版本. .It Ic size 读取一组消息并打印出每条消息按字符的大小. .It Ic source .Ic source 命令从一个文件读取命令. .It Ic top 读取一组消息并打印每条消息的头几行. 打印的行数通过变量 .Ic toplines 控制,默认为5行. .It Ic type .Pq Ic t 与 .Ic print 同义. .It Ic unalias 读取一列由 .Ic alias 命令定义的名字并丢弃已有的用户组. 组名将不再有任何作用. .It Ic undelete .Pq Ic u 读取一列消息并标记每条消息为 .Ic 未 删除. .It Ic unread .Pq Ic U 读取一列消息并标记每条消息为 .Ic 尚未 阅读. .It Ic unset 读取一列选项名并丢弃他们已有的值; 这是 .Ic set 的反向操作. .It Ic visual .Pq Ic v 读取一列消息并对每条消息调用显示的编辑器. .It Ic write .Pq Ic w 与 .Ic save 相似,不同之处在于 .Ic 只保存 消息体而 .Pq Ar 不保存 消息头). 这对于通过消息系统发送和接收源程序文本的情况有很大的用处. .It Ic xit .Pq Ic x 与 .Ic exit 同义. .It Ic z .Nm Mail 表示当消息头的窗口满了时,如在 .Ic headers 命令中描述的那样显示. 你可以使用 .Ic \&z 命令移动 .Nm mail Ns 's 通告到下一个窗口. 同样,你也可以通过使用 .Ic \&z\&\- 移动到前一个窗口. .El .Ss Tilde/Escapes(代字符/扩展符) .Pp 以下是对tilde escapes的归纳,这用于操作消息以执行特殊的功能. Tilde escapes只在行首被承认. 名字 .Dq Em tilde\ escape 可能有些用词不当,因为实际的escape字符可通过选项 .Ic escape 设置. .Bl -tag -width Ds .It Ic \&~! Ns Ar command 执行指定的shell命令,然后返回消息. .It Ic \&~b Ns Ar name ... 添加给定名字到复制(carbon copy)的收件人列表中,但是不在Cc:行中显示出来("blind" ca rbon copy). .It Ic \&~c Ns Ar name ... 添加给定名字到复制(carbon copy)的收件人列表中. .It Ic \&~d 从你的home目录中读取文件 .Dq Pa dead.letter 到消息中. .It Ic \&~e 对当前收集的消息调用文本编辑器. 在编辑完成之后,你可以继续在消息中添加文本. .It Ic \&~f Ns Ar messages 读取命名的messages到将要发送的消息中. 如果没有指定messages,那么就读取当前消息. 当前被忽略(通过 .Ic ignore 或者 .Ic retain 命令)的消息头不包括在内. .It Ic \&~F Ns Ar messages 类似于 .Ic \&~f, 不过这包括了所有的消息头. .It Ic \&~h 通过逐一输入的方式编辑消息头字段,并且允许用户添加文本到消息的末尾或者通过使用当前 终端的消除和抹掉字符来修改字段. .It Ic \&~m Ns Ar messages 读取命名的messages到将要发送的消息中,以tab或者 .Ar indentprefix 的值交错. 如果没有指定messages,则读取当前消息. 当前被忽略(通过 .Ic ignore 或者 .Ic retain 命令)的消息头不包括在内. .It Ic \&~M Ns Ar messages 类似于 .Ic \&~m, 不过这包括了所有的消息头. .It Ic \&~p 打印出当前收集的消息,以消息头字段开始. .It Ic \&~q 放弃发送消息,如果设置了 .Ic save , 则复制消息到你home目录下的 .Dq Pa dead.letter 中. .It Ic \&~r Ns Ar filename 读取指定的file到消息中. .It Ic \&~s Ns Ar string 使得指定的string成为当前的主题字段. .It Ic \&~\&t Ns Ar name ... 添加给定的name到直接的收件人列表中. .It Ic \&~\&v 对当前收集的消息调用后备的编辑器(由 .Ev VISUAL 选项定义). 通常,备用的编辑器是屏幕编辑器. 你退出编辑器后,你可以继续在消息的末尾添加文本. .It Ic \&~w Ns Ar command 使消息通过command的过滤. 如果command没有输出或者反常地终止,则会保留消息的原始文本. 命令 .Xr fmt 1 经常用作 .Ic command 来重新验证消息. .It \&~: Ns Ar mail-command 执行给定的mail command. 但是,不是所有命令都允许的. .It Ic \&~ Ns Ar string 插入文本string到消息中,前面以单个的~开头. 如果你已经修改了escape字符,那么你应该重复这个字符以发送它. .El .Ss Mail Options(邮件选项) 选项通过 .Ic set 和 .Ic unset 命令控制. 选项可以是二进制的,在这种情况下,只对它们是否设置了有意义;或者是字符串,这种情况下 的实际值才有意义. 二进制选项包括以下一些: .Bl -tag -width append .It Ar append 使得保存在 .Ar mbox 中的消息添加到末尾而不是加到前面. 这通常是应该设置的(也许在 .Pa /etc/mail.rc 中) .It Ar ask, asksub 使得 .Nm mail 提示你输入发送的每条消息的主题. 如果你用一个简单的换行符应答,则发送无主题的字段. .It Ar askcc 提示你输入附加的复写(carbon copy)的收件人在每条消息之后. 以换行符回应表示你满意当前的列表. .It Ar askbcc 提示你输入附加的隐藏的复写(blind carbon copy)的收件人在每条消息之后. 以换行符回应表示你满意当前的列表. .It Ar autoprint 使得 .Ic delete 命令如 .Ic dp 一样. \- 这样,在删除一条消息之后,下一条消息会自动输出. .It Ar debug 设置二进制选项 .Ar debug 与命令行上指定 .Fl d 一样,这会使得 .Nm mail 输出各种有用的信息来调试 .Nm mail . .It Ar dot 二进制选项 .Ar dot 使得 .Nm mail 解释一行只有单一的句点为你发送消息的结束. .It Ar hold 该选项用来保存消息在默认的系统邮箱中. .It Ar ignore 使得忽略来自终端的中断信号,并且以@'s响应. .It Ar ignoreeof 一个与 .Ar dot 相关的选项就是 .Ar ignoreeof , 它使得 .Nm mail 拒绝接受control-d为消息的结束. .Ar Ignoreeof 同样也适用于 .Nm mail 命令模式. .It Ar metoo 通常,当包括发送者的一组展开时,发送者会在展开中删除. 设置该选项会使得发送者包括在组中. .It Ar noheader 设置选项 .Ar noheader 与在命令行中指定 .Fl N 标识一样. .It Ar nosave 正常情况下,当你使用 .Tn RUBOUT (erase或者delete) 中止一条消息时, .Nm mail 会复制部分信件到你home目录下的文件 .Dq Pa dead.letter 中. 设置二进制选项 .Ar nosave 可以阻止这么做. .It Ar Replyall 颠倒 .Ic reply 和 .Ic Reply 命令的含义. .It Ar quiet 当第一次调用时,禁止打印版本. .It Ar searchheaders 如果设置了这个选项,那么在格式``/x:y''中的消息列表区分标志会对所有在头字段``x''中 包含子字符串``y''的消息展开.字符串查找是区分大小写的. .It Ar verbose 设置选项 .Ar verbose 与在字符行下使用 .Fl v 标识一样. 当邮件运行在verbose模式时, 实际传递的消息会显示在用户的终端上. .El .Ss Option String Values(选项字符串值) .Bl -tag -width Va .It Ev EDITOR 在 .Ic edit 命令和 .Ic \&~e 扩展符中使用的文本编辑器的路径名. 如果没有定义,那么使用默认的编辑器. .It Ev LISTER 在 .Ic folders 命令中使用的目录浏览器的路径名. 默认为 .Pa /bin/ls . .It Ev PAGER 在 .Ic more 命令或者当设置了 .Ic crt 变量时使用的程序的路径名. 如果该选项没有定义,默认使用 .Xr more 1 . .It Ev SHELL 在 .Ic \&! 命令和 .Ic \&~! 扩展符中使用的shell的路径名. 如果未定义该选项,则使用默认的shell. .It Ev VISUAL 在 .Ic visual 命令和 .Ic \&~v 扩展符中使用的文本编辑器的路径名. .It Va crt 赋值的选项 .Va crt 用作限额以决定一条消息在使用 .Ev PAGER 阅读它之前有多长. 如果 .Va crt 没有赋值,那么保存在系统中的终端显示高度用来确定限额(参见 .Xr stty 1 ) . .It Ar escape 如果定义了,那么该选项的第一个字符给出扩展符中替换~的字符. .It Ar folder 存储消息的文件夹的目录名. 如果该名字以`/'开头, .Nm mail 会把它当作绝对路径名;否则,文件目录相对于你的home目录查找. .It Ev MBOX .Ar mbox 文件的名字. 它可以为一个文件夹名. 默认为在用户home目录下的 .Dq Li mbox . .It Ar record 如果定义了,指定用来存档所有外发邮件的文件的路径名. 如果没有定义,那么外发邮件将不被保存. .It Ar indentprefix 在``~m'' tilde escape中用作交错消息的字符串,替换一般情况下的tab字符(^I). 如果其中包含了空格或者tab,确信对值加了引号. .It Ar toplines 如果定义了,指定使用 .Ic top 命令打印的消息的行数;一般情况下,打印前5行. .El .Sh ENVIRONMENT(环境变量) .Nm Mail 使用了 .Ev HOME 和 .Ev USER 环境变量. .Sh FILES(相关文件) .Bl -tag -width /usr/lib/mail.*help -compact .It Pa /var/spool/mail/* 邮局. .It ~/mbox 用户的老邮件. .It ~/.mailrc 给定初始邮件命令的文件. .It Pa /tmp/R* 临时文件. .It Pa /usr/lib/mail.*help 帮助文件. .It Pa /etc/mail.rc 系统初始化文件. .El .Sh SEE ALSO(另见) .Xr fmt 1 , .Xr newaliases 1 , .Xr vacation 1 , .Xr aliases 5 , .Xr mailaddr 7 , .Xr sendmail 8 和 .Rs .%T "The Mail Reference Manual" . .Re .Sh HISTORY(历史) .Nm mail 命令出现在 .At v6 中. 该man页源自 .%T "The Mail Reference Manual" 原作者为Kurt Shoens. .Sh BUGS 有一些标识没有列在文档中. 大多数对一般用户都是没有用处的. .\" 并非这个特定发布版本才有这种bug的情况. .\" 通常, .Nm mail只不过是到.Nm Mail的一个链接,这可能会引起混乱. .Sh "[中文版维护人]" riser .Sh "[中文版最新更新]" 2001/08/08 .Sh "《中国linux论坛man手册页翻译计划》:" http://cmpp.linuxforum.net .Pp manpages-zh-1.6.3.3/src/man1/make_smbcodepage.1000066400000000000000000000115321327105066500210560ustar00rootroot00000000000000.\" This manpage has been automatically generated by docbook2man-spec .\" from a DocBook document. docbook2man-spec can be found at: .\" .\" Please send any bug reports, improvements, comments, patches, .\" etc. to Steve Cheng . .TH MAKE_SMBCODEPAGE 1 "17 Apr 2001" "make_smbcodepage 2.2.0" .SH NAME make_smbcodepage \- 为Samba创建代码页文件 .SH 总览 .sp \fBmake_smbcodepage\fR \fBc|d\fR \fB代码页\fR \fB输入文件\fR \fB输出文件\fR .SH 描述 .PP 这个工具是是Samba组件的一部分。 .PP 针对Samba 2.2的国际化功能,使用\fBmake_smbcodepage\fR可以 编译或反编译代码页文件。 .SH 选项 .TP \fBc|d\fR 使用\fIc\fR把一个文本格式的代码页文件编译成二进制格式; 使用\fId\fR把一个二进制格式的代码页反编译成文本格式。 .TP \fB代码页\fR 选用的代码页(一个数字,如850)。 .TP \fB输入文件\fR 待处理的输入文件。在使用\fIc\fR选项时,它是文本格式的代码 页预定义文件,这些文件可以在Samba包的\fIsource/codepages\fR 目录中找到;在使用\fId\fR选项时,它是二进制格式的代码页文件, 通常,这些文件保存在Samba安装路径的\fIlib/codepages\fR目录的。 .TP \fB输出文件\fR 程序产生的输出文件。 .SH Samba的代码页文件 .PP 文本格式的代码页定义文件描述了在指定DOS代码页大于127的字符中 是如何把大写转换为小写的。要注意的是,在某些DOS代码页中 (如437),大小写之间的映射并不一定对称。例如,在代码页437中, 当进行小写到大写的映射时,把带有撇形(')重音符号的a转换为不 带重间符号的明文大写字母A,而当进行大写到小写映射时,则把字 母A直接转换为字母a而不带重间符号。 .PP 而二进制代码页定义文件则是相同信息的二进制表示,同时包含一个 值,用来说明所描述的代码页。 .PP 因为Samba还没有使用UNICODE码,所以如果你希望在特殊的语言环境 中不区分大小写的话,就要为DOS和Windows客户端指定所用的代码页。 Samba所用的缺省代码页是850(西欧语)。同时,Samba发布还提供了 文本格式的样本代码页文件,包含437(美语)、737(希腊语)、850(西 欧语)、852(MS-DOS 拉丁2)、861(冰岛语), 866 (斯拉夫语)、932 (日语)、936(简体中文)、949(韩文)和950(繁体中文)。我们鼓励用户 为自己的代码页编写文本格式的定义文件,并把它捐款给samba@samba.org。 当你执行\fB'make install'\fR命令时,\fIsource/codepages\fR目 录中的所有代码页文件都会被编译并安装到系统上。 .PP 在\fBsmb.conf\fR文件中配置了\fBclient code page\fR选项之后, \fBsmbd\fR服务器就可以使用客户代码页了。 .SH 相关文件 .PP \fBcodepage_def.\fR .PP 这是Samba源代码包提供的用于输入的文本代码页文件,它们保存在 \fIsource/codepages\fR目录中。 .PP 在这些文本格式的代码页定义文件中,每一行都包含了四个字段: .TP 0.2i \(bu \fBlower\fR:小写字符的十六进制值。 .TP 0.2i \(bu \fBupper\fR:上述小写字符所对应的大写字符十六进制值。 .TP 0.2i \(bu \fBmap upper to lower\fR:这是个布尔量(True或False二者选一)。 用来说明在对一个文件名进行小写处理时,是否让Samba将其中的大写 字符映射成小写字符。 .TP 0.2i \(bu \fBmap lower to upper\fR:这是个布尔量(True或False二者选一)。 用来说明在对一个文件名进行大写处理时,是否让Samba将其中的小写 字符映射成大写字符。 .PP \fBcodepage.\fR 这是Samba产生的输出二进制代码页文件,它们保存在Samba安装目录的 \fIlib/codepage\fR中。 .PP .SH 安装 .PP 服务器及相关支持文件的保存位置决定于系统管理员,以下只是建议: .PP 我们推荐把\fBmake_smbcodepage\fR程序安装到\fI/usr/local/samba\fR 路径下的一个目录中,这个目录应该具有只有root可写,所有人都可读的 权限。这个程序本身应该让所有用户都可执行,而不应该执行suid或sgid 操作。 .SH 版本 .PP 本手册页是针对samba 2.2版的。 .SH 另见 .PP \fBsmbd(8)\fR、smb.conf(5) .SH 作者 .PP Samba软件和相关工具最初由Andrew Tridgell编写。现在,它是按开源 软件的形式进行开发的。 .PP Samba手册页的原作者是Karl Auer。这些文档已被转换成YODL(一种极好的 开放源代码软件,可以在ftp://ftp.icce.rug.nl/pub/unix/处获得)格式, 并已由Jeremy Allison更新到samba2.0版本。Gerald Carter完成了Samba 2.2的DocBook转化工作。 .SH "[中文版维护人]" .B meaculpa .SH "[中文版最新更新]" 2001/05/20 .SH "[中国 Linux 论坛 man 手册页翻译计划]" .BI http://cmpp.linuxforum.net manpages-zh-1.6.3.3/src/man1/makeinfo.1000066400000000000000000000130021327105066500173730ustar00rootroot00000000000000.\" DO NOT MODIFY THIS FILE! It was generated by help2man 1.29. .TH MAKEINFO "1" "June 2003" "makeinfo 4.6" "User Commands" .SH NAME makeinfo \- 翻译 Texinfo 文档 .SH "SYNOPSIS 总览" .B makeinfo [\fIOPTION\fR]... \fITEXINFO-FILE\fR... .SH "DESCRIPTION 描述" 将 Texinfo 源文档翻译为各种其他格式,默认是可以用 Emacs 或者独立的 GNU Info 查看的,适于在线阅读的 Info 文件。 .SS "通用选项:" .TP \fB\-\-error\-limit\fR=\fINUM\fR 在遇到 NUM 个错误后退出。默认是 100。 .TP \fB\-\-force\fR 即使发生错误也保留输出内容。 .TP \fB\-\-help\fR 显示这份帮助,然后退出。 .TP \fB\-\-no\-validate\fR 不进行节点交叉引用的验证。 .TP \fB\-\-no\-warn\fR 阻止提示警告 (但是不阻止提示错误)。 .TP \fB\-\-reference\-limit\fR=\fINUM\fR 警告达到了引用的最大数量 NUM (默认是 1000)。 .TP \fB\-v\fR, \fB\-\-verbose\fR 解释正在做什么。 .TP \fB\-\-version\fR 显示版本信息,然后退出。 .SS "输出格式选择 (默认产生 Info):" .TP \fB\-\-docbook\fR 输出 DocBook XML 而不是 Info。 .TP \fB\-\-html\fR 输出 HTML 而不是 Info。 .TP \fB\-\-xml\fR 输出 Texinfo XML 而不是 Info。 .SS "通用输出选项:" .TP \fB\-E\fR, \fB\-\-macro\-expand\fR FILE 输出扩展了宏的源文件,保存到 FILE。忽略任何 @setfilename。 .TP \fB\-\-no\-headers\fR 从 Info 输出中去除节点分隔符,Node:lines 和菜单 (以产生普通文本),或者从 HTML 输出中去除它们 (以产生短一些的文本);同时,默认输出到标准输出。 .TP \fB\-\-no\-split\fR 阻止拆分 Info 或 HTML 输出,只产生单一的输出文件。 .TP \fB\-\-number\-sections\fR 输出章节和段落号。 .TP \fB\-o\fR, \fB\-\-output\fR=\fIFILE\fR 输出到文件 FILE (如果拆分 HTML 的话,就表示目录 FILE)。 .SS "用于 Info 和普通文本的选项:" .TP \fB\-\-enable\-encoding\fR 根据 @documentencoding,在 Info 输出中输出着重符号和特殊字符。 .TP \fB\-\-fill\-column\fR=\fINUM\fR 输出 NUM 个字符之后分行。默认是 72。 .TP \fB\-\-footnote\-style\fR=\fISTYLE\fR 根据 STYLE,在 Info 中输出脚注: `separate' 将把它们放在它们自己的节点中; `end' 将把它们放在定义它们的节点 .IP 的末尾。 .TP \fB\-\-paragraph\-indent\fR=\fIVAL\fR 缩进 Info 段落 VAL 个空格,默认是 3。如果 VAL 是 `none',不进行缩进;如果 VAL 是 `asis',将维持已有的缩进。 .TP \fB\-\-split\-size\fR=\fINUM\fR 输出 NUM 个字符后拆分新的文件。默认是 300000。 .SS "用于 HTML 的选项:" .TP \fB\-\-css\-include\fR=\fIFILE\fR 在输出的 HTML