diff options
author | Hiroyuki Hanai <hanai@FreeBSD.org> | 1998-02-25 04:54:20 +0000 |
---|---|---|
committer | Hiroyuki Hanai <hanai@FreeBSD.org> | 1998-02-25 04:54:20 +0000 |
commit | 8384f4bcfce51214ce5b2fa99a60d7db4e02363f (patch) | |
tree | 9a912a1c634d7df0309fe385710d13ec918f04cd /ja_JP.eucJP/man | |
parent | ab973c72d17604d5e87846977f5228b5a042e631 (diff) | |
download | doc-8384f4bcfce51214ce5b2fa99a60d7db4e02363f.tar.gz doc-8384f4bcfce51214ce5b2fa99a60d7db4e02363f.zip |
Import Japanese Online Manuals.
The Japanese Manual team(man-jp@jp.FreeBSD.ORG) has translated
and keeps maintaining them.
Submitted by: Kazuo Horikawa <horikawa@isrd.hitachi.co.jp>
Notes
Notes:
svn path=/head/; revision=2476
Diffstat (limited to 'ja_JP.eucJP/man')
542 files changed, 133982 insertions, 0 deletions
diff --git a/ja_JP.eucJP/man/Makefile b/ja_JP.eucJP/man/Makefile new file mode 100644 index 0000000000..b7dd704612 --- /dev/null +++ b/ja_JP.eucJP/man/Makefile @@ -0,0 +1,8 @@ +BINDIR= /usr/share +SUBDIR= man1 man8 + +makedb: + LANG=ja_JP.EUC jmakewhatis ${DESTDIR}${BINDIR}/man/ja/ + +.include <bsd.subdir.mk> + diff --git a/ja_JP.eucJP/man/Makefile.inc b/ja_JP.eucJP/man/Makefile.inc new file mode 100644 index 0000000000..22a9673d12 --- /dev/null +++ b/ja_JP.eucJP/man/Makefile.inc @@ -0,0 +1,3 @@ +PREFIX= /usr/share +MANDIR= ${PREFIX}/man/ja/man +MROFF_CMD= /usr/local/bin/groff -Tnippon -man diff --git a/ja_JP.eucJP/man/man1/a2p.1 b/ja_JP.eucJP/man/man1/a2p.1 new file mode 100644 index 0000000000..47c2e7b869 --- /dev/null +++ b/ja_JP.eucJP/man/man1/a2p.1 @@ -0,0 +1,218 @@ +.rn '' }` +.\" jpman %Id: a2p.1,v 1.3 1997/07/22 14:10:51 konuma Stab % +''' %Header: /home/ncvs/src/gnu/usr.bin/perl/x2p/a2p.1,v 1.1.1.1 1994/09/10 06:27:55 gclarkii Exp % +''' +''' %Log: a2p.1,v % +''' Revision 1.1.1.1 1994/09/10 06:27:55 gclarkii +''' Initial import of Perl 4.046 bmaked +''' +''' +.\" Revision 1.1.1.1 1993/08/23 21:30:10 nate +.\" PERL! +.\" +''' Revision 4.0 91/03/20 01:57:11 lwall +''' 4.0 baseline. +''' +''' Revision 3.0 89/10/18 15:34:22 lwall +''' 3.0 baseline +''' +''' Revision 2.0.1.1 88/07/11 23:16:25 root +''' patch2: changes related to 1985 awk +''' +''' Revision 2.0 88/06/05 00:15:36 root +''' Baseline version 2.0. +''' +''' +.de Sh +.br +.ne 5 +.PP +\fB\\$1\fR +.PP +.. +.de Sp +.if t .sp .5v +.if n .sp +.. +.de Ip +.br +.ie \\n.$>=3 .ne \\$3 +.el .ne 3 +.IP "\\$1" \\$2 +.. +''' +''' Set up \*(-- to give an unbreakable dash; +''' string Tr holds user defined translation string. +''' Bell System Logo is used as a dummy character. +''' +.tr \(*W-|\(bv\*(Tr +.ie n \{\ +.ds -- \(*W- +.if (\n(.H=4u)&(1m=24u) .ds -- \(*W\h'-12u'\(*W\h'-12u'-\" diablo 10 pitch +.if (\n(.H=4u)&(1m=20u) .ds -- \(*W\h'-12u'\(*W\h'-8u'-\" diablo 12 pitch +.ds L" "" +.ds R" "" +.ds L' ' +.ds R' ' +'br\} +.el\{\ +.ds -- \(em\| +.tr \*(Tr +.ds L" `` +.ds R" '' +.ds L' ` +.ds R' ' +'br\} +.TH A2P 1 LOCAL +.SH 名称 +a2p - Awk から Perl へのトランスレータ +.SH 書式 +.B a2p [options] filename +.SH 解説 +.I a2p +はコマンドラインで指定された (あるいは標準入力からの) awk スクリプトを +とり、同等の働きをする +.I perl +スクリプトを標準出力に出力します。 +.Sh オプション +オプションには以下のものがあります: +.TP 5 +.B \-D<number> +デバッグフラグをセットします。 +.TP 5 +.B \-F<character> +awk スクリプトが常にこの -F スイッチ付きで実行されることを指定します。 +.TP 5 +.B \-n<fieldlist> +入力を分割して配列に格納する必要がない場合、 +入力フィールドの名前を指定します。 +例えば、パスワードファイルを処理する awk スクリプトを変換する場合、 +このように指定します: +.sp + a2p -7 -nlogin.password.uid.gid.gcos.shell.home +.sp +フィールド名の区切りには任意のデリミタが使用できます。 +.TP 5 +.B \-<number> +a2p は、入力が常に指定した数のフィールドから成っていることを仮定します。 +.Sh 考察 +a2p は人間と同じぐらいうまい変換はできませんが、 +大抵の場合はそこそこうまく処理します。 +場合によっては、 +生成された perl スクリプトを吟味し、少し手を加えたいと思うことも +あるでしょう。 +以下にいくつかの場合を、順不同で説明します。 +.PP +文字列を表す式のまわりに int() を付け、 +数値として解釈されるようにする awk イディオムが +あります (その引数は常に整数型なのですが)。 +これは一般に perl では不要ですが、 +a2p は引数が常に整数となるかどうか判断できないので、 +このイディオムはそのまま残します。 +ユーザはこれを取り除くことができます。 +.PP +perl では数値比較と文字列比較は区別されています。 +awk ではどちらにも同じ演算子が用いられ、 +実行時にどちらの比較を行うかが決定されます。 +この点で a2p は awk エミュレーションを完全には行おうとしません。 +その代わり、a2p はどちらの種類の比較を行おうとしているのか推測します。 +これはほとんどの場合正しいものですが、だまされることもあります。 +推測を行った部分には \*(L"#???\*(R" というコメントが付与されますので、 +それらの部分を調べ、中身をチェックすべきです。 +ユーザは、少なくとも一度は \-w スイッチ付きで perl を走らせるとよいでしょう。 +こうすると、eq を使うべきところで == を使っている場合に警告を受けます。 +.PP +存在しない配列要素でも、単にそれを参照しただけで存在するようになるか、 +という点で、perl は awk の動作をエミュレートしようとしません。 +何らかの理由で、このメカニズムに依存して後続の for...in のために +ヌルエントリを作成しようとする場合、 +perl ではヌルエントリは作成されません。 +.PP +a2p が、(Fld1, Fld2, Fld3...) のような、変数のリストへの代入を行う行を +分割する場合、 +上に述べた \-n オプションを用いて再度 a2p を走らせた方がいいかもしれません。 +これにより、スクリプト内のフィールドに名前を付けます。 +そうではなく、分割して配列に格納する場合、 +その分割はおそらくどこかでフィールド数を参照しているでしょう。 +.PP +awk の exit ステートメントは必ずしも exit せず、 +END ブロックがあればそこへ処理が移ります。 +ある条件下で END ブロックをバイパスするような細工を END ブロックに +仕掛けてある awk スクリプトは、 +END ブロック内の条件文を取り除き、perl スクリプトから直接 exit するように +修正することで簡単化できます。 +.PP +perl には 2 種類の配列、すなわち数値でインデクスされる配列と連想配列とが +あります。 +通常、awk の配列は連想配列に変換されますが、 +もしそのインデクスが常に数値であるとわかったら、 +配列添字の {...} を [...] に変更できます。 +連想配列に対する繰り返し処理は関数 keys() を用いて行われますが、 +数値配列に対してはそうではありません。 +問題となっている配列の繰り返し操作を行うあらゆるループ構造を +修正する必要があるかもしれません。 +.PP +awk は起動時、OFMT の値が %.6g であると仮定しています。 +perl でこれに相当する変数 $# は、初期値として %.20g を持っています。 +OFMT のデフォルト値を用いる場合は $# を明示的に設定して下さい。 +.PP +awk スクリプトでは、行の先頭付近で行分割 (split) 操作が暗黙的に +繰り返されます。 +場合によっては、全体レコードをテストする何らかの条件文より下に +これを移動させることができます。 +そうすることで無用な行分割処理を避けることができます。 +.PP +美的理由から配列の基底 $[ を元々の 1 から perl でのデフォルトである 0 に +変更したいこともあるでしょう。 +しかし、全ての配列添字式だけでなく、全ての substr() および index() 関数も +適合するように修正しなければならないことを忘れないで下さい。 +.PP +"# awk は馬鹿だからこうやって工夫してます" といった気の利いたコメントは、 +そのまま修正されずに渡されます。 +.PP +awk スクリプトはしばしばシェルスクリプトに埋め込まれ、 +awk の入出力がパイプで接続されます。 +こういったシェルスクリプトのラッパーも perl スクリプトに取り込める場合が +かなりあります。 +perl なら入出力パイプを開始でき、 +awk が自分ではできなかった他の処理も行うことができるからです。 +.PP +特殊変数 RSTART および RLENGTH を参照するスクリプトは、 +これらの変数を定義するパターン照合のスコープの中で参照されている限り、 +変数 $`, $&, $' を参照することで簡単化できる場合がかなりあります。 +.PP +生成された perl スクリプトには、 +getline および print に関する awk の意味規則に対処するための +サブルーチンが定義されている場合があります。 +a2p は通常、効率よりも正確さを選ぶからです。 +ほとんどの場合、ご丁寧に意味規則に対処してくれるサブルーチンを捨てて、 +もっと効率的なコードに書き換えることができます。 +.PP +効率を上げるために、 +サブルーチンで最後に実行される return ステートメントから +キーワード return を取り除くことができる場合があります。 +a2p は最も一般的な場合は見つけますが、 +稀にある埋め込まれたブロックを解析したりしません。 +.PP +ARGV[0] は $ARGV0 に変換されますが、ARGV[n] は $ARGV[$n] に変換されます。 +ARGV[0] を含めて繰り返し処理を行おうとするループは、 +うまくいきません。 +.SH 環境変数 +a2p は環境変数を参照しません。 +.SH 作者 +Larry Wall <lwall@jpl-devvax.Jpl.Nasa.Gov> +.SH 関連ファイル +.SH 関連項目 +perl perl コンパイラ/インタプリタ +.br +s2p sed から perl へのトランスレータ +.SH 診断 +.SH バグ +実行時にオペランドを調べることで、文字列演算か数値演算かの選択で awk の +エミュレーションを行うことは可能でしょうが、 +プログラムは肥大し、非効率的になるでしょう。 +なお、a2p の推測はほとんど常に正しく行われます。 +.PP +awk 文法ツリー用の領域は現在のところ静的に確保しており、 +不足する可能性があります。 +.rn }` '' diff --git a/ja_JP.eucJP/man/man1/addftinfo.1 b/ja_JP.eucJP/man/man1/addftinfo.1 new file mode 100644 index 0000000000..10fb7f17f4 --- /dev/null +++ b/ja_JP.eucJP/man/man1/addftinfo.1 @@ -0,0 +1,93 @@ +.ig \"-*- nroff -*- +Copyright (C) 1989-1995 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. +.. +.\" jpman %Id: addftinfo.1,v 1.2 1997/05/13 16:07:12 horikawa Stab % +.TH ADDFTINFO 1 "8 September 1996" "Groff Version 1.10" +.SH 名称 +addftinfo \- troff 用のフォントファイルに groff で用いるための情報を付加する +.SH 書式 +.B addftinfo +[ +.BI \- param\ value\fR.\|.\|. +] +.I res +.I unitwidth +.I font +.SH 解説 +.B addftinfo +は troff フォントファイルを読み、groff +システムで用いられるフォントメトリック情報を付加します。情報が付加されたフォントファイル +は標準出力に書き出されます。 +追加される情報は、フォント自体のパラメトリックな情報と、伝統的な troff +の文字名のつけかたに関する仮定から推定されます。 +この情報は、主に文字の高さや深さです。引数の +.I res +と +.I unitwidth +は DESC ファイルの対応するパラメータと一致するべきです; +.I font +はフォントの名前です。 +.I font +が +.B I +で終わる場合はイタリック体であると仮定されます。 +.SH オプション +各オプションは、高さや深さなどを得るために用いられるパラメータのうちの 1 つを +変更します。フォントファイル内の現行の数量のように、各 +.I value +はポイントの大きさが +.I unitwidth +であるフォントについて +.I res +あたりのインチ数で表現します。 +.I param +には、以下のなかから 1 つを選びます: +.TP +.B x-height +x などのような、背の低い小文字の高さ。 +.TP +.B fig-height +図の高さ ( 十進の数値 ) +.TP +.B asc-height +b, d, l などのような、背の高い文字の高さ。 +.TP +.B body-height +括弧などの文字の高さ。 +.TP +.B cap-height +A のような大文字の高さ。 +.TP +.B comma-depth +``,'' の深さ。 +.TP +.B desc-depth +p, q, y などのような、ベースラインよりも下に出た文字の深さ。 +.TP +.B body-depth +括弧などの文字の深さ。 +.LP +.B addftinfo +は、指定しなかったパラメータの値を推測するために、指定してある +パラメータの値を用いることはしません。パラメータが指定されない場合は +デフォルトの値が用いられます。デフォルトの値は、 +Times フォントの手頃な値を選びます。 +.SH 関連項目 +.BR groff_font (5), +.BR groff (1), +.BR groff_char (7) diff --git a/ja_JP.eucJP/man/man1/apply.1 b/ja_JP.eucJP/man/man1/apply.1 new file mode 100644 index 0000000000..b3bacd0959 --- /dev/null +++ b/ja_JP.eucJP/man/man1/apply.1 @@ -0,0 +1,136 @@ +.\" Copyright (c) 1983, 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. +.\" +.\" @(#)apply.1 8.2 (Berkeley) 4/4/94 +.\" jpman %Id: apply.1,v 1.2 1997/03/26 12:22:42 horikawa Stab % +.\" +.Dd April 4, 1994 +.Dt APPLY 1 +.Os BSD 4.2 +.Sh 名称 +.Nm apply +.Nd 引数の集合にコマンドを適用する +.Sh 書式 +.Nm apply +.Op Fl a Ns Ar c +.Op Fl Ns Ar # +.Ar command argument ... +.Sh 解説 +.Nm apply +は、 +指定されたコマンド +.Ar command +に、各引数 +.Ar argument +を順番に与えて実行します。 +.Pp +.Ar command +内に +.Dq Li \&%d +の形をした文字列があった場合には (ここで +.Dq Li d +は 1 から 9 までの数字)、これらは未使用の引数 +.Ar argument +のうちの +.Li d +番目のものと置き換えられます。 +このとき +.Ar command +の実行ごとに最大の +.Dq Li d +の数だけ引数は捨てられます。 +.Pp +オプションは以下のものがあります: +.Bl -tag -width "-ac" +.It Fl Ns Ar # +通常は引数は一つしか渡されません。オプション +.Fl # +で +.Ar command +に渡される引数の個数を指定できます。 +この数値が 0 のときは、引数なしで +.Ar command +が引数 +.Ar argument +につき 1 回、実行されます。 +.Pp +もしコマンド内に +.Dq Li \&%d +があった場合、 +.Fl # +オプションは無視されます。 +.It Fl a Ns Ar c +デフォルトではマジックキャラクタとして +.Dq Li % +を使っていますが、これは +.Fl a +オプションで変更ができます。 +.El +.Sh 環境変数 +以下の環境変数が +.Nm apply +の実行に影響します: +.Bl -tag -width SHELL +.It Ev SHELL +利用する shell のパス名です。 +この変数が定義されていない場合は Bourne shell が使われます。 +.El +.Sh 使用例 +.Bl -tag -width apply -compact +.It Li "apply echo a*" +ls(1) に似た出力になります。 +.It Li "apply \-2 cmp a1 b1 a2 b2 a3 b3" +`a' のファイルと `b' のファイルを比較します。 +.It Li "apply \-0 who 1 2 3 4 5" +who(1) を 5 回実行します。 +.It Li "apply \'ln %1 /usr/joe\'" * +カレントディレクトリ内の全てのファイルをディレクトリ +.Pa /usr/joe +にリンクします。 +.El +.Sh 関連ファイル +.Bl -tag -width /bin/sh -compact +.It Pa /bin/sh +デフォルトの shell です。 +.El +.Sh 作者 +Rob Pike +.Sh バグ +.Ar command +内に shell のメタキャラクタを使用すると、異常な動作をするかもしれません。 +複雑なコマンドはシングルクォート +.Pq Sq +で括るのがベストです。 +.Sh 歴史 +.Nm +コマンドは +.Bx 4.2 +から登場しました。 diff --git a/ja_JP.eucJP/man/man1/apropos.1 b/ja_JP.eucJP/man/man1/apropos.1 new file mode 100644 index 0000000000..f851bb6c12 --- /dev/null +++ b/ja_JP.eucJP/man/man1/apropos.1 @@ -0,0 +1,39 @@ +.\" Man page for apropos an wahtis +.\" +.\" Copyright (c) 1990, 1991, John W. Eaton. +.\" +.\" You may distribute under the terms of the GNU General Public +.\" License as specified in the README file that comes with the man 1.0 +.\" distribution. +.\" +.\" John W. Eaton +.\" jwe@che.utexas.edu +.\" Department of Chemical Engineering +.\" The University of Texas at Austin +.\" Austin, Texas 78712 +.\" +.\" jpman %Id: apropos.1,v 1.3 1997/06/14 16:18:57 kubo Stab % +.Dd Jan 15, 1991 +.Dt APROPOS 1 +.Os +.Sh 名称 +.Nm apropos , whatis +.Nd whatis データベースを文字列で探索検索する +.Sh 書式 +.Nm apropos +.Ar keyword ... +.br +.Nm whatis +.Ar keyword ... +.Sh 解説 +.Nm apropos +は、システムコマンドに関する短い簡単な説明を含んだデータベースファイルを、 +キーワードによって探索して、その結果を標準出力に表示します。 +.Nm whatis +では完全な語にのみ適合します。 +.Sh 戻り値 +.Nm apropos +は成功時には 0 を、キーワードがマッチしない場合には 1 を返します。 +.Sh 関連項目 +.Xr man 1 , +.Xr makewhatis 1 diff --git a/ja_JP.eucJP/man/man1/ar.1 b/ja_JP.eucJP/man/man1/ar.1 new file mode 100644 index 0000000000..8286323404 --- /dev/null +++ b/ja_JP.eucJP/man/man1/ar.1 @@ -0,0 +1,314 @@ +.\" Copyright (c) 1990, 1993 +.\" The Regents of the University of California. All rights reserved. +.\" +.\" This code is derived from software contributed to Berkeley by +.\" Hugh Smith at The University of Guelph. +.\" +.\" 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. +.\" +.\" @(#)ar.1 8.1 (Berkeley) 6/29/93 +.\" %Id: ar.1,v 1.2.2.1 1997/06/24 06:35:04 charnier Exp % +.\" jpman %Id: ar.1,v 1.2 1997/03/29 02:06:03 horikawa Stab % +.\" +.Dd June 29, 1993 +.Dt AR 1 +.Sh 名称 +.Nm ar +.Nd ライブラリアーカイブの作成およびメンテナンス +.Sh 書式 +.Nm ar +.Fl d +.Op Fl \Tv +.Ar archive file ... +.Nm ar +.Fl m +.Op Fl \Tv +.Ar archive file ... +.Nm ar +.Fl m +.Op Fl abiTv +.Ar position archive file ... +.Nm ar +.Fl p +.Op Fl \Tv +.Ar archive [file ...] +.Nm ar +.Fl q +.Op Fl cTv +.Ar archive file ... +.Nm ar +.Fl r +.Op Fl cuTv +.Ar archive file ... +.Nm ar +.Fl r +.Op Fl abciuTv +.Ar position archive file ... +.Nm ar +.Fl t +.Op Fl \Tv +.Ar archive [file ...] +.Nm ar +.Fl x +.Op Fl ouTv +.Ar archive [file ...] +.Sh 解説 +The +.Nm ar +ユーティリティは、ファイルの集まりであるアーカイブファイルの作成、およ +びそのアーカイブの整備を行ないます。いったんアーカイブを作成した +後は、新しいファイルの追加、存在しているファイルの展開、削除、置き換えな +ども行なうことが可能です。 +.Pp +ファイルはアーカイブ内では、一つの要素で名づけられます。 +つまり、スラッシュ(``/'')を含むパスで参照されたファイルは +そのパスの最後の要素によって名づけられるのです。 +コマンドラインに並べられたパスをアーカイブ内のファイル名と一致させる +ときには、パスの最後の要素のみが比較されます。 +.Pp +すべての情報およびエラーメッセージは、コマンドラインにパスが +指定されていれば、それを利用します。指定されていなければ、 +アーカイブ内の名前を利用します。もし、アーカイブ内で複数のファイルが +同じ名前で存在しており、ある操作を行うためにアーカイブ +ファイルを``選択''するようコマンドラインにパスを並べた場合は、 +.Em 最初に +名前の一致したファイルのみが選択されます。 +.Pp +.Nm ar +の通常の利用方法は、ローダ( +.Xr ld 1 +を参照してください)に適したライブラリの作成および整備です。しかし、 +この目的に限定されているのではありません。 +オプションは以下の通りです: +.Bl -tag -width indent +.It Fl a +.Fl r +や +.Fl m +と共に用いられ、格納位置を修正します。 +ファイルはアーカイブ内の要素である +.Ar position +の +.Em 後ろに +格納もしくは移動されます。 +.Ar position +を指定する必要があります。 +.It Fl b +.Fl r +や +.Fl m +と共に用いられ、格納位置を修正します。 +ファイルはアーカイブ内の要素である +.Ar position +の +.Em 前に +格納もしくは移動されます。 +.Ar position +を指定する必要があります。 +.It Fl c +通常、アーカイブが作成されるときは、その動作状況についての +情報が、標準エラー出力に出力されます。 +.Fl c +オプションが指定されると、 +.Nm ar +はこの出力を行わなくなります。 +.It Fl d +指定されたアーカイブファイルを削除します。 +.It Fl i +.Fl b +オプションと同じです。 +.It Fl m +指定されたアーカイブファイルをアーカイブ内に移動します。 +.Fl a , +.Fl b , +.Fl i +のオプションの一つが指定された場合は、ファイルは +アーカイブ内のファイルである +.I position +の前後に移動されます。これらのオプションが指定されなかった場合には、 +ファイルはアーカイブの最後に移動されます。 +.It Fl o +展開されたファイルのアクセス時刻および修正時刻を、アーカイブに +格納された時点での修正時刻に合わせます。この操作は、ユーザが +そのファイルの所有者でもスーパユーザでもない場合には失敗します。 +.It Fl p +指定されたアーカイブファイルの内容を標準出力に出力します。 +ファイルが指定されなかった場合には、アーカイブ内のすべての +ファイルの内容が、アーカイブ内にある順番どおりに出力されます。 +.It Fl q +指定されたファイルをアーカイブにすばやく追加します。アーカイブが +存在しない場合には、新たなアーカイブファイルが作成されます。 +ファイルがアーカイブ内のファイルと重複していないかどうかを +調べないため、大きなアーカイブをすこしづつ作っている場合には +.Fl r +オプションより非常に高速です。 +.It Fl r +指定されたファイルをアーカイブに追加、もしくは置換します。 +アーカイブが存在しない場合には、新たなアーカイブファイルが +作成されます。すでにあるファイルを置換する場合にも、 +アーカイブ内の順序は変化しません。 +.Fl a , +.Fl b , +.Fl i +のいずれかの +オプションが指定されない限り、追加されるファイルは最後尾に +追加されます。 +.It Fl T +アーカイブメンバを選択するとき、およびアーカイブメンバに +名前をつけるとき、アーカイブメンバ名やコマンドラインファイル名の +最初の15文字だけを利用するようにします。古いアーカイブ形式は +名前として16バイトの領域がありましたが、古いアーカイバや +ローダの中には、その領域すべてを使うような名前を扱えない実装の +ものもあったのです。これは、最初の15文字が等しいファイル名は +後で混同されるかもしれない、ということを意味しています。 +もし、いずれかのファイル名が切り捨てられた場合には、標準エラー +出力に警告メッセージが出力されます。(さらに情報を得るには、 +.Xr ar 5 +を参照してください。) +.It Fl t +指定されたファイル名を、アーカイブ内に格納されている順で、 +1行に1つずつ出力します。もしファイル名が指定されなかった場合には、 +アーカイブ内のすべてのファイル名が出力されます。 +.It Fl u +ファイルを更新します。 +.Fl r +オプションと共に指定された場合には、 +アーカイブ内のファイルの修正時刻よりもディスクのファイルの +修正時刻のほうが新しい場合のみ、アーカイブファイルが +置き換えられます。 +.Fl x +オプションと共に指定された場合には、 +ディスクのファイルの修正時刻よりもアーカイブ内のファイルの +修正時刻の方が新しい場合のみ、アーカイブファイルが展開されます。 +.It Fl v +動作状況を詳しく出力します。 +.Fl d , +.Fl m , +.Fl q , +.Xl x +オプションと共に +指定された場合には、 +.Nm ar +はアーカイブの変更について、ファイル +ごとに報告します。この情報は、空白で区切られた3つの +フィールド、すなわちオプション名、ダッシュ(``-'') 、 +ファイル名から構成されています。 +.Fl r +オプションと共に使われた +場合には、 +.Nm ar +は上と同様の出力を行いますが、最初の文字は +ファイルがアーカイブに追加された場合は ``a''、アーカイブ内に +既にあるファイルを置き換えた場合には ``r'' となります。 +.Pp +.Fl p +オプションと共に指定された場合には、 +表示されるファイルそれぞれについて、 +改行 1 つ、 +``<'' と ``>'' に括られたファイルの名前、 +改行 2 つ、 +ファイルの内容の順で出力されます。 +.Pp +.Fl t +オプションと共に指定された場合には、 +.Nm ar +は ``ls -l'' の形式で +アーカイブのメンバについての情報を出力します。この情報は、 +空白で区切られた8つのフィールド、すなわち、ファイルの +パーミッション( +.Xr strmode 3 +を参照してください)、一つの +スラッシュ(``/'')で区切られた、10進数表現のユーザIDと +グループID、ファイルの大きさ(バイト単位)、ファイルの +修正時刻( +.Xr date 1 +の``%b %e %H:%M %Y''形式)、ファイル名 +から構成されています。 +.It Fl x +指定されたアーカイブのメンバを、コマンドライン引数で +指定されたファイルに展開します。メンバが指定されなかった +場合には、アーカイブ内のすべてのメンバが現在のディレクトリに +展開されます。 +.Pp +ファイルが存在しなかった場合には、作成されます。存在していた +場合には、所有者およびグループは変更されません。ファイルの +アクセス時刻および修正時刻は、( +.Fl o +オプションの指定がない限り) +展開を行った時刻となります。ファイルのパーミッションは、 +アーカイブ内に格納された時点のものに設定されます。この操作は、 +ユーザがそのファイルの所有者でもスーパユーザでもない場合には +失敗します。 +.El +.Pp +.Nm ar +ユーティリティは、成功の場合には0、エラーが起きた +場合には0より大きい値を返します。 +.Sh 環境変数 +.Bl -tag -width indent -compact +.It Ev TMPDIR +テンポラリファイルを作成する時に使用されるディレクトリのパス名 +.El +.Sh 関連ファイル +.Bl -tag -width indent -compact +.It Pa /tmp +デフォルトのテンポラリディレクトリ +.It Pa ar.XXXXXX +テンポラリファイル名 +.El +.Sh 互換性 +デフォルトでは、 +.Nm ar +は古いアーカイブと互換性のないアーカイブを +作成するかもしれません。というのも、15文字よりも長いファイル名を +持ったアーカイブメンバの格納に用いるファイル形式が変更されたためです。 +現在の +.Nm ar +の実装では、( +.Fl T +オプションを用いることによって)古い +アーカイブ形式の読み書きができるように、以前の +.Nm ar +との下位互換性が +あります。 +.Fl T +オプションは互換性のためだけに用意されており、 +将来のリリースでは削除されるかもしれません。さらに情報を得るには、 +.Xr ar 5 +を見てください。 +.Sh 規格 +.Nm ar +ユーティリティは +.St -p1003.2 +の機能のスーパセットを提供しているはずです。 +.Sh 関連項目 +.Xr ld 1 , +.Xr ranlib 1 , +.Xr strmode 3 , +.Xr ar 5 diff --git a/ja_JP.eucJP/man/man1/as.1 b/ja_JP.eucJP/man/man1/as.1 new file mode 100644 index 0000000000..3844608f9a --- /dev/null +++ b/ja_JP.eucJP/man/man1/as.1 @@ -0,0 +1,290 @@ +.\" Copyright (c) 1991, 1992 Free Software Foundation +.\" See section COPYING for conditions for redistribution +.TH as 1 "21 January 1992" "cygnus support" "GNU Development Tools" +.\" jpman %Id: as.1,v 1.3 1997/10/11 07:37:12 horikawa Stab % + +.SH 名称 +GNU as \- ポータブル GNU アセンブラ + +.SH 書式 +.na +.B as +.RB "[\|" \-a "\||\|" \-al "\||\|" -as\c +\&\|] +.RB "[\|" \-D "\|]" +.RB "[\|" \-f "\|]" +.RB "[\|" \-I +.I path\c +\&\|] +.RB "[\|" \-k "\|]" +.RB "[\|" \-K "\|]" +.RB "[\|" \-L "\|]" +.RB "[\|" \-o +.I objfile\c +\&\|] +.RB "[\|" \-R "\|]" +.RB "[\|" \-v "\|]" +.RB "[\|" \-w "\|]" +.RB "[\|" \-\^\- "\ |\ " \c +.I files\c +\&\|.\|.\|.\|] + +.I i960 だけにあるオプション: +.br +.RB "[\|" \-ACA "\||\|" \-ACA_A "\||\|" \-ACB\c +.RB "\||\|" \-ACC "\||\|" \-AKA "\||\|" \-AKB\c +.RB "\||\|" \-AKC "\||\|" \-AMC "\|]" +.RB "[\|" \-b "\|]" +.RB "[\|" \-norelax "\|]" + +.I m680x0 だけにあるオプション: +.br +.RB "[\|" \-l "\|]" +.RB "[\|" \-mc68000 "\||\|" \-mc68010 "\||\|" \-mc68020 "\|]" +.ad b + +.SH 解説 +GNU \c +.B as\c +\& とは、実は一連のアセンブラのことです。 +もしあるアーキテクチャで GNU アセンブラを使う (もしくは、使った +ことがある) ならば、他のアーキテクチャで使う時もかなり似た環境となり +ます。それぞれのバージョンは他のバージョンと共通の部分が多くあります。 +例えば、オブジェクトファイルフォーマットや +ほとんどのアセンブラディレクティブ ( +\c +.I 疑似命令(pseudo-ops) +とも呼ばれます)\c +\& 、アセンブラシンタクスなどです。 + +GNU \c +.B as\c +のシンタクスや疑似命令(pseudo-ops)に関する情報については、 +.B info \c +(もしくは、マニュアル \c +.I +.I +Using as: The GNU Assembler\c +\&) +の +\& `\|\c +.B as\c +\|' の項を参照してください。 + +\c +.B as\c +\& が作られた第一の目的は、GNU C コンパイラ \c +.B gcc\c +\& の出力をリンカ +.B ld\c +\& で使用できるようアセンブルすることです。 +確かに、 +.B as\c +\& が、 +ネイティブアセンブラがアセンブルできるものはすべて +正しくアセンブルできるようにしようとしてきました。 +このことは、\c +.B as\c +\& の用いるシンタクスが、 +同一アーキテクチャの他のアセンブラと同じである、 +ということを意味するものではありません。 +たとえば、680x0 のアセンブラ言語 +のシンタクスには互換性のないバージョンが存在することが知られてい +ます。 + +.B as\c +\& の起動 1 回ごとに、ちょうどひとつのソースプログラムだけをアセンブルします。 +ソースプログラムはひとつ以上のファイルから構成されます。 +(標準入力もファイルひとつとみなします。) + +もし \c +.B as\c +\& にファイル名が指定されなければ、ひとつの入力ファイルが \c +.B as\c +\& の標準入力 (ふつうは端末) から読み出されます。\c +.B ctl-D\c +\& をタイプすることで、これ以上アセンブルするプログラムが存在しないこと +を \c +.B as\c +\& に通知します。 +コマンドライン上で明示的に標準入力を指定する必要のある時は、`\|\c +.B \-\^\-\c +\|' を使ってください。 + +.B as\c +\& は、警告およびエラーメッセージを標準エラー出力 (通常は端末) +へ出力します。\c +.B as\c +\& が +コンパイラによって自動起動された場合は、この限りではありません。 +警告とは、欠陥のあるプログラムのアセンブルを続行するために \c +.B as\c +\& が仮定した内容を報告したものです。 +エラーは、アセンブルを続行できない重大な問題を表します。 + +.SH オプション +.TP +.BR \-a \||\| \-al \||\| \-as +アセンブル時のリスト出力を行ないます。`\|\c +.B \-al\c +\&\|'はリスト出力のみ、`\|\c +.B \-as\c +\&\|'はシンボル出力のみ、 +`\|\c +.B \-a\c +\&\|'は両方の出力を行ないます。 +.TP +.B \-D +このオプションは、他のアセンブラ呼び出しとの互換のために用意され +たものであり、 \c +.B as\c +\& では何の効果もありません。 +.TP +.B \-f +``高速 (fast)''オプションです--プリプロセシングを行ないません (ソースはコンパ +イラの出力したものとみなします)。 +.TP +.BI "\-I\ " path +.I path +を +.B .include +ディレクティブの検索リストに追加します。 +.TP +.B \-k +gcc -fpic によって作成された、位置独立なコードを処理します。 +.TP +.B \-k +gcc -fPIC によって作成された、位置独立なコードを処理します。 +ふつうは -k オプションと同じことです。 +.TP +.B \-L +`\|\c +.B L\c +\|' から始まるローカルシンボルを (シンボルテーブル内に) 保持します。 +.TP +.BI "\-o\ " objfile +.B as +が出力するオブジェクトファイル名を指定します。 +.TP +.B \-R +データセクションをテキストセクション内に押し込みます。 +.TP +.B \-v +.B as\c +\& のバージョンを表示します。 +.TP +.B \-W +警告メッセージの出力を抑制します。 +.TP +.IR "\-\^\-" "\ |\ " "files\|.\|.\|." +アセンブル対象のソースファイルまたは標準入力 (\c +.BR "\-\^\-" ")\c" +を指定します。 +.TP +.BI \-A var +.I +(Intel 960 用。) +960 アーキテクチャのどのプロセッサがターゲットかを指定します。 +.TP +.B \-b +.I +(Intel 960 用) +条件分岐の統計情報を収集するコードを追加します。 +.TP +.B \-norelax +.I +(Intel 960 用。) +ロングディスプレースメントの「比較-分岐」という命令列に対して +変更を加えません。 +場合によってはエラーが発生します。 +.TP +.B \-l +.I +(Motorola 68000 用)。 +.br +2 ワードではなく、1 ワードの短い参照を未定義シンボルに適用します。 +.TP +.BR "\-mc68000" "\||\|" "\-mc68010" "\||\|" "\-mc68020" +.I +(Motorola 68000用)。 +.br +68000 ファミリのどのプロセッサがターゲットかを指定します +(デフォルトは 68020)。 + +.PP +オプションの記述順は自由であり、ファイル名の前や後、ファイル名の +間にも記述することができます。ファイル名の記述順は重要な意味を持ちます。 + +`\|\c +.B \-\^\-\c +\|' (2つのハイフン) をファイル名に指定することで、\c +.B as\c +\& がアセンブルするファイルのひとつとして標準入力を明示的に指定 +できます。 + +ハイフン +(`\|\c +.B \-\c +\|') から始まるコマンドライン引数は、 +`\|\c +.B \-\^\-\c +\|' を除き、すべてオプションです。それぞ +れのオプションは、\c +.B as\c +\&の振舞いを変更します。あるオプションが他のオプションの動作を変え +ることはありません。 +オプションは `\|\c +.B \-\c +\|' に続けてひとつ以上の文字を書いて指定します; 英文字の大文字 +小文字の区別は重要です。すべてのオプションは省略可能です。 + +`\|\c +.B \-o\c +\|' オプションの後には、ファイル名をひとつだけ指定します。ファイル名 +は、オプション文字の直後に記述する (古いアセンブラとの互換) 形式、または +次のコマンド引数 (GNU 標準) として記述する形式の +いずれでも指定することができます。 + +つまり次の2つのコマンドラインは等価です: +.br +.B +as\ \ \-o\ \ my\-object\-file.o\ \ mumble.s +.br +.B +as\ \ \-omy\-object\-file.o\ \ mumble.s + +.SH "関連項目" +.B +info\c +内の +.RB "`\|" as "\|'" +の項 +.B +\&; +.I +Using as: The GNU Assembler\c +\&; +.BR gcc "(" 1 ")," +.BR ld "(" 1 ")." + +.SH "歴史" +.I as +は、AT&T UNIX のバージョン1で初めて現れました。 + +.SH COPYING +Copyright (c) 1991, 1992 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. diff --git a/ja_JP.eucJP/man/man1/at.1 b/ja_JP.eucJP/man/man1/at.1 new file mode 100644 index 0000000000..c88338bf3f --- /dev/null +++ b/ja_JP.eucJP/man/man1/at.1 @@ -0,0 +1,262 @@ +.\" %Id: at.man,v 1.4 1995/10/05 06:18:48 joerg Exp % +.\" jpman %Id: at.1,v 1.3 1997/08/05 18:36:01 george Stab % +.Dd April 12, 1995 +.Dt "AT" 1 +.Os "FreeBSD 2.1" +.Sh 名称 +.Nm at, batch, atq, atrm +.Nd あとでジョブを実行させるためのキューの設定、確認、ジョブの削除をおこなう +.Sh 書式 +.Nm at +.Op Fl V +.Op Fl q Ar queue +.Op Fl f Ar file +.Op Fl mldbv +.Ar time +.Pp +.Nm at +.Op Fl V +.Fl c Ar job Op Ar job ... +.Pp +.Nm atq +.Op Fl V +.Op Fl q Ar queue +.Op Fl v +.Pp +.Nm atrm +.Op Fl V +.Ar job +.Op Ar job ... +.Pp +.Nm batch +.Op Fl V +.Op Fl q Ar queue +.Op Fl f Ar file +.Op Fl mv +.Op Ar time +.Sh 解説 +.Nm at +と +.Nm batch +ユーティリティは、標準入力もしくは指定したファイルからコマンドを読み +込み、あとで +.Xr sh 1 +を使って実行します。 +.Pp +コマンドの各機能を以下に示します: +.Bl -tag -width indent +.It Nm at +コマンドを、引数で指定した時間に実行します。 +.It Nm atq +ユーザの、実行待ち状態のジョブのリストを表示します。 +スーパーユーザが実行した場合は全員のジョブが表示されます。 +.It Nm atrm +指定したジョブを削除します。 +.It Nm batch +ロードアベレージが特定の値以下になったときにジョブを実行 +します。この値は、デフォルトでは 1.5 です。 +この値は +.Nm atrun +によって指定可能です。 +.El +.Pp +.Nm at +では、様々な形式の時間を +.Ar time +として受け付けます。 +時刻は +.Ar HHMM +もしくは +.Ar HH:MM +の形で指定します +(もしこの時刻が過ぎていた場合は、次の日のその時刻に設定されます)。また、 +.Nm midnight , +.Nm noon , +.Nm teatime +(4pm) も受け付けますし、時刻の後ろに +.Nm am +もしくは +.Nm pm +をつけた時間も受け付けます。日付は、 +.Ar \%month-name day +およびオプションの +.Ar year +の形で受け付けます。 +.Ar MMDDYY +、 +.Ar MM/DD/YY +、 +.Ar DD.MM.YY +も受け付けます。 +日付の指定は時刻の指定の後に記述します。 +.Op Nm now +.Nm + Ar count \%time-units +のような形式で時間を指定することも可能です。time-units は時間の単位で、 +.Nm minutes , +.Nm hours , +.Nm days , +.Nm weeks +のいずれかです。時間のサフィックスの +.Nm today +はジョブを今日に設定すること、 +.Nm tommorow +はジョブを明日に設定することを意味します。 +たとえば、今から 3 日後の午後 4 時にジョブを走らせるためには +.Nm 4PM + 3 days +と指定します。7 月 31 日の午前 10 時の場合は +.Nm 10am Jul 31 +と指定します。明日の午前 1 時は +.Nm 1am tomorrow +です。 +.Pp +.Nm at +と +.Nm batch +では、標準入力または +.Fl f +オプションで指定したファイルからコマンドを読み込み、実行します。 +ワーキングディレクトリと環境変数 ( +.Ev TERM , +.Ev TERMCAP , +.Ev DISPLAY +および +.Nm _ +は除く)、umask は実行時のものが保持されます。 +.Nm at +もしくは +.Nm batch +が +.Xr su 1 +で起動されたシェルから実行された場合は、カレントの userid を保持します。 +出力結果が得られた場合は、 +その標準出力と標準エラー出力がメールで送られます。メールは +.Xr sendmail 8 +を使って送られます。もし +.Nm at +が +.Xr su 1 +で起動されたシェルから実行された場合は、そのログインシェルのオーナが +メールを受けることになります。 +.Pp +スーパーユーザはどんな場合でもこれらのコマンドを実行できます。 +その他のユーザは +.Pa /var/at/at.allow +と +.Pa /var/at/at.deny +のファイルによって実行できるか決められます。 +.Pp +もし +.Pa /var/at/at.allow +が存在するならば、その中にユーザ名を記述されたユーザだけが +.Nm at +の実行を許可されます。 +.Pp +もし +.Pa /var/at/at.allow +が存在しなかったら、 +.Pa /var/at/at.deny +がチェックされ、その中にユーザ名が記述されていないすべてのユーザが +.Nm at +の実行を許可されます。 +.Pp +もし両方ともなければ、スーパーユーザだけが +.Nm at +を実行できます。 +これがデフォルトの設定です。 +.Pp +空の +.Pa /var/at/at.deny +は全てのユーザがこれらのコマンドを使用できることを意味します。 +.Sh オプション +オプションとしては以下のものがあります: +.Bl -tag -width indent +.It Fl V +標準エラー出力にバージョン番号を出力します。 +.It Fl q Ar queue +指定したキューを用います。キューの名称は単一の文字からなります。 +有効なキューの名前は +.Nm a +から +.Nm z +と +.Nm A +から +.Nm Z +です。 +.Nm at +のデフォルトのキューは +.Nm c +で、 +.Nm batch +のデフォルトのキューは +.Nm E +です。 +キューの文字が後の方であればあるほど nice 値が上がります。 +もし大文字のキューがジョブに対して指定されたならば、時間を指定して +batch が実行されたものとして扱われます。 +もし +.Nm atq +でキューが指定されたときは、そのキューだけの実行待ちのジョブを表示します。 +.It Fl m +出力がなかった場合でも、ジョブの完了時にメールをユーザに送ります。 +.It Fl f Ar file +標準入力のかわりにファイルからジョブを読み込みます。 +.It Fl l +.Nm atq +のエイリアス。 +.It Fl d +.Nm atrm +のエイリアス。 +.It Fl b +.Nm batch +のエイリアス。 +.It Fl v +atq の場合は、キューの中の実行されたがまだ削除されていないジョブを +表示します。さもなければジョブが実行される時間を表示します。 +.It Fl c +コマンドラインにリストされたジョブを標準出力に出力します。 +.Sh 関連ファイル +.Bl -tag -width /var/at/jobs/.lockfile -compact +.It Pa /var/at/jobs +ジョブファイルを保管しておくディレクトリ +.It Pa /var/at/spool +出力ファイルを保管しておくディレクトリ +.It Pa /var/run/utmp +ログインレコード +.It Pa /var/at/at.allow +許可属性の設定 +.It Pa /var/at/at.deny +不許可属性の設定 +.It Pa /var/at/jobs/.lockfile +ジョブ作成のロックファイル +.El +.Sh 関連項目 +.Xr cron 8 , +.Xr nice 1 , +.Xr umask 2 , +.Xr sh 1 , +.Xr sendmail 8 , +.Xr atrun 8 +.Sh バグ +.Pa /var/run/utmp +が利用できないか不正であった場合、もしくは +.Nm at +が実行された時にユーザがログインしていない場合、 +メールは環境変数 +.Nm LOGNAME +で表される userid に出されます。 +もし定義されていないか空ならばカレントの userid になります。 +.Pp +ユーザ同士でリソースの競合がある場合は現実装の +.Nm at +と +.Nm batch +は適当ではありません。 +もしあなたのサイトがこのような場合にあてはまるのなら、 +.Nm nqs +のようなバッチシステムを検討してください。 +.Sh 作者 +at のほとんどの部分は Thomas Koenig, ig25@rz.uni-karlsruhe.de +によって作成されました。 +時間の構文解析部分は David Parsons, orc@pell.chi.il.us +によって作成されました。 diff --git a/ja_JP.eucJP/man/man1/awk.1 b/ja_JP.eucJP/man/man1/awk.1 new file mode 100644 index 0000000000..704dd7b933 --- /dev/null +++ b/ja_JP.eucJP/man/man1/awk.1 @@ -0,0 +1,1938 @@ +.\" jpman %Id: awk.1,v 1.3 1997/04/17 13:23:21 horikawa Stab % +.ds PX \s-1POSIX\s+1 +.ds UX \s-1UNIX\s+1 +.ds AN \s-1ANSI\s+1 +.TH AWK 1 "Apr 18 1994" "Free Software Foundation" "Utility Commands" +.SH 名称 +awk \- GNU awk パターン検索・処理言語 +.SH 書式 +.B awk +[ POSIX or GNU style options ] +.B \-f +.I program-file +[ +.B \-\^\- +] file .\^.\^. +.br +.B awk +[ POSIX or GNU style options ] +[ +.B \-\^\- +] +.I program-text +file .\^.\^. +.SH 解説 +.I gawk +は GNU プロジェクトが実装した プログラミング言語 AWK の処理系です。 +本処理系は \*(PX 1003.2 コマンド言語とユーティリティ規約に定められた +言語の定義に適合しています。 +本バージョンはまた、Aho、Kernighan、Weinberger の著書『 +.I The AWK Programming Language +』の記述にもとづいており、 +System V Release 4 \*(UX の +.I awk +の付加機能も含んでいます。 +.I gawk +はまた、GNU 独自の拡張も提供します。 +.PP +コマンドラインは、 +.I awk +へのオプション、(もし +.B \-f +または +.B \-\^\-file +オプションにより指定されていなければ)AWK のプログラムテキスト、そして +残りの引数列からなります。 +この残りの引数列は、定義済み AWK 変数 +.BR ARGC , +.B ARGV +を用いることで参照できます。 +.SH オプション +.PP +.I gawk +へのオプションは、伝統的な \*(PX 形式の一文字オプションと、GNU 形式の +ロングオプションがあります。 +\*(PX 形式のオプションは単一の ``\-'' で始まり、一方 GNU 形式のもの +は ``\-\^\-'' で始まります。GNU 形式のロングオプションは GNU の独自仕様と +\*(PX の必須仕様の両方について用意されています。 +他の実装による AWK では、伝統的な一文字オプションのみを受け付けるものが +多いようです。 +.PP +\*(PX 標準に従い、 +.I awk +独自仕様のオプションは +.B \-W +オプションへの引数で与えます。 +複数の +.B \-W +オプションを指定することもできますし、 +複数の引数をコンマで区切って、もしくは引用符で括り空白で区切ることで +一度にまとめて +.B \-W +オプションに与えることもできます。 +.B \-W +オプションへの引数では、大文字小文字の区別は行なわれません。後述の +ように、各 +.B \-W +オプションには、それに対応する GNU 形式のロングオプション +が存在します。GNU 形式のロングオプションへの引数は、空白を入れずに +.B = +でつないで指定するか、その次のコマンドライン引数として渡すことができます。 +.PP +.I gawk +は以下のオプションを受け付けます。 +.TP +.PD 0 +.BI \-F " fs" +.TP +.PD +.BI \-\^\-field-separator= fs +入力フィールドセパレータ(変数 +.B FS +の値)を +.I fs +とします。 +.TP +.PD 0 +\fB\-v\fI var\fB\^=\^\fIval\fR +.TP +.PD +\fB\-\^\-assign=\fIvar\fB\^=\^\fIval\fR +プログラムを実行する前に、変数 +.I var +に値 +.I val +を設定します。このようにして設定 +した変数は、 AWK プログラムの +.B BEGIN +ブロック内でも参照できます。 +.TP +.PD 0 +.BI \-f " program-file" +.TP +.PD +.BI \-\^\-file= program-file +.B awk +への第一引数を用いるかわりに、AWK プログラムをファイル +.I program-file +から読み込みます。 +.B \-f +(または +.B \-\^\-file +) オプションは複数回使 +用することができます。 +.TP +.PD 0 +.BI \-mf= NNN +.TP +.BI \-mr= NNN +さまざまなメモリの制限値を +.I NNN +に設定します。フラグ +.B f +は最大フィールド数、フラグ +.B r +は最大レコードサイズを設定します。この2つのフラグと +.B \-m +オプションは、AT&T ベル研究所バージョンの \*(UX +.I awk +に由来しています。しかし、 +.I awk +にはこのような制限はありませんので、 +.I awk +では本オプションは無視されます。 +.TP \w'\fB\-\^\-copyright\fR'u+1n +.PD 0 +.B "\-W compat" +.TP +.PD +.B \-\^\-compat +.I 互換 +モードで動作します。互換モードでは、 +.I awk +は \*(UX +.I awk +と等価な動作を行い、GNU 独自拡張は解釈できません。 +詳しくは後述の +.B "GNU 拡張" +を参照してください。 +.TP +.PD 0 +.B "\-W copyleft" +.TP +.PD 0 +.B "\-W copyright" +.TP +.PD 0 +.B \-\^\-copyleft +.TP +.PD +.B \-\^\-copyright +GNU の著作権表示の短いバージョンを標準エラー出力へ書き出します。 +.TP +.PD 0 +.B "\-W help" +.TP +.PD 0 +.B "\-W usage" +.TP +.PD 0 +.B \-\^\-help +.TP +.PD +.B \-\^\-usage +短めのオプション一覧を標準エラー出力へ書き出します。GNU コーディング規約に +従い、本オプションを指定すると +.I awk +はただちに終了し、成功を意味する終了ステータスを返します。 +.TP +.PD 0 +.B "\-W lint" +.TP +.PD 0 +.B \-\^\-lint +他の AWK での処理が疑わしい、あるいは他の AWK との互換性がない構造が +ある場合に警告を行います。 +.ig +.\" This option is left undocumented, on purpose. +.TP +.PD 0 +.B "\-W nostalgia" +.TP +.PD +.B \-\^\-nostalgia +長い間 +.I awk +を使ってきたユーザのために郷愁の瞬間を提供します。 +.. +.TP +.PD 0 +.B "\-W posix" +.TP +.PD +.B \-\^\-posix +.I 互換 +モードをオンにし、更に以下の制約が課せられます。 +.RS +.TP \w'\(bu'u+1n +\(bu +.B \ex +エスケープシーケンスを解釈しません。 +.TP +\(bu +キーワード +.B function +に対応する別名 +.B func +を解釈しません。 +.TP +\(bu +演算子 +.B ^ +や +.B ^= +のかわりに +.B ** +や +.B **= +を用いることができません。 +.RE +.TP +.PD 0 +.BI "\-W source=" program-text +.TP +.PD +.BI \-\^\-source= program-text +.I program-text +を AWK プログラムとして用います。本オプションにより、ライブラリ化された関数( +.B \-f +または +.B \-\^\-file +オプションを用いて読み込む)とコマンドラインから入力されたプログラムを +簡単に合成することができます。 +これは、主にシェルスクリプトで用いられる中規模から大規模な AWK プログラム +のために用意されました。 +.sp .5 +.B "\-W source=" +形式においては、そのコマンドライン引数の残りの部分を +.I program-text +として解釈します。 +よって、同じ引数内でこれ以上 +.B \-W +のオプション引数を続けることはできません。 +.TP +.PD 0 +.B "\-W version" +.TP +.PD +.B \-\^\-version +実行された +.I awk +プログラムのバージョン情報を標準エラー出力へ書き出します。これは主に、 +あなたが使用している +.I awk +プログラムが Free Software Foundation が配布してい +るプログラムのうち、最新のものであるかどうかを知る場合に便利です。本オ +プションを指定すると、GNU コーディング規約に従い、 +.I awk +はただちに終了し、成功を意味する終了ス +テータスを返します。 +.TP +.B \-\^\- +オプションの終了を意味します。AWK に ``\-'' から始まるオプションではない +引数を与える場合に便利です。 +これは主に、他の \*(PX プログラムの多くが引数に対して行 +う解釈と一貫性を保つためにあります。 +.PP +互換モードでは、他のオプションは不正であるとされるか、無視されます。通 +常の実行において、プログラムテキストがコマンドラインに指定されていれば、 +不明なオプションは、AWK プログラムに +.B ARGV +配列を通して渡されます。これ +は、AWK プログラムを ``#!'' 機構を用いて実行する場合に特に便利です。 +.SH AWK プログラムの実行 +.PP +AWK プログラムは、パターンとアクションの組の列と、(もし必要なら)関数定義か +らなります。 +.RS +.PP +\fIpattern\fB { \fIaction statements\fB }\fR +.br +\fBfunction \fIname\fB(\fIparameter list\fB) { \fIstatements\fB }\fR +.RE +.PP +.I gawk +はまず、 +.I program-file +(複数可)が指定されていればそれから、 +.B "\-W source=" +の引数から、あるいは、最初のオプションではない引数から +プログラムを読み込みます。 +.B \-f +と +.B "\-W source=" +オプションは、コマンドラインで複数回指定できます。 +.I gawk +は、すべての +.I program-file +とコマンドラインで指定したプログラムを結 +合して使用します。新しく作った AWK プログラム一つ一つに +AWK 関数のライブラリを埋め込む必要が無いので、この機能はライブラリの構築に +便利です。 +また、ライブラリ関数とコマンドラインで指定したプログラムとを混合して使 +うことも可能にしています。 +.PP +環境変数 +.B AWKPATH +により、 +.B \-f +オプションで指定されたファイルを検索するパスを指定できます。 +.B AWKPATH +が設定されていない場合のデフォルトパスは +\fB".:/usr/lib/awk:/usr/local/lib/awk"\fR です。 +.B \-f +オプションで指定したファイル名が ``/'' を含んでいる場合は、 +パス検索は行われません。 +.PP +.I awk +は、 AWK プログラムを以下の順序で実行します。 +.RS +.TP \w'4.'u+1n +1. +.B \-v +オプションで指定された変数への代入をすべて行う +.TP +2. +プログラムを内部形式にコンパイルする +.TP +3. +(もし存在すれば) +.B BEGIN +ブロック(複数存在可)を実行する +.TP +4. +配列 +.B ARGV +で指定されたファイルを順に読み、処理を行う(コマンドラインでファイル名が +指定されていなければ、標準入力に対して処理を行う)。 +.RE +.PP +コマンドラインで指定されたファイル名が +.IB var = val +という形式ならば、それ +は変数への代入であると解釈されます。変数 +.I var +は値 +.I val +に設定されます +(これは、すべての +.B BEGIN +ブロックを実行したあとに行われます)。コマンドライン +での変数の代入は、AWK が入力をフィールドやレコードに分割するためのセパレータ +を実行時に変更するのに便利です。また、1つのデータファイルに +対し数回処理を行う必要がある場合、状態をコントロールするのにも便利です。 +.PP +配列 +.B ARGV +の要素に空(\fB""\fR)がある場合、 +.I awk +はその要素を無視します。 +.PP +.I awk +は、入力された各行に対してマッチする +.I パターン +が AWK プログラム内にあるかどうかを +検索します。その行にマッチしたパターンすべてについて、それぞれ対応する +.I アクション +が実行されます。 +パターンは、プログラムテキストに出現した順序で検索されます。 +.PP +入力がつきると、 +.I awk +は(もしあれば) +.B END +ブロック(複数存在可)を実行します。 +.SH 変数とフィールド +AWK における変数は動的、すなわち、最初に使用されたときに生成されます。 +変数の値は、浮動小数か、文字列か、あるいは両方です。変数の用い +られ方により変化します。AWK ではまた、1次元配列を利用することができます。 +多次元配列 +も、擬似的にではありますが、利用可能です。プログラム実行開始時に、 +いくつかの定義済み変数が設定されます。 +.SS フィールド +.PP +入力ファイルから1行を読み込むと、 +.I awk +はその行を +.I フィールド +に分割しま +す。分割する際には、変数 +.B FS +の値がフィールドセパレータとして参照されます。 +.B FS +の値が1文字なら、その +文字を境にフィールドが分割されます。1文字でないなら、 +.B FS +は正規表現である +と解釈されます。特殊な場合として +.B FS +が単一の空白のときには、フィールドは +連続した空白とタブにより分割されます。変数 +.B IGNORECASE +(下記参照)の +値は、 +.B FS +が正規表現の場合、フィールド分割にも影響を与えることに注意してください。 +.PP +変数 +.B FIELDWIDTHS +の値が空白で区切られた数字の列である場合、各フィールドは +固定長であると解釈され、 +.I awk +は指定された幅ごとにフィールドの +分割を行います。この場合、 +.B FS +の値は無視されます。 +.B FS +に新たに値を設定 +することにより、この +.B FIELDWIDTHS +の効果を打ち消し、標準の動作に戻すことができます。 +.PP +各フィールドの値は、左から +.BR $1 , +.B $2 +等という名前で参照できます。 +.B $0 +は +行全体です。フィールドに値を代入することもできます。フィールドは定数だ +けでなく、変数によって参照することもできます。以下の例では、入力行の 5 +番目のフィールドの値を出力します。 +.RS +.PP +.ft B +n = 5 +.br +print $n +.ft R +.RE +.PP +変数 NF は、自動的にその行のフィールドの数に設定されます。 +.PP +存在しないフィールド(すなわち、 +.B $NF +より右のフィールド)を参照した結果は +空文字列になります。しかしながら、存在しないフィールドへの代入(たとえ +ば、 +.BR $(NF+2) = 5 +)は +.B NF +の値を増加させ、間のフィールドには空文字が設定されます。 +さらに +.B $0 +の値は、フィールドの値を変数 +.B OFS +の値で結合したものに再設定されます。 +負のフィールド番号への参照は致命的エラーとなります。 +.SS 組み込み変数 +.PP +AWK の組込み変数は以下のとおりです。 +.PP +.TP \w'\fBFIELDWIDTHS\fR'u+1n +.B ARGC +コマンドライン引数の個数( +.I awk +へのオプションと、プログラム指定は含みま +せん)。 +.TP +.B ARGIND +現在処理中のファイル名が格納されている配列 +.B ARGV +のインデックス。 +.TP +.B ARGV +コマンドライン引数の配列。配列は、 0 から +.B ARGC +\- 1 までのインデックスを +持ちます。 +.B ARGV +の内容を変更することで、入力に用いるファイル名を変 +更することができます。 +.TP +.B CONVFMT +数値の変換フォーマット。デフォルト値は \fB"%.6g"\fR です。 +.TP +.B ENVIRON +現在の環境変数の値からなる配列。配列は、環境変数名によりインデックスされ +、各要素の値はその環境変数の値です(たとえば、環境変数 +.B HOME +は \fBENVIRON["HOME"]\fP で参照できます)。本配列に +代入を行っても、 +.I awk +からリダイレクトや +.B system() +関数により実行される +プログラムの環境には影響を与えません(これは、将来の +.I awk +では変更される可能性があります)。 +.\" but don't hold your breath... +.TP +.B ERRNO +.B getline +のリダイレクト、 +.B getline +による読み込み、 +.B close() +関数の実行時のいずれかにシステムエラーが発生した場合、変数 +.B ERRNO +にはエラーの内容を示した文字列が設定されます。 +.TP +.B FIELDWIDTHS +空白で区切られたフィールド長のリスト。もしこの値が設定されていれば、 +.I awk +は +.B FS +の値を用いてフィールド分割するかわりに、固定長のフィールド分割を行 +います。固定長のフィールド分割機能はまだ実験的なもので、 +.I awk +が改良されるに従 +って意味が変化する可能性があります。 +.TP +.B FILENAME +現在の入力ファイル名。もし、コマンドラインで入力ファイルが指定されてい +なければ、 +.B FILENAME +の値は ``\-'' です。しかしながら、 +.B BEGIN +ブロック内では +.B FILENAME +は未定義です。 +.TP +.B FNR +現在の入力ファイルにおける入力レコード番号。 +.TP +.B FS +入力フィールドセパレータ。デフォルトでは単一の空白です。 +.TP +.B IGNORECASE +すべての正規表現において大文字小文字の区別を制御します。もし、 +.B IGNORECASE +が 0 でない値に設定されていれば、ルールのパターンマッチ、 +.B FS +によるフィールド分割、 +.B ~ +と +.B !~ +による正規表現マッチ、定義済み関数 +.BR gsub() , +.BR index() , +.BR match() , +.BR split() , +.B sub() +において大文字と小文字の違いは無視されます。このため、 +.B IGNORECASE +が 0 以外の +値なら、 +.B /aB/ +は \fB"ab"\fP、\fB"aB"\fP、\fB"Ab"\fP、\fB"AB"\fP のいずれにもマッチすることになります。 +他のAWK 変数と同様に +.B IGNORECASE +のデフォルト値は 0 なので、通常は +正規表現において大文字と小文字は区別されます。 +.TP +.B NF +現在の入力レコードのフィールド数。 +.TP +.B NR +現在までに読み込んだ入力レコード数の合計。 +.TP +.B OFMT +数字の出力フォーマット。デフォルト値は \fB"%.6g"\fR です。 +.TP +.B OFS +出力フィールドセパレータ。デフォルトは空白です。 +.TP +.B ORS +出力レコードセパレータ。デフォルトは改行です。 +.TP +.B RS +入力レコードセパレータ。デフォルトは改行です。 +.B RS +は例外的な変数で、 +値の最初の1文字のみがレコード分割に用いられます(これは、将来リリースされる +.I awk +では変更されているかもしれません)。もし +.B RS +が空文字列に設定されていたなら、 +レコードは空行によって分割されます。この場合、 +.B FS +の値が何であろうとも、改行はつねにフィールドセパレータとしての役割を +果たします。 +.TP +.B RSTART +.B match() +によりマッチした最初の文字の位置。0 はマッチしなかったことを示します。 +.TP +.B RLENGTH +.B match() +によりマッチした文字列の長さ。\-1 はマッチしなかったことを示します。 +.TP +.B SUBSEP +多次元配列を実現する際に用いられる、配列のインデックスを結合する文字。 +デフォルト値は \fB"\e034"\fR です。 +.SS 配列 +.PP +配列は、ブラケット +.RB ( [ +と +.BR ] ) +の間の式によってインデックスを指定します。もし式が式 +のリスト(式, 式, ...) なら、式の値を変数 +.B SUBSEP +の値を区切りとして +結合した文字列をインデックスとして用います。これにより、多次元配列を +シミュレートしています。たとえば、 +.PP +.RS +.ft B +i = "A" ;\^ j = "B" ;\^ k = "C" +.br +x[i, j, k] = "hello, world\en" +.ft R +.RE +.PP +は、文字列 \fB"hello, world\en"\fR を、文字列 \fB"A\e034B\e034C"\fR で +インデックスした配列 x の要素に代入しています。 +AWK の配列はすべて、文字列によりインデックスを行う連想配列です。 +.PP +特殊な演算子 +.B in +を +.B if +または +.B while +ステートメントで用いることによって、あるインデックス値に +おける配列の値が定義されているかを調べることができます。 +.PP +.RS +.ft B +.nf +if (val in array) + print array[val] +.fi +.ft +.RE +.PP +もし、配列が多次元インデックスを持つなら、 +.B "(i, j) in array" +を用います。 +.PP +.B in +はまた、 +.B for +ループ中で、配列のすべてのインデックス値について繰り返すために +用いることができます。以下の方法で、配列のすべての要素の値を表示する +ことができます。 +.PP +.RS +.ft B +.nf +for (i in array) + print array[i] +.fi +.ft +.RE +.PP +配列の要素は、 +.B delete +ステートメントを用いて削除することができます。 +.B delete +ステートメントはまた、 +配列全体を削除するのにも使えます。 +.SS 変数の型と変換 +.PP +変数とフィールドは、(浮動小数の)数値または文字列、あるいは両方として +扱われます。 +変数の値がどのように解釈されるかは、変数の使われ方によって変化します。 +数式中で用いられれば変数は数値として解釈され、文字列として用いられれ +ば文字列として解釈されます。 +.PP +変数の値を強制的に数値であると解釈させたい場合は、変数に 0 を加えます +(var + 0)。文字列と解釈させたい場合は空文字列を結合します(var "")。 +.PP +文字列を数値に変換する必要がある場合、変換は +.IR atof (3) +によって行われます。 +数値を文字列に変換する場合は、変数 +.B CONVFMT +の値をフォーマット文字列として用いて、 +.IR sprintf (3) +により行われます。AWK ではすべての数値は浮動小数ですが、整数値はつねに整数 +として変換が行われます。 +.PP +よって、以下の場合、 +.PP +.RS +.ft B +.nf +CONVFMT = "%2.2f" +a = 12 +b = a "" +.fi +.ft R +.RE +.PP +変数 +.B b +は文字列値 \fB"12"\fR となり、"12.00" とはなりません。 +.PP +.I gawk +は、以下のようにして比較を行います: +2つの変数が数値なら数値として比 +較します。もし片方が数値で片方が`数値'文字列なら、数値として比較されます。 +片方が数値でない文字列なら、数値のほうが文字列に変換され、文字列として +比較されます。両方とも文字列なら、文字列として比較されます。\*(PX 標準に従う +なら、両方とも数値文字列の場合は数値として比較しますが、これは明ら +かに間違いです。 +.I awk +はそのような動作をしません。 +.PP +初期化されていない変数は、数値としては 0 を、文字列としては空文字列を持ちます。 +.SH パターンとアクション +awk は行指向の言語です。まずパターン、次にアクションが続きます。アクショ +ンは +.B { +と +.B } +で囲みます。パターンまたはアクションは省略することもできます。 +もちろん、両方とも +省略してしまっては意味がありません。 +パターンがない場合、アクションはすべての入力行に +対して適用されます。省略されたアクションは以下と等価です。 +.RS +.PP +.B "{ print }" +.RE +.PP +これは行全体を出力します。 +.PP +コメントは ``#'' で始まり、行末まで続きます。空行は、複数ステートメントの +間をあけるのに使うことができます。 +通常、ステートメントは改行で終わります。ただし、 +以下の記号で行が終わる場合にはこの限りではありません: +``,'', ``{'', ``?'', ``:'', +``&&'', ``||''。 +.B do +または +.B else +で終わる行は、ステートメントが自動的に以降 +の行へ継続されます。また、改行の直前に ``\e'' を置くことで、 +行を継続することができます。この場合、その改行は無視されます。 +.PP +``;'' で区切ることにより、1行に複数のステートメントを記述することができ +ます。アクション部におけるステートメントだけではなく、 +パターンとアクションの対自体も ``;'' で区切って複数置くことができます。 +.SS パターン +AWK のパターンは、以下のうちのいずれかです。 +.PP +.RS +.nf +.B BEGIN +.B END +.BI / "regular expression" / +.I "relational expression" +.IB pattern " && " pattern +.IB pattern " || " pattern +.IB pattern " ? " pattern " : " pattern +.BI ( pattern ) +.BI ! " pattern" +.IB pattern1 ", " pattern2 +.fi +.RE +.PP +.B BEGIN +と +.B END +は特殊なパターンであり、入力と比較されることはありません。すべての +.B BEGIN +パターンに対応したアクション部は結合されます。結合されたアクションは +すべての入力ファイルの読み込みに先立って実行されます。同様にすべての +.B END +ブロックは結合され、すべての入力ファイルの処理後(あるいは、exit ステートメント +が実行されたとき)に実行されます。 +.B BEGIN +と +.B END +はパターン式内で他のパターンと混ぜて使うことはできません。また、 +.B BEGIN +と +.B END +パターンはアクション部を省略することができません。 +.PP +.BI / "regular expression" / +パターンでは、正規表現にマッチした入力行に対してアクション +が実行されます。正規表現は +.IR egrep (1) +と同じものが使えます。あとに要約を示します。 +.PP +関係式では、後述のアクションについての節で示す演算子を用いることが +できます。 +これらは概して、特定のフィールドが正規表現にマッチするかどうかを +調べるために用いられます +($2 ~ /foo/ 等)。 +.PP +演算子 +.BR && , +.BR || , +.B ! +は、それぞれ C 言語での論理AND、論理OR、論理NOT と等価です。 +C 言語と同様に、評価値が確定した時点で以降の評価を打ち切ります。 +これらは複数のパターン式を結合するために使用されます。 +他のプログラミング言語と同様、括弧によって評価順序を変更することができます。 +.PP +?\^: 演算子は C 言語のものと同様です。もし、最初のパターンが真なら、 +テストのために 2 番目のパターンが用いられ、そうでなければ 3 番目のパターンが +用いられます。2 番目と 3 番目のパターンのどちらかだけが評価されます。 +.PP +.IB pattern1 ", " pattern2 +形式は +.I 範囲パターン +と呼ばれます。範囲パターンは、 +.I pattern1 +にマッチするレコードから、 +.I pattern2 +にマッチする行レコードまでのすべてにマッチします。 +この形式は、他のパターン式と混合して用いることはできません。 +.SS 正規表現 +awk の正規表現は +.I egrep +のものと同様に、拡張された正規表現です。 +以下の構成要素から成り立っています。 +.TP \w'\fB[^\fIabc...\fB]\fR'u+2n +.I c +メタ文字ではない +.I c +にマッチする。 +.TP +.I \ec +リテラル文字 +.I c +にマッチする。 +.TP +.B . +改行以外の任意の一文字にマッチする。 +.TP +.B ^ +行頭、または文字列の先頭にマッチする。 +.TP +.B $ +行末、または文字列の終端にマッチする。 +.TP +.BI [ abc... ] +abc... のいずれか一文字にマッチする(文字クラス)。 +.TP +.BI [^ abc... ] +abc... と改行を除く任意の一文字にマッチする(否定文字クラス)。 +.TP +.IB r1 | r2 +.I r1 +または +.I r2 +にマッチする(選言)。 +.TP +.I r1r2 +.I r1 +の直後に +.I r2 +が続くものにマッチする(結合)。 +.TP +.IB r + +.I r +の 1 回以上の繰り返しにマッチする。 +.TP +.IB r * +.I r +の 0 回以上の繰り返しにマッチする。 +.TP +.IB r ? +.I r +の 0 回または 1 回の繰り返しにマッチする。 +.TP +.BI ( r ) +.I r +にマッチする(グループ化)。 +.PP +文字列定数中で用いることができるエスケープシーケンス(後述参照)は、 +正規表現中でも使用することができます。 +.SS アクション +アクションは、ブレース +.B { +と +.B } +で囲みます。アクションは通常の代入、条件文、 +ループ文等からなります。演算子、制御文、入出力文は C 言語とほぼ同様です。 +.SS 演算子 +.PP +AWK での演算子を、優先順位の低いものから順に示します。 +.PP +.TP "\w'\fB*= /= %= ^=\fR'u+1n" +.PD 0 +.B "= += \-=" +.TP +.PD +.B "*= /= %= ^=" +代入。絶対的な代入 +.BI ( var " = " value ) +と演算子代入(その他の形式)がサポートされています。 +.TP +.B ?: +C 言語の条件式と同様です。 +.IB expr1 " ? " expr2 " : " expr3\c +の形式で使います。もし +.I expr1 +が真なら式の値は +.I expr2 +になり、そうでなければ +.I expr3 +になります。 +.I expr2 +か +.I expr3 +のうち片方のみが評価されます。 +.TP +.B || +論理 OR。 +.TP +.B && +論理 AND。 +.TP +.B "~ !~" +正規表現マッチ、否定のマッチ。 +.B 注意: +.B ~ +と +.B !~ +の左辺に正規表現定数 +.RB ( /foo/ 等) +を用いてはいけません。正 +規表現定数は右辺にのみ置くことができます。式 +.BI "/foo/ ~ " exp +は +\fB(($0 ~ /foo/) ~ \fIexp\fB)\fR と等価であり、これは通常意図するものとは異なります。 +.TP +.PD 0 +.B "< >" +.TP +.PD 0 +.B "<= >=" +.TP +.PD +.B "!= ==" +通常の関係演算子。 +.TP +.I blank +文字列の結合。 +.TP +.B "+ \-" +加算、減算。 +.TP +.B "* / %" +乗算、除算、剰余。 +.TP +.B "+ \- !" +単項プラス、単項マイナス、論理否定。 +.TP +.B ^ +べき乗(\fB**\fR も同様の意味で使用できる。また \fB**=\fR 代入演算子も存在する)。 +.TP +.B "++ \-\^\-" +インクリメント、デクリメント。前置も後置も可能。 +.TP +.B $ +フィールド参照 +.SS 制御ステートメント +.PP +制御ステートメントは以下のとおりです。 +.PP +.RS +.nf +\fBif (\fIcondition\fB) \fIstatement\fR [ \fBelse\fI statement \fR] +\fBwhile (\fIcondition\fB) \fIstatement \fR +\fBdo \fIstatement \fBwhile (\fIcondition\fB)\fR +\fBfor (\fIexpr1\fB; \fIexpr2\fB; \fIexpr3\fB) \fIstatement\fR +\fBfor (\fIvar \fBin\fI array\fB) \fIstatement\fR +\fBbreak\fR +\fBcontinue\fR +\fBdelete \fIarray\^\fB[\^\fIindex\^\fB]\fR +\fBdelete \fIarray\^\fR +\fBexit\fR [ \fIexpression\fR ] +\fB{ \fIstatements \fB} +.fi +.RE +.SS 入出力ステートメント +.PP +入出力ステートメントは以下のとおりです。 +.PP +.TP "\w'\fBprintf \fI書式, 式の列\fR'u+1n" +.BI close( filename ) +ファイルまたはパイプ(下記参照)をクローズします。 +.TP +.B getline +次のレコードを +.B $0 +に読み込みます。 +.BR NF , +.BR NR , +.B FNR +が設定されます。 +.TP +.BI "getline <" file +ファイル +.I file +から次のレコードを +.B $0 +に読み込みます。 +.B NF +が設定されます。 +.TP +.BI getline " var" +次のレコードを変数 +.I var +に読み込みます。 +.BR NF , +.B FNR +が設定されます。 +.TP +.BI getline " var" " <" file +ファイル +.I file +から次のレコードを変数 +.I var +に読み込みます。 +.TP +.B next +現在のレコードに対する処理を終了し、次のレコードを読み込み、AWK プログ +ラムの最初のパターンから処理を開始します。 +C 言語の continue と類似した意味を持ちます。 +もし、入力データの終端に達した場合、 +.B END +ブロックが存在すれば実行されます。 +.TP +.B "next file" +現在の入力ファイルに対する処理を終了し、次の入力ファイルからレコードを +読み込みます。 +.B FILENAME +が更新され、 +.B FNR +が 1 にリセットされ、AWK プログラムの +最初のパターンから処理が開始されます。入力データの終端に達したときは、 +もし存在すれば、 +.B END +ブロックが実行されます。 +.TP +.B print +現在のレコードを出力します。 +.TP +.BI print " expr-list" +式を出力します。各式は +.B OFS +の値で区切られます。出力されるレコードの最後に +は +.B ORS +の値が付加されます。 +.TP +.BI print " expr-list" " >" file +式をファイル +.I file +に出力します。各式は +.B OFS +の値で区切られます。出力されるレコードの +最後には +.B ORS +の値が付加されます。 +.TP +.BI printf " fmt, expr-list" +書式付き出力です。 +.TP +.BI printf " fmt, expr-list" " >" file +ファイル +.I file +への書式付き出力です。 +.TP +.BI system( cmd-line ) +コマンド +.I cmd-line +を実行し、終了ステータスを返します(\*(PX に対応しない +システムでは使用できない場合があります)。 +.PP +その他の形式のリダイレクトとして以下のものが利用可能です。 +.B print +と +.B printf +に対して、 +.BI >> file +を指定すると出力はファイル +.I file +に追加され、 +.BI | " command" +は出力をパイプに対して行います。同様に、 +.IB command "| getline" +はコマンドの出力から +.B getline +を行ないます。 +.B getline +はファイル終端では 0 を、エラー時には \-1 を返します。 +.SS \fIprintf\fP\^ ステートメント +.PP +AWK での +.B printf +ステートメントと +.B sprintf() +関数(後述参照)は、以下の変換指定書式を受け付けることができます。 +.TP +.B %c +1つの \s-1ASCII\s+1 文字。 +.B %c +に対応する引数が数値なら、その値を \s-1ASCII\s+1 コードとみなし +て文字に変換します。そうでなければ、引数は文字列であると解釈され、その1 +文字目が出力されます。 +.TP +.B %d +10進数(整数部分)。 +.TP +.B %i +.B %d +と同じです。 +.TP +.B %e +.B [-]d.ddddddE[+-]dd +という形式の浮動小数。 +.TP +.B %f +.B [-]ddd.dddddd +という形式の浮動小数。 +.TP +.B %g +.B %e +と +.B %f +の短い方の形式の浮動小数。余計な 0 は省略されます。 +.TP +.B %o +符号なしの 8 進数(整数)。 +.TP +.B %s +文字列。 +.TP +.B %x +符号なしの 16 進数(整数)。 +.TP +.B %X +.B %x +と同様。ただし、 +.B abcdef +のかわりに +.B ABCDEF +を用います。 +.TP +.B %% +単一の文字 +.B % +。引数は使用しません。 +.PP +.B % +と上記のコントロール文字との間にオプショナルな追加のパラメータを置く +ことができます。以下にそれらを示します。 +.TP +.B \- +左寄せ。 +.TP +.I width +フィールドが指定した幅 +.I width +になるように拡張されます。もし、 +.I width +が 0 で始まる数値の場合、 +フィールドは 0 によって拡張されます。さもなければ、空白で拡張されます。 +これは数値ではない出力に対しても適用できます。 +.TP +.BI . prec +文字列の最大長、または、小数点以下の桁数を指定します。 +.PP +\*(AN C の +.B printf() +の動的な幅 +.I width +と精度 +.I prec +の指定機能が使用できます。幅または精 +度の指定部分に +.B * +を指定することで、その値を +.B printf +または +.B sprintf() +への引数で指定できます。 +.SS 特殊ファイル名 +.PP +入出力リダイレクトを行う場合、 +.I awk +が内部で解釈する特殊なファイル名があります。 +これらのファイル名により、親プロセス(通常はシェルです)から受け継いだ +ファイルディスクリプタを用いて入出力を行ったり、実行中の +.I awk +プロセスに関する情報を得ることができます。 +特殊ファイル名は以下のとおりです。 +.TP \w'\fB/dev/stdout\fR'u+1n +.B /dev/pid +現在の +.I awk +プロセスのプロセスID(10進数で、最後に改行が付きます)を +読み込むことができます。 +.TP +.B /dev/ppid +親プロセスのプロセスID(10進数で、最後に改行が付きます)を +読み込むことができます。 +.TP +.B /dev/pgrpid +現在の awk プロセスのプロセスグループ ID(10進数で、最後に改行が付きます) +を読み込むことができます。 +.TP +.B /dev/user +このファイルを読むことで、改行で終わる単一のレコードが得られます。 +各フィールドは空白で区切られています。 +.B $1 +は +.IR getuid (2) +システムコールの値、 +.B $2 +は +.IR geteuid (2) +システムコールの値、 +.B $3 +は +.IR getgid (2) +システムコールの値、$4 +は +.IR getegid (2) +システムコールの値です。もし、さらにフィールドがあれば、 +それは +.IR getgroups (2) +システムコールが返すグループ ID のリストです。 +全てのシステムで複数のグループがサポートされているわけではありません。 +.TP +.B /dev/stdin +標準入力。 +.TP +.B /dev/stdout +標準出力。 +.TP +.B /dev/stderr +標準エラー出力。 +.TP +.BI /dev/fd/\^ n +オープンされたファイルディスクリプタ +.I n +に対応しているファイル。 +.PP +エラーメッセージを出力するには、以下の方法が便利です。 +.PP +.RS +.ft B +print "You blew it!" > "/dev/stderr" +.ft R +.RE +.PP +もしこの機能が無かったら、次のようにするしかないところです。 +.PP +.RS +.ft B +print "You blew it!" | "cat 1>&2" +.ft R +.RE +.PP +これらのファイル名は、コマンドラインのデータファイル指定で使うこともできます。 +.SS 数値関数 +.PP +AWK は以下の定義済み数値関数を持っています。 +.PP +.TP \w'\fBsrand(\^\fIexpr\^\fB)\fR'u+1n +.BI atan2( y , " x" ) +.I y/x +の逆正接(ラジアン単位)。 +.TP +.BI cos( expr ) +余弦(与える値はラジアン)。 +.TP +.BI exp( expr ) +指数関数。 +.TP +.BI int( expr ) +整数への切捨て。 +.TP +.BI log( expr ) +自然対数。 +.TP +.B rand() +0 から 1 の間の乱数。 +.TP +.BI sin( expr ) +正弦(与える値はラジアン)。 +.TP +.BI sqrt( expr ) +平方根。 +.TP +.BI srand( expr ) +式 +.I expr +の値を乱数生成関数の種として用います。式が指定されなかった場合は、 +時刻が用いられます。直前の種の値を返します。 +.SS 文字列関数 +.PP +AWK は以下の定義済み文字列関数を持っています。 +.PP +.TP "\w'\fBsprintf(\^\fIfmt\fB\^, \fIexpr-list\^\fB)\fR'u+1n" +\fBgsub(\fIr\fB, \fIs\fB, \fIt\fB)\fR +文字列 +.I t +中で正規表現 +.I r +にマッチした部分をすべて +.I s +に置換します。置換の個数を返します。 +.I t +を指定しなかった場合は +.B $0 +が用いられます。 +.TP +.BI index( s , " t" ) +文字列 +.I s +中に含まれる文字列 +.I t +の位置を返します。 +.I t +が含まれていない場合は 0 を返します。 +.TP +.BI length( s ) +文字列 +.I s +の長さを返します。 +.I s を指定しなかった場合には +.B $0 +の長さを返します。 +.TP +.BI match( s , " r" ) +文字列 +.I s +中で正規表現 +.I r +にマッチする位置を返します。マッチしない場合は 0 を +返します。 +.B RSTART +と +.B RLENGTH +の値が設定されます。 +.TP +\fBsplit(\fIs\fB, \fIa\fB, \fIr\fB)\fR +文字列 +.I s +を正規表現 +.I r +を用いて分割し、配列 +.I a +に格納します。 +フィールド数を返します。 +.I r +が省略され +た場合は +.B FS +が用いられます。配列 +.I a +の内容は、分割前にクリアされます。 +.TP +.BI sprintf( fmt , " expr-list" ) +書式 +.I fmt +に従って +.I exp-list +を整形表示し、結果の文字列を返します。 +.TP +\fBsub(\fIr\fB, \fIs\fB, \fIt\fB)\fR +.B gsub() +と似てますが、最初にマッチした文字列のみが置換されます。 +.TP +\fBsubstr(\fIs\fB, \fIi\fB, \fIn\fB)\fR +文字列 +.I s +の +.I i +文字目から始まる +.I n +文字の部分文字列を返します。 +.I n +が省略された場合、 +.I i +文字目以降の部分文字列が返されます。 +.TP +.BI tolower( str ) +文字列 +.I str +をコピーし、大文字をすべて小文字に変換したものを返します。 +アルファベットでない文字は変化しません。 +.TP +.BI toupper( str ) +文字列 +.I str +をコピーし、小文字をすべて大文字に変換したものを返します。 +アルファベットでない文字は変化しません。 +.SS 時間関数 +.PP +タイムスタンプを含んだログファイルの処理は +AWK プログラムの主な使い道の1つですから、 +.I awk +はタイムスタンプを取り出したり、フォーマット +するための 2 つの関数を提供します。 +.PP +.TP "\w'\fBsystime()\fR'u+1n" +.B systime() +エポックからの経過秒数を返します +(\*(PX システムでは、エポックは UTC で 1970 年 1 月 1 日 0:00 です)。 +.TP +\fBstrftime(\fIformat\fR, \fItimestamp\fB)\fR +書式 +.I format +に従って +.I timestamp +をフォーマットします。 +.I timestamp +は +.B systime() +が返す値と同じ形式でなければなりません。 +.I timestamp +が省略された +場合、現在の +.B systime() +の値が用いられます。利用可能なフォーマットにつ +いては、\*(AN C の +.B strftime() +関数の仕様を参照して下さい。パブリックドメイン +な +.IR strftime (3) +とそのマニュアルページが +.I awk +とともに配布されています。もし、 +.I awk +を作成するためにその +.B strftime +を用いた場合は、そのマニュアルに記述さ +れている変換書式が +.I awk +でも利用可能です。 +.SS 文字列定数 +.PP +AWK での文字列定数は、ダブルクォート(\fB"\fR)に狭まれた文字の列です。 +文字列内では、C 言語のようにいくつかの +.I エスケープシーケンス +が使えます。 +.PP +.TP \w'\fB\e\^\fIddd\fR'u+1n +.B \e\e +バックスラッシュそのもの。 +.TP +.B \ea +「警告」文字。通常は \s-1ASCII\s+1 \s-1BEL\s+1 文字です。 +.TP +.B \eb +バックスペース。 +.TP +.B \ef +改ページ。 +.TP +.B \en +改行。 +.TP +.B \er +復帰(キャリッジリターン)。 +.TP +.B \et +水平タブ。 +.TP +.B \ev +垂直タブ。 +.TP +.BI \ex "\^hex digits" +.B \ex +に続く 16 進数で表現された文字。\*(AN C と同様に、 +.B \ex +に続くすべての 16 進数字 +はエスケープシーケンスの一部であるとみなされます。 +(この機能によりコミッティによる言語デザインが分かります。) +たとえば、\fB"\ex1B"\fR は +\s-1ASCII\s+1 \s-1ESC\s+1 (エスケープ) 文字です。 +.TP +.BI \e ddd +1桁か2桁か3桁の 8 進数で表現された文字。たとえば、 \fB"\e033"\fR は +\s-1ASCII\s+1 \s-1ESC\s+1 (エスケープ) 文字です。 +.TP +.BI \e c +文字 c そのもの。 +.PP +エスケープシーケンスは正規表現定数内でも用いることができます(たとえば、 +.B "/[\ \et\ef\en\er\ev]/" +は空白文字にマッチします)。 +.SH 関数 +AWK では関数を以下のようにして定義します。 +.PP +.RS +\fBfunction \fIname\fB(\fIparameter list\fB) { \fIstatements \fB}\fR +.RE +.PP +関数は、アクション部から呼び出されたときに実行されます。 +関数呼び出しにおいて与えられた実引数が、関数宣言における仮引数に +受け渡されます。 +このとき配列の場合は参照渡しが行われ、他の変数の場合は値渡しで行われます。 +.PP +元々 AWK に関数は備わっていませんでしたので、局所変数の機構はあまり +スマートではありません。 +局所変数は引数リストの余分な引数として宣言します。局所変数と関 +数引数を区別するため、余分な空白で区切るのが慣習です。たとえば、以下のよ +うにします。 +.PP +.RS +.ft B +.nf +function f(p, q, a, b) { # a と b は局所変数 + ..... } + +/abc/ { ... ; f(1, 2) ; ... } +.fi +.ft R +.RE +.PP +関数呼び出しにおける左括弧は、空白を狭まずに関数名の直後に +置かなければいけません。 +これは、文字列結合演算子との曖昧さを生じさせないために必要です。 +この制限は、上述の組み込み関数にはあてはまりません。 +.PP +関数は、他の関数を呼び出したり、自分自身を再帰的に呼び出すことができます。 +局所変数として用いられる関数引数は、関数起動時に空文字列および 0 +に初期化されます。 +.PP +.B function +のかわりに +.B func +を用いることができます。 +.SH 例 +.nf +``/etc/passwd'' から全ユーザのログイン名を取り出し、ソートして出力する。 + +.ft B + BEGIN { FS = ":" } + { print $1 | "sort" } + +.ft R +ファイルの行数を数える。 + +.ft B + { nlines++ } + END { print nlines } + +.ft R +行番号をつける。 + +.ft B + { print FNR, $0 } + +.ft R +全ファイルを通した行番号をつける。 + +.ft B + { print NR, $0 } +.ft R +.fi +.SH 関連項目 +.IR egrep (1), +.IR getpid (2), +.IR getppid (2), +.IR getpgrp (2), +.IR getuid (2), +.IR geteuid (2), +.IR getgid (2), +.IR getegid (2), +.IR getgroups (2) +.PP +.IR "The AWK Programming Language" , +Alfred V. Aho, Brian W. Kernighan, Peter J. Weinberger, +Addison-Wesley, 1988. ISBN 0-201-07981-X. +.PP +.IR "The AWK Manual" , +Edition 0.15, published by the Free Software Foundation, 1993. +.SH POSIX 互換 +.I awk +は最新版の \*(UX +.I awk +との互換性だけでなく、\*(PX 標準との互換性も追求しています。 +このため +.I awk +には以下のような機能が取り入れられています。 +これらの機能は AWK 本には述べられていませんが、 +System V Release 4 および \*(PX 標準の +.I awk +が有している機能です。 +.PP +プログラム実行前に変数代入を行なう +.B \-v +オプションは新しい物です。 +AWK 本によれば、コマンドラインで指定された変数代入は +.I awk +が引数をファイル名としてオープンする際に行なわれることになります。つまり +これは +.B BEGIN +ブロックの実行後です。しかしながら初期の頃の実装では、引数の中でファイル名に +先立って変数代入が指定されている場合には、代入は +.B BEGIN +ブロック実行の +.I 前に +行われていました。そしてアプリケーションは、この「仕様」に依存する +ようになりました。 +.I awk +がそのドキュメントに合うように直された時、昔の動作に依存している +アプリケーションの便宜を図るためにこのオプションが加えられました。 +(この仕様は AT&T および GNU の開発者達によって合意されました。) +.PP +独自機能のための +.B \-W +オプションは \*(PX 標準に従ったものです。 +.PP +引数の列に特別なオプション ``\fB\-\^\-\fP'' を指定すると、 +.I awk +はそこがオプションの終わりであると解釈します。 +互換モードにおいては未定義オプションは警告が出力され、それ以外のものは +無視されます。 +通常の実行においては残りの引数は AWK プログラムに引き渡されます。 +.PP +AWK 本は +.B srand() +の返り値を定義していません。 +System V Release 4 版の \*(UX +.I awk +(と \*(PX 標準) +では、その関数が使っている種を返します。 +したがって +.I awk +における +.B srand() +も現在の種を返すようにしてあります。 +.PP +その他にも以下のような新機能があります。 +.B \-f +オプションの複数回使用 (MKS +.IR awk に倣いました); +.B ENVIRON +配列; +エスケープシーケンス +.B \ea +と +.B \ev +( +.I awk +で最初に実装され、AT&T の +.I awk +にフィードバックされました); +組み込み関数 +.B tolower() +と +.B toupper() +(AT&T に倣いました); +.B printf +における \*(AN C 変換指定 +(AT&T 版で最初に実装されました)。 +.SH GNU 拡張 +.I gawk +は \*(PX +.I awk +に対していくつかの拡張が行なわれています。 +この節ではそれらについて解説します。 +.B "\-W compat" +オプション付きで +.I awk +を起動することによって、 +ここで述べられている拡張機能をすべて禁止することができます。 +.PP +.I awk +が持つ以下の機能は +\*(PX +.I awk +では使用できません。 +.RS +.TP \w'\(bu'u+1n +\(bu +エスケープシーケンス +.B \ex +。 +.TP +\(bu +関数 +.B systime() +および +.B strftime() +。 +.TP +\(bu +入出力リダイレクトで利用可能な特殊ファイル名。 +.TP +\(bu +変数 +.B ARGIND +および +.B ERRNO +は特殊変数ではありません。 +.TP +\(bu +変数 +.B IGNORECASE +とその副作用は利用できません。 +.TP +\(bu +変数 +.B FIELDWIDTHS +と固定長フィールド分割。 +.TP +\(bu +.B \-f +オプションで指定されたファイル名について行われるパス検索。 +よって、環境変数 +.B AWKPATH +は特殊な変数ではありません。 +.TP +\(bu +現在の入力ファイルに対する処理を終わらせるために使用される +.B "next file" +。 +.TP +\(bu +配列全体を削除するために使用される +.BI delete " 配列" +。 +.RE +.PP +AWK 本は関数 +.B close() +の返り値を定義していません。 +.I gawk +の +.B close() +は、ファイルやパイプをクローズする際に呼び出す +.IR fclose (3)、 +や +.IR pclose (3)、 +からの返り値を返します。 +.PP +オプション +.B "\-W compat" +付きで +.I awk +を起動し +.B \-F +オプションへの引数 +.I fs +として ``t'' を与えた場合に、 +.B FS +の値はタブ文字に設定されます。 +これは少々見苦しい特殊事例ですので、デフォルトの動作としては +採用されていません。 +.B "\-W posix" +を指定した場合にも、この動作は行なわれません。 +.ig +.PP +If +.I awk +was compiled for debugging, it will +accept the following additional options: +.TP +.PD 0 +.B \-Wparsedebug +.TP +.PD +.B \-\^\-parsedebug +Turn on +.IR yacc (1) +or +.IR bison (1) +debugging output during program parsing. +This option should only be of interest to the +.I awk +maintainers, and may not even be compiled into +.IR awk . +.. +.SH 歴史的機能 +.I awk +は歴代の AWK の実装にあった二つの機能を備えています。 +一つめとして、組み込み関数 +.B length() +は引数無しで呼び出せるだけでなく、さらに括弧無しでも呼び出せます! +したがって +.RS +.PP +.ft B +a = length +.ft R +.RE +.PP +は以下の2例と同じです。 +.RS +.PP +.ft B +a = length() +.br +a = length($0) +.ft R +.RE +.PP +\*(PX 標準ではこの機能は ``deprecated'' と注意書きされており、 +.I awk +ではコマンドラインで +.B "\-W lint" +を指定した場合に、この機能の使用に対して警告を出力します。 +.PP +もう一つは、 +.BR while 、 +.BR for 、 +.B do +ループ本体の外でも +.B continue +ステートメントを使用できるという機能です。 +伝統的な AWK の実装では、このように使用した +.B continue +ステートメントを +.B next +ステートメントと等価なものとして扱ってきました。 +.I gawk +では +.B "\-W posix" +が指定されていない場合に、この機能を使うことができます。 +.SH 環境変数 +環境に +.B POSIXLY_CORRECT +が存在する場合には、 +.I awk +はコマンドラインで +.B \-\-posix +が指定されている時と全く同じ動作をします。 +このとき +.B \-\-lint +が指定されていると +.I awk +はこの作用についての警告メッセージを出力します。 +.SH バグ +コマンドラインでの変数代入機能を使用するには、変数への代入を直接 +コマンドラインに書けばよく、 +.B \-F +オプションをつける必要はありません。 +このオプションは昔の +.I awk +との互換性のためだけに残されています。 +.PP +ファイル +.B /dev/fd +および +.BR /dev/stdin 、 +.BR /dev/stdout 、 +.B /dev/stderr +を実際にサポートしているシステムでの +.I awk +からは、それらがないシステムとは違った出力が得られるかもしれません。 +.I awk +はそれらのファイルを内部で解釈する際に標準出力への出力を +.B /dev/stdout +への出力と同期させますが、それらのファイルを持つシステムでは +出力はそれぞれ異なるファイルへ向けられます。 +利用者の方で気を付けるようにしてください(Caveat Emptor)。 +.SH バージョン情報 +このマニュアルは +.I awk +バージョン 2.15 について書かれています。 +.PP +バージョン 2.11 にあったオプション +.BR \-c 、 +.BR \-V 、 +.BR \-C 、 +.ig +.BR \-D 、 +.. +.BR \-a 、 +.B \-e +は、バージョン 2.15 以降では使用できません。 +バージョン 2.16 のマニュアルでは、この事実の記述さえ無くなるでしょう。 +.SH 作者 +\*(UX +.I awk +の最初のバージョンは、AT&T ベル研究所の Alfred Aho と +Peter Weinberger および Brian Kernighan によって設計、実装されました。 +Brian Kernighan はその保守と改良を続けています。 +.PP +Free Software Foundation の Paul Rubin と Jay Fenlason +が、Seventh Edition \*(UX で配布された最初のバージョンの +.I awk +と互換性を持つように +.I gawk +を書きました。 +John Woods は数々のバグ修正を送って下さいました。 +David Trueman は、Arnold Robbins が送って下さった内容をもとに、 +.I gawk +を新バージョンの \*(UX +.I awk +互換にしました。 +.PP +DOS への最初の移植は Conrad Kwok と Scott Garfinkle によって +行なわれました。 +現在は Scott Deifik が DOS 版の保守をしています。 +Pat Rankin は VMS への移植を行ない、Michal Jaegermann は Atari ST への +移植を行ないました。 +OS/2 への移植は Kai Uwe Rommel が Darrel Hankerson の助けを借りて +行ないました。 +.SH 謝辞 +ベル研究所の Brian Kernighan はテストおよびデバッグの間、貴重な助力を +提供して下さいました。 +感謝致します。 diff --git a/ja_JP.eucJP/man/man1/basename.1 b/ja_JP.eucJP/man/man1/basename.1 new file mode 100644 index 0000000000..2f6a8910c4 --- /dev/null +++ b/ja_JP.eucJP/man/man1/basename.1 @@ -0,0 +1,99 @@ +.\" Copyright (c) 1990 The Regents of the University of California. +.\" All rights reserved. +.\" +.\" This code is derived from software contributed to Berkeley by +.\" the Institute of Electrical and Electronics Engineers, Inc. +.\" +.\" 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. +.\" +.\" @(#)basename.1 8.2 (Berkeley) 4/18/94 +.\" jpman %Id: basename.1,v 1.2 1997/03/26 15:20:48 jsakai Stab % +.\" %Id: basename.1,v 1.2 1996/09/23 22:24:09 wosch Exp % +.\" +.Dd April 18, 1994 +.Dt BASENAME 1 +.Os +.Sh 名称 +.Nm basename , dirname +.Nd 指定したパスのファイル名部分やディレクトリ名部分を返す +.Sh 書式 +.Nm basename +.Ar string +.Op Ar suffix +.br +.Nm dirname +.Ar string +.Sh 解説 +.Nm basename +は +.Ar string +から最後の +.Ql \&/ +までを +削除し、 +.Ar suffix +が指定された場合はこれも削除します。 +そして、その結果得られるファイル名を標準出力に書き出します。 +もし、 +.Ar string +がスラッシュ +.Ql / +で終っているか、あるいは +.Ar suffix +引数と同じであった場合には、改行を出力します。 +存在しない +.Ar suffix +は無視します。 +.Pp +.Nm dirname +は +.Ar string +中の最後の +.Ql \&/ +から最後尾までをファイル名とみなしてこの部分を削除し、 +残りを標準出力に書き出します。 +.Sh 使用例 +次の行は、シェル変数 FOO に /usr/bin を設定するものです。 +.Pp +.Dl FOO=`dirname /usr/bin/trail` +.Pp +.Nm basename +および +.Nm dirname +は共に、成功した場合は 0 を、 +エラーが起きた場合は 0 より大きな値を返します。 +.Sh 関連項目 +.Xr csh 1 , +.Xr sh 1 +.Sh 規格 +.Nm basename +および +.Nm dirname +の機能は、POSIX 1003.2 準拠であると思われます。 + diff --git a/ja_JP.eucJP/man/man1/bc.1 b/ja_JP.eucJP/man/man1/bc.1 new file mode 100644 index 0000000000..c1f9c36b08 --- /dev/null +++ b/ja_JP.eucJP/man/man1/bc.1 @@ -0,0 +1,740 @@ +.\" +.\" bc.1 - the *roff document processor source for the bc manual +.\" +.\" This file is part of bc written initially for MINIX. +.\" Copyright (C) 1991, 1992, 1993, 1994 Free Software Foundation, Inc. +.\" +.\" This program is free software; 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. +.\" +.\" This program is distributed in the hope that it will be useful, +.\" but WITHOUT ANY WARRANTY; without even the implied warranty of +.\" MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +.\" GNU General Public License for more details. +.\" +.\" You should have received a copy of the GNU General Public License +.\" along with this program; see the file COPYING. If not, write to +.\" the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA. +.\" +.\" You may contact the author by: +.\" e-mail: phil@cs.wwu.edu +.\" us-mail: Philip A. Nelson +.\" Computer Science Department, 9062 +.\" Western Washington University +.\" Bellingham, WA 98226-9062 +.\" +.\" %Id: bc.1,v 1.3.2.1 1996/11/06 09:23:50 phk Exp % +.\" jpman %Id: bc.1,v 1.3 1997/07/26 10:23:05 konuma Stab % +.\" +.TH bc 1 .\" "Command Manual" v1.03 "Nov 2, 1994" +.SH 名称 +bc - 任意精度の計算言語 +.SH 書式 +\fBbc\fR [ \fB-lws\fR ] [ \fI file ...\fR ] +.SH バージョン +このマニュアルは GNU bc version 1.03 について記述してあります。 +.SH 解説 +\fBbc\fR は、任意の精度の数値を扱う事ができ、プログラミング言語 C の文法に +よく似た形の入力をインタラクティブに実行する言語です。 +コマンドラインのオプションの指定により、標準数学ライブラリを使用することも +できます。これを指定した場合は、どのファイルを処理するよりも前に +数学ライブラリが定義されます。 +\fBbc\fR は動作を開始するとまず最初にコマンドラインで指定したファイルを +順に処理します。全てのファイルを処理した後は、\fBbc\fR は +標準入力からの読み込みを行います。全てのコードは、それが読み込ま +れた時点で実行されていきます。(もし、ファイル中にプロセッサを止める +コマンドが含まれていた場合は、標準入力からの読み込みは行われません。) +.PP +本バージョンの \fBbc\fR は、伝統的な \fBbc\fR のインプリメントおよび POSIX +のドラフトよりも拡張されています。コマンドラインオプションにより、 +これらの拡張に対して警告を表示したり拒絶したりすることが可能です。 +本ドキュメントでは、このプロセッサが受理する言語について説明します。 +拡張機能についてはその旨明記します。 +.SS オプション +.IP -l +標準数学ライブラリを定義します。 +.IP -w +POSIX \fBbc\fR に対する拡張機能が入力された場合は警告を出します。 +.IP -s +POSIX \fBbc\fR の言語仕様に従って、厳密に処理します。 +.SS 数 +\fBbc\fR における最も基本的な要素は `数' です。数は、整数部と小数部があり、 +任意の精度をとることができます。全ての数は、内部では 10 進数で表現されており、 +計算も 10 進数で行われます。(本バージョンでは、除算と乗算で結果に切捨てが +起こります。) 数には length と scale という 2 つの属性があります。 +length は 10 進での有効桁数で、 scale は小数点以下の 10 進での有効桁数です。 +例えば、 +.nf +.RS + .000001 は、lengthが 6 で、scale も 6 です。 + 1935.000 は、lengthが 7 で、scale が 3 です。 +.RE +.fi +.SS 変数 +数は、単純変数と配列の 2 種類の変数に保存されます。単純変数と配列変数には共に +名前が付けられます。この名前は、最初の 1 文字目がアルファベットで、後は、 +アルファベット、数字およびアンダスコアを任意の文字数組み合わせて +使うことができます。全てのアルファベットは小文字でなければなりません。 +(アルファベットと数字を使った名前の機能は拡張機能です。 +POSIX \fBbc\fR では、変数に英小文字 1 文字しか許されません。) +配列変数の名前には必ずブラケット ([]) がつくので、変数の型は文脈において +はっきりしています。 +.PP +特殊な変数として \fBscale, ibase, obase, last\fR の 4 つの変数があります。 +\fBscale\fR で計算時の小数点以下の有効桁数を指定します。 +\fBscale\fR のデフォルトは 0 です。 +\fBibase\fR と \fBobase\fR で入力および出力の基数を指定します。 +デフォルトでは、入力、出力の基数は共に 10 です。 +\fBlast\fR は、最後に \fBbc\fR が出力した数を保持しています +(これは拡張機能です)。これらについては、後で適切なところで詳しく説明します。 +これらの変数には、式で使われる代入と同様の代入を行うことが可能です。 +.SS コメント +\fBbc\fR は、\fB/*\fR から \fB*/\fR の間をコメントとして扱います。 +コメントはどこから始まっていてもよく、1 文字の空白として扱われます。 +(これにより、コメントはその前後の入力アイテムを切り離します。たとえば、 +変数名の途中にコメントを置くことはできません。) +コメントの中にはいくつ改行があってもかまいません。 +.SS 式 +`数' は、式および文によって操作されます。 +この言語はインタラクティブになるように設計されているため、 +文および式は即座に実行されます。 +"main" プログラムといったものはなく、そのかわり、コードは +それに出くわした時点で実行されます。 +(後で述べる`関数'は、それに出くわした時点で定義されます。) +.PP +式の最も単純なものは、ただの定数です。\fBbc\fR は、入力された +定数を、変数 \fBibase\fR で指定される現在の基数を元に、内部的には 10 進表現の +数に変換します。(関数の場合には例外があります。) +\fBibase\fR には、2 から 16 (F) までが使用できます。 +この範囲を越える値を \fBibase\fR に代入しようとすると、 +2 あるいは 16 を指定したことになります。 +数の入力には、0-9 および A-F の文字が利用できます。(注意: +これは大文字でなければなりません。小文字は変数名です。) +1 桁の数は \fBibase\fR の値に関係なくその値を持ちます (すなわち A=10)。 +複数桁の数の場合、\fBbc\fR は ibase 以上の値をもつ全ての入力桁を +\fBibase\fR-1に変更します。これにより、数 \fBFFF\fR は常に、 +その入力基数を使って 3 桁で表現可能な最大の値を表します。 +.PP +全ての演算式が、他の多くの高級言語に似たものとなっています。 +数の型は 1 種類しかないため、型変換の規則はありません。 +そのかわり、式の有効桁数に関する規則があります。 +全ての式に有効桁数があり、これはその被演算数の有効桁数と +変数 \fBscale\fR から決定されます。\fBscale\fR には、0 から +C の整数で表現できる最大の値までが指定可能です。 +.PP +以下、bc で使用可能な演算子を説明します。なお、完全形の式を "expr"、 +単純変数または配列変数を "var" と表記します。 +単純変数は単に +.RS +\fIname\fR +.RE +と表し、配列変数は +.RS +\fIname\fR[\fIexpr\fR] +.RE +と表します。特に言及しない限り、結果の有効桁数は、注目している式の +最大有効桁数になります。 +.IP "- expr" +結果はその式の符号を反転したものとなります。 +.IP "++ var" +変数を 1 だけインクリメントし、その新しい値が式の結果となります。 +.IP "-- var" +変数を 1 だけデクリメントし、その新しい値が式の結果となります。 +.IP "var ++" +式の結果はその変数の値となり、それからその変数を 1 だけ +インクリメントします。 +.IP "var --" +式の結果はその変数の値となり、それからその変数を 1 だけ +デクリメントします。 +.IP "expr + expr" +式の結果は 2 つの式の和となります。 +.IP "expr - expr" +式の結果は 2 つの式の差となります。 +.IP "expr * expr" +式の結果は 2 つの式の積となります。 +.IP "expr / expr" +式の結果は 2 つの式の商となります。 +結果の scale は変数 \fBscale\fR の値となります。 +.IP "expr % expr" +結果は、以下のようにして求められる剰余です。a%b を求めるために、まず a/b を +\fBscale\fR の有効桁数で計算します。この結果を用いて、a-(a/b)*b を、 +\fBscale\fR+scale(b) と scale(a) の大きい方の有効桁数で計算します。 +もし \fBscale\fR に 0 がセットされ、両方の式が整数であれば、 +整数の剰余が求められます。 +.IP "expr ^ expr" +式の結果は、1 番目の式の値を 2 番目の回数だけ乗じたものになります。 +2 番目の式は、整数でなければなりません。 +(2 番目の式が整数でない場合は警告が表示され、 +整数に切り詰めた値が使用されます。) 結果の scale は、べき指数が +負なら \fBscale\fR になります。べき指数が正なら、 +"1 番目の式の scale とべき指数との積" および +"\fBscale\fR と 1 番目の式の scale の大きい方" のうちの小さい方 +(つまり、scale(a^b) = min(scale(expr1)*expr2, max(scale, scale(expr1)))) +となります。 +expr^0 は常に 1 を返します。 +.IP "( expr )" +標準の優先度を使わずに、この式の評価を優先します。 +.IP "var = expr" +式の値が変数に代入されます。 +.IP "var <op>= expr" +"var" が一度しか評価されないこと以外は "var = var <op> expr" と同じです。 +"var" が配列の場合は動作が違うことがあり得ます。 +.PP +関係演算は特殊な演算で、結果は常に 0 か 1 になります。関係が偽の時 0、 +真の時 1 になります。関係演算は、演算式のどこでも使う事ができます。 +(POSIX bcでは、関係演算は、if, while, for 文の中だけで、しかも +1 つの関係式しか使用できません。) +関係演算子は以下の通り。 +.IP "expr1 < expr2" +expr1 が expr2 より小さい場合 1 になります。 +.IP "expr1 <= expr2" +expr1 が expr2 より小さいか等しい場合 1 になります。 +.IP "expr1 > expr2" +expr1 が expr2 より大きい場合 1 になります。 +.IP "expr1 >= expr2" +expr1 が expr2 より大きいか等しい場合 1 になります。 +.IP "expr1 == expr2" +expr1 と expr2 が等しい場合 1 になります。 +.IP "expr1 != expr2" +expr1 と expr2 が等しくない場合 1 になります。 +.PP +論理演算も使えます。(POSIX \fBbc\fR には論理演算はありません。) +論理演算も関係演算と同様、0 と 1 の 2 つの値 (各々偽および真) +だけをとる演算です。 +論理演算子は以下の通り。 +.IP "!expr" +expr が 0 なら 1 になります。 +.IP "expr && expr" +expr1 と expr2 が両方とも 0 でないなら、1 になります。 +.IP "expr || expr" +expr1 と expr2 のどちらか一方が 0 でないなら、1 になります。 +.PP +各演算子の優先順位と結合規則は次の通りです。 +(最初のものほど低く、後にいくほど高い優先順位で先に実行されます。) +.nf +.RS +|| operator, left associative +&& operator, left associative +! operator, nonassociative +Relational operators, left associative +Assignment operator, right associative ++ and - operators, left associative +*, / and % operators, left associative +^ operator, right associative +- (単項マイナス), nonassociative +++ and -- operators, nonassociative +.RE +.fi +.PP +この優先順位は、POSIX \fBbc\fR のプログラムがそのまま正しく動くように +配慮して決められています。このため、関係演算と論理演算を +代入文と共に用いた場合、通常とは異なる振る舞いをします。 +次の例を考えてみましょう: +.RS +a = 3 < 5 +.RE +.PP +C プログラマのほとんどは、 +``3 < 5'' の関係演算が実行された結果が変数 ``a'' に代入される、 +と考えるでしょう。 +ところが \fBbc\fR では、まず 3 が変数 ``a'' に代入され、 +それから 3 と 5 の比較が行われるのです。 +この間違いを避けるために、 +関係演算や論理演算を代入演算と共に用いる場合は、 +括弧を使うのが最良です。 +.PP +\fBbc\fR には特別な式がさらにいくつか備わっています。 +それはユーザ定義関数と標準関数に関するもので、 +すべて "\fIname\fB(\fIparameters\fB)\fR" という形をしています。 +ユーザ定義関数については関数の章を参照して下さい。 +標準関数は以下の通りです: +.IP "length ( expression )" +expression の有効桁数を返します。 +.IP "read ( )" +(拡張機能) 関数の出現位置に関係なく、標準入力から数を読み取ります。 +データとプログラムの両方を標準入力から与えるような場合には、 +問題を生じうることに注意して下さい。 +最良の方法は、 +ユーザからデータの入力の必要があるなら、プログラムはあらかじめ作っておき、 +標準入力からプログラムを入力しないようにすることです。 +read 関数の値は標準入力から読み込んだ数です。 +その際、変換基数として変数 \fBibase\fR の現在の値が用いられます。 +.IP "scale ( expression )" +expression の小数点以下の有効桁数を返します。 +.IP "sqrt ( expression )" +expression の平方根を返します。 +expression に負の値を指定した場合は、ランタイムエラーになります。 +.SS 文 +文は (ほとんどの算術言語がそうであるように)、処理を順番に実行していく単位です。 +\fBbc\fR では文は「できるだけ早い段階で」実行されます。 +改行が入力された時点で、実行可能な文が存在していれば、即座に実行します。 +このため \fBbc\fR では改行が重要な役割を持っています。 +実際、セミコロンと改行が文の区切りとして使用されます。 +不適当な場所で改行を入力すると、シンタックスエラーになります。 +改行は文の区切りですが、バックスラッシュを用いて改行を隠すことができます。 +\fBbc\fR にとって、"\e<nl>" (<nl>は改行) は改行ではなく空白に見えます。 +文のリストは、セミコロンと改行で区切られた文の並びです。 +以下、\fBbc\fR の文の種類とその動作について説明します。 +(なお、以下の説明で ([]) で括った部分は省略可能な項です。) +.IP "演算式" +演算式には次の 2 つの種類があります。 +演算式が "<variable> <assignment> ..." で始まっていれば、 +それは代入文として扱われます。 +そうでなければ、演算式は評価されて出力に表示されます。 +結果が表示された後、改行が表示されます。 +例えば、"a=1" は代入文であり、 +"(a=1)" は代入文が埋め込まれた演算式です。 +表示される数値は全て、変数 \fBobase\fR で決まる基数で表示されます。 +\fBobase\fR に指定できる値は 2 から BC_BASE_MAX までです。 +(「制限」の章を参照。) +基数 2 から 16 まででは、通常の数表記法が用いられます。 +基数が 16 より大きい場合、\fBbc\fR は、 +各桁を 10 進表記する複数桁文字表記法で表示します。 +複数桁文字表記法では、各桁は空白で区切られます。 +各桁は "obase-1" を 10 進で表記するのに必要な桁数の数字から成ります。 +数の精度は任意に選べるため、数によっては 1 行に表示できない場合もあります。 +そのような長い数は、行末に "\e" を付けて次行に継続します。 +1 行に表示できる文字数は 70 です。 +\fBbc\fR の対話的性質により、ある数を表示すると、 +表示した値が特殊変数 \fBlast\fR に代入されるという副作用が生じます。 +ユーザはタイプし直すことなく最後に表示された値を再利用できます。 +\fBlast\fR に値を代入することも可能で、 +その場合、前回表示された値が代入値で上書きされます。 +新しく代入した値は、次に数が表示されるか別の値が \fBlast\fR に代入される +まで有効です。(bc の実装によっては、 +数の一部になっていない単一のピリオド (.) を \fBlast\fR の短縮表記として +用いることができます。) +.IP "string" +文字列 string が出力に表示されます。 +文字列は二重引用符で始まり、次の二重引用符までの全ての文字を含みます。 +改行を含め、全ての文字は文字通りに解釈されます。 +文字列の後に改行は出力されません。 +.IP "\fBprint\fR list" +print 文 (これは拡張機能です) は、もう一つの出力方法です。 +"list" はコンマで区切った文字列および演算式のリストであり、 +各文字列あるいは演算式がリストの順に表示されます。 +最後に改行は出力されません。 +演算式は評価され、その値が表示されるとともに、 +変数 \fBlast\fR に代入されます。 +print 文中の文字列は出力に表示されますが、特殊文字を含めることができます。 +特殊文字はバックスラッシュ (\e) で始まります。 +\fBbc\fR で使える特殊文字は、 +"a" (ベル)、"b" (バックスペース)、 +"f" (フォームフィード)、"n" (改行)、"r" (復帰)、"q" (二重引用符)、 +"t" (タブ)、"\e" (バックスラッシュ) です。 +これ以外は無視されます。 +.IP "{ statement_list }" +複文です。複数の文を 1 つのグループにまとめて実行します。 +.IP "\fBif\fR ( expression ) \fBthen\fR statement1 [\fBelse\fR statement2]" +if 文は演算式 expression を評価し、その値に応じて +文 statement1 または文 statement2 を実行します。 +expression の値がゼロでなければ statement1 が実行されます。 +statement2 が存在し、expression の値が 0 ならば、statement2 が実行されます。 +(else 節は拡張機能です。) +.IP "\fBwhile\fR ( expression ) statement" +while 文は expression がゼロでない間、繰り返し statement を実行します。 +statement の実行前に毎回 expression を評価します。 +expression の値がゼロになるか、break 文を実行すると、 +ループが終了します。 +.IP "\fBfor\fR ( [expression1] ; [expression2] ; [expression3] ) statement" +for 文は statement の繰り返し実行を制御します。 +expression1 はループ実行の前に評価されます。 +expression2 は statement の実行前に毎回評価され、 +その値がゼロでなければ statement が実行されます。 +expression2 の値がゼロになると、ループは終了します。 +各 statement 実行の後、再び expression2 が評価される前に expression3 が +評価されます。 +expression1 あるいは expression3 が省略されていると、 +そこでは何も評価されません。 +expression2 が省略されている場合、expression2 が 1 であるのと +同様に扱われます。 +(各 expression が省略可能なのは拡張機能です。 +POSIX \fBbc\fR では、3 つの expression はどれも省略できません。) + 以下は for 文と等価なコードです: +.nf +.RS +expression1; +while (expression2) { + statement; + expression3; +} +.RE +.fi +.IP "\fBbreak\fR" +それを含む最も内側の while もしくは for 文による繰り返しを強制的に中断します。 +.IP "\fBcontinue\fR" +それを含む最も内側の for 文による繰り返しで、最初の文に戻って実行を続けます。 +(continue 文は拡張機能です) +.IP "\fBhalt\fR" +実行されると \fBbc\fR プロセッサを終了させます(拡張機能)。 +例えば "if (0 == 1) halt" の場合は \fBbc\fR は終了しません。 +halt 文が実行されないからです。 +.IP "\fBreturn\fR" +関数から戻ります。関数の結果は 0 になります。(関数の章を参照) +.IP "\fBreturn\fR ( expression )" +関数から戻ります。関数の結果は expression になります。(関数の章を参照) +.SS 疑似文 +これらは今までの文とは動作が異なります。 +疑似文は実行文ではなく、「コンパイル」時点で処理されます。 +.IP "\fBlimits\fR" +\fBbc\fR のローカルバージョンにより制限される限界値を表示します。 +(limits は拡張機能です) +.IP "\fBquit\fR" +\fBbc\fR を終了します。どんな場所にあっても、quit 文は +入力された時点で実行されます。例えば、 +"if (0 == 1) quit" +という記述であっても、\fBbc\fR は終了します。 +.IP "\fBwarranty\fR" +保証に関する注意を長めに表示します。 +(warranty は拡張機能です) +.SS 関数 +関数は、後で実行されるべき計算手順を定義する機能です。 +.B bc +の関数は常に値を計算し、それを呼びだし側に返します。 +関数定義は、それが入力から読み込まれた時点で定義が行われるという点で +「ダイナミック(動的)」です。 +一度定義された関数は、同じ名前で別の関数が定義されるまで使用可能で、 +新しい関数が定義された場合は、前の関数が置き換えられます。 +関数の定義は、以下のように行います: +.nf +.RS +\fBdefine \fIname \fB( \fIparameters \fB) { \fInewline +\fI auto_list statement_list \fB}\fR +.RE +.fi +関数呼び出しは、 +"\fIname\fB(\fIparameters\fB)\fR" +という形式の演算式です。 +.PP +パラメータ parameters は数あるいは配列 (拡張機能) です。 +関数定義では、ゼロあるいは 1 個以上のパラメータ名を +コンマで区切って並べることで定義します。 +数は値渡し(call by value)でのみ渡され、配列は変数渡し(call by variable)で +のみ渡されます。 +配列はパラメータ定義中で "\fIname\fB[]\fR" のように表記して指定します。 +関数呼び出しでは、数のパラメータに対して完全な演算式の実パラメータを +記述します。 +配列を渡す表記は配列パラメータ定義と同様です。 +名前付き配列は変数(variable)によって関数に渡されます。 +関数定義はダイナミックゆえ、 +パラメータの数と型は関数呼び出しの際にチェックされます。 +パラメータの数あるいは型に何らかの不整合があると、 +ランタイムエラーが発生します。 +未定義関数を呼び出した場合もランタイムエラーとなります。 +.PP +\fIauto_list\fR は省略可能で、ローカル変数として使用する変数のリスト +です。auto_list が存在するなら、その文法は +"\fBauto \fIname\fR, ... ;" +となります。(セミコロンはオプションです。) +各 \fIname\fR がローカル変数の名前となります。 +配列はパラメータと同様の表記で指定できます。 +これらの変数は、関数の最初でその値がスタックにプッシュされたのち +値ゼロに初期化され、関数の実行中に使用されます。 +これらの変数は関数出口にてポップされ、 +(関数呼び出し時の)元の値が復元されます。 +パラメータは実際にはローカル変数であり、 +関数呼び出しで与えられた値に初期化されます。 +bc のローカル変数は伝統的な意味でのローカル変数と異なり、 +関数 A が関数 B を呼び出しているような場合、関数 B の中に +関数 A のローカル変数と同じ名前のローカル変数がない限り、 +関数 A のローカル変数名をそのまま使って、 +関数 B から関数 A のローカル変数をアクセスできます。 +ローカル変数とパラメータはスタックにプッシュされるため、 +\fBbc\fR は再帰的な関数呼び出しをサポートしています。 +.PP +関数本体は \fBbc\fR の文のリストです。 +繰り返し述べますと、文はセミコロンか改行で区切られています。 +return 文により関数は終了し、値を返します。 +return 文には 2 つの形式があり、 +ひとつめの形式 "\fBreturn\fR" は、呼び出し元に値 0 を返します。 +もうひとつの形式 "\fBreturn ( \fIexpression \fB)\fR" は、 +expression の値を計算し、それを呼び出し元に返します。 +各関数の最後には "\fBreturn (0)\fR" があるものと解釈されます。 +これにより、明示的に return 文を置かなくても、 +関数は終了して値 0 を返します。 +.PP +関数の中では、変数 \fBibase\fR の動作が変わります。関数の中で使われて +いる定数は、関数の呼びだし時点の \fBibase\fR を元に変換が行われます。 +このため、関数内部で \fBibase\fR を変更しても無視されます。ただし、標 +準関数 \fBread\fR を呼び出した場合は例外で、これは常に現在の +\fBibase\fR の値をもとに変換が行われます。 +.SS 数学ライブラリ +\fBbc\fR に \fB-l\fR オプションを付けて起動した場合は、数学ライブラリが +読み込まれ、デフォルトの scale が 20 に設定されます。 +数学関数は、それを呼び出した時点の scale の値に従って計算を行います。 +数学ライブラリによって使用可能になる関数は、次の通りです: +.IP "s (\fIx\fR)" +sin (x の単位はラジアン) +.IP "c (\fIx\fR)" +cos +.IP "a (\fIx\fR)" +atan +.IP "l (\fIx\fR)" +log (自然対数) +.IP "e (\fIx\fR)" +exp +.IP "j (\fIn,x\fR)" +ベッセル関数 +.SS 使用例 +次の例は、/bin/sh でシェル変数 \fBpi\fR に ``パイ'' の値を代入します。 +.RS +\f(CW +pi=$(echo "scale=10; 4*a(1)" | bc -l) +\fR +.RE +.PP +次の例は、数学ライブラリで使われている ``e (x)'' の定義です +この関数は POSIX \fBbc\fR で記述されています。 +.nf +.RS +\f(CW +scale = 20 + +/* Uses the fact that e^x = (e^(x/2))^2 + When x is small enough, we use the series: + e^x = 1 + x + x^2/2! + x^3/3! + ... +*/ + +define e(x) { + auto a, d, e, f, i, m, v, z + + /* Check the sign of x. */ + if (x<0) { + m = 1 + x = -x + } + + /* Precondition x. */ + z = scale; + scale = 4 + z + .44*x; + while (x > 1) { + f += 1; + x /= 2; + } + + /* Initialize the variables. */ + v = 1+x + a = x + d = 1 + + for (i=2; 1; i++) { + e = (a *= x) / (d *= i) + if (e == 0) { + if (f>0) while (f--) v = v*v; + scale = z + if (m) return (1/v); + return (v/1); + } + v += e + } +} +\fR +.RE +.fi +.PP +次の例は、\fBbc\fR の拡張機能を使って、``checkbook balances'' +(小切手帳残高) を計算する簡単なプログラムです。 +このプログラムをファイルにしておくと、 +毎回タイプしなおさずに何度も使うことができます。 +.nf +.RS +\f(CW +scale=2 +print "\enCheck book program!\en" +print " Remember, deposits are negative transactions.\en" +print " Exit by a 0 transaction.\en\en" + +print "Initial balance? "; bal = read() +bal /= 1 +print "\en" +while (1) { + "current balance = "; bal + "transaction? "; trans = read() + if (trans == 0) break; + bal -= trans + bal /= 1 +} +quit +\fR +.RE +.fi +.PP +次の例は、再帰呼び出しにより階乗を計算する関数です。 +.nf +.RS +\f(CW +define f (x) { + if (x <= 1) return (1); + return (f(x-1) * x); +} +\fR +.RE +.fi +.SS 相違点 +このバージョンの +.B bc +は POSIX P1003.2/D11 ドラフトから実装されており、 +そのドラフトや以前の実装に比べていくつかの相違点や拡張点があります。 +伝統的に行われていたような +.I dc(1) +を用いた実装ではありません。 +このバージョンは単一プロセスであり、 +プログラムをバイトコードに変換したものを解析して実行します。 +「ドキュメントに記載されていない」オプション (-c) があり、 +プログラムを実行する代わりに、それをバイトコードに変換した結果を +標準出力に出力します。 +これは主として、パーザのデバッグと数学ライブラリの準備に用いられました。 +.PP +主な相違点は拡張機能によるものです。 +機能を高めたり追加したりするために機能が拡張されたり、 +新機能が追加されたりしています。 +相違点と拡張点のリストを以下に示します。 +.IP LANG +このバージョンは、 +環境変数 LANG および LC_ で始まる全ての環境変数の処理に関して POSIX に +準拠していません。 +.IP 名前 +伝統的な +.B bc +および POSIX +.B bc +は、関数、変数、配列の名前として単一の文字を使います。 +このバージョンでは、 +先頭が文字で始まり、文字と数字とアンダースコアから成る文字で +構成される 2 文字以上の名前が使えるように拡張されています。 +.IP 文字列 +文字列には NUL 文字を含むことはできません。 +POSIX では、文字列にはあらゆる文字を含めることができなければならない、 +としています。 +.IP last +POSIX \fBbc\fR には変数 \fBlast\fR はありません。 +\fBbc\fR の実装によっては、\fBlast\fR と同じ意味で +ピリオド (.) を用いるものがあります。 +.IP 比較 +POSIX \fBbc\fR では、比較は if 文、while 文、for 文の第 2 式の中でのみ +用いることができます。 +また、これらの文の中ではただ一つの関係演算しか使えません。 +.IP "if 文, else 節" +POSIX \fBbc\fR には else 節はありません。 +.IP "for 文" +POSIX \fBbc\fR では for 文の各演算式は省略できません。 +.IP "&&, ||, !" +POSIX \fBbc\fR には論理演算子はありません。 +.IP "read 関数" +POSIX \fBbc\fR には read 関数はありません。 +.IP "print 文" +POSIX \fBbc\fR には print 文はありません。 +.IP "continue 文" +POSIX \fBbc\fR には continue 文はありません。 +.IP "配列パラメータ" +POSIX \fBbc\fR では配列パラメータは使えません。 +他の \fBbc\fR の実装では、値渡しで配列パラメータを使えるものがあります。 +.IP "=+, =-, =*, =/, =%, =^" +POSIX \fBbc\fR ではこれらの「旧式」の代入演算子を定義する必要はありません。 +このバージョンではこれらの「旧式」代入演算子が使えるかも知れません。 +limits 文を使って、インストールしたバージョンがこれらをサポートしているか +どうか、確かめてみて下さい。 +もしそのバージョンが「旧式」代入演算子をサポートしていれば、 +文 "a =- 1" は \fBa\fR に値 -1 を代入する代わりに \fBa\fR を 1 減じます。 +.IP "数字表記中の空白" +他の \fBbc\fR 実装では、数字表記の中に空白を含めることが許されます。 +例えば、"x=1 3" は変数 x に値 13 を代入します。 +このバージョンの \fBbc\fR では、先の文は文法エラーになります。 +.IP "エラーと実行" +このバージョンの bc は、 +プログラムに文法上のエラーや他のエラーが見つかった場合に +どういうコードが実行されるか、 +という点で、他の実装と異なっています。 +ある関数定義中で文法エラーが見つかると、 +エラー回復機構は文の先頭を見つけて関数のパーズを続けようと努力します。 +ひとたび関数の中で文法エラーが見つかると、 +その関数は呼び出せなくなり、未定義状態となります。 +対話的実行コードで文法エラーがあると、 +現在の実行ブロックが無効になります。 +実行ブロックとは、ひと続きの完全な文のあとの行末までのことです。 +例えば、次のコード +.nf +.RS +a = 1 +b = 2 +.RE +.fi +には 2 つの実行ブロックがあり、 +.\" ↑ここで groff 時の字下げ量がおかしくなっているようだが、 +.\" 元の英語マニュアルでもそうなっているようだ。(jpman 酒井) +.nf +.RS +{ a = 1 + b = 2 } +.RE +.fi +には 1 つの実行ブロックがあります。 +ランタイムエラーが発生すると、現在の実行ブロックの実行が終了します。 +ランタイムの警告が発生しても、現在の実行ブロックは終了しません。 +.IP "割り込み" +対話セッションの間、SIGINT シグナル (通常、端末からの Control-C 入力で +発生します) によって現在の実行ブロックの実行が中断され、 +どの関数が中断されたかを示す「ランタイム」エラーが表示されます。 +ランタイムのデータ構造を全てクリアした後メッセージが表示され、 +\fBbc\fR は次の入力を受け付ける状態になったことを示します。 +これまでに定義した関数は全て定義されて残っており、 +ローカルでない変数の値は割り込み発生時点の値のままになっています。 +ローカル変数と関数パラメータは全て、クリア処理によって消去されます。 +非対話セッションでは、SIGINT シグナルで \fBbc\fR の実行全体が終了します。 +.SS 限界 +以下の項目が現在の +.B bc +プロセッサの限界値となっています。 +このうちいくつかは、インストール時に変更できます。 +実際の値を得るには limits 文を使って下さい。 +.IP BC_BASE_MAX +現在のところ、出力の基数の最大値は 999 に設定されています。 +入力側の基数の最大値は 16 です。 +.IP BC_DIM_MAX +現在のところ 65535 として配布されていますが、 +インストールしたバージョンでは異なっているかも知れません。 +.IP BC_SCALE_MAX +小数点以下の桁数は INT_MAX 桁に制限されています。 +また、小数点より上の桁数も INT_MAX 桁に制限されています。 +.IP BC_STRING_MAX +文字列中の文字数は INT_MAX 文字に制限されています。 +.IP 指数 +累乗演算 (^) の指数の値は LONG_MAX に制限されています。 +.IP 乗算 +全部で LONG_MAX / 90 桁以上になる数の積を計算すると +誤った結果になることがあります。 +32 ビット long では、この数は 23,860,929 桁です。 +.IP コードサイズ +各関数および "main" プログラムはバイトコードで 16384 バイト以内に +制限されています。 +この限界値 (BC_MAX_SEGS) は 1024 バイトの 16 セグメント以上になるように +容易に変更可能です。 +.IP 変数名 +単純変数、配列、関数各々について、一意に識別される名前は 32767 個に +制限されています。 +.SH 関連ファイル +ほとんどの実装では、\fBbc\fR は完全に自分自身で独立しています。 +実行ファイルのサイズが重要視される場合や、 +C コンパイラが長い文字列を扱えない場合は、 +\fBbc\fR は /usr/local/lib/libmath.b から標準の数学ライブラリを読み込みます。 +(実際のディレクトリ位置はこれとは異なり、 +例えば /lib/libmath.b かも知れません。) +.SH 診断 +コマンドラインで指定したファイルがオープンできない場合、 +\fBbc\fR はファイルが利用できない旨を表示して終了します。 +また、コンパイル時あるいはランタイムの診断メッセージもありますが、 +それらは自身で理解できるようになっているはずです。 +.SH バグ +エラーリカバリがまだうまくいっていません。 +.SH 作者 +.nf +Philip A. Nelson +phil@cs.wwu.edu +.fi +.SH 謝辞 +実装をテストする際に +広範囲に手助けしてくれた Steve Sommars (Steve.Sommars@att.com) に感謝します。 +たくさんの素晴らしい意見をもらいました。 +彼のおかげでとてもよいものになりました。 diff --git a/ja_JP.eucJP/man/man1/biff.1 b/ja_JP.eucJP/man/man1/biff.1 new file mode 100644 index 0000000000..c6a1865bdb --- /dev/null +++ b/ja_JP.eucJP/man/man1/biff.1 @@ -0,0 +1,96 @@ +.\" 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 +.\" jpman %Id: biff.1,v 1.2 1997/04/01 07:08:32 mutoh Stab % +.\" %Id: biff.1,v 1.2.2.1 1997/06/24 06:43:41 charnier Exp % +.\" +.Dd June 6, 1993 +.Dt BIFF 1 +.Os BSD 4 +.Sh 名称 +.Nm biff +.Nd メールの到着時に、メールの着信とメールの発信人を報告するかどうか設定する +.Sh 書式 +.Nm biff +.Op Cm n | y +.Sh 解説 +.Nm biff +は、現在の端末を利用している間、メールの到着を +システムから報告してもらうかどうかを設定します。 +.Pp +.Nm biff +がサポートしているオプションとしては、以下のものがあります: +.Bl -tag -width 4n +.It Cm n +報告しないように設定します。 +.It Cm y +報告するように設定します。 +.El +.Pp +.\" 以下の一文は元の英語版マニュアルには含まれていないので +.\" とりあえずコメントアウトしてある --- jpman project sakai@csl.cl.nec.co.jp +.\" +.\" オプションを指定しない場合は現在状態を表示します。 +.\" +メールの到着を報告するように設定しているときにメールが届いた場合、 +メールのヘッダとメッセージの最初の数行が自分の画面に表示されます。 +ログインするたびに設定されるように、たいてい +.Pa \&.login +や +.Pa \&.profile +ファイルに +.Dq Li biff y +コマンドの記述が含められます。 +.Pp +.Nm biff +は非同期に動作します。同期して動作させる場合は、 +.Xr sh 1 +の +.Ev MAIL +変数を用いるか、 +.Xr csh 1 +の +.Ev mail +変数を利用してください。 +.Sh 関連項目 +.Xr csh 1 , +.Xr mail 1 , +.Xr sh 1 , +.Xr comsat 8 +.Sh 歴史 +.Nm +コマンドは +.Bx 4.0 +から登場しました。 +.Nm biff +コマンドの名前は、 Heidi Stettner の犬の名前にちなんでいます。 +彼は、1993年の8月に15歳で亡くなりました。 diff --git a/ja_JP.eucJP/man/man1/bison.1 b/ja_JP.eucJP/man/man1/bison.1 new file mode 100644 index 0000000000..f5db17dd65 --- /dev/null +++ b/ja_JP.eucJP/man/man1/bison.1 @@ -0,0 +1,354 @@ +.TH BISON 1 local +.\" jpman %Id: bison.1,v 1.3 1997/08/20 12:18:34 horikawa Stab % +.SH 名称 +bison \- GNU プロジェクト パーサ・ジェネレータ (yacc 置き換え) +.SH 書式 +.B bison +[ +.BI \-b " file-prefix" +] [ +.BI \-\-file-prefix= file-prefix +] [ +.B \-d +] [ +.B \-\-defines +] [ +.B \-k +] [ +.B \-\-token-table +] [ +.B \-l +] [ +.B \-\-no-lines +] [ +.B \-n +] [ +.B \-\-no-parser +] [ +.BI \-o " outfile" +] [ +.BI \-\-output-file= outfile +] [ +.BI \-p " prefix" +] [ +.BI \-\-name-prefix= prefix +] [ +.B \-r +] [ +.B \-\-raw +] [ +.B \-t +] [ +.B \-\-debug +] [ +.B \-v +] [ +.B \-\-verbose +] [ +.B \-V +] [ +.B \-\-version +] [ +.B \-y +] [ +.B \-\-yacc +] [ +.B \-h +] [ +.B \-\-help +] [ +.B \-\-fixed-output-files +] +file +.SH 解説 +.I bison +は +.IR yacc (1) +風のパーサ・ジェネレータです。 +.IR yacc +用に作成された入力ファイルについて上位互換になっているはずです。 +.PP +入力ファイルは +.I yacc +の流儀に従い、末尾は +.BR .y +で終わるべきです。 +.IR yacc +と異なり、生成されるファイルの名前は固定ではなく、 +入力ファイルのプレフィクスが用いられます。 +例えば、 +.B parse.y +という名前の文法記述ファイルからは、 +.IR yacc +のような +.BR y.tab.c +ではなく、 +.BR parse.tab.c +というファイル名のパーサが生成されます。 +.PP +ここに示す +.I bison +のオプション説明は、正式なドキュメントである +.B bison.texinfo +マニュアルの +.B Invocation +ノードからの抜粋です。 +.PP +.I bison +は、従来の単一文字オプションと覚えやすい長形式オプション名の +両方をサポートしています。 +長形式のオプション名は +.BR \- +ではなく +.B \-\- +で指定します。 +一意に決められる限り、オプション名は略して記述して構いません。 +.BR \-\-file-prefix +のように引数を取る長形式オプションの場合、 +オプション名とその引数とを +.BR = +で連結します。 +.SS オプション +.TP +.BI \-b " file-prefix" +.br +.ns +.TP +.BI \-\-file-prefix= file-prefix +.I bison +の全ての出力ファイルで用いるプレフィクスを指定します。 +出力ファイルの名前は、あたかも入力ファイルが +\fIfile-prefix\fB.c\fR +という名前であったかのように決められます。 +.TP +.B \-d +.br +.ns +.TP +.B \-\-defines +追加の出力ファイルを書き出します。 +このファイルには、 +少数の +.B extern +変数宣言に加え、 +文法記述で定義されたトークンの型名や +セマンティックバリューの型 +.BR YYSTYPE +を定義するマクロが含まれます。 +.sp +パーサの出力ファイルが +\fIname\fB.c\fR +ならば、この追加出力ファイルの名前は +\fIname\fB.h\fR +となります。 +.sp +.B yylex +の定義を別のソースファイルに記述したい場合は、 +この出力ファイルが必ず必要になります。 +なぜなら、 +.B yylex +はトークンの型コードや変数 +.BR yylval +を参照可能である必要があるからです。 +.TP +.B \-r +.br +.ns +.TP +.B \-\-raw +\fIname\fB.h\fR ファイルのトークン番号は通常、Yacc 互換の置き換えです。 +このオプションを指定すると、 +それに代わって Bison のトークン番号が出力されます。 +(Yacc では、単一文字トークンを除き、トークン番号は 257 から始まります。 +Bison は全てのトークンについて、3 から始まる連番を割り当てます。) +.TP +.B \-k +.br +.ns +.TP +.B \-\-token-table +出力ファイル \fIname\fB.tab.c\fR が +トークン名のリストをその番号順に含むようにします。 +このリストは配列 +.IR yytname +で定義されます。また、 +.IR YYNTOKENS , +.IR YYNNTS , +.IR YYNRULES , +.IR YYNSTATES +がそれぞれ #define されます。 +.TP +.B \-l +.br +.ns +.TP +.B \-\-no-lines +パーサファイルにプリプロセッサコマンド +.B #line +を入れません。 +通常 +.I bison +はパーサファイルに +.B #line +を挿入し、C コンパイラおよびデバッガがエラーとソースファイル、 +つまり文法ファイルとを結びつけられるようにします。 +このオプションを指定すると、エラーはパーサファイルと結びつけられ、 +自分の責任で独立したソースファイルとして取り扱うようになります。 +.TP +.B \-n +.br +.ns +.TP +.B \-\-no-parser +パーサコードを出力に生成せず、宣言のみ生成します。 +生成された \fIname\fB.tab.c\fR ファイルには +定数宣言のみ含まれます。 +更に、変換した全てのアクションを含む switch 文本体 +を含むファイル \fIname\fB.act\fR を生成します。 +.TP +.BI \-o " outfile" +.br +.ns +.TP +.BI \-\-output-file= outfile +出力するパーサファイルの名前を +.I outfile +とします。 +.sp +.B \-v +オプションおよび +.B \-d +オプションのところで述べたように、 +この他の出力ファイルの名前は +.I outfile +から作られます。 +.TP +.BI \-p " prefix" +.br +.ns +.TP +.BI \-\-name-prefix= prefix +パーサで使われる外部シンボルの名前を変更し、 +.BR yy +ではなく +.I prefix +で始まるようにします。 +名前を変更されるシンボルの正確なリストは以下の通り。 +.BR yyparse , +.BR yylex , +.BR yyerror , +.BR yylval , +.BR yychar , +.BR yydebug +.sp +例えば +.BR "\-p c" +と指定すると、これらは +.BR cparse , +.BR clex +等という名前になります。 +.TP +.B \-t +.br +.ns +.TP +.B \-\-debug +マクロ +.B YYDEBUG +の定義をパーサファイルに出力し、デバッグ機能がコンパイルされるようにします。 +.TP +.B \-v +.br +.ns +.TP +.B \-\-verbose +追加の出力ファイルを書き出します。 +このファイルには、 +パーサの状態と、その状態で各先読みトークンに対してどういう動作を行うか、 +に関する詳細説明が含まれます。 +.sp +このファイルには、演算子の順位によって解決したものと +解決していないものを合わせた、 +全ての競合についても記述されています。 +.sp +このファイルの名前は、パーサの出力ファイル名から +.B .tab.c +あるいは +.B .c +を取り除き、代わって +.B .output +を付けたものになります。 +.sp +従って、入力ファイルが +.BR foo.y +ならパーサファイルはデフォルトでは +.B foo.tab.c +となり、その結果、詳細出力ファイル名は +.BR foo.output +となります。 +.TP +.B \-V +.br +.ns +.TP +.B \-\-version +.I bison +のバージョン番号を出力して終了します。 +.TP +.B \-h +.br +.ns +.TP +.B \-\-help +.I bison +のオプション要約を表示して終了します。 +.TP +.B \-y +.br +.ns +.TP +.B \-\-yacc +.br +.ns +.TP +.B \-\-fixed-output-files +.BR "\-o y.tab.c" +と等価です。つまり、パーサ出力ファイルは +.BR y.tab.c +となり、他の出力ファイルは +.B y.output +および +.BR y.tab.h +となります。 +このオプションの目的は、 +.IR yacc +の出力ファイル名規則を真似ることです。 +従って、次のシェルスクリプトは +.IR yacc +の代用となります: +.sp +.RS +.ft B +bison \-y $* +.ft R +.sp +.RE +.PP +以前のリリースとの互換性のため、 +長形式オプションは `\-\-' のほか、`+' で始めることもできます。 +ただしこれは POSIX.2 標準と非互換であるため、 +将来 `+' サポートはなくなるでしょう。 +.SH 関連ファイル +/usr/local/lib/bison.simple 単純なパーサ +.br +/usr/local/lib/bison.hairy 複雑なパーサ +.SH 関連項目 +.IR yacc (1) +.br +.I bison +のソースディストリビューションに +.B bison.texinfo +として含まれている +.IR "Bison Reference Manual" +.SH 診断 +メッセージ自身で理解できるようになっています。 diff --git a/ja_JP.eucJP/man/man1/brandelf.1 b/ja_JP.eucJP/man/man1/brandelf.1 new file mode 100644 index 0000000000..341e7b15cf --- /dev/null +++ b/ja_JP.eucJP/man/man1/brandelf.1 @@ -0,0 +1,89 @@ +.\" Copyright (c) 1997 +.\" John-Mark Gurney. 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. Neither the name of the author nor the names of any co-contributors +.\" may be used to endorse or promote products derived from this software +.\" without specific prior written permission. +.\" +.\" THIS SOFTWARE IS PROVIDED BY John-Mark Gurney 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 AUTHOR 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. +.\" +.\" jpman %Id: brandelf.1,v 1.3 1997/05/19 16:28:25 horikawa Stab % +.\" +.Dd February 6, 1997 +.Dt BRANDELF 1 +.Os FreeBSD +.Sh 名称 +.Nm brandelf +.Nd ELF バイナリに特定 ABI 向けのマークをつける +.Sh 書式 +.Nm brandelf +.Op Fl v +.Op Fl t Ar string +.Ar file ... +.Sh 解説 +本コマンドは ELF バイナリにマークをつけ、 +.Tn FreeBSD +用のある ABI 環境下で動作するようにします。 +.Pp +オプションは以下の通りです: +.Bl -tag -width Fl +.It Fl v +詳細な報告を出力します。 +.It Fl t Ar string +指定された ELF バイナリの ABI タイプとして +.Ar string +をマークします。現在サポートされている ABI は +.Dq Tn FreeBSD +と +.Dq Linux +です。 +.It Ar file +同時に +.Fl t Ar string +が指定されていれば、 +.Ar file +にタイプ +.Ar string +のマークを印します。 +それ以外の場合は、単に +.Ar file +のマークを表示します。 +.El +.Sh 実行例 +.Nm +コマンドの典型的な使用例を以下に示します: +.Pp +.Dl % brandelf file +.Dl % brandelf -t Linux file +.Sh 診断 +成功すると 0 で終了します。 +ファイルが存在しない、短すぎる、あるいは正しくマーク付けできなかった +場合には 1 で終了します。 +.Sh 歴史 +.Nm +のマニュアルページは +.Fx 2.2 +で初めて登場しました。 +.Sh 作者 +このマニュアルページは +John-Mark Gurney +.Aq gurney_j@efn.org +によって記述されました。 diff --git a/ja_JP.eucJP/man/man1/btreeop.1 b/ja_JP.eucJP/man/man1/btreeop.1 new file mode 100644 index 0000000000..8fc9a8fc35 --- /dev/null +++ b/ja_JP.eucJP/man/man1/btreeop.1 @@ -0,0 +1,170 @@ +.\" +.\" Copyright (c) 1996, 1997 Shigio Yamaguchi. 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 Shigio Yamaguchi. +.\" 4. Neither the name of the author nor the names of any co-contributors +.\" may be used to endorse or promote products derived from this software +.\" without specific prior written permission. +.\" +.\" THIS SOFTWARE IS PROVIDED BY THE AUTHOR 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 AUTHOR 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. +.\" +.Dd April 21, 1997 +.\" jpman %Id: btreeop.1,v 1.3 1997/06/18 13:41:54 jsakai Stab % +.Dt BTREEOP 1 +.Os BSD 4 +.Sh 名称 +.Nm btreeop +.Nd btree データベースメンテナンスツール +.Sh 書式 +.Nm btreeop +.Op Fl A +.Op Fl C +.Op Fl D Ar key +.Op Fl K Ar key +.Op Fl b +.Op Fl c Ar cashesize +.Op Fl l +.Op Fl p Ar psize +.Op Ar dbname +.Sh 解説 +.Nm btreeop +は、 +.Xr btree 3 +データベースに対して単純な操作を行います。 +.Nm btreeop +は、データベースを作成したり、レコードを記入したり、(シーケンシャルや +インデックスで)レコードを読み出したり、レコードを削除したりすることができます。 +重複したエントリを持つこともできます。 +.Sh オプション +大文字はコマンドを示します。コマンドが指定されなかった場合は、 +シーケンシャルな読み出しであると想定します。 +.Bl -tag -width Ds +.It Fl A +レコードを追加します。データベースが存在しない場合、 +btreeop はそれを作成します。 +.It Fl C +データベースを作成し、レコードを記入します。 +.It Fl D Ar key +key を用いてレコードを削除します。 +.It Fl K Ar key +key を用いてレコードを検索します。 +.It Fl b +バイトオーダが BIG_ENDIAN であると仮定します。デフォルトでは LITTLE_ENDIAN +です。 +.It Fl c Ar cashesize +キャッシュサイズを指定します。BTREEINFO の +.Nm info.cachesize +と等価です (btree(3) 参照)。 +.It Fl l +バイトオーダが LITTLE_ENDIAN であると仮定します。(デフォルトです) +.It Fl p Ar psize +ページサイズを指定します。BTREEINFO の +.Nm info.psize +と等価です (btree(3) 参照)。 +.It Ar dbname +データベース名を指定します。デフォルトは 'btree' です。 +.Sh データフォーマット +データベースを作成する (あるいは追加する) 際、 +.Nm btreeop +はデータを標準入力から読み込みます。 +データのフォーマットは以下のようになります。 + + Key Data\\n + Key Data\\n + . + . + . + +.El + +.Bl -enum -offset indent +.It +key とデータはブランク ('\\t' あるいは ' ') で区切られます。 +.It +key にブランクを含めることはできません。 +.It +データにはブランクを含めることができます。 +.It +空のデータは許されません。 +.It +加えて、META レコードが利用できます。META レコードはブランクで始まる key を +持ちます。このレコードは、インデックス検索 (-K オプション) だけで読むことが +できます。使用方法は btreeop によっては制限されません。 +.El +.Sh 使用例 +データベースの作成 + + % btreeop -C + key1 data1 + key2 data2 + key3 data3 + ^D + % + +レコードの追加 + + % btreeop -A + __.VERSION 2 + key2 data2-2 + ^D + % + +シーケンシャルな読み出し + + % btreeop + key2 data2 + key3 data3 + key2 data2-2 + key1 data1 + % + +インデックスによる読み出し + + % btreeop -K key2 + key2 data2-2 + key2 data2 + % btreeop -K ' __.VERSION' + __.VERSION 2 + % + +レコードの削除 + + % btreeop -D ' __.VERSION' + % btreeop -K ' __.VERSION' + % + +.Sh 関連ファイル +.Bl -tag -width tags -compact +.It Pa btree +デフォルトのデータベース名 +.El +.Sh 診断 +.Nm btreeop +は、エラーが発生した場合、値 1 で終了します。その他の場合は、0 で終了します。 +.Sh 関連項目 +.Xr btree 3 +.Sh 作者 +Shigio Yamaguchi (shigio@wafu.netgate.net) +.Sh 歴史 +.Nm +コマンドは、FreeBSD 2.2 から登場しました。 diff --git a/ja_JP.eucJP/man/man1/calendar.1 b/ja_JP.eucJP/man/man1/calendar.1 new file mode 100644 index 0000000000..6213c63388 --- /dev/null +++ b/ja_JP.eucJP/man/man1/calendar.1 @@ -0,0 +1,238 @@ +.\" Copyright (c) 1989, 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. +.\" +.\" @(#)calendar.1 8.1 (Berkeley) 6/29/93 +.\" jpman %Id: calendar.1,v 1.2 1997/04/20 09:45:28 jsakai Stab % +.\" +.Dd June 29, 1993 +.Dt CALENDAR 1 +.Os +.Sh 名称 +.Nm calendar +.Nd 予定表サービス +.Sh 書式 +.Nm calendar +.Op Fl a +.Op Fl A Ar num +.Op Fl B Ar num +.Oo Fl t Ar dd +.Sm off +.Op . Ar mm Op . Ar year +.Sm on +.Oc +.Op Fl f Ar calendarfile +.Sh 解説 +.Nm calendar +は、カレントディレクトリの +.Pa calendar +という名前のファイルをチェックし、今日もしくは明日の日付で始まる行を +表示します。金曜日には、金曜日から月曜日までのイベントを表示します。 +.Pp +オプションには以下のものがあります: +.Bl -tag -width Ds +.It Fl a +全ユーザの ``calendar'' ファイルを処理し、結果をメールで各ユーザに +送ります。このオプションを使用するためには、スーパーユーザの権限が必要です。 +.It Fl A Ar num +今日から +.Ar num +日先(未来)までの行を表示します。 +.It Fl B Ar num +今日から +.Ar num +日前(過去)までの行を表示します。 +.It Fl f Pa calendarfile +デフォルトのカレンダファイルとして +.Pa calendarfile +を使用します。 +.It Xo Fl t +.Sm off +.Ar dd +.Op . Ar mm Op . Ar year +.Sm on +.Xc +テスト専用: 指定された値に日付を設定します。 +.El +.Pp +各国語でのカレンダを扱うには、 +カレンダファイルのできるだけ最初のほうに +.Dq LANG=<locale_name> +という記述を入れておきます。 +その国のカレンダでのイースター名を扱うには、 +.Dq Easter=<national_name> +(Catholic Easter の場合) +あるいは +.Dq Paskha=<national_name> +(Orthodox Easter の場合) +という記述を入れます。 +.\" ↑ catholic easter, orthodox easter の訳がわからないのでそのままに +.\" してあります。どなたか分かる方、修正して下さい。 (J.Sakai) +.Pp +各行は月や日で始まらなければなりません。 +数字による表記、文字による表記を含め、ほぼいかなる形式でも受け付けます。 +適切な locale が設定されていれば、 +その国の月表記や曜日表記も使用できます。 +アスタリスク(``*'') 1 つは、全ての月にマッチします。 +曜日だけで月の指定のないものは、毎週のその曜日にマッチします。 +月だけの指定で日のないものは、その月の 1 日(ついたち)にマッチします。 +.\" ↓原文と若干異なるがこの意味であっていると思う (J.Sakai) +日の指定の後に 2 桁の数字が来た場合は、この数字が月の指定とみなされます。 +.\" 原文は "Two numbers default to the month followed by the day." +タブではじまる行は直前に指定した日にちが指定されたことになり、 +これによって同一日のイベントを複数の行に記述することが出来ます。 +.Pp +``Easter'' は今年のイースターであり、 +正または負の整数を後ろにつけることができます。 +.Pp +``Paskha'' は今年の Orthodox Easter であり、 +正または負の整数を後ろにつけることができます。 +.Pp +曜日の後ろには ``-4'' ... ``+5'' をつけることができます。 +これらは「最後」「第1」「第2」「第3」「第4」の別名であり、 +「4月の最後の月曜日」といった日付が変動するイベントの記述に用いられます。 +.Pp +慣習により、日付の後にアスタリスクが付いているイベントは +決まった日にちではなく、その年によって日にちが変わります。 +.Pp +イベントの内容は行の中の最初のタブ文字以降に記述します。 +行の中にタブ文字がなければイベント内容は表示されません。 +行の中の最初の文字がタブである場合、 +その行は直前の行の継続行として扱われます。 +.Pp +``calendar'' ファイルは +.Xr cpp 1 +によって処理されます。例えば、その会社の休日やミーティングの予定などの +共有ファイルを include することができます。 +共有ファイルがフルパス名指定されない場合、 +.Xr cpp 1 +はまずカレントディレクトリ(もしくはホームディレクトリ)を参照し、 +次に +.Pa /usr/share/calendar +ディレクトリを参照します。空行や C のコメント +.Pq Li /* ... */ +の部分は無視されます。 +.Pp +calendar ファイルの例を示します +(タブ文字 <tab> は強調した \fB\et\fR で示します): +.Bd -unfilled -offset indent +LANG=C +Easter=Ostern + +#include <calendar.usholiday> +#include <calendar.birthday> + +6/15\fB\et\fR6月15日 (曖昧だと、デフォルトでは 月/日になります). +Jun. 15\fB\et\fR6月15日. +15 June\fB\et\fR6月15日. +Thursday\fB\et\fR毎週木曜日. +June\fB\et\fR毎年6月1日. +15 *\fB\et\fR毎月15日. + +May Sun+2\fB\et\fR5月の第2日曜日 (母の日) +04/SunLast\fB\et\fR4月の最後の日曜日, +\fB\et\fR欧州のサマータイム +Easter\fB\et\fRイースター +Ostern-2\fB\et\fRGood Friday (イースターの2日前) +Paskha\fB\et\fROrthodox Easter + +.Ed +.Sh 関連ファイル +.Pp +.Bl -tag -width calendar.christian -compact +.It Pa calendar +カレントディレクトリにあるカレンダファイル。 +.It Pa ~/.calendar +.Pa カレンダ +のホームディレクトリ。 +もしこのディレクトリが存在すれば、 +.Nm calendar +はそこに chdir します。 +.It Pa ~/.calendar/calendar +カレントディレクトリにカレンダファイルが存在しない場合に +用いるカンレダファイル。 +.It Pa ~/.calendar/nomail +このファイルが存在すればメールは送信しません。 +.El +.Pp +デフォルトのカレンダファイルとして、以下のものが用意されています: +.Pp +.Bl -tag -width calendar.christian -compact +.It Pa calendar.birthday +有名な人(およびそれほど有名でない人)の誕生日や没日。 +.It Pa calendar.christian +キリスト教の休暇。 +このカレンダは、その年にあうように、 +システム管理者が毎年更新する必要があります。 +.It Pa calendar.computer +コンピュータ関連の人が知っておきたい記念日。 +.It Pa calendar.history +その他いろいろ。主にアメリカの歴史的な記念日。 +.It Pa calendar.holiday +その他の記念日。あまり知られていないものや、全く知られていないものも +含まれています。 +.It Pa calendar.judaic +ユダヤ教の休暇。 +このカレンダは、その年にあうように、 +システム管理者が毎年更新する必要があります。 +.It Pa calendar.music +音楽関係の記念日。誕生日、没日。特にロックンロール系。 +.It Pa calendar.usholiday +アメリカの記念日。 +このカレンダは、その年にあうように、 +システム管理者が毎年更新する必要があります。 +.It Pa calendar.german +ドイツのカレンダ。 +.It Pa calendar.russian +ロシアのカレンダ。 +.\" 日本のカレンダーも標準配布されるようになれば、 +.\" 以下のような行を追加しないとね。 (J.Sakai) +.\" .It Pa calendar.japan +.\" 日本の暦 +.El +.Sh 関連項目 +.Xr at 1 , +.Xr cpp 1 , +.Xr cron 8 , +.Xr mail 1 +.Sh 互換性 +以前の +.Nm calendar +は、正しい日付であれば、行のどこにあっても認識するように +プログラムされていましたが、本バージョンの +.Nm calendar +は、行の先頭にある日付しか認識しません。 +.Sh 歴史 +.Nm +コマンドは Version 7 AT&T UNIX から登場しました。 +.Sh バグ +ユダヤの祝日や月齢は +.Nm calendar +では処理できません。 diff --git a/ja_JP.eucJP/man/man1/cap_mkdb.1 b/ja_JP.eucJP/man/man1/cap_mkdb.1 new file mode 100644 index 0000000000..b477d0cc07 --- /dev/null +++ b/ja_JP.eucJP/man/man1/cap_mkdb.1 @@ -0,0 +1,112 @@ +.\" Copyright (c) 1992 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: @(#)cap_mkdb.1 5.4 (Berkeley) 3/6/93 +.\" %Id: cap_mkdb.1,v 1.2.2.1 1997/09/14 20:39:28 jkh Exp % +.\" jpman %Id: cap_mkdb.1,v 1.2 1997/05/17 15:50:47 horikawa Stab % +.\" +.Dd June 6, 1993 +.Dt CAP_MKDB 1 +.Os +.Sh 名称 +.Nm cap_mkdb +.Nd ケーパビリティ・データベースを作る +.Sh 書式 +.Nm cap_mkdb +.Op Fl v +.Op Fl f Ar outfile +.Ar file1 +.Op Ar file2 ... +.Pp +.Sh 解説 +.Nm cap_mkdb +は、指定したファイルを連結して形成した +.Xr getcap 3 +論理データベースから、ハッシュ化 +されたデータベースを作ります。 +.Pp +データベースの名前は、先頭に指定したファイルのベース名に文字列 +.Dq .db +を付け加えたものになります。 +.Xr getcap 3 +ルーチンの検索速度は、オリジナルのテキストファイルよりも、 +このデータベースのほうがずっと高速です。 +.Pp +ファイル内の ``tc'' エントリは、データベースにストアされる前に展開され +ます。 +.Pp +オプションとしては、以下のものがあります: +.Bl -tag -width XXXXXX -indent +.It Fl f Ar outfile +データベースのベース名として別のものを指定します。 +.It Fl v +データベース内のケーパビリティレコードの登録数を表示します。 +.El +.Pp +.Sh 書式 +個々のレコードは二種類の異なるキーを用いてデータベース内に格納されます。 +.Pp +第一の形式は、キーがレコードの最初のケーパビリティ +(末端のコロン(``:'')は含みません)から構成され、 +データフィールドがスペシャルバイトとレコードの残りの部分から構成されています。 +スペシャルバイトの値は、0 あるいは 1 のいずれかです。ここで 0 はレコードの +状態が良好であることを、1 はレコード中に展開することができなかっ +た ``tc'' ケーパビリティが存在することを示します。 +.Pp +第二の形式は、キーがレコード最初のケーパビリティの中の名前の一つで +構成され、データフィールドがスペシャルバイトとレコードの最初のケーパビリティ +から構成されています。この場合スペシャルバイトの値は 2 です。 +.Pp +通常の動作においては、まずデータベースから名前を検索します。 +その結果得られるのは、第二の形式のキー/データ組です。 +このキー/データ組のデータフィールドを用いて、 +第一の形式のキー/データ組を検索します。これが +与えられた名前に対する実際のデータになります。 +.Sh 戻り値 +.Nm cap_mkdb +ユーティリティは成功した場合 0 を、エラーが起こった場合は 0 より大きな値を +返します。 +.\" +.\" 以下の使用例の章は FreeBSD オリジナルマニュアルには無い。 +.\" このような使用例の正当性を容易には確認できないので、 +.\" 残念だがこの章はコメントアウトすることにした。 --- jpman J.Sakai +.\" +.\".Sh 使用例 +.\"termcap ファイルにエントリを追加した場合などは、 +.\"このコマンドを用いてデータベースファイルを更新しておきます。 +.\".Pp +.\".Dl # cap_mkdb -v /usr/share/misc/termcap +.\".Dl cap_mkdb: 555 capability records +.Sh 関連項目 +.Xr dbopen 3 , +.Xr getcap 3 , +.Xr termcap 5 + diff --git a/ja_JP.eucJP/man/man1/cat.1 b/ja_JP.eucJP/man/man1/cat.1 new file mode 100644 index 0000000000..66183b6678 --- /dev/null +++ b/ja_JP.eucJP/man/man1/cat.1 @@ -0,0 +1,116 @@ +.\" Copyright (c) 1989, 1990, 1993 +.\" The Regents of the University of California. All rights reserved. +.\" +.\" This code is derived from software contributed to Berkeley by +.\" the Institute of Electrical and Electronics Engineers, Inc. +.\" +.\" 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. +.\" +.\" @(#)cat.1 8.3 (Berkeley) 5/2/95 +.\" jpman %Id: cat.1,v 1.3 1997/08/31 14:09:30 horikawa Stab % +.\" %Id: cat.1,v 1.3.2.1 1997/02/28 07:54:20 mpp Exp % +.\" +.Dd May 2, 1995 +.Dt CAT 1 +.Os BSD 3 +.Sh 名称 +.Nm cat +.Nd ファイルの連結、表示を行う +.Sh 書式 +.Nm cat +.Op Fl benstuv +.Op Fl +.Op Ar +.Sh 解説 +.Nm cat +はファイルを連続的に読み込み、標準出力に書き出します。 +.Ar file +はコマンドラインに記述された順番で処理されます。 +``-'' は標準入力を表します。 +.Pp +オプションは以下のとおりです。 +.Bl -tag -width Ds +.It Fl b +.Fl n +と同じですが、空行を行数として数えません。 +.It Fl e +.Fl v +と同じですが、各行の最後に +.Pq Ql \&$ +を表示します。 +.It Fl n +行番号を付け加えます。行番号は 1 から始まります。 +.It Fl s +連続した空行を圧縮します。連続した空行は 1 行の空行 +として出力されます。 +.It Fl t +.Fl v +と同じですが、タブを +.Ql ^I +で表示します。 +.It Fl u +出力のバッファリングを行いません。 +.It Fl v +表示できない文字を目に見える形で表示します。 +control-X は +.Ql ^X +、削除文字 (8進数で 0177) は +.Ql ^? +と表示されます。 +ASCII 文字でないもの ( 最上位ビットが立っているもの ) +は、 +.Ql M- +(メタ) のあとに残りの7ビットで表されるキャラクタを +表示します。 +.El +.Pp +.Nm cat +は実行に成功すると 0 を返し、エラーが起こると 0 より +大きな値を返します。 +.Sh バグ +シェルの出力リダイレクトのメカニズムが原因で、 +.Dq Li cat file1 file2 > file1 +は file1 に最初に入っているデータを消去してしまいます! +.Sh 関連項目 +.Xr head 1 , +.Xr more 1 , +.Xr pr 1 , +.Xr tail 1 , +.Xr vis 1 +.Rs +.%A Rob Pike +.%T "UNIX Style, or cat -v Considered Harmful" +.%J "USENIX Summer Conference Proceedings" +.%D 1983 +.Re +.Sh 歴史 +.Nm +は Version 1 AT&T UNIX から登場しました。 +Dennis Ritchie がマニュアルの初版をデザインし、執筆しました。 + diff --git a/ja_JP.eucJP/man/man1/catman.1 b/ja_JP.eucJP/man/man1/catman.1 new file mode 100644 index 0000000000..c0a546af3e --- /dev/null +++ b/ja_JP.eucJP/man/man1/catman.1 @@ -0,0 +1,142 @@ +.\" Copyright (c) March 1996 Wolfram Schneider <wosch@FreeBSD.org>. Berlin. +.\" 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. +.\" +.\" THIS SOFTWARE IS PROVIDED BY THE AUTHOR 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 AUTHOR 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. +.\" +.\" /usr/bin/catman - preformat man pages +.\" +.\" %Id: catman.1,v 1.8.2.1 1996/12/10 17:23:05 joerg Exp % +.\" jpman %Id: catman.1,v 1.3 1997/04/01 14:14:59 horikawa Stab % +.Dd Mar 12, 1995 +.Dt CATMAN 1 +.Os +.Sh 名称 +.Nm catman +.Nd オンラインマニュアルを事前にフォーマットする +.Sh 書式 +.Nm catman +.Op Fl f | Fl force +.Op Fl h | Fl help +.Op Fl p | Fl print +.Op Fl r | Fl remove +.Op Fl v | Fl verbose +.Op Ar directories... +.Sh 解説 +.Nm catman +はマニュアルを ASCII 形式にフォーマットします。これは +.Ar directories +で全てのマニュアルについて +.Sq man program +とタイプするのと似ています。 +.Ar directories +はマニュアルの格納されているディレクトリやサブディレクトリを +スペースかコロンで区切ったものです。 +.Ar directories +が指定されなかった場合、デフォルトとして +.Ar /usr/share/man +が使われます。 +.Sh オプション +.Bl -tag -width Ds +.It Fl f , Fl force +既にある cat 形式のマニュアルへの上書きを強制します。 +普通は、マニュアルが古くなったときだけ、 +フォーマットしなおされるべきものです。 +このオプションは時間と CPU と RAM の無駄使いです。 +.It Fl h , Fl help +オプションを表示して終了します。 +.It Fl p , Fl print +実際にはマニュアルのフォーマットを行わず、何を行うかのみを表示します。 +.It Fl r , Fl remove +不要ファイルを削除します。例えば、 +man 形式の無い cat 形式、 +圧縮された cat 形式がある非圧縮の cat 形式、 +英数字で構成されていないファイル名を持つファイル、 +圧縮された man 形式がある非圧縮の man 形式です。 +.It Fl v , Fl verbose +より多くの警告を表示します。 +.Sh 使用例 +.Pp +.Dl $ catman +.Pp +.Ar /usr/share/man +以下のマニュアルを、必要な分だけフォーマットします。 +.Pp +.Dl $ catman $MANPATH +.Pp +ユーザの全てのマニュアルパス以下の +マニュアルを、必要な分だけフォーマットします。 +.Pp +.Dl $ catman -f /usr/local/man/man1 /usr/local/man/manl +.Pp +.Pa /usr/local/man/man1 +と +.Pa /usr/local/man/manl +以下のマニュアルを強制的にフォーマットしなおします。 +.Pp +.Dl $ catman -p /usr/X11/man +.Pp +何が行われるかを表示するだけです。 +.Sh 関連ファイル +.Bl -tag -width /etc/weeklyxxx -compact +.Pa /etc/weekly +このプログラムを起動します +.Po +または +.Pa /etc/daily +.Pc +.El +.Sh 特徴 +既に全てのマニュアルがフォーマットされている場合、 +動作が非常に速くなります。 +いくつかのシステムで採用されている +.Fl w +はサポートされていません。 +.Ql whatis +データベースを再構築するには +.Xr makewhatis 1 +を使って下さい。 +.Sh バグ +.Xr man 1 +は setuid プログラムです。ユーザ +.Sq man +が cat 形式のマニュアルを格納するディレクトリに +対して書き込み権限を持つように注意して下さい。 +.Nm catman +は +.Sq .so +というマニュアルをチェックしません。 +マニュアルの必要以上のフォーマットを避けるには +ハードリンク、シンボリックリンクを使って下さい。 +.Sh 関連項目 +.Xr man 1 , +.Xr manpath 1 , +.Xr makewhatis 1 . +.Sh 歴史 +このバージョンの +.Nm catman +は +.Fx 2.1 +から付属されました。 +.Sh 作者 +Wolfram Schneider +.Aq wosch@FreeBSD.org , +Berlin. diff --git a/ja_JP.eucJP/man/man1/cccp.1 b/ja_JP.eucJP/man/man1/cccp.1 new file mode 100644 index 0000000000..88c9831dec --- /dev/null +++ b/ja_JP.eucJP/man/man1/cccp.1 @@ -0,0 +1,650 @@ +.\" Copyright (c) 1991, 1992, 1993 Free Software Foundation -*- nroff -*- +.\" See section COPYING for conditions for redistribution +.\" +.\" %Id: cpp.1,v 1.3 1994/11/02 09:07:33 deraadt Exp % +.\" jpman %Id: cccp.1,v 1.2 1997/05/12 00:19:12 jsakai Stab % +.\" +.TH cpp 1 "April 30, 1993" "FreeBSD" "GNU Tools" +.SH 名称 +cpp \- GNU-C 互換のコンパイラプリプロセッサ +.SH 書式 +.hy 0 +.na +.TP +.B cpp +.RB "[\|" \-$ "\|]" +.RB "[\|" \-A \c +.I predicate\c +.RB [ (\c +.I value\c +.BR ) ]\|] +.RB "[\|" \-C "\|]" +.RB "[\|" \-D \c +.I name\c +.RB [ =\c +.I definition\c +\&]\|] +.RB "[\|" \-dD "\|]" +.RB "[\|" \-dM "\|]" +.RB "[\|" "\-I\ "\c +.I directory\c +\&\|] +.RB "[\|" \-H "\|]" +.RB "[\|" \-I\- "\|]" +.RB "[\|" "\-imacros\ "\c +.I file\c +\&\|] +.RB "[\|" "\-include\ "\c +.I file\c +\&\|] +.RB "[\|" "\-idirafter\ "\c +.I dir\c +\&\|] +.RB "[\|" "\-iprefix\ "\c +.I prefix\c +\&\|] +.RB "[\|" "\-iwithprefix\ "\c +.I dir\c +\&\|] +.RB "[\|" \-lang\-c "\|]" +.RB "[\|" \-lang\-c++ "\|]" +.RB "[\|" \-lang\-objc "\|]" +.RB "[\|" \-lang\-objc++ "\|]" +.RB "[\|" \-lint "\|]" +.RB "[\|" \-M\ [ \-MG "\|]]" +.RB "[\|" \-MM\ [ \-MG "\|]]" +.RB "[\|" \-MD\ \c +.I file\ \c +\&\|] +.RB "[\|" \-MMD\ \c +.I file\ \c +\&\|] +.RB "[\|" \-nostdinc "\|]" +.RB "[\|" \-nostdinc++ "\|]" +.RB "[\|" \-P "\|]" +.RB "[\|" \-pedantic "\|]" +.RB "[\|" \-pedantic\-errors "\|]" +.RB "[\|" \-traditional "\|]" +.RB "[\|" \-trigraphs "\|]" +.RB "[\|" \-U \c +.I name\c +\&\|] +.RB "[\|" \-undef "\|]" +.RB "[\|" \-Wtrigraphs "\|]" +.RB "[\|" \-Wcomment "\|]" +.RB "[\|" \-Wall "\|]" +.RB "[\|" \-Wtraditional "\|]" +.br +.RB "[\|" \c +.I infile\c +.RB | \- "\|]" +.RB "[\|" \c +.I outfile\c +.RB | \- "\|]" +.ad b +.hy 1 +.SH 解説 +C プリプロセッサは、 +実際のコンパイルの前にプログラムを変換するために +C コンパイラから自動的に利用される +.I マクロプロセッサ\c +です。 +長い記述を簡略してマクロとして定義することができるため、 +マクロプロセッサと呼ばれます。 + +C プリプロセッサは、以下の4つの機能を提供します。 +.TP +\(bu +ヘッダファイルを読み込みます。 +これは +プログラムに組み込まれる +(C 言語の)宣言の入ったファイルです。 +.TP +\(bu +C 言語の任意の部分の省略形として \c +.I マクロ\c +\&を定義し、C プリプロセッサがプログラム内の全てのマクロを +その定義で置き換えます。 +.TP +\(bu +条件文の処理をします。専用のプリプロセッサコマンドを用いて、 +いろいろな条件にしたがってプログラムの一部を含めたり除外したりできます。 +.TP +\(bu +行番号の制御をします。 +ソースファイルと +コンパイルされた中間ファイルとを組み合わせたり再アレンジしたりするプログラムを +用いる場合、 +コンパイラにオリジナルのソースの何行目であるかを知らせるための、 +行番号制御のプリプロセッサコマンドを利用できます。 +.PP +C プリプロセッサは、そのインプリメントによって細かな部分に違いが +いくつかあります。GNU C プリプロセッサの完全なドキュメントは、 +.B info +ファイルの `\|\c +.B cpp.info\c +\&\|', もしくは、マニュアルの +.I The C Preprocessor\c +\&を参照して下さい。 +この双方は `\|\c +.B cpp.texinfo\c +\&\|'から生成されます。GNU C プリプロセッサは ANSI Standard C のスーパセットと +なっています。 + +ANSI Standard C では、今日 C プログラムで一般的に用いられている多くの +(無害な)構造が認められていません。 +この非互換性はユーザにとっては不便であり、そのため +GNU C preprocessor ではこの記述をデフォルトで受け付けるように作られています。 +厳密にいえば、 +ANSI Standard C にするためには +オプションとして `\|\c +.B \-trigraphs\c +\&\|', `\|\c +.B \-undef\c +\&\|', `\|\c +.B \-pedantic\c +\&\|'をつけなければなりません。 +しかし経験則から、厳密な ANSI Standard C にあわせてこうした設定を +行なうと支障のある場合が多いことがわかっています。 + +ほとんどの場合は、C プリプロセッサは明示的に実行する必要はありません。 +C コンパイラが自動的に実行してくれるからです。しかしながら、 +明示的にプリプロセッサを実行するのが有効なことが個々にはあります。 + +C プリプロセッサ +は、引数として \c +.I infile\c +\& と +\c +.I outfile\c +\&の 2 つのファイル名を期待します。 +プリプロセッサは `\|\c +.B #include\c +\&\|'で指定したファイルと一緒に \c +.I infile\c +を読み込みます。 +入力ファイルの組合せで作られた出力は、 +全て \c +.I outfile\c +\&に書かれます。 + +.I infile\c +\& と \c +.I outfile\c +\& の指定に `\|\c +.B \-\c +\&\|'を使用することができます。\c +.I infile\c +\& が `\|\c +.B \-\c +\&\|' であれば\c +\& 標準入力からデータを読み、\c +.I outfile\c +\& が `\|\c +.B \-\c +\&\|' であれば標準出力へ結果を書きます。もし \c +.I outfile\c +\& もしくは両方のファイル名が省略された場合、 +省略されたファイルの代わりに標準入力と標準出力が使われます。 +.SH オプション +以下が C プリプロセッサが受け付けるオプションの一覧です。 +これらのオプションは、 +プリプロセッサがコンパイラから起動されている場合にも +自動的に引き渡されるので、 +C プログラムをコンパイルする際にも指定することができます。 +.TP +.B \-P +`\|\c +.B #\c +\&\|'-行番号 +という行番号情報をプリプロセッサの出力に含めません。 +これは、C 以外の言語で行番号情報が含まれているとエラーを起こす言語を +処理する場合に有用でしょう。 +.TP +.B \-C +コメントを削除せず、そのまま出力ファイルに含めます。 +マクロ呼び出しの引数に現れるコメントはマクロ呼び出しの展開後にコピーされます。 +.TP +.B -traditional +ANSI ではなく、旧形式の C の文法として解釈します。 +.TP +.B -trigraphs +ANSI標準のトリグラフ(trigraph)構文を処理します。 +これは ANSI C で 1 文字を表示すると定められた `\|\c +.B ??\c +\&\|' で始まる 3 文字の並びです。例えば、`\|\c +.B ??/\c +\&\|' は `\|\c +.BR "\e" "\|'" +を表しますので、`\|\c +.B '??/n'\c +\&\|' は改行文字の文字定数となります。 +厳密に言えば、GNU C プリプロセッサの `\|\c +.B \-trigraphs\c +\&\|' オプションは ANSI C 標準を完全にはサポートしません。 +が、普通のユーザならばその違いに気づく事は稀でしょう。 + +トリグラフについで、これ以上知りたいとは思わないでしょ? +.TP +.B \-pedantic +`\|\c +.B #else\c +\&\|' や `\|\c +.B #endif\c +\&\|' の後にコメント以外のテキストがつくといった場合に、 +ANSI C 標準で求められる警告を出力します。 +.TP +.B \-pedantic\-errors +`\|\c +.B \-pedantic\c +\&\|' に似ていますが、警告ではなくエラーにします。 +.TP +.B \-Wtrigraphs +トリグラフがあると警告を出力します(ただし、トリグラフの処理は行います)。 +.TP +.B \-Wcomment +.TP +.B \-Wcomments +コメント開始シーケンスである `\|\c +.B /*\c +\&\|' がコメント中に存在したならば警告を発生します +(両形式は同じ効果を持ちます)。 +.TP +.B \-Wall +`\|\c +.B \-Wtrigraphs\c +\&\|' と `\|\c +.B \-Wcomment\c +\&\|' (ただし +`\|\c +.B \-Wtraditional\c +\&\|' は除く) を指定したのと同じです。 +.TP +.B \-Wtraditional +ANSI と伝統派の C とで異なる振る舞いをとる構文が出現した場合に +警告を発します。 +.TP +.BI "\-I " directory\c +\& +ディレクトリ \c +.I directory\c +\& をヘッダファイルを検索するディレクトリリストの末尾に追加します。 +このオプションは、指定したディレクトリが +システムのヘッダファイルが格納されているディレクトリよりも先に +検索されるので、ユーザ自身の作成したバージョンで +システムが提供するヘッダファイルを上書きさせることもできます。 +1 つ以上の `\|\c +.B \-I\c +\&\|' オプションを使用する場合、ディレクトリは左から右の順番で検索され、 +標準のシステムヘッダファイルはその後になります。 +.TP +.B \-I\- +`\|\c +.B \-I\-\c +\&\|' オプションよりも前に指定された `\|\c +.B \-I\c +\&\|' オプションで与えられたディレクトリは、`\|\c +.B #include \c +\&"\c +.I file\c +\&"\c +\&\|' のインクルード文の場合にのみ検索されます。`\|\c +.B #include <\c +.I file\c +\&>\c +\&\|' では検索されません。 + +オプション `\|\c +.B \-I\-\c +\&\|' の後のオプション `\|\c +.B \-I\c +\&\|' に追加のディレクトリが指定された場合、それらのディレクトリは +全ての `\|\c +.B #include\c +\&\|' 文で検索されます。 + +付け加えて言うならば、`\|\c +.B \-I\-\c +\&\|' オプションを指定すると、カレントディレクトリは `\|\c +.B #include \c +.I \&"file\c +\&"\c +\&\|' 文に対する最初の検索ディレクトリではなくなります。 +それゆえ、カレントディレクトリは明示的に `\|\c +.B \-I.\c +\&\|' として指定された場合にのみ検索されることになります。 +`\|\c +.B \-I\-\c +\&\|' と `\|\c +.B \-I.\c +\&\|' を双方とも指定することで、どのディレクトリがカレントディレクトリ +の前に、あるいは後に検索されるかを厳密に指定することができます。 +.TP +.B \-nostdinc +ヘッダファイルの検索に標準システムディレクトリを用いません。`\|\c +.B \-I\c +\&\|' オプションで指定したディレクトリ(と、もし適切であるならば +カレントディレクトリ)が検索されます。 +.TP +.B \-nostdinc++ +ヘッダファイルの検索に C++ 仕様の標準ディレクトリを用いません。 +が、その他の標準ディレクトリは検索します。 +(このオプションは libg++ の構築時に用いられます。) +.TP +.BI "\-D " "name"\c +\& +\c +.I name\c +\& を既定義のマクロとして、`\|\c +.B 1\c +\&\|' に定義します。 +.TP +.BI "\-D " "name" = definition +\& +\c +.I name\c +\& をマクロとして\c +.I definition\c +\& に定義します。\c +.I definition\c +\& の内容に制限はありませが、プリプロセッサをシェルやシェルに類似した +プログラムから起動している場合、シェルの文法上意味を持つスペース +などの文字を保護するため、そのシェルのクォート文法を使用する必要が +あります。もし、1 つの +.I name\c +\& に対して複数の `\|\c +.B \-D\c +\&\|' を指定したならば、もっとも右側の定義が有効となります。 +.TP +.BI "\-U " "name"\c +\&\c +.I name\c +\& を定義しません。同一の \c +.I name\c +\& に対して `\|\c +.B \-U\c +\&\|' と `\|\c +.B \-D\c +\&\|' の双方が指定された場合、`\|\c +.B \-U\c +\&\|' が `\|\c +.B \-D\c +\&\|' に優先し、 \c +.I name\c +\& は定義されません。 +.TP +.B \-undef +非標準のマクロを一切定義しません。 +.TP +.BI "\-A " "name(" value ) +(\c +.B #assert\c +\& コマンドと同じ方法で) +述語 \c +.I name\c +\& にトークンリスト \c +.I value\c +\& をアサートします。シェルのコマンドライン上では括弧を +エスケープするなりクォートすることを忘れないで下さい。 + +既定義のアサーション全てを取り消すのに、`\|\c +.B \-A-\c +\&\|' を使えます。これはまた、既定義のマクロ全てを無効にします。 +.TP +.B \-dM +プリプロセッサの結果を出力する代わりに、 +プリプロセッサの実行中に定義された、既定義のものも含む全てのマクロの +`\|\c +.B #define\c +\&\|' コマンドのリストを出力します。 +これは、使用しているプリプロセッサのそのバージョンで、 +どんなマクロが既定義であるかを知る方法を提供してくれます。 +それには、空のファイル `\|\c +.B foo.h\c +\&\|' をこのオプションで処理してみればよいのです。 +.sp +.br +touch\ foo.h;\ cpp\ \-dM\ foo.h +.br +.sp +はすべての既定義マクロの値を見せてくれるでしょう。 +.TP +.B \-dD +`\|\c +.B \-dM\c +\&\|' に似てますが、2 つの相違点があります。これは既定義マクロを +出力\c +.I しません\c +\&。また、`\|\c +.B #define\c +\&\|' コマンドとプリプロセス結果の\c +.I 双方\c +\& を出力します。これらの出力は両方とも標準出力に行われます。 +.PP +.TP +.BR \-M\ [ \-MG ] +プリプロセスの結果を出力する代わりに、main のソースファイルの依存性を +記述する\c +.B make\c +\& 規則を出力します。 +プリプロセッサはソースファイルのオブジェクトファイル名、コロン、 +そのすべてのインクルードファイル名から成る\c +.B make\c +\& 規則を出力します。複数のインクルードファイルがある場合、規則は`\|\c +.B \\\\\c +\&\|'-改行で複数行に区切られます。 + +`\|\c +.B \-MG\c +\&\|' は、見つけられなかったヘッダファイルは(コンパイルの途中で)生成され、 +ソースファイルと同じディレクトリに存在するものとして扱います。`\|\c +.B \-M\c +\&\|' と共に指定しなければなりません。 + +この機能は自動的に Makefile を更新するのに使います。 +.TP +.BR \-MM\ [ \-MG ] +これは `\|\c +.B \-M\c +\&\|' に似てますが、`\|\c +.B #include +"\c +.I file\c +\&"\c +\&\|' でインクルードされるファイルのみを扱う点が異なります。`\|\c +.B #include +<\c +.I file\c +\&>\c +\&\|' でインクルードされるシステムヘッダファイルは無視されます。 +.TP +.BI \-MD\ file +これも `\|\c +.B \-M\c +\&\|' に似てますが、依存情報が`\|\c +.I file\c +\&\|' に書き出されます。\(em\&`\|\c +.B \-MD\c +\&\|' を指定したファイルの処理もこれに加えて行われ、`\|\c +.B \-M\c +\&\|' のように通常の処理を抑制することはありません。 + +gcc を実行する場合は `\|\c +.I file\c +\&\|' 引数を指定してはいけません。gcc は、入力ファイル名の末尾の +`\|\c +.B .c\c +\&\|' を `\|\c +.B .d\c +\&\|' で置き換えたファイル名を出力に用いるからです。 + +Mach では、`\|\c +.B make\c +\&\|' コマンドで便利なように複数のファイルを 1 つの依存規則ファイルに +まとめるユーティリティ \c +.B md\c +\& が利用できます。 +.TP +.BI \-MMD\ file +`\|\c +.B \-MD\c +\&\|' に似てますが、ユーザのヘッダファイルのみを扱い、システムヘッダは +無視する点が異なります。 +.TP +.B \-H +通常の動作に加えて、 +使用されたヘッダファイルのファイル名を出力します。 +.TP +.BI "\-imacros " "file"\c +\& +ファイル \c +.I file\c +\& を入力として処理しますが、 +標準の入力ファイルを処理する前にその結果の出力を破棄します。 +.I file\c +\& によって生成される出力は捨てられるため、`\|\c +.B \-imacros \c +.I file\c +\&\c +\&\|' の処理結果の影響は、\c +.I file\c +\& 中に記述されたマクロがメインの入力ファイル中で使用可能になることだけです。 +プリプロセッサは、`\|\c +.B \-imacros\c +.I file\c +\&\|' を処理する前に、 +コマンドラインから与えられた全ての `\|\c +.B \-D\c +\&\|' や `\|\c +.B \-U\c +\&\|' オプションを評価します。 +.TP +.BI "\-include " "file"\c +\& +ファイル \c +.I file\c +\& を、標準の入力ファイルの前に処理し、その結果出力をインクルードします。 +.TP +.BI "\-idirafter " "dir" +ディレクトリ \c +.I dir\c +\& を第 2 インクルードパスに加えます。第 2 インクルードパス中の +ディレクトリは、メインインクルードパス (オプション +`\|\c +.B \-I\c +\&\|' によって追加されます) 中にヘッダファイルを探した結果 +発見できなかった場合に検索されます。 +.TP +.BI "\-iprefix " "prefix" +\c +.I prefix\c +\& を、その後に続く `\|\c +.B \-iwithprefix\c +\&\|' +オプション用のプレフィックスとして使用します。 +.TP +.BI "\-iwithprefix " "dir" +ディレクトリを第 2 インクルードパスに追加します。ディレクトリ名は \c +.I prefix\c +\& と \c +.I dir\c +\& を連結することによって得られます。ここで \c +.I prefix +は `\|\c +.B \-iprefix\c +\&\|' オプションによって指定されたものです。 +.TP +.B \-lang-c +.TP +.B \-lang-c++ +.TP +.B \-lang-objc +.TP +.B \-lang-objc++ +ソースの言語を指定します。`\|\c +.B \-lang-c++\c +\&\|' は、プリプロセッサに C++ のコメント文と、C++ 用の追加の +デフォルトインクルードディレクトリを処理させ、`\|\c +.B \-lang-objc\c +\&\|' は、Objective C の `\|\c +.B #import\c +\&\|' ディレクティブを使用可能にします。`\|\c +.B \-lang-c\c +\&\|' は明示的にこれらの機能の切り離しを指定し、`\|\c +.B \-lang-objc++\c +\&\|' は双方を利用可能にします。 + +これらのオプションはコンパイラドライバ \c +.B gcc\c +\& によって生成されますが、`\|\c +.B gcc\c +\&\|' のコマンドラインから引き渡すことはできません。 +.TP +.B \-lint +コメント中に埋め込まれた、プログラムチェッカ \c +.B lint\c +\& のコマンドを見つけ出し、それらの前に `\|\c +.B #pragma lint\c +\&\|' を埋め込みます。例えば、コメント `\|\c +.B /* NOTREACHED */\c +\&\|' は `\|\c +.B #pragma lint +NOTREACHED\c +\&\|' になります。 + +このオプションは直接 \c +.B cpp\c +\& を呼び出す場合にのみ使えます。\c +.B gcc\c +\& は、コマンドラインからこのオプションを引き渡しません。 +.TP +.B \-$ +識別子中での `\|\c +.B $\c +\&\|' の使用を禁止します。これは ANSI 規格からの要求です。 +オプション `\|\c +.B \-ansi\c +\&\|' を指定した場合、\c +.B gcc\c +\& は自動的にこのオプションを設定します。が、\c +.B gcc\c +\& は `\|\c +.B \-$\c +\&\|' オプションそれ自身を認識しているわけではありません。 +\(em\& `\|\c +.B \-ansi\c +\&\|' の他の効果を抜きにこれを使うには、 +プリプロセッサを直接呼び出さねばなりません。 +.SH 関連項目 +.B info\c +\&; +.I The C Preprocessor\c +, Richard M. Stallman. +中のエントリ +.RB "`\|" cpp "\|'" +.br +.BR gcc "(" 1 ");" +.B info\c +\&; +.I +Using and Porting GNU CC (for version 2.0)\c +, Richard M. Stallman. +中のエントリ +.RB "`\|" gcc "\|'" +.SH 著作権表示 +Copyright (c) 1991, 1992, 1993 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. diff --git a/ja_JP.eucJP/man/man1/cd.1 b/ja_JP.eucJP/man/man1/cd.1 new file mode 100644 index 0000000000..d9b54041ee --- /dev/null +++ b/ja_JP.eucJP/man/man1/cd.1 @@ -0,0 +1,99 @@ +.\" Copyright (c) 1980, 1990, 1993 +.\" The Regents of the University of California. All rights reserved. +.\" +.\" This code is derived from software contributed to Berkeley by +.\" the Institute of Electrical and Electronics Engineers, Inc. +.\" +.\" 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. +.\" +.\" @(#)cd.1 8.1 (Berkeley) 6/5/93 +.\" %Id: cd.1,v 1.1.1.1.8.1 1997/03/07 04:17:49 mpp Exp % +.\" jpman %Id: cd.1,v 1.2 1997/03/26 14:56:29 horikawa Stab % +.\" +.Dd June 5, 1993 +.Dt CD 1 +.Os BSD 4 +.Sh 名称 +.Nm cd +.Nd ワーキングディレクトリを変更する +.Sh 書式 +.Nm cd +.Ar directory +.Sh 解説 +.Ar directory +には、新しいワーキングディレクトリになる絶対もしくは相対パス名 +を記述します。 +cd の相対パス名の解釈は、環境変数のCDPATH +に依存します(下記参照)。 +.Sh 環境変数 +以下の環境変数が cd の実行に影響します: +.Pp +.Bl -tag -width indent +.It Ev CDPATH +もし、オペランド +.Ar directory +がスラッシュ (/) で始まらず、かつ、最初がドット (.) やドット-ドット (..) +でもない場合、 +.Nm cd +は環境変数 +.Ev CDPATH +に記述された各ディレクトリの相対ディレクトリを順番に検索します。 +新しいワーキングディレクトリは最初に見つかったディレクトリになります。 +.Ev CDPATH +でディレクトリ名として空の文字列を指定した場合にはカレントディレクトリを +表します。 +新しいワーキングディレクトリが +.Ev CDPATH +を用いて展開された場合には、その値が標準出力に表示されます。 +.It Ev HOME +もし +.Nm cd +が引数無しで起動された場合で、環境変数 +.Ev HOME +が存在しディレクトリ名が書かれている場合には、 +そのディレクトリが新しいワーキングディレクトリになります。 +.El +.Pp +環境変数に関する詳細については +.Xr csh 1 +を参照して下さい。 +.Pp +.Nm cd +は成功時には 0 を、エラーが起こった時は +0 より大きな値を返します。 +.Sh 関連項目 +.Xr csh 1 , +.Xr pwd 1 , +.Xr sh 1 , +.Xr chdir 2 +.Sh 規格 +.Nm cd +は +.St -p1003.2 +互換のはずです。 diff --git a/ja_JP.eucJP/man/man1/cdcontrol.1 b/ja_JP.eucJP/man/man1/cdcontrol.1 new file mode 100644 index 0000000000..0a0fec188d --- /dev/null +++ b/ja_JP.eucJP/man/man1/cdcontrol.1 @@ -0,0 +1,163 @@ +.\" %Id: cdcontrol.1,v 1.8.2.1 1997/09/15 06:27:47 charnier Exp % +.\" jpman %Id: cdcontrol.1,v 1.3 1997/07/22 09:20:03 mutoh Stab % +.\" +.Dd July 3, 1995 +.Dt CDCONTROL 1 +.Os FreeBSD +.Sh 名称 +.Nm cdcontrol +.Nd コンパクトディスク制御ユーティリティ +.Sh 書式 +.Nm cdcontrol +.Op Fl s +.Op Fl v +.Op Fl f Ar discname +.Op Ar command args ... +.Sh 解説 +.Nm +はオーディオ CD プレイヤーを操作するためのプログラムです。 +device には +cd0 や mcd0 などを指定します。 +.Pp +もし、device が指定されなかった場合、環境変数 +.Ev DISC +をデバイス名として利用します。 +.Pp +コマンドを指定しない場合、 +.Nm +は対話モードになり、標準入力からコマンドを読み込みます。 +.Pp +以下のオプションを使用可能です。 +.Bl -tag -width flag +.It Fl s +サイレントモード - テーブルヘッダ及び人間が可読なコメントを表示しません。 +.It Fl v +冗長モード - 表示できる情報は全て表示します。 +.It Fl f Ar discname +/dev/cd0c や mcd0 といったデバイス名を指定します。 +絶対パス及び /dev からの相対パスの指定が可能です。 +必要ならば最後に `c' を追加します。 +.El +.Pp +現時点では以下のコマンドが利用できます。 +コマンドをユニークに特定できるために必要な文字だけ指定する +必要があります。 +語 +.Nm play +は省略可能です。 +.Bl -tag -width Cm + +.It Cm play first_track last_track +.Nm first_track +で指定されたトラックから +.Nm last_track +で指定されたトラックまで演奏します。最初のトラックが1番になります。 + +.It Cm play start_m:start_s.start_f Op Ar end_m:end_s.end_f +絶対アドレス (MSF) を元に演奏します。演奏開始する時間は +.Nm start_m +に演奏開始する分を、 +.Nm start_s +に秒を、 +.Nm start_f +にはフレーム番号を指定します。演奏終了の時間は +.Nm end_m +に演奏終了する分を、 +.Nm end_s, +に秒を、 +.Nm end_f +にフレーム番号を指定することで指定できます。分指定で指定できる数値は 0 +から 99 の範囲の値です。秒には 0 から 59 までが指定できます。フレーム +番号は 0 から 74 までの範囲で指定できます。 + +.It Cm play Op Ar #start_block Op length +論理ブロック +.Nm start_block +から +.Nm length +論理ブロック分だけ演奏します。 + +.It Cm pause +演奏を停止します。ディスクは停止しません。 + +.It Cm resume +演奏を再開します。 +.Nm pause +で一時停止した後に使います。 + +.It Cm stop +ディスクを停止します。 + +.It Cm eject +ディスクを取り出します。 + +.It Cm close +ディスクを挿入します。 + +.It Cm setvol left_channel right_channel +左チャンネルのボリュームを +.Nm left_channel +にセットし、右チャンネルを +.Nm right_channel +にセットします。指定できる値は 0 から 255 の範囲の値です。 + +.It Cm volume Ar mute +音を消します。 + +.It Cm volume Ar mono +モノラルモードにします。 + +.It Cm volume Ar stereo +ステレオモードにします。 + +.It Cm volume Ar left +左サブトラックを左と右の両チャネルで演奏します。 + +.It Cm volume Ar right +右サブトラックを左と右の両チャネルで演奏します。 + +.It Cm info +目次を表示します。 + +.It Cm status +ディスクに関する以下のような情報を表示します。 +現在の演奏の状態と位置、 +現在のメディアカタログ状態、 +現在の左チャネル及び右チャネルのボリューム値。 + +.It Cm help +利用可能なコマンドの一覧を表示します。 + +.It Cm debug Ar on +CD デバイスドライバのデバッグモードを有効にします。 + +.It Cm debug Ar off +ドライバのデバッグモードを無効にします。 + +.It Cm reset +デバイスに対するハードウェアリセットを実行します。 + +.It Cm set Ar msf +minute-second-frame ioctl モードに設定します (デフォルト)。 + +.It Cm set Ar lba +LBA ioctl モードに設定します。 + +.It Cm quit +プログラムを終了します。 + +.Sh 関連ファイル +.Bl -tag -width /dev/rmcd0c -compact +.It Pa /dev/rcd0c +.It Pa /dev/rmcd0c +.It Pa /dev/rwcd0c +.El +.Sh 作者 +Jean-Marc Zucconi, +Andrey A.\ Chernov, +Serge V.\ Vakulenko +.Sh 歴史 +.Nm +コマンドは +.Fx 2.1 +から登場しました。 diff --git a/ja_JP.eucJP/man/man1/checknr.1 b/ja_JP.eucJP/man/man1/checknr.1 new file mode 100644 index 0000000000..170e020daf --- /dev/null +++ b/ja_JP.eucJP/man/man1/checknr.1 @@ -0,0 +1,160 @@ +.\" 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. +.\" +.\" @(#)checknr.1 8.1 (Berkeley) 6/6/93 +.\" jpman %Id: checknr.1,v 1.3 1997/06/18 14:14:50 jsakai Stab % +.\" +.Dd June 6, 1993 +.Dt CHECKNR 1 +.Os BSD 4 +.Sh 名称 +.Nm checknr +.Nd nroff および troff ファイルをチェックする +.Sh 書式 +.Nm checknr +.Op Fl a Ns Ar \&.x1.y1.x2.y2. ... \&.xn.yn +.Op Fl c Ns Ar \&.x1.x2.x3 ... \&.xn +.Op Fl s +.Op Fl f +.Ar file +.Sh 解説 +.Nm checknr +は、 +.Xr nroff 1 +や +.Xr troff 1 +の入力ファイルのリストに対して、デリミタの開始および終了の不一致や +間違ったコマンドを含む、ある種類のエラーをチェックします。 +ファイルが指定されなかった場合、 +.Nm checknr +は標準入力をチェックします。 +.Pp +オプション +.Bl -tag -width Ds +.It Fl a +既知マクロのリストに追加のマクロペアを追加します。 +その後ろには 6 文字のグループが続かなくてはなりません。 +各グループはマクロのペアを定義します。 +6 文字はピリオドと最初のマクロ名、更にピリオドと2番目のマクロ名です。 +例えば、 .BS と .ES のペアを定義するためには、 +.Sq Li \-a.BS.ES +を使ってください。 +.It Fl c +通常なら未定義であるといわれるコマンドを定義します。 +.It Fl f +.Nm checknr +に +.Ql \ef +のフォント変更を無視させます。 +.It Fl s +.Ql \es +のサイズ変更を無視させます。 +.El +.Pp +デリミタのチェックは以下の通りです。 +.Bl -enum +.It +\efx ... \efP を使ったフォントの変更。 +.It +\esx ... \es0 を使ったサイズの変更。 +.It + .TS と .TEマクロのようにいつもペアで使われる、 +``開始...終了''形式のマクロ。 +.El +.Pp +.Nm checknr +は、 +.Xr lint 1 +と同じように、 +.Nm checknr +によるチェックを念頭に置いて作成されたドキュメントを +チェックするのに用いることを意図しています。 +.\"(チェック者注) この部分若干意訳。原文は以下の通り。(sakai@jp.freebsd.org) +.\".Nm Checknr +.\"is intended for use on documents that are prepared with +.\".Nm checknr +.\"in mind, much the same as +.\".Xr lint 1 . +コマンドは、記述形式が +.Ql \ef +と +.Ql \es +コマンドに対して、 +各 +.Ql \efx +は +.Ql \efP +で終了されており、 +.Ql \esx +は +.Ql \es0 +で終了されているようなものを期待しています。 +直接次のフォントに切替えたり、 +明示的にもとのフォントやポイントサイズを指定したりしても動作しますし、 +実際そのようにしているドキュメントは数多く存在しますが、 +.Nm checknr +はそのような使用法に対して警告を発します。 +おそらく +.Ql \efP +と +.Ql \es0 +形式を使うほうがよいはずなので、 +このようなスタイルを用いることは、 +ドキュメント執筆スタイルの向上に寄与すると考えて下さい。 +.Pp +.Nm checknr +は、 +.Xr ms 7 +と +.Xr me 7 +マクロパッケージを認識します。 +.Sh 関連項目 +.Xr nroff 1 , +.Xr troff 1 , +.Xr me 7 , +.Xr ms 7 +.\" .Xr checkeq 1 , +.Sh 診断 +.Bd -ragged -compact +デリミタが一致しない時に、警告を出します。 +コマンドを認識できない時に、警告を出します。 +コマンドの文法について、さまざまな警告を出します。 +.Ed +.Sh バグ +.Fl a +を用いて 1 文字のマクロ名を定義する方法がありません。 +.Pp +条件文のような、ある種の正当な構造を認識できません。 +.Sh 歴史 +.Nm +コマンドは +.Bx 4.0 +から登場しました。 diff --git a/ja_JP.eucJP/man/man1/chflags.1 b/ja_JP.eucJP/man/man1/chflags.1 new file mode 100644 index 0000000000..737ebd82c1 --- /dev/null +++ b/ja_JP.eucJP/man/man1/chflags.1 @@ -0,0 +1,143 @@ +.\" Copyright (c) 1989, 1990, 1993, 1994 +.\" The Regents of the University of California. All rights reserved. +.\" +.\" This code is derived from software contributed to Berkeley by +.\" the Institute of Electrical and Electronics Engineers, Inc. +.\" +.\" 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. +.\" +.\" @(#)chflags.1 8.2 (Berkeley) 3/31/94 +.\" %Id: chflags.1,v 1.2.6.3 1997/06/29 08:48:52 julian Exp % +.\" jpman %Id: chflags.1,v 1.3 1997/06/18 14:15:48 jsakai Stab % +.\" +.Dd March 31, 1994 +.Dt CHFLAGS 1 +.Os +.Sh 名称 +.Nm chflags +.Nd ファイルのフラグを変更する +.Sh 書式 +.Nm chflags +.Oo +.Fl R +.Op Fl H | Fl L | Fl P +.Oc +.Ar flags +.Ar file ... +.Sh 解説 +.Nm chflags +は指定したファイルのフラグを、 +.Ar flags +で指定した値に変更します。 +.Pp +オプションは以下のとおりです。 +.Bl -tag -width Ds +.It Fl H +.Fl R +オプションが指定されていれば、引数で指定されたシンボリックリンクを +たどります +(木構造の検索中にみつかったシンボリックリンクはたどりません)。 +.It Fl L +.Fl R +オプションが指定されていれば、全てのシンボリックリンクをたどります。 +.It Fl P +.Fl R +オプションが指定されていれば、どのシンボリックリンクもたどりません。 +.It Fl R +指定されたファイル自身ではなく、 +そのファイル以下のディレクトリ階層すべての +フラグを変更します。 +.El +.Pp +フラグはキーワードをコンマで区切ったものです。 +現在定義されているキーワードは以下のとおりです: +.Bd -literal -offset indent compact +arch archived フラグをセットします (スーパユーザのみ) +dump dump フラグをセットします +sappnd system append-only (システムレベルでの追加専用) フラグをセットします + (スーパユーザのみ) +schg system immutable (システムレベルでの変更不可) フラグをセットします + (スーパユーザのみ) +sunlnk system undeletable (システムレベルでの削除不可) フラグをセットします + (スーパユーザのみ) +uappnd user append-only (ユーザレベルでの追加専用) フラグをセットします + (所有者またはスーパユーザのみ) +uchg user immutable (ユーザレベルでの変更不可) フラグをセットします + (所有者またはスーパユーザのみ) +uunlnk user undeletable (ユーザレベルでの削除不可) フラグをセットします + (所有者またはスーパユーザのみ) +archived、sappend、schange、simmutable、uappend、uchange、uimmutable, +sunlink, uunlink + は上記のキーワードのエイリアスです。 +.Ed +.Pp +オプションキーワードの前に +.Dq no +をつけると、そのフラグを無効にします。 +例えば、 +.Bd -literal -offset indent compact +nodump dump フラグをクリアします +.Ed +.Pp +シンボリックリンクにはフラグはありません。 +よって、 +.Fl H +あるいは +.Fl L +オプションを指定せずにシンボリックリンクに +対して +.Nm chflags +を実行した場合、常に成功しますが、何の効果もありません。 +.Fl H +、 +.Fl L +、 +.Fl P +オプションは +.Fl R +オプションを指定しない限り無視されます。 +また、これらのオプションはお互いの効果を上書きするため、 +最後に指定されたオプションによってコマンドの動作が決まります。 +.Pp +ファイルのフラグを見るには "ls -lo" とします。 +.Pp +.Nm chflags +は実行に成功すると 0 を、エラーが発生すると 0 より大きい値を +戻り値として返します。 +.Sh 関連項目 +.Xr ls 1 , +.Xr chflags 2 , +.Xr stat 2 , +.Xr fts 3 , +.Xr symlink 7 +.Sh 歴史 +.Nm chflags +は +.Bx 4.4 +に初めて登場しました。 diff --git a/ja_JP.eucJP/man/man1/chgrp.1 b/ja_JP.eucJP/man/man1/chgrp.1 new file mode 100644 index 0000000000..134b29643c --- /dev/null +++ b/ja_JP.eucJP/man/man1/chgrp.1 @@ -0,0 +1,131 @@ +.\" Copyright (c) 1983, 1990, 1993, 1994 +.\" The Regents of the University of California. All rights reserved. +.\" +.\" This code is derived from software contributed to Berkeley by +.\" the Institute of Electrical and Electronics Engineers, Inc. +.\" +.\" 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. +.\" +.\" @(#)chgrp.1 8.3 (Berkeley) 3/31/94 +.\" jpman %Id: chgrp.1,v 1.3 1997/05/19 16:29:32 horikawa Stab % +.\" +.Dd March 31, 1994 +.Dt CHGRP 1 +.Os BSD 4.2 +.Sh 名称 +.Nm chgrp +.Nd 指定したファイルのグループ +.Tn ID +を変更する +.Sh 書式 +.Nm chgrp +.Oo +.Fl R +.Op Fl H | Fl L | Fl P +.Oc +.Op Fl f +.Op Fl h +.Ar group +.Ar files ... +.Sh 解説 +.Nm chgrp +は指定されたファイルのグループ ID を +.Ar group +にセットします。 +.Pp +オプションは以下のものがあります: +.Bl -tag -width Ds +.It Fl H +.Fl R +オプションとともに指定されている場合に、コマンドライン上のシンボ +リックリンクをたどるようになります。(ツリー内をたどっている際中に見つけた +シンボリックリンクの先は調べません)。 +.It Fl L +.Fl R +オプションとともに指定された場合に、全てのシンボリックリンク +をたどるようになります。 +.It Fl P +.Fl R +オプションとともに指定された場合に、シンボリックリンクの先 +をたどらないようになります。 +.It Fl R +指定したファイル自身の代わりに、そのファイルをルートとする階層の +ファイルのグループ ID を変更します。 +.It Fl f +使い方の間違い以外のエラーを無視し、不適切なモードに対する +質問を行なわなくなります。 +.It Fl h +ファイルがシンボリックリンクの場合、 +ポイントされるファイルではなく、 +リンク自身のグループ ID を変えます。 +.El +.Pp +.Fl H , +.Fl L , +.Fl P +のオプションは +.Fl R +が指定されない限り +無視されます。加えて、これらのオプションはお互いの効果を上書きするため、 +コマンドの動作は一番最後に指定されたもので決まります。 +.Pp +.Ar group +は、 +ファイル +.Pf ( Pa /etc/group ) +中のグループ ID の数値かグループ名のどちらかです。グループ名がグループ ID +の数値でもある場合、このオペランドはグループ名とみなされます。 +.Pp +.Nm +を実行するユーザは、指定したグループに自分が含まれかつファ +イルの所有者であるか、スーパーユーザでなければなりません。 +.Pp +.Nm +は成功時に 0 を、エラーが起こった時に 0 より大きな値を戻り値とし +て返します。 +.Sh 互換性 +以前のバージョンのシステムでは、 +シンボリックリンクにはグループは有りませんでした。 +.Sh 関連ファイル +.Bl -tag -width /etc/group -compact +.It Pa /etc/group +グループ ID を記述したファイル。 +.El +.Sh 関連項目 +.Xr chown 2 , +.Xr fts 3 , +.Xr group 5 , +.Xr passwd 5 , +.Xr symlink 7 , +.Xr chown 8 +.Sh 標準 +.Nm chgrp +ユーティリティは +.St -p1003.2 +互換であると考えられています。 diff --git a/ja_JP.eucJP/man/man1/chio.1 b/ja_JP.eucJP/man/man1/chio.1 new file mode 100644 index 0000000000..92ca1e6c07 --- /dev/null +++ b/ja_JP.eucJP/man/man1/chio.1 @@ -0,0 +1,215 @@ +.\" %NetBSD: % +.\" +.\" Copyright (c) 1996 Jason R. Thorpe <thorpej@and.com> +.\" 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 acknowledgements: +.\" This product includes software developed by Jason R. Thorpe +.\" for And Communications, http://www.and.com/ +.\" 4. The name of the author may not be used to endorse or promote products +.\" derived from this software without specific prior written permission. +.\" +.\" THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``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 AUTHOR 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. +.\" +.\" jpman %Id: chio.1,v 1.3 1997/08/31 14:04:42 horikawa Stab % +.Dd April 2, 1996 +.Dt CHIO 1 +.Os +.Sh 名称 +.Nm chio +.Nd メディアチェンジャ制御ユーティリティ +.Sh 書式 +.Nm chio +.Op Fl f Ar changer +.Ar command +.Ar arg1 +.Ar arg2 +.Oo +.Ar arg3 Oo ... +.Oc +.Oc +.Sh 解説 +.Nm chio +は、テープや光ディスクなどのジュークボックスに見られるような +メディアチェンジャの動作を制御するために使われます。 +.Pp +オプションには以下のものがあります: +.Bl -tag -width indent +.It Fl f Ar changer +デフォルトの +.Pa /dev/ch0 +デバイスのかわりに +.Pa changer +を使用します。 +.El +.Pp +環境変数 +.Nm CHANGER +にデバイス名をセットしておくと、 +それをデフォルトのチェンジャとして使用することができます。 +.Pp +メディアチェンジャ装置は複数の +.Pa element +から成り立っています。 +element には 4 種類あり、それぞれ +.Pa picker +(メディア搬送)、 +.Pa slot +(保管)、 +.Pa portal +(出し入れ)、 +.Pa drive +(データ転送)です。このコマンドの解説では省略形 +.Nm ET +で element の種類を表し、 +.Nm EU +で element の装置番号を表します。 +たとえば、チェンジャ内の一つめのロボットアームを表現する場合には、 ET は +.Dq picker +となり、EU は +.Dq 0 +となります。 +.Pp +.Sh サポートされるコマンド +.Nm chio move +.Ar <from ET> <from EU> <to ET> <to EU> +.Op Ar inv +.Pp +メディアユニットを +.Pa <from ET/EU> +から +.Pa <to ET/EU> +へと移動します。 +オプションの修飾子 +.Pa inv +が指定された場合は、挿入前にメディアユニットが裏返されます。 +.Pp +.Nm chio exchange +.Ar <src ET> <src EU> <dst1 ET> <dst1 EU> +.Op Ar <dst2 ET> <dst2 ET> +.Op Ar inv1 +.Op Ar inv2 +.Pp +メディアユニットの交換作業をおこないます。 +.Pa <src ET/EU> +にあるメディアユニットは +.Pa <dst1 ET/EU> +に移され、以前に +.Pa <dst1 ET/EU> +にあったメディアユニットは +.Pa <dst2 ET/EU> +に移されます。 +単純に交換する場合には、 +.Pa <dst2 ET/EU> +を省略すると +.Pa <src ET/EU> +が代りに使われます。 +オプションの修飾子 +.Pa inv1 +や +.Pa inv2 +が指定された場合には、それぞれ +.Pa <dst1 ET/EU> +や +.Pa <dst2 ET/EU> +への挿入前にメディアユニットが裏返されます。 +.Pp +すべてのメディアチェンジャが +.Nm exchange +操作をサポートしているわけではないことに注意してください。 +exchange 操作のためには、チェンジャが複数の空き picker を持っているか、 +一時的な保管場所を用いて複数の空き picker をエミュレートする必要があります。 +.Pp +.Nm chio position +.Ar <to ET> <to EU> +.Op Ar inv +.Pp +picker を +.Pa <to ET/EU> +で指定した element の前に配置します。 +もしオプションの修飾子 +.Pa inv +が指定された場合は、挿入前にメディアユニットが裏返されます。 +.Pp +このコマンドを発行しても、すべてのチェンジャが期待通りの動作をするとは +限らないことに注意してください。 +.Pp +.Nm chio params +.Pp +チェンジャ内の slot, drive, picker, portal の数と、 +現在どの picker が使用可能になっているかを報告します。 +.Pp +.Nm chio getpicker +.Pp +現在どの picker が使用可能になっているかを報告します。 +.Pp +.Nm chio setpicker +.Ar <unit> +.Pp +.Pa <unit> +番の picker を使用可能にします。 +.Pp +.Nm chio status +.Op Ar <type> +.Pp +チェンジャ内のすべての element の状態を報告します。もし +.Pa <type> +が指定されていると、 +.Pa <type> +型の elememt の状態を報告します。 +.Pp +ステータスビットは以下のように定義されています: +.Bl -tag -width indent +.It Nm FULL +element にメディアユニットが入っています。 +.It Nm IMPEXP +外部の人間の操作により element にメディアが挿入されました。 +.It Nm EXCEPT +element が異常な状態になっています。 +.It Nm ACCESS +この element 内のメディアは picker でアクセス可能です。 +.It Nm EXENAB +element は外部の人間の操作によるメディアの取り出しが可能です。 +.It Nm INENAB +element は外部の人間の操作によるメディアの挿入が可能です。 +.El +.Pp +.Sh 使用例 +.Nm chio move slot 3 drive 0 +.Pp +スロット 3 (4 番目のスロット) のメディアをドライブ 0 (1 番目のドライブ) に +移動させます。 +.Pp +.Nm chio setpicker 2 +チェンジャが picker 2 (3 番目の picker) を作業に使用するように設定します。 +.Pp +.Sh 関連ファイル +/dev/ch0 - デフォルトのチェンジャデバイス +.Sh 関連項目 +.Xr mt 1 , +.Xr ch 4 , +.Xr mount 8 . +.Sh 作者 +.Nm chio +プログラムと SCSI チェンジャドライバは +And Communications 社 (http://www.and.com/) の +Jason R. Thorpe <thorpej@and.com> によって書かれました。 diff --git a/ja_JP.eucJP/man/man1/chmod.1 b/ja_JP.eucJP/man/man1/chmod.1 new file mode 100644 index 0000000000..24bb7bd689 --- /dev/null +++ b/ja_JP.eucJP/man/man1/chmod.1 @@ -0,0 +1,281 @@ +.\" Copyright (c) 1989, 1990, 1993, 1994 +.\" The Regents of the University of California. All rights reserved. +.\" +.\" This code is derived from software contributed to Berkeley by +.\" the Institute of Electrical and Electronics Engineers, Inc. +.\" +.\" 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. +.\" +.\" @(#)chmod.1 8.4 (Berkeley) 3/31/94 +.\" jpman %Id: chmod.1,v 1.2 1997/04/01 01:37:14 mutoh Stab % +.\" %Id: chmod.1,v 1.4.2.1 1997/02/28 07:54:25 mpp Exp % +.\" +.Dd March 31, 1994 +.Dt CHMOD 1 +.Os +.Sh 名称 +.Nm chmod +.Nd ファイルのモードを変更する +.Sh 書式 +.Nm chmod +.Oo +.Fl R +.Op Fl H | Fl L | Fl P +.Oc +.Ar mode +.Ar file ... +.Sh 解説 +.Nm chmod +は指定されたファイルのモードを +.Ar mode +で指定したものに変更します。 +.Pp +オプションとして以下のものがあります: +.Bl -tag -width Ds +.It Fl H +.Fl R +オプションが指定されていれば、引数がシンボリックリンクのとき、それを +たどって変更します。 +(ディレクトリツリー探索中に見つかったシンボリックリンクは +それ以上追跡しません) +.It Fl L +.Fl R +オプションが指定されていれば、すべてのシンボリックリンクをたどり、 +リンク先のファイルを変更します。 +.It Fl P +.Fl R +オプションが指定されていても、どのシンボリックリンクもたどりません。 +.It Fl R +指定されたファイル自身だけではなく、それらをルートとする +ディレクトリ階層を再帰的に検索してモードを変更します。 +.El +.Pp +シンボリックリンクはモードを持たないので、 +.Fl H +または +.Fl L +オプションが指定されていなければ、シンボリックリンクに対する +.Nm chmod +実行結果は常に真となり、何も変えません。 +.Fl H , +.Fl L , +.Fl P +オプションは、 +.Fl R +オプションが指定されていなければ無視されます。また、これらが +複数指定されると最後に指定したものが有効になります。 +.Pp +ファイルのモードの変更はそのファイルの所有者とスーパユーザだけにしか +許されていません。 +.Pp +.Nm chmod +は正常終了時には 0 を、エラーが生じたときは 0 より大きい値を返します。 +.Sh モード +モードには、数値を用いた絶対値指定と、シンボルによる指定があります。 +数値指定では、以下の値を +.Ar ``or'' +で組み合わせた 8 進数を用います: +.Pp +.Bl -tag -width 6n -compact -offset indent +.It Li 4000 +setuid (set-user-ID-on-execution) ビット。実行時にユーザ ID をセット。 +.It Li 2000 +setgid (set-group-ID-on-execution)ビット。実行時にグループ ID をセット。 +.It Li 1000 +sitcky (スティッキー) ビット。chmod(2)参照。 +.It Li 0400 +所有者 (ユーザ) の読み込み許可。 +.It Li 0200 +所有者 (ユーザ) の書き込み許可。 +.It Li 0100 +所有者 (ユーザ) の実行 (ディレクトリの場合はファイル名の検索) 許可。 +.It Li 0070 +グループに対する読み込み、書き込み、実行 (検索) 許可。 +.It Li 0007 +所有者とグループ以外のユーザに対する読み込み、書き込み、実行 (検索) 許可。 +.El +.Pp +グループ及びその他のユーザのための読み込み、書き込み、実行 (検索) 許可 +の値も所有者の場合と同様にエンコードされます。 +.Pp +シンボルによる指定は以下の文法に従います。 +.Bd -literal -offset indent +mode ::= clause [, clause ...] +clause ::= [who ...] [action ...] last_action +action ::= op [perm ...] +last_action ::= op [perm ...] +who ::= a | u | g | o +op ::= + | \- | = +perm ::= r | s | t | w | x | X | u | g | o +.Ed +.Pp +.Ar who +シンボルの ``u'', ``g'', ``o'' はそれぞれユーザ、グループ、それ以外に +相当します。``a'' シンボルは ``ugo'' を指定した場合と同じになります。 +.Pp +.ne 1i +.Ar perm +シンボルはモードの各ビットを以下のように表現します。 +.Pp +.Bl -tag -width Ds -compact -offset indent +.It r +読み込み許可ビット +.It s +実行時 setuid および実行時 setgid ビット +.It t +sticky ビット +.It w +書き込み許可ビット +.It x +実行/検索 許可ビット +.It X +対象がディレクトリであるか、変更前のモードで誰かの実行/検索許可ビット +が立っている場合に、実行/検索許可ビットがセットされます。 +.Ar perm +シンボルでの ``X'' の指定は、 +.Ar op +シンボルを ``+''で連結する時のみ意味があり、他の場合は無視されます。 +.It u +元ファイルの所有者許可ビット +.It g +元ファイルのグループ許可ビット +.It o +元ファイルの所有者とグループ以外の許可ビット +.El +.Pp +.Ar op +シンボルの働きは以下のようになります +.Bl -tag -width 4n +.It + +.Ar perm +値が指定されなければ、``+'' は何の作用もありません。 +.Ar who +シンボルが指定されていなければ、 +.Ar perm +値はそれぞれのwhoシンボルの対応するビットに作用し、それを umask で +マスクしたビットがセットされます。 +.Ar who +シンボルが指定されていれば、その +.Ar perm +値が設定されます。 +.It \&\- +.Ar perm +値が指定されていなければ、``\-'' は何の作用もありません。 +.Ar who +シンボルが指定されていなければ、 +.Ar perm +値はそれぞれのwhoシンボルの対応するビットに作用し、それを umaskで +マスクしたビットがクリアされます。 +.Ar who +シンボルが指定されていれば、その +.Ar perm +値がクリアされます。 +.It = +.Ar who +シンボルで指定されたモードビットがクリアされます。whoシンボルが指定 +されていなければ、所有者、グループ、その他の各モードビットがクリアされ +ます。 +.Ar who +シンボルが指定されていなければ、 +permで指定したビットが、所有者、グループ、その他のそれぞれを umaskで +マスクしたものだけ設定されます。 +.Ar who +シンボルと +.Ar perm +が指定されていれば、その値がそのまま設定されます。 +.El +.Pp +各 +.Ar clause +では、モードビットを操作するためのオペレーションを 1 つ以上記述しなけ +ればなりません。そして各オペレーションは記述した順番で適用されます。 +.Pp +所有者とグループ以外の ``o'' のみに対して、 ''s'' や ``t'' の組合せの +.Ar perm +値が指定されても無視されます。 +.Sh 使用例 +.Bl -tag -width "u=rwx,go=u-w" -compact +.It Li 644 +ファイルを誰にでも読めるようにして、ファイルの所有者のみ書き込み可能に +します。 +.Pp +.It Li go-w +ファイルの所有者以外の書き込みを禁止します。 +.Pp +.It Li =rw,+X +umask でマスクされていないビットの読み書きを許可しますが、実行許可は +現在設定されているものを保持します。 +.Pp +.It Li +X +誰かが実行/検索可能なファイルやディレクトリならば、すべてのユーザが +実行/検索できるファイルやディレクトリとします。 +.Pp +.It Li 755 +.It Li u=rwx,go=rx +.It Li u=rwx,go=u-w +誰にでも読み込みと実行ができて、所有者のみ書き込み可能になるようにしま +す。 +.Pp +.It Li go= +グループやその他のユーザにいかなる許可も与えません。 +.Pp +.It Li g=u-w +グループビットをユーザビットと同じにしますが、グループの書き込みは禁止 +します。 +.El +.Sh バグ +naughty bitのための +.Ar perm +オプションが無い。 +.Sh 関連項目 +.Xr chflags 1 , +.Xr install 1 , +.Xr chmod 2 , +.Xr stat 2 , +.Xr umask 2 , +.Xr fts 3 , +.Xr setmode 3 , +.Xr symlink 7 , +.Xr chown 8 +.Sh 規格 +.Nm chmod +ユーティリティは、規格にない +.Ar perm +シンボルの +.Dq t +と +.Dq X +を除いては +.St -p1003.2 +互換になるように作られています。 +.Sh 歴史 +.Nm +コマンドは +.At v1 +から導入されました. diff --git a/ja_JP.eucJP/man/man1/chpass.1 b/ja_JP.eucJP/man/man1/chpass.1 new file mode 100644 index 0000000000..cbb84765de --- /dev/null +++ b/ja_JP.eucJP/man/man1/chpass.1 @@ -0,0 +1,405 @@ +.\" Copyright (c) 1988, 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. +.\" +.\" @(#)chpass.1 8.2 (Berkeley) 12/30/93 +.\" %Id: chpass.1,v 1.7.2.2 1997/06/26 11:16:53 charnier Exp % +.\" jpman %Id: chpass.1,v 1.2 1997/03/31 14:06:36 horikawa Stab % +.\" +.Dd December 30, 1993 +.Dt CHPASS 1 +.Os +.Sh 名称 +.Nm chpass, chfn, chsh, ypchpass, ypchfn, ypchsh +.Nd ユーザデータベース内の情報を編集する +.Sh 書式 +.Nm chpass +.Op Fl a Ar list +.Op Fl p Ar encpass +.Op Fl s Ar newshell +.Op user +.Sh 解説 +.Nm chpass +は +.Ar user +もしくはデフォルトでは実行したユーザのユーザデータベースの情報を変更します。 +情報はフォーマットされ、必要な部分をエディタで変更します。 +.Pp +ユーザが変更することができる情報だけが表示されます。 +.Pp +オプションとしては、以下のものがあります: +.Bl -tag -width flag +.It Fl a +スーパユーザは、ユーザデータベースのエントリを +.Xr passwd 5 +で定義されたフォーマットで引数として直接指定できます。 +この引数はコロン(``:'')で区切られたリストであり、 +空きの部分があっても許されますが、 +すべてのフィールドをリストにしなければなりません。 +.It Fl p +スーパユーザは、暗号化されたパスワードフィールドを +.Xr crypt 3 +で用いられているフォーマットで引数として直接指定することができます。 +.It Fl s +.Fl s +オプションは、ユーザのシェルを +.Ar newshell +に変更します。 +.El +.Pp +表示されるエントリには以下のものがあります: +.Pp +.Bl -tag -width "Home Directory:" -compact -offset indent +.It Login: +ユーザのログイン名 +.It Password: +ユーザの暗号化されたパスワード +.It Uid: +ユーザの ID +.It Gid: +ユーザのグループ ID +.It Change: +パスワードの変更時間 +.It Expire: +アカウントの有効期限 +.It Class: +ユーザの一般的な分類 +.It Home Directory: +ユーザのホームディレクトリ +.It Shell: +ユーザのログインシェル +.It Full Name: +ユーザの実際の名前 +.It Location: +ユーザが通常いる場所 +.It Home Phone: +ユーザの自宅の電話番号 +.It Office Phone: +ユーザのオフィスの電話番号 +.El +.Pp +.Ar login +フィールドは計算機にアクセスするときに使われるユーザ名です。 +.Pp +.Ar password +フィールドはユーザの暗号化されたパスワードが収められています。 +.Pp +.Ar uid +フィールドは +.Ar login +フィールドと関連した番号です。ファイルのアクセスを制御するために、 +どちらのフィールドもシステム (しばしば、複数のシステム) の中で +一意である必要があります。 +.Pp +複数のエントリが同一のログイン名や同一のユーザ ID を持つことは可能ですが、 +そのようにすることは通常誤りです。 +これらのファイルを操作する手順では、 +それらの複数のエントリ内から無作為に選んだものの一つだけを返すでしょう。 +.Pp +.Ar group +フィールドはユーザがログイン時に所属するグループです。BSD が複数の +グループを採用してから( +.Xr groups 1 +参照) +このフィールドはほとんど意味がありません。 +このフィールドは番号やグループ名( +.Xr group 5 +参照) のどちらかが記述されます。 +.Pp +.Ar change +フィールドはパスワードが変更されているべき日付です。 +.Pp +.Ar expire +フィールドはアカウントの満了する日付です。 +.Pp +.Ar change +と +.Ar expire +の両方のフィールドは ``month day year'' の形式で入力し、 +.Ar month +は、英語の月の名前 (はじめの3文字でも十分です) で、 +.Ar day +は、その月の中の日で、 +.Ar year +は、その年です。 +.Pp +.Ar class +フィールドは現在では使われてません。近い将来には、 +.Xr termcap 5 +形式のユーザ属性のデータベースへの手がかりとなるでしょう。 +.Pp +ユーザの +.Ar home directory +はユーザがログイン時にいる場所への絶対 UNIX パス名です。 +.Pp +.Ar shell +フィールドはユーザの好むコマンドインタプリタです。 +もし +.Ar shell +フィールドが空であれば、ボーンシェル +.Pa /bin/sh +であると仮定します。 +ログインシェルを変更するときに、スーパユーザではないユーザは、 +非標準シェルから、または非標準シェルへの変更は許されていません。 +非標準シェルとは +.Pa /etc/shells +で見つけられないシェルのことです。 +.Pp +最後の 4 つのフィールドはユーザの +.Ar 実際の名前 , オフィスの場所 +そして +.Ar 家 +と +.Ar 仕事で使う電話 +番号の保管をしています。 +.Pp +一度情報が確認されたら +.Nm chpass +はユーザデータベースを更新するために +.Xr pwd_mkdb 8 +を用います。 +.Sh 環境変数 +環境変数 EDITOR を設定して他のエディタを指定している場合を除き、 +.Xr vi 1 +エディタが使われます。エディタが終了すると、その情報は再度読み込まれ、 +ユーザデータベースを変更するための情報とします。 +ユーザの情報を変更できるのは、そのユーザかスーパユーザのみです。 +.Sh NIS との相互作用 +いくつかの制限が適用されますが、 +.Nm chpass +を NIS と同時に使うこともできます。現在 +.Nm chpass +が +.Xr rpc.yppasswdd 8 +を通じて NIS のパスワードマップ中で変更できるのは、 +通常はユーザのパスワード、シェル、GECOS フィールドだけです。 +NIS マスタサーバ上でスーパユーザによって起動された場合を除き、 +.Nm chpass +(同様に +.Xr passwd 1 ) +は、ユーザ情報の変更および新レコードの追加のために +.Xr rpc.yppasswdd 8 +サーバを使用出来ません。 +なお、 +.Xr rpc.yppasswdd 8 +は、どのような変更を行う前にもパスワード認証を要求します。 +パスワード無しで変更要求できるユーザは +NIS マスタサーバ上のスーパユーザだけです; +他の全てのユーザはパスワードを入力する必要があります。 +他の全てのユーザには NIS クライアント(および NIS スレーブサーバ)上の +ルート権限を持つユーザも含まれます。 +(NIS マスタサーバ上のスーパユーザがこの制約をバイパスできる理由は、 +主に簡便さのためです: +NIS マスタサーバへのルートアクセス権限をもつユーザは +既に NIS マップを更新するための権限を持っています。 +それにもかかわらずマップソースファイルを手で編集することは面倒です。 +.Pp +注: これらの例外が適用されるのは +NIS マスタサーバが FreeBSD システムの時だけです。) +.Pp +その結果として、上述の例外を除き、NIS 環境で +.Nm chpass +を使う場合には以下の制限が適用されます: +.Bl -enum -offset indent +.It +.Pa シェルと GECOS 情報だけを変更できます。 +たとえ +.Nm chpass +がスーパユーザによって起動された場合であってもです。 +他のフィールドの変更がサポートされるようになっても、 +他の NIS システムとの互換性の問題を引き起こすでしょう。 +スーパユーザがあるエントリを編集している時に、 +他のフィールドにデータを書いても、余分な情報として +(パスワードは例外 -- 以下を参照してください) だまって廃棄されるでしょう。 +.Pp +例外: NIS マスタサーバ上のスーパユーザは、 +任意のフィールドの変更が許されています。 +.Pp +.It +.Pa パスワード認証が要求されます。 +どのような変更を行う前にも +.Nm chpass +はユーザの NIS パスワードを要求します。もしパスワードが間違っていたら、 +どのような変更も行われません。 +.Pp +例外: NIS マスタサーバ上のスーパユーザはパスワード無しに変更要求できます。 +(スーパユーザは、後述するように +.Fl o +フラグを指定する事によりこの仕様を無効にする事が選択できます。) +.It +.Pa 新しいレコードのローカルパスワードデータベースへの追加は勧められません。 +NIS が動作しているときに、管理者が +.Nm chpass +によって新しいレコードをローカルのパスワードデータベースに追加可能です。 +しかし、新しいレコードがマスタパスワードファイルの最後、 +通常は NIS の特別な '+' エントリの後に追加されるため、 +いくつかの混乱を招きかねません。 +.Xr vipw 8 +を使ってローカルのパスワードファイルを変更するべきです。 +.Pp +NIS マスタサーバ上のスーパユーザによる +NIS パスワードマップへの新レコードの追加が許可されるのは、 +.Xr rpc.yppasswdd 8 +サーバが +.Fl a +フラグ付で起動された場合、すなわち追加を許可して起動された場合のみです +(通常は追加を拒否します)。 +.Nm chpass +はデフォルトではローカルのパスワードデータベースを更新しようとします; +NIS マップを変更する場合には chpass を +.Fl y +フラグ付で起動してください。 +.It +.Pa パスワードの変更は許可されていません。 +ユーザが、自分の NIS のパスワードを変更するときには +.Xr passwd 1 +か +.Xr yppasswd 1 +を使うべきです。スーパユーザは新しいパスワードを指定することを許され +ています(たとえ、``Password:'' フィールドがエディタのテンプレートに +あらわれていなくても、スーパユーザは手動で加えることができます) 。 +しかしながら、スーパユーザであってもユーザの元のパスワードがなければ +.Xr rpc.yppasswdd 8 +が NIS マップの更新を拒否するでしょう。 +.Pp +例外: NIS マスタサーバ上のスーパユーザは +.Nm chpass +を使用して、ユーザの NIS パスワードを変更する事が許されています。 +.El +.Pp +.Nm chpass +が NIS をサポートしてコンパイルされたときに、数個の特別なフラグが有効 +になります: +.Bl -tag -width flag +.It Fl l +.Fl l +フラグは、ローカルと NIS の両方のデータベースにユーザが存在していても、 +ユーザのパスワード情報のローカルのコピーを修正することを +.Nm chpass +に強制します。 +.It Fl y +このフラグは +.Fl l +と反対の効果があります。もし NIS が動作していれば、 +デフォルトでは +.Nm chpass +は NIS のエントリを操作するので、 +このフラグはまったく冗長です。 +.It Fl d Ar domain +NIS ドメインを指定します。 +.Nm chpass +はデフォルトではシステムのドメイン名を使用します。 +これは +.Xr domainname 1 +コマンドにて設定されています。 +.Fl d +オプションは、 +このデフォルトを上書きするため、 +もしくはドメイン名が設定されていない場合にドメイン名を指定するために +使用できます。 +.It Fl h Ar host +問い合わせるべき NIS サーバの名前もしくはアドレスを指定します。 +通常 +.Nm chpass +は +.Pa master.passwd +もしくは +.Pa passwd +マップにて指定される NIS マスタホストと通信します。 +NIS クライアントとして構成されていないホスト上では、 +この情報を決定するための方法がプログラムにはありませんので、 +ユーザがサーバのホスト名を指定します。 +指定するホスト名は NIS マスタサーバである必要が無い事に注意してください; +NIS ドメイン内のマスタサーバ名でもスレーブサーバ名でも良いのです。 +.Pp +.Fl d +オプション使用時には、ホスト名のデフォルトは ``localhost'' です。 +.Fl h +オプションを +.Fl d +とともに使用し、ユーザが指定するホスト名でこのデフォルトを上書きできます。 +.Pp +.It Fl o +.Xr rpc.yppasswdd 8 +に RPC ベースの更新を強制します(``旧モード'')。 +NIS マスタサーバ上でスーパユーザにより起動された場合、 +.Nm chpass +は専用の非 RPC ベースの機構を使用し、 +NIS パスワードマップに対する無制限の変更を許可します +(この場合 UNIX ドメインソケットを使用します)。 +.Fl o +フラグを使用する事により +.Nm chpass +に標準の更新メカニズムを使用させる事が出来ます。 +このオプションは主にテスト目的のために提供されています。 +.El +.Pp +.Sh 関連ファイル +.Bl -tag -width /etc/master.passwd -compact +.It Pa /etc/master.passwd +ユーザデータベース +.It Pa /etc/passwd +Version 7 フォーマットのパスワードファイル +.It Pa /etc/chpass.XXXXXX +パスワードファイルのテンポラリ用コピー +.It Pa /etc/shells +利用できるシェルのリスト +.El +.Sh 関連項目 +.Xr finger 1 , +.Xr login 1 , +.Xr passwd 1 , +.Xr getusershell 3 , +.Xr passwd 5 , +.Xr pwd_mkdb 8 , +.Xr vipw 8 +.Rs +.%A Robert Morris +and +.%A Ken Thompson +.%T "UNIX Password security" +.Re +.Sh 注釈 +.Xr chfn 1 , +.Xr chsh 1 , +.Xr ypchpass 1 , +.Xr ypchfn 1 , +.Xr upchsh 1 +コマンドは実際には +.Nm chpass +にリンクしているだけです。 +.Sh バグ +ユーザ情報の保存はどこか他の場所にするべきです +(し、いつかはそうなるでしょう)。 +.Sh 歴史 +.Nm chpass +コマンドは +.Bx 4.3 Reno +から登場しました。 diff --git a/ja_JP.eucJP/man/man1/ci.1 b/ja_JP.eucJP/man/man1/ci.1 new file mode 100644 index 0000000000..eb08f520d0 --- /dev/null +++ b/ja_JP.eucJP/man/man1/ci.1 @@ -0,0 +1,887 @@ +.\" jpman %Id: ci.1,v 1.2 1997/06/01 11:29:01 horikawa Stab % +.ds Rv \\$3 +.ds Dt \\$4 +.. +.Id %Id: ci.1,v 1.3 1996/02/12 04:56:44 mpp Exp % +.ds i \&\s-1ISO\s0 +.ds r \&\s-1RCS\s0 +.ds u \&\s-1UTC\s0 +.if n .ds - \%-- +.if t .ds - \(em +.TH CI 1 \*(Dt GNU +.SH 名称 +ci \- RCSファイルにリビジョンをチェックインする +.SH 書式 +.B ci +.RI [ options ] " file " .\|.\|. +.SH 解説 +.B ci +は \*r ファイルに新たなリビジョンを格納します。 +引数のうち、\*r ファイルの拡張子形式に一致する +ファイル名を \*r ファイルとみなします。 +それ以外のファイル名は、新たなリビジョンを含んだワークファイルとみなします。 +.B ci +はワークファイルの内容を対応した \*r ファイルに格納します。 +もしワークファイルのみが指定されたなら、 +.B ci +はサブディレクトリ \*r、次にワークファイルがあるディレクトリの順に +対応する \*r ファイルを検索します。 +詳細は後述の +.SM "ファイル名規則" +の項を参照してください。 +.PP +.B ci +が動作するには、 +.B ci +を起動したユーザが +\*r ファイルのアクセスリスト +に登録されているか、アクセスリストが空であるか、 +ユーザが \*r ファイルの持ち主であるか、 +あるいはスーパーユーザである必要があります。 +すでに存在する枝(branch)に新しいリビジョンを追加するには、 +枝の先端(tip)リビジョンが、 +追加しようとするユーザによってロックされていなければなりません。 +ロックされていない場合、新たな枝のみ作成可能です。 +非厳格モード( +.BR rcs (1) +参照)の場合、 +ファイルの所有者に対してはこの制限はありません。 +他人が行っているロックは、 +.B rcs +コマンドによって解除できます。 +.PP +.B \-f +オプションが指定されていなければ、 +.B ci +は追加しようとするリビジョンと直前のリビジョンとの比較を行います。 +違いがなかった場合、新たなリビジョンを作成するかわりに、 +ワークファイルを元のリビジョンのものに復元します。 +復元するときには、ci はいったんワークファイルを削除し、 +ロックを解除します。 +.B "ci\ \-l" +はロックし、 +.B "ci\ \-u" +はロックを解除します。 +これらのオプションが指定されていれば、あたかも直前のリビジョンに対して +.B "co\ \-l" +または +.B "co\ \-u" +を実行したかのようにして直前のリビジョンの内容を取り出します。 +復元が行われる場合、 +.B \-n +と +.B \-s +オプションは復元されるリビジョンに対して作用します。 +.PP +リビジョンを格納するときに、 +.B ci +はログメッセージの入力を促すプロンプトを表示します。 +ログメッセージは、そのリビジョンの変更点の要約です。 +ファイル終端(EOF)あるいは、 +ピリオド +.B \&. +のみからなる行によって入力を完了させます。 +複数のファイルが登録される場合、 +.B ci +は前に入力したログメッセージを +再利用するかどうかを聞いてきます。 +もし標準入力が端末でなければ、 +.B ci +は確認を行わず、 +登録されるすべてのファイルに対して同じログメッセージを使用します。 +.B \-m +オプションの項も参照してください。 +.PP +もし \*r ファイルが存在しなければ、 +.B ci +は新規に \*r ファイルを作成し、 +ワークファイルの内容を初期リビジョン(デフォルトでは +.BR 1.1 ) +として格納します。 +その場合、アクセスリストは空に初期化されます。 +初期リビジョンを格納するときは、 +ログメッセージのかわりに +ファイルの内容を記述したテキストを入力します(後述の +.B \-t +オプションの項を参照してください)。 +.PP +登録するリビジョン番号( +.I rev ) +は、 +.BR \-f , +.BR \-i , +.BR \-I , +.BR \-j , +.BR \-k , +.BR \-l , +.BR \-M , +.BR \-q , +.BR \-r , +.B \-u +のオプションのうちのいずれかで指定することができます。 +.I rev +はシンボル、数値、あるいは両者の組合せたものです。 +.I rev +で使用するシンボル名は定義済みでなければなりません; +チェックイン時にシンボル名を割り当てる方法については +.B \-n +および +.B \-N +を参照して下さい。 +もし +.I rev +が +.B $ +ならば、 +.B ci +はワークファイル中のキーワードからリビジョン番号を決定します。 +.PP +もし +.I rev +がピリオドから始まる場合、デフォルトの枝(通常は幹(trunk))に格納されます。 +もし +.I rev +が枝番号に続いてピリオドである場合、当該枝の最新のリビジョンが使用されます。 +.PP +.I rev +がリビジョン番号の場合、 +それは登録する枝のなかで最も大きな値である必要があります。 +さもなければ、新しい枝を作成する必要があります。 +.PP +.I rev +がリビジョン番号ではなく枝番号の場合、 +その枝に対する新しいリビジョンが作成されます。 +新しいリビジョン番号は、その枝の先端リビジョン番号に1を加えたものとなります。 +もし +.I rev +が存在しない枝番号ならば、新たな枝が作成され、初期リビジョンとして +.IB rev .1 +が作成されます。 +.br +.ne 8 +.PP +.I rev +が省略された場合、 +.B ci +はユーザが行った最後のロックからリビジョン番号を決定します。 +ユーザがある枝の先端リビジョンをロックしている場合は、 +新たなリビジョンがその枝に追加されます。 +新しいリビジョン番号は +先端リビジョン番号に 1 を加えたものになります。 +ユーザが先端ではないリビジョンをロックしている場合は、 +新たな枝が作成されます。 +新たな枝番号は、ロック対象のリビジョンの +最も大きな枝番号に1を加えたものになります。 +デフォルトでは、新たな枝やリビジョンの番号は +.B 1 +となります。 +.PP +.I rev +が省略され、ユーザがロックを行わず、そのファイルの所有者であり、 +かつロックが +.I 非厳格モード +であるなら、 +デフォルトの枝(通常は幹(trunk); +.BR rcs (1) +の +.B \-b +オプションの項を参照)に新たなリビジョンが作成されます。 +.PP +例外: 幹(trunk)においてリビジョンを追加することはできますが、 +途中に挿入することはできません。 +.SH オプション +.TP +.BI \-r rev +リビジョン +.I rev +をチェックインします。 +.TP +.B \-r +.B \-r +オプションをリビジョン抜きで使用した場合、 +.B ci +にとって特別な意味が有ります。他の \*r コマンドでは +.B \-r +オプションを単体で使用するとデフォルト枝の最新のリビジョンを指定します。 +しかし、 +.B ci +ではロック解除、ワークファイル削除を行い、 +シェルのエイリアスやスクリプトによりデフォルトとされてしまった +.B \-l +や +.B \-u +オプションの効果を打ち消します。 +.TP +.BR \-l [\f2rev\fP] +.B \-r +と同様の動作を行ったあと、 +.B "co\ \-l" +と同様の動作も行います。 +すなわち、登録されたリビジョンは即座にロックされ、チェックアウトされます。 +これは、リビジョンをチェックインしてさらに編集を続けたい場合に便利です。 +.TP +.BR \-u [\f2rev\fP] +.B \-l +とほぼ同様の動作をしますが、登録されたリビジョンはロックされません。 +これは、チェックインしたリビジョンの内容をすぐに参照したい場合に便利です。 +.RS +.PP +.BR \-l +、リビジョン無し +.BR \-r , +.B \-u +オプションは、最後に指定したもののみが効力を持ちます。 +たとえば、 +.B "ci\ \-u\ \-r" +は +.B "ci\ \-r" +と等価です。 +リビジョン無し +.B \-r +が +.B \-u +に優先するからです。 +.RE +.TP +.BR \-f [\f2rev\fP] +強制的に登録します。 +直前のリビジョンとの違いがない場合にも、 +新しいリビジョンとして登録します。 +.TP +.BR \-k [\f2rev\fP] +リビジョン番号などをローカルに算出せずに、 +ワークファイルからキーワードを探し、 +リビジョン番号、作成日時、状態、作者( +.BR co (1) +を参照)を検索し、登録されるリビジョンに割り当てます。 +さらに、 +.B ci +を起動したユーザ名と実際にチェックインされた日付を含む +デフォルトのログメッセージを作成します。 +本オプションは、配布されたソフトウェアを登録するのに便利です。 +複数のサイトに配布されたリビジョンは、 +元のリビジョン番号、作成日付、状態、作者を保存するために、 +.B \-k +オプションを使って登録するべきです。 +ワークファイルのキーワードから取り出した値とログメッセージは、 +.BR \-d , +.BR \-m , +.BR \-s , +.B \-w +や、他のリビジョン番号を生成するようなオプションにより +変更することができます。 +.TP +.BR \-q [\f2rev\fP] +沈黙モードです。 +診断メッセージを表示しません。 +直前のリビジョンから変更がない場合、 +.B \-f +オプションを指定していなければ、登録を行いません。 +.TP +.BR \-i [\f2rev\fP] +最初のチェックイン; \*r ファイルが既に有る時にはエラー報告します。 +特定のアプリケーションのレース状態を避けます。 +.TP +.BR \-j [\f2rev\fP] +初期化を行わず、チェックインします; +\*r ファイルが無いとエラー報告します。 +.TP +.BR \-I [\f2rev\fP] +対話モードで動作します。 +たとえ標準入力が端末でなくても、ユーザに対して問い合わせを行います。 +.TP +.BR \-d "[\f2date\fP]" +チェックイン日付として指定された +.I date +を用います。 +.I date +は +.BR co (1) +で記述された自由形式で指定することができます。 +これは、チェックイン日時をごまかしたい場合や、 +日付キーワードがワークファイルにないにもかかわらず +.B \-k +オプションを使いたい場合に便利です。 +.I date +が指定されなかった場合、ワークファイルの最終更新日付が用いられます。 +.TP +.BR \-M [\f2rev\fP] +作成されるワークファイルの最終更新日付を、 +取り出されたリビジョンの日付にします。 +たとえば、 +.BI "ci\ \-d\ \-M\ \-u" "\ f" +は、 +.I f +の内容がキーワード置換により変更された場合も最終更新日時を変更しません。 +本オプションを指定すると +.BR make (1) +に影響を与えるので、注意して使用する必要があります。 +.TP +.BI \-m "msg" +チェックインするすべてのリビジョンのログメッセージとして +.I msg +を用います。 +慣習的に +.B # +で始まるログメッセージはコメントであり、GNU Emacs の +.B vc +パッケージのようなプログラムはこれを無視します。 +また、 +.BI { clumpname } +(の後に空白が続く)ログメッセージは可能であればまとめられることを意味します。 +それはたとえ別々のファイルに関連づけられていてもです; +.BI { clumpname } +ラベルは、まとめる目的でのみ使用されます。 +それ自身はログメッセージであるとは見なされません。 +.TP +.BI \-n "name" +チェックインしたリビジョンにシンボリック名 +.I name +をつけます。 +もし同じシンボリック名が別のリビジョンに割り当てられていた場合、 +.B ci +はエラーメッセージを出力します。 +.TP +.BI \-N "name" +.B -n +と同様の動作を行います。 +ただし、同じシンボリック名が他のリビジョンに割り当てられていた場合は、 +再割り当てを行います(こちらを優先します)。 +.TP +.BI \-s "state" +チェックインされるリビジョンの状態を +.I state +とします。デフォルトは +.B Exp +(Experimental: 実験的)です。 +.TP +.BI \-t file +\*r ファイル中の内容記述テキストをファイル +.I file +の内容で置き換えます。 +すでに内容記述テキストがある場合はこれを削除します。ファイル名 +.I file +は +.B \- +で始まってはいけません。 +.TP +.BI \-t\- string +\*r ファイル中の内容記述テキストを文字列 +.I string +で置き換えます。 +すでに内容記述テキストがある場合は削除されます。 +.RS +.PP +.B \-t +オプションは、どちらの形式で使う場合も、 +最初のチェックイン時にしか意味を持ちません。 +それ以外の場合は単に無視されます。 +.PP +最初のチェックイン時に +.B \-t +オプションが指定されなかった場合、 +.B ci +は標準 +入力から内容記述テキストを読み込みます。 +テキストは、ファイル終端(EOF)あるいはピリオド( +.Br \&. +)のみの行で終了します。 +ユーザへの問い合わせが可能な場合には、 +テキストの入力を促すプロンプトが表示されます( +.B \-I +オプション参照)。 +.PP +旧バージョンとの互換性のため、引数のない +.B \-t +オプションは無視されます。 +.RE +.TP +.B \-T +新しいリビジョンが存在し、 +\*r ファイルの修正時刻が新しいリビジョンの時刻よりも古ければ、 +\*r ファイルの修正時刻に対して新しいリビジョンの時刻を代入します; +そうでない場合は \*r ファイルの修正時刻は保たれます。 +リビジョンをロックした場合は、 +.B ci +は通常 \*r ファイルの修正時刻を現在の時刻に設定します。 +なぜならロックが \*r ファイルに格納され、 +ロックの削除は \*r ファイルの変更を要するからです。 +\*r ファイルがワークファイルよりも新しくなる方法として 2 通り有ります: +まず、 +.B "ci\ \-M" +は現在時刻以前の日付でワークファイルを作成します; +2 番目に、直前のバージョンを回復する時、 +ワークファイルを変更しない場合にも \*r ファイルは変更され得ます。 +\*r ファイルのワークファイルにおける +.BR make (1) +依存により、上記 2 ケースは過剰の再コンパイルという結果になり得ます。 +.B \-T +オプションを使用することで、\*r ファイルの日付をごまかし、 +再コンパイルを禁止します。 +このオプションは注意して使って下さい; +あるワークファイルのチェックインが、 +同じ \*r ファイルに関連づけられている別のワークファイルに影響を及ぼすべき +時でも、再コンパイルを抑制し得ます。 +例えば、\*r ファイルの時刻を 01:00、 +(変更された) ワークファイルの時刻を 02:00、 +別のワークファイルのコピーの時刻を 03:00、 +現在の時刻を 04:00 とします。 +ここで、 +.B "ci\ \-d\ \-T" +とすると、\*r ファイルの時刻は通常の 04:00 ではなく 02:00 になります; +この結果、 +.BR make (1) +は別のコピーが \*r ファイルよりも新しいと(誤って)認識します。 +.TP +.BI \-w "login" +指定された +.I login +をリビジョンの作者として登録します。 +作者名をごまかしたい場合や、 +作者キーワードがワークファイルにないにもかかわらず +.B -k +オプションを使いたい場合に便利です。 +.BI \-V +\*r のリビジョン番号を表示します。 +.TP +.BI \-V n +\*r システムのバージョン +.I n +のエミュレーションを行います。詳細は +.BR co (1) +を参照してください。 +.TP +.BI \-x "suffixes" +\*r ファイルの拡張子を指定します。 +拡張子が空ではない場合、 +拡張子まで含めたすべてのパス名を \*r ファイル名であるとみなします。 +拡張子が空の場合は、 +.BI RCS/ path +または +.IB path1 /RCS/ path2 +形式のものを \*r ファイル名であるとみなします。 +本オプションの場合、 +.B / +で区切ることにより、複数の拡張子を指定できます。たとえば、 +.B \-x,v/ +は、 +.B ,v +と空の拡張子の 2 つの拡張子を持つ \*r ファイルを指定します。 +複数の拡張子が指定された場合、指定された順に \*r ファイルを検索します。 +最初に見つかったサフィックスが \*r ファイルに対して用いられます。 +\*r ファイルを生成できるが、 \*r ファイルが見つからないときは、 +これらのサフィックスを新しいファイル名に対して用います。 +デフォルトの拡張子は、インストールされる環境により異なります。 +UNIXのようなコンマをファイル名中に含めることの出来る計算機では、通常 +.B \-x,v/ +が、それ以外の計算機では空の拡張子が用いられます。 +.TP +.BI \-z zone +キーワード置換での日付の出力書式の指定を行い、また、 +.BI \-d date +オプションでの +.I date +のデフォルトのタイムゾーンの指定を行います。 +.I zone +は、省略する事も、UTC からの数値差で指定する事も、特別な文字列 +.B LT +を使ってローカル時間で指定する事もできます。 +デフォルトでは +.I zone +は空であり、 +この場合は伝統的な \*r フォーマット、 +すなわちタイムゾーン無しの \*u であり日付をスラッシュで区切ります; +そうでない場合は時刻はタイムゾーン付の \*i 8601 フォーマットです。 +例えば、ローカルタイムが 1990 年 1 月 11 日 太平洋標準時間 +(\*u の 8 時間西)午後 8 時の場合、時間の出力は次のようになります: +.RS +.LP +.RS +.nf +.ta \w'\f3\-z+05:30\fP 'u +\w'\f31990-01-11 09:30:00+05:30\fP 'u +.ne 4 +\f2オプション\fP\f2時刻の出力\fP +\f3\-z\fP \f31990/01/12 04:00:00\fP \f2(デフォルト)\fP +\f3\-zLT\fP \f31990-01-11 20:00:00\-08\fP +\f3\-z+05:30\fP \f31990-01-12 09:30:00+05:30\fP +.ta 4n +4n +4n +4n +.fi +.RE +.LP +.B \-z +オプションは \*r ファイルに格納されている日付(常に \*u です)には影響しません。 +.SH "ファイル名規則" +\*r ファイルとワークファイルの組合せは3通りの方法で指定することができます。 +(使用例の項目も参照してください。) +.PP +1) \*r ファイルとワークファイルの両方を指定する。 +\*r ファイルのパス名は +.IB path1 / workfileX +形式、ワークファイルのパス名は +.IB path2 / workfile +形式をとります。この場合の +.IB path1 / +と +.IB path2 / +はパス(異なるパスや、空でも可)を示し、 +.I workfile +はファイル名、 +.I X +は \*r ファイルの拡張子です。もし +.I X +が空なら、 +.IB path1 / +は +.B RCS/ +で始まるか、 +.B /RCS/ +を含まねばなりません。 +.PP +2) \*r ファイルのみを指定する。 +ワークファイルがカレントディレクトリに作成され、\*r ファイル名から +.IB path1 / +と拡張子 +.I X +を取り除いたファイル名になります。 +.PP +3) ワークファイルのみを指定する。 +.B ci +はまず、各 \*r 拡張子 +.I X +に対して、 +.IB path2 /RCS/ workfileX +形式の名前で検索を行います。 +さらに、(もしこれが見つからず、 +.I X +が空でなければ、) +.IB path2 / workfileX +を検索します。 +.PP +1) または 2) の方法で \*r ファイルが指定されていない場合、 +.I ci +はまずディレクトリ +.B ./RCS +を検索し、次にカレントディレクトリを検索します。 +.PP +異常により \*r ファイルのオープンに失敗すると、 +.I ci +はエラー報告します。 +他に \*r ファイルのパス名の候補があってもです。 +たとえばディレクトリ +.I d +で \*r コマンドを利用できないようにするには、 +.IB d /RCS +なる名前の通常ファイルを作成しておきます。 +すると、\*r コマンドは +.IB d /RCS +をディレクトリとしてオープンしようとしますが、 +ディレクトリではないのでオープンすることができず失敗します。 +.SH 使用例 +\*r 拡張子が +.B ,v +、カレントディレクトリには \*r ファイルを含む +.B RCS +というサブディレクトリがあり、 +.B io.c,v +があると仮定します。 +ここで、以下に示したコマンドを実行すると、 +どれもカレントディレクトリにある +.B io.c +を +.B RCS/io.c,v +にチェックインし、 +.B io.c +を削除します。 +.LP +.RS +.nf +.ft 3 +ci io.c; ci RCS/io.c,v; ci io.c,v; +ci io.c RCS/io.c,v; ci io.c io.c,v; +ci RCS/io.c,v io.c; ci io.c,v io.c; +.ft +.fi +.RE +.PP +\*r 拡張子が空、カレントディレクトリには \*r ファイルを含む +.B RCS +というサブディレクトリがあり、 +.B io.c +があると仮定します。ここで以下に示すコマンドは、どれも新しい +リビジョンのチェックインを行います。 +.LP +.RS +.nf +.ft 3 +ci io.c; ci RCS/io.c; +ci io.c RCS/io.c; +ci RCS/io.c io.c; +.ft +.fi +.RE +.SH "ファイルモード" +.B ci +が作成した \*r ファイルは、 +ワークファイルの読み込みと実行の許可属性を受け継ぎます。 +すでに \*r ファイルが存在すれば、 +.B ci +はその読み込みと実行の許可属性を保持します。 +.B ci +は、つねに \*r ファイルの書き込み許可属性を不許可にします。 +.SH 関連ファイル +いくつかの一時ファイルが、ワークファイルの存在するディレクトリまたは +一時ディレクトリ(環境変数の項の +.B \s-1TMPDIR\s0 +参照)に作成されます。 +セマフォファイル等のファイルが +\*r ファイルが存在するディレクトリに作成されます。 +空ではない拡張子を用いている場合、 +セマフォファイル名の先頭文字には、 +拡張子の先頭文字と同じ文字が用いられます; +よって、拡張子として、ワークファイルの拡張子の先頭文字と同じ文字を +指定しないように注意してください。 +空の拡張子を指定している場合、 +セマフォファイル名の最後の文字がアンダースコア( +.B _ +) となります。 +.PP +.B ci +は、 \*r ファイルやワークファイルを変更しません。通常 +.B ci +はそれらのファイルをアンリンクし、新しいファイルを作成します; +ただし、\*r ファイルへのシンボリックリンクの鎖を壊す代わりに、 +目的のファイルをアンリンクします。 +よって、 +.B ci +は変更されるワークファイルへの +ハードリンク、シンボリックリンクを全て壊します; +さらに、\*r ファイルへのハードリンクは無効となり、 +シンボリックリンクは保存されます。 +.PP +実効ユーザは、\*r ファイルを含むディレクトリの +検索および書き込み権を持っていなければなりません。 +通常実ユーザは、 \*r ファイルとワークファイルの読み込み許可と、 +それらを含むディレクトリの検索および書き込み権を持っていなければなりません。 +しかし、古い計算機のなかには実ユーザと実効ユーザの間を +容易に行き来することができないものもあります。 +これらの計算機では、実効ユーザのみが利用されます。 +.B ci +や +.B co +のコピーに setuid が設定されていなければ、 +実ユーザと実効ユーザは同一です。 +次節で説明するように、 +もし実効ユーザが全 \*r ファイルとそれを含むディレクトリを所有し、 +実効ユーザのみが \*r ディレクトリに書き込めるように設定できるなら、 +\*r ファイルのセキュリティを強化することが可能です。 +.PP +ユーザは \*r ファイルを含むディレクトリの許可属性を変更することで、 +\*r ファイルに対するアクセスを制限できます; +そのディレクトリに書き込み権のあるユーザだけが、 +\*r ファイルを変更する \*r コマンドを使用することができます。 +たとえば、ユーザが複数のグループに属することが出来る計算機では、 +\*r ディレクトリをあるグループのみが書き込み権を持つように設定します。 +これは、略式のプロジェクトでは十分ですが、 +グループに所属するユーザが自由に \*r ファイルを変更することができ、 +\*r ファイルすべてを削除することもできます。 +そのため、正式なプロジェクトでは、 +\*r ファイルを自由に操作きる \*r 管理者と、 +新たなリビジョンをチェックインすること以外の操作はできない他のユーザとを、 +区別することがあります。 +.SH SETUID の使用 +\*r 管理者以外のユーザがリビジョンを削除できないようにするには、 +以下のように setuid 特権を使用することができます。 +.nr n \w'\(bu'+2n-1/1n +.ds n \nn +.if \n(.g .if r an-tag-sep .ds n \w'\(bu'u+\n[an-tag-sep]u +.IP \(bu \*n +その計算機で \*r にて setuid が使用できるか確認します。 +疑問があるときは、信頼できる専門家に意見を聞いてください。 +最も良いのは、 +.B seteuid() +システムコールが Posix 1003.1a Draft 5 に +記述されているように動作することです。 +なぜなら、実ユーザが +.BR root +であっても、\*r は実ユーザと実行ユーザを簡単に切替えることができるからです。 +その次に良いのは、 +.B setuid() +システムコールが saved setuid +(Posix 1003.1-1990の {\s-1_POSIX_SAVED_IDS\s0} の動作)を +サポートしている場合です; +この場合、実ユーザもしくは実効ユーザが +.BR root +である時のみ失敗します。 +\*r は setuid に失敗すると、ただちに終了します。 +.IP \(bu \nn +ユーザグループの \*r 管理者として、ユーザ +.I A +を選びます。 +.I A +だけが、\*r ファイルに対して +.B rcs +コマンドを実行することができます。 +.I A +は +.B root +や、特権を持ったユーザであってはいけません。 +相互に異なるユーザグループには、異なる管理者を使用するべきです。 +.IP \(bu \nn +ユーザが実行するファイルのディレクトリに、パス名 +.I B +を選びます。 +.IP \(bu \nn +以下のように、通常のインストールディレクトリ +.I D +から、 +.B ci +と +.B co +を +.I B +にコピーし、 +.I A +へ setuid します: +.LP +.RS +.nf +.ne 3 +\f3mkdir\fP \f2B\fP +\f3cp\fP \f2D\fP\^\f3/c[io]\fP \f2B\fP +\f3chmod go\-w,u+s\fP \f2B\fP\f3/c[io]\fP +.fi +.RE +.IP \(bu \nn +以下のように、各ユーザのパスに +.I B +を加えます: +.LP +.RS +.nf +.ne 2 +\f3PATH=\fP\f2B\fP\f3:$PATH; export PATH\fP # ordinary shell +\f3set path=(\fP\f2B\fP \f3$path)\fP # C shell +.fi +.RE +.IP \(bu \nn +以下のように、 +.I A +だけが書き込み許可を持つ \*r ディレクトリ +.I R +を作成します: +.LP +.RS +.nf +.ne 2 +\f3mkdir\fP \f2R\fP +\f3chmod go\-w\fP \f2R\fP +.fi +.RE +.IP \(bu \nn +特定のユザーだけに \*r ファイルの読み込みを許可したい場合、 +そのユーザをユーザグループ +.IR G +に入れて、さらに +.I A +が以下のように、\*r ディレクトリを保護します: +.LP +.RS +.nf +.ne 2 +\f3chgrp\fP \f2G R\fP +\f3chmod g\-w,o\-rwx\fP \f2R\fP +.fi +.RE +.IP \(bu \nn +(存在すれば)古い \*r ファイルを +.IR R +にコピーし、 +.I A +が所有であることを保証します。 +.IP \(bu \nn +\*r ファイルのアクセスリストは、 +リビジョンをチェックインおよびロックできるユーザを制限します。 +デフォルトのアクセスリストは空で、 +\*r ファイルを読むことのできる全てのユーザに、登録の権限を与えます。 +チェックインを制限したい場合は、 +.I A +がそのファイルに対して +.B "rcs\ \-a" +を実行します; +.BR rcs (1) +を参照してください。 +特に +.BI "rcs\ \-e\ \-a" A +は、 +.IR A +だけにアクセスを制限します。 +.IP \(bu \nn +初めてチェックインを行う前に、 +.I A +は +.B "rcs\ \-i" +によって新しい \*r ファイルを初期化します。 +チェックインを制限したい場合、 +.B \-a +オプションを付け加えます。 +.IP \(bu \nn +setuid 特権は、 +.BR ci , +.BR co , +.BR rcsclean +のみに与えます; +.B rcs +や他のコマンドに、setuid 特権を与えてはなりません。 +.IP \(bu \nn +\*r コマンドに対して、他の setuid コマンドを実行しないでください。 +setuid はあなたが考えるより扱いにくいものです。 +.SH 環境変数 +.TP +.B \s-1RCSINIT\s0 +本変数に空白で区切ったオプションを設定することで、 +コマンドライン引数に先立って処理されます。 +空白はバックスラッシュによってエスケープすることができます。 +.B \s-1RCSINIT\s0 +はほとんどの \*r コマンドで参照されます。特に +.BR \-q , +.BR \-V , +.BR \-x , +.B \-z +オプションを指定しておくと便利です。 +.TP +.B \s-1TMPDIR\s0 +一時ディレクトリ名を指定します。 +設定されていない場合は、環境変数 +.B \s-1TMP\s0 +と +.B \s-1TEMP\s0 +とを調べ、始めに見つかった値を用います; +どれも設定されていない場合は、 +計算機依存のデフォルトのディレクトリ(たいていは +.B /tmp +)を使用します。 +.SH 診断 +各リビジョンに対して、 +.I ci +は \*r ファイル名、ワークファイル名、追加するリビジョン番号、直前の +リビジョン番号を表示します。全ての処理が成功した場合のみ、 +終了ステータスが 0 になります。 +.SH 作者 +Author: Walter F. Tichy. +.br +Manual Page Revision: \*(Rv; Release Date: \*(Dt. +.br +Copyright \(co 1982, 1988, 1989 Walter F. Tichy. +.br +Copyright \(co 1990, 1991, 1992, 1993, 1994, 1995 by Paul Eggert. +.SH 関連項目 +co(1), +ident(1), make(1), rcs(1), rcsclean(1), rcsdiff(1), +rcsintro(1), rcsmerge(1), rlog(1), setuid(2), rcsfile(5) +.br +Walter F. Tichy, +\*r\*-A System for Version Control, +.I "Software\*-Practice & Experience" +.BR 15 , +7 (July 1985), 637-654. +.br diff --git a/ja_JP.eucJP/man/man1/cksum.1 b/ja_JP.eucJP/man/man1/cksum.1 new file mode 100644 index 0000000000..a3ae3ac152 --- /dev/null +++ b/ja_JP.eucJP/man/man1/cksum.1 @@ -0,0 +1,177 @@ +.\" Copyright (c) 1991, 1993 +.\" The Regents of the University of California. All rights reserved. +.\" +.\" This code is derived from software contributed to Berkeley by +.\" the Institute of Electrical and Electronics Engineers, Inc. +.\" +.\" 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. +.\" +.\" @(#)cksum.1 8.2 (Berkeley) 4/28/95 +.\" %Id: cksum.1,v 1.1.1.1.8.4 1997/09/14 23:16:54 jkh Exp % +.\" jpman %Id: cksum.1,v 1.4 1997/08/10 18:27:42 horikawa Stab % +.\" +.Dd April 28, 1995 +.Dt CKSUM 1 +.Os BSD 4.4 +.Sh 名称 +.Nm cksum +.Nd ファイルのチェックサムとブロックカウントを表示する +.Sh 書式 +.Op Fl o Ar \&1 No \&| Ar \&2 +.Op Ar file ... +.Nm sum +.Op Ar file ... +.Sh 解説 +.Nm cksum +ユーティリティは、各入力ファイルに対して、 +空白で区切られた 3 つのフィールドを標準出力に出力します。 +これら 3 フィールドはそれぞれ、 +チェックサム +.Tn CRC +、ファイル中のオクテット数、そしてファイル名です。 +ファイルが一つも指定されない場合は標準入力が用いられ、 +ファイル名は表示されません。 +.Pp +.Nm sum +ユーティリティは +.Nm cksum +ユーティリティと同じですが、 +以降で解説するデフォルトで歴史的アルゴリズム 1 を使用する点が異なります。 +互換性のためだけに提供されています。 +.Pp +オプションは以下の通りです: +.Bl -tag -width indent +.It Fl o +デフォルトの(より優れた)アルゴリズムに代えて、 +歴史的なアルゴリズムを用います。 +.Pp +アルゴリズム 1 は +.Xr sum 1 +のアルゴリズムとして歴史的な +.Bx +システムにおいて、また、 +.Fl r +オプション付きで用いる場合の +.Xr sum +アルゴリズムとして歴史的な +.At V +システムにおいて用いられてきたものです。 +これは加算のたびに右ローテーションを行う 16 ビットチェックサムであり、 +オーバーフローは無視されます。 +.Pp +アルゴリズム 2 はデフォルトの +.Xr sum +アルゴリズムとして歴史的な +.At V +システムで用いられてきたものです。 +これは 32 ビットのチェックサムであり、以下のように定義されます: +.Bd -unfilled -offset indent +s = sum of all bytes; +r = s % 2^16 + (s % 2^32) / 2^16; +cksum = (r % 2^16) + r / 2^16; +.Ed +.Pp +アルゴリズム 1, 2 のいずれも、デフォルトアルゴリズムと同じフィールドを +標準出力に書き出します。 +ただし、ファイルサイズはバイト単位ではなくブロック単位となります。 +歴史的理由から、アルゴリズム 1 ではブロックサイズは 1024、 +アルゴリズム 2 では 512 となっています。 +ブロックに満たない部分は切り上げられます。 +.El +.Pp +デフォルトで用いられる +.Tn CRC +は、 +ネットワークの規格 +.St -iso8802-3 +における +.Tn CRC +エラーチェックに用いられる多項式に基づいています。 +.Tn CRC +チェックサムエンコーディングは、次の生成多項式で定義されます: +.Pp +.Bd -unfilled -offset indent +G(x) = x^32 + x^26 + x^23 + x^22 + x^16 + x^12 + + x^11 + x^10 + x^8 + x^7 + x^5 + x^4 + x^2 + x + 1 +.Ed +.Pp +数学的には、与えられたファイルに対応する +.Tn CRC +値は次の手順で定義されます。 +.Bd -filled -offset indent +評価される +.Ar n +ビットは、2 を法とする +.Ar n Ns \-1 +次多項式 M(x) の係数とみなされます。 +これらの +.Ar n +ビットはファイルから得られますが、 +ファイルの最初のオクテットの最上位ビットを最上位、 +最後のオクテットの最下位ビットを最下位とします。 +(必要なら)ゼロビットを埋めてオクテット単位に取りまとめ、 +ファイルの長さをバイナリ値で表現した 1 個あるいは +それ以上のオクテット(最下位オクテットが先)がそれに続きます。 +この整数を表現可能な最小個数のオクテットが用いられます。 +.Pp +M(x) は x^32 倍(すなわち 32 ビットの左シフト)し、 +2 を法として G(x) で割ります。 +その結果 31 次以下の剰余 R(x) が得られます。 +.Pp +R(x) の係数は 32 ビットのビット列と見なされます。 +.Pp +そのビット列を反転した結果が CRC です。 +.Ed +.Pp +.Nm cksum +および +.Nm sum +ユーティリティは成功時には 0 を、エラー発生時には正の値を返します。 +.Sh 関連項目 +.Xr md5 1 +.Rs +デフォルトの計算方法は、次の +.Tn ACM +論文で疑似コードを用いて記述されているものと等価です。 +.Rs +.%T "Computation of Cyclic Redundancy Checks Via Table Lookup" +.%A Dilip V. Sarwate +.%J "Communications of the \\*(tNACM\\*(sP" +.%D "August 1988" +.Re +.Sh 規格 +.Nm cksum +ユーティリティは +.St -p1003.2-92 +を満していると考えられています。 +.Sh 歴史 +.Nm cksum +ユーティリティは +.Bx 4.4 +から登場しました。 diff --git a/ja_JP.eucJP/man/man1/cmp.1 b/ja_JP.eucJP/man/man1/cmp.1 new file mode 100644 index 0000000000..3f27f74029 --- /dev/null +++ b/ja_JP.eucJP/man/man1/cmp.1 @@ -0,0 +1,111 @@ +.\" Copyright (c) 1987, 1990, 1993 +.\" The Regents of the University of California. All rights reserved. +.\" +.\" This code is derived from software contributed to Berkeley by +.\" the Institute of Electrical and Electronics Engineers, Inc. +.\" +.\" 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. +.\" +.\" @(#)cmp.1 8.1 (Berkeley) 6/6/93 +.\" %Id: cmp.1,v 1.2.2.1 1997/06/27 06:16:30 charnier Exp % +.\" jpman %Id: cmp.1,v 1.2 1997/03/26 15:40:44 horikawa Stab % +.\" +.Dd June 6, 1993 +.Dt CMP 1 +.Os +.Sh 名称 +.Nm cmp +.Nd 2 つのファイルを比較する +.Sh 書式 +.Nm cmp +.Op Fl l | Fl s +.Ar file1 file2 +.Op Ar skip1 Op Ar skip2 +.Sh 解説 +.Nm cmp +ユーティリティは、2つのファイル内容を比較して、その結果を標準出力に出力します。 +ファイル内容が一致していれば、デフォルトでは +.Nm cmp +は何も表示しません。ファイル内容に違いがあった場合は、最初に +違いが見つかった場所の、 +バイト位置と行番号を出力します。 +.Pp +バイト位置と行番号は、1 から数え始めます。 +.Pp +オプションは以下のものがあります: +.Bl -tag -width Ds +.It Fl l +全ての違いに対し、 +違いのあった場所のファイル先頭からのバイト位置 (10進数表現) と、 +各々のファイル中の値 (8進数表現) を表示します。 +.It Fl s +何も表示しないようにします。結果は終了コードにのみ反映されます。 +.El +.Pp +.Ar file1 +と +.Ar file2 , +の開始バイト位置を +.Ar skip1 +と +.Ar skip2 +を使って、各々指定して比較することができます。 +この値は 10 進数表記がデフォルトで、先頭に ``0x'' か ``0'' があると、 +16 進数や 8 進数表現と解釈されます。 +.Pp +.Nm cmp +は、戻り値として以下の値のうちの一つをとります: +.Bl -tag -width 4n +.It 0 +ファイル内容が一致した。 +.It 1 +ファイル内容に違いがあったか、どちらかのファイルが先に +ファイルエンドに達した。 +後者の場合、 +.Fl s +オプションが指定されていない場合には、 +.Nm cmp +は、短い方のファイルで(違いが見付かる前に) +EOF に到達したことを標準出力に出力します。 +.It >1 +エラーが起きた。 +.El +.Sh 関連項目 +.Xr diff 1 , +.Xr diff3 1 +.Sh 規格 +.Nm cmp +は +.St -p1003.2 +準拠です。 +.Sh 歴史 +.Nm cmp +コマンドは +.At v1 +から登場しました。 diff --git a/ja_JP.eucJP/man/man1/co.1 b/ja_JP.eucJP/man/man1/co.1 new file mode 100644 index 0000000000..0e4b4e8b6f --- /dev/null +++ b/ja_JP.eucJP/man/man1/co.1 @@ -0,0 +1,743 @@ +.\" jpman %Id: co.1,v 1.2 1997/06/01 11:30:43 horikawa Stab % +.de Id +.ds Rv \\$3 +.ds Dt \\$4 +.. +.Id %Id: co.1,v 1.3 1995/10/28 21:49:11 peter Exp % +.ds i \&\s-1ISO\s0 +.ds r \&\s-1RCS\s0 +.ds u \&\s-1UTC\s0 +.if n .ds - \%-- +.if t .ds - \(em +.TH CO 1 \*(Dt GNU +.SH 名称 +co \- RCS ファイルからリビジョンをチェックアウトする +.SH 書式 +.B co +.RI [ options ] " file " .\|.\|. +.SH 解説 +.B co +は、各 \*r ファイルからリビジョンを取り出し、 +対応したワークファイルに格納します。 +.PP +\*r 拡張子にマッチするファイル名は \*r ファイルであるとみなし、 +その他のファイル名はワークファイルであるとみなします。 +ファイル名の対応に関しては、 +.BR ci (1) +を参照してください。 +.PP +\*r ファイルのリビジョンは、ロックしてもしなくともチェックアウトできます。 +リビジョンをロックすることにより、 +同時に複数の更新が行われることを防止します。 +内容を表示したり、読むだけの処理(たとえば、コンパイル)で用いたりする場合は +ロックする必要はありません。 +編集し後にチェックインするつもりで \*r ファイルから取り出す場合は、 +通常、ロックしなければなりません。 +他のユーザによってロックされているリビジョンを +ロックしてチェックアウトしようとするとエラーになります(ロックは +.BR rcs (1) +によって解除することができます)。 +更に、リビジョンをロックしてチェックアウトするには、 +チェックアウトする人が \*r ファイルのアクセスリストに登録されているか、 +そのファイルの所有者もしくはスーパユーザであるか、 +アクセスリストが空である必要が有ります。 +ロックしないで取り出す場合は、 +アクセスリストや他人のロックに影響されることはありません。 +.PP +取り出されるリビジョンを、リビジョン番号、枝番号、 +チェックイン日時、作者、状態によって指定するオプションが存在します。 +複数のオプションが組み合わされて指定された場合、 +.B co +はすべての条件に合致するリビジョンのうちで最新のものを取り出します。 +リビジョン指定オプションが指定されなかった場合、 +.B co +は、デフォルト枝(通常は幹: +.BR rcs (1) +の +.B \-b +オプションの項を参照)の最新のリビジョンを取り出します。 +リビジョン番号あるいは枝番号は、 +以下のオプションを使って指定することができます: +.BR \-f , +.BR \-I , +.BR \-l , +.BR \-M , +.BR \-p , +.BR \-q , +.BR \-r , +.B \-u +。 +オプション +.B \-d +(日時)、 +.B \-s +(状態)、 +.B \-w +(作者)は、単一の枝から取り出します。 +この枝は +.I 選択された +枝であり、 +.BR \-f , +\&.\|.\|., +.B \-u +オプションもしくはデフォルト枝により指定されます。 +.PP +リビジョンを 1 つも持たない \*r ファイルに対して +.B co +コマンドを適用すると、長さ 0 のワークファイルが作成されます。 +.B co +は、つねにキーワード置換を行います +(下記参照)。 +.SH オプション +.TP +.BR \-r [\f2rev\fP] +リビジョン番号 +.I rev +以前( +.I rev +と同じものも含む)で最新のリビジョンを取り出します。 +.I rev +がリビジョンではなく枝を指定している場合、その枝上の最新 +のリビジョンが取り出されます。 +.I rev +が省略された場合、デフォルト枝 +( +.BR rcs (1) +の +.B \-b +オプションの項を参照)の最新のリビジョンが取り出されます。 +.I rev +が +.B $ +の場合、 +.B co +はリビジョン番号をワークファイルのキーワードから +取り出します。これら以外の場合、 +.I rev +はリビジョンを示すピリオドで区切られた数字またはシンボルの列です。 +.I rev +がピリオドで始まる場合、デフォルトの枝(通常は幹)が設定されます。 +.I rev +がピリオドを後ろに付けた枝番号であるならば、 +その枝の最新のリビジョンが使われます。 +シンボルは、 +.BR ci (1) +や +.BR rcs (1) +によりリビジョン番号と結びつけることができます。 +.TP +.BR \-l [\f2rev\fP] +.B \-r +と同様の動作ですが、取り出したリビジョンを呼び出したユーザにてロックします。 +.TP +.BR \-u [\f2rev\fP] +.B \-r +と同様の動作ですが、取り出したリビジョンが呼び出したユーザによって +ロックされていたならば、そのロックを解除します。 +.I rev +が省略された場合、 +.B co +を起動したユーザがロックしたリビジョンが 1 つあれば、 +そのリビジョンを取り出します; +そうでなければ、デフォルト枝の最新のリビジョンを取り出します。 +.TP +.BR \-f [\f2rev\fP] +ワークファイルの上書きを強制します; +後述の +.B \-q +オプションを使用する場合、いっしょに +.B \-f +オプションも +指定すると便利な場合があります。 +.SM "ファイルモード" +の項も参照してください。 +.TP +.B \-kkv +ワークファイルにデフォルト形式のキーワード文字列を埋め込みます。たとえば、 +キーワード +.B Revision +に対しては、文字列 +.B "$\&Revision: \*(Rv $" +を生成します。 +.B "ci\ \-l" +や +.B "co\ \-l" +でファイルがロックされる時のみ、 +.BR Header , +.BR Id , +.B Locker +キーワードにロック者名を挿入します。これがデフォルトの動作です。 +.TP +.B \-kkvl +.B \-kkv +とほぼ同様ですが、指定されたリビジョンがロックされていた場合にはいつも、 +ロック者名を挿入します。 +.TP +.BR \-kk +キーワード文字列中のキーワード名のみの文字列を生成し、値は省略します。 +後述の +.SM "キーワード置換" +を参照して下さい。 +たとえば、キーワード +Revision に対しては、通常の +.B "$\&Revision: \*(Rv $" +のかわりに、 +.B "$\&Revision$" +を生成します。これは、異なるリビジョンの内容を比較する場合、キーワード +値の違いを無視できるので、便利です。 +.B -kk +が指定されても、キーワード +.B "$\&Log$" +の後にはログメッセージが挿入されます。これはリビジョンを統合する変更に、 +より便利であることを意図しています。 +.TP +.BR \-ko +チェックインされる前の +ワークファイル中のキーワード文字列をそのまま出力します。たとえば、 +キーワード +.B "$\&Revision$" +に対しては、 +チェックインされる前に展開されていた文字列 +.B "$\&Revision: 1.1 $" +が、 +.B "$\&Revision: \*(Rv $" +の代わりに展開されます。 +キーワード文字列の形式を取るバイト列が置換されてしまっては困るような +場合(訳注:バイナリファイル等)に便利でしょう。 +.TP +.BR \-kb +元のキーワード文字列のバイナリイメージを生成します。これは、 +.B \-ko +とほぼ同じですが、入出力する全てのワークファイルをバイナリモードで +扱う点が違います。これは、Posix と Unix のホスト間ではたいした違いでは +ありません。が、DOS のようなシステムではバイナリファイルを扱う場合、 +\*r ファイルの初期化には +.B rcs \-i \-kb +を使わねばならないでしょう。 +また、全ての環境において、 +.BR rcsmerge(1) +は通常、 +.B \-kb +が働いている場合はファイルの統合を受け付けません。 +.TP +.BR \-kv +キーワード文字列としてキーワード値のみを生成します。たとえば、キーワード +.B Revision +に対して、通常の +.B "$\&Revision: \*(Rv $" +のかわりに +.B \*(Rv +を生成します。 +これは、キーワード文字列から +.B "$\&Revision: $" +のようなキーワード区切りを取 +り除くことが困難なプログラミング言語用のファイル等を生成するために +使用します。しかしながら、キーワード名が取り除かれてしまうと、それ以降に +キーワード置換を行うことができないので、注意が必要です。 +キーワードを失うことはこのように危険であるため、本オプションを +.B \-l +オプションと組み合わせて使うことはできません。また、ワークファイルの +書き込み権はオフになります; +後でワークファイルを編集する場合は、 +.B \-kv +オプションを指定せずにワークファイルを取り出してから行います。 +.TP +.BR \-p [\f2rev\fP] +ワークファイルに格納する代わりに、 +対象となるリビジョンを標準出力に書き出します。 +.B co +をパイプの一部として使用する場合に便利です。 +.TP +.BR \-q [\f2rev\fP] +静かなモード; 診断メッセージを表示しません。 +.TP +.BR \-I [\f2rev\fP] +対話モード; たとえ標準入力が端末でなくても、ユーザに対して +問い合わせを行います。 +.TP +.BI \-d date +選択された枝上の、 +.I date +以前の登録日付を持つ、最新のリビジョンを取り出します。 +日付と時刻は自由形式で指定します。タイムゾーンとして +.B LT +を指定することにより、ローカルタイムを使用することができます; +他の一般的なタイムゾーンも使用することができます。 +たとえば、以下に挙げるいくつかの +.I date +指定は、 +太平洋標準時における 1990 年 1 月 11 日午後 8 時と同時刻を示します +(太平洋標準時は標準時 (\*u) よりも 8 時間遅れです)。 +.RS +.LP +.RS +.nf +.ta \w'\f3Thu, 11 Jan 1990 20:00:00 \-0800\fP 'u +.ne 9 +\f38:00 pm lt\fP +\f34:00 AM, Jan. 12, 1990\fP デフォルトは \*u +\f31990-01-12 04:00:00+00\fP \*i 8601 (\*u) +\f31990-01-11 20:00:00\-08\fP \*i 8601 (ローカル時刻) +\f31990/01/12 04:00:00\fP 伝統的 \*r 形式 +\f3Thu Jan 11 20:00:00 1990 LT\fP \f3ctime\fP(3) + \f3LT\fP出力 +\f3Thu Jan 11 20:00:00 PST 1990\fP \f3date\fP(1)出力 +\f3Fri Jan 12 04:00:00 GMT 1990\fP +\f3Thu, 11 Jan 1990 20:00:00 \-0800\fP インターネット RFC 822 +\f312-January-1990, 04:00 WET\fP +.ta 4n +4n +4n +4n +.fi +.RE +.LP +ほとんどの日付の項目にはデフォルト値があります。 +デフォルトのタイムゾーンは \*u です。 +これは +.B \-z +オプションにて優先指定することが出来ます。 +他のデフォルト値は、年、月、日、時、分、秒 の順番で決定されます。 +これらの項目のうち、少なくとも 1 つが指定されなければいけません。 +指定のある項目よりも先に決定される項目が省略されている場合には、 +タイムゾーンにおける現在の値を使用します。 +他の省略されたフィールドには最小値が採用されます。 +たとえば、 +.B \-z +無しの +.B "20, 10:30" +の場合は、\*u タイムゾーンの現在の年月の 20 日 10:30:00 \*u が採用されます。 +日付の指定に空白が含まれる場合には、 +日付の指定をクオートでくくる必要があることに注意してください。 +.RE +.TP +.BR \-M [\f2rev\fP] +作成されるワークファイルの最終更新日付を、取り出されるリビジョンの日付に +します。本オプションを指定すると +.BR make (1) +が正しく動作しなくなるので、注意して使用する必要があります。 +.TP +.BI \-s state +選択された枝上の、状態 +.I state +を持つ最新のリビジョンを取り出します。 +.TP +.BR \-T +\*r ファイルの変更日付を変更しません。 +ロックされたりロック解除されたりして \*r ファイルが変更された場合でもです。 +このオプションは、コピーした \*r ファイルのワークファイルを使って +.BR make (1) +をかける際に再コンパイルをさせたくない場合に便利でしょう。 +このオプションは必要であるにもかかわらず再コンパイルを行なわないことに +なってしまう場合があるので注意が必要です。 +それは、ロックの変更が別のワークファイルのキーワード文字列の変更を行う時です。 +.TP +.BR \-w [\f2login\fP] +選択された枝上の、ユーザ名 +.I login +によって登録された最新のリビジョンを取り出します。 +.I login +が省略された場合は、 +.B co +を起動したユーザ名を使います。 +.TP +.BI \-j joinlist +.I joinlist +で指定されたリビジョンを結合した新しいリビジョンを作成します。 +本オプションは、旧バージョンとの互換性のために残されています。 +通常、リビジョンの結合には +.BR rcsmerge (1) +を用います。 +.RS +.PP +.I joinlist +は +.IB rev2 : rev3 +形式のリビジョンの対をコロンで区切って並べたリストです。 +ここで、 +.I rev2 +と +.I rev3 +は(シンボリックまたは数字の)リビジョン番号です。 +以下の説明で、 +.I rev1 +は以下のリビジョンを示します: (1) joinlist に列挙さ +れた対のうち、最初のものは、上記の +.BR \-f , +\&.\|.\|., +.B \-w +オプションによって選択されたリビジョンです。 +(2) それ以外の対に対しては、直前の対から作成されたリビジョン +(すなわち、1 つの対によって作成されたリビジョンは次の結合 +のための入力となります)。 +.PP +それぞれの対に対して、 +.B co +は +.I rev1 +と +.I rev3 +を +.I rev2 +と比較しながら結合します。つまり、 +.I rev2 +を +.I rev1 +と同一にするための変更を、 +.I rev3 +のコピーに対して適用します。 +.I rev2 +を同一の祖先とする 2 つの枝の末端のリビジョン +.I rev1 +と +.I rev3 +を結合するのによく用いられます。もし、3 つのリビジョンが同一の +枝上にあり、リビジョン番号が +.IR rev1 < rev2 < rev3 +ならば、結合の結果は、 +.I rev3 +の内容のうち、 +.I rev1 +から +.I rev2 +への変更を無効にしたものになります。 +もし、 +.I rev2 +から +.I rev1 +への変更が +.I rev2 +から +.I rev3 +への変更と重複している +なら、 +.B co +は +.BR merge (1) +に示したような報告を行います。 +.PP +最初に指定する対では +.I rev2 +を省略することができます。この場合は、 +.I rev1 +と +.I rev3 +の共通の祖先 +.ig +/*?-> 共通の祖先リビジョン以外に言いかたを思いつきません +共通の祖先リビジョンで良いと思います(horikawa@jp.freebsd.org) + +共通の祖先リビジョン + | | | +revX rev3 revY + | +rev1 + + +*/ +.. +リビジョンを +.I rev2 +として使用します。もし、いずれかの引数 +がリビジョンではなく枝を示しているなら、その枝上の最新のリビジョンが用 +いられます。同時に +.B \-l +オプションや +.B \-u +オプションを指定すると、 +.I rev1 +がロックまたはロック解除されます。 +.RE +.TP +.BI \-V +\*r's のバージョン番号を表示します。 +.TP +.BI \-V n +バージョン +.I n +の \*r システムの動作をエミュレートします。 +.I n +は +.BR 3 , +.BR 4 , +.B 5 +のいずれかです。これは、古い \*r を使っているユーザと \*r ファイルを交 +換するときに便利です。使用している \*r がどのバージョンかを調べるには、 +.BR "rcs \-V" +を実行します; これは最近のバージョンの \*r では動作します。 +これが動作しない場合は適当な \*r ファイルに対して +.B rlog +を起動します; 最初の数行に文字列 +.B branch: +がなければ、それはバージョン 3 です; +また、日付に現れる年が 2 桁の数字ならば、それはバージョン 4 です; +どちらでもなければ、バージョン 5 です。 +\*r バージョン 3 をエミュレートして作成された \*r ファイルからはデフォルト +枝の情報が失われます。 +バージョン 4 またはそれ以前のバージョンをエミュレートして作成された +リビジョンは、最大 13 時間ずれた日付を持つことになります。 +バージョン 4 またはそれ以前のバージョンをエミュレートして取り出された +ファイルには +.IB yy / mm / dd +形式の日付がキーワード中に展開されます。また、 +.B $\&Log$ +キーワードでは空白の入り方が異なります。 +.TP +.BI \-x "suffixes" +\*r ファイルの拡張子として +.I suffixes +を使用します。詳細は +.BR ci (1) +を参照して下さい。 +.TP +.BI \-z zone +キーワード置換での日付の出力書式の指定を行い、また、 +.BI \-d date +オプションでの +.I date +のデフォルトのタイムゾーンの指定を行います。 +.I zone +は、省略する事も、UTC からの数値差で指定する事も、特別な文字列 +.B LT +を使ってローカル時間で指定する事もできます。 +デフォルトでは +.I zone +は空であり、 +この場合は伝統的な \*r フォーマット、 +すなわちタイムゾーン無しの \*u であり日付をスラッシュで区切ります; +そうでない場合は時刻はタイムゾーン付の \*i 8601 フォーマットです。 +例えば、ローカルタイムが 1990 年 1 月 11 日 太平洋標準時間 +(\*u の 8 時間西)午後 8 時の場合、時間の出力は次のようになります: +.RS +.LP +.RS +.nf +.ta \w'\f3\-z+05:30\fP 'u +\w'\f31990-01-11 09:30:00+05:30\fP 'u +.ne 4 +\f2オプション\fP\f2時刻の出力\fP +\f3\-z\fP \f31990/01/12 04:00:00\fP \f2(デフォルト)\fP +\f3\-zLT\fP \f31990-01-11 20:00:00\-08\fP +\f3\-z+05:30\fP \f31990-01-12 09:30:00+05:30\fP +.ta 4n +4n +4n +4n +.fi +.RE +.LP +.B \-z +オプションは \*r ファイルに格納されている日付(常に \*u です)には影響しません。 +.RE +.SH "キーワード置換" +テキスト中に存在する +.BI $ keyword $ +または +.BI $ keyword : .\|.\|. $ +形式の文字列は、 +.BI $ keyword : value $ +形式の文字列に置換されます。 +.I keyword +と +.I value +の対については後述します。キーワードはリテラルな文字列として、あるいは +リビジョンを特定するためのコメントとして埋められることがあります。 +.PP +まず、ユーザは +.BI $ keyword $ +なる形式の文字列を入力します。 +チェックアウト時に、 +.B co +はこの文字列を +.BI $ keyword : value $ +に置換します。 +.BI $ keyword : value $ +形式の文字列を含むものがチェックインされた場合、 +.I value +の部分は次にチェックアウトされたときに新たな値に置換されます。 +このように、チェックアウトを行うごとにキーワードの値は +更新されていきます。この自動更新は +.B \-k +オプションにより変更することができます。 +.PP +キーワードの種類とその値: +.TP +.B $\&Author$ +リビジョンを登録したユーザのログイン名。 +.TP +.B $\&Date$ +リビジョンが登録された日時。 +.BI \-z zone +を指定した場合、数値によるタイムゾーンオフセットが追加されます; +指定しない場合は、日時は \*u です。 +.TP +.B $\&Header$ +標準的なヘッダ。\*r ファイルのフルパス名、リビジョン番号、日時、作者、 +状態、ロック者(ロックされている場合)が含まれます。 +.BI \-z zone +を指定した場合、数値によるタイムゾーンオフセットが追加されます; +指定しない場合は、日時は \*u です。 +.TP +.B $\&Id$ +.B $\&Header$ +とほぼ同様です。\*r ファイル名はパスをつけずに埋め込まれます。 +.TP +.B $\&Locker$ +リビジョンをロックしたユーザのログイン名(ロックされていない場合は空です)。 +.TP +.B $\&Log$ +チェックイン時に与えたログメッセージ。その前に、\*r ファイル名、リビジョン +番号、作者、日時が埋め込まれます。 +.BI \-z zone +を指定した場合、数値によるタイムゾーンオフセットが追加されます; +指定しない場合は、日時は \*u です。 +すでに埋め込まれているログメッセージは変更 +.I されません。 +新たなログメッセージのみが +.BR $\&Log: .\|.\|. $ +のあとに追加されます。 +ソースファイルの完全なログを記録するときに便利です。 +.RS +.LP +挿入される行の前には +.B $\&Log$ +の行の前のプレフィックス文字列が付きます。例えば、 +.B $\&Log$ +の行が +.RB \*(lq "//\ $\&Log: tan.cc\ $" \*(rq +である場合、ログの各行の前の \*r プレフィックスは +.RB \*(lq "//\ " \*(rq +となります。 +これはコメントが行末まで及ぶ言語にて便利です。 +別の言語に対しては、複数行コメント内部にて +.RB \*(lq " \(** " \(rq +プレフィックスを使用するのが慣例です。 +例えば、C プログラムの最初のログのコメントは慣例的に以下の形式です: +.RS +.LP +.nf +.ft 3 +.ne 3 +/\(** +.in +\w'/'u +\(** $\&Log$ +\(**/ +.in +.ft +.fi +.RE +.LP +古いバージョンの \*r とのバックワードコンパチビリティのため、 +ログのプレフィックスが +.B /\(** +または +.B (\(** +でありオプションの空白で囲まれている場合、挿入されるログの行は +.B / +や +.B ( +の代わりに空白が用いられます; +しかしこの使用方法は古くさく、この動作に依存してはなりません。 +.RE +.TP +.B $\&Name$ +存在する場合、リビジョンをチェックアウトするために使用したシンボリック名。 +例えば +.B "co\ \-rJoe" +は +.B "$\&Name:\ Joe\ $" +を生成します。 +単に +.B co +を指定した場合は、 +.B "$\&Name:\ \ $" +となります。 +.TP +.B $\&RCSfile$ +パス名を含まない \*r ファイル名。 +.TP +.B $\&Revision$ +リビジョン番号。 +.TP +.B $\&Source$ +\*r ファイルのフルパス名。 +.TP +.B $\&State$ +リビジョンに +.BR rcs (1) +か +.BR ci (1) +の +.B \-s +オプションにより割り付けられた状態。 +.PP +キーワード文字列の体裁を整えるために、 +以下の文字をキーワード中に用いるには、 +エスケープシーケンスを使用します。 +.LP +.RS +.nf +.ne 6 +.ta \w'newline 'u +\f2文字 エスケープシーケンス\fP +tab \f3\et\fP +newline \f3\en\fP +space \f3\e040 +$ \e044 +\e \e\e\fP +.fi +.RE +.SH "ファイルモード" +ワークファイルは、\*r ファイルの読み込みと実行の許可属性を受け継ぎます。 +さらに、ユーザに対する書き込み権が設定されます。 +.B \-kv +オプションが設定されている場合と、厳格ロックモード( +.BR rcs (1) +参照)にてロックせずに取り出した場合は、書き込み権が設定されません。 +.PP +すでに、ワークファイルと同名の書き込み可能なファイルが存在していると、 +.B co +は取り出しを中断し、もし可能ならば削除するかどうかを問い合わせます。 +もし、すでに存在するファイルが書き込み禁止であったり、 +.B -f +オプションが +指定されていた場合には、問い合わせを行わずに削除します。 +.SH 関連ファイル +.B co +は +.B ci +とほぼ同じくらいのファイルにアクセスします。ただし、 +.B $ +が指定されていなければワークファイルを読むことはありません。 +.SH 環境変数 +.TP +.B \s-1RCSINIT\s0 +本変数に空白で区切ったオプションを設定することで、 +コマンドライン引数に先立って処理されます。 +詳しくは +.BR ci (1) +を参照してください。 +.SH 診断 +\*r パス名、ワークファイルパス名、 +取り出されるリビジョンの番号を診断出力します。 +全ての処理が成功した場合のみ、終了ステータス 0 を返します。 +.SH 作者 +Author: Walter F. Tichy. +.br +Manual Page Revision: \*(Rv; Release Date: \*(Dt. +.br +Copyright \(co 1982, 1988, 1989 Walter F. Tichy. +.br +Copyright \(co 1990, 1991, 1992, 1993, 1994, 1995 Paul Eggert. +.SH 関連項目 +rcsintro(1), ci(1), ctime(3), date(1), ident(1), make(1), +rcs(1), rcsclean(1), rcsdiff(1), rcsmerge(1), rlog(1), +rcsfile(5) +.br +Walter F. Tichy, +\*r\*-A System for Version Control, +.I "Software\*-Practice & Experience" +.BR 15 , +7 (July 1985), 637-654. +.SH 制限事項 +\*r ファイル、ワークファイルのリンクは保存されません。 +.PP +キーワードを +.B "$\&keyword:$" +以外の形式に書換える以外に、一部のキーワードの +みを展開させる方法がありません。nroff や troff ではキーワード中にヌル文字 +.B \e& +を埋め込むことにより展開を防ぐことができます。 +.br diff --git a/ja_JP.eucJP/man/man1/col.1 b/ja_JP.eucJP/man/man1/col.1 new file mode 100644 index 0000000000..fadaacfce0 --- /dev/null +++ b/ja_JP.eucJP/man/man1/col.1 @@ -0,0 +1,123 @@ +.\" Copyright (c) 1990, 1993 +.\" 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 8.1 (Berkeley) 6/29/93 +.\" jpman %Id: col.1,v 1.3 1997/07/22 09:21:29 mutoh Stab % +.\" +.Dd June 29, 1993 +.Dt COL 1 +.Os +.Sh 名称 +.Nm col +.Nd 入力から逆行送り (reverse line feed) を取り除くフィルタ +.Sh 書式 +.Nm col +.Op Fl bfx +.Op Fl l Ar num +.Sh 解説 +.Nm col +は、出力が順方向の行送りと半行送りで正しい順序になるように逆行送り +(と半逆行送り) を取り除き、空白をなるべくタブに置き換えます。 +これは、 +.Xr nroff 1 +と +.Xr tbl 1 +の出力を処理する場合に便利です。 +.Pp +.Nm col +は標準入力を読み込み、標準出力に出力します。 +.Pp +オプションには以下のものがあります。 +.Bl -tag -width "-l num " +.It Fl b +バックスペースを出力せず、各桁の位置に最後に書かれた文字だけを +表示します。 +.It Fl f +順方向の半行送りを許します(``詳細 (fine) '' モード)。 +半行送りの境界に打たれる文字は、通常次の行に表示されます。 +.It Fl x +タブのかわりに複数の空白を出力します。 +.It Fl l Ar num +メモリに、少なくとも +.Ar num +行をバッファリングします。 +デフォルトで 128 行までバッファリングされます。 +.El +.Pp +.Nm col +が理解できる復帰動作の制御文字とその 10 進値の一覧を以下の表に示します。 +.Pp +.Bl -tag -width "carriage return" -compact +.It ESC\-7 +逆行送り (エスケープ 7) +.It ESC\-8 +半逆行送り (エスケープ 8) +.It ESC\-9 +半行送り (エスケープ 9) +.It backspace +一桁戻る (8); 最初の桁では無視されます。 +.It carriage return +(13) +.It newline +改行 (10); 復帰動作も同時に行ないます。 +.It shift in +通常の文字セットにシフトします。(15) +.It shift out +異なる文字セットにシフトします。(14) +.It space +一桁移動します。(32) +.It tab +次のタブストップまで移動します。(9) +.It vertical tab +逆行送り (11) +.El +.Pp +認識できないすべての制御文字とエスケープシーケンスは捨てられます。 +.Pp +.Nm col +は、読み込まれた通りに文字セットの移り変わりを記憶し、 +出力時に文字セットが正しくなるようにします。 +.Pp +入力が最後に表示された行に戻ろうとすると、 +.Nm col +は警告メッセージを表示します。 +.Sh 関連項目 +.Xr expand 1 , +.Xr nroff 1 , +.Xr tbl 1 +.Sh 歴史 +.Nm col +コマンドは +.At v6 +から登場しました。 diff --git a/ja_JP.eucJP/man/man1/colcrt.1 b/ja_JP.eucJP/man/man1/colcrt.1 new file mode 100644 index 0000000000..a30dd7aa11 --- /dev/null +++ b/ja_JP.eucJP/man/man1/colcrt.1 @@ -0,0 +1,104 @@ +.\" 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. +.\" +.\" @(#)colcrt.1 8.1 (Berkeley) 6/30/93 +.\" jpman %Id: colcrt.1,v 1.2 1997/03/27 13:10:10 ryo2 Stab % +.\" +.Dd March 30, 1993 +.Dt COLCRT 1 +.Os BSD 3 +.Sh 名称 +.Nm colcrt +.Nd nroff の出力を CRT で表示するためのフィルタ +.Sh 書式 +.Nm colcrt +.Op Fl +.Op Fl \&2 +.Op Ar +.Sh 解説 +.Nm colcrt +は、半改行、逆改行の能力を持たず、重ね打ちで表示が壊れる端末に、 +仮想的にその機能を提供します。 +半改行文字と下線(ダッシュ`-' に置換されます)は、通常の出力行の間に +新しい行をもうけて出力されます。 +.Pp +利用可能なオプションは以下のとおりです; +.Bl -tag -width Ds +.It Fl +下線を出力しません。このオプションは特に +.Xr tbl 1 +の +.Em allbox +で描かれた表を表示するのに便利です。 +.It Fl 2 +すべての行に半改行があるように出力します。実質的には、1 行おきに出力される +ことになります。通常は半改行のない行で余分な改行を出力しません。 +ただし、二つの連続した空行は省略されません。 +.Fl 2 +オプションは上付き、あるいは下付き文字が含まれていて、それらを +印字できないラインプリンタに対して出力する時に便利です。 +.El +.Sh 使用例 +.Nm colcrt +の典型的な利用法は、以下のとおりです。 +.Bd -literal +tbl exum2.n \&| nroff \-ms \&| colcrt \- \&| more +.Ed +.Sh 関連項目 +.Xr nroff 1 , +.Xr troff 1 , +.Xr col 1 , +.Xr more 1 , +.Xr ul 1 +.Sh バグ +.Ql Fl +オプションが指定されたときにも、空白部分の下線文字を書き、 +下線文字を表示するようにすべきです。 +.Pp +102 行以上の行を遡って処理することはできません。 +.Pp +一般に、重ね打ちの効果は失われます。特殊なケースとして、 +.Ql \&| +が +.Ql \- +や下線と重ね打ちされる場合には、 +.Ql \&+ +になります。 +.Pp +各行は 132 文字で切り捨てられます。 +.Pp +すでに 1 行おきになっている文書では、上付き、下付き文字に対する対処が必要です。 +.Sh 歴史 +.Nm +は +.Bx 3.0 +から登場しました。 + diff --git a/ja_JP.eucJP/man/man1/colldef.1 b/ja_JP.eucJP/man/man1/colldef.1 new file mode 100644 index 0000000000..166fc91663 --- /dev/null +++ b/ja_JP.eucJP/man/man1/colldef.1 @@ -0,0 +1,237 @@ +.\" Copyright (c) 1995 Alex Tatmanjants <alex@elvisti.kiev.ua> +.\" at Electronni Visti IA, Kiev, Ukraine. +.\" 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. +.\" +.\" THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``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 AUTHOR 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. +.\" +.\" %Id: colldef.1,v 1.3.2.2 1997/06/27 06:19:42 charnier Exp % +.\" +.\" jpman %Id: colldef.1,v 1.3 1997/09/04 16:33:17 horikawa Stab % +.\" +.Dd January, 27 1995 +.Dt COLLDEF 1 +.Os +.Sh 名称 +.Nm colldef +.Nd 照合シークエンスのソース定義を変換する +.Sh 書式 +.Nm colldef +.Op Fl I Ar map_dir +.Op Fl o Ar out_file +.Op Ar filename +.Sh 解説 +.Nm colldef +は、照合シークエンスのソース定義を +.Fn strxfrm +と +.Fn strcoll +関数で使えるフォーマットに変換します。すなわち、文字列をソートや照合で +きるようにする様々な方法を定義するために使われます。 +.Fn strxfrm +は、その第一引数を変換して第二引数の結果に置き換えます。 +変換された文字列は、 +.Fn strcmp , +.Fn strncmp , +.Fn memcmp +を使って別の変換された文字列と比較して正しくソートできるようになります。 +.Fn strcoll +はその引数を変換し、比較を行ないます。 +.Pp +.Nm colldef +は、標準入力から照合シークエンスソース定義を読み込み、変換された定義を +filename に格納します。 +生成される出力ファイルの内容は、システムコマンドやシステムルーチンが +使える形式の照合シークエンス情報を持つデータベースです。 +.Pp +オプションリスト: +.Bl -tag -width 4n +.It Cm Fl I Ar map_dir +このオプションは +.Ar charmap +ファイルを探すディレクトリ名を設定します。 +デフォルトでカレントディレクトリです。 +.It Cm Fl o Ar out_file +出力ファイル名を設定します。 +デフォルトで +.Ar LC_COLLATE +になります。 +.El +.Pp +照合シークエンス定義は、照合要素集合、 +およびこれを含む文字列をどのように順序付けるかを定義する規則を指定します +これは異なる言語定義に最も便利です。 +.Pp +指定ファイルは次の三つのステートメントから成ります: +.Ar charmap , +.Ar substitute, +.Ar order +.Pp +この中で +.Ar order +ステートメントだけが必須です。 +.Ar charmap +や +.Ar substitute +が与えられたときは、ステートメントの順序は上のようになっていなければ +なりません。 orderステートメントの後のステートメントは無視されます。 +.Pp +指定ファイルの中で +.Ar # +で始まる行はコメントと扱われ、無視されます。空行も無視されます。 +.Pp +.Ar charmap charmapfile +.Pp +.Ar charmap +は、文字のマッピングと実際の文字エンコーディングへの照合要素シンボル +が見つかる場所を定義します。 +.Pp +.Ar charmapfile +のフォーマットを以下に示します。 +シンボル名とその値は、タブまたは空白文字によって区切られます。 +symbol-value は 16 進 (\ex\fI??\fR) または 8 進 (\e\fI???\fR) +表現で指定でき、長さは一文字を意味します。 +.Pp +.Ar symbol-name1 symbol-value1 +.br +.Ar symbol-name2 symbol-value2 +.br +.Ar ... +.Pp +シンボル名は +.Ar substitute +フィールドでは指定できません。 +.Pp +.Ar charmap +ステートメントはオプション指定です。 +.Pp +.Ar substitute +"\fIchar\fR" +.Ar with +"\fIrepl\fR" +.Pp +.Ar substitute +ステートメントは、文字 +.Ar char +を文字列 +.Ar repl +に置き換えます。 +.Pp +.Ar substitute +ステートメントはオプション指定です。 +.Pp +.Ar order order_list +.Pp +.Ar order_list +は、セミコロンで区切られた、照合シークエンスを定義する +シンボルのリストです。 +特殊シンボル +.Ar ... +は、簡略な形の機械語順で連なったシンボルを指定します。 +.Pp +orderリストの要素は、次の方法のうちのどれかで表現できます。 +.Bl -bullet +.It +シンボル自身 (例えば、小文字の +.Ar a +は +.Ar a +と書きます) +.It +シンボルチェーン (例えば、 +.Ar abc ) +.It +8 進表現 (例えば、文字 +.Ar a +には +.Ar \e141 ) +.It +16 進表現 (例えば、文字 +.Ar a +には +.Ar \ex61 ) +.It +.Ar charmap +ファイル内で定義されたシンボル名 (例えば、 +.Ar charmapfile +の +.Ar abc \e023 +に対して +.Ar <abc> +)。文字マップ名が、文字 +.Ar > +を持つ場合は、 +.Ar /> , +のようにエスケープされなければならず、 +文字 +.Ar / +は +.Ar // +のようにエスケープされなければなりません。 +.It +シンボル +.Ar \ea , +.Ar \eb , +.Ar \ef , +.Ar \en , +.Ar \er , +.Ar \ev +は、通常の C言語の意味で使うことが許されています。 +.It +シンボルの範囲 (例えば +.Ar a;...;z ) +.It +コンマ区切りのシンボル、範囲、チェーンは括弧でくくられます。 (例えば +.Ar \&( +.Ar sym1 , +.Ar sym2 , +.Ar ... +.Ar \&) ) +は同じ一次順序で割り当てられますが、異なる二次順序となります。 +.It +鈎括弧でくくられたコンマ区切りのシンボル、範囲、チェーン (例えば、 +.Ar \&{ +.Ar sym1 , +.Ar sym2 , +.Ar ... +.Ar \&} ) +は、同じ一次順序だけに割り当てられます) +.El +.Pp +バックスラッシュ文字 +.Ar \e +は、行の継続に使われます。この場合、バックスラッシュ文字の後には +どんな文字も書かれてはなりません。 +.Sh 戻り値 +.Nm colldef +は、次の戻り値で終了します。 +.Ar 0 +エラーがなく、出力の生成に成功した場合 +.Ar !=0 +エラーが見つかった場合 +.Sh 関連ファイル +.Ar /usr/share/locale/<language>/LC_COLLATE +localeの配下で、localeの照合順序のための標準共有位置 +.Sh 関連項目 +.Xr mklocale 1 , +.Xr setlocale 3 , +.Xr strcoll 3 , +.Xr strxfrm 3 diff --git a/ja_JP.eucJP/man/man1/colrm.1 b/ja_JP.eucJP/man/man1/colrm.1 new file mode 100644 index 0000000000..47a93b1514 --- /dev/null +++ b/ja_JP.eucJP/man/man1/colrm.1 @@ -0,0 +1,75 @@ +.\" 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. +.\" +.\" @(#)colrm.1 8.1 (Berkeley) 6/6/93 +.\" jpman %Id: colrm.1,v 1.2 1997/05/17 15:52:31 horikawa Stab % +.\" +.Dd June 6, 1993 +.Dt COLRM 1 +.Os BSD 3 +.Sh 名称 +.Nm colrm +.Nd 指定した桁を削除する +.Sh 書式 +.Nm colrm +.Op Ar start Op Ar stop +.Sh 解説 +.Nm colrm +は、指定された桁をファイルの各行から削除します。 +1 桁は 1 文字分に相当します。 +ファイルは標準入力から読み込まれ、結果は標準出力に書き出されます。 +.Pp +.Ar start +だけが与えられた場合は、 +.Ar start +桁目より前のすべての桁が表示されます。 +.Ar start +と +.Ar stop +の両方が指定された場合は、 +.Ar start +桁目より前のすべての桁と、 +.Ar stop +桁目より後のすべての桁が表示されます。 +桁の番号づけは 0 ではなく 1 から始まります。 +.Pp +タブ文字を読むと、その桁位置の次に来る 8 の倍数の桁まで桁位置を進めます。 +バックスペース文字を読むと、桁位置を 1 戻します。 +.Sh 関連項目 +.Xr awk 1 , +.Xr column 1 , +.Xr cut 1 , +.Xr paste 1 +.Sh 歴史 +.Nm colrm +コマンドは +.Bx 3.0 +から登場しました。 diff --git a/ja_JP.eucJP/man/man1/column.1 b/ja_JP.eucJP/man/man1/column.1 new file mode 100644 index 0000000000..30e76ddf66 --- /dev/null +++ b/ja_JP.eucJP/man/man1/column.1 @@ -0,0 +1,94 @@ +.\" Copyright (c) 1989, 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. +.\" +.\" @(#)column.1 8.1 (Berkeley) 6/6/93 +.\" jpman %Id: column.1,v 1.2 1997/05/17 15:57:10 horikawa Stab % +.\" +.Dd June 6, 1993 +.Os +.Dt COLUMN 1 +.Sh 名称 +.Nm column +.Nd 入力を複数列に整形する +.Sh 書式 +.Nm column +.Op Fl tx +.Op Fl c Ar columns +.Op Fl s Ar sep +.Op Ar +.Sh 解説 +.Nm column +は、入力を複数カラムに分けて整形します。 +列より先に行を埋めます。 +.Ar file +が 指定されていれば +.Ar file +を、指定されていなければ標準入力を処理します。空行は無視されます。 +.Pp +オプション: +.Bl -tag -width Ds +.It Fl c +表示の幅を +.Ar columns +にしてフォーマットします。 +.It Fl s +.Fl t +オプションを使う時に、入力行をカラムに分ける区切り文字 (複数でも良い) を +指定します。 +.It Fl t +入力行のカラム数を判定し、表を作ります。 +カラムの区切りは、 +.Fl s +オプションで指定された文字か、指定されていない場合は空白文字です。 +画面表示をきれいに整形するのに便利です。 +.It Fl x +行を埋める前に列を埋めます。 +.El +.Pp +.Nm column +は、成功した場合は 0 を、エラーが起きた場合は 1 以上の値を返します。 +.Sh 環境変数 +.Bl -tag -width COLUMNS +.It Ev COLUMNS +他に情報が得られない時に、画面の横幅を指定します。 +.Sh 使用例 +.Dl (printf \&"PERM LINKS OWNER GROUP SIZE MONTH DAY HH:MM/YEAR NAME\en\&"\ \&;\ \&\e +.Dl ls -l \&| sed 1d) \&| column -t +.Sh 関連項目 +.Xr colrm 1 , +.Xr ls 1 , +.Xr paste 1 , +.Xr sort 1 +.Sh 歴史 +.Nm +コマンドは +.Bx 4.3 Reno +から登場しました。 diff --git a/ja_JP.eucJP/man/man1/comm.1 b/ja_JP.eucJP/man/man1/comm.1 new file mode 100644 index 0000000000..5c946239fe --- /dev/null +++ b/ja_JP.eucJP/man/man1/comm.1 @@ -0,0 +1,101 @@ +.\" %NetBSD: comm.1,v 1.4 1995/03/26 09:25:50 glass Exp % +.\" +.\" Copyright (c) 1989, 1990, 1993 +.\" The Regents of the University of California. All rights reserved. +.\" +.\" This code is derived from software contributed to Berkeley by +.\" the Institute of Electrical and Electronics Engineers, Inc. +.\" +.\" 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: @(#)comm.1 8.1 (Berkeley) 6/6/93 +.\" %Id: comm.1,v 1.1.1.1.8.2 1997/09/14 23:20:44 jkh Exp % +.\" jpman %Id: comm.1,v 1.3 1997/11/11 13:58:57 horikawa Stab % +.\" +.Dd June 6, 1993 +.Os +.Dt COMM 1 +.Sh 名称 +.Nm comm +.Nd 2つのファイルの共通な行もしくは共通でない行を出力する +.Sh 書式 +.Nm comm +.Op Fl 123i +.Ar file1 file2 +.Sh 解説 +.Nm comm +は、 +.Ar file1 +と +.Ar file2 +を読み込んで(辞書的にソートされている必要があります)、 +3 つのテキストカラムを出力します: +それぞれ、 +.Ar file1 +のみにある行; +.Ar file2 +のみにある行; +両方のファイルにある行です。 +.Pp +ファイル名 ``-'' は標準入力を意味します。 +.Pp +オプションとしては以下のものがあります: +.Bl -tag -width Ds +.It Fl 1 +第 1 カラムの表示をしません。 +.It Fl 2 +第 2 カラムの表示をしません。 +.It Fl 3 +第 3 カラムの表示をしません。 +.It Fl i +行比較を大文字と小文字を区別せずに行います。 +.El +.Pp +それぞれのカラムの前にタブが付属しますが、 +タブの数はそのカラムより番号の若いカラムで表示されるカラムの数に等しいです。 +例えば、第 2 カラムの表示をしない場合、 +第 1 カラムを表示する行では先頭にタブは付属せず、 +第 3 カラムを表示する行では先頭にタブが 1 つ付属します。 +.Pp +.Nm comm +はファイルが辞書的にソートされている事を期待します; +全ての文字が行の比較に使用されるからです。 +.Sh 診断 +成功した場合は 0 を、エラーが起きた場合は 0 より大きな値を返します。 +.Pp +.Sh 関連項目 +.Xr cmp 1 , +.Xr diff 1 , +.Xr sort 1 , +.Xr uniq 1 +.Sh 規格 +.Nm comm +ユーティリティは +.St -p1003.2-92 +を満します。 diff --git a/ja_JP.eucJP/man/man1/compile_et.1 b/ja_JP.eucJP/man/man1/compile_et.1 new file mode 100644 index 0000000000..47dfd45055 --- /dev/null +++ b/ja_JP.eucJP/man/man1/compile_et.1 @@ -0,0 +1,80 @@ +.\" Copyright (c) 1988 Massachusetts Institute of Technology, +.\" Student Information Processing Board. All rights reserved. +.\" +.\" %Header: /home/ncvs/src/usr.bin/compile_et/compile_et.1,v 1.1.6.2 1997/09/14 23:21:48 jkh Exp % +.\" +.\" jpman %Id: compile_et.1,v 1.3 1997/08/20 12:20:14 horikawa Stab % +.Dd November 22, 1988 +.Os +.Dt COMPILE_ET 1 +.Sh 名称 +.Nm compile_et +.Nd エラーテーブルコンパイラ +.Sh 書式 +.Nm compile_et +.Ar file +.Sh 解説 +.Nm compile_et +は、エラーコード名とそれに対応するメッセージをリストアップしたテーブルを、 +.Xr com_err 3 +ライブラリと共に用いるのに適した C のソースファイルに変換します。 +.Pp +ソースファイル名は末尾が ``.et'' で終わっていなければなりません。 +このファイルは以下のものから成ります。 +まず、エラーコードテーブル名の宣言(4文字まで): + +.Em error_table name + +続いて以下の形式のエントリ(256 エントリまで): + +.Em error_code name , +" +.Em string +" + +そして最後にテーブルの終わりを示す次の行です: + +.Em end +.Pp +上のテーブル名はサブルーチン名 +.Em initialize_XXXX_error_table +を構築するのに用いられます。 +このサブルーチンは +.Xr com_err 3 +ライブラリがエラーテーブルを認識するために呼び出される必要があります。 +.Pp +ここで定義された様々なエラーコードには、 +連続した昇順の番号(最初の数は、テーブル名のハッシュ関数として求められた、 +ある大きな数です)が割り当てられます。 +従って、互換性を保つために、新しいコードは既存のテーブルの末尾にのみ +追加し、また既存のコードはテーブルから削除しないように +すべきです。 +.Pp +このテーブルで定義された名前は C のヘッダファイルに置かれ、 +プリプロセッサディレクティブによって +最大 32 ビットの大きさの整定数として定義されます。 +.Pp +同時に C のソースファイルが生成されます。 +このファイルはコンパイルされ、 +これらのエラーコードを参照するオブジェクトファイルとリンクされます。 +この C ソースファイルには、 +メッセージテキストと初期化ルーチンが含まれます。 +いずれの C のファイルも、オリジナルソースファイル +末尾の ``.et'' を ``.c'' および ``.h'' で置き換えた名前になります。 +.Pp +ソースファイル中の ``#'' はコメント文字として扱われ、 +そこから行末までのテキストは無視されます。 +.Sh バグ +.Nm compile_et +は +.Xr yacc 1 +に基づく極めて単純なパーサを用いているため、 +エラー回復処理には改良すべき点が数多く残されています。 +.Sh 関連項目 +.Xr yacc 1 , +.Xr comm_err 3 +.Pp +.Rs +.%A Ken Raeburn +.%T "A Common Error Description Library for UNIX" +.Re diff --git a/ja_JP.eucJP/man/man1/compress.1 b/ja_JP.eucJP/man/man1/compress.1 new file mode 100644 index 0000000000..2a4ec3026f --- /dev/null +++ b/ja_JP.eucJP/man/man1/compress.1 @@ -0,0 +1,168 @@ +.\" Copyright (c) 1986, 1990, 1993 +.\" The Regents of the University of California. All rights reserved. +.\" +.\" This code is derived from software contributed to Berkeley by +.\" James A. Woods, derived from original work by Spencer Thomas +.\" and Joseph Orost. +.\" +.\" 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. +.\" +.\" @(#)compress.1 8.2 (Berkeley) 4/18/94 +.\" jpman %Id: compress.1,v 1.2 1997/04/03 02:01:53 mutoh Stab % +.\" +.Dd April 18, 1994 +.Dt COMPRESS 1 +.Os BSD 4.3 +.Sh 名称 +.Nm compress , +.Nm uncompress , +.Nm zcat +.Nd データを圧縮、展開する +.Sh 書式 +.Nm compress +.Op Fl cfv +.Op Fl b Ar bits +.Op Ar +.Nm uncompress +.Op Fl cfv +.Op Ar +.Nm zcat +.Op Ar +.Sh 解説 +.Nm compress +は adaptive Lempel-Ziv 法を用いて、ファイルを圧縮します。 +個々の圧縮された +.Ar file +は、元のファイル名に拡張子 +.Dq .Z +を付加したものにリネームされます。そして、ファイルの更新時刻、 +最終アクセス時刻、ファイルフラグ、モード、ユーザID、グループID の大半 +は、パーミッションの許す範囲で圧縮ファイルに引き継がれます。 +もし圧縮しても +.Ar file +のサイズが小さくならない場合、compress はそのファイルを無視します。 +.Pp +.Nm uncompress +は、compress されたファイルを元通りのファイルにリストアし、 +ファイル名を拡張子 +.Dq .Z +を除いたものにリネームします。 +.Pp +.Nm zcat +は +.Dq "uncompress -c" +の別名です。 +.Pp +compress, uncompress によってリネームされるファイルの名前がすでに存在 +し、標準入力が端末の場合は、上書きしてもよいか確認を求めるプロンプトが +(標準エラー出力に) 出力されます。 +プロンプトが出せなかったり、確認の回答が得られなかった場合には、 +ファイルは上書きされません。 +.Pp +ファイル名が指定されなかった場合、標準入力からのデータが圧縮もしくは +展開され、結果が標準出力に出力されます。 +入力および出力ファイルが通常ファイルでない場合、圧縮後のサイズの +チェックとファイルの上書きチェックは行なわれません。 +入力ファイルは削除されず、また入力ファイルの属性は引き継がれません。 +.Pp +オプションは以下のものがあります: +.Bl -tag -width Ds +.It Fl b +.Ar bits +コードの上限値を指定します(以下を参照)。 +.It Fl c +compressed または uncompressed の出力を標準出力に出します。 +入力元のファイルは参照されるのみで変更されません。 +.It Fl f +ファイル長が小さくなるならないにかかわらず、ファイルの圧縮を強行 +します。また、圧縮ファイルと同名のファイルがすでに存在しても、確認を +求めることなく強制的にファイルの上書きを行ないます。 +.It Fl v +圧縮後、ファイルサイズがどれだけ減ったかをパーセント表示します。 +.El +.Pp +.Nm compress +は Lempel-Ziv修正アルゴリズムを使用します。 +ファイル内の重複する部分文字列は、まず、257 以上の 9ビットコードに +置き換えられます。コードが 512 に達すると、アルゴリズムは +10ビットコードへ切り替えられ、 +.Fl b +フラグによって指定された上限(デフォルトは16)に達するまで、更に上の +ビットを使っていきます。 +.Ar Bits +は、9 から 16 の範囲になければなりません。 +.Pp +.Ar bits +の上限に達すると、 +.Nm compress +は圧縮率を定期的にチェックします。 +圧縮率が上がっているとき、 +.Nm compress +は既存のコード辞書を使い続けますが、 +圧縮率が下がったときは +.Nm compress +は、部分文字列のテーブルを破棄し、最初からテーブルを作り直します。 +こうして、アルゴリズムをファイルの次の "block" へ適用していくことが +できます。 +.Pp +ランダムデータの展開または圧縮されたデータの再圧縮を行わないように +するためのマジックナンバと共に、圧縮の際に指定された +.Ar bits +パラメータがエンコードされ、圧縮ファイルの中に保存されるため、 +.Nm uncompress +では +.Fl b +フラグが省略されています。 +.Pp +.ne 8 +得られる圧縮の量は、入力サイズ、コードあたりの +.Ar bits +の数, および重複する部分文字列の分布に依存しています。 +普通、ソースコードや英語のテキストは、50\-60% 圧縮されます。 +一般的に (packコマンドで使われている) Huffman法、または +(compactコマンドで使われている)最適化Huffman法よって得られるより、圧縮 +は良く、計算時間もかかりません。 +.Pp +.Nm compress +ユーティリティは正常終了時には 0 を、エラー終了時には 0 より大きい値を +返します。 +.Sh 関連項目 +.Rs +.%A Welch, Terry A. +.%D June, 1984 +.%T "A Technique for High Performance Data Compression" +.%J "IEEE Computer" +.%V 17:6 +.%P pp. 8-19 +.Re +.Sh 歴史 +.Nm +コマンドは +.Bx 4.3 +から登場しました。 diff --git a/ja_JP.eucJP/man/man1/cp.1 b/ja_JP.eucJP/man/man1/cp.1 new file mode 100644 index 0000000000..83232ba376 --- /dev/null +++ b/ja_JP.eucJP/man/man1/cp.1 @@ -0,0 +1,218 @@ +.\" Copyright (c) 1989, 1990, 1993, 1994 +.\" The Regents of the University of California. All rights reserved. +.\" +.\" This code is derived from software contributed to Berkeley by +.\" the Institute of Electrical and Electronics Engineers, Inc. +.\" +.\" 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. +.\" +.\" @(#)cp.1 8.3 (Berkeley) 4/18/94 +.\" %Id: cp.1,v 1.6.2.1 1997/02/28 07:54:27 mpp Exp % +.\" jpman %Id: cp.1,v 1.2 1997/03/26 15:42:56 horikawa Stab % +.\" +.Dd April 18, 1994 +.Dt CP 1 +.Os BSD 4 +.Sh 名称 +.Nm cp +.Nd ファイルをコピーする +.Sh 書式 +.Nm cp +.Oo +.Fl R +.Op Fl H | Fl L | Fl P +.Oc +.Op Fl f | i +.Op Fl p +.Ar source_file target_file +.br +.Nm cp +.Oo +.Fl R +.Op Fl H | Fl L | Fl P +.Oc +.Op Fl fip +.Ar source_file ... target_directory +.Sh 解説 +1 番目の書式の場合、 +.Nm cp +は +.Ar source_file +の内容を +.Ar target_file +にコピーします。 +2 番目の書式の場合、 +.Ar source_file +の各々が +.Ar target_directory +の中へコピーされます。このとき +名前は変更されません。 +コピー先が元のファイル自身になるような +指定を +.Nm cp +が検出した場合、コピーは失敗します。 +.Pp +以下のオプションが使用できます。 +.Bl -tag -width flag +.It Fl H +.Fl R +オプションが指定されている時、コマンド行で指定されたシンボリックリンク +を追跡します。(木構造の検索中に見つかったシンボリックリンクは追跡 +しません) +.It Fl L +.Fl R +オプションが指定されている時、すべてのシンボリックリンクを追跡します。 +.It Fl P +.Fl R +オプションが指定されている時、シンボリックリンクを一切追跡しません。 +.It Fl R +.Ar source_file +としてディレクトリが指定された場合、 +.Nm cp +はそのディレクトリとそれ以下の +部分木を構成するすべてのファイルをコピーします。シンボリックリンクに +ついては、それが指している先のファイルをコピーするのではなく +シンボリックリンクのままコピーします。特殊ファイルについても +通常ファイルとしてではなく +.Nm cp +が特殊ファイルを生成することでコピーします。 +作成されるディレクトリの属性はプロセスのumask値の +影響を受けず、対応するコピー元ディレクトリと同じ属性となります。 +.It Fl f +コピー先にすでに同名のファイルが存在する場合、そのファイルのパー +ミッションに関わらず、確認を求めずにそれを消去して新しくファイル +を作成します。( +.Fl f +オプションより前の +.Fl i +オプションは無視されます。) +.It Fl i +すでに存在するファイルへの上書きを伴うコピーを実行する前に、 +上書きするかどうかの確認プロンプトを標準エラー出力へ出力するよう +.Nm cp +に指示します。標準入力からの返答が +文字 +.Sq Li y +か +.Sq Li Y +で始まっていればコピーが実行されます。 +( +.Fl i +オプションより前の +.Fl f +オプションは無視されます。) +.It Fl p +ファイルの変更時刻・アクセス時刻・フラグ・モード・ユーザID・グループID +などを、パーミッションが許す範囲内で可能な限り保存してコピーするよう +.Nm cp +に指示します。 +.Pp +ユーザIDやグループIDが保存できない場合でも、エラーメッセージは出力されず +戻り値も変化しません。 +.Pp +コピー元ファイルにSETUIDビットが立っておりかつそのユーザIDが保存できない +場合、SETUIDビットは保存されません。コピー元ファイルにSETGIDビットが +立っておりかつそのグループIDが保存できない場合、SETGIDビットは保存されません。 +コピー元のファイルにSETUIDビットとSETGIDビットが共に +立っておりかつそのユーザIDかグループIDのいずれか一方でも保存できない場合、 +SETUIDビットとSETGIDビットの両方が保存されません。 +.El +.Pp +すでに存在するコピー先ファイルについては、パーミッションが許せば +内容は上書きされますが、モード・ユーザID・グループIDは変化しません。 +.Pp +2 番目の書式では、 +.Ar source_file +としてディレクトリが一つだけ指定されかつ +.Fl R +オプションが指定されている場合を除き、 +.Ar target_directory +は存在していなければなりません。 +.Pp +コピー先ファイルが存在しない場合、コピー元ファイルのモードに +ファイルモード生成マスク +.Pf ( Ic umask , +.Xr csh 1 を参照 ) +を適用したものがコピー先ファイルのモードとして使用されます。 +コピー元ファイルのSETUIDビットが立っていても、コピー元ファイルとコピー先 +ファイルの所有者が同一でない限り、それは落とされます。 +コピー元ファイルのSETGIDビットが立っていても、コピー元ファイルとコピー先 +ファイルが同一グループに属しかつコピーを行うユーザがそのグループ +に入っていない限りそれは落とされます。 +SETUIDビットとSETGIDビットの両方が立っている場合、上記のすべての +条件が満たされない限り、両方のビットが落とされます。 +.Pp +ファイルの生成および上書きには、適切なパーミッションがなければなりません。 +.Pp +.Fl R +フラグが指定されるとシンボリックリンクは追跡されませんが、 +そうでない限りデフォルトでシンボリックリンクは常に追跡されます。 +.Fl H +または +.Fl L +フラグ ( +.Fl R +フラグと併用) を用いると、シンボリックリンクの追跡を前述したように動作さ +せることができます。 +.Fl H , +.Fl L , +.Fl P +オプションは、 +.Fl R +オプションが指定されていなければ無視されます。 +また、これらのオプションは互いに打ち消し合い、 +最後に指定されたものが有効になります。 +.Pp +.Nm cp +は成功すると戻り値 0 を、エラーが発生すると戻り値 >0 を返します。 +.Pp +.Sh 互換性 +従来版の +.Nm cp +には +.Fl r +オプションがありました。本実装でもこのオプションはサポートされていますが、 +特殊ファイル・シンボリックリンク・FIFOなどを正しくコピーできないため、 +これを使用することは奨められません。 +.Sh 関連項目 +.Xr mv 1 , +.Xr rcp 1 , +.Xr umask 2 , +.Xr fts 3 , +.Xr symlink 7 +.Sh 標準 +.Nm cp +コマンドは、 +.St -p1003.2 +互換を想定しています。 +.Sh 歴史 +.Nm +コマンドは +.At v1 +から登場しました。 diff --git a/ja_JP.eucJP/man/man1/cpio.1 b/ja_JP.eucJP/man/man1/cpio.1 new file mode 100644 index 0000000000..1fb6821fb4 --- /dev/null +++ b/ja_JP.eucJP/man/man1/cpio.1 @@ -0,0 +1,361 @@ +.TH CPIO 1L \" -*- nroff -*- +.\" jpman %Id: cpio.1,v 1.2 1997/05/22 04:01:20 bobson Stab % +.SH 名称 +cpio \- アーカイブファイルへのファイルのコピーや、アーカイブファイルからファイルへのコピーをおこなう +.SH 書式 +.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 解説 +このマニュアルは、GNU 版の +.BR cpio +について説明します。 +.B cpio +は、cpio 形式もしくは tar 形式のアーカイブファイルに格納されたファイルを +取り出したり、その逆を行なったりします。アーカイブファイルとは、格納される +ファイルそのものに加え、それら個々のファイルについてのファイル名や所有者、 +タイムスタンプ、アクセス権限のような情報を含むようなファイルです。 +アーカイブファイルは、ディスク上のファイルでも、 +磁気テープ上に格納してあるファイルでも、もしくはパイプであっても構いません。 +.B cpio +は、3つの操作モードを持っています。 +.PP +コピーアウトモードでは、 +.B cpio +はファイルをアーカイブファイルにコピーします。cpio は、標準入力から +ファイル名のリストを1行ずつ読み込み、標準出力にそのファイルのアーカイブを +書き出します。ファイルリストの作成には、 +.B find +コマンドが多く使われます。 +.B find +コマンドでは、\-d オプションを付加して、ディレクトリの属性によって +読み込み不可であったり、検索が出来なかったりする問題を最小限に抑えるように +して下さい。 +.PP +コピーインモードでは、 +.B cpio +はファイルをアーカイブファイルからファイルを(取り出して)コピーしたり、 +アーカイブの内容のリストを表示したりします。 +cpioは、アーカイブを標準入力から読み込みます。オプションでない +コマンドラインの引数は、すべてシェルによって展開される文字列として +解釈されます。これにより、アーカイブ内のファイル名が、この文字列によって +指定されるパターンにマッチするファイルのみを展開することができます。 +また、シェルでの解釈とは違い、ファイル名の先頭に`.'を含むファイル名は、 +取り出すファイルとして指定したパターンの最初にワイルドカードを含む場合、 +パターンが一致します。また、ファイル名に `/'を含むファイル名も +ワイルドカードによって一致します。パターンが指定されない場合には、 +全てのファイルが展開対象となります。 +.PP +コピーパスモードでは、 +.B cpio +はファイルをあるディレクトリから別のディレクトリにコピーします。実際には、 +アーカイブファイルを用いないで、コピーアウトモードとコピーインモードを +組み合わせて実行するような形になります。cpio は、コピーするファイルリストを +標準入力から読み込みます。これらのファイルのコピー先のディレクトリについては、 +オプション以外の引数で与えられます。 +.PP +.B cpio +は、 +binary, old ASCII, new ASCII, crc, HPUX binary, HPUX old ASCII, old tar, +POSIX.1 tar の各形式のアーカイブフォーマットをサポートします。 +binary フォーマットは、異なるマシンアーキテクチャ間では互換性のない方法で、 +ファイルの情報をエンコードするので、ほとんど使われません +(つまり、binary フォーマットは、異なるマシンアーキテクチャ間で、 +互換性のないアーカイブを生成するので、あまり使われないということです)。 +old ASCII フォーマットは、異なるマシンアーキテクチャの間での互換性は +保たれますが、65536 個を超える i-nodes を備えるシステムで使われることを +想定してません。 +new ASCII フォーマットは、異なるマシンアーキテクチャの間でのアーカイブの +互換性は保たれます。old ASCII フォーマットのように、ファイルシステムの +サイズの制限はありませんが、全てのバージョンの +.BR cpio +でこの形式をサポートするわけではありません。現状でこのフォーマットを +サポートする cpio は、GNU cpio と、Unix System V R4 の cpio のみです。 +crcフォーマットは、new ASCIIフォーマットと似てますが、アーカイブ作成時に +.B cpio +が各ファイルについてチェックサムを計算し、アーカイブ内に含めるところが +異なります。このチェックサムは、アーカイブからファイルを取り出す時の +ベリファイに使用されます。 +HPUX フォーマットは、デバイスファイルを格納する形式が他の cpio と異なる +HPUX の cpio 形式との互換性を持たせるために存在します。 +.PP +tarフォーマットは、 +.B tar +との互換性を持たせるために存在します。tar フォーマットでは、アーカイブされる +ファイル名としては、100 文字を超えるものは使えません。また、 +スペシャルファイル(ブロックデバイスややキャラクタデバイス)をアーカイブする +こともできません。 +POSIX.1 tar フォーマットは、アーカイブされるファイル名としては、255 文字を +超えるものは使えません。(ちょうどその場所に、"/"が含まれる場合は除きます)。 +.PP +デフォルトでは、 +.B cpio +は古い +.B cpio +との互換性を保つためにバイナリフォーマットアーカイブを作成します。 +アーカイブを展開する場合には、 +.B cpio +は自動的に読み込まれたアーカイブの種類を認識するので、異なるバイトオーダの +マシンで作成されたアーカイブを読むことができます。 +.PP +.B cpio +のオプションには、操作モードを指定するものもあります。 +どのオプションがどのモードに対応するかについては、 +書式のセクションを見て下さい。 +.SS オプション +.TP +.I "\-0, \-\-null" +コピーアウトおよびコピーパスモードにおいて、改行のかわりにヌル文字で終了する +ファイル名のリストを読み込みます。これにより、改行を含むファイル名を持つ +ファイルをアーカイブできます。 +GNU +.B find +を使うことで、ヌル文字で終了するファイル名のリストを生成することができます。 +.TP +.I "\-a, \-\-reset-access-time" +ファイルを読み込んだ後に、それらのファイルのアクセスタイムの再設定を +行ないます。これは、これらのファイルがその時点で読み込まれたもののように +見えないようにするためです。 +.TP +.I "\-A, \-\-append" +すでに存在するアーカイブファイルに追加書き込みをします。 +このオプションはコピーアウトモードでのみ使用することができます。 +このオプションを使うためには、アーカイブファイルが、 +.I \-O +または、 +.I "\-F (\-\-file)" +オプションで指定した名前のディスク上の(アーカイブ)ファイルで +なければなりません。 +.TP +.I "\-b, \-\-swap" +コピーインモードにおいて、データ中の1ワード(32 ビット)データの上下 16 ビット +を入れ換え、1 ハーフワード(16 ビット)の上下 8 ビットを入れ換えます。本オプショ +ンは、 +.IR "\-sS" +と同等です。 +このオプションは、ビッグエンディアンマシンとリトルエンディアンのマシンの間で +32ビット整数を変換するために用います。 +.TP +.I "\-B" +I/O ブロックサイズを 5120 バイトに設定します。ブロックサイズの初期値は 512 +バイトです。 +.TP +.I "\-\-block-size=BLOCK-SIZE" +I/Oブロックサイズを BLOCK-SIZE * 512 バイトに設定します。 +.TP +.I "\-c" +アーカイブ形式として、old 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" +コピーインモードにおいて、ファイル名 FILE から展開したり、ファイルリストを +表示したりするために、ファイル名を特定するパターン指定を読み込みます。 +ファイル名 FILE で特定できるファイルに記述された各行は、 +.B cpio +のオプション以外の文字列で指定されたもののように扱われます。 +.TP +.I "\-f, \-\-nonmatching" +与えられたパターンのいずれにも一致しないファイルのみ扱います。 +.TP +.I "\-F, \-\-file=archive" +標準入力もしくは標準出力のかわりに、指定されたアーカイブファイルを +用います。他のマシンのテープドライブをアーカイブファイルとして扱う +場合には、 `HOSTNAME:'で始まるファイル名を使用して下さい。 +ホスト名は、そのユーザとしてリモートテープドライブをアクセスするために +ユーザネームと '@'を先に書いても構いません(典型的には、そのユーザの +`~/.rhosts'エントリにエントリが存在するマシンであることが多いようです)。 +.TP +.I "\-\-force-local" +With +.IR \-F 、 +.IR \-I 、 +もしくは +.IR \-O +オプションを用いた場合に、コロン文字を含むファイル名をローカルファイル名と +みなして扱います。通常、コロン文字は、リモートホスト名とその上の +ローカルファイル名を区切る場合に使用されます。 +.TP +.I "\-H FORMAT, \-\-format=FORMAT" +アーカイブフォーマットとして、FORMATのものを用います。 +FORMAT の部分に指定できる文字列を以下に示します。 +これらの名前は、すべて大文字の場合でも認識されます。 +コピーインモードでのデフォルトは、入力ファイルの内容から +自動的にアーカイブフォーマットを判定するもので、コピーアウトモードでは、 +"bin"フォーマットがデフォルトです。 +.RS +.IP bin +binaryフォーマットです。ほとんど使われません。 +.IP odc +old ASCII (POSIX.1 互換)フォーマットです。 +.IP newc +new ASCII(SVR4 互換)フォーマットです。 +new ASCII フォーマットは、65536 個を超える i-nodes を備える +ファイルシステムをサポートします。 +.IP crc +crc フォーマットです。crcフォーマットは、new ASCII フォーマットと似ていますが、 +チェックサムを含みます。 +.IP tar +old tar フォーマットです。 +.IP ustar +POSIX.1 tar フォーマットです。GNU +.B tar +アーカイブも取り扱うことができます。POSIX.1 tar と GNU tar は、 +よく似ていますが、同じではありません。 +.IP hpbin +HPUXの cpio で使用されている、あまり使われない binary フォーマットです。 +(他の cpio とは異なる形式で、デバイスファイルを保存します)。 +.IP hpodc +HPUX の cpio で使用されている互換フォーマットです(他のcpioとは異 +なる形式で、デバイスファイルを保存します)。 +.RE +.TP +.I "\-i, \-\-extract" +コピーインモードで動作します。 +.TP +.I "\-I archive" +標準入力のかわりに、指定されたアーカイブファイル名を用います。他のマシンの +テープドライブをアーカイブファイルとして扱う場合には、`HOSTNAME:'で始 +まるファイル名を使用して下さい。 +ホスト名は、そのユーザとしてリモートテープドライブをアクセスするために +ユーザネームと '@'を先に書いても構いません(典型的には、そのユーザの +`~/.rhosts'エントリにエントリが存在するマシンであることが多いようです)。 +.TP +.I \-k +無視されます。他のバージョンの +.BR cpio +との互換性を保つためにのみ存在します。 +.TP +.I "\-l, \-\-link" +可能であれば、ファイルをコピーするかわりにリンクを張ります +( +.I \-p +オプションと共に指定するときのみ使用できます)。 +.TP +.I "\-L, \-\-dereference" +シンボリックリンクを参照を利用しません。 +シンボリックリンクファイルをコピーするかわりに、 +シンボリックリンクファイルの指す実体のファイルをコピー +します。 +.TP +.I "\-m, \-\-preserve-modification-time" +コピー先のファイル生成時に、コピー元のファイルの更新時刻を保持します。 +.TP +.I "\-M MESSAGE, \-\-message=MESSAGE" +バックアップ媒体(テープやフロッピーディスクなど)のボリューム終端まで +到達した場合に、MESSAGEで指定された文字列を出力します。この指定をすることで、 +ユーザに新しい媒体の挿入指示を出すことが可能になります。MESSAGE +で指定される文字列に"%d"が含まれる場合には、"%d"文字列は、現在の媒体通番 +(1からはじまります)に置き換えられます。 +.TP +.I "\-n, \-\-numeric-uid-gid" +冗長モードで内容のリストを出す場合に、UID および GID を、その ID の +対応するユーザ名 / グループ名でなく、数字で表示します。 +.TP +.I " \-\-no-absolute-filenames" +コピーモードで、 +アーカイブ中に絶対ファイル名で格納されていたとしても、 +現在のディレクトリからの相対でファイルを生成します。 +.TP +.I " \-\-no-preserve-owner" +コピーインモードおよびコピーパスモードにおいて、ファイルの所有者を +変更しません。これは、展開後のファイルの所有者は、実際にファイルの展開を +行なっているユーザとなることを示します。このオプションは、スーパユーザ以外の +ユーザが使用する場合にはデフォルトで有効になります。これは、System V +のユーザが、誤ってファイルの所有権を手放さないようにするためです。 +.TP +.I "\-o, \-\-create" +コピーアウトモードで動作します。 +.TP +.I "\-O archive" +標準出力のかわりに、指定したアーカイブファイルを用います。他のマシンの +テープドライブをアーカイブファイルとして扱う場合には、`HOSTNAME:'で +始まるファイル名を使用して下さい。ホスト名は、そのユーザとして +リモートテープドライブをアクセスするためにユーザネームと '@'を先に +書いても構いません(典型的には、そのユーザの`~/.rhosts'エントリに +エントリが存在するマシンであることが多いようです)。 +.TP +.I " \-\-only-verify-crc" +コピーインモードで CRC フォーマットのアーカイブを読み込む時に、 +アーカイブ内の各ファイルの CRC をベリファイするだけで、 +実際にファイルを取り出しません。 +.TP +.I "\-p, \-\-pass-through" +コピーパスモードで動作します。 +.TP +.I "\-\-quiet" +コピーされたブロック数を表示しません。 +.TP +.I "\-r, \-\-rename" +対話的にファイル名を変更します。 +.TP +.I "\-R [user][:.][group], \-\-owner [user][:.][group]" +コピーアウトモードおよびコピーパスモードにおいて、全ての生成ファイルの +所有権を指定したユーザ、グループに設定します。ユーザもしくはグループの +どちらか、もしくは両方とも指定される必要があります。もしグループの指定は +省略されたが、":"もしくは"."セパレータが指定された場合には、ユーザの +ログイングループがグループとして設定されます。 +スーパーユーザのみがファイルの所有権を変更することが可能です。 +.TP +.I "\-\-sparse" +コピーアウトモードおよびコピーパスモードにおいて、ゼロから成る大きなブロックを +持つファイルを疎なファイルとして書きます。 +.TP +.I "\-s, \-\-swap-bytes" +コピーインモードにおいて、ファイル中のデータの16ビットの上位8ビットと下位 +8ビットを入れ換えます。 +.TP +.I "\-S, \-\-swap-halfwords" +コピーインモードにおいて、ファイル中のデータの 32 ビットの上位 16 ビットと +下位 16 ビットを入れ換えます。 +.TP +.I "\-t, \-\-list" +入力ファイル名の一覧を出力します。 +.TP +.I "\-u, \-\-unconditional" +すでに存在している新しいファイルを古いファイルで置き換えるかどうかの +問い合わせをすることなく、全てのファイルを上書きします。 +.TP +.I "\-v, \-\-verbose" +処理されたファイル名を表示します(冗長モードということです)。 +.IR \-t +オプションが同時に指定された場合には、`ls \-l'形式の表示を得ることが +できます。ustar フォーマットのアーカイブから得られる表示においては、 +ローカルシステムに存在しないユーザ名およびグループ名のファイルについては、 +アーカイブ内に格納された UID および GID の値に対応するローカルでのユーザ名、 +グループ名に置き換えてその部分を表示します。 +.TP +.I "\-V \-\-dot" +各ファイルを処理するごとに、"."を表示します。 +.TP +.I "\-\-version" +.B cpio +のプログラムバージョンを表示して終了します。 diff --git a/ja_JP.eucJP/man/man1/crontab.1 b/ja_JP.eucJP/man/man1/crontab.1 new file mode 100644 index 0000000000..6dab67c162 --- /dev/null +++ b/ja_JP.eucJP/man/man1/crontab.1 @@ -0,0 +1,120 @@ +.\"/* Copyright 1988,1990,1993 by Paul Vixie +.\" * All rights reserved +.\" * +.\" * Distribute freely, except: don't remove my name from the source or +.\" * documentation (don't take credit for my work), mark your changes (don't +.\" * get me blamed for your possible bugs), don't alter or remove this +.\" * notice. May be sold if buildable source is provided to buyer. No +.\" * warrantee of any kind, express or implied, is included with this +.\" * software; use at your own risk, responsibility for damages (if any) to +.\" * anyone resulting from the use of this software rests entirely with the +.\" * user. +.\" * +.\" * Send bug reports, bug fixes, enhancements, requests, flames, etc., and +.\" * I'll try to keep a version up to date. I can be reached as follows: +.\" * Paul Vixie <paul@vix.com> uunet!decwrl!vixie!paul +.\" */ +.\" +.\" %Id: crontab.1,v 1.1.1.1.8.1 1997/09/16 07:02:05 charnier Exp % +.\" jpman %Id: crontab.1,v 1.2 1997/04/18 06:38:25 yugawa Stab % +.\" +.Dd December 29, 1993 +.Dt CRONTAB 1 +.Os +.Sh 名称 +.Nm crontab +.Nd 個人用の crontab の編集を行う (V3) +.Sh 書式 +.Nm crontab +.Op Fl u Ar user +.Ar file +.Nm crontab +.Op Fl u Ar user +{ +.Fl l | +.Fl r | +.Fl e +} +.Sh 解説 +.Nm crontab +は、 +Vixie Cron の +.Xr cron 8 +デーモンが扱うテーブル内のエントリの +追加、削除、およびリスト表示を行います。各ユーザは、自分用の contab +ファイルを持つことができます。このファイルは +.Pa /var +内にありますが、 +これはエディタで直接変更するためのものではありません。 +.Pp +もし +.Pa allow +ファイル +.Pq Pa /var/cron/allow +が存在した場合、このコマンドを +使うためには、あなたの名前がこの +.Pa allow +ファイルになければなりません。また、 +.Pa allow +ファイルは存在しないが +.Pa deny +ファイル +.Pq Pa /var/cron/deny +が存在した場合に、 +このコマンドを使うためには、あなたの名前がこの +.Pa deny +ファイルにあっては +.Em いけません +。 +どちらのファイルも存在しない場合、サイト依存の設定パラメータにより +スーパーユーザだけがこのコマンドを使うことができるか、 +すべてのユーザがこのコマンドを使うことができるかが決定されます。 +.Pp +このコマンドの最初の書式は file から新しい crontab をインストールする +場合に使います。ファイル名として ``-'' が指定された時は、標準入力から +読み込みます。 +.Pp +以下のオプションを使用可能です: +.Bl -tag -width indent +.It Fl u +指定した +.I user +の crontab ファイルに対して操作を行います。 +このオプションがない場合には、コマンドを実行した人 +の crontab ファイルに対しての操作になります。 +.Xr su 8 +をしている場合は混乱する可能性がありますから、正確を期するため、この場合には +.Fl u +をつねにつけるようにすべきです。 +.It Fl l +現在の crontab ファイルを標準出力に表示します。 +.It Fl r +現在の crontab ファイルを削除します。 +.It Fl e +現在の crontab を編集します。環境変数 +.Ev VISUAL +もしくは +.Ev EDITOR +があれば、この環境変数で指定したエディタを利用します。 +エディタを終了すれば、crontab ファイルが自動的にインストールされます。 +.El +.Sh 関連項目 +.Xr crontab 5 , +.Xr cron 8 +.Sh 関連ファイル +.Bl -tag -width /var/cron/allow -compact +.It Pa /var/cron/allow +.It Pa /var/cron/deny +.El +.Sh 規格 +.Nm +コマンドは +.St -p1003.2 +準拠です。 +この新しい文法は以前の Vixie Cron のものとも +古典的な SVR3 のものとも異なっています。 +.Sh 診断 +誤ったコマンドラインを与えて実行した場合、 +使用法についてのかなり有益なメッセージが出力されます。 +.Sh 作者 +.An Paul Vixie Aq paul@vix.com diff --git a/ja_JP.eucJP/man/man1/crunchgen.1 b/ja_JP.eucJP/man/man1/crunchgen.1 new file mode 100644 index 0000000000..aca03a25d5 --- /dev/null +++ b/ja_JP.eucJP/man/man1/crunchgen.1 @@ -0,0 +1,302 @@ +.\" +.\" Copyright (c) 1994 University of Maryland +.\" All Rights Reserved. +.\" +.\" Permission to use, copy, modify, distribute, and sell this software and its +.\" documentation for any purpose is hereby granted without fee, provided that +.\" the above copyright notice appear in all copies and that both that +.\" copyright notice and this permission notice appear in supporting +.\" documentation, and that the name of U.M. not be used in advertising or +.\" publicity pertaining to distribution of the software without specific, +.\" written prior permission. U.M. makes no representations about the +.\" suitability of this software for any purpose. It is provided "as is" +.\" without express or implied warranty. +.\" +.\" U.M. DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING ALL +.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO EVENT SHALL U.M. +.\" BE LIABLE FOR ANY SPECIAL, 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. +.\" +.\" Author: James da Silva, Systems Design and Analysis Group +.\" Computer Science Department +.\" University of Maryland at College Park +.\" +.Dd September 29, 1997 +.\" jpman %Id: crunchgen.1,v 1.3 1997/07/29 13:43:59 konuma Stab % +.Dt CRUNCHGEN 1 +.Os BSD 4 +.Sh 名称 +.Nm \&crunchgen +.Nd クランチバイナリ構築環境を作成する +.Sh 書式 +.Nm \&crunchgen +.Op Fl fql +.Op Fl m Ar makefile-name +.Op Fl c Ar c-file-name +.Op Fl e Ar exec-file-name +.Op Ar conf-file +.Sh 解説 + +クランチバイナリ(crunched binary)は、 +たくさんの別々のプログラムをひとつにまとめて +単一の実行形式にしたプログラムです。 +クランチバイナリの main() 関数は、argv[0] の値をみて、 +どのコンポーネントプログラムが実行されるべきかを決定します。 +複数プログラムをクランチしてひとつにまとめる主たる理由は、 +インストールフロッピあるいはシステム回復フロッピ上に、 +できるだけ多くのプログラムを収納するためです。 + +.Pp +.Nm crunchgen +は +.Ar conf-file +に記述されたクランチバイナリのための設定項目を読み込み、 +Makefile とそれに付随するトップレベルの C ソースファイルを生成します。 +これらはビルド時に各コンポーネントプログラムからクランチした実行形式を +作成します。 +オプションにより、 +.Nm +は、各コンポーネントプログラムに対して、 +そのソースディレクトリの Makefile から +プログラムを構成するオブジェクトファイル(.o)を決定することも試みます。 +この情報は実行のたびにキャッシュされます。 +.Nm +は関連するもうひとつのプログラム +.Nm crunchide +を用い、全ての不要なシンボルを隠すことで +コンポーネントプログラム間のリンク時のシンボル競合を防ぎます。 + +.Pp +.Nm +実行後、 ``make -f <conf-name>.mk'' を実行することで +クランチバイナリを作成できます。 +コンポーネントプログラムのオブジェクトファイルは既に作成されている +必要があります。 +出力される makefile に含まれる ``objs'' ターゲットは、 +各コンポーネントプログラムのソースディレクトリで make を実行し、 +ユーザのためにオブジェクトファイルを作成してくれます。 +しかしこのターゲットは自動的には実行されません。 +リリースエンジニアリング環境では、オブジェクトを他のディレクトリで +修正するのは一般に望ましくないからです。 + +.Pp +オプションは以下の通りです: +.Bl -tag -width indent +.It Fl c Ar c-file-name +出力する C のファイル名を +.Ar c-file-name +とします。デフォルトの名前は ``<conf-name>.c'' です。 +.It Fl e Ar exec-file-name +クランチバイナリの実行形式ファイルの名前を +.Ar exec-file-name +とします。デフォルトの名前は ``<conf-name>'' です。 +.It Fl f +キャッシュを消去し、キャッシュされていたパラメータを強制的に再計算します。 +.It Fl l +名前の表示。このバイナリが対応する名前を一覧表示します。 +.It Fl m Ar makefile-name +出力する Makefile の名前を +.Ar makefile-name +とします。デフォルトの名前は ``<conf-name>.mk'' です。 +.It Fl q +静粛処理モード。状況報告メッセージを抑制します。 +.El +.Sh CRUNCHGEN コンフィギュレーションファイルコマンド + +.Nm +は、クランチバイナリのコンポーネントについて記述した設定項目を +.Ar conf-file +から読み取ります。 +最も単純な場合は、各コンポーネントプログラム名を、 +そのソースファイルが置かれたトップレベルのディレクトリ名とともに、 +単に列挙するだけです。 +次に +.Nm +は(ソースの makefile によって)オブジェクトファイルリストと +その位置を求め、それをキャッシュします。 +もっと特殊な場合には、 +.Nm +が必要とするあらゆるパラメータを、ユーザが手動で指定することができます。 +.Pp +.Ar conf-file +のコマンドは以下の通りです: +.Bl -tag -width indent +.It Nm srcdirs Ar dirname ... +コンポーネントプログラムのソースディレクトリがあるソースツリーのリスト。 +これらのディレクトリは BSD の ``<source-dir>/<progname>/'' 方式を +用いて検索されます。 +.Nm srcdirs +行は複数あってもよく、ディレクトリは記述された順に検索されます。 +.It Nm progs Ar progname ... +クランチバイナリを構成するプログラムのリスト。 +.Nm progs +行は複数あっても構いません。 +.It Nm libs Ar libspec ... +クランチバイナリのリンク時に含めるライブラリ指定のリスト。 +.Nm libs +行は複数あっても構いません。 +.It Nm ln Ar progname linkname +argv[0] に +.Ar linkname +が現われたときはいつも +.Ar progname +を起動するよう、クランチバイナリに要請します。 +これにより、起動時の名前によって振る舞いを変えるようなプログラムも +正しく動作するようにできます。 +.El + +特別な状況、例えば +ソースファイルがないとか、 +従来の Makefile によらないビルドを行うといった +場合に対応するため、以下に述べる +.Nm special +コマンドを用いてコンポーネントプログラムの +.Nm +パラメータを指定できます。 +.Bl -tag -width indent +.It Nm special Ar progname Nm srcdir Ar pathname +プログラム +.Ar progname +のソースディレクトリを指定します。 +通常は指定されたディレクトリ +.Nm srcdirs +内の +.Ar progname +ディレクトリを検索して決定されます。 +.It Nm special Ar progname Nm objdir Ar pathname +プログラム +.Ar progname +のオブジェクトディレクトリを指定します。 +通常はディレクトリ +.Ar srcdir +内の +.Dq Pa obj +という名前のディレクトリを探し、もし見つからなければ、ディレクトリ +.Ar srcdir +自身が +.Ar objdir +となります。 +.It Nm special Ar progname Nm objs Ar object-file-name ... +プログラム +.Ar progname +のオブジェクトファイルのリストを指定します。 +通常は、 +.Dq Nm srcdir / Pa Makefile +をインクルードし $(OBJS) の値を出力するような一時 makefile を構築する +ことで決定されます。 +.It Nm special Ar progname Nm objpaths Ar full-pathname-to-object-file ... +プログラム +.Ar progname +のオブジェクトファイルのパス名を指定します。 +通常は +.Nm objs +リスト中の各ファイルのパス名の先頭に +.Nm objdir +を付加することで決定されます。 +.It Nm special Ar progname Nm keep Ar symbol-name ... +プログラム +.Ar progname +の保持リストに、指定するシンボルのリストを追加します。 +各シンボルの前にはアンダスコアが付加され、 +.Xr crunchide 1 +フェーズでは +.Fl k +オプションの引数となります +このオプションはシンボルが衝突するときの最後の拠所ですが、 +シンボル解決の唯一の方法である場合もあります。 +.El + +.Pp +実際に +.Nm +が必要とするのは +.Nm objpaths +だけですが、 +これは +.Nm objdir +と +.Nm objs +から求められ、これらも +.Nm srcdir +から求められます。 +ですから、もし可能なら、初期のパラメータを指定し、あとは +.Nm +に求めさせたほうが便利な場合もあります。 + +.Pp +.Nm +が生成する makefile はオプションのターゲット +.Ar objs +を含みます。 +これは、各コンポーネントプログラムのソースディレクトリ内で make を実行して +オブジェクトファイルを作成するターゲットです。 +これがうまく動作するためには +.Nm srcdir +および +.Nm objs +パラメータが正しいものでなくてはなりません。 +もしこれらの値があるプログラムに対して不正なものであると、 +.Ar objs +ターゲットではそのプログラムはスキップされてしまいます。 +.Sh 実行例 +.Nm +の入力コンフィギュレーションファイルの例として +.Dq Pa kcopy.conf +の内容を示します。 +.Pp +.nf + srcdirs /usr/src/bin /usr/src/sbin + + progs test cp echo sh fsck halt init mount umount myinstall + ln test [ # test は [ として起動することもできる + ln sh -sh # init は argv[0] を "-sh" としてシェルを起動する + + special myprog objpaths /homes/leroy/src/myinstall.o # ソースなし + + libs -lutil -lcrypt +.fi +.Pp +このコンフィギュレーションファイルでは、 +いくつかの基本的なシステムユーティリティと +自家製のインストールプログラム ``myinstall'' から成る +小さなクランチバイナリを記述しています。 +ソースディレクトリは全く指定されていませんが、 +オブジェクトファイルは +.Nm special +行で直接指定されています。 +.Pp +クランチバイナリ ``kcopy'' は以下のようにして作成できます: +.Pp +.nf + % crunchgen -m Makefile kcopy.conf # Makefile と kcopy.c 作成 + % make objs # コンポーネントプログラムの *.o 作成 + % make # クランチバイナリ kcopy の作成 + % kcopy sh # シェル sh を起動できるかどうか試すと.. + $ # うまくいった! +.fi +.Pp +ここまでくれば、バイナリ ``kcopy'' をインストールフロッピにコピーし、 +各コンポーネントプログラムの名前でハードリンクを設けることができます。 +.Sh 関連項目 +.Xr crunchide 1 +.Sh 警告 +.Nm crunch +はクランチバイナリ中の各コンポーネントプログラム間のリンク競合を +除去するのに気を配っていますが、依然としてリンクされたライブラリ間で +競合が発生する可能性が残っています。 +ライブラリ順の入れ換えが必要な場合もありますし、 +二つのライブラリ間にどうしても解消できない競合が発生し、 +結局ひとつにまとめられない場合も稀にあります。 +.Pp +BSD のバージョンによっては、デフォルトのビルド環境では +単一ソースファイルのプログラムに対して +中間オブジェクトファイルを作成しないことがあります。 +その場合は ``make objs'' ターゲットを用いてオブジェクトファイルを +作成するか、他の調整を施す必要があります。 +.Sh 作者 +.Nm crunch +は James da Silva <jds@cs.umd.edu> によって作成されました。 +.sp 0 +Copyright (c) 1994 University of Maryland. All Rights Reserved. diff --git a/ja_JP.eucJP/man/man1/crunchide.1 b/ja_JP.eucJP/man/man1/crunchide.1 new file mode 100644 index 0000000000..681ae3a441 --- /dev/null +++ b/ja_JP.eucJP/man/man1/crunchide.1 @@ -0,0 +1,76 @@ +.\" +.\" Copyright (c) 1994 University of Maryland +.\" All Rights Reserved. +.\" +.\" Permission to use, copy, modify, distribute, and sell this software and its +.\" documentation for any purpose is hereby granted without fee, provided that +.\" the above copyright notice appear in all copies and that both that +.\" copyright notice and this permission notice appear in supporting +.\" documentation, and that the name of U.M. not be used in advertising or +.\" publicity pertaining to distribution of the software without specific, +.\" written prior permission. U.M. makes no representations about the +.\" suitability of this software for any purpose. It is provided "as is" +.\" without express or implied warranty. +.\" +.\" U.M. DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING ALL +.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO EVENT SHALL U.M. +.\" BE LIABLE FOR ANY SPECIAL, 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. +.\" +.\" Author: James da Silva, Systems Design and Analysis Group +.\" Computer Science Department +.\" University of Maryland at College Park +.\" +.\" jpman %Id: crunchide.1,v 1.3 1997/07/29 13:45:23 konuma Stab % +.Dd June 14, 1994 +.Dt CRUNCHIDE 1 +.Os BSD 4 +.Sh 名称 +.Nm crunchide +.Nd プログラムをクランチしてまとめる際に、シンボル名を ld から隠蔽する +.Sh 書式 +.Nm crunchide +.Op Fl f Ar keep-list-file +.Op Fl k Ar keep-symbol +.Op Ar object-file ... +.Sh 解説 + +.Nm crunchide +は +.Ar object-file +の大域シンボルを隠蔽し、 +続くリンカ +.Xr ld 1 +の実行でそれらが無視されるようにします。 +.Fl k Ar keep-symbol +オプションおよび +.Fl f Ar keep-list-file +オプションにより、 +いくつかのシンボルを見える状態のままにしておくことができます。 +ファイル +.Ar keep-list-file +は、見える状態にしておくシンボルのリストです。 +このファイルにはシンボルを 1 行にひとつずつ記述します。 +C コンパイラはシンボルの前にアンダスコアを付加することに +注意して下さい。 +C の関数 ``foo'' を見える状態にしておくには、 +\&``-k _foo'' というオプションを用いなければなりません。 + +.Pp +.Nm crunchide +は +.Xr crunchgen 1 +とともに用いられるプログラムとして設計されています。 +.Xr crunchgen 1 +は複数のコンポーネントプログラムからクランチバイナリを作成する +処理を自動化するプログラムです。 +.Sh 関連項目 +.Xr crunchgen 1 , +.Xr ld 1 +.Sh 作者 +.Nm crunch +は James da Silva <jds@cs.umd.edu> によって作成されました。 +.sp 0 +Copyright (c) 1994 University of Maryland. All Rights Reserved. diff --git a/ja_JP.eucJP/man/man1/csh.1 b/ja_JP.eucJP/man/man1/csh.1 new file mode 100644 index 0000000000..04796d3edc --- /dev/null +++ b/ja_JP.eucJP/man/man1/csh.1 @@ -0,0 +1,2190 @@ +.\" 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. +.\" +.\" @(#)csh.1 8.2 (Berkeley) 1/21/94 +.\" jpman %Id: csh.1,v 1.2 1997/04/08 00:35:51 h-nokubi Stab % +.\" %Id: csh.1,v 1.5.2.1 1997/02/28 07:54:29 mpp Exp % +.\" +.\" Japanese translation for jpman-0.2 checked by jpman project 96.12.23 +.\" +.Dd January 21, 1994 +.Dt CSH 1 +.Os BSD 4 +.Sh 名称 +.Nm csh +.Nd C 言語ライクな文法を持つシェル(コマンドインタープリタ) +.Sh 書式 +.Nm csh +.Op Fl bcefimnstvVxX +.Op arg ... +.Nm csh +.Op Fl l +.Sh 解説 +.Nm csh +は、履歴(参照: +.Nm ヒストリ置換 +の項)、ジョブ制御(参照: +.Nm ジョブ +の項)、対話的なファイル名とユーザ名の補完(参照: +.Nm ファイル名補完 +の項)、C 言語ライクな文法を特徴とするコマンドインタープリタです。 +対話的なログイン・シェル、また +シェル・スクリプトのコマンド・プロセッサの両方の用途で使われます。 +.Ss 引数リスト処理 +シェルへの最初の引数(第 0 引数)が +.Ql Fl \& +で始まる場合、シェルはログイン・シェルとなります。 +シェルを +.Ql Fl l +フラグを指定して起動することでもログイン・シェルにできます。 +.Pp +残りのフラグは以下のように解釈されます: +.Bl -tag -width 5n +.It Fl b +このフラグは、オプションの処理を強制的に中断させる場合に使用します。この +フラグ以降の引数はすべて、オプションではない引数として処理されます。 +これにより、シェル・スクリプトに混乱やごまかしを行わずにオプションを +渡すことが可能になります。 +set-user ID スクリプトは本オプションなしでは実行できません。 +.It Fl c +コマンドを本フラグの次にくる 1 つの引数から読み込みます。 +この引数は省略できません。残りの引数は +.Ar argv +に代入されます。 +.It Fl e +起動したコマンドが異常終了したり、0 でない終了ステータスを返したときに、 +ただちにシェルを終了します。 +.It Fl f +起動したユーザのホーム・ディレクトリにある +.Pa \&.cshrc +を捜さず、また読み込まないため高速に起動します。 +.It Fl i +たとえ端末上で実行されていなくても、対話的に動作しプロンプトを表示します。 +入力と出力が端末である場合、本オプションなしでもシェルは対話的に動作します。 +.It Fl l +ログイン・シェルとなります。( +.Fl l +が、指定された唯一のフラグの場合にのみ有効です。) +.It Fl m +シェルは、実効ユーザに属していなくても +.Pa .cshrc +をロードします。 +.Xr su 1 +は +.Fl m +をシェルに渡すことができます。 +.It Fl n +コマンドの解析は行いますが、実行しません。シェル・スクリプトの +文法検査に役立ちます。 +.It Fl s +標準入力からコマンドを読み込みます。 +.It Fl t +入力から1行だけ読み込み、それを実行します。改行の直前に +.Ql \e +を置くことで、次の行への継続を行うことができます。 +.It Fl v +.Ar verbose +変数を設定します。これにより、ヒストリ置換された状態のコマンド行を +表示するようになります。 +.It Fl x +.Ar echo +変数を設定します。これにより、実行直前に、実行するコマンドを +表示するようになります。 +.It Fl V +.Pa .cshrc +を実行するより前に +.Ar verbose +変数を設定します。 +.It Fl X +.Pa .cshrc +を実行するより前に +.Ar echo +変数を設定します。 +.El +.Pp +.Fl X +に対する +.Fl x +の関係は、ちょうど +.Fl V +に対する +.Fl v +の関係に相当します。 +.Pp +フラグ引数の処理のあと、もし引数が残っていて、かつ、 +.Fl c +、 +.Fl i +、 +.Fl s +、 +.Fl t +のいずれのフラグも指定されていなければ、残っている最初の引数は +コマンドファイル名であるとみなされます。シェルはこのファイルをオープンし、 +`$0' による置換に備えてファイル名を保存します。多くのシステムは version 6 +または version 7 の標準のシェルを使っており、また、それらの +シェル・スクリプトは本シェルとは互換性がないので、 +スクリプトの先頭の文字が `#' でない場合、 +つまりスクリプトがコメントから始まらない場合、 +本シェルはそれらの `標準' シェルを起動して実行します。 +残りの引数は変数 +.Ar argv +に初期値として設定されます。 +.Pp +.Nm csh +は、実行開始に際し、まず、ファイル +.Pa /etc/csh.cshrc +を読み込み実行します。ログイン・シェルであれば、さらに、ファイル +.Pa \&/etc/csh.login +を読み込み実行します。 +次にシェルを起動したユーザの +.Ar ホーム +・ディレクトリにあるファイル +.Pa \&.cshrc +を読み込み実行します。ログイン・シェルであるなら、 +さらに、同じディレクトリのファイル +.Pa \&.login +を読み込み、実行します。 +.Pa \&.login +の通常の使い方としては、ユーザが CRT 画面の設定のために +``stty crt'' を実行したり、 +.Xr tset 1 +を実行したりするために用いられます。 +.Pp +通常、シェルはプロンプト `% ' を表示し、端末からコマンドを読み込みます。 +引数の処理やコマンド・スクリプトを含むファイルの処理については後述します。 +.Pp +シェルは以下の動作を繰り返します: 読み込んだ行を +.Ar 単語 +に分解します。この単語の列をコマンド履歴に格納し、解析します。 +最後にその行の各コマンドを実行します。 +.Pp +ログイン・シェルが終了するとき、ユーザの +.Ar ホーム +・ディレクトリのファイル +.Pa .logout +と +.Pa /etc/csh.logout +を読み込み実行します。 +.Ss 字句構造 +シェルは、読み込んだ行を空白とタブを区切りとして単語に分割します。ただし、 +以下の例外があります。文字 +`&' `\&|' `;' `<' `>' `(' `)' +は独立した単語となります。`&&'、`\&|\&|'、`<<'、`>>' のように +2つ繰り返されている場合はペアで1単語を形成します。 +これらのメタキャラクタは、直前に `\e' を置くことによって、単語の一部としたり、 +特別な意味を無視させることができます。改行の直前に `\e' を置くと、 +単一の空白と等価になります。 +.Pp +対応したクォート記号 +`'\|'、`\*(ga'、`"'、に狭まれた文字列は、単語の一部分となります。 +このような文字列中のメタキャラクタやブランク、 +タブによって単語が分割されることはありません。 +これらのクォートの意味はあとで説明します。 +`\'' または `"' の内側で改行文字の直前に `\e' を置くと、 +改行文字そのものになります。 +.Pp +シェルの入力が端末からではない場合、 +`#' 文字から改行まではコメントとして扱われます。 +直前に `\e' を置くか `\`'、`\''、`"" でクォートすることにより、 +この意味を抑制することができます。 +.Ss コマンド +単純コマンドは単語の列であり、最初の単語が実行すべきコマンドを示します。 +`\&|' 記号で区切られた、単純コマンドあるいは単純コマンドの列は +パイプラインを形成します。パイプラインの各コマンドの出力は、次のコマンドの +入力に接続されます。パイプラインの列を `;' によって区切ることで逐次実行が +行えます。パイプラインの列に続けて `&' を置くと、そのパイプラインの終了を +待つことなく、次のパイプラインが実行されます。 +.Pp +上記のいずれかを `('と`)' で囲むことにより、単純コマンドを形成することが +できます (これはパイプライン等の構成要素として使えます)。 +また、パイプラインを `\&|\&|' または `&&' で区切ることにより、C +言語のように、第2のパイプラインが第1のパイプラインが失敗あるいは +成功したときにのみ実行させることができます( +.Em 式 +の項参照)。 +.Ss ジョブ +シェルはパイプラインの各々に対し +.Ar ジョブ +を一つづつ関連付けます。シェルは、現在実行中のジョブの一覧表を保持しており、 +これは、 +.Ar jobs +コマンドによって表示することができます。 +ジョブには整数の番号が割り当てられます。ジョブが `&' を用いて非同期に +起動された場合、シェルは以下のような出力を行います: +.Bd -filled -offset indent +.Op 1 +1234 +.Ed +.Pp +これは、非同期に起動したジョブがジョブ番号 1 であり、プロセスID が 1234 である +(トップレベルの) プロセスを 1 つ持っていることを示します。 +.Pp +もし、あるジョブを実行中に他のことをしたくなった場合、 +.Nm ^Z +キー +(control-Z) を押すことにより実行中のジョブに STOP シグナルを +送信することができます。通常、シェルはそのジョブが停止した(Stopped)ことを +出力し、プロンプトを表示します。ここで、停止したジョブの状態を操作することが +できます。つまり、 +.Ar bg +コマンドにより停止したプロセスを +.Em バックグラウンド +で走行させたり、他のコマンドを実行してから、停止していたジョブを +.Ar fg +コマンドにより +.Em フォアグラウンド +で再実行させることなどができます。 +.Nm ^Z +は即座に効力を発揮し、インタラプトと同様に、それまで待たされていた +出力とまだ読み込まれていない入力は捨てられます。 +ほかに特殊キーとして +.Nm ^Y +があり、これを押すと、プログラムが +.Xr read 2 +によって読み込もうとした時点で STOP シグナルが送信されます。 +これは、実行中のジョブに対していくつかの入力を先に入力しておき、 +先行入力を読み終えた時点でジョブを停止させたいときに便利です。 +.Pp +バックグラウンドで実行しているジョブが端末からの入力を試みた場合、その +ジョブは停止します。通常、バックグラウンドジョブが端末に出力することは +可能ですが、これは、コマンド ``stty tostop'' により禁止することができます。 +もし、この tty オプションを指定したなら、バックグラウンドで実行している +ジョブは、端末から入力を試みたときと同様に、端末に出力を試みたときに +停止します。 +.Pp +シェルでジョブを参照するにはいくつかの方法があります。文字 `%' は +ジョブ名を表すのに用いられます。番号 1 のジョブを参照する場合は `%1' とします。 +単にジョブ名を入力した場合、そのジョブはフォアグラウンドに移動されます。 +すなわち`%1' は `fg %1' と等価で、番号 1 のジョブをフォアグラウンドで +実行させます。同様に `%1 &' は番号 1 のジョブをバックグラウンドで +走行させます。ジョブはそのジョブを起動したときにタイプされた文字列の +先頭部分によって参照することもできます。ただし、この先頭部分は +あいまいでない必要があります。すなわち、`%ex' は、`ex' という文字列で +始まる名前のサスペンドされたジョブが一つしかない場合に限り、サスペンドされた +.Xr ex 1 +のジョブを再開します。文字列 +.Ar string +を含むジョブが一つしかない場合、`%?string' と入力することで、 +それを指定することもできます。 +.Pp +シェルは現在のジョブと直前のジョブを覚えています。jobs コマンドの +出力では、`+' 記号が付加されているのが現在のジョブ、`\-' 記号が +付加されているのが直前のジョブです。`%+' は現在のジョブ、`%\-' は +直前のジョブの省略形です。後述する +.Ar ヒストリ +の文法から類推される記法として、`%%' があります。 +これもまた現在のジョブの省略形です。 +.Pp +ジョブ制御機構を用いるには、 +.Xr stty 1 +のオプション +.Ic new +を設定しておく必要があります。ジョブ制御機構は、 +.Em 新型 +の端末ドライバの実装の上に構築されているからです。 +新型の端末ドライバにより、ジョブを停止させるためのシグナルを +キーボードから入力できるわけです。 +新型の端末ドライバのオプション設定については stty(1) を参照してください。 +.Ss 状態通知 +シェルは、プロセスが状態の変化を起こすと、すぐにそれを検知します。通常、 +プロンプトが表示される直前にのみ、あるジョブが停止し、それ以上処理が +進まなくなったことを通知します。これは、ユーザの仕事を邪魔しないように +するためです。 +しかしながら、シェル変数 +.Ar notify +をセットすることにより、シェルにバックグラウンド・ジョブの状態が +変化したことをただちに通知させることができます。 +また、シェルコマンド +.Ar notify +により、特定のジョブの状態の変化をただちに通知させる +ようにマークすることもできます。引数なしの +.Ar notify +は現在のプロセスに対してマークをつけます。 +バックグラウンド・ジョブの開始直後に単に `notify' と打つと +そのジョブをマークします。 +.Pp +停止したジョブがある状態でシェルを終了しようとすると、`You have +stopped jobs.' という警告を受けます。このとき、 +.Ar jobs +コマンドによりどのジョブが停止中であるのかを確認することができます。 +警告を受けた直後に +.Ar jobs +コマンドで確認した場合と、 +警告を受けた直後にもう一度シェルを終了させようとした場合には、 +シェルは2度目の警告を行わず、停止中のジョブは終了させてから +シェルを終了します。 +.Ss ファイル名補完 +シェル変数 +.Ar filec +がセットされてファイル名補完機能が有効になっている場合、 +( +.Ic set +の項参照) +.Nm csh +はファイル名やユーザ名の補完を対話的に行います。文字列に続けて +エスケープ文字 (エスケープキー、または control-[) キーを端末から +入力することにより補完が行われます。 +たとえば、以下のファイルがカレント・ディレクトリにあったとします。 +.Bd -literal -offset indent +DSC.OLD bin cmd lib xmpl.c +DSC.NEW chaosnet cmtest mail xmpl.o +bench class dev mbox xmpl.out +.Ed +.Pp +ここで、以下のように入力します。 +.Pp +.Dl % vi ch<escape> +.Pp +このとき、 +.Nm csh +は ``ch'' を補完し、それにマッチする唯一のファイル名 ``chaosnet'' +にします。補完後の入力行は以下のようになります。 +.Pp +.Dl % vi chaosnet +.Pp +以下のように入力した場合は、 +.Pp +.Dl % vi D<escape> +.Pp +.Nm csh +は、次のように補完を行います。 +.Pp +.Dl % vi DSC. +.Pp +ここで、端末ベルを鳴らし、補完が完了しなかったことをユーザに伝えます。 +なぜなら、``D'' で始まるファイル名が複数あったからです。 +.Pp +不完全なファイル名に続いて end-of-file 文字(通常は control-D)を入力すると、 +名前の補完を行うかわりに、その名前にマッチするファイル名の一覧を出力します。 +たとえば、以下のように入力すると、 +.Pp +.Dl % vi D<control-D> +.Pp +``D'' で始まるファイル名の一覧が以下のように出力されます: +.Pp +.Dl DSC.NEW DSC.OLD +.Pp +このとき、入力行は変化しません。 +.Pp +エスケープ文字と、end-of-file 文字を用いる同様の機構は、 +ユーザ名を補完する場合にも用いることができます。この場合、``~'' で +名前を開始します。たとえば、次のように入力すると、 +.Pp +.Dl cd ~ro<escape> +.Pp +以下のように補完されます。 +.Pp +.Dl cd ~root +.Pp +シェル変数 +.Ar nobeep +をセットすることにより、複数の候補があったり、補完に +失敗した場合に端末ベルを鳴らすのを禁止することができます。 +.Pp +通常、そのディレクトリにあるすべてのファイル名が補完の候補となります。 +ある特定の拡張子を持つファイルを補完の候補から外すのに、変数 +.Ar fignore +を用いる +ことができます。以下のコマンドで、変数 +.Ar fignore +を設定すると、 +.Pp +.Dl % set fignore = (.o .out) +.Pp +以下のように入力した場合に、 +.Pp +.Dl % vi x<escape> +.Pp +次のように補完が行われます。 +.Pp +.Dl % vi xmpl.c +.Pp +つまり、"xmpl.o" と "xmpl.out" が無視されて補完が行われました。もし、 +.Ar fignore +で無視するように指定されたファイル名しか補完の対象になり得なかった場合、 +.Ar fignore +の設定は無視されます。また、 +.Ar fignore +は end-of-file 文字によるファイル名の一覧には影響を与えません。 +一覧ではすべてのファイル名が出力されます。 +.Ss 置換 +ここからは、シェルが入力に対して行うさまざまな置換を、 +処理が行われる順に記述します。 +.Ss ヒストリ置換 +ヒストリ置換は、以前に入力されたコマンド中の単語を、 +新たなコマンドの一部として置き換えることで、 +コマンドの繰り返し実行を容易にしたり、直前のコマンドの引数を次のコマンドで +再び使用したり、直前に入力した行の綴り間違いを修正する際に、 +タイプ入力の手間を減らし、自信をもって修正できるようにするための機能です。 +ヒストリ置換は文字 `!' により始まり、入力ストリームの +.Ar どの位置にでも +置くことができます(ただし、入れ子にすることは +.Nm できません +)。`\e' を `!' の前に置くことにより、`!' の特殊な意味を打ち消すことが +できます。また、利便のために、`!' の直後に空白、タブ、改行文字、 +`='、`(' が続いた場合、ヒストリ置換は行われず、入力された文字がそのまま +用いられます(ヒストリ置換は、入力行が `\*(ua' で始まっている場合にも +起こります。これについては後述します)。入力行にヒストリ置換が含まれている +場合は、実行直前にヒストリ置換を行った結果が端末に出力されます。 +.Pp +端末から入力された、1つあるいはそれ以上の単語からなるコマンドは +ヒストリ・リストに記録されます。ヒストリ置換は、この記録された +単語の列を入力ストリームに挿入することにより行われます。 +ヒストリ・リストの大きさは、変数 +.Ar history +により制御されます。直前のコマンドは +.Ar history +の値に関わらず必ず +保存されます。記録されているコマンドは 1 から順にイベント番号が +割り当てられます。 +.Pp +.Ar history +コマンドにより、以下の出力が得られたとします: +.Bd -literal -offset indent +\09 write michael +10 ex write.c +11 cat oldwrite.c +12 diff *write.c +.Ed +.Pp +コマンドはイベント番号とともに出力されています。必ずしもイベント番号を +用いる必要はありませんが、プロンプト文字列に `!' を埋めることにより、 +現在のイベント番号を +.Ar プロンプト +中に表示させることができます。 +.Pp +現在のイベント番号が 13 だとすると、以前のイベントを指定するには、 +イベント番号を用いて `!11' としたり、 +相対指定を用いて `!\-2' としたり(同じイベントを表します)する方法があります。 +また、コマンドの単語の先頭部分を用いて指定することもできます。例えば、`!d' +でイベント番号 12 を指定したり、 `!wri' でイベント番号 9 を指定できます。また、 +ある文字列を含むコマンドを指定するのに `!?mic?' (これはイベント番号 9 の +コマンドを示します)のような記法も使えます。これらの記法は、指定された +イベントの各単語を単一の空白で区切った単語列に置換します。特殊な +場合として、`!!' は直前のコマンドを参照します。すなわち、`!!' だけを +入力することは直前のコマンドの +.Ar 再実行 +を意味します。 +.Pp +あるイベント中のいくつかの単語だけを指定するために、イベント指定に続けて `:' +と単語指示子を書くことができます。イベントの単語は 0 から順に番号が +振られています。最初の単語(通常はコマンドです)が 0 で、2番目の単語 +(第1引数)が 1 ということになります。基本的な単語指示子は以下のとおりです: +.Pp +.Bl -tag -width Ds -compact -offset indent +.It \&0 +最初の(コマンド)単語 +.It Ar n +.Ar n +番目の単語 +.It \*(ua +最初の引数(すなわち 1 と同じ) +.It $ +最後の引数 +.It % +直前の +.No \&? Ns Ar s Ns \&? +検索でマッチした単語 +.It Ar \&x\-y +.Ar x +番目から +.Ar y +番目までの単語 +.It Ar \&\-y +.Ar `\&0\-y\' +の省略形 +.It * +`\*(ua\-$' の省略形。イベントが1語のみからなる場合は空になる +.It Ar x* +.Ar `x\-$\' +の省略形 +.It Ar x\- +.Ar `x*\' +から最後の単語を除いたもの。 +.El +.Pp +イベント指定と単語指示子とを区切る `:' は、引数選択子が `\*(ua'、`$'、`*'、 +`\-'、`%' で始まっている場合には省略することができます。 +単語指示子の直後に、 `:' に続けて +修飾子を複数個置くことができます。以下の修飾子が定義されています: +.Pp +.Bl -tag -width Ds -compact -offset indent +.It h +パス名の最後の要素を削除します(head) +.It r +最後の `.xxx' 要素を削除します(root) +.It e +`.xxx' 以外の部分を削除します(extension) +.It s Ns Ar /l/r/ +Substitute +.Ar l +を +.Ar r +で置換します(substitution) +.It t +最後の要素を残して、それより前のパス名の要素全てを削除します。 +.It \&& +直前の修飾子の作用を繰り返します。 +.It g +上記の修飾子の直前に置き、変更を、各単語に1回だけ及ぼすことを指定します。 + 例) `g&' +.It a +上記の修飾子の直前に置き、一つの単語に対して可能な限り繰り返して +変更を行います。変更が全単語に及ぶようにするには `g' と組み合わせて使います。 +.It p +置換結果を表示しますが、実行はしません(print only) +.It q +さらに置換が行われないように、置換結果をクォートします(quote) +.It x +q と同様ですが、空白、タブ、改行によって単語を分割します +.El +.Pp +`g' が指定されなかった場合、適用可能な最初の単語のみが修飾子の影響を受けます。 +置換については、適用可能な単語がなかった場合にはエラーとなります。 +.Pp +置換(s/l/r/) における左辺 ( +.Ar l +) は、エディタなどで使うような正規表現ではなく単なる文字列です。`/' +のかわりに自由な文字を区切りに指定することができます。`\e' によって、 +.Ar l +または +.Ar r +中の区切り文字をクォートすることができます。右辺 ( +.Ar r +) 中の文字 `&' は +左辺の文字列に置換されます。`&' もまた `\e' によって +クォートすることができます。 +空の左辺値 +.Ar l +(`//') の場合、直前の左辺値 +.Ar l +または、 +.No \&`!? Ns Ar s Ns ?' +中のコンテキストスキャン文字列 +.Ar s +から左辺値が取られます。置換指定の直後に改行がくる場合には、 +最後の区切り文字を省略することができます。 +コンテキストスキャンの後ろ側の文字 `?' も、直後に改行がくる場合、 +同様に省略できます。 +.Pp +ヒストリは、 `!$' のようにイベント指定なしで参照することができます。 +同じ行においてそれ以前にヒストリ参照が行われた場合はそのイベントを、 +さもなければ直前のコマンドが参照されます。`!?foo?\*(ua !$' は `?foo?' に +マッチするイベントの最初と最後の単語に置換されます。 +.Pp +入力行の最初の非空白文字が `\*(ua' の場合、特殊なヒストリ参照の省略形であると +みなします。これは `!:s\*(ua' と等価で、直前に入力したコマンド行の +文字列置換を行うことができます。たとえば、`\*(ualb\*(ualib' は +直前のコマンドの `lib' の綴り間違いを修正します。 +最後に、後ろに続く文字とヒストリ置換とを隔離するために、 +ヒストリ置換を `{' と `}' によって囲むことができます。`ls -ld ~paul' なる +コマンドを実行した直後に`!{l}a' と +入力することで、`ls -ld ~paula' に展開されます。一方、`{}' を +使わずに `!la' とした場合は `la' で始まるイベントを検索します。 +.Pp +.Ss \' と \&" によるクォート +文字列を `\'' または `"' によって +クォートすることにより、残りの置換のすべてあるいは一部を +抑制することができます。`'' によってクォートされた文字列には +本マニュアルのこれ以降に説明する置換が適用されません。`"' によって +クォートされた文字列は、後述するように一部の置換が適用されます。 +.Pp +どちらのクォートの結果も単一の単語 (の全体または一部) となります。 +ただし、`"' クォートされたコマンド置換は複数の単語になる特殊な場合が +一つだけあります(後述の +.Em コマンド置換 +の項を参照)。 +`\'' クォートの場合は、このようなことはありません。 +.Ss エイリアス置換 +シェルはエイリアス(別名定義)を管理しており、 +.Ar alias +コマンドと +.Ar unalias +コマンドに +より設定、表示、修正等を行うことができます。コマンド行がスキャンされたあと、 +個々のコマンドに解析され、各コマンドの最初の単語に対応するエイリアスが +あるかどうかチェックします。もし存在すれば、入力されたコマンド行の内容を +直前のコマンドとみなして、エイリアスの内容をヒストリ展開します。 +コマンド行全体は展開結果と置き換えられます。エイリアスの内容が +ヒストリ参照を含まなかった場合、入力したコマンド行の引数は変更せずに +残されます。 +.Pp +`ls' に対するエイリアスが `ls -l' だった場合、`ls /usr' は `ls -l +/usr' に展開されます。この場合、エイリアスにはヒストリ参照がなかったため、 +引数の `/usr' は変更せずに残されました。`lookup' に対するエイリアスが +`grep !\*(ua /etc/passwd' だった場合、`lookup bill' は +`grep bill /etc/passwd' に展開されます。 +.Pp +エイリアスが展開された場合、展開結果に対して単語分割とエイリアス検索が +再度行われます。展開結果の最初の単語が展開前の最初の単語と同一になった場合、 +再度エイリアス検索が行われることはありません。それ以外の、エイリアスによる +ループは検出され、エラー扱いとなります。 +.Pp +このメカニズムによってエイリアスでパーサのメタ記法を利用できます。 +よって `alias print \'pr \e!* \&| lpr\'' とエイリアスすることで +.Ar pr +の +引数をプリンタに出力させるというようなことができます。 +.Ss 変数置換 +シェルは変数を管理しており、それらは 0 個またはそれ以上の単語のリストを +値として持ちます。変数のうちいくつかはシェルがセットしたり参照したりします。 +たとえば、変数 +.Ar argv +はシェルへの引数を保持しており、この変数の値である単語は、特殊な方法で +参照されます。 +.\" #### jpman kuma 96.12.05 here checked ... TO BE CONTINUED +.Pp +変数の値は +.Ar set +および +.Ar unset +コマンドにより参照、変更することができます。シェルが +参照する変数のうちいくつかは、それがセットされているかどうかだけが重要 +であり、値が何であっても意味を持たないものがあります。たとえば、変数 +.Ar verbose +は入力行がエコーされるかどうかを制御する変数であり、この変数を +セットすることは、 +.Nm csh +に +.Fl v +オプションを指定したのと同じ意味になります。 +.Pp +変数を数値として扱う操作もあります。`@' コマンドによって変数に対して数値演算 +を適用し、演算結果を変数に代入することができます。しかしながら、変数の +値はつねに文字列として表現されます。数値演算の場合、空文字列は 0 と +みなし、変数の値が複数の単語からなる場合 2 番目以降の単語は無視されます。 +.Pp +入力行にエイリアス置換を行い、構文解析を行ったあと、コマンドが実行される +前に文字 `$' をキーとして変数置換を行います。`$' の直前に `\e' +を置くことにより、変数置換を抑制することができます。 +ただし、`"' クォート中では変数置換は +.Em 必ず +行われますが、`\'' クォート中では +.Em 決して行われません。 +`\*(ga' クォートのなかはさらにあとで解釈されるため(後述の +.Nm コマンド置換 +の項を参照)、ここでは変数置換は行いません。`$' の直後に空白、タブ、 +改行がくる場合、`$' はそのまま残されます。 +.Pp +入出力リダイレクトは変数置換より前に解釈され、別々に変数置換が行われます。 +それ以外のコマンド名と引数は同時に展開されます。このため、最初の +単語(コマンド)が展開の結果、複数の単語となったり、展開された結果の +最初の単語がコマンド名、それ以外が引数の一部になることもあります。 +.Pp +`"' でクォートされておらず、変数置換に `:q' 修飾子も指定されなかった +場合には、変数置換の結果にコマンドとファイル名置換が +行われます。`"' クォート内では複数の単語からなる値を持つ変数は、各単語を +1つの空白で区切った単一の単語 (の一部) に展開されます。`:q' 修飾子が +指定された場合は、各単語は 1 つの空白で区切られ、 +この後のコマンドとファイル名置換を抑止するために、個々にクォートされた +単語の列に展開されます。 +.Pp +変数置換には以下の形式があります。特に記述していない場合、 +セットされていない変数の参照はエラーになります。 +.Pp +.Bl -tag -width Ds -compact -offset indent +.It $name +.It ${name} +.\" #### modified by kuma 96.12.21 #### +変数 +.Ar name +の値の各単語を一つの空白文字で区切ったものに展開されます。中括弧は +.Ar 変数名 +と後続する文字を分離し、後続する文字が変数名の一部と解釈されないように +するために用いられます。シェル変数は 20 文字までの名前を持ちます。 +変数名の先頭はアルファベットで、それ以降はアルファベット、数字、 +アンダースコアを使用することができます。 +.Ar name +という名前のシェル変数は存在しないが、同名のセットされた環境変数が +存在する場合には、その値に置換されます(ただし、環境変数に対しては +.Nm : +修飾子と以降に説明する書式を +用いることはできません)。 +.It $name Ns Op selector +.It ${name Ns [ selector ] } +変数 +.Ar name +の値のうちいくつかの単語を選択して展開します。 +.Ar selector +は 1 +つの数字、範囲を示す2つの数字を `\-' でつないだもの、あるいはそのような +結果になる変数置換のいずれかです。単語は 1 から順序づけられています。 +範囲の最初の数字が省略された場合は 1 が用いられます。範囲の第2の数字が +省略された場合は `$#name' が用いられます。selector として `*' が用いられた +場合には、すべての単語に展開されます。範囲の第2の数字が省略されるか、 +単語数より小さい場合には、範囲が空になってもエラーとはなりません。 +.It $#name +.It ${#name} +変数の値の単語数に展開されます。 +この機能は後述する +`$argv[selector]' +で有用です。 +.It $0 +コマンドを読み込んでいるファイル名に展開されます。ファイル名が不明の場合は +エラーとなります。 +.It $number +.It ${number} +`$argv[number]' と等価です。 +.It $* +`$argv[*]' と等価です。 +修飾子 `:e'、`:h'、`:t'、`:r'、`:q'、`:x' や +`:gh'、`:gt'、`:gr' を適用することができます。中括弧`{' `}' で +囲まれている場合は、中括弧内に修飾子が存在しなければなりません。 +現在の csh の実装では、各 `$' 展開につき1つの修飾子のみ指定することができます。 +.El +.Pp +以下の置換を行なう場合は `:' 修飾子を指定することはできません。 +.Bl -tag -width Ds -compact -offset indent +.It $?name +.It ${?name} +変数 name がセットされていれば `1' に、さもなければ `0' に展開されます。 +.It $?0 +現在の入力ファイル名がわかっていれば `1' に、不明ならば `0' に展開されます。 +.It \&$\&$\& +親のシェルの (10進の) プロセス番号に展開されます。 +.It $! +そのシェルから起動された最後のバックグラウンド・プロセスの +(10進の) プロセス番号に展開されます。 +.It $< +標準入力から1行を読み込み、その内容に展開されます。読み込んだ内容の解釈は +行いません。スクリプト中でキーボードからの入力を受けるのに用いられます。 +.El +.Ss コマンドとファイル名置換 +残りの置換であるコマンド置換とファイル名置換は、 +組み込みコマンドの引数に対しては +適用されたり、されなかったりします。 +.\" #### changed by kuma 96.12.21 #### +すなわち、式の中で評価が行われない部分に関しては +以下の置換が行なわれません。組み込みコマンドではないコマンドにおいては、 +コマンド名は引数とは別に置換が行なわれます。 +.\" #### changed by kuma 96.12.21 #### +コマンド名に対する置換が生じるのは一連の置換処理の最後の方で、 +入出力リダイレクトの設定後、メインシェルの子供の中で行われます。 +.Ss コマンド置換 +コマンド置換は、コマンドを `\*(ga' で囲むことによって指示します。 +コマンドからの +出力は空白、タブ、改行によって単語に分割され、空の単語を削除したあとに +元の文字列と置換されます。 +`"' の内部では、改行のみが単語分割の区切りとして扱われ、空白とタブは +そのまま残されます。 +.Pp +どちらの場合も、コマンドの出力の最後の改行は単語の区切りとはならず、単に +削除されます。 +よってコマンド置換によって、コマンドの出力が完全な一行であっても、 +単語の一部分のみを生成することが可能です。 +.Ss ファイル名置換 +単語が文字 `*'、 `?'、 `['、 `{' を含んでいるか、単語の先頭文字が `~' の +.\" #### modified by kuma 96.12.21 #### +場合、その単語はファイル名展開(あるいはグロブ(glob)と呼ばれます)の +候補となります。 +.\" #### modified by kuma 96.12.21 #### +候補となった単語はパターンとみなされ、パターンにマッチするファイル名が +アルファベット順にソートされた列に置換されます。 +ファイル名置換を含む単語の列がどれもファイル名にマッチしなかった場合には +エラーとなりますが、 +すべての単語パターンがマッチする必要はありません。 +メタキャラクタ`*'、 `?'、`[' +のみがパターンマッチ文字であり、`~' と `{' は省略形といったほうが近いで +しょう。 +.Pp +ファイル名マッチにおいて、ファイル名先頭、または `/' の直後の `.' は、 +`/' と同様に明示的にマッチさせなければなりません(`*' や `?' は +これらにマッチしません)。 +`*' は、空文字列を含むどのような文字列にもマッチします。`?' は、 +どのような1文字にもマッチします。 +.Sq Op ... +は、括弧のなかで指定した文字のいずれかにマッチします。 +.Sq Op ... +内では、文字の対を `\-' でつなぐことで、 +文字の範囲を指定することができます(両側の文字も含まれます)。 +.Pp +ファイル名の先頭の `~' はホーム・ディレクトリを示すのに用いられます。 +単独で用いられた場合には、シェルを起動したユーザのホーム・ディレクトリ +.\" #### modified by kuma 96.12.21 #### +(変数 +.Ar home +の値に反映されているとおり)に展開されます。`~' に続けてアルファベット、 +数字、`-' からなる単語が続いた場合は、その単語をユーザ名とみなして、 +そのユーザのホーム・ディレクトリに展開されます。たとえば、ユーザ ken の +ホーム・ディレクトリが `/usr/ken' ならば、`~ken' は +`/usr/ken' に、 `~ken/chmach' は `/usr/ken/chmach' に展開されます。 +直後にアルファベットと `/' 以外が続く`~'と、ファイル名の先頭にない `~' は +変更されずにそのまま残されます。 +.Pp +メタ記法 `a{b,c,d}e' は `abe ace ade' の短縮形です。 +.\" #### modified by kuma 96.12.21 #### +この記法の左から右への出現順序は保存されます。 +展開結果は下位のレベルで個別にソートされ、出現順序は保存されます。 +この記法は入れ子にすることができます。 +source のホーム・ディレクトリが `/usr/source' ならば、 +`~source/s1/{oldls,ls}.c' は `/usr/source/s1/oldls.c +/usr/source/s1/ls.c' に展開されます。このとき oldls.c や ls.c が +存在しなくともエラーにはなりません。同様に、`../{memo,*box}' は +`../memo ../box ../mbox' 等に展開されます(`memo' と `*box' の +展開結果がいっしょに +ソートされたりしていないことに注意してください)。特殊な場合として、 +単独の`{' と `}'、`{}' は変更されずにそのまま残されます。 +.Ss 入出力 +コマンドの標準入出力は、以下の方法によりリダイレクトすることができます: +.Pp +.Bl -tag -width Ds -compact -offset indent +.It < name +ファイル +.Ar name +(変数、コマンド、ファイル名展開を受けます)をオープンし、 +コマンドの標準入力とします。 +.It << word +.Ar word +と同一の行が出現するまで、シェルの入力を読み込みます。 +.Ar word +は変数、ファイル名、コマンド置換を受けません。シェル入力の行は +読み込まれるとすぐに +.Ar word +と比較されます(置換を行う前に)。その後、 +.Ar word +に +`\e'、`"'、`\''、`\*(ga' クォートが出現しないなら、読み込まれた行には +変数置換と +.\" #### ^^^^^^^ `\'' だと思う(1次チェック者のコメント?jpman kuma 961205) +.\" #### kuma agree with you, changed as specified 96.12.22 +コマンド置換が適用されます。この置換を抑制するために、`\e' によって +`$'、`\e'、`\*(ga' をクォートすることができます。コマンド置換において、 +すべての空白、タブ、改行は保存されますが、最後の改行は削除されます。 +読み込んだ行はすべて中間的なファイルに保存され、コマンドの標準入力として +用いられます。 +.It > name +.It >! name +.It >& name +.It >&! name +ファイル +.Ar name +を標準出力として用います。ファイルが存在しなければ作成され、 +すでにファイルが存在すればその内容は切り捨てられ、以前の内容は失われます。 +.Pp +変数 +.Ar noclobber +がセットされている場合、ファイルが存在しないか文字型特殊ファイル (端末や +`/dev/null' のような) でなければエラーになります。これは、 +すでに存在するファイルを思いがけず削除してしまうことを防止します。`!' を +用いた形式を使うと、この検査を抑制することができます。 +.Pp +`&' を用いた形式では、標準出力とともに標準エラー出力もファイルへ +リダイレクトされます。 +.Ar name +.\" #### modified by kuma 96.12.21 #### +は、 `<' の入力ファイル名の場合と同様の展開を受けます。 +.It >> name +.It >>& name +.It >>! name +.It >>&! name +`>' と同様に、ファイル +.Ar name +を標準出力として用います。ただし、コマンドの出力はファイルへ追加されます。 +変数 +.Ar noclobber +がセットされている場合、 +ファイルが存在しなければエラーとなります(`!' を用いることで、 +この検査を抑制することができます)。 +他は `>' と同様です。 +.El +.Pp +コマンドは、シェルが起動されたときの環境を、入出力リダイレクトと +パイプラインによって変更したもののなかで実行されます。以前のいくつかの +シェルとは異なり、 +シェルコマンドファイルから起動されたコマンドは、デフォルトでは標準入力に +よってシェルコマンドファイル自体にアクセスすることはできません。 +かわりに、シェルが起動した環境の標準入力をそのまま受け継いでいます。 +`<<' 機構はインラインデータのために用いるべきです。 +このように制限することにより、 +シェルコマンドスクリプトをパイプラインの一部として用いることができます。 +バックグラウンドで実行されているコマンドの標準入力も +.Pa /dev/null +等にリダイレクトされることは +.Ar なく +、シェルの標準入力をそのまま受け継いでいます。もし標準入力が端末で、 +コマンドが端末から読み込もうとした場合、そのプロセスはブロックされ、 +シェルはユーザにそのことを通知します(参照: +.Sx ジョブ +の項)。 +.Pp +標準エラー出力もパイプにリダイレクトすることができます。単純に `\&|' の +かわりに `\&|&' を使います。 +.Ss 式 +.\" #### modified by kuma 96.12.21 #### +いくつかの組み込みコマンド(後述します)は、引数として式を取ります。式は C +言語のものと類似しており、同じ優先順位を持ちます。式は +.Nm @、 +.Ar exit、 +.Ar if、 +.Ar while +コマンド中で用います。以下の演算子が使用可能です: +.Bd -ragged -offset indent +\&|\&| && \&| \*(ua & == != =~ !~ <= >= +< > << >> + \- * / % ! ~ ( ) +.Ed +.Pp +上記の演算子は右にいくほど優先順位が高くなっています。 +`==' `!=' `=~' `!~'、`<=' `>=' `<' `>'、`<<' `>>'、`+' `\-'、 +`*' `/' `%' の 5グループは各グループ内では同じ優先度です。 +`=='、`!='、`=~'、`!~' は文字列の比較を行い、他の演算子は数値演算を +行います。`=~'、`!~' は `!='、`==' と同様ですが、右辺を +.Ar パターン +(`*'、`?'、`[...]' を含んだ) とみなして、左辺とのパターンマッチが行われます。 +これにより、シェル +スクリプトにおいてパターンマッチのみが必要な局面では +.Ar switch +ステートメントを使わずに済ませることができます。 +.Pp +先頭が `0' の文字列は 8 進数の数値とみなされます。空または省略された引数 +は `0' とみなされます。すべての演算結果は 10 進数数値の文字列となります。 +式の 2 つの要素が同一の単語中に出現してはいけません。つまり、 +.\" #### modified by kuma 96.12.21 #### +要素の前後が、構文解析において特殊な意味を持つ +`&'、`\&|'、`<'、`>'、`('、`)' でない場合は、 +その要素は空白で囲まれていることが必要です。 +.Pp +数式中では、`{' と `}' で囲んだコマンドと、 +以下のファイル検査演算子を用いることができます。 +ファイル検査演算子は +.Fl l +.Ar name +の形式で、 +.Ic l +は以下のうちのいずれかです: +.Bd -literal -offset indent +r 読み込みアクセス +w 書き込みアクセス +x 実行アクセス +e 存在 +o 所有 +z サイズがゼロ +f 通常ファイル +d ディレクトリ +.Ed +.Pp +指定された name は、コマンド、ファイル名置換を適用したのちに +実ユーザの権限において検査されます。ファイルが存在しないか、 +アクセス不可なら演算結果は false すなわち `0' になります。 +コマンド実行においては、コマンドが成功したなら演算結果は true `1' に、 +コマンドが 0 以外の終了ステータスを返してきたら、すなわち、 +失敗なら演算結果は false `0' になります。 +終了ステータスの値自体を知りたい場合は、コマンドを式以外の文脈で実行し、変数 +.Ar status +の値を調べます。 +.Ss 制御構造 +シェルにはコマンドファイル(シェル・スクリプト)中で、 +あるいは(制限されてはいるが、便利な方法で)端末から、 +制御の流れを変更するためのいくつかのコマンドがあります。 +これらのコマンドはシェルに入力を読み直させたり、 +スキップさせたりすることができます。実装の制限上、 +これらのコマンドを書くことのできる位置に制限があります。 +.Pp +.Ic foreach、 +.Ic switch、 +.Ic while、 +文、および、 +.Ic if\-then\-else +の +.Ic if +ステートメントは、 +後述するように入力行の単一の単純コマンドとして現れる必要があります。 +.Pp +シェルの入力がシーク不可能な場合、 +シェルは繰り返しが必要なときには入力をバッファに保存し、 +.\" #### modified by kuma 96.12.23 #### +この内部バッファに対してシークを行います(このため、シーク不可能な入力の場合も、 +後方への goto が可能です)。 +.Ss 組み込みコマンド +組み込みコマンドは通常シェルのプロセス内部で実行されます。 +ただし、組み込みコマンドがパイプラインの最後以外に用いられた場合は、 +サブシェル上で実行されます。 +.Pp +.Bl -tag -width Ds -compact -offset indent +.It Ic alias +.It Ic alias Ar name +.It Ic alias Ar name wordlist +1行目の形式はすべてのエイリアスを出力します。2 行目の形式は +.Ar name +に対応したエイリアスの値を出力します。最後の形式は +.Ar wordlist +を +.Ar name +のエイリアスとして登録します。 +.Ar wordlist +にはコマンド置換、ファイル名置換が適用されます。 +.Ar name +として +.Ar alias +または +.Ar unalias +を指定することはできません。 +.Pp +.It Ic alloc +.Nm csh +が獲得したメモリのうちの使用量と空き容量を表示します。 +なんらかの引数をつけると、ブロックサイズごとの使用中/空ブロック数を表示します。 +ブロックサイズは 8、16、32、.. となります。 +本コマンドの出力はシステムによって異なります。 +VAX 以外のシステムは、異なるメモリ管理を行っているかもしれないからです。 +.Pp +.It Ic bg +.It Ic bg \&% Ns Ar job ... +現在のジョブあるいは指定されたジョブをバックグラウンドに移動します。 +もしそれらのジョブが停止されていたなら、実行が再開されます。 +.Pp +.It Ic break +最も内側の +.Ic foreach +または +.Ic while +ループに対応する +.Ic end +の後へ脱出します。同じ行にある残りのコマンドは実行されます。複数の +.Ic break +を同一行に記述することで複数レベルの脱出が行えます。 +.Pp +.It Ic breaksw +.Ic switch +から脱出し、 +.Ic endsw +のあとで実行を再開します。 +.Pp +.It Ic case Ar label : +.Ic switch +ステートメントのラベルを指定します。 +.Pp +.It Ic cd +.It Ic cd Ar name +.It Ic chdir +.It Ic chdir Ar name +.\" #### modified by kuma 96.12.23 #### +シェルの作業ディレクトリをディレクトリ +.Ar name +に変更します。引数が指定されなかった場合には、 +ユーザのホーム・ディレクトリに変更します。 +カレント・ディレクトリにディレクトリ +.Ar name +がない場合(かつ +.Ar name +が `/'、`./'、`../' +で始まっていない場合)、変数 +.Ic cdpath +の各要素のサブディレクトリとして +.Ar name +がないかどうかを調べます。最後に、シェル変数 +.Ar name +に `/' で始まる値が設定されているなら、 +その値のディレクトリが存在しないかを調べます。 +.Pp +.It Ic continue +最も内側の +.Ic while +または +.Ic foreach +ループの先頭に戻ります。戻る前に、同じ行に記述されたコマンドが実行されます。 +.Pp +.It Ic default : +.Ic switch +ステートメントのデフォルトを指定します。 +.Ic default +は、すべての +.Ic case +ラベルのあとに出現しなければなりません。 +.Pp +.It Ic dirs +ディレクトリ・スタックを表示します。 +スタックの先頭(カレント・ディレクトリ)を左端にして表示します。 +.Pp +.It Ic echo Ar wordlist +.It Ic echo Fl n Ar wordlist +指定された単語を空白で区切った文字列をシェルの標準出力に書き出します。 +.Fl n +オプションが指定されなければ、最後に改行が出力されます。 +.Pp +.It Ic else +.It Ic end +.It Ic endif +.It Ic endsw +.Ic foreach、 +.Ic if、 +.Ic switch、 +.Ic while +ステートメントの項を参照してください。 +.Pp +.It Ic eval Ar arg ... +( +.Xr sh 1 +と同様)引数をシェルへの入力であるとみなして読み込み、 +現在のシェルのコンテキストで実行します。 +コマンド置換や変数置換の結果として生成されたコマンド列を実行する場合に用いられます。 +通常は、それらの置換に先立って文法解析が行われてしまうからです。 +.Ic eval +の使い方の例が +.Xr tset 1 +にあります。 +.Pp +.It Ic exec Ar command +指定された command を現在のシェルと置き換えて実行します。 +.Pp +.It Ic exit +.It Ic exit Ar (expr ) +1行目の形式では変数 +.Ic status +の値、2 行目の形式では式 +.Ic expr +の値を返り値としてシェルを終了します。 +.Pp +.It Ic fg +.It Ic fg % Ns Ar job ... +現在のジョブあるいは指定されたジョブをフォアグラウンドに移動します。 +停止していたジョブは実行を再開します。 +.Pp +.It Ic foreach Ar name (wordlist) +.It ... +.It Ic end +変数 +.Ic name +に +.Ic wordlist +の各値を順次セットしながら対応する +.Ic end +までのコマンドを繰り返し実行します( +.Ic foreach +と +.Ic end +.\" #### modified by kuma 96.12.23 #### +は単独で行に置かなければなりません)。組み込みコマンド +.Ic continue +を使って中途でループの次の繰り返しを実行させたり、 +.Ic break +コマンドによって中途でループを脱出させたりすることができます。 +このコマンドが端末から読み込まれる場合、ループすべての内容が(プロンプト +? を表示しながら)読み込まれてから実行が開始されます。 +端末からループ中でタイプ・ミスした場合は修正できます。 +.Pp +.It Ic glob Ar wordlist +.Ic echo +コマンドと似ていますが、`\e' によるエスケープは解釈されず、 +.\" #### modified by kuma 96.12.23 #### +単語はヌル文字によって区切られます。プログラムから、 +シェルをファイル名置換のために利用する場合に便利です。 +.Pp +.It Ic goto Ar word +.Ic word +にファイル名置換、およびコマンド置換が適用されたのち、それを `label' +とみなします。シェルは可能なかぎり入力を遡って読み直し、`label:' +のある行を検索し、そこから実行を開始します。 +ラベルの前には空白またはタブを置くことが可能です。 +.Pp +.It Ic hashstat +コマンドを検索するのに、 +内部キャッシュがどの程度効率的に働いているか +(そして +.Ic exec +をどの程度回避できているかを)を表示します。 +.\" #### modified by kuma 96.12.23 #### +.Em path +の要素のうち、ハッシュ関数がヒットの可能性を示すものと、 +`/' で始まらないものについて +.Ic exec +が試みられます。 +.Pp +.It Ic history +.It Ic history Ar n +.It Ic history Fl r Ar n +.It Ic history Fl h Ar n +ヒストリのリストを表示します。数字 +.Ar n +が指定された場合には、最近の +.Ar n +個のイベントが表示されます。 +.Fl r +オプションは表示順序を逆にします。 +.\" #### modified by kuma 96.12.23 #### +すなわち、最も古いものを先に表示するのではなく、 +最も新しいものを先に表示します。 +.Fl h +オプションを指定すればイベント番号が省略されます。これは +.Ic source +コマンドで \-h を使って読み込むためのファイルを生成する場合に用いることができます。 +.Pp +.It Ic if ( Ar expr ) No command +.\" #### modified by kuma 96.12.23 #### +指定された式が true と評価されたなら、単一のコマンド +.Ar command +が実行されます。 +.Ar command +.\" #### modified by kuma 96.12.23 #### +に対する変数置換は、実行に先だって +.Ic if +コマンドの残りの部分と同時に行なわれます。 +.Ar command +は単純コマンドのみが許され、パイプライン、コマンドリスト、括弧でくく +られたコマンドであってはいけません。入出力リダイレクションは式 +.Ar expr +が false +と評価され、それゆえ +.Ar command +が実行 +.Sy されなかった +場合にも処理されます(これはバグです)。 +.Pp +.It Ic if ( Ar expr ) Ic then +.It ... +.It Ic else if ( Ar expr2 ) Ic then +.It ... +.It Ic else +.It ... +.It Ic endif +式 +.Ar expr +が true なら最初の +.Ic else +までのコマンドが実行されます。さもなければ、式 +.Ar expr2 +が true なら次の +.Ic else +までのコマンドが実行されます。 +いくつでも +.Ic else-if +の対を繰り返すことができます。最後に 1 つの +.Ic endif +が必要です。 +最後の +.Ic else +部分はあってもなくてもかまいません。 +(単語 +.Ic else +と +.Ic endif +は入力行の最初に置く必要があります。また、 +.Ic if +は行内に単独で、または +.Ic else +のあとに置く必要があります)。 +.Pp +.It Ic jobs +.It Ic jobs Fl l +アクティブなジョブの一覧を出力します。 +.Fl l +.\" #### modified by kuma 96.12.23 #### +オプションを指定すると、通常の情報に加えてプロセス ID も出力します。 +.Pp +.It Ic kill % Ns Ar job +.It Ic kill Ar pid +.It Ic kill Fl sig Ar pid ... +.It Ic kill Fl l +TERM(terminate) シグナルあるいは指定したシグナルを、 +指定されたジョブまたはプロセスに送ります。 +シグナルは番号または名前で指定できます(名前は +.Pa /usr/include/signal.h +にある名前から `SIG' を取り除いたものです)。 +シグナル名の一覧を ``kill \-l'' により表示できます。 +kill にはデフォルト動作はなく、 +単に `kill' を実行しても現在のジョブにシグナルが送られるようなことはありません。 +送るシグナルが TERM(terminate) または HUP(hangup) の場合、 +CONT(continue) シグナルも同時に送られます。 +.Pp +.It Ic limit +.It Ic limit Ar resource +.It Ic limit Ar resource maximum-use +.It Ic limit Fl h +.It Ic limit Fl h Ar resource +.It Ic limit Fl h Ar resource maximum-use +現在のプロセスと、それが生成するプロセスのそれぞれについて、 +.\" #### modified by kuma 96.12.23 #### +指定されたリソース +.Ar resource +を、指定された +.Ar maximum-use +を超えて使用しないように設定します。 +.Ar maximum-use +が指定されなかった場合、現在の制限値が表示されます。 +.Ar resource +が指定されなかった場合、すべての制限値が表示されます。 +.Fl h +オプションが指定された場合、 +現在の制限値のかわりにハードリミットの表示/設定を行います。 +.\" #### modified by kuma 96.12.23 #### +ハードリミットは現在の制限値の上限の値です。 +スーパーユーザのみがハードリミットを増加させることができます。 +一般ユーザは現在の制限値を可能な範囲で増減することができます。 +.Pp +.\" #### modified by kuma 96.12.23 #### +現在のところ、制御可能なリソースは、 +.Ar cputime +(各プロセスが使うことのできる最大の CPU 秒数)、 +.Ar filesize +(1つのファイルの最大サイズ)、 +.Ar datasize +( +.Xr sbrk 2 +.\" #### modified by kuma 96.12.23 #### +を用いてプログラムのテキスト領域の末尾を超えて増加させることのできる +data+stack 領域の最大サイズ)、 +.Ar stacksize +.\" #### modified by kuma 96.12.23 #### +(自動的に拡張されるスタックの最大サイズ)、 +.Ar coredumpsize +(最大のコアファイルのサイズ)です。 +.Pp +最大値 +.Ar maximum-use +は、(整数あるいは浮動小数の) +数値とそれに続くスケールファクタによって指定します。 +.Ar cputime +以外の制限値のデフォルトのスケールファクタは +`k' あるいは `kilobytes'(1024 バイト)です。 +.\" #### modified by kuma 96.12.23 #### +スケールファクタとして `m' あるいは `megabytes' +を使用することもできます。 +.Ar cputime +のデフォルトのスケールファクタは `seconds'(秒)です。 +`m'(分)、`h'(時間) をスケールファクタとして指定したり、 +`mm:ss' 形式で分秒を指定したりすることができます。 +.Pp +.\" #### modified by kuma 96.12.23 #### +リソース名 +.Ar resource +とスケールファクタを指定する際には、 +.\" #### modified by kuma 96.12.23 #### +一意に決定できるなら、名前の先頭部分だけを指定することができます +.\" #### jpman kuma: not found in freebsd-2.1.5-RELEASE manpage (st を stacksize のかわりに用いる等)。 +.Pp +.It Ic login +ログイン・シェルを終了し、 +.Pa /usr/bin/login +と置き換えます。これは +.Xr sh 1 +との互換性のために用意されたログオフの手段です。 +.Pp +.It Ic logout +ログイン・シェルを終了します。 +.Ic ignoreeof +がセットされている場合に便利です。 +.Pp +.It Ic nice +.It Ic nice Ar +number +.It Ic nice Ar command +.It Ic nice Ar +number command +1 行目の形式は、シェルのスケジューリング・プライオリティを 4 に設定します。 +2 行目の形式は、プライオリティを指定された値 +.Ar number +に設定します。残りの 2 つの形式は、コマンド +command をプライオリティ 4 または指定した +.Ar number +で実行します。 +.\" #### modified by kuma 96.12.23 #### +大きい数値を指定するとプロセスが利用できる CPU がその分少なくなります。 +スーパーユーザのみがプライオリティとして負の値を `nice \-number ...' +のように指定することができます。 +.Ar command +はつねにサブシェルで実行され、 +単純な +.Ic if +.\" #### modified by kuma 96.12.23 #### +文のコマンドと同様の制限を受けます。 +.Pp +.It Ic nohup +.It Ic nohup Ar command +1 行目の形式は、シェル・スクリプト内で使用し、 +スクリプトのそれ以降で hangup シグナルを無視するように設定します。 +2 行目の形式は、指定されたコマンドが、 +hangup シグナルを無視するように設定して実行します。 +`&' をつけて実行されたプログラムは、 +.Ic nohup +を指定して実行したのと同様に hangup シグナルを無視します。 +.Pp +.It Ic notify +.It Ic notify % Ns Ar job ... +現在のジョブまたは指定されたジョブの状態が変化したときに、 +.\" #### modified by kuma 96.12.23 #### +コマンド待ちかどうかに関わりなく即座に通知するように指定します。 +通常は、プロンプトが表示される直前に通知が行われます。 +シェル変数 +.Ic notify +が指定されている場合は、すべてのジョブに対して同様の設定が行われます。 +.Pp +.It Ic onintr +.It Ic onintr Fl +.It Ic onintr Ar label +割り込みに対するシェルの動作を制御します。1行目の形式は、 +シェルをデフォルトの動作、すなわち、スクリプトの実行が中断される、 +またはコマンド入力状態に戻るように設定します。 +2 行目の形式は、すべての割り込みを無視するように設定します。 +3行目の形式は、シェルが割り込みを受けるか、 +チャイルドプロセスが割り込みによって停止した場合に +goto label が実行されるように設定します。 +.Pp +シェルがバックグラウンドで、かつ、 +シグナルを無視するように設定して実行されている場合は、 +.Ic onintr +は効力を持たず、 +割り込みはシェルとそこから起動されるすべてのコマンドで +引続き無視されます。 +最後に +.Ic onintr +文はシステムのスタートアップ・ファイル +(/etc/csh.cshrc、/etc/csh.login) 中でも、 +割り込みが禁止されているので無視されます。 +.Pp +.It Ic popd +.It Ic popd Ar +n +ディレクトリ・スタックをポップし、 +新たにスタックの先頭になったディレクトリにカレント・ディレクトリを変更します。 +引数 +.Ns \`+ Ar n Ns \' +が指定された場合、スタックの +.Ar n +番目の要素が捨てられます。ディレクトリ・スタックの要素は、 +スタックの先頭から 0 から順に番号がつけられます。 +.Pp +.It Ic pushd +.It Ic pushd Ar name +.It Ic pushd Ar n +引数を指定しなかった場合、 +.Ic pushd +はスタックの先頭の 2 つの要素を入れ替えます。引数 +.Ar name +が指定された場合、 +.Ic cd +と同様にカレント・ディレクトリを変更したあと、 +古いカレント・ディレクトリ +.\" cwd の typo だと思うが わからない +.\" (as in +.\" .Ic csw ) +.\" #### kuma agree with you on 96.12.23 #### +をディレクトリ・スタックにプッシュします。 +数字引数が指定された場合、ディレクトリ・スタックの +.Ar n +番目の要素が +スタックの先頭にくるようにローテートし、 +カレント・ディレクトリをその要素が指すディレクトリに変更します。 +ディレクトリ・スタックの要素は、スタックの先頭から +0 から順に番号がつけられます。 +.Pp +.It Ic rehash +変数 +.Ic path +に指定されているディレクトリ内の、ファイルに関するハッシュ・テーブルを +再計算させます。ログイン中に、新しいコマンドが +.Ic path +に含まれるディレクトリに追加された場合、 +.\" #### modified by kuma 96.12.23 #### +rehash コマンドを実行する必要があります。 +これは、あなたが個人的なディレクトリの一つにコマンドを追加したか、 +システムの管理者がシステム・ディレクトリの内容を変更したような +場合にのみ必要です。 +.Pp +.It Ic repeat Ar count command +指定されたコマンド +.Ar command +を +.Ar count +回繰り返し実行します。 +.Ar command +.\" #### modified by kuma 96.12.23 #### +に指定するものは、先の一行 +.Ic if +文で指定する +.Ar command +と同様の制限を受けます。 +入出力リダイレクションは +.Ar count +が たとえ 0 であっても、必ず 1回だけ処理されます。 +.Pp +.It Ic set +.It Ic set Ar name +.It Ic set Ar name Ns =word +.It Ic set Ar name[index] Ns =word +.It Ic set Ar name Ns =(wordlist) +1 行目の形式はすべてのシェル変数の値を表示します。 +複数の単語からなる値を持つ変数は括弧で囲まれた値のリストで表示します。 +2 行目の形式は、 +.Ar name +に空文字列を設定します。3 行目の形式は +.Ar name +に単一の単語 +.\" #### modified by kuma 96.12.23 +.Ar word +を設定します。4 行目の形式は +.Ar name +の +.Ar index +番目の要素に +.Ar word +を設定します。 +.Ar index +番目の要素はすでに存在していなければなりません。5 行目の形式は +.Ar name +に +.Ar wordlist +で指定した単語列を設定します。すべての形式で、 +値にはコマンド置換とファイル名置換が適用されます。 +.Pp +複数の変数を設定するために、set コマンドへの引数を繰り返すことができます。 +ただし、引数に対する変数展開処理は、代入処理に先だって行われます。 +.Pp +.It Ic setenv +.It Ic setenv Ar name +.It Ic setenv Ar name value +1 行目の形式はすべての環境変数の一覧を出力します。 +これは +.Xr printenv 1 +と等価です。 +3 行目の形式は環境変数 +.Ar name +に値 +.Ar value +を設定します。2 行目の形式は環境変数 +.Ar name +.\" #### modified by kuma 96.12.23 #### +に空文字列を設定します。最も一般的に用いられる環境変数である +.Ev USER , +.Ev TERM , +.Ev PATH +は +.Nm csh +の起動時にシェル変数 +.Ar user , +.Ar term , +.Ar path +にそれぞれ設定され、 +.Nm csh +から実行するプログラムの環境変数には、シェル変数 +.Ic user , +.Ic term , +.Ic path +の値が反映されます。そのため、これらの変数を明示的に +.Ic setenv +する必要はありません。 +.Pp +.It Ic shift +.It Ic shift Ar variable +(リスト)変数 +.Ic argv +.\" #### modified by kuma 96.12.23 #### +の各要素を左にシフトし、 +.Ic argv Ns Bq 1 +の値を捨てます。 +.Ic argv +に値が設定されていないか、 +1 つ以上の要素を持たない場合にはエラーになります。 +2 行目の形式は、指定された変数 +.Ar variable +に対して同様の処理を行います。 +.Pp +.It Ic source Ar name +.It Ic source Fl h Ar name +シェルは、指定されたファイル +.Ar name +からコマンドを読み込みます。 +.Ic source +コマンドはネストすることができます。あまりに深くネストさせると、 +.\" #### modified by kuma 96.12.23 #### +ファイル識別子を使い切ってしまう場合があります。いずれかのレベルの +.Ic source +コマンド中でエラーが発生すると、ネストしているすべての +.Ic source +コマンドが中断されます。通常、 +.Ic source +の実行中に実行されたコマンドはヒストリに記録されませんが、 +\-h +オプションを指定することにより、 +ファイルに記述してあるコマンドを実行せずに、 +ヒストリにのみ記録することができます。 +.Pp +.It Ic stop +.It Ic stop % Ns Ar job ... +バックグラウンドで走行中の現在のジョブ、あるいは指定されたジョブを停止します。 +.Pp +.It Ic suspend +シェル自身を停止させます。 +.Ic ^Z +でストップ・シグナルを送られたかのように振舞います。 +.Xr su 1 +によって起動したシェルを停止する場合によく用いられます。 +.Pp +.It Ic switch Ar (string) +.It Ic case Ar str1 : +.It \ \ \ \ \&... +.It Ic \ \ \ \ breaksw +.It \ \ \ \ \&... +.It Ic default : +.It \ \ \ \ \&... +.It Ic \ \ \ \ breaksw +.It Ic endsw +.\" #### modified by kuma 96.12.23 #### +各 +.Ic case +ラベルを順に、指定された文字列 +.Ar string +でマッチングを行います。 +.Ar string +には、まず、コマンド置換とファイル名置換が行われます。 +.Ic case +ラベルには変数置換が行われ、ファイル名メタキャラクタの +`*'、`?'、`[...]' を用いることができます。 +.\" #### modified by kuma 96.12.23 #### +.Ic default +ラベルが出てくるまでにどの +.Ic case +ラベルともマッチしなかった場合は、 +.Ic default +ラベルの直後から実行が始まります。 +.Ic case +ラベルと +.Ic default +ラベルは行の最初に書かれなければなりません。 +.Ic breaksw +コマンドによって +.Ic endsw +以降のコマンドから実行が再開されます。 +.Ic breaksw +を用いない場合は、 C 言語の場合と同様に、 +.Ic case +ラベル、 +.Ic default +ラベルを通過して実行が続けられます。 +.Ic default +がなく、どのラベルもマッチしなかった場合には、 +.Ic endsw +以降から実行が再開されます。 +.Pp +.It Ic time +.It Ic time Ar command +1 行目の形式では、 +シェルとそのチャイルドプロセスが使用した時間が表示されます。 +.\" #### modified by kuma 96.12.23 #### +2 行目の形式では、指定された単純コマンドの実行時間が計測され、 +.\" #### modified by kuma 96.12.23 #### +変数 +.Ic time +の項で説明する形式で、使用時間情報の要約が表示されます。 +必要ならば、コマンド終了時に時間を表示するための追加のシェルが生成されます。 +.Pp +.It Ic umask +.It Ic umask Ar value +ファイル作成マスクを表示(第 1 の形式)または設定(第 2 の形式)します。 +マスクは 8 進数で与えます。一般的な値としては、 +グループにすべての権限を与え、 +そのほかには読み込みと実行のみを許可する 002 や、 +所有者以外には読み込みと実行しか許可しない 022 があります。 +.Pp +.It Ic unalias Ar pattern +.Ar pattern +にマッチするすべてのエイリアスを削除します。 +`unalias *' とすることですべてのエイリアスを削除することができます。 +削除するものがなかった場合にもエラーにはなりません。 +.Pp +.It Ic unhash +実行プログラムの位置検索を高速化する内部ハッシュ・テーブルの使用を禁止します。 +.Pp +.It Ic unlimit +.It Ic unlimit Ar resource +.It Ic unlimit Fl h +.It Ic unlimit Fl h Ar resource +リソースの制限を解除します。 +.Ar resource +が指定されない場合、すべてのリソースに対する制限が解除されます。 +.Fl h +が指定された場合、対応するハードリミットが解除されます。 +これはスーパーユーザのみが行うことができます。 +.Pp +.It Ic unset Ar pattern +指定された +.Ar pattern +にマッチするすべての変数を削除します。 +`unset *' と指定するとすべての変数が削除され、 +悲惨な結果を生じることがあります。 +.Ic unset +するものがない場合もエラーになりません。 +.Pp +.It Ic unsetenv Ar pattern +指定された +.Ar pattern +にマッチするすべての環境変数を削除します。前述の +.Ic setenv +の項と +.Xr printenv 1 +を参照してください。 +.Pp +.It Ic wait +すべてのバックグラウンドジョブの終了を待ちます。 +対話的にシェルが実行されている場合、 +インタラプトにより wait を停止することができます。 +このとき、シェルはいまだに終了していないジョブの名前とジョブ番号を表示します。 +.It Ic which Ar command +.\" #### modified by kuma 96.12.23 #### +.Ar command +を指定したとき、シェルが実行するコマンドの位置を表示します。 +.Pp +.It Ic while Ar (expr) +.It \&... +.It Ic end +指定された式の評価結果がゼロでないかぎり、 +.Ic while +と対応する +.Ic end +の間のコマンドを繰り返し実行します。 +.Ic break +や +.Ic continue +によりループを終了したり、途中から繰り返しを再開させたりすることができます。 +( +.Ic while +と +.Ic end +は、その行に単独で書かれなければなりません。)入力が端末の場合、 +.Ic foreach +ステートメントの場合と同様に、 +ループのすべてを入力するまでプロンプトが表示され、 +すべての入力を終えた時点でループが実行されます。 +.Pp +.It Ic % Ns Ar job +指定されたジョブをフォアグラウンドに移動します。 +.Pp +.It Ic % Ns Ar job Ic & +指定されたジョブをバックグラウンドで再開実行させます。 +.Pp +.It Ic @ +.It Ic @ Ar name Ns = Ns expr +.It Ic @ Ar name[index] Ns = Ns expr +1 行目の形式は、すべてのシェル変数の値を表示します。2 行目の形式は、 +指定された名前 +.Ar name +の変数に式 +.Ar expr +の値を代入します。式のなかに `<'、`>'、`&'、`|'を含んでいる場合、 +少なくともそのような部分は `(' と `)' で囲まれている必要があります。 +3 行目の形式は、変数の +.Ar index +番目の要素に式 +.Ar expr +の値を代入します。 +.Ar name +と、その +.Ar index +番目の要素はすでに存在していなければいけません。 +.El +.Pp +C 言語と同様に、演算子 `*='、`+=' 等が利用可能です。 +変数名と演算子の間の空白はあってもなくてもかまいません。 +しかしながら、式の各要素の間には空白が必須です。 +さもなければ、単一の単語とみなされてしまいます。 +.Pp +特別な後置演算子 `+\|+' と `\-\|\-' により変数の値を 1 だけ増加させたり、 +減少させたりすることができます。たとえば、`@ i++' のように使います。 +.Ss 定義済み変数と環境変数 +以下の変数は、シェルにとって特別な意味があります。これらのうち、 +.Ar argv、 +.Ar cwd、 +.Ar home、 +.Ar path、 +.Ar prompt、 +.Ar shell、 +.Ar status +はシェルが設定します。そのうち、 +.Ar cwd +と +.Ar status +以外の変数の設定はシェルの起動時にのみ行われます。 +そのような変数は、ユーザが明示的に変更しないかぎり、 +値が変化することはありません。 +.Pp +シェルは、環境変数 +.Ev USER +をシェル変数 +.Ar user +に、 +.Ev TERM +を +.Ar term +に、 +.Ev HOME +を +.Ar home +にそれぞれコピーします。また、 +これらのシェル変数が再度セットされた場合は環境変数にコピーしなおします。 +環境変数 +.Ev PATH +も同様に扱われます。サブシェルは環境変数によって +.Ar path +の値を得て、もしそれが変更されれば環境変数にコピーしなおすので +.Ar \&.cshrc +以外での +.Ar path +変数の設定について気をつける必要はありません。 +.Bl -tag -width histchars +.It Ic argv +シェルへの引数が設定されます。位置パラメータは argv の値に展開されます。 +すなわち、 `$1' は `$argv[1]' の値に置換されます。 +.It Ic cdpath +.Ar chdir +.\" #### modified by kuma 96.12.23 #### +コマンドにおいてサブディレクトリを検索するためのディレクトリのリストです。 +.It Ic cwd +.\" #### modified by kuma 96.12.23 #### +カレント・ディレクトリのフルパス名です。 +.It Ic echo +.Fl x +オプションが指定された場合にセットされます。セットすることにより、 +コマンドが実行される前にコマンド名とその引数が表示されるようになります。 +.\" #### modified by kuma 96.12.23 #### +組み込みコマンド以外では、表示の前にすべての展開が行われます。 +組み込みコマンドではコマンド置換とファイル名置換が行われる前に表示されます。 +なぜなら、これらの置換は選択的に行われるからです。 +.It Ic filec +ファイル名補完を有効にします。 +.It Ic histchars +ヒストリ置換に用いる文字を文字列で指定します。 +指定した文字列の最初の文字はヒストリ置換文字(デフォルトは `!')、 +2 文字目は簡易置換文字(デフォルトは `\*(ua') を指定します。 +.It Ic histfile +ヒストリをセーブ/リストアするパス名を指定できます。 +.It Ic history +ヒストリ・リストのサイズを指定します。 +このサイズを超えたコマンド履歴は削除されます。 +あまりに大きな値を設定すると、シェルがメモリを使いつくすかもしれません。 +最後に実行したコマンドは +.Ar history +の値にかかわらず、つねにヒストリ・リストに保存されます。 +.It Ic home +.\" #### modified by kuma 96.12.23 #### +シェルを起動したユーザのホーム・ディレクトリです。 +起動時に環境変数から設定されます。 +ファイル名置換において +.Sq Pa ~ +は本変数を参照して展開されます。 +.It Ic ignoreeof +セットされると、端末のファイル終端(EOF)を無視するようになります。 +間違って control-D を押してシェルを終了させてしまうのを防ぐことができます。 +.It Ic mail +シェルがメールの到着をチェックするためのメールファイルを指定します。 +コマンド実行が完了しプロンプトが表示されるときに、 +.\" #### modified by kuma 96.12.23 #### +指定された時間が経過していればメイル到着のチェックが行われます。 +最終修正時刻が最終アクセス時刻以降の場合、 +シェルは `You have new mail' と出力します。 +.Pp +.Ar mail +の値の最初の単語が数値の場合には、 +その数値でメール検査の間隔を秒単位で指定します。 +指定がなかった場合のデフォルト値は 10分です。 +.Pp +複数のメールファイルが指定された場合、 +メールが到着していた場合のメッセージは `New mail in +.Ar name Ns ' +となります。ここで、 +.Ar name +は到着したメールが あるファイル名です。 +.It Ic noclobber +.Sx 入出力 +の項で説明したように、 +出力リダイレクトによって意図せずにファイルを削除しないように制限したり、 +`>>' リダイレクトがすでに存在するファイルにしか適用できないようにします。 +.It Ic noglob +セットされると、ファイル名展開が禁止されます。 +ファイル名を扱わないシェルスクリプト内や、すでにファイル名展開を行ったあとで、 +それ以上の展開を望まない場合に設定します。 +.It Ic nonomatch +.\" #### modified by kuma 96.12.23 #### +セットされると、ファイル名展開の結果が空になってもエラーとせず、 +展開前のパターンをそのまま残します。 +.\" #### modified by kuma 96.12.23 #### +ただし、`echo [' のような、 +展開前のパターンが文法的に正しくない場合はエラーになります。 +.It Ic notify +セットされると、シェルがジョブの終了を随時報告するようになります。 +通常はプロンプトの表示直前にのみ報告が行われます。 +.It Ic path +.\" #### modified by kuma 96.12.23 #### +path 変数の各単語は、コマンドファイルを検索すべきディレクトリ名を表します。 +空の単語はカレント・ディレクトリを示します。 +.Ar path +変数が設定されて +いない場合、フルパス指定によるコマンド実行のみが可能になります。 +通常の検索パスは + `.'、`/bin'、`/usr/bin' です。しかし、これらの値はシステムによって異なります。 +スーパーユーザのデフォルトの検索パスは `/etc'、`/bin'、`/usr/bin' です。 +.Fl c +オプションも +.Fl t +オプションも指定されなかった場合、 +シェルは +.Ar path +変数で指定されたディレクトリの内容をハッシュ・テーブルに保存します。 +ハッシュ・テーブルは、起動時に +.Ar \&.cshrc +を読み込んだ後と +.Ar path +変数を再設定した時に再構築されます。 +シェルの実行中に、 +新しいコマンドがハッシュされているディレクトリに追加された場合は、 +.Ic rehash +コマンドによりハッシュを再構築しなければなりません。 +.\" #### modified by kuma 96.12.23 #### +さもなければ、コマンドが見付からない可能性があります。 +.It Ic prompt +端末上で対話的に実行されているシェルにおいて、 +.\" #### modified by kuma 96.12.23 #### +コマンド読み込み時に表示される文字列を指定します。 +`!' が含まれる場合、現在のイベント番号に置換されます。 +`\e' を指定することにより、この解釈を抑制することができます。 +デフォルトの値は `% 'です。スーパーユーザの場合は `# ' となります。 +.It Ic savehist +ログアウト時にファイル ~/.history に保存されるコマンド履歴の数を指定 +します。 +.\" #### modified by kuma 96.12.23 #### +この値で指定される数のイベントが保存されます。 +起動時に、シェルは ~/.history の内容を読み込みます。あまりに +大きな値を指定すると、シェルの起動が遅くなる場合があります。 +.Ar savehist +がセットされているだけの場合は +.Ar history +に指定された値を使用します。 +.It Ic shell +シェルのフルパス名を示します。実行属性が立っているが、 +.\" #### modified by kuma 96.12.23 #### +システムが起動できないファイルを +実行する際に起動するシェルとして用いられます(後述の +.Sx 非組み込みコマンドの実行 +の項を参照)。システム依存の値で初期化されます。 +.It Ic status +最後に実行したコマンドの終了ステータス値を保持します。 +異常終了した場合は、値に 0200 が加算されます。 +組み込みコマンドが失敗した場合は `1' に、成功した場合は `0' になります。 +.It Ic time +.\" #### modified by kuma 96.12.23 #### +コマンドの自動計時を制御します。値が設定されている場合、 +コマンドがその値よりも長く CPU 秒数を消費した場合には、 +コマンド終了時にユーザ時間、システム時間、実時間と、 +利用率すなわちユーザ+システム時間と実時間のパーセンテージが出力されます。 +.It Ic verbose +.Fl v +コマンドラインオプションが指定されていた場合にセットされます。 +ヒストリ置換が行われたあと、コマンドの内容が出力されます。 +.El +.Ss 非組み込みコマンドの実行 +実行すべきコマンドが組み込みコマンドでなかった場合、シェルはコマンドを +.Xr execve 2 +システムコールによって起動しようとします。シェル変数 +.Ar path +.\" #### modified by kuma 96.12.23 #### +の各単語は、シェルがコマンドを実行しようとするディレクトリ名を表します。 +.Fl c +オプションも +.Fl t +オプションも指定されなかった場合、 +.\" #### modified by kuma 96.12.23 #### +シェルはそれらのディレクトリ内にあるファイル名のハッシュ値を計算し、 +シェル内部のテーブルに格納します。これは、 +コマンドが存在する可能性のあるディレクトリだけで +.Ic exec +を試みるようにするためです。 +この近道によって、サーチ・パスにたくさんのディレクトリが指定されている時、 +コマンドの位置決定が著しく高速化されます。 +この機能が( +.Ic unhash +.\" #### modified by kuma 96.12.23 #### +コマンドによって)停止されている場合、または +.Fl c +または +.Fl t +オプションが起動時に指定された場合、または +.Ar path +.\" #### modified by kuma 96.12.23 #### +中の単語で `/' +から始まらないものについては、ハッシュが用いられることはありません。 +この場合は、 +.Ar path +の要素にコマンドラインで指定されたコマンドを連結した名前を持つ +ファイルを実行しようと試みます。 +.Pp +括弧で囲まれたコマンドは、つねにサブシェルによって実行されます。ですから、 +.Pp +.Dl (cd ; pwd) ; pwd +.Pp +はホーム・ディレクトリの値を表示しますが、カレント・ディレクトリ(ホーム・ +.\" #### modified by kuma 96.12.23 #### +ディレクトリの後に表示されます)は移動しません。 +一方、 +.Pp +.Dl cd ; pwd +.Pp +を実行すると、カレント・ディレクトリがホーム・ディレクトリに移動します。 +括弧で囲まれたコマンドは、現在のシェルのカレント・ディレクトリに +影響を与えずにコマンドを実行する場合にしばしば用いられます。 +.Pp +実行属性が立っているにもかかわらず、 +システムによって実行可能ではないファイルは +シェルコマンドファイルであるとみなし、 +サブシェルを起動してそのファイルを読み込ませます。 +.Pp +.Ic shell +という名前のエイリアスが存在する場合、 +エイリアスの値はシェルコマンドファイルを実行する場合の +引数リストの前に挿入されます。エイリアスの値の最初の単語は +シェルのフルパス名でなければいけません(たとえば `$shell')。 +.\" #### modified by kuma 96.12.23 #### +これはエイリアス展開としては特別のもので、かなり後の時点に行われ、 +引数リストを修正せずに、その前に単語を挿入するための手段を提供します。 +.Ss シグナル処理 +シェルは、通常 +.Ar quit +シグナルを無視します。バックグラウンドのジョブ( +.Ic \&& +または +.Ic bg +または +.Ic %... & +.\" #### modified by kuma 96.12.23 #### +によるコマンド)はキーボードから入力されたシグナルに影響されません +(hangup も含みます)。他のシグナルに対する挙動は親の環境を引き継ぎます。 +シェル・スクリプトでの interrupt と terminate シグナルに対する処理は +.Ic onintr +によって制御することができます。ログイン・シェルは +.Ar terminate +シグナルを捕捉します。それ以外のシェルでは、 +.Ar terminate +シグナルはシェルの親の状態に従ってチャイルドプロセスに渡されます。 +ログイン・シェルが +.Pa \&.logout +ファイルを読み込んでいる間は +interrupt は無視されます。 +.Sh 作者 +William Joy。 +ジョブ制御とディレクトリ・スタックは +J.E. Kulp of IIASA, Laxenburg, Austria によって、 +.\" #### modified by kuma 96.12.23 #### +現在とは異なる文法のものが実装されました。 +ファイル名補完は Ken Greer, HP Labs が、 +.\" #### modified by kuma 96.12.23 #### +8 bit クリーンな実装は Christos S. Zoulas, Cornell University +によって行われました。 +.Sh 関連ファイル +.Bl -tag -width /etc/passwd -compact +.It Pa ~/.cshrc +シェルが起動されるときに読み込まれる。 +.It Pa ~/.login +ログイン・シェルの場合、ログイン時に `.cshrc' の後に読み込まれる。 +.It Pa ~/.logout +ログイン・シェルにおいてログアウト時に読み込まれる。 +.It Pa /bin/sh +標準シェル。`#' で始まらないシェル・スクリプトの実行に用いる。 +.It Pa /tmp/sh* +`<<' の処理に用いられる一時ファイル。 +.It Pa /etc/passwd +`~name' 展開時に用いられるホーム・ディレクトリに関する情報を得る。 +.El +.Sh 制限事項 +.\" #### modified by kuma 96.12.23 #### +単語の長さは 1024 文字に制限されます。引数リストは、システムによって 10240 +文字に制限されています。ファイル名展開を含む引数の数は、 +引数リストの文字数の 6 分の 1 に制限されています。 +コマンド置換の結果は、引数リストと同数の制限があります。 +ループ検出のため、1 行に対するエイリアス展開は 20 回までに制限されています。 +.Sh 関連項目 +.Xr sh 1 , +.Xr su 1 , +.Xr access 2 , +.Xr execve 2 , +.Xr fork 2 , +.Xr killpg 2 , +.Xr pipe 2 , +.Xr setrlimit 2 , +.Xr sigvec 2 , +.Xr umask 2 , +.Xr wait 2 , +.Xr tty 4 , +.Xr a.out 5 , +.Xr environ 7 +.br +.Em An introduction to the C shell +.Sh 歴史 +.Nm csh +は +.Bx 3 +で追加されました。 +.\" #### modified by kuma 96.12.23 #### +コマンド・インタプリタとしては、履歴(参照: +.Sx ヒストリ置換 +)、ジョブ制御 (参照: +.Sx ジョブ +.\" #### modified by kuma 96.12.23 #### +参照)、対話的なファイル名補完とユーザ名補完(参照: +.Sx ファイル名補完 +.\" #### modified by kuma 96.12.23 #### +)、C言語ライクな文法を採用して実装した最初のものです。 +これらの機構にいくつかの追加機能(といくらかのバグの可能性)を +持つシェルは、現在ではたくさんあります。 +これらは usenet から入手することができます。 +.Sh バグ +コマンドが停止状態から復帰したとき、もしそのコマンドが起動したときの +ディレクトリとカレント・ディレクトリが異なるなら、 +シェルはコマンドを起動したときのカレント・ディレクトリの値を表示します。 +.\" #### modified by kuma 96.12.23 #### +これは、そのジョブが内部的にディレクトリを変更した場合は誤解(間違った情報) +を与える可能性があります。 +.Pp +シェルの組み込みコマンドは中断(suspend)も再開もできません。 +`a ; b ; c' のようなコマンド列も適切には中断することができません。 +たとえば、 `b' の実行を中断した場合には、 +すぐに `c' の実行が開始されてしまいます。これは +.Ar alias +としてコマンド列を指定している場合に特に目立ちます。 +このようなコマンド列は `()' +で囲んでサブシェルで実行されるようにすることによって、 +適切に停止させることが可能になります(`( a ; b ; c )'のように)。 +.Pp +プロセスを起動したあとの端末出力の制御が貧弱です。おそらく、 +このために、 +.\" #### modified by kuma 96.12.23 #### +もっと良い仮想端末インターフェースを開発したいと考える人がいても何ら不思議はないです。 +仮想端末インターフェース上なら、 +もっと おもしろい端末出力の制御が可能になるでしょう。 +.Pp +.\" #### modified by kuma 96.12.23 #### +シェル関数をシミュレートするために、エイリアスを不格好に用いてしまうことが +よくあります。シェル関数がサポートされるべきです。 +.Pp +ループ中のコマンド入力において、 +`?' プロンプトに続けて入力された内容はヒストリに残りません。 +制御構造は組み込みコマンドとして解釈されるのではなく、 +文法的に解釈するようにするべきです。これにより制御コマンドをどこにでも +置けるようになり、`\&|', `&', `;' との組み合わせが +自由にできるようになります。 +.Pp +コマンド置換の出力にも `:' 修飾子が適用できるべきです。 +.Pp +.\" #### modified by kuma 96.12.23 #### +ファイル名補完機構の実装は不細工かつ非効率的です。 diff --git a/ja_JP.eucJP/man/man1/ctags.1 b/ja_JP.eucJP/man/man1/ctags.1 new file mode 100644 index 0000000000..8bfe160435 --- /dev/null +++ b/ja_JP.eucJP/man/man1/ctags.1 @@ -0,0 +1,210 @@ +.\" Copyright (c) 1987, 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. +.\" +.\" @(#)ctags.1 8.1 (Berkeley) 6/6/93 +.\" jpman %Id: ctags.1,v 1.4 1997/08/31 14:11:31 horikawa Stab % +.\" +.\" ctags.1 修正時には gctags.1 も同様に修正して下さい。 +.\" Aug 31 1997 <horikawa@jp.freebsd.org> +.Dd June 6, 1993 +.Dt CTAGS 1 +.Os BSD 4 +.Sh 名称 +.Nm ctags +.Nd タグファイルを作成する +.Sh 書式 +.Nm ctags +.Op Fl BFadtuwvx +.Op Fl f Ar tagsfile +.Ar name ... +.Sh 解説 +.Nm ctags +は、指定された C, Pascal, Fortran, +.Tn YACC , +lex, lisp のソースから、 +.Xr ex 1 +コマンド用のタグファイルを作成します。 +タグファイルは、指定されたオブジェクトが一群のファイル中の +どの場所にあるかを示すものです。 +タグファイルの各行はオブジェクトの名前、定義されているファイル、 +オブジェクトの定義を見つけるための検索パターンを含み、 +各々は空白で区切られています。 +この +.Ar tags +ファイルを用いることにより、 +.Xr ex 1 +でこれらのオブジェクトが定義されている場所をすばやく見つけることが +できます。 +.Nm +に与えられるオプションによりますが、オブジェクトは +subroutine 、 typedef 、 define 、 struct 、 enum 、 union から +構成されます。 +.Bl -tag -width Ds +.It Fl B +後方検索パターン +.Pq Li ?...? +を用います。 +.It Fl F +前方検索パターン +.Pq Li /.../ +を用います(デフォルト)。 +.It Fl a +既存の +.Ar tags +ファイルに追加します。 +.It Fl d +引数を持たない +.Li #define +に関してもタグを作成します。引数を持つ +.Li #define +は自動的にタグが作成されます。 +.It Fl f Ar tagsfile +.Ar tagsfile +で指定されたファイル名でタグファイルを生成します。 +デフォルトでは +.Ar tags +というファイル名でタグファイルを生成します。 +.It Fl t +typedef, struct, union, enum 宣言のタグを生成します。 +.It Fl u +.Ar tags +ファイル内の指定されたファイルに関する情報を更新します。 +すなわち、関係するファイルへのすべての参照が削除され、新しいタグ情報が +ファイルに追加されます。 +(注意: このオプションはあまりスピードのでないような実装しか +おこなわれていません。単に +.Ar tags +ファイルを再構築した方が早く終了するでしょう。) +.It Fl v +.Xr vgrind 1 +形式のファイル一覧が標準出力に出力されます。 +この一覧はオブジェクト名、ファイル名、1 ページあたり 64 行とした場合の +ページ番号から構成されます。 +出力は辞書式の順番でソートされているので、この後に +.Xr sort 1 +を通した方がよいでしょう。次のように使います。 +.Bd -literal -offset indent +ctags \-v files \&| sort \-f > index +vgrind \-x index +.Ed +.It Fl w +診断用メッセージを表示しないようにします。 +.It Fl x +.Nm +はオブジェクト名、行番号、ファイル名、その行の内容からなる一覧を作成し、 +それを標準出力に出力します。 +これはオフラインでも読みやすいように印刷できる簡単な関数一覧として +利用できます。 +.El +.Pp +.Nm \&.c +や +.Nm \&.h +で終わる名前のファイルは、 C 言語のソースファイルとみなされ、 +C の形式の関数・マクロ定義が検索されます。 +.Nm \&.y +で終わる名前のファイルは、 +.Tn YACC +のソースファイルとみなされます。 +.Nm \&.l +で終わる名前のファイルは、最初の空白でない文字が `;' か `(' か `[' で +あれば lisp のファイルであるとみなされ、そうでなければ lex のファイルと +みなされます。 +その他のファイルは、まず Pascal か Fortran の定義が含まれるか +どうかがチェックされ、含まれない場合には C 形式の定義が検索されます。 +.Pp +C 言語の場合、 +.Li main +は特別に扱われ、元のソースファイルのパス名部分と末尾の +.Nm \&.c +の部分を取り除いたファイル名に対し、その先頭に +.Ar M +を付加したものをオブジェクト名とします。 +これにより、同じディレクトリに複数のプログラムがある場合でも +.Nm +を実用的に使うことができます。 +.Pp +yacc と lex のファイルには特殊なタグがあります。 +.Ar yyparse +は yacc ファイルの第二セクションの始まりを示し、 +.Ar yylex +は lex ファイルの第二セクションの始まりを示します。 +.Sh 関連ファイル +.Bl -tag -width tags -compact +.It Pa tags +デフォルトで出力されるタグファイル +.El +.Sh 診断 +.Nm +はエラーが発生すると 1 を返し、それ以外では 0 を返します。 +同じ名前のオブジェクトが複数出てきてもエラーとはみなされません。 +.Sh 関連項目 +.Xr ex 1 , +.Xr vi 1 +.Sh バグ +.Tn FORTRAN +と Pascal 用の +.Nm 関数(function) +、 +.Nm サブルーチン(subroutine) +、 +.Nm 手続き(procedure) +の認識にはとても単純な方法を用いています。 +ブロック構造が解釈できないので、異なるブロックに同じ名前の Pascal 手続きが +存在するとうまく動作しません。 +.Nm +は Pascal の型(type)も理解しません。 +.Pp +C か Pascal か +.Tn FORTRAN +かを判断する方法はとりあえず動いている、という程度のものです。 +.Pp +.Nm +はきちんと整形された入力に頼っています。 +また、ソースファイルに文法的な間違いがあると +簡単に混乱してしまいます。 +文法的に間違っていなくても混乱する場合があります。 +例えば、 +.Li #ifdef +を理解しないので(バグではなく仕様です)、 +.Li #ifdef +内に括弧のつりあっていないコードがあると混乱してしまいます。 +同様に、定義が複数行にわたっている場合、オブジェクトの先頭行ではなく +最終行が検索パターンにマッチします。 +複数行にわたる +.Li typedef +に関しても同様です。 +.Sh 歴史 +.Nm +コマンドは +.Bx 3.0 +から登場しました。 + diff --git a/ja_JP.eucJP/man/man1/ctm.1 b/ja_JP.eucJP/man/man1/ctm.1 new file mode 100644 index 0000000000..2639bb2075 --- /dev/null +++ b/ja_JP.eucJP/man/man1/ctm.1 @@ -0,0 +1,315 @@ +.\"---------------------------------------------------------------------------- +.\""THE BEER-WARE LICENSE" (Revision 42): +.\"<joerg@freebsd.org> wrote this file. As long as you retain this notice you +.\"can do whatever you want with this stuff. If we meet some day, and you think +.\"this stuff is worth it, you can buy me a beer in return. Joerg Wunsch +.\"---------------------------------------------------------------------------- +.\" +.\" This manual page is partially obtained from Poul-Hennings CTM README +.\" file. +.\" +.\" CTM and ctm(1) by <phk@login.dknet.dk> +.\" +.\" %Id: ctm.1,v 1.9.2.2 1997/09/18 06:23:11 charnier Exp % +.\" jpman %Id: ctm.1,v 1.3 1997/09/27 16:26:57 ryo2 Stab % +.\" +.Dd Mar 25, 1995 +.Os +.Dt CTM 1 +.Sh 名称 +.Nm ctm +.Nd source code mirror program +.Sh 書式 +.Nm ctm +.Op Fl cFklquv +.Op Fl b Ar basedir +.Op Fl B Ar backup-file +.Op Fl e Ar include-regex +.Op Fl t Ar tar-command +.Op Fl T Ar tmpdir +.Op Fl V Ar level +.Op Fl x Ar exclude-regex +.Ar +.Sh 解説 +.Nm +は、元々 +.Dq Cvs Through eMail +でしたが、今は代わりに +.Dq Current Through eMail +と呼ぶのがふさわしいようです。 + +.Nm +は、今や 2 つのバージョンのディレクトリツリーの間でデルタを作成して +適用するための最も信頼できる方法を意味します。 + +これにはデルタの作成と適用という 2 つの部分があります。2 つは +全く異なるものです。 + +.Ss 使用例 + +CTM デルタを適用するには、それを +.Nm +コマンドに渡します。CTM デルタを標準入力、またはファイル名を引数として +渡すことができます。後者の方法を取ると、とても簡単に +することができます。なぜなら このプログラムは gzip で圧縮された +ファイルを受け付けて、ファイルの一時的なコピーを作る必要が無いからです。 +複数のデルタを一度に指定でき、それらは一度にひとつずつ処理されます。 +すでに適用されているデルタは無視されます。 + +.Nm +コマンドの実行はたくさんのパスにわかれています。 +次のパスを始める前に、それぞれのパスで入力ファイルの全体が処理されます。 + +.Ar name +で指定されたファイルを処理する前に +.Nm +は まず +.Ar name.ctm +というファイルが存在するかどうかをチェックします。 +存在すれば、 +.Nm +は、かわりにそちらを処理します。 + +パス 1 では、入力ファイルが正常かどうかを確認します。 +文法、データ、全体の MD5 によるチェックサムがチェックされます。 +いずれか 1 つでも異常があれば、 +.Nm +は単純に入力ファイルを拒否します。 + +パス 2 ではディレクトリツリーが CTM デルタの期待している状態に +なっているかどうかを確認します。これは存在する/しないはずの +ファイルとディレクトリファイルとディレクトリを捜して +ファイルの MD5 によるチェックサムをチェックすることで行われます。 + +もし +.Ar backup-file +が +.Fl B +オプションで指定されていると、その +.Nm +の呼び出しで変更されるファイルが +.Fl t +オプションで指定されたアーカイバコマンドを使って、そのファイルに +バックアップされます。デフォルトのアーカイバコマンドは +.Nm "tar -rf %s -T -" +です。 + +パス 3 では実際にデルタが適用されます。 + +.Nm +によって変更されるファイルのリストは、 +.Fl e +と +.Fl x +オプションで指定された正規表現によるフィルタの対象になります。 +.Fl e +と +.Fl x +オプションは、コマンドラインで指定された順に適用されます。 +与えられたファイル名に最後にマッチしたフィルタが、そのファイルを +.Nm +の適用対象とするかどうかを決定します。 + +.Nm +は、その作業ディレクトリ下にファイルの階層を展開します。 +絶対パスや +.Sq \&. +と +.Sq \&.\&. +の参照を含むファイル名は、セキュリティのために明確に禁止されています。 + +.Ss オプション + +.Bl -tag -width indent -compact + +.It Fl b Ar basedir +各ファイル名に +.Ar basedir +で指定されたパスを前置します。 + +.It Fl B Ar backup-file +この CTM の実行で変更されるすべてのファイルを +.Ar backup-file +にバックアップします。 +.Fl e +と +.Fl x +オプションで何らかのフィルタが指定されると、 +CTM の実行時にフィルタが適用され、変更されたファイルが、 +最終的にバックアップされるファイルのセットとなります。 + +.It Fl c +確認だけを行ない、他には何もしません。 + +.It Fl e Ar regular_expression +CTM ファイル中の各ファイル名が +.Ar regular_expression +にマッチするかどうかを調べ、マッチすればそのファイルを処理し、 +マッチしなければ何もせずそのまま残します。 +このオプションは何個でも指定できます。このオプションを指定すると +.Pa .ctm_status +のシーケンス番号のチェックが行なわれません。 +例えば、 +.Ic ^usr.sbin/ctm +と指定すると、 +.Nm usr.sbin/ctm +というソースディレクトリと、その下のすべてのパス名を指定した事に +なります。 + +CTM の処理対象からパス名を外すには +.Fl x +オプションを使います。 + +.It Fl F +強行します。 + +.It Fl k +ファイルとディレクトリを保存し、CTM ファイルで削除するように +指定されているものでも削除しません。 +.Fl B +オプションが指定されると、そのファイルとディレクトリは +バックアップされません。 + +.It Fl l +その CTM の実行で変更されるはずのファイルと、それに対して +行われるアクションをリストします。 +.Fl l +オプションを使うと +.Pa .ctm_status +のチェックと作業対象のソースツリーの正当性チェックが行なわれません。 +.Fl l +オプションは、 +.Fl e +と +.Fl x +オプションを組み合わせることで、与えるコマンドラインオプションで +どのファイルが変更されるかを見定めることができます。 + +.It Fl q +表示を減らします。 + +.It Fl t Ar tar-command +デフォルトのアーカイバである +.Nm tar +の代わりに +.Ar tar-command +を使います。 +このオプションは、バックアップファイルが +.Fl B +オプションで指定された場合にのみ効果があります。 +tar command 中には一つだけ %s を置くことができ、 +バックアップファイルの名前に置き換えられます。 + + +.It Fl T Ar tmpdir +一時ファイルを +.Ar tmpdir +に置きます。 + +.It Fl u +作成、変更されるファイルの更新時刻を CTM デルタが作成された +時刻に設定します。 + +.It Fl v +表示を増やします。 + +.It Fl V Ar level +表示を増やします。 +.Ar level +は饒舌さの程度です。 + +.It Fl x Ar regular_expression +CTM ファイル中の各ファイル名を +.Ar regular_expression +とマッチするかどうかを調べ、マッチすればそのファイルを除外します。 +このオプションは何個でも指定できます。このオプションを指定すると +.Pa .ctm_status +のシーケンス番号のチェックが行なわれません。 + +CTM の処理対象にパス名を加えるには +.Fl e +オプションを使います。 + +.El + +.Sh 環境変数 +.Ev TMPDIR +にパス名がセットされていると、ctm は一時ファイルの置き場所として +そのパス名を使います。 +これに関しての詳細は +.Xr tempnam 3 +を参照して下さい。 +同じ効果は +.Fl T +フラグでも得られます。 + +.Sh 関連ファイル + +.Pa .ctm_status +には、最後に適用した CTM デルタのシーケンス番号が含まれます。 +このファイルを変更したり削除したりすると、 +.Nm +は、とても混乱します。 + + +.Fl e +と +.Fl x +オプションを使うとソースツリーの一部分を更新することができ、 +ソースを一貫性のない状態にすることになります。 +これらのオプションを使うときには、何をしているのかを理解していることが +仮定されています。 + +.Sh 使用例 + +.Bd -literal + +cd ~cvs +/usr/sbin/ctm ~ctm/cvs-* + +.Ed + +`lib' 以下のすべてのソースを取り出してパッチを当てるには +以下のようにします。 +.Bd -literal +cd ~/lib-srcs +/usr/sbin/ctm -e '^lib' ~ctm/src-cur* +.Ed +.Sh 診断 + +充分に説明的であるはずの沢山のメッセージが出力されます。 +.Dq ノイズレベル +は +.Fl q , +.Fl v , +.Fl V +オプションで調整できます。 + +.Sh 関連項目 +.Xr ctm_rmail 1 , +.Xr ctm 5 + +.Sh 歴史 + +最初の試みは +.Xx 1.1.5 +の作業中に行われました。そして、たくさんの +バグと手法について徹底的に議論されました。 + +.Nm +コマンドは +.Fx 2.1 +から登場しました。 + +.Sh 作者 + +CTM システムは +.An Poul-Henning Kamp Aq phk@FreeBSD.org +によってデザインされ実装されました。 + +このマニュアルページは +.An Joerg Wunsch Aq joerg@FreeBSD.org +が書きました。 + +.Sh 日本語訳 +野首 寛高(h-nokubi@nmit.mt.nec.co.jp): FreeBSD 用に翻訳 diff --git a/ja_JP.eucJP/man/man1/ctm_rmail.1 b/ja_JP.eucJP/man/man1/ctm_rmail.1 new file mode 100644 index 0000000000..cdd904c478 --- /dev/null +++ b/ja_JP.eucJP/man/man1/ctm_rmail.1 @@ -0,0 +1,502 @@ +.\" NOTICE: This is free documentation. I hope you get some use from these +.\" words. In return you should think about all the nice people who sweat +.\" blood to document their free software. Maybe you should write some +.\" documentation and give it away. Maybe with a free program attached! +.\" +.\" Author: Stephen McKay +.\" +.Dd January 24, 1995 +.\" jpman %Id: ctm_rmail.1,v 1.3 1997/09/27 16:25:48 ryo2 Stab % +.Dt CTM_MAIL 1 +.Os +.Sh 名称 +.Nm ctm_smail, ctm_rmail +.Nd メールを介しての +.Nm ctm +デルタの送受信 +.Sh 書式 +.Nm ctm_smail +.Op Fl l Ar log +.Op Fl m Ar maxmsgsize +.Op Fl c Ar maxctmsize +.Op Fl q Ar queue-dir +.Ar ctm-delta +.Ar mail-alias +.Nm ctm_dequeue +.Op Fl l Ar log +.Op Fl n Ar numchunks +.Ar queue-dir +.Nm ctm_rmail +.Op Fl Dfuv +.Op Fl l Ar log +.Op Fl p Ar piecedir +.Op Fl d Ar deltadir +.Op Fl b Ar basedir +.Op Ar +.Sh 解説 +.Nm ctm_smail , +.Nm ctm_dequeue , +.Nm ctm_rmail +は +.Xr ctm 1 +コマンドと組み合わせて、 +ソースツリーへの変更を電子メールで配布するために使われます。 +.Nm ctm_smail +には圧縮した +.Xr ctm +のデルタとそれを送るメーリングリストを与えます。 +するとデルタを送信できる大きさに切り分けて、メールメッセージとして +エンコードしたものをメーリングリストに送ります +(メールの負荷を分散させるためにキューに入れるように選択できます)。 +各受信者は +.Nm ctm_rmail +を使い (手動または自動で) デルタのデコードと再組み立てを行い、 +それをソースツリーに適用するために +.Xr ctm +を呼び出すようにも指定できます。 +現在、 +いくつかのソースツリーが、いくつかのサイトによって配布されています。 +その中には +.Li freefall.FreeBSD.org +が配布している FreeBSD-current のソースと CVS のツリーもあります。 +.Pp +.Nm ctm_smail +のコマンドラインの引数には以下があります: +.Bl -tag -width indent +.It Fl l Ar log +.Em stderr +に出力する代わりに、 +(コマンドラインのエラー以外の) エラー診断と情報メッセージ +にタイムスタンプを付けた物がファイル +.Em log +に書き込まれます。 +.It Fl m Ar maxmsgsize +.Nm ctm_smail +が送信できるメールメッセージの最大サイズを制限します。 +メールヘッダとその他の細かい物をこの制限に入れていないため +およその値となります。 +指定されないとデフォルトは、メールの限界と噂される 64k に対して +ヘッダのための 1535 バイトを残した 64000 バイトです。 +.It Fl c Ar maxctmsize +送信されるデルタの最大サイズを制限します。この制限より大きいデルタは +謝罪メールをメーリングリストに送り出します。 +これは大幅な変更でユーザのメールボックスを圧迫してしまうのを +避けるためです。これはエンコードする前のサイズなので注意して下さい。 +エンコードされるとメールヘッダを付ける前でサイズは 4/3 倍になります。 +指定されないと無制限になります。 +.It Fl q Ar queue-dir +デルタのかけらをメールする代わりに、後で +.Nm ctm_dequeue +を使ってメールされるように指定されたディレクトリに格納します。 +この機能によって、巨大なデルタを数時間または数日にも渡って分散させ、 +ネットワークのバンド幅が狭かったりメールのスプール領域が小さい +受信者へのインパクトを押えることが可能です。 +.El +.Pp +.Ar ctm-delta +は送信されるデルタで、 +.Ar mail-alias +はデルタを送信するメーリングリストです。 +メールメッセージは +.Xr sendmail 8 +を使って送信されます。 +.Pp +.Nm ctm_dequeue +のコマンドラインの引数には以下があります: +.Bl -tag -width indent +.It Fl l Ar log +.Em stderr +に出力する代わりに、 +(コマンドラインのエラー以外の) エラー診断と情報メッセージ +にタイムスタンプを付けた物がファイル +.Em log +に書き込まれます。 +.It Fl n Ar numchunks +1 回の +.Nm ctm_dequeue +の実行で送信するメールメッセージの数を制限します。 +デフォルトでは、 +.Nm ctm_dequeue +は 1 回の実行で 1 つのメールメッセージを送信します。 +.El +.Pp +.Ar queuedir +は +.Nm ctm_smail +が格納したメールメッセージのあるディレクトリです。 +.Ar numchunks +個までのメールメッセージが実行ごとに送信されます。 +受信者のメーリングリストは、溜められたファイルに +すでにエンコードされています。 +.Pp +.Nm ctm_smail +がキューにエントリを追加している最中や、複数の +.Nm ctm_smail +を並行に実行している最中でも +.Nm ctm_dequeue +を安全に実行できますが、配布される各ツリーごとに独立した +キューのディレクトリを使うべきです。 +これはエントリがアルファベット順に処理されるので、デルタの +作成時刻ではなく、デルタ名に従って 1 つのツリーが他の物より +前に処理されて不公平になるからです。 +.Pp +.Nm ctm_rmail +のコマンドラインの引数には以下があります: +.Bl -tag -width indent +.It Fl l Ar log +.Em stderr +に出力する代わりに、 +(コマンドラインのエラー以外の) エラー診断と情報メッセージ +にタイムスタンプを付けた物がファイル +.Em log +に書き込まれます。 +.It Fl p Ar piecedir +デルタのかけらをこのディレクトリに集めます。 +それぞれのかけらは 1 つのメールメッセージに対応します。 +かけらは完全なデルタが出来上がると削除されます。 +もし このフラグが指定されないと、入力ファイルは読まれませんが、 +.Fl b +フラグが指定されていれば完成しているデルタは +.Xr ctm +を使って適用されるかもしれません。 +.It Fl d Ar deltadir +このディレクトリ内の完成したデルタを集めます。デルタは、すべてのかけらが +揃っている時に 1 つ以上のかけらから組み立てられます。 +.It Fl b Ar basedir +完成しているデルタを このソースツリーに適用します。このフラグが +指定されていない場合、デルタは格納されますが適用はされません。 +ユーザは手動、または +.Nm ctm_rmail +を +.Fl p +フラグ無しで使ってデルタを適用できます。 +もしデルタが +.Ar basedir +の +.Li .ctm_status +ファイルとマッチしない場合 (もしくは +.Li .ctm_status +が存在しない場合) には、デルタは適用されません。 +.It Fl D +.Xr ctm +による適用が成功した後でデルタを削除します。 +.Xr ctm +はデルタのフルセットからファイルの小グループを回復する機能を +持つので、このフラグを避けて (そしてすべてのデルタを取って) おくのが +良いでしょう。 +.It Fl f +fork して +.Xr ctm +でのデルタの適用をバックグラウンドで実行します。 +これは +.Xr sendmail +から +.Nm ctm_rmail +を自動的に呼び出す場合に有効です。なぜなら +.Xr ctm +は終了までに、とても長い時間を要し、それによって他の人のメールを +遅らせる原因になり、理論的にはリモート側の +.Xr sendmail +のタイムアウトによるメールの不要な再送信や、 +.Xr "MH" +の +.Xr slocal +のようなメールフィルタによる +.Nm ctm_rmail +の強制終了を引き起こす可能性があるからです。 +膨大な数のバックグラウンドの +.Xr ctm +プロセスでマシンに負荷がかかる心配はありません。同時に 2 つ以上の +.Xr ctm +が起動されないようにロックが行われているからです。 +.It Fl u +完成したデルタを適用する時に +.Fl u +フラグを +.Xr ctm +コマンドに渡します。これによって作成、変更されたファイルの +変更時刻が CTM デルタの作成時刻にセットされます。 +.It Fl v +完成したデルタを適用する時に +.Fl v +フラグを +.Xr ctm +コマンドに渡します。これによってより多くの情報出力が得られます。 +すべての +.Xr ctm +からの出力は +.Nm ctm_rmail +のログファイルに記録されます。 +.El +.Pp +引数のファイル (もし無ければ +.Em 標準入力 +) がデルタのかけらとしてスキャンされます。 +1 つのファイルから複数のデルタのかけらを読む事ができるので、 +メールドロップ全体を 1 回のコマンドでスキャンして処理できます。 +.Pp +.Nm ctm_rmail +を並行に (異なる入力ファイルで) 複数回起動しても安全です。 +.Xr sendmail +.nh +がメールを非同期に配送した時にこのようなことが起こり得ます。 +これは処理を順序通りに保つためにロックが行われているからです。 +.Sh ファイルフォーマット +以下は実際の (とても小さい) デルタのかけらの重要部分です: +.Bd -literal +From: owner-src-cur +To: src-cur +Subject: ctm-mail src-cur.0003.gz 1/4 + +CTM_MAIL BEGIN src-cur.0003.gz 1 4 +H4sIAAAAAAACA3VU72/bNhD9bP0VByQoEiyRSZEUSQP9kKTeYCR2gDTdsGFAwB/HRogtG5K8NCj6 +v4+UZSdtUQh6Rz0eee/xaF/dzx8up3/MFlDkBNrGnbttAwyo1pxoRgoiBNX/QJ5d3c9/X8DcPGGo +lggkPiXngE4W1gUjKPJCYyk5MZRbIqmNW/ASglIFcdwIzTUxaAqhnCPcBqloKEkJVNDMF0Azk+Bo +dDzzk0Ods/+A5gXv9YyJHjMCtJwQNeESNma7hOmXDRxn +CTM_MAIL END 61065 +.Ed +.Pp +メッセージのサブジェクトは常に +.Dq ctm-mail +で始まりデルタの名前、いくつ目のかけらか、そして全部でいくつの +かけらがあるのかが続きます。データは +.Dq CTM_MAIL BEGIN +と +.Dq CTM_MAIL END +という行で囲まれており、サブジェクト行の情報の複製、加えて単純な +チェックサムが付きます。 +.Pp +デルタが +.Ar maxctmsize +を超えると、代わりに以下のようなメッセージが送られます: +.Bd -literal +From: owner-src-cur +To: src-cur +Subject: ctm-notice src-cur.0999.gz + +src-cur.0999.gz is 792843 bytes. The limit is 300000 bytes. + +このデルタは ftpmail か、または大学の仲良しから得られます。 +.Ed +.Pp +これでもうあなたのものです! +.Sh 使用例 +.Em src-cur +の 32 番目のデルタを +.Em src-guys +として +.Xr sendmail +に登録されている素晴らしいコードハッカーのグループに、 +メールのサイズをおよそ 60000 バイトに制限して送るためには +以下のように出来ます: +.Bd -literal -offset indent +ctm_smail -m 60000 /wherever/it/is/src-cur.0032.gz src-guys +.Ed +.Pp +メールボックスの各 +.Nm ctm-mail +メッセージをデコードして、それらを完全なデルタに組み立て、そして +出来上がったデルタやそこらに転がっているデルタはどれも、 +以下のように適用出来ます: +.Bd -literal -offset indent +ctm_rmail -p ~/pieces -d ~/deltas -b /usr/ctm-src-cur $MAIL +.Ed +.Pp +( +.Nm ctm_rmail +はメッセージを削除しないので注意して下さい。 +削除には どんなメールリーダでも使用できます。) +.Pp +.Em receiver-dude +という名前の自動的にデコードとデルタの組み立てを行うけれども、 +それらの適用は行わないようなメールエイリアスは、以下の行を +.Pa /etc/aliases +ファイルに入れる事で作成可能です ( +.Pa /ctm/tmp +と +.Pa /ctm/deltas +ディレクトリ そして +.Pa /ctm/log +ファイルが +.Em daemon +ユーザか +.Em wheel +グループで書き込み可能な事を仮定しています) : +.Bd -literal -offset indent +receiver-dude: "|ctm_rmail -p /ctm/tmp -d /ctm/deltas -l /ctm/log" +owner-receiver-dude: real_dude@wherever.you.like +.Ed +.Pp +2 行目は、失敗した場合にそれを通常のメールボックスか、または +どこか好きな所へ転送するためにあります。 +.Pp +集められた全デルタを適用して、適用したものを削除するには以下のように +します: +.Bd -literal -offset indent +ctm_rmail -D -d /ctm/deltas -b /ctm/src-cur -l /ctm/apply.log +.Ed +.Pp +柔軟性を最大限生かすためには、この +.Xr procmail +スクリプトからの引用の利用を考えてみて下さい: +.Bd -literal -offset indent +PATH=$HOME/bin:$PATH + +:0 w +* ^Subject: ctm-mail cvs-cur +| ctm_incoming +.Ed +.Pp +以下のシェルスクリプト +.Pa ~/bin/ctm_incoming +と一緒に使います: +.Bd -literal -offset indent +#! /bin/sh +PATH="$HOME/bin:/bin:/sbin:/usr/bin:/usr/sbin:/usr/local/bin" +export PATH + +cd $HOME/ctm && ctm_rmail -f -p pieces -d deltas -l log -b /ctm +.Ed +.Pp +これは全部の +.Xr ctm +デルタを +.Pa ~/ctm/deltas +に置き、それらを +.Pa /ctm +内のツリーに適用し、失敗したものは、すべてあなたの通常の +メールボックスに落します。 +.Pa ctm_incoming +での +.Ev PATH +の操作は、このサンプルを取って来た (FreeBSD でない) マシンで +.Nm ctm_rmail +から +.Xr ctm +の実行を可能にするためのものです。 +.Sh セキュリティ +自動的にメールを取ってファイルツリーへのパッチプログラムに +渡している場合、あなたのシステムへの鍵をハッカーに手渡していると +考えるかも知れません。幸い、損害を起こす窓はとても小さいのです。 +.Nm ctm_rmail +は、 +(デルタ名中の いかなる +.Dq / +文字も信用しないことによって) +与えられたディレクトリのみにしか書き込まないように注意しています。 +そして最新の +.Xr ctm +では操作するファイルに絶対パス名と +.Dq \&\.\. +を許可していないので、最悪でも失われる可能性のあるのは +(デルタから復元できる) 二、三のソースツリーのファイルだけなのです。 +.Xr ctm +はファイルにさわる前に +.Xr md5 +によるチェックサムが合致する事を要求するので、ソースの受信者だけが +偽造したデルタを生成できる可能性を持ち、そして そういう人達が +そんなことを考えるはずもありません! :-) +.Pp +この可能性さえも暗号化された署名で取り除く事が可能です。 +将来の強化の可能性は、 +.Nm PGP +を使った安全なラッパーの提供があります。 +.\" This next request is for sections 1, 6, 7 & 8 only +.Sh 環境変数 +デルタを適用するのならば +.Xr ctm 1 +と +.Xr gunzip 1 +が +.Ev PATH +に含まれていなければなりません。 +.Sh 関連ファイル +.Bl -tag -width indent +.It Pa QUEUEDIR/* +メールメッセージとしてエンコードされて、メーリングリストに +送信されるのを待っているデルタのかけら。 +.It Pa PIECEDIR/* +残りのかけらの到着を待っているデルタのかけら。 +.It Pa DELTADIR/* +完成したデルタ。 +.It Pa BASEDIR/.ctm_status +このソースツリーに次に適用されるべきデルタの名前と番号を含むファイル。 +.\" This next request is for sections 1, 6, 7 & 8 only +.\" (command return values (to shell) and fprintf/stderr type diagnostics) +.Sh 診断 +.Nm ctm_smail , +.Nm ctm_dequeue , +.Nm ctm_rmail +は正常に終了するとステータスとして 0 を、何らかの障害が +あった場合は 1 を返します。 +.Nm ctm_rmail +は、メールの配送プログラムから呼ばれる事を想定しています。そして +そのため入力されたメールメッセージが (送信者にではなく、 +なるべく あなたの通常のメールドロップに) 返送されるべき状態に +なった時にのみ障害を通知するようになっています。 +いいかえれば、完成したデルタを +.Xr ctm +で適用する際に発生した障害はメールを返送する程に重要なエラーでは +ないと判断されて、 +.Nm ctm_rmail +は終了ステータスとして 0 を返すということです。 +.Pp +通常の操作では、 +.Nm ctm_smail +は以下のようなメッセージで報告します: +.Bd -literal -offset indent +ctm_smail: src-cur.0250.gz 1/2 sent to src-guys +.Ed +.Pp +または、キューに入れたなら、 +.Bd -literal -offset indent +ctm_smail: src-cur.0250.gz 1/2 queued for src-guys +.Ed +.Pp +.Nm ctm_dequeue +は以下のようなメッセージで報告します: +.Bd -literal -offset indent +ctm_dequeue: src-cur.0250.gz 1/2 sent +.Ed +.Pp +.Nm ctm_rmail +は以下のようなメッセージで報告します: +.Bd -literal -offset indent +ctm_rmail: src-cur.0250.gz 1/2 stored +ctm_rmail: src-cur.0250.gz 2/2 stored +ctm_rmail: src-cur.0250.gz complete +.Ed +.Pp +もし入力ファイルのいずれもが正しいデルタのかけらを含んでいないと、 +.Nm ctm_rmail +は以下のように報告します: +.Bd -literal -offset indent +ctm_rmail: message contains no delta +.Ed +.sp \n(Ppu +そして終了ステータスとして 1 を返します。もしメールフィルタが +当てにならないのなら、これを使って気まぐれなメッセージを +リダイレクトして本当のメールボックスに入れる事ができます。 +.Pp +これらのメッセージは +.Em stderr +かログファイルに出力されます。 +.Xr ctm +からのメッセージも同様にここに現れます。 +エラーメッセージは それ自身が説明的であるべきです。 +.\" The next request is for sections 2 and 3 error and signal handling only. +.\" .Sh ERRORS +.Sh 関連項目 +.Xr ctm 1 , +.Xr ctm 5 +.\" .Sh STANDARDS +.\" .Sh HISTORY +.Sh 作者 +Stephen McKay <mckay@FreeBSD.org> +.\" .Sh BUGS +.\" Gosh! No bugs here! +.\" This message brought to you by the Coalition for More Humour in Man Pages. +.\" +.\" %Id: ctm_rmail.1,v 1.7.2.1 1996/12/17 14:07:51 mckay Exp % +.Sh 日本語訳 +野首 寛高(h-nokubi@nmit.mt.nec.co.jp): FreeBSD 用に翻訳 diff --git a/ja_JP.eucJP/man/man1/cu.1 b/ja_JP.eucJP/man/man1/cu.1 new file mode 100644 index 0000000000..6b7ea49a19 --- /dev/null +++ b/ja_JP.eucJP/man/man1/cu.1 @@ -0,0 +1,325 @@ +''' %Id: cu.1,v 1.1 1993/08/04 19:31:53 jtc Exp % +.\" jpman %Id: cu.1,v 1.2 1997/03/28 10:54:42 mutoh Stab % +.TH cu 1 "Taylor UUCP 1.06" +.SH 名称 +cu \- 別のマシンと接続する +.SH 書式 +.B cu +[ options ] [ system | phone | "dir" ] +.SH 解説 +.I cu +コマンドは、他のシステムを呼び出し、ダイヤルイン端末として働きます。 +本コマンドは、 +エラーチェックを行わない、 +簡単なファイル転送プログラムとしても使用できます。 + +.I cu +は、1 つの引数を、オプションとともに指定可能です。引数として指定する +文字列が "dir" の場合には、cu はポートとの直接接続を行ないます。 +本オプションは、ユーザがポートへのライトアクセスを行なう場合にのみ +使用され、通常はモデム等の設定のために用いられます。 + +引数が数字の場合には、その引数は電話番号として解釈されます。そうで +ない場合には、その引数は呼びだすシステム名として解釈されます。 +.B \-z +または +.B \-\-system +オプションは、数字で始まるシステム名を引数で指定する場合に指定しなけ +ればならないものであり、 +.B \-c +または +.B \-\-phone +オプションは、数字以外の記号で始まる電話番号を引数で指定する場合に指 +定しなければなりません。 + +.I cu +は、UUCP設定ファイルに記述されたポートを用います。もし単にシステム名 +だけが引数で与えられた場合、そのシステムへの発呼に最も適したポートが +選ばれます。 +.B \-p,\-\-port,\-l,\-\-line,\-s +や +.B \-\-speed +オプションが指定された場合、ポート選択を制御することが可能です。 + +リモートシステムとの間でコネクションが設定された場合、 +.I cu +は 2 プロセスを fork します。1 プロセスは、ポートからのデータ読みだしと +端末へのデータ書き込みを行ない、もう 1 プロセスは、端末からのデータ読み +出しとポートへのデータ書き込みを受け持ちます。 + +.I cu +は、通信中に使用可能なコマンドがあります。 +それらのコマンドはすべて、エスケープ文字から始まります。 +エスケープ文字は、デフォルトでは +.B ~ +(チルダ)です。エスケープ文字は、行頭において入力された場合にのみ認識 +されます。エスケープ文字を行頭に含むデータをリモートホストに送り +たい場合には、当該エスケープ文字を 2 回入力しなければなりません。全 +てのコマンドは、1 文字か、もしくは +.B % +文字(パーセント記号)に続く複数文字です。 + +.I cu +では、以下のコマンドを使用できます。 + +.TP 5 +.B ~. +通信を終了します。 +.TP 5 +.B ~! command +シェル経由でコマンドを実行します。コマンドが指定されない場合には、 +シェルが起動されます。 +.TP 5 +.B ~$ command +コマンドを起動します。その結果、標準出力に出力されたデータを、リ +モートシステムに送ります。 +.TP 5 +.B ~| command +コマンドを起動します。リモートシステムからの出力 +データをこのコマンドの標準入力とします。 +.TP 5 +.B ~+ command +コマンドを起動します。リモートシステムからの出力 +データをこのコマンドの標準入力とします。そして、コマンドから標準出力に出力さ +れたデータを、リモートシステムに送ります。 +.TP 5 +.B ~#, ~%break +可能であればブレーク信号を送ります。 +.TP 5 +.B ~c directory, ~%cd directory +ローカルディレクトリを変更します。 +.TP 5 +.B ~> file +ファイルをリモートシステムに送ります。本コマンドは、ファイルを通信路を +経由して、ファイルをダンプするのに用いられます。この場合、リモートシス +テムがこの動作を想定して動作しているものとみなして動作しますので、注意 +して下さい。 +.TP 5 +.B ~< +リモートシステムからファイルを受信します。このコマンドを実行すると、 +.I cu +コマンドは、ローカルファイル名と、ファイル転送のためにリモート側で実 +行すべきコマンドの入力を促します。本コマンドは、 +.B eofread +変数で指定される文字を受信するまでデータ受信を継続します。 +.TP 5 +.B ~p from to, ~%put from to +ファイルをリモート Unix システムに送信します。本コマンドは、リモート +システムがファイルを受信するために必要なコマンドを自動的に起動します。 +.TP 5 +.B ~t from to, ~%take from to +リモート Unix システムから、ファイルを取得します。本コマンドは、リモート +システムからファイルを送信するために必要なコマンドを自動的に起動します。 +.TP 5 +.B ~s variable value +.I cu +の変数を、指定した値に設定します。値が指定されなかった場合、変数は +.B true +に設定されます。 +.TP 5 +.B ~! variable +.I cu +の変数を +.B false +に設定します。 +.TP 5 +.B ~z +cu セッションをサスペンドします。この機能は、そんなに多くのシステムで +サポートされているわけではありません。 +^Z によってジョブをサスペンドできるシステムでは、 +.B ~^Z +も、セッションをサスペンドします。 +.TP 5 +.B ~%nostop +XON/XOFF 制御を無効にします。 +.TP 5 +.B ~%stop +XON/XOFF 制御を有効にします。 +.TP 5 +.B ~v +全ての変数と、その変数に設定された値を表示します。 +.TP 5 +.B ~? +使用可能なすべてのコマンドを表示します。 + +.I cu +は、いろんな変数を備えています。これらの環境変数一覧は、 +.B ~v +コマンドを用いて表示することができ、 +.B ~s +もしくは +.B ~! +コマンドを用いて設定することが可能です。 + +.TP 5 +.B escape +エスケープ文字。初期値は +.B ~ +(チルダ)です。 +.TP 5 +.B delay +この変数が true の場合には、 +.I cu +はエスケープ文字を受信してからローカルシステム名を出力するまでに +1 秒のウェイトが入ります。デフォルトでは true です。 +.TP 5 +.B eol +行末文字として認識される文字の一覧を表示します。エスケープ文字は +以下のいずれかが現れた後にしか認識されません。デフォルトでは、 +キャリッジリターン +および、^U, ^C, ^O, ^D, ^S, ^Q, ^R の各文字です。 +.TP 5 +.B binary +ファイルを送信する時に、バイナリデータを転送するかしないかを設定します。 +本変数が false の場合には、ファイル中のニューライン記号はすべて、キャリッ +ジリターンに変換されます。 +デフォルトでは false です。 +.TP 5 +.B binary-prefix +.B binary +変数が true の状態でファイル転送を行う時に、 +バイナリ文字を送る前に使われる文字列の設定を決めます。 +デフォルトでは ^V に設定されます。 +.TP 5 +.B echo-check +リモートシステムのエコーバックをチェックすることで、ファイル転送のチェ +ックをするかどうか決めます。しかし、あまりちゃんと動かないでしょう。 +デフォルトでは false です。 +.TP 5 +.B echonl +ファイル中の1行を送信した後に検出しようとする文字を設定します。 +デフォルトでは、キャリッジリターンです。 +.TP 5 +.B timeout +エコーバックもしくは +.B echonl +文字の検出をタイムアウトとする時間を秒単位で設定します。 +デフォルトでは 30 です。 +.TP 5 +.B kill +エコーチェックが失敗した場合に、1 行削除に使う文字を設定します。 +デフォルトでは ^U です。 +.TP 5 +.B resend +エコーチェックが失敗しつづけた場合に、1 行を再送する回数を設定します。 +デフォルトでは 10 です。 +.TP 5 +.B eofwrite +.B ~> +コマンドを用いてファイルを送信し終った場合に、最後に送信する文字列を +設定します。デフォルトでは、^D です。 +.TP 5 +.B eofread +.B ~< +コマンドを用いてファイルを受信する場合に、検出する文字列を設定します。 +デフォルトでは $ です。この文字列は、典型的なシェルプロンプトです。 +.TP 5 +.B verbose +ファイル転送時に、転送情報を表示するかどうか設定します。デフォルトで +は true です。 +.SH オプション +.I cu. +コマンドでは、以下のオプションが指定可能です。 +.TP 5 +.B \-e, \-\-parity=even +偶数パリティを用います。 +.TP 5 +.B \-o, \-\-parity=odd +奇数パリティを用います。 +.TP 5 +.B \-\-parity=none +パリティは用いません。 +.B \-e +と +.B \-o +が同時に指定された場合もパリティなしになります。 +.TP 5 +.B \-h, \-\-halfduplex +文字のローカルエコーを許可します(半二重モード)。 +.TP 5 +.B \-\-nostop +XON/XOFF 制御を無効にします。デフォルトでは有効です。 +.TP 5 +.B \-E char, \-\-escape char +エスケープ文字を指定します。初期値は +.B ~ +(チルダ)です。 +.B \-E '' +とすることにより、エスケープ文字を無視できます。 +.TP 5 +.B \-z system, \-\-system system +発呼先のシステムを指定します。 +.TP 5 +.B \-c phone-number, \-\-phone phone-number +発呼先の電話番号を指定します。 +.TP 5 +.B \-p port, \-\-port port +使用するポートを指定します。 +.TP 5 +.B \-a port +.B \-\-port port +と同じです。 +.TP 5 +.B \-l line, \-\-line line +使用する回線を、デバイス名で指定します。本オプションは、UUCP 設定ファイル +に記述されていないポートを用いて通信を行なう場合に使用されます。当該デバ +イスには、write パーミッションが許可されていることが必要になります。 +.TP 5 +.B \-s speed, \-\-speed speed +通信速度(ボーレート)を設定します。 +.TP 5 +.B \-# +# に位置するのは数字です。 +.B \-\-speed # +と同じです。 +.TP 5 +.B \-n, \-\-prompt +使用する電話番号の問い合わせプロンプトを出力します。 +.TP 5 +.B \-d +デバッグモードに入ります。これは +.B \-\-debug all +と同様です。 +.TP 5 +.B \-x type, \-\-debug type +特定のデバッグタイプを有効にします。タイプとしては、abnormal, chat, +handshake, uucp-proto, proto, port, config, spooldir, execute, incoming, +outgoing があります。 +.I cu +では、abnormal, chat, handshake, port, config, incoming, outgoing +が意味を持ちます。 + +本オプションでは、コンマで区切ることで複数のデバッグタイプが指定可能です。そして、 +.B \-\-debug +オプションは、1回のコマンド起動で複数回指定可能です。 +また、タイプとして数字を指定することも可能です。例えば、 +.B \-\-debug 2 +という指定は、 +.B \-\-debug abnormal,chat +と同じ意味です。 +.B \-\-debug all +は、すべてのデバッグオプションが指定されたのと同じです。 +.TP 5 +.B \-I file, \-\-config file +使用するコンフィギュレーションファイルの指定を行ないます。ただし、本オ +プションは、 +.I cu +のコンパイル条件によっては使用できないことがあります。 +.TP 5 +.B \-v, \-\-version +バージョンを表示し、終了します. +.TP 5 +.B \-\-help +ヘルプメッセージを表示し、終了します。 +.SH バグ +本プログラムは、あまり良好に動作しません。 +.SH 関連ファイル +ファイル名は、コンパイル環境や設定ファイルの内容によって変わることが +あります。ここに挙げるのは、一例でしかありません。 + +.br +/etc/uucp/config - 設定ファイル +.SH 作者 +Ian Lance Taylor +<ian@airs.com> + diff --git a/ja_JP.eucJP/man/man1/cursor.1 b/ja_JP.eucJP/man/man1/cursor.1 new file mode 100644 index 0000000000..5829a96724 --- /dev/null +++ b/ja_JP.eucJP/man/man1/cursor.1 @@ -0,0 +1,74 @@ +.\" Copyright (c) 1992,1993,1994 Hellmuth Michaelis +.\" +.\" 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 Hellmuth Michaelis +.\" 4. The name authors may not be used to endorse or promote products +.\" derived from this software without specific prior written permission. +.\" +.\" THIS SOFTWARE IS PROVIDED BY THE AUTHORS ``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 AUTHORS 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. +.\" +.\" @(#)cursor.1, 3.20, Last Edit-Date: [Mon Dec 19 20:30:40 1994] +.\" jpman %Id: cursor.1,v 1.3 1997/07/22 17:10:13 horikawa Stab % +.\" +.Dd December 19, 1994 +.Dt CURSOR 1 +.Sh 名称 +.Nm cursor +.Nd pcvt VT220 ビデオドライバでカーソルの形状を設定する。 +.Sh 書式 +.Nm cursor +.Op Fl d Ar device +.Op Fl n Ar screenno +.Op Fl s Ar lineno +.Op Fl e Ar lineno +.Sh 解説 +.Nm cursor +ユーティリティは、上述のドライバの仮想画面でカーソル形状を設定します。 +.Pp +オプションは以下の通りです。 +.Bl -tag -width Ds +.It Fl d +カーソルの形状を設定するデバイスを指定します。 +.It Fl n +次に続く変数で、仮想画面の番号を設定します。変数が設定されていない場合、 +現在の仮想端末か、 -d 変数での画面が仮定されます。 +.It Fl s +カーソルが始まる(上の)スキャンラインを設定します。 +.It Fl e +カーソルが終る(下の)スキャンラインを設定します。 +.El +.Pp +変数は現在使用中の文字フォントの大きさに基づいて調整される必要があることに +注意してください。 +現在 8, 14, 16 のスキャンラインの EGA, VGA ボードだけが +サポートされています。 +.Sh 使用例 +コマンド +.Dq Li cursor -s3 -e10 +は、14 ライン VGA 画面の現在の仮想画面で、カーソルを四角形にします。 +.Sh バグ +知られているバグはありません。 +.Sh 関連項目 +.Xr loadfont 1 , +.Xr scon 1 , +.Xr pcvt 4 diff --git a/ja_JP.eucJP/man/man1/cut.1 b/ja_JP.eucJP/man/man1/cut.1 new file mode 100644 index 0000000000..44ab0bdae3 --- /dev/null +++ b/ja_JP.eucJP/man/man1/cut.1 @@ -0,0 +1,113 @@ +.\" %NetBSD: cut.1,v 1.5 1995/03/26 20:51:25 glass Exp % +.\" +.\" Copyright (c) 1989, 1990, 1993 +.\" The Regents of the University of California. All rights reserved. +.\" +.\" This code is derived from software contributed to Berkeley by +.\" the Institute of Electrical and Electronics Engineers, Inc. +.\" |