diff --git a/ja_JP.eucJP/man/man1/bc.1 b/ja_JP.eucJP/man/man1/bc.1 index 2af96b2e77..a78f323598 100644 --- a/ja_JP.eucJP/man/man1/bc.1 +++ b/ja_JP.eucJP/man/man1/bc.1 @@ -1,792 +1,800 @@ .\" .\" bc.1 - the *roff document processor source for the bc manual .\" .\" This file is part of GNU bc. -.\" Copyright (C) 1991, 1992, 1993, 1994, 1997 Free Software Foundation, Inc. +.\" Copyright (C) 1991-1994, 1997, 2000 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. +.\" along with this program; see the file COPYING. If not, write to: +.\" The Free Software Foundation, Inc. +.\" 59 Temple Place, Suite 330 +.\" Boston, MA 02111 USA .\" .\" You may contact the author by: -.\" e-mail: phil@cs.wwu.edu +.\" e-mail: philnelson@acm.org .\" us-mail: Philip A. Nelson .\" Computer Science Department, 9062 .\" Western Washington University .\" Bellingham, WA 98226-9062 .\" +.\" %$FreeBSD: src/contrib/bc/doc/bc.1,v 1.4.6.1 2001/03/04 09:34:56 kris Exp % .\" jpman %Id: bc.1,v 1.3 1997/07/26 10:23:05 konuma Stab % .\" -.TH bc 1 .\" "Command Manual" v1.04 "June 22, 1995" +.TH bc 1 .\" "Command Manual" v1.06 "Sept 12, 2000" .SH 名称 bc - 任意精度の計算言語 .SH 書式 -\fBbc\fR [ \fB-lwsqv\fR ] [long-options] [ \fI file ...\fR ] +\fBbc\fR [ \fB-hlwsqv\fR ] [long-options] [ \fI file ...\fR ] .SH バージョン -このマニュアルは GNU bc version 1.04 について記述してあります。 +このマニュアルは GNU bc version 1.06 について記述してあります。 .SH 解説 \fBbc\fR は、任意の精度の数値を扱う事ができ、プログラミング言語 C の文法に よく似た形の入力を対話的に実行する言語です。 コマンドラインのオプションの指定により、標準数学ライブラリを使用することも できます。これを指定した場合は、どのファイルを処理するよりも前に 数学ライブラリが定義されます。 \fBbc\fR は動作を開始するとまず最初にコマンドラインで指定したファイルを 順に処理します。すべてのファイルを処理した後は、\fBbc\fR は 標準入力からの読み込みを行います。すべてのコードは、それが読み込ま れた時点で実行されていきます。(もし、ファイル中にプロセッサを止める コマンドが含まれていた場合は、標準入力からの読み込みは行われません。) .PP 本バージョンの \fBbc\fR は、伝統的な \fBbc\fR の実装および POSIX のドラフト規格よりも拡張されています。コマンドラインオプションにより、 これらの拡張に対して警告を表示したり拒絶したりすることが可能です。 本ドキュメントでは、このプロセッサが受理する言語について説明します。 拡張機能についてはその旨明記します。 .SS オプション -.IP -l +.IP "-h, --help" +使用方法を表示し、終了します。 +.IP "-i, --interactive" +対話モードを強制します。 +.IP "-l, --mathlib" 標準数学ライブラリを定義します。 -.IP -w +.IP "-w, --warn" POSIX \fBbc\fR に対する拡張機能が入力された場合は警告を出します。 -.IP -s +.IP "-s, --standard" POSIX \fBbc\fR の言語仕様に厳密に従って処理します。 -.IP -q +.IP "-q, --quiet" GNU bc 導入メッセージを表示しません。 -.IP -v -バージョン番号と著作権を表示して終了します。 -.IP --mathlib -標準数学ライブラリを定義します。 -.IP --warn -POSIX \fBbc\fR に対する拡張機能が入力された場合は警告を出します。 -.IP --standard -POSIX \fBbc\fR の言語仕様に厳密に従って処理します。 -.IP --quiet -GNU bc 導入メッセージを表示しません。 -.IP --version +.IP "-v, --version" バージョン番号と著作権を表示して終了します。 .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 文字の空白として扱われます。 (これにより、コメントはその前後の入力アイテムを切り離します。たとえば、 変数名の途中にコメントを置くことはできません。) コメントの中にはいくつ改行があってもかまいません。 .PP \fBbc\fR をスクリプトとしても使えるようにするため、1 行コメントが 拡張機能として追加されました。1 行コメントは \fB#\fR で始まり、 次の改行まで有効です。その改行文字自体はコメントの一部とはみなされず、 普通に処理されます。 .SS 式 `数' は、式および文によって操作されます。 この言語は対話的になるように設計されているため、 文および式は可能な限り即座に実行されます。 "main" プログラムといったものはなく、そのかわり、コードは それに出くわした時点で実行されます。 (後で述べる`関数'は、それに出くわした時点で定義されます。) .PP 式の最も単純なものは、ただの定数です。\fBbc\fR は、入力された 定数を、変数 \fBibase\fR で指定される現在の基数を元に、内部的には 10 進表現の 数に変換します。(関数の場合には例外があります。) \fBibase\fR には、2 から 16 までが使用できます。 この範囲を越える値を \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(a)*b, max( \fBscale,\fR scale(a)))) となります。 expr^0 は常に 1 を返します。 .IP "( expr )" 標準の優先度を使わずに、この式の評価を優先します。 .IP "var = expr" 式の値が変数に代入されます。 .IP "var = expr" "var" が一度しか評価されないこと以外は "var = var 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 (各々偽および真) になります。 論理演算子は以下の通り。 .IP "!expr" expr が 0 なら 1 になります。 .IP "expr && expr" expr1 と expr2 が両方とも 0 でないなら、1 になります。 .IP "expr || expr" expr1 と expr2 のどちらか一方が 0 でないなら、1 になります。 .PP 各演算子の優先順位と結合規則は次の通りです。 (最初のものほど低く、後にいくほど高い優先順位で先に実行されます。) .nf .RS || (左から結合) && (左から結合) ! (結合せず) 関係演算 (左から結合) 代入演算 (右から結合) + - (左から結合) * / % (左から結合) ^ (右から結合) - (単項マイナス) (結合せず) ++ -- (結合せず) .RE .fi .PP この優先順位は、POSIX \fBbc\fR のプログラムがそのまま正しく動くように 配慮して決められています。このため、関係演算と論理演算を 代入文と共に用いた場合、通常とは異なる振る舞いをします。 次の例を考えてみましょう: .RS a = 3 < 5 .RE .PP C プログラマのほとんどは、 ``3 < 5'' の関係演算が実行された結果 (つまり 1) が変数 ``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" (は改行) は改行ではなく空白に見えます。 文のリストは、セミコロンと改行で区切られた文の並びです。 以下、\fBbc\fR の文の種類とその動作について説明します。 (なお、以下の説明で ([]) で括った部分は省略可能な項です。) .IP "演算式" 演算式には次の 2 つの種類があります。 演算式が " ..." で始まっていれば、 それは代入文として扱われます。 そうでなければ、演算式は評価されて出力に表示されます。 結果が表示された後、改行が表示されます。 例えば、"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 ) statement1 [\fBelse\fR statement2]" if 文は演算式 expression を評価し、その値に応じて 文 statement1 または文 statement2 を実行します。 expression の値が 0 でなければ statement1 が実行されます。 statement2 が存在し、expression の値が 0 ならば、statement2 が実行されます。 (else 節は拡張機能です。) .IP "\fBwhile\fR ( expression ) statement" while 文は expression が 0 でない間、繰り返し statement を実行します。 statement の実行前に毎回 expression を評価します。 expression の値が 0 になるか、break 文を実行すると、 ループが終了します。 .IP "\fBfor\fR ( [expression1] ; [expression2] ; [expression3] ) statement" for 文は statement の繰り返し実行を制御します。 expression1 はループ実行の前に評価されます。 expression2 は statement の実行前に毎回評価され、 その値が 0 でなければ statement が実行されます。 expression2 の値が 0 になると、ループは終了します。 各 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 は数あるいは配列 (拡張機能) です。 関数定義では、0 あるいは 1 個以上のパラメータ名を コンマで区切って並べることで定義します。 数は値渡し(call by value)でのみ渡され、配列は変数渡し(call by variable)で のみ渡されます。 配列はパラメータ定義中で "\fIname\fB[]\fR" のように表記して指定します。 関数呼び出しでは、数のパラメータに対して完全な演算式の実パラメータを 記述します。 配列を渡す表記は配列パラメータ定義と同様です。 名前付き配列は変数(variable)によって関数に渡されます。 関数定義はダイナミックゆえ、 パラメータの数と型は関数呼び出しの際にチェックされます。 パラメータの数あるいは型に何らかの不整合があると、 ランタイムエラーが発生します。 未定義関数を呼び出した場合もランタイムエラーとなります。 .PP \fIauto_list\fR は省略可能で、ローカル変数として使用する変数のリスト です。auto_list が存在するなら、その文法は "\fBauto \fIname\fR, ... ;" となります。(セミコロンは省略可能です。) 各 \fIname\fR がローカル変数の名前となります。 配列はパラメータと同様の表記で指定できます。 これらの変数は、関数の最初でその値がスタックにプッシュされたのち 値 0 に初期化され、関数の実行中に使用されます。 これらの変数は関数出口にてポップされ、 (関数呼び出し時の)元の値が復元されます。 パラメータは実際にはローカル変数であり、 関数呼び出しで与えられた値に初期化されます。 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 の値をもとに変換が行われます。 +.PP +拡張機能ですが、定義の書式が若干緩やかになりました。 +標準では、開くブレースが \fBdefine\fR キーワードと同じ行にあることと、 +他の部分が引き続く行にあることが必須です。 +本バージョンの \fBbc\fR では、関数の開くブレースの前後の改行数は任意です。 +例えば、次の定義は合法です。 +.nf +.RS +\f(CW +define d (n) { return (2*n); } +define d (n) + { return (2*n); } +\fR +.RE +.fi .SS 数学ライブラリ \fBbc\fR に \fB-l\fR オプションを付けて起動した場合は、数学ライブラリが 読み込まれ、デフォルトの scale が 20 に設定されます。 数学関数は、それを呼び出した時点の scale の値に従って計算を行います。 数学ライブラリによって使用可能になる関数は、次の通りです: .IP "s (\fIx\fR)" sin (x の単位はラジアン) .IP "c (\fIx\fR)" cos (x の単位はラジアン) .IP "a (\fIx\fR)" atan (返り値の単位はラジアン) .IP "l (\fIx\fR)" log (自然対数) .IP "e (\fIx\fR)" exp (指数関数) .IP "j (\fIn,x\fR)" 整数 n 次のベッセル関数 .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 readline オプション +.SS readline と libedit のオプション GNU \fBbc\fR は (configure のオプションによって) GNU \fBreadline\fR -入力エディタライブラリを使うようにコンパイルできます。 +入力エディタライブラリまたは BSD \fBlibedit\fR ライブラリ +を使うようにコンパイルできます。 これは、\fBbc\fR に入力する前に、行の編集を可能にします。 以前に入力した行のヒストリも利用可能になります。このオプションで コンパイルされた \fBbc\fR では、さらに 1 つの特殊な変数 \fBhistory\fR が追加され、ヒストリに保存される行の数を指定します。 +\fBreadline\fR では、 その値が -1 (デフォルト値)なら、ヒストリ行は制限なく保存されます。 正の数を指定すると、ヒストリ行がその数に制限されます。 -0 ならヒストリ機能が無効になります。詳しくは、ユーザマニュアルの -GNU \fBreadline\fR と \fBhistory\fR ライブラリをご覧下さい。 +0 ならヒストリ機能が無効になります。 +デフォルト値は 100 です。 +詳しくは、ユーザマニュアルの +GNU \fBreadline\fR と \fBhistory\fR ライブラリと +BSD \fBlibedit\fR をご覧下さい。 +\fBreadline\fR と \fBlibedit\fR の両方を同時に有効化できません。 .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 式の中でのみ 用いることができます。 また、これらの文の中ではただ 1 つの関係演算しか使えません。 .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 "return 文" +POSIX \fBbc\fR では、return 文の周りに括弧が必要です。 .IP "配列パラメータ" POSIX \fBbc\fR では (現在のところ) 配列パラメータは完全には使えません。 POSIX の文法では、関数定義では配列を使えますが、実際に呼び出すときの パラメータに配列を指定することができません。(これはおそらく、文法上の 見落としでしょう。) 伝統的な \fBbc\fR の実装では、配列パラメータは値渡し のみでした。 +.IP "function format" +POSIX \fBbc\fR では、開くブレースが \fBdefine\fR キーワードと同じ行にあり、 +\fBauto\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 は以下の環境変数を解釈します。 .IP "POSIXLY_CORRECT" \fB-s\fR オプションと同じです。 .IP "BC_ENV_ARGS" これは \fBbc\fR に引数を渡す別の方法で、コマンドライン引き数と 同じ書式です。この引数が最初に処理されるので、この環境変数で 指定されたファイルはコマンドライン引数で指定されたファイルよりも 先に処理されます。これにより、毎回 \fBbc\fR を呼び出すごとに 処理する「標準の」オプションやファイルを設定できます。この環境変数で 指定するファイルには、\fBbc\fR を走らせるたびに定義しておきたいような 関数の定義を書いておくとよいでしょう。 .IP "BC_LINE_LENGTH" 数字を出力するときの 1 行の文字数を整数で指定します。 数字が長過ぎると、バックスラッシュと改行を含めた出力となります。 -.SH 関連ファイル -ほとんどの実装では、\fBbc\fR は完全に自己完結しています。 -実行ファイルのサイズが重要視される場合や、 -C コンパイラが長い文字列を扱えない場合は、 -\fBbc\fR は /usr/local/lib/libmath.b から標準の数学ライブラリを読み込みます。 -(実際のディレクトリ位置はこれとは異なり、 -例えば /lib/libmath.b かも知れません。) .SH 診断 コマンドラインで指定したファイルがオープンできない場合、 \fBbc\fR はファイルが利用できない旨を表示して終了します。 また、コンパイル時あるいはランタイムの診断メッセージもありますが、 それらは自身で理解できるようになっているはずです。 .SH バグ エラーリカバリがまだうまくいっていません。 .PP バグ報告は、 -.BR bug-gnu-utils@prep.ai.mit.edu +.BR bug-bc@gnu.org に電子メールでお願いします。 単語 ``bc'' を ``Subject:'' フィールドのどこかに入れておいてください。 .SH 作者 .nf Philip A. Nelson -phil@cs.wwu.edu +philnelson@acm.org .fi .SH 謝辞 実装をテストする際に 広範囲に手助けしてくれた Steve Sommars (Steve.Sommars@att.com) に感謝します。 たくさんの素晴らしい意見をもらいました。 彼のおかげでとてもよいものになりました。 diff --git a/ja_JP.eucJP/man/man1/catman.1 b/ja_JP.eucJP/man/man1/catman.1 index a7e2a70f3d..c7a973a701 100644 --- a/ja_JP.eucJP/man/man1/catman.1 +++ b/ja_JP.eucJP/man/man1/catman.1 @@ -1,143 +1,143 @@ .\" Copyright (c) March 1996 Wolfram Schneider . 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 .\" -.\" %FreeBSD: src/gnu/usr.bin/man/catman/catman.1,v 1.17.2.4 2000/12/27 14:02:16 ru Exp % +.\" %FreeBSD: src/gnu/usr.bin/man/catman/catman.1,v 1.17.2.5 2001/03/05 18:17:26 ru Exp % .\" jpman %Id: catman.1,v 1.3 1997/04/01 14:14:59 horikawa Stab % .Dd March 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 L | Fl locale .Op Fl p | Fl print .Op Fl r | Fl remove .Op Fl v | Fl verbose -.Op Ar directories... +.Op Ar directories ... .Sh 解説 .Nm はマニュアルを 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 L , Fl locale ロケール環境変数を調査し、 ローカライズされたマニュアルサブディレクトリと 本エントリのみに使用する処理を調べます。 .It Fl p , Fl print 実際にはマニュアルのフォーマットを行わず、何を行うかのみを表示します。 .It Fl r , Fl remove 不要ファイルを削除します。例えば、 man 形式の無い cat 形式、 圧縮された cat 形式がある非圧縮の cat 形式、 英数字で構成されていないファイル名を持つファイル、 圧縮された man 形式がある非圧縮の man 形式です。 .It Fl v , Fl verbose より多くの警告を表示します。 .El .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/periodic/weekly/330.catman .It Pa /etc/periodic/weekly/330.catman このプログラムを起動します .Sh 特徴 既に全てのマニュアルがフォーマットされている場合、 動作が非常に速くなります。 いくつかのシステムで採用されている .Fl w はサポートされていません。 .Ql whatis データベースを再構築するには .Xr makewhatis 1 を使って下さい。 .Sh バグ .Xr man 1 は setuid プログラムです。ユーザ .Sq man が cat 形式のマニュアルを格納するディレクトリに 対して書き込み権限を持つように注意して下さい。 .Nm は .Sq .so というマニュアルをチェックしません。 マニュアルの必要以上のフォーマットを避けるには ハードリンク、シンボリックリンクを使って下さい。 .Sh 関連項目 .Xr makewhatis 1 , .Xr man 1 , .Xr manpath 1 .Sh 歴史 このバージョンの .Nm は .Fx 2.1 から付属されました。 .Sh 作者 Wolfram Schneider .Aq wosch@FreeBSD.org , Berlin. diff --git a/ja_JP.eucJP/man/man1/chmod.1 b/ja_JP.eucJP/man/man1/chmod.1 index ac91385eb8..130e8d5e53 100644 --- a/ja_JP.eucJP/man/man1/chmod.1 +++ b/ja_JP.eucJP/man/man1/chmod.1 @@ -1,332 +1,330 @@ .\" 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 -.\" %FreeBSD: src/bin/chmod/chmod.1,v 1.17.2.2 2001/01/16 10:31:38 ru Exp % +.\" %FreeBSD: src/bin/chmod/chmod.1,v 1.17.2.3 2001/03/05 09:43:00 asmodai Exp % .\" .\" jpman %Id: chmod.1,v 1.2 1997/04/01 01:37:14 mutoh Stab % .Dd March 31, 1994 .Dt CHMOD 1 .Os .Sh 名称 .Nm chmod .Nd ファイルのモードを変更する .Sh 書式 .Nm chmod .Oo .Fl f .Fl R .Op Fl H | Fl L | Fl P .Fl v .Oc .Ar mode -.Ar file ... +.Ar .Sh 解説 .Nm は指定されたファイルのモードを .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 指定されたファイル自身だけではなく、それらをルートとする ディレクトリ階層を再帰的に検索してモードを変更します。 .It Fl f .Nm が .Va file のモードを変更できなかった場合に、診断メッセージを表示しません。 .It Fl v .Nm を冗長にし、モードが変更されるファイルを表示させます。 .El .Pp シンボリックリンクはモードを持たないので、 .Fl H または .Fl L オプションが指定されていなければ、シンボリックリンクに対する .Nm 実行結果は常に真となり、何も変えません。 .Fl H , .Fl L , .Fl P オプションは、 .Fl R オプションが指定されていなければ無視されます。また、これらが 複数指定されると最後に指定したものが有効になります。 .Pp ファイルのモードの変更はそのファイルの所有者とスーパユーザだけにしか 許されていません。 .Sh 診断 .Nm は正常終了時には 0 を、エラーが生じたときは 0 より大きい値を返します。 .Sh モード モードには、数値を用いた絶対値指定と、シンボルによる指定があります。 数値指定では、以下の値を .Ar ``or'' で組み合わせた 8 進数を用います: .Pp .Bl -tag -width 6n -compact -offset indent .It Li 4000 (set-user-ID-on-execution ビット) このビットがセットされている実行可能ファイルは、 ファイルを所有するユーザ ID に実効ユーザ ID を設定されて実行されます。 set-user-id ビットをセットされているディレクトリは、 その中で作成される全てのファイルおよびディレクトリの所有者を ディレクトリの所有者に設定することを強制し、 作成するプロセスのユーザ ID は無関係となります。 これは、ディレクトリが存在するファイルシステムが この機能をサポートしている場合に限られます: .Xr chmod 2 と .Xr mount 8 の .Ar suiddir オプションを参照してください。 .It Li 2000 (set-group-ID-on-execution ビット) このビットがセットされている実行可能ファイルは、 ファイルを所有するグループ ID に実効グループ ID を設定されて実行されます。 .It Li 1000 (スティッキービット) ディレクトリに設定した時には、 非特権ユーザは、所有するファイルのみ削除およびリネーム可能となり、 ディレクトリのパーミッションは無関係となります。 .Fx では、実行可能ファイルに設定されたスティッキービットは無視され、 ディレクトリにのみ設定可能です ( .Xr sticky 8 参照)。 .It Li 0400 所有者の読み込みを許可。 .It Li 0200 所有者の書き込みを許可。 .It Li 0100 ファイルの場合、所有者の実行を許可。 ディレクトリの場合、所有者の検索を許可。 .It Li 0040 グループのメンバの読み込みを許可。 .It Li 0020 グループのメンバの書き込みを許可。 .It Li 0010 ファイルの場合、グループのメンバの実行を許可。 ディレクトリの場合、グループのメンバの検索を許可。 .It Li 0004 他者の読み込みを許可。 .It Li 0002 他者の書き込みを許可。 .It Li 0001 ファイルの場合、他者の実行を許可。 ディレクトリの場合、他者の検索を許可。 .El .Pp 例えば、所有者に読み込み・書き込み・実行を許可し、 グループのメンバに読み込み・実行を許可し、 他者に読み込み・実行を許可し、 set-uid と set-gid を指定しない絶対値指定のモードは、 755 (400+200+100+040+010+004+001) となります。 .Pp シンボルによる指定は以下の文法に従います。 .Bd -literal -offset indent mode ::= clause [, clause ...] clause ::= [who ...] [action ...] action 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 .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 で +値はそれぞれの who シンボルの対応するビットに作用し、それを umask で マスクしたビットがセットされます。 .Ar who シンボルが指定されていれば、その .Ar perm 値が設定されます。 .It \&\- .Ar perm 値が指定されていなければ、``\-'' は何の作用もありません。 .Ar who シンボルが指定されていなければ、 .Ar perm -値はそれぞれのwhoシンボルの対応するビットに作用し、それを umaskで +値はそれぞれの who シンボルの対応するビットに作用し、それを umask で マスクしたビットがクリアされます。 .Ar who シンボルが指定されていれば、その .Ar perm 値がクリアされます。 .It = .Ar who -シンボルで指定されたモードビットがクリアされます。whoシンボルが指定 +シンボルで指定されたモードビットがクリアされます。who シンボルが指定 されていなければ、所有者、グループ、その他の各モードビットがクリアされ ます。 .Ar who シンボルが指定されていなければ、 -permで指定したビットが、所有者、グループ、その他のそれぞれを umaskで +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 互換性 .Fl v オプションは非標準であり、スクリプト中の使用は非推奨です。 .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 , .Xr mount 8 , .Xr sticky 8 .Sh 規格 .Nm ユーティリティは、規格にない .Ar perm シンボルの .Dq t -と -.Dq X を除いては .St -p1003.2 互換になるように作られています。 .Sh 歴史 .Nm コマンドは .At v1 から導入されました. diff --git a/ja_JP.eucJP/man/man1/compile_et.1 b/ja_JP.eucJP/man/man1/compile_et.1 index 589b2841b9..6add0e32aa 100644 --- a/ja_JP.eucJP/man/man1/compile_et.1 +++ b/ja_JP.eucJP/man/man1/compile_et.1 @@ -1,80 +1,79 @@ .\" Copyright (c) 1988 Massachusetts Institute of Technology, .\" Student Information Processing Board. All rights reserved. .\" -.\" %FreeBSD: src/contrib/com_err/compile_et.1,v 1.1.2.1 2001/01/10 14:20:43 ru Exp % +.\" %FreeBSD: src/contrib/com_err/compile_et.1,v 1.1.2.2 2001/03/05 11:27:28 asmodai 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文字まで): .Pp .Em error_table name .Pp 続いて以下の形式のエントリ(256 エントリまで): .Pp .Em error_code name , " .Em string " .Pp そして最後にテーブルの終わりを示す次の行です: .Pp .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/cp.1 b/ja_JP.eucJP/man/man1/cp.1 index 472e7f5cf9..0bb51e0e38 100644 --- a/ja_JP.eucJP/man/man1/cp.1 +++ b/ja_JP.eucJP/man/man1/cp.1 @@ -1,227 +1,236 @@ .\" 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 -.\" %FreeBSD: src/bin/cp/cp.1,v 1.16.2.1 2000/12/08 13:34:32 ru Exp % +.\" %FreeBSD: src/bin/cp/cp.1,v 1.16.2.2 2001/03/05 04:32:59 mckay 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 pv .Ar source_file target_file .br .Nm cp .Oo .Fl R .Op Fl H | Fl L | Fl P .Oc .Op Fl f | i .Op Fl pv .Ar source_file ... target_directory .Sh 解説 1 番目の書式の場合、 .Nm は .Ar source_file の内容を .Ar target_file にコピーします。 2 番目の書式の場合、 .Ar source_file の各々が .Ar target_directory の中へコピーされます。このとき 名前は変更されません。 コピー先が元のファイル自身になるような 指定を .Nm が検出した場合、コピーは失敗します。 .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 はそのディレクトリとそれ以下の 部分木を構成するすべてのファイルをコピーします。シンボリックリンクに ついては、それが指している先のファイルをコピーするのではなく シンボリックリンクのままコピーします。特殊ファイルについても 通常ファイルとしてではなく .Nm が特殊ファイルを生成することでコピーします。 作成されるディレクトリの属性はプロセスの umask 値の 影響を受けず、対応するコピー元ディレクトリと同じ属性となります。 +.Pp +ハードリンクされたファイルについては、 +.Nm +が別々のファイルとしてコピーすることに注意してください。 +ハードリンクを保つためには、代りに +.Xr tar 1 , +.Xr cpio 1 , +.Xr pax 1 +を使ってください。 .It Fl f コピー先にすでに同名のファイルが存在する場合、そのファイルのパー ミッションに関わらず、確認を求めずにそれを消去して新しくファイル を作成します。( .Fl f オプションより前の .Fl i オプションは無視されます。) .It Fl i すでに存在するファイルへの上書きを伴うコピーを実行する前に、 上書きするかどうかの確認プロンプトを標準エラー出力へ出力するよう .Nm に指示します。標準入力からの返答が 文字 .Sq Li y か .Sq Li Y で始まっていればコピーが実行されます。 ( .Fl i オプションより前の .Fl f オプションは無視されます。) .It Fl p ファイルの変更時刻・アクセス時刻・フラグ・モード・ユーザ ID・グループ ID などを、パーミッションが許す範囲内で可能な限り保存してコピーするよう .Nm に指示します。 .Pp ユーザ ID やグループ ID が保存できない場合でも、エラーメッセージは出力されず 戻り値も変化しません。 .Pp コピー元ファイルに SETUID ビットが立っておりかつそのユーザ ID が保存できない 場合、SETUID ビットは保存されません。コピー元ファイルに SETGID ビットが 立っておりかつそのグループIDが保存できない場合、SETGID ビットは保存されません。 コピー元のファイルに SETUID ビットと SETGID ビットが共に 立っておりかつそのユーザ ID かグループ ID のいずれか一方でも保存できない場合、 .Fl p オプションが指定されていない限り、 SETUID ビットと SETGID ビットの両方が保存されません。 .It Fl v .Nm を冗長にし、コピーする時ファイルを表示させます。 .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 オプションが指定されていなければ無視されます。 また、これらのオプションは互いに打ち消し合い、 最後に指定されたものが有効になります。 .Sh 診断 .Nm ユーティリティは は成功すると戻り値 0 を、エラーが発生すると 0 より大きな戻り値を返します。 .Sh 互換性 従来版の .Nm には .Fl r オプションがありました。本実装でもこのオプションはサポートされていますが、 特殊ファイル・シンボリックリンク・FIFO などを正しくコピーできないため、 これを使用することは奨められません。 .Pp .Fl v は標準ではありませんし、スクリプト中での使用はお勧めしません。 .Sh 関連項目 .Xr mv 1 , .Xr rcp 1 , .Xr umask 2 , .Xr fts 3 , .Xr symlink 7 .Sh 規格 .Nm コマンドは、 .St -p1003.2 互換を想定しています。 .Sh 歴史 .Nm コマンドは .At v1 から登場しました。 diff --git a/ja_JP.eucJP/man/man1/dc.1 b/ja_JP.eucJP/man/man1/dc.1 index 7060a15294..6996322d1e 100644 --- a/ja_JP.eucJP/man/man1/dc.1 +++ b/ja_JP.eucJP/man/man1/dc.1 @@ -1,408 +1,448 @@ .\" .\" dc.1 - the *roff document processor source for the dc manual .\" .\" This file is part of GNU dc. -.\" Copyright (C) 1994, 1997, 1998 Free Software Foundation, Inc. +.\" Copyright (C) 1994, 1997, 1998, 2000 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. +.\" along with this program; see the file COPYING. If not, write to: +.\" The Free Software Foundation, Inc. +.\" 59 Temple Place, Suite 330 +.\" Boston, MA 02111 USA .\" -.\" %FreeBSD: src/contrib/bc/doc/dc.1,v 1.3 2000/01/16 10:14:50 obrien Exp % +.\" %FreeBSD: src/contrib/bc/doc/dc.1,v 1.3.2.1 2001/03/04 09:34:56 kris Exp % .\" .\" jpman %Id: dc.1,v 1.4 1997/07/26 21:29:52 horikawa Stab % .\" .TH DC 1 "1997-03-25" "GNU Project" .ds dc \fIdc\fP .ds Dc \fIDc\fP .SH 名称 dc \- 任意精度の計算機 .SH 書式 -dc +dc [-V] [--version] [-h] [--help] + [-e scriptexpression] [--expression=scriptexpression] + [-f scriptfile] [--file=scriptfile] + [file ...] .SH 解説 .PP \*(dc は、逆ポーランド形式の無限精度の計算が行える卓上計算機です。 この電卓は、定義やマクロ呼び出しも行えます。 普通、\*(dc は標準入力から読み込みます。 コマンドライン引数が与えられた時は、それはファイル名となり、 \*(dc はそのファイルを読み込み、ファイルの内容を実行した後で、 標準入力から入力を取ります。 通常の出力はすべて標準出力へ、エラー出力はすべて標準エラー出力へ 送られます。 .PP 逆ポーランド記法計算機は、数をスタックに保存します。 数字を入力すると、それをスタックに積み上げます。 計算操作は、引数をスタックから取り出し、結果をスタックに積み上げます。 .PP 数字を .IR dc に入力するためには、数字 (小数点が有っても構いません) を入力します。 指数表現はサポートされていません。 負の数字を入力するためには、``_'' で始まる数字を入力します。 ``-'' は減算の二項演算子として使われているので、 このために利用することはできません。 引き続いて 2 つの数字を入力するためには、あいだに空白文字か改行文字を 入力します。 これらは、コマンドとしての意味はありません。 +.SH オプション +\*(dc は、次のコマンドラインオプション付きで起動可能です: +.TP +.B -V +.TP +.B --version +実行される \*(dc のバージョンと著作権情報を表示し、終了します。 +.TP +.B -h +.TP +.B --help +これらのコマンドラインオプションを短くまとめたメッセージと +バグ報告アドレスを表示し、終了します。 +.TP +.B -e \fIscript\fP +.TP +.BI --expression= script +.I script +中のコマンドを、入力処理中に実行するコマンド集合に追加します。 +.TP +.B -f \fIscript-file\fP +.TP + +.BI --file= script-file +ファイル +.I script-file +中のコマンドを、入力処理中に実行するコマンド集合に追加します。 +.PP +上記オプションの処理後にコマンドラインパラメータが残った場合、 +これらのコマンドラインパラメータは処理対象の入力ファイル名として +解釈されます。 +ファイル名 +.B - +は、標準入力ストリームを指します。 +ファイル名を指定しないと、標準入力が処理されます。 .PD .SH 表示コマンド .TP .B p スタックを変更することなく、スタックの先頭の値を表示します。 改行文字が、数値の後に表示されます。 .TP .B n スタックの先頭の値を表示し、スタックから取り出します。 改行文字は、後に表示されません。 .TP .B P スタックの先頭の値をスタックから取り出します。 値が文字列の場合、末尾の改行を付けずに、単に表示します。 そうでない場合、これは数値であり、数値の絶対値の整数部分が、 \&"基数 (UCHAR_MAX+1)" のバイトストリームとして表示されます。 ここで (UCHAR_MAX+1) は 256 を仮定すると (ほとんどのマシンでは 8 ビットバイトなので)、文字列 \fBKSK 0k1/ [_1*]sx d0>x [256~aPd0 r スタックから 2 つの値を取り出し、それらを数と仮定して比較し、 もともとのスタックの先頭が大きい場合、レジスタ .I r の内容を実行します。 したがって、 .B 1 2>a は、レジスタ .BR a の内容を実行しますが、 .B 2 1>a では実行しません。 .TP .BI !> r 似ていますが、もともとのスタックの戦闘が 2 番目の値よりも大きくない場合 (2 番目の値以下である場合)、マクロを起動します。 .TP .BI < r 似ていますが、もともとのスタックの先頭が小さい場合にマクロを実行します。 .TP .BI !< r 似ていますが、もともとのスタックの戦闘が 2 番目の値よりも小さくない場合 (2 番目の値以上である場合)、マクロを起動します。 .TP .BI = r 似ていますが、2 つの取り出された値が等しい場合にマクロが実行されます。 .TP .BI != r 似ていますが、2 つの取り出された値が等しくない場合にマクロが実行されます。 .ig これは、2 つの文字列の等価性を比較するためにも使うことができます。 .. .TP .B ? 端末から行を読み込み、実行します。 このコマンドは、ユーザからの入力を要求するためのマクロで使えます。 .TP .B q マクロを終了し、それを呼び出したマクロからも終了します。 一番上のレベルか、一番上のレベルから直接呼ばれたマクロから呼ばれると、 .B q コマンドは \*(dc を終了します。 .TP .B Q スタックから値を取り出し、それを終了すべきマクロレベル数として、 その数のマクロを終了します。 したがって、 .B 3Q は、3 つのレベルを終了します。 .B Q コマンドでは、\*(dc を終了することはありません。 .SH 状態の問い合わせ .TP .B Z スタックから値を取り出し、その桁数 (文字列の場合は、文字数) を計算し、 その値をスタックに積みます。 .TP .B X スタックから値を取り出し、その小数点以下の桁数を計算し、 その値をスタックに積みます。文字列の場合、スタックには .\" -1. 0 が積まれます。 .TP .B z 現在のスタックの深さを、スタックに積みます。 スタックの深さとは、 .B z コマンドが実行される前のスタックのデータ数です。 .SH その他のさまざまなこと .TP .B ! 行の末尾までををシステムコマンドとして実行します (シェルエスケープ) 。 .\"(訳注)シェルエスケープは、訳者が付け足しました。 .\" 2.2.1R 対象(1997/05/04) Takeshi MUTOH コマンド !<, !=, !> のパーズが優先しますので、<, =, > で開始する コマンドを起動したい場合には、! の後に空白を加える必要があります。 .TP .B # 行の末尾までをコメントとして取り扱います。 .TP .BI : r スタックから 2 つの値を取り出します。 スタックの先頭だった値で配列 .IR r をインデックスし、スタックの先頭から 2 番目だった値をそこに保存します。 .TP .BI ; r スタックから値を取り出し、配列 .IR r のインデックスとして利用します。 配列から選ばれた値は、その後でスタックに積まれます。 .SH バグ .PP バグ報告は、 -.BR bug-gnu-utils@prep.ai.mit.edu +.BR bug-dc@gnu.org に電子メールでお願いします。 単語 ``dc'' を ``Subject:'' フィールドのどこかに入れておいてください。 diff --git a/ja_JP.eucJP/man/man1/df.1 b/ja_JP.eucJP/man/man1/df.1 index 3b24fd3885..27f563685c 100644 --- a/ja_JP.eucJP/man/man1/df.1 +++ b/ja_JP.eucJP/man/man1/df.1 @@ -1,182 +1,182 @@ .\" 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. .\" .\" @(#)df.1 8.3 (Berkeley) 5/8/95 -.\" %FreeBSD: src/bin/df/df.1,v 1.18.2.3 2000/12/08 13:34:32 ru Exp % +.\" %FreeBSD: src/bin/df/df.1,v 1.18.2.4 2001/03/05 09:55:59 asmodai Exp % .\" .\" jpman %Id: df.1,v 1.2 1997/04/07 05:31:08 mutoh Stab % .Dd May 8, 1995 .Dt DF 1 .Os BSD 4 .Sh 名称 .Nm df .Nd ディスクの空き領域等の表示 .Sh 書式 .Nm df .Oo .Fl b | h | H | k | .Fl m | P .Oc .Op Fl ain .Op Fl t Ar type -.Op Ar file | Ar filesystem ... +.Op Ar file | filesystem ... .Sh 解説 .Nm は、 .Ar file_system で指定したファイルシステム、 もしくは .Ar file で指定したファイルが実際に格納されているファイルシステムの空きディスク容量の 表示を行います。 ディスク容量は、512 バイトを 1 ブロックとしたブロック数で表示 します。 .Nm の引数として、 .Ar file_system も .Ar file も指定されなかった場合は、マウントされているすべてのファイ ルシステムについての情報を表示します。 ただし、 .Fl t オプションによって、表示するファイルタイプの指示が可能です。 .Pp オプションとしては以下のものがあります: .Bl -tag -width Ds .It Fl a MNT_IGNORE フラグ付きでマウントされたものを含め、 全マウントポイントを表示します。 .It Fl b デフォルト値でなく 512 バイトブロックを使用します。 これは、環境の .Ev BLOCKSIZE 指定に優先することに注意してください。 .It Fl g デフォルト値でなく 1073741824 バイト (1 G バイト) ブロックを使用します。 これは、環境の .Ev BLOCKSIZE 指定に優先することに注意してください。 .It Fl H 「人間が読める」出力です。 単位サフィックスに、バイト、キロバイト、メガバイト、 ギガバイト、テラバイト、ペタバイトを使用して数字を 3 桁以下に減らします。 大きさの基数は 10 です。 .It Fl h 「人間が読める」出力です。 単位サフィックスに、バイト、キロバイト、メガバイト、 ギガバイト、テラバイト、ペタバイトを使用して数字を 3 桁以下に減らします。 大きさの基数は 2 です。 .It Fl i フリーな i ノードの情報も表示します。 .It Fl k デフォルトの 512 バイトではなく、 1024 バイト (1K バイト) を 1 ブロックとしてディスク容量を表示します。 このオプションは、環境変数 .Ev BLOCKSIZE の指示を無効にします。 .It Fl m デフォルトの代りに 1048576 バイト (1 M バイト) ブロックを使用します。 これは、環境の .Ev BLOCKSIZE 指定に優先することに注意してください。 .It Fl n .Fl n オプションが指定されると、 .Nm は、ファイルシステムから以前に得た情報を返します。 情報の問い合わせに長い時間を要するおそれのあるファイルシステムに対して 用いるオプションです。 このオプションを指定すると、 .Nm はファイルシステムに新しい情報を問い合わせず、 以前に取得しておいた最新ではない可能性のある情報を表示します。 .It Fl P デフォルトの代りに POSIX 準拠の 512 バイトブロックの出力を行います。 これは、環境の .Ev BLOCKSIZE 指定に優先することに注意してください。 .It Fl t 指示されたタイプのファイルシステムに関する情報のみ を表示します。 複数のタイプをコンマで区切ってリスト指定可能です。 リスト中のファイルシステムタイプの前に .Dq no を付けて、そのファイルシステムタイプに対しては動作 .Em しない ように指定可能です。 例えば、 .Nm コマンド: .Bd -literal -offset indent df -t nonfs,mfs .Ed .Pp は .Tn NFS および .Tn MFS 以外の全ファイルシステムを表示します。 システム上で利用可能なファイルシステムタイプは .Xr lsvfs 1 コマンドを使用して調べられます。 .Sh 環境変数 .Bl -tag -width BLOCKSIZE .It Ev BLOCKSIZE 環境変数 .Ev BLOCKSIZE が設定されていれば、指定された値をブロックサイズとしてブロック数を表示します。 .El .Sh バグ .Ar file_system または .Ar file が指示されてた場合は、 .Fl n オプションと .Fl t オプションは 無効になります。 .Sh 関連項目 .Xr lsvfs 1 , .Xr quota 1 , .Xr fstatfs 2 , .Xr getfsstat 2 , .Xr statfs 2 , .Xr getmntinfo 3 , .Xr fstab 5 , .Xr mount 8 , .Xr quot 8 .Sh 歴史 .Nm ユーティリティは .At v1 から登場しています。 diff --git a/ja_JP.eucJP/man/man1/echo.1 b/ja_JP.eucJP/man/man1/echo.1 index 5eaf9ad8e1..e1d10fc3d0 100644 --- a/ja_JP.eucJP/man/man1/echo.1 +++ b/ja_JP.eucJP/man/man1/echo.1 @@ -1,78 +1,83 @@ .\" Copyright (c) 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. .\" .\" @(#)echo.1 8.1 (Berkeley) 7/22/93 -.\" %FreeBSD: src/bin/echo/echo.1,v 1.10.2.1 2000/12/08 13:34:33 ru Exp % +.\" %FreeBSD: src/bin/echo/echo.1,v 1.10.2.2 2001/03/05 17:57:29 ru Exp % .\" jpman %Id: echo.1,v 1.2 1997/04/02 00:07:04 mutoh Stab % .\" .Dd July 22, 1993 .Dt ECHO 1 .Os .Sh 名称 .Nm echo .Nd 引数の文字列を標準出力に出力する .Sh 書式 .Nm echo .Op Fl n -.Op "string ..." +.Op Ar string ... .Sh 解説 .Nm -は、各引数の間を 1 つの空白文字 (`` '') で区切り、最後に改行 (``\en'') を -付加したものを標準出力に書き出します。 +は、各引数の間を 1 つの空白文字 +.Pq Ql "\ " +で区切り、最後に改行 +.Pq Ql \en +を付加したものを標準出力に書き出します。 .Pp オプションとしては以下のものがあります: .Bl -tag -width flag .It Fl n 改行を付加しません。 これは、iBCS2 互換システムで行われていたように、 -文字列の最後に `\ec' を付け加える事でも実現できます。 +文字列の最後に +.Ql \ec +を付け加える事でも実現できます。 .El .Pp シェルによっては、本ユーティリティと似たまたは同じ、組み込みの .Nm コマンドを提供しているものがあります。 .Xr builtin 1 マニュアルページを参照してください。 .Sh 診断 成功した場合は 0 を、エラーが起きた場合は 0 より大きな値を返します。 .Sh 関連項目 .Xr builtin 1 , .Xr csh 1 , .Xr printf 1 , .Xr sh 1 .Sh 規格 .Nm ユーティリティは .St -p1003.2 準拠です。 diff --git a/ja_JP.eucJP/man/man1/ed.1 b/ja_JP.eucJP/man/man1/ed.1 index 99e8dabc22..79c1b69ed0 100644 --- a/ja_JP.eucJP/man/man1/ed.1 +++ b/ja_JP.eucJP/man/man1/ed.1 @@ -1,885 +1,886 @@ -.\" %FreeBSD: src/bin/ed/ed.1,v 1.17.2.4 2000/12/18 14:52:16 ru Exp % +.\" %FreeBSD: src/bin/ed/ed.1,v 1.17.2.5 2001/03/05 17:57:30 ru Exp % .\" jpman %Id: ed.1,v 1.2 1997/06/09 15:03:56 jsakai Stab % .Dd May 21, 1993 .Dt ED 1 .Os .Sh 名称 .\" ed, red \- text editor .Nm ed , .Nm red .Nd 行指向のテキストエディタ .Sh 書式 .Nm ed .Op Fl .Op Fl sx .Op Fl p Ar string .Op Ar file .\" .LP .\" red [-] [-sx] [-p \fIstring\fR] [\fIfile\fR] .Sh 解説 .Nm ed は、行指向のテキストエディタです。 本コマンドを用いることで、テキストファイルの生成、表示、変更その他の操作を 行なうことができます。 .\" .B red .\" is a restricted .\" .BR ed : .\" it can only edit files in the current .\" directory and cannot execute shell commands. .Pp .Ar file 引数を指定して本コマンドを起動すると、ファイル .Ar file のコピーをエディタのバッファに読み込みます。 以後の変更はそのコピーに対して行なわれ、 .Ar file で指定したファイル自身が直接変更されることはありません。 .Nm コマンドを終了する際、 .Em w コマンドで明示的にセーブしなかった変更点はすべて失われます。 .Pp 編集は、 .Em コマンド モードと .Em 入力 モードの 2 つの異なるモードを使い分けて行ないます。 .Nm を起動したら、まずコマンドモードに入ります。 本モードでは、標準入力からコマンドを読み込み、それを実行することで エディタバッファの内容操作を行ないます。 典型的なコマンドは、以下のようなものです。 .Pp .Sm off .Cm ,s No / Em old Xo .No / Em new .No / Cm g .Xc .Sm on .Pp これは、編集しているテキストファイル中に .Em old という文字列があったら、これらをすべて文字列 .Em new に置き換えるコマンドです。 .Pp .Em a (append)、 .Em i (insert)、あるいは .Em c (change) といった入力コマンドが入力された場合、 .Nm は入力モードに移行します。これが、ファイルにテキストを追加する 主たる方法です。 このモードでは、コマンドを実行することはできません。 そのかわり、標準入力から入力されたデータは、 直接エディタバッファへと書き込まれます。行は、改行キャラクタまで のテキストデータおよび、最後の .Em 改行 キャラクタを含むデータから構成されます。 ピリオド 1 つだけ .Pq Em .\& の行を入力すると、入力モードを終了します。 .Pp すべての .Nm コマンドは、全ての行もしくは指定した範囲の行の操作が可能です。例えば、 .Em d コマンドは指定した行を削除し、 .Em m コマンドは指定した行を移動します。 上に示した例のように、置換によってある行の一部分のみを変更することは 可能ですが、 .Em s コマンドは、一度に全部の行にわたって変更を行なうことも可能です。 .Pp 一般的には、 .Nm コマンドは、0 個以上の行番号および、それに連なる 1 文字コマンドから 成り立ちます。場合によっては追加のパラメータをもつこともあります。 いうなれば、コマンドは以下の構造を持ちます。 .Pp .Sm off -.Xo Op "address\ " Op ,address -.No command Op parameters +.Xo +.Op Ar address Op , Ar address +.Ar command Op Ar parameters .Xc .Sm on .Pp 行番号はコマンドの操作対象行あるいは対象行範囲を示します。 行番号の指定個数が、コマンドが受け付け可能な個数よりも少ない場合には、 デフォルトの行番号が採用されます。 .Sh オプション 以下のオプションが使用できます。 .Bl -tag -width indent .It Fl s 診断メッセージを抑制します。本オプションは、 .Nm の入力がスクリプトによって行なわれる場合に有効です。 .It Fl x 続く読み書きの際に行なわれる暗号化に用いる鍵の入力を促します ( .Em x コマンドを参照して下さい)。 .It Fl p Ar string コマンドプロンプトとして表示する文字列を指定します。 コマンドプロンプトは、コマンドモードで .Em p コマンドを実行することで、表示する/しないを切り替えることが可能です。 .It Ar file 編集対象のファイルを指定します。 .Ar file 名の先頭に感嘆符 (!) が付加されていた場合、そのファイル名はシェルコマンドと して解釈されます。この場合、編集対象として読み込まれるテキストは、 .Xr sh 1 が .Ar file で指定したコマンドを実行した結果、標準出力に出力されるデータです。 先頭が感嘆符で始まるファイルを編集する場合には、ファイル名の先頭に バックスラッシュ (\\) を付加して下さい。 感嘆符以外の文字で始まるファイル名については、編集対象のファイル名は .Ar file となります。 .El .Sh 行指定 行は、バッファ内の行番号で表現されます。 .Nm は .Em 現在行 を管理しており、 コマンドに行番号が指定されない場合は、 現在行がデフォルト行として用いられます。 ファイルが最初に読み出された直後は、現在行はファイルの最後の行となります。 一般的に、現在行はコマンドが操作した最後の行となります。 .Pp 行番号は、以下の一覧のうち 1 つおよび、補助的に付加される 相対行番号 (オフセット) から構成されます。 相対行番号は、任意の数字の組み合わせと演算子、そして空白文字を含みます ( 例えば .Em + , .Em - や .Em ^ が演算子に含まれます ) 。 行番号は、左から右に解釈され、それらの演算子を含む値は、現在行からの相対行番 号と解釈されます。 .Pp 行番号の表現に関して上記の規則が適用される中で、行番号 .Em 0 ( ゼロ ) に関しては、例外的な扱いがされます。 これは「最初の行より前」を意味し、 それが正しい意味を持つ場合は常に利用可能です。 .Pp 行範囲は、コンマもしくはセミコロンで区切られた 2 つのアドレスで示されます。 -最初に指定される行番号は、2番目に指定される行番号を超える値を指定して -はいけません。行範囲指定で行番号が 1 つしか指定されなかった場合には、2番目に +最初に指定される行番号は、2 番目に指定される行番号を超える値を指定して +はいけません。行範囲指定で行番号が 1 つしか指定されなかった場合には、2 番目に 指定されるアドレスとして最初に指定されたアドレスが設定され -ます。ここで 3個以上の行番号が指定されると、最後の 2 つの行番号で +ます。ここで 3 個以上の行番号が指定されると、最後の 2 つの行番号で 決定される範囲がコマンド実行対象になります。行番号の指定を 1 つだけしか 想定していないコマンドの場合、最後の 1 つの行番号の行がコマンド実行対象 となります。 .Pp コンマで区切られた各行番号は、現在行からの相対行を指し示します。 セミコロンで区切られている場合は、範囲の始めの行は現在行が設定され、 範囲の終りは始めの行からの相対行で表わされます。 .Pp 行番号の指定には、以下のシンボルが使用可能です。 .Bl -tag -width indent .It . バッファ中の現在行を表します。 .It $ バッファ中の最終行を表します。 .It n バッファ内の .Em n 番目の行を表します。 .Em n は、 .Em [0,$] の間です。 .It - or ^ 1 行前の行です。 相対行指定 .Em -1 と同等であり、複数指定することで効果を累積することが可能です。 .\" --- という指定をすることで、2 行前を示すことができます。 .\" ↑原文中に無いのでコメントアウト sakai@jp.freebsd.org (Jun 9,1997) .It -n or ^n .Em n 行前の行を表します。 .Em n は、負でない整数です。 .It + 次の行を表します。 これは、 .Em +1 と同様であり、 .Em - と同様の累積的指定が可能です。 .It +n or whitespace .Em n 行後ろの行を表します。 .Em n は、負でない整数です。 .Em n の前に .Em whitespace ( 空白文字 ) を付加して指定した場合も .Em +n と解釈されます。 .\" ↓原文中に無いのでコメントアウト sakai@jp.freebsd.org (Jun 9,1997) .\" ただし、空白文字による指定を行なった場合は、単独では現在行からの相対行数を .\" 指定することはできず、相対行指定の基準となる行をその前に指定しなければなり .\" ません。 .It , or % バッファの最初から最後までを表します。これは、 .Em 1,$ と指定した場合と同等です。 .It ; バッファ中の現在行から最後の行までを表します。これは、 .Em .,$ と指定した場合と同等です。 .It /re/ 指定された正規表現 .Em re を含む、(現在行よりも後ろの) 次の行を表します。 必要であれば、文字列検索はテキスト先頭に折り返し、 現在行に達するまで検索を行ないます。 // は、最後に行なった検索を繰り返します。 .It ?re? 指定した正規表現 .Em re を含む、現在行より前の行を表します。 必要であれば、文字列検索はテキストの最後に折り返し、 現在行に達するまで検索を行ないます。 ?? は、最後に行なった検索を繰り返します。 .It 'lc .Em k (mark) コマンドでマークをつけた行を表します。ここで .Em lc は、英小文字1文字です。 .El .Sh 正規表現 正規表現はテキストを選択する際に用いるパターンです。 例えば次の .Em ed コマンド .Pp .Sm off .Cm g No / Em string Xo .No / .Xc .Sm on .Pp は .Em string を含む全ての行を表示します。 正規表現は .Em s コマンドで古いテキストを新しいテキストで置き換える際にも用いられます。 .Pp 文字リテラルを指定するのに加え、 正規表現は文字列のクラスを表現することができます。 このようにして表現された文字列は、それに対応する正規表現に「マッチする」と 言います。 ある正規表現が一つの行の中の複数の文字列にマッチする場合、 マッチする部分のうち最も左にあって最も長いものが選択されます。 .Pp 正規表現を組み立てる際には以下のシンボルが用いられます: .Bl -tag -width indent .It c 以下に挙げるものを除く任意の文字 .Em c は、その文字自身にマッチします。 このような文字には `{', '}', `(', `)', `<', `>' が含まれます。 .It Pf \e c バックスラッシュでエスケープした文字 .Em c は、その文字自身にマッチします。 ただし `{', '}', `(', `)', `<', `>' を除きます。 .It . 任意の一文字にマッチします。 .It Op char-class 文字クラス .Em char-class に含まれる任意の一文字にマッチします。 文字クラス .Em char-class に `]' を含めるには、文字 `]' を最初の文字に指定します。 文字の範囲を指定するには、範囲の両端の文字の間を `-' でつなぎます。 例えば `a-z' は小文字全体を表します。 以下のようなリテラル表記も、文字集合を指定するために文字クラス .Em char-class で使用することができます: .Pp .Bl -column "[:alnum:]" "[:cntrl:]" "[:lower:]" "[:xdigit:]" -compact .It [:alnum:] Ta [:cntrl:] Ta [:lower:] Ta [:space:] .It [:alpha:] Ta [:digit:] Ta [:print:] Ta [:upper:] .It [:blank:] Ta [:graph:] Ta [:punct:] Ta [:xdigit:] .El .Pp 文字クラス .Em char-class の最初あるいは最後の文字として `-' が用いられると、 それはその文字自身にマッチします。 文字クラス .Em char-class 中のこれ以外の文字は全て、それら自身にマッチします。 .Pp 以下の形式の文字クラス中のパターン: .Pp .Bl -item -compact -offset 2n .It .Op \&. Ns Ar col-elm Ns .\& or, .It .Op = Ns Ar col-elm Ns = .El .Pp は .Xr locale 5 に沿って解釈されます (現在のところサポートされません)。ここで .Ar col-elm は .Em collating element です。詳しい説明は .Xr regex 3 を参照して下さい。 .It Op ^char-class 文字クラス .Em char-class に含まれない、改行以外の任意の一文字にマッチします。 文字クラス .Em char-class は上で定義しています。 .It ^ .Em ^ が正規表現の最初の文字である場合、 その正規表現は行頭でのみマッチします。 それ以外の場合、 .Em ^ はそれ自身にマッチします。 .It $ .Em $ が正規表現の最後の文字である場合、 その正規表現は行末でのみマッチします。 それ以外の場合、 .Em $ はそれ自身にマッチします。 .It Pf \e < これに続く単一文字の正規表現あるいはその部分式が、 単語の先頭でのみマッチするようにします (この機能は利用できない 場合があります)。 .It Pf \e > これに続く単一文字の正規表現あるいはその部分式が、 単語の末尾でのみマッチするようにします (この機能は利用できない 場合があります)。 .It Pf \e (re\e) 部分式 (subexpression) .Em re を定義します。部分式はネストできます。 これ以降、 -.Em Pf ^e n +.Pf \e Em n ( .Em n は [1,9] の範囲の数) の形式の後方参照は、 .Em n 番目の部分式にマッチしたテキストに展開されます。 例えば、正規表現 `\e(.*\e)\e1' は、 同じ文字列が隣接しているような任意の文字列にマッチします。 部分式は左側のデリミタから順に番号が振られます。 .It * 直前にある単一文字の正規表現あるいはその部分式のゼロ回以上の繰り返しに マッチします。 .Em * が正規表現あるいはその部分式の最初の文字として用いられた場合、 .Em * はその文字自身にマッチします。 .Em * 演算子は時に予期しない結果をもたらすことがあります。 例えば、正規表現 `b*' は文字列 `abbb' の先頭に マッチします (部分文字列 `bbb' ではありません)。 これはヌルへのマッチが最も左にあるマッチだからです。 .It \e{n,m\e} or \e{n,\e} or \e{n\e} 直前にある単一文字の正規表現あるいはその部分式の、 .Em n 回以上 .Em m 回以下の繰り返しにマッチします。 .Em m が省略された場合、 .Em n 回以上の繰り返しにマッチします。 更にコンマも省略された場合、ちょうど .Em n 回の繰り返しにのみマッチします。 .El .Pp 各 .Xr regex 3 の実装によっては、 更に正規表現演算子がいくつか定義されていることがあります。 .Sh コマンド 全ての .Nm コマンドは、1 文字からなりますが、追加パラメータが必要なコマンドもあります。 コマンドのパラメータが複数の行にわたる場合には、そのパラメータを含めたコマンド の終りを含む行を除き、行末にバックスラッシュ (\\) を付加して下さい。 .Pp 一般的には、1 行ごとに 1 コマンドを入れることが許されています。 しかしながら、ほとんどのコマンドは、コマンド実行を行なった後のデータ更新 その他を確認するために、 .Em p (print)、 や .Em l (list)、 .Em n (enumerate), のような表示系のコマンドを同時に指定できます。 .Pp インタラプト (一般的には ^C) を入力することで、現在実行しているコマンドを 強制終了し、コマンドモードに戻すことができます。 .Pp .Nm は、以下のコマンドを使用できます。コマンド実行時に何の指定もない場合の デフォルトの行番号もしくは行範囲が括弧内に示されています。 .Bl -tag -width indent .It (.)a 指定した行の後にテキストを追加します。 テキストは入力モードで入力されていきます。 現在行番号は、入力された最後の行に設定されます。 .It (.,.)c バッファ内の指定した行を変更します。指定した行のデータは、バッファから消去 され、そこに対してテキストデータを入力するようになります。 テキストは入力モードで入力されていきます。 現在行番号は、入力した最後の行に設定されます。 .It (.,.)d 指定した範囲をバッファから削除します。 削除した範囲の後に行が続いている場合、現在行番号は、その行に設定されます。 そうでない場合には、現在行番号は、削除された範囲の前の行に設定されます。 .It e Ar file .Ar file を編集し、デフォルトのファイル名を設定します。 もし .Ar file が指定されなかった場合には、デフォルトのファイル名が使用されます。 本コマンド実行時に、それまで別のファイルを編集していた場合には、 その内容はすべて消去され、新しいファイルが読み込まれます。 現在行番号は、入力された最後の行に設定されます。 .It e Ar !command .Ar !command で指定されたコマンドを実行し、その結果として標準出力へ 出力されたデータを編集します (後述する .Ar ! command を参照して下さい)。 デフォルトのファイル名は変更されません。 .Ar command の出力が読み込まれる前に、バッファ内に存在した行はすべて消去されます。 現在行番号は、入力された最後の行に設定されます。 .It E Ar file 無条件で .Ar file で指定したファイルを読み込み、編集します。 .Em e コマンドと動作は似ていますが、すでにバッファ上のデータに変更が加えられ ている場合でも、未書き込みの変更を警告を出さずに捨ててしまう点が異なります。 現在行番号は、入力された最後の行に設定されます。 .It f Ar file デフォルトファイル名を .Ar file に設定します。 .Ar file 名が指定されない場合には、デフォルトファイル名が表示されます。 .It (1,$)g/re/command-list .Ar command-list で指定されたコマンドを、指定した正規表現 .Ar re に一致する各行に対して実行します。 現在行番号は、 .Ar command-list で指定されたコマンドが実行される前に、指定した正規表現に一致した行 に設定されます。 .Em g コマンドが終了した場合、現在行番号は最後に .Ar command-list 実行の影響を受けた行に設定されます。 .Pp .Ar command-list で指定されるコマンドは、1 行ごとに 1 つずつ書かれる必要があります。各コマンド 行の終りには、一番最後のコマンド行を除いてはバックスラッシュ (\\) を記述する 必要があります。 コマンド .Em g , .Em G , .Em v , .Em V を除くすべてのコマンドを指定可能です。 .Ar command-list 中の空行は、 .Em p コマンドと同等に扱われます。 .It (1,$)G/re/ 指定した正規表現 .Ar re に一致した行に対して、対話編集を行ないます。 指定した正規表現に一致する文字列を含む行があると、その行を表示し、現在行番号を 設定します。 そして、ユーザに .Ar command-list の入力を促します。 .Em G コマンドが終了した場合、現在行番号は、 .Ar command-list 実行の影響を受けた最後の行に設定されます。 .Pp .Ar command-list の記述形式は、 .Em g コマンドで指定するものと同じです。改行のみの場合は、コマンド実行をしない ( ヌルコマンドリストを指定した ) ものとみなされます。 `&' 文字のみを入力した場合には、 直前に実行した ( ヌルコマンドリストではない ) コマンドを再実行します。 .It H エラーメッセージの出力の有無を切り替えます。 デフォルトでは、エラーメッセージは出力されません。 ed スクリプトを作成する場合、スクリプトのデバッグのために、本コマンドを 最初に実行することをおすすめします。 .It h 最後に表示されたエラーメッセージを表示します。 .It (.)i 編集バッファ中の現在行の前に、テキストを挿入します。 テキストは入力モードで入力されていきます。 現在行番号は、入力された最後の行に設定されます。 .It (.,.+1)j 指定した範囲の行を 1 行に連結します。指定した行はバッファから削除され、 その行の内容を含む 1 行に置き換えられます。 現在行番号は、置き換えられた行に設定されます。 .It (.)klc 行に、英小文字 .Em lc で指定したマークをつけます。 その後、マークをつけられた行は、コマンド中で .Em 'lc (つまり、シングルクォートと小文字 .Em lc ) として指定できるようになります。 マークは、その行が削除されるかもしくは変更されるかしない限り、消えることは ありません。 .It (.,.)l 指定した範囲の行の内容を見やすく表示します。 もし 1 つの行が 1 画面以上を占める場合 ( 例えばバイナリファイルを見ている 場合など ) `--More--' プロンプトが最下行に表示されます。 次の画面を表示する前に .Nm はリターンキーが入力されるまで待ちます。 現在行番号は、表示された最後の行に設定されます。 .It (.,.)m(.) 指定した範囲の行をバッファ内で移動します。指定した行は、 コマンドの右辺で指定した行の後ろに 移動されます。移動先の行としては、 .Em 0 (ゼロ) が指定可能です。 現在行番号は、移動された最後の行に設定されます。 .It (.,.)n 指定した行の内容を、行番号つきで表示します。 現在行番号は、表示された最後の行に設定されます。 .It (.,.)p 指定した範囲の行の内容を表示します。 現在行番号は、表示された最後の行に設定されます。 .It P コマンドプロンプト表示の有無を切り替えます。 コマンド起動時のオプション .Fl p Ar string でプロンプトが指定されていなければ、 コマンドプロンプトの表示はデフォルトでオフになっています。 .It q .Nm を終了します。 .It Q 無条件に .Nm を終了します。 このコマンドは .Em q コマンドと似ていますが、まだファイルに書き出されていない 変更があっても警告せずに終了する点が異なります。 .It ($)r Ar file .Ar file で指定されたファイルを、指定した行の後ろに読み込みます。 .Ar file が指定されない場合、デフォルトのファイル名が読み込みに使用されます。 このコマンドに先だってデフォルトのファイル名が設定されていない場合、 デフォルトのファイル名には、 .Ar file で指定されたものが設定されます。 それ以外の場合、デフォルトのファイル名は変更されません。 現在行番号は、読み込まれたファイルの最後の行に設定されます。 .It ($)r Ar !command .Ar command で指定されたコマンドを実行し、その結果として標準出力へ出力された データを指定した行の後ろに読み込みます (後述する .Ar ! command を参照して下さい)。 デフォルトのファイル名は変更されません。現在行番号は、読み込まれた最後の行の 行番号に設定されます。 .It (.,.)s/re/replacement/ .It (.,.)s/re/replacement/g .It (.,.)s/re/replacement/n 指定した行のテキスト中の、正規表現 .Ar re に一致する文字列を、文字列 .Ar replacement に置き換えます。 デフォルトでは、それぞれの行で最初に一致した文字列のみを置き換えます。 .Em g (global) サフィックスが指定された場合、一致した文字列はすべて置き換えられます。 .Em n サフィックス ( .Em n は正の整数) が指定された場合、 .Em n 回目に一致した文字列だけを置き換えます。 指定した範囲で一度も文字列の置換が起こらなかった場合、エラーとみなされます。 現在行番号は、最後に置換が発生した行に設定されます。 .Pp .Ar re および .Ar replacement は、スペースおよび改行を除くすべてのキャラクタを用いて区切ることが 可能です (後述する .Em s コマンドを見て下さい)。 最後のデリミタのうち 1 つか 2 つが省略された場合、 最後に文字列置換が発生した行は、 .Em p コマンドが指定された場合と同様に表示されます。 .Pp .Ar replacement 中のエスケープされていない `&' は、一致した文字列と置き換えられます。 キャラクタシーケンス .Em \em ( .Em m は [1,9] の範囲の整数です ) は、一致した文字列の .Em m 番目の後方参照で置き換えられます。 .Ar replacement の中に入る文字が `%' のみだった場合、 最後に行なった置換の .Ar replacement が使用されます。 改行を .Ar replacement に指定したい場合は、バックスラッシュを用いてエスケープすれば可能です。 .It (.,.)s 最後の置換を繰り返します。 この形式の .Em s コマンドは、回数を示すサフィックス .Em n もしくは、他の .Em r 、 .Em g 、 .Em p のどのキャラクタとの組み合わせも可能です。 .Em n が指定されると、 .Em n 回目に一致した文字列だけが置換されます。 .Em r サフィックスが指定されると、最後の置換が発生した文字列の変わりに、 最後に指定した正規表現が使用されます。 .Em g サフィックスは、最後の置換で用いたグローバルサフィックスの使用の 有効/無効を切り替えます。 .Em p サフィックスは、最後の置換に指定されたプリントサフィックスを反転します。 現在行番号は、最後に置換が発生した行に設定されます。 .It (.,.)t(.) 指定した範囲の行を、コマンド文字の右辺に指定した行番号の後に コピー (つまり転送) します。コピー先の行番号としては、 .Em 0 (ゼロ) の指定が許されています。 現在行番号は、コピーした一番最後の行の行番号に設定されます。 .It u 最後に実行したコマンドの実行結果を取り消し、現在行番号を、取り消したい コマンドが実行される前のものに戻します。 グローバルコマンドである .Em g 、 .Em G 、 .Em v 、 .Em V については、その改変は 1 コマンドで行なわれたとして扱います。 .Em u は自分自身の動作を取り消すこともできます。 .It (1,$)v/re/command-list 指定した範囲の行のうち、指定した正規表現 .Ar re と一致する文字列が含まれていない行について、 .Ar command-list で指定したコマンドを実行します。 これは .Em g コマンドに動作が似ています。 .It (1,$)V/re/ 指定した範囲の行のうち、指定した正規表現 .Ar re に一致する文字列が含まれていない行について、対話編集を行ないます。 これは .Em G コマンドに動作が似ています。 .It (1,$)w Ar file 指定した範囲の行を、 .Ar file で指定したファイルに書き出します。 それまで .Ar file に格納されていた内容は、警告なしに消去されます。 デフォルトファイル名が設定されていない場合、デフォルトファイル名は .Ar file に設定されます。それ以外の場合では、デフォルトファイル名は変更されません。 ファイル名が指定されなかった場合には、デフォルトファイル名が使用されます。 現在行番号は変更されません。 .It (1,$)wq Ar file 指定した範囲の行を .Ar file で指定したファイルに書き出し、 .Em q コマンドを実行します。 .It (1,$)w Ar !command 指定した範囲の行の内容を .Ar !command の標準入力に書き出します ( .Em !command については、以下の説明を参照して下さい)。 デフォルトファイル名および現在行番号は変更されません。 .It (1,$)W Ar file 指定した範囲の行の内容を、 .Ar file で指定したファイルの後ろに追加書き込みします。 .Em w コマンドと似ていますが、指定したファイルにそれまで格納されていた内容 がなくなることはありません。 現在行番号は変更されません。 .It x 以降の読み書きで用いられる暗号化鍵の入力を促します。 改行のみが入力されると、暗号化は解除されます。 それ以外の場合、キー読み込み中のエコーは抑制されます。 暗号化および復号化は .Xr bdes 1 アルゴリズムを用いて行われます。 .It Pf (.+1)z n 指定した行から一度に .Ar n 行だけスクロールします。 .Ar n が指定されない場合には、現在のウィンドウサイズだけスクロールします。 現在行番号は、最後に表示した行の行番号に設定されます。 .It !command .Ar command で指定したコマンドを、 .Xr sh 1 を用いて実行します。 .Ar command の最初の文字が `!'の場合には、その文字は直前に .Ar !command で実行したコマンド文字列が格納されます。 .Ar command 文字列をバックスラッシュ(\\)でエスケープした場合には、 .Nm は処理を行ないません。 しかし、エスケープされない .Em % 文字があった場合には、その文字列はデフォルトファイル名に置き換えられます。 シェルがコマンド実行から戻ってきた場合には、`!' が標準出力に出力されます。 現在行番号は変更されません。 .It ($)= 指定された行の行番号を表示します。 .It (.+1)newline 指定した行を表示します。そして、現在行番号を表示した行のものに 設定します。 .El .Sh 関連ファイル .Bl -tag -width /tmp/ed.* -compact .It /tmp/ed.* バッファファイル .It ed.hup 端末が回線切断した場合に、 .Nm がバッファ内容を書き出すファイル .El .Sh 関連項目 .Xr bdes 1 , .Xr sed 1 , .Xr sh 1 , .Xr vi 1 , .Xr regex 3 .Pp USD:12-13 .Rs .%A B. W. Kernighan .%A P. J. Plauger .%B Software Tools in Pascal .%O Addison-Wesley .%D 1981 .Re .Sh 制限 .Nm は .Ar file 引数に対してバックスラッシュエスケープ処理を施します。 つまり、ファイル名中でバックスラッシュ (\\) を前につけた文字は、 リテラルとして解釈されます。 .Pp (バイナリではない) テキストファイルの最後が改行文字で終っていない場合、 .Nm はそれを読み書きする際に改行文字を追加します。 バイナリファイルの場合は、 .Nm はこのような改行文字追加は行いません。 .Pp 1 行あたりのオーバヘッドは整数 4 つ分です。 .Sh 診断 エラーが発生すると、 .Nm は `?' を表示し、コマンドモードに戻るか、スクリプトによる実行のエラーの場合には プログラムを終了します。 最後のエラーメッセージについての説明は、 .Em h (help) コマンドを用いることで表示可能です。 .Pp .Em g (global) コマンドは、検索や置換が失敗したというエラーを隠蔽します。 そのため、スクリプトの中で条件つきコマンド実行を行なわせるのによく使われます。 例えば .Pp .Sm off .Cm g No / Em old Xo .No / Cm s .No // Em new .No / .Xc .Sm on .Pp は、出現した文字列 .Em old をすべて文字列 .Em new に置き換えます。 .Em u (undo) コマンドがグローバルコマンドリスト内で実行された場合、コマンドリストは 1 度だけの実行になります。 .Pp 診断が無効にされていないと、 .Nm を終了しようとする場合やバッファ内のデータを書き出さずに他のファイルを 編集しようとする場合にエラーになります。 その場合でも、同一のコマンドを 2 回入力すると、コマンドは成功します。 しかし、それまでの未保存の編集結果は、すべて失われます。 .Sh 歴史 .Nm コマンドは Version 1 AT&T UNIX で登場しました。 diff --git a/ja_JP.eucJP/man/man1/gtar.1 b/ja_JP.eucJP/man/man1/gtar.1 index ff4fb9e181..8dd715edf0 100644 --- a/ja_JP.eucJP/man/man1/gtar.1 +++ b/ja_JP.eucJP/man/man1/gtar.1 @@ -1,588 +1,588 @@ .\" Copyright (c) 1991, 1992, 1993 Free Software Foundation -*- nroff -*- .\" See /usr/src/gnu/COPYING for conditions of redistribution .\" .\" Written by John F. Woods .\" Updated by Robert Eckardt .\" -.\" %FreeBSD: src/gnu/usr.bin/tar/tar.1,v 1.22.2.9 2001/02/26 07:48:39 ume Exp % +.\" %FreeBSD: src/gnu/usr.bin/tar/tar.1,v 1.22.2.10 2001/03/05 18:17:26 ru Exp % .\" .\" jpman %Id: tar.1,v 1.2 1997/06/24 07:09:44 bobson Stab % .Dd December 23, 2000 .Os FreeBSD .Dt TAR 1 .Sh 名称 .Nm tar .Nd "テープアーカイバ; ""tar"" アーカイブファイルの操作" .Sh 書式 .Nm -.Op [-] Ns Ar bundled-options Ar Args +.Op Oo Fl Oc Ns Ar bundled-options Ar Args .Op Ar gnu-style-flags .Op Ar filenames | Fl C Ar directory-name .Ar ... .Sh 解説 .Nm は、歴史的な理由により .Dq tape archiver を省略して名付けられました。 .Nm プログラムは、 .Ar tarfile と呼ばれる .Nm フォーマットのアーカイブファイルを作成し、アーカイブにファイルを追加したり、 またアーカイブからファイルを抽出したりします。 .Ar tarfile は通常磁気テープを指しますが、フロッピディスケットや 通常のファイルでも構いません。 .Pp 通常、 .Nm コマンドラインの最初の引数は、機能文字および機能変更文字からなる単語であり、 その前に ダッシュ (-) を付けても付けなくてもいいようになっています。 単語には、次の機能文字のうち丁度 1 つを含んでいる必要があります: .Cm A , .Cm c , .Cm d , .Cm r , .Cm t , .Cm u , .Cm x , これらはそれぞれ、 .Em 追加 (append) 、 .Em 作成 (create) 、 .Em 差分 (difference) 、 .Em 置換 (replace) 、 .Em リスト表示 (table of contents) 、 .Em 更新 (update) 、 .Em 抽出 (extract) を意味しています (下記に詳細があります)。 これらの他に、以下に詳細を述べる機能変更文字を、コマンド単語に 含めることができます。それらのいくつかは、コマンド単語内と同じ順で コマンドライン引数を要求します ( .Sx 使用例 の節を参照)。 機能文字と機能変更文字は、GNU 形式の引数で指定することもできます (2 つのダッシュを最初に付け、1 つのコマンド単語ごとに機能文字か 機能変更文字を 1 つだけ指定する)。 アーカイブへの追加、アーカイブからの抽出、そしてリスト表示のために コマンドライン指定するファイル名には、 シェルのパターンマッチ文字列を使用することができます。 .Sh 機能 以下の機能のいずれか 1 つだけを必ず指定する必要があります。 .Pp .Bl -tag -width "--concatenate" -compact .It Fl A .It Fl -catenate .It Fl "-concatenate" 指定された ( .Nm アーカイブ形式の) ファイルを tar アーカイブの末尾 に追加します (追加する前の古い end-of-archive ブロックは削除さ れます)。 これは、指定されたファイルがアーカイブの中の 1 ファイルとなるので はなく、指定したファイルの中に含まれているファイルを、最初に指定 したアーカイブに追加するという効果を持ちます。 .Em 注 : このオプションは .Ar tarfile を再書き込みする必要があるため、1/4 インチカートリッジテープでは動作しません。 .It Fl c .It Fl -create 新しいアーカイブを作成して (もしくは古い内容を切り捨てて)、指定 されたファイルをアーカイブに書き込みます。 .It Fl d .It Fl -diff .It Fl -compare アーカイブの中のファイルと、それに相当するファイルシステム内の ファイルとの違いを調査します。 .It Fl -delete 指定されたファイルをアーカイブから削除します (1/4 インチテープでは動作しません)。 .It Fl r .It Fl -append アーカイブの末尾にファイルを追加します (1/4 インチテープでは動作しません)。 .It Fl t .It Fl -list アーカイブ内容のリスト表示をします。もし引数として .Ar filename が指定されていれば、そのファイルだけがリスト表示されます。 そうでなければ、アーカイブに含まれるすべてのファイルリストが表示されます。 .It Fl u .It Fl -update 指定したファイルのうち、アーカイブ内のファイルよりもディスク上の ファイルの変更時刻が新しいものだけを追加します。1/4 インチテープ では動作しません。 .It Fl x .It Fl -extract .It Fl -get アーカイブからファイルを抽出します。可能ならば、所有者、 変更時刻、ファイル属性はリストアされます。もし .Ar file 引数が指定されていなければ、アーカイブ内の全ファイルが抽出されます。 もし .Ar filename 引数がテープ上のディレクトリ名にマッチしていれば、そのディレクトリと ディレクトリ内のファイルが抽出されます (ディレクトリ内の すべてのディレクトリについても同様に抽出されます)。 もしアーカイブ内に、相当する同じファイルが複数含まれていれば (上記の .Fl -append コマンドを参照)、最後に含まれているものが他のすべてのファイルを 上書きする形で抽出されます。 .Sh オプション .Nm の他のオプションは、組み合わせて使用することができます。 1 文字オプションは、コマンド単語の中で指定することができます。 引数を与えるべきオプションの場合、オプションに続けて引数を指定し ます。1 文字オプションであれば、これに続くコマンドライン引数を 使用します (以下の .Sx 使用例 を参照してください)。 .Pp .Bl -tag -width "--preserve-permissions" -compact .It Fl -help .Nm のすべてのコマンドオプションについて一覧と解説を表示します。 .It Fl -atime-preserve テープに書かれている、ファイルのアクセス時刻をリストアします。 (inode の変更時刻が変更されることに注意してください!) .It Fl b .It Fl -block-size Ar number 読み書きするブロックサイズを .Ar number * 512-byte ブロック に設定します。 .It Fl B .It Fl -read-full-blocks 短い読みだしブロックを、完全なブロックに再組み立てします ( .Bx 4.2 パイプの読み込み用)。 .It Fl C Ar directory .It Fl -directory Ar directory 残りの引数を処理する前に .Ar directory へ移動します。 .It Fl -checkpoint アーカイブを読み書きする間に読み書きしたバッファの数を表示します。 .It Fl f Xo .Oo Ar hostname : Oc Ns Ar file .Xc .It Fl -file Xo .Oo Ar hostname : Oc Ns Ar file .Xc 指定された .Ar file (デフォルトは .Pa /dev/sa0 ) を読み書きします。 もし .Ar hostname が指定されていれば、 .Nm は .Xr rmt 8 を使って、リモートマシン上の .Ar file を読み書きします。 .Dq Ar - はファイル名として使用されることもありますが、 これは標準入力から読み出したり、標準出力へ書き出したりするために使用されます。 .It Fl -force-local コロンがある時でさえ、アーカイブファイルはローカルのものとします。 .It Fl F Ar file .It Fl -info-script Ar file .It Fl -new-volume-script Ar file それぞれのアーカイブが終ると、スクリプトを実行します (暗黙の .Fl M 指定が行なわれます)。 .It Fl -fast-read ワイルドカードで指定されていないすべての抽出ターゲットが アーカイブ内に見つかったら、その時点で終了します。 .It Fl G .It Fl -incremental 古い GNU-format インクリメンタルバックアップファイルを作成/リスト/抽出します。 .It Fl g Ar file .It Fl -listed-incremental Ar file 新しい GNU-format インクリメンタルバックアップファイルを 作成/リスト/抽出します。 .It Fl h .It Fl -dereference シンボリックリンクをシンボリックのまま書き込みません。シンボリックリンクが 指しているデータを書き込みます。 .It Fl i .It Fl -ignore-zeros アーカイブの中のゼロブロック (通常、End-Of-File を意味する) を無視します。 .It Fl -ignore-failed-read ファイルが読めなくても、非 0 のステータスで exit しません。 .It Fl j .It Fl y .It Fl -bzip .It Fl -bzip2 .It Fl -bunzip2 アーカイブを .Xr bzip2 1 でフィルタリングします。 .It Fl k .It Fl -keep-old-files ディスク上に既にあるファイルを保持します。つまり、アーカイブから 抽出するファイルは、ディスク上のファイルへ上書きしません。 .It Fl K Ar file .It Fl -starting-file Ar file アーカイブの中の .Ar file から (抽出、リストなどを) 始めます。 .It Fl l .It Fl -one-file-system あるファイルシステム内にあるファイルだけでアーカイブを作成します (他ファイルシステムへのマウントポイントを跨ぎません)。 .It Fl L Ar number .It Fl -tape-length Ar number .Ar number * 1024 バイト書き込んだ後でテープの交換を要求します。 .It Fl m .It Fl -modification-time ファイルの変更時刻を抽出しません。 .It Fl M .It Fl -multi-volume マルチボリュームアーカイブを作成/リスト/抽出します。 .It Fl n .It Fl -norecurse 作成時に再帰的にサブディレクトリを走査しません。 .It Fl -volno-file Ar file ボリューム番号付きのファイル名です。 .It Fl N Ar date .It Fl -after-date Ar date .It Fl -newer Ar date 作成時間が .Ar date より新しいファイルだけを抽出します。 .It Fl -newer-mtime Ar date 変更時間が .Ar date より新しいファイルだけを抽出します。 .It Fl o .It Fl -old-archive .It Fl -portability POSIX フォーマットではなく、V7 フォーマットのアーカイブを作成します。 .It Fl O .It Fl -to-stdout ファイルを標準出力に抽出します。 .It Fl p .It Fl -same-permissions .It Fl -preserve-permissions 保護情報を完全に抽出します。 .It Fl -preserve .Fl p s の指定と同じ効果を持ちます。 .It Fl P .It Fl -absolute-paths ファイル名から先頭の .Ql / をとりません。 .It Fl R .It Fl -record-number メッセージ中にアーカイブ内のレコード番号を埋め込み表示します。 .It Fl -remove-files アーカイブに追加したファイルを、追加後に削除します。 .It Fl s .It Fl -same-order .It Fl -preserve-order アーカイブ内から抽出するファイルを、指定された順のままにします。 .It Fl -show-omitted-dirs アーカイブ作成中に除外されたディレクトリを表示します。 .It Fl S .It Fl -sparse .Dq 疎な ファイルを効率的に扱うようにします。 .It Fl T Ar file .It Fl I Ar file .It Fl -files-from Ar file .Ar file から抽出もしくは作成するファイル名を得ます (1 行 1 ファイル名)。 .It Fl -null null で終わっている名前を考慮し、 .Fl T の振舞を変更します。 これは .Fl C 指定を無効にします。 .It Fl -totals .Fl -create によって書かれた総バイト数を表示します。 .It Fl U .It Fl -unlink .It Fl -unlink-first ファイルを作成する前に、いったん削除します。 .It Fl v .It Fl -verbose .Fl -create でアーカイブに書くファイルや .Fl -extract でアーカイブから 取り出すファイル名をリスト表示します。 ファイルの保護情報をファイル名とともに表示させるには、 .Fl -list を使います。 .It Fl V Ar volume-name .It Fl -label Ar volume-name 指定された .Ar volume-name を持ったアーカイブを作成します。 .It Fl -version .Nm プログラムのバージョン番号を表示します。 .It Fl w .It Fl -interactive .It Fl -confirmation すべての動作に対して、確認を求めるようになります。 .It Fl W .It Fl -verify アーカイブを書き込んだ後、ベリファイを試みます。 .It Fl -exclude Ar pattern .Ar pattern にマッチするファイルを除外します (抽出しません。追加しません。リスト表示しません)。 .It Fl X Ar file .It Fl -exclude-from Ar file .Ar file に一覧されているファイルを除外します。 .It Fl Z .It Fl -compress .It Fl -uncompress アーカイブを .Xr compress 1 でフィルタリングします。 .It Fl z .It Fl -gzip .It Fl -gunzip アーカイブを .Xr gzip 1 でフィルタリングします。 .It Fl -use-compress-program Ar program アーカイブを .Ar program でフィルタリングします (これは、 .Fl d が指定されたときは .Dq decompress を意味しなければなりません)。 .It Fl -block-compress テープもしくはフロッピのために、圧縮プログラムの出力をブロック 化します (そうしないと、ブロック長がおかしくなり、デバイスドライバは そのブロックを拒絶するでしょう)。 .It Fl Xo .Op Cm 0 Ns - Ns Cm 7 Ns .Op Cm lmh .Xc テープドライブと密度を指定します。 .El .Sh 環境 環境変数 .Ev TAR_OPTIONS に .Nm のデフォルトオプションを保持させることが可能です。 これらのオプションは最初に解釈されますので、 明示的なコマンドラインパラメータで上書き可能です。 .Sh 使用例 .Pa bert と .Pa ernie というファイルを含む、 ブロックサイズが 20 ブロックのアーカイブを、 テープドライブ .Pa /dev/sa0 に作るには、 .Dl "tar cfb /dev/sa0 20 bert ernie" もしくは .Dl "tar --create --file /dev/sa0 --block-size 20 bert ernie" と入力します。 .Fl f および .Fl b フラグは両方とも引数を必要としていることに注意してください。 この引数は、コマンド単語に書かれているのと同じ順序でコマンドラインから 取得されます。 .Pp .Pa /dev/sa0 はデフォルトのデバイスであり、20 はデフォルトのブロック サイズですので、上記の例は次のように単純化できます。 .Dl "tar c bert ernie" \&"backup.tar" というアーカイブから、すべての C ソース及びヘッダを 抽出するには、次のようにタイプします。 .Pp .Dl tar xf backup.tar '*.[ch]' .Pp シェルがカレントディレクトリ内のファイル名に展開しないよう、パターンを クォートしなければならないことに注意してください (当然、 シェルはアーカイブ内のファイル一覧にアクセスすることはできません)。 .Pp ファイルを階層構造ごとコピーするには、このようにコマンドを使用してください: .Bd -literal tar cf - -C srcdir . | tar xpf - -C destdir .Ed .Pp ディスケットに、 .Xr gzip 1 を使った圧縮アーカイブを作成するには、次の ようなコマンドラインを使うといいでしょう。 .Dl "tar --block-compress -z -c -v -f /dev/fd1a -b 36 tar/" .Pp まとめ指定フラグと .Fl - スタイルのフラグを混在させることができない ことに注意してください。次のようにタイプしなければならないわけで はなく、上記のような書き方で 1 文字フラグを使うことができます。 .Dl "tar --block-compress --gzip --verbose --file /dev/fd1a --block-size 20 tar/" .Pp 上のようにして作成したディスクの内容は、次のようにすればリスト 表示できます。 .Pp .Dl "tar tvfbz /dev/fd1a 36" .Pp 2 つの .Nm アーカイブを 1 つのアーカイブにまとめるには、 .Dl "tar Af archive1.tar archive2.tar" を使います。こうすると、 .Pa archive2.tar に含まれているファイルが .Pa archive1.tar の末尾に追加されます (単純に .Dl "cat archive2.tar >> archive1.tar" とタイプしてもうまくいかないことに注意してください。なぜなら、 .Nm アーカイブの末尾には end-of-file ブロックがあるからです)。 .Pp .Pa srcdir ディレクトリから 1997 年 2 月 9 日 13:00 以降に変更をされた 全てのファイルをアーカイブするためには、以下の形式を使って下さい。 .Dl "tar -c -f backup.tar --newer-mtime 'Feb 9 13:15 1997' srcdir/" .Pp 他の時間指定形式としては、 .Sq "02/09/97 13:15" , .Sq "1997-02-09 13:15" , .Sq "13:15 9 Feb 1997" , .Sq "'9 Feb 1997 13:15" , .Sq "Feb. 9, 1997 1:15pm" , .Sq "09-Feb" , .Sq "3 weeks ago" , .Sq "May first Sunday" があります。 正しいタイムゾーンを指定するためには、 .Sq "13:15 CEST" や .Sq "13:15+200" を使用して下さい。 .Sh 環境変数 .Nm プログラムは、以下の環境変数を参照します。 .Bl -tag -width "POSIXLY_CORRECT" .It Ev POSIXLY_CORRECT 通常、 .Nm はファイル指定の中に混ざったフラグを処理します。 この環境変数を設定すると、 .Nm は最初のフラグ以外の引数を見つける とそれ以降の引数に対してフラグ処理を行なわないという、POSIX 仕様 に合わせた動作を行なうようになります。 .It Ev SHELL インタラクティブモードにおいて、サブシェルの起動が要求されたとき、 .Ev SHELL 変数が設定されていればそれが、設定されていなければ .Pa /bin/sh が使用されます。 .It Ev TAPE .Nm のデフォルトのテープドライブを変更します (これは、さらに .Fl f フラグによって変更することができます)。 .It TAR_RSH TAR_RSH 環境変数は、デフォルトシェルに優先して、 .Nm tar のデータ転送に使用されます。 .El .Sh 関連ファイル .Bl -tag -width "/dev/sa0" .It Pa /dev/sa0 デフォルトのテープドライブ .El .Sh 互換性 .Fl y は FreeBSD だけの機能です。 GNU .Nm メンテナは、 .Fl j を GNU .Nm 1.13.18 以降における公式な .Xr bzip2 1 圧縮オプションとして採用しました。 .Fl I オプションは、Solaris の .Nm との互換性のためにあります。 .Sh 関連項目 .Xr bzip2 1 , .Xr compress 1 , .Xr gzip 1 , .Xr pax 1 , .Xr rmt 8 .Sh 歴史 .Nm フォーマットは立派な歴史を持っていて、Sixth Edition UNIX に 原点があります。 この .Nm の実装は GNU 実装であり、 .An John Gilmore によって書かれた パブリックドメイン .Nm が元になっています。 .Sh 作者 .An -nosplit 次の人を含む、大変多くの人々。[ソースの中の .Pa ChangeLog ファイルに記述されている人々] .An John Gilmore (オリジナルのパブリックドメイン版の作者), .An Jay Fenlason (最初の GNU 作者), .An Joy Kendall , .An Jim Kingdon , .An David J. MacKenzie , .An Michael I Bushnell , .An Noah Friedman そして バグフィックスや追加を貢献してくれた無数の人々。 .Pp このマニュアルページは .Nx 1.0 release から、 .Fx グループが 取り込んだものです。 .Sh バグ 特徴的な .Fl C オプションの動作は、伝統的な .Nm プログラムのそれとは異なるので、 あまり頼りにはできません。 .Pp .Fl A コマンドで任意の数の .Nm アーカイブを結合できればいいのですが、それはできません。 これをやろうとしても、2 つ目以降のアーカイブの end-of-archive ブロックが削除されずに残ってしまいます。 diff --git a/ja_JP.eucJP/man/man1/ls.1 b/ja_JP.eucJP/man/man1/ls.1 index 510a6e0b0b..12d81dbb8f 100644 --- a/ja_JP.eucJP/man/man1/ls.1 +++ b/ja_JP.eucJP/man/man1/ls.1 @@ -1,507 +1,507 @@ .\" Copyright (c) 1980, 1990, 1991, 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 acknowledgment: .\" 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. .\" .\" @(#)ls.1 8.7 (Berkeley) 7/29/94 -.\" %FreeBSD: src/bin/ls/ls.1,v 1.33.2.7 2000/12/28 17:17:56 hoek Exp % +.\" %FreeBSD: src/bin/ls/ls.1,v 1.33.2.8 2001/03/05 10:05:00 asmodai Exp % .\" .\" jpman %Id: ls.1,v 1.3 1997/05/19 17:21:06 horikawa Stab % .Dd July 29, 1994 .Dt LS 1 .Os .Sh 名称 .Nm ls .Nd ディレクトリの内容のリストを表示する .Sh 書式 .Nm .Op Fl ABCFGHLPRTWabcdfgiklnoqrstu1 -.Op Ar file ... +.Op Ar .Sh 解説 .Nm は .Ar file で指定されたファイル名およびオプションの指定にしたがって、 ファイルに関する各種の情報を表示します。なお、 .Ar file としてディレクトリが指定された場合は、そのディレクトリ配下のファイル に関する情報を表示します。 .Pp .Ar file が指定されなかった場合は、カレントディレクトリのファイルを表示します。 表示はファイル名のアルファベット順にソートされます。ただし、 .Ar file としてディレクトリファイルとそれ以外のファイルを混在して指定した 場合は、ディレクトリ以外のファイルが先に表示され、その後 ディレクトリ配下のファイルが表示されます。 .Pp オプションとしては、以下のものがあります。 .Bl -tag -width indent .It Fl A .Ql .\& と .Ql \&.. を除く全てのエントリを表示します。スーパユーザの場合は、通常 このオプションがセットされています。 .It Fl B ファイル名中の非グラフィック文字を強制的に \\xxx の形式で表示します。 xxx は文字の数値であり 8 進数です。 .It Fl C マルチカラム形式で出力します。端末への出力の場合は、 これがデフォルトになります。 .It Fl F それぞれのパス名の最後に、ディレクトリならばスラッシュ (/)、 実行可能ファイルならばアスタリスク (*)、 シンボリックリンクならばアットマーク (@)、ソケットファイルならば等号 (=)、 .Tn FIFO ならば縦棒 (|) をつけて表示します。 .It Fl G カラー化出力を有効にします。 本オプションは、環境変数 .Ev CLICOLOR を定義することと同等です (後述)。 .It Fl H コマンドラインのシンボリックリンクを追跡します。 .Fl F , .Fl d , .Fl l オプションのいずれも指定されなかった場合、 このオプションが仮定されます。 .It Fl L 引数がシンボリックリンクファイルの場合、リンクファイル自体ではなく、 リンク先のファイルやディレクトリを表示します。 このオプションは .Fl P オプションを打ち消します。 .It Fl P 引数がシンボリックリンクの場合、リンクが参照しているオブジェクトではなく リンク自身を表示します。 このオプションは .Fl H , .Fl L オプションを打ち消します。 .It Fl R サブディレクトリを再帰的に表示します。 .It Fl T ファイルの日付と時間に関する詳細情報 (月・日・時・分・秒・年) を表示します。 .It Fl W ディレクトリ走査時にホワイトアウトも表示します。 .It Fl a ドット (.) で始まるファイルも含めて表示します。 .It Fl b .Fl B と同様ですが、可能であれば C のエスケープコードを使用します。 .It Fl c ファイルソートや時刻出力の際、ファイルステータスの最終変更日付を使用します。 .It Fl d 引数がディレクトリの場合、ディレクトリそのものの情報について表示します (再帰的に表示しません)。 .It Fl f ソートせずに表示します .It Fl g このオプションは、 .Bx 4.3 との互換性のためにだけ利用すべきです。 これは、 ロングフォーマットオプション .Pq Fl l を使ってグループの名前を表示したい時に使います。 .It Fl i 各ファイルについて、i ノード番号を表示します。 .It Fl k .Fl s オプションとともに使用し、ファイルサイズを ブロック単位ではなく K バイト単位で表示します。 このオプションは環境変数 BLOCKSIZE に優先します。 .It Fl l (``エル (L)'' の小文字)。ファイルの詳細情報をロングフォーマットで 表示します (下記参照)。 端末に出力している場合、ロングフォーマットの前の行に、全ファイル のサイズの合計値を表示します。 .It Fl n 長い .Pq Fl l 出力において、 ユーザとグループを名前に変換せずに、 ユーザとグループの ID を数値で表示します。 .It Fl o .Pq Fl l オプションによる詳細情報に、ファイルフラグも含めて表示します。 .It Fl q ファイル名に表示できない文字が使われていたとき、`?' として表示します。 端末に表示するときは、デフォルトでこの指定になります。 .It Fl r 辞書式順序で逆順または時刻の古い順にソートします。 .It Fl s 各ファイルがファイルシステム上で実際に占有している ブロック数 (512 バイト単位) を表示します。 ブロックの一部だけ占有しているものも整数値に切り上げられます。 端末に表示するときは、表示の先頭行に、全ファイルのサイズの合計値 を表示します。 環境変数 BLOCKSIZE は単位サイズ 512 バイトに優先します。 .It Fl t ファイルをアルファベット順に表示する前に、ファイルの最終修正日時の順 (新しいものほど先にくる) にソートします。 .It Fl u .Pq Fl t オプションや .Pq Fl l オプションで、ファイルの最終修正日時の代わりに、ファイルの最終アクセス日時を 使用します。 .It Fl \&1 (数字の ``1'')。 1 行につき 1 エントリの形式で表示します。 端末への出力でない場合には、これがデフォルトです。 .El .Pp .Fl 1 , .Fl C , .Fl l オプションは、互いに他を上書きします。最後に指定されたオプションが有効と なります。 .Pp .Fl c と .Fl u オプションは、互いに他を上書きします。最後に指定されたオプションが有効と なります。 .Pp .Fl B , .Fl b , .Fl q オプションは互いに優先し合う関係にあります。 最後に指定されたものが印字不可文字の書式を決定します。 .Pp -.Fl H, +.Fl H , .Fl L , .Fl P オプションは互いに優先し合う関係にあります(部分的もしくは全体的)。 指定された順序で適用されます。 .Pp デフォルトでは .Nm は標準出力に 1 行 1 エントリずつ表示します。 ただし、出力先が端末である場合および .Fl C オプションが指定された場合は別です。 .Pp .Fl i , .Fl s , .Fl l オプションが指定された場合、関連するファイルの情報は 1 個以上の空白 をあけて表示されます。 .Ss ロングフォーマット .Fl l オプションがつけられた場合、それぞれのファイルに対して以下に示す情報が 表示されます: ファイルモード・ リンク数・所有者名・所有グループ名・ ファイルのバイト数・月の短縮形・最終更新が行なわれた際の日付・時・分・ パス名。 さらに、各ディレクトリに対して、 ディレクトリ内のファイル情報が表示される直前に、 ファイルサイズの合計値が 512 バイトブロック単位で表示されます。 .Pp ファイルの修正修正時刻が 6 ヶ月以上過去もしくは未来の場合、 最終修正年が時間と分のフィールドに表示されます。 .Pp 所有者または所有グループ名が不明の場合、 または .Fl n オプション指定時には、 ID 番号で表示されます。 .Pp ファイルがキャラクタ型もしくはブロック型の特殊ファイルである場合、 ファイルサイズフィールドには ファイルのメジャー番号とマイナー番号が表示されます。 ファイルがシンボリックリンクファイルである場合、 リンク先ファイルのパス名が .Dq \-> によって表示されます。 .Pp .Fl l オプションのもとで表示されるファイルモードは、エントリタイプ、 所有者アクセス許可、所有グループアクセス許可などで成り立っています。 エントリタイプの文字はファイルのタイプを表しており、 各文字の意味は次のとおりです: .Pp .Bl -tag -width 4n -offset indent -compact .It Sy b ブロック型特殊ファイル .It Sy c キャラクタ型特殊ファイル .It Sy d ディレクトリ .It Sy l シンボリックリンクファイル .It Sy s ソケットファイル .It Sy p .Tn FIFO .It Sy \- 通常ファイル .El .Pp 次の 3 つのフィールドは、それぞれ 3 つの文字からなっています: 所有者に対するアクセス許可・ グループに属するユーザに対するアクセス許可・ 他のユーザに対するアクセス許可。 これらのフィールドはそれぞれ 3 つの文字からなっています: .Bl -enum -offset indent .It もし .Sy r ならば読みだし可能。もし .Sy \- ならば読みだし不能。 .It もし .Sy w ならば書き込み可能。もし .Sy \- ならば書き込み不能。 .It その他の場合: 以下のうち最初に該当するものが用いられる。 .Bl -tag -width 4n -offset indent .It Sy S 所有者に対するアクセス許可において、ファイルが実行可能ではなく、かつ、 実効ユーザ ID (set-user-ID) モードがセットされている場合。 所有グループに対するアクセス許可において、ファイルが実行可能ではなく、 かつ、実効グループ ID (set-group-ID) モードがセットされている場合。 .It Sy s 所有者に対するアクセス許可において、ファイルが実行可能で、かつ、 実効ユーザ ID モードがセットされている場合。 所有グループに対するアクセス許可の中で、ファイルが実行可能で、 かつ、実効グループ ID モードがセットされている場合。 .It Sy x ファイルが実効可能またはディレクトリが検索可能である場合。 .It Sy \- ファイルは、読み出し、書き込み、実行のいずれも許可されておらず、 実効ユーザ ID も実効グループ ID もスティッキービットも設定されていない場合 (以下参照)。 .El .Pp 次の2つは他のユーザに対するアクセス許可の 3 番目の文字に使用されます。 .Bl -tag -width 4n -offset indent .It Sy T スティッキービットがセットされている (モード .Li 1000 ) が、 実行不能あるいは検索不能である場合 ( .Xr chmod 1 または .Xr sticky 8 参照)。 .It Sy t スティッキービットがセットされており (モード .Li 1000 ) 、 かつ、検索可能または実行可能である場合 ( .Xr chmod 1 または .Xr sticky 8 参照)。 .El .El .Sh 診断 .Nm ユーティリティは、成功時には 0 を、エラー発生時には 0 より大きい値を 返します。 .Sh 環境変数 以下の環境変数は .Nm の動作に影響を与えます: .Bl -tag -width BLOCKSIZE .It Ev BLOCKSIZE ブロック数の表示を行う際、1 ブロックのサイズとして環境変数 .Ev BLOCKSIZE で指定された値が使用されます ( .Fl s オプション参照)。 .It Ev CLICOLOR .Tn ANSI カラーシーケンスを使用し、ファイルタイプを区別します。 後述の .Ev LSCOLORS を参照してください。 .Fl F で前述したもの加え、更なる属性 (setuid ビット設定等) もまた表示されます。 カラー化は、適切な .Xr termcap 5 ケーパビリティを持つ端末タイプに依存します。 デフォルトの .Dq cons25 コンソールは、適切なケーパビリティを持っていますが、例えば .Xr xterm 1 でカラー表示したい場合には .Ev TERM 変数を .Dq xterm-color に設定する必要があります。 他の端末タイプも同様の修正が必要かもしれません。 出力が端末に向けられていない場合、カラー化は黙って無効化されます。 ただし、 .Ev CLICOLOR_FORCE 変数が定義されている場合は例外です。 .It Ev CLICOLOR_FORCE 出力が端末に向けられていない場合、通常、カラーシーケンスは無効化されます。 本フラグを設定することで、この動作を変更可能です。 .Ev TERM 変数は、カラー出力可能な端末を参照することが必要です。 そうなっていない場合、どのカラーシーケンスを使用すべきか決定できません。 .It Ev COLUMNS ターミナルのカラム幅を指定します。マルチカラム表示の際、 1 行あたりいくつのファイル名を表示できるかを算出するために参照されます ( .Fl C 参照)。 .It Ev LANG 長い .Fl l フォーマット出力における、日と月の順序を決定するために使用するロケールです。 詳細は .Xr environ 7 を参照してください。 .It Ev LSCOLORS 本変数の値は、 .Ev CLICOLOR によってカラー出力が有効であるときに、 どの色をどの属性に使用するかを指定します。 この文字列は書式 .Sy fb の結合であり、ここで .Sy f は前景色であり、 .Sy b は背景色です。 .Pp 色の指示は次の通りです: .Pp .Bl -tag -width 4n -offset indent -compact .It Sy 0 黒 .It Sy 1 赤 .It Sy 2 緑 .It Sy 3 茶 .It Sy 4 青 .It Sy 5 マゼンタ .It Sy 6 シアン .It Sy 7 明い灰 .It Sy x デフォルトの前景色と背景色 .El .Pp 以上が標準 .Tn ANSI カラーです。 実際の表示は、端末の色の扱いに依存して異なるでしょう。 .Pp 属性の順番は次の通りです: .Pp .Bl -enum -offset indent -compact .It ディレクトリ .It シンボリックリンク .It ソケット .It パイプ .It 実行形式 .It ブロックスペシャル .It キャラクタスペシャル .It setuid ビットが設定された実行形式 .It setgid ビットが設定された実行形式 .It 他者 (others) が書き込み可能なディレクトリであり、 スティッキービット付き。 .It 他者 (others) が書き込み可能なディレクトリであり、 スティッキービット無し。 .El .Pp デフォルトは "4x5x2x3x1x464301060203" であり、 通常のディレクトリは前景色青でデフォルト背景色、 setuid 付き実行形式は前景色黒で背景色赤等です。 .It Ev LS_COLWIDTHS この変数が設定されている場合、 コロン区切りのリストで各フィールドの最小幅を指定しているものとみなされます。 適切でなかったり不十分だったりする幅は無視されます (よって 0 を指定すると、フィールド幅が動的に決まります)。 すべてのフィールドの幅を変えられるわけではありません。 フィールドの順序は次の通りです: iノード・ブロック数・リンク数・ユーザ名・グループ名・フラグ・ファイルサイズ・ ファイル名。 .It Ev TERM .Ev CLICOLOR の機能は、端末タイプのカラーケーパビリティが必要です。 .It Ev TZ 日時を表示するときに使われるタイムゾーンを指定します。 詳細は .Xr environ 7 を参照してください。 .El .Sh 互換性 .St -p1003.2 互換とするため、 ロングフォーマット形式の出力には所有グループ名フィールドが自動的に 含められます。 .Sh 関連項目 .Xr chflags 1 , .Xr chmod 1 , .Xr xterm 1 , .Xr termcap 5 , .Xr symlink 7 , .Xr sticky 8 .Sh 歴史 .Nm コマンドは .At v1 から登場しました。 .Sh 規格 .Nm コマンドの機能は .St -p1003.2 のスーパセットであると想定しています。 .Sh バグ 過去との互換性のために、多くのオプションの関係が複雑になっています。 diff --git a/ja_JP.eucJP/man/man1/makewhatis.1 b/ja_JP.eucJP/man/man1/makewhatis.1 index 06bd696e6f..ae392ad99b 100644 --- a/ja_JP.eucJP/man/man1/makewhatis.1 +++ b/ja_JP.eucJP/man/man1/makewhatis.1 @@ -1,156 +1,156 @@ .\" Copyright (c) 1994-1996 Wolfram Schneider . 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. .\" -.\" %FreeBSD: src/gnu/usr.bin/man/makewhatis/makewhatis.1,v 1.14.2.3 2000/12/27 14:02:16 ru Exp % +.\" %FreeBSD: src/gnu/usr.bin/man/makewhatis/makewhatis.1,v 1.14.2.4 2001/03/05 18:17:26 ru Exp % .\" jpman %Id: makewhatis.1,v 1.2 1997/04/01 14:15:46 horikawa Stab % .Dd January 12, 1995 .Dt MAKEWHATIS 1 .Os FreeBSD .Sh 名称 .Nm makewhatis .Nd whatis databaseを作る .Sh 書式 .Nm makewhatis .Op Fl a | Fl append .Op Fl h | Fl help .Op Fl i | Fl indent Ar column .Op Fl L | Fl locale .Op Fl n | Fl name Ar name .Op Fl o | Fl outfile Ar file .Op Fl v | Fl verbose .Op Ar directories ... .Sh 解説 .Nm コマンドはフォーマットされていないマニュアルページから名称と短い記述を抽出し、 .Xr whatis 1 データベースを作成します。 .Nm コマンドは gzip されたマニュアルページを読むことができます。 .Ar directory は .Pq Pa man.+ という名の マニュアルページサブディレクトリを持つディレクトリの名前です。 コロンは空白として扱われますので、 .Ic makewhatis $MANPATH や .Ic makewhatis `manpath` も許されます。 .Sh オプション .Bl -tag -width Ds .It Fl a , Fl append 追加モード。 whatis データベースに既にあるエントリは削除しません。 注: 新しくできるデータベースはソートされ、同じ項目の行は削除されますが、 .Nm は古いエントリが有効かどうかは判定しません。 .It Fl h , Fl help 使用可能なオプションを表示し、終了します。 .It Fl i , Fl indent Ar column 解説の文字列の長さを .Ar column にします Pq デフォルトは 24 です 。 .It Fl L , Fl locale ロケール環境変数を調査し、 ローカライズされたマニュアルサブディレクトリと 本エントリのみに使用する処理を調べます。 .It Fl n , Fl name Ar name .Pa whatis の代わりに .Ar name を使用します。 .It Fl o , Fl outfile Ar file .Pa dirname/whatis の代わりに全ての出力を .Ar file に書き込みます。 -.It Fl v, Fl verbose +.It Fl v , Fl verbose 多くの警告を .Pq 標準エラー出力に対して 出力します。 パースした全てのマニュアルに対して次の 1 文字を表示します: .Ql .\& は圧縮されていないページ、 .Ql * は圧縮されているページ、 .Ql + はリンクをそれぞれ表します。 .Sh 使用例 .Pp .Ic makewhatis $MANPATH .Pp ユーザの .Pa $MANPATH にある全てのディレクトリに対して whatis データベースを作成します。 .Pp .Ic makewhatis -outfile /tmp/mywhatis /usr/local/man $HOME/man .Pp whatis データベース .Pa /tmp/mywhatis を作成します。 ディレクトリは .Pa /usr/local/man と .Pa $HOME/man を見ます。 .Pa /usr/local/man/whatis および .Pa $HOME/man/whatis は作成しません。 .Pp .Ic makewhatis -name windex $HOME/man .Pp .Pa whatis の代わりに whatis データベース .Pa windex を作成します。 おそらく Solaris で有効です。 .Sh 関連ファイル .Bl -tag -width /etc/master.passwdxx -compact .It Pa */man/whatis whatis データベース。 .It Pa /etc/periodic/weekly/320.whatis 毎週 .Nm makewhatis.local を実行します。 .El .Sh 関連項目 .Xr apropos 1 , .Xr catman 1 , .Xr getNAME 1 , .Xr man 1 , .Xr manpath 1 , .Xr sort 1 , .Xr uniq 1 , .Xr whatis 1 , .Xr makewhatis.local 8 .Sh 歴史 この .Nm コマンドは .Fx 2.1 から登場しました。 .Sh 作者 .An Wolfram Schneider , Berlin. diff --git a/ja_JP.eucJP/man/man1/man.1 b/ja_JP.eucJP/man/man1/man.1 index 234f28e5ca..49595b86cc 100644 --- a/ja_JP.eucJP/man/man1/man.1 +++ b/ja_JP.eucJP/man/man1/man.1 @@ -1,175 +1,231 @@ .\" Man page for man .\" .\" 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 .\" -.\" %FreeBSD: src/gnu/usr.bin/man/man/man.man,v 1.10.2.3 2000/12/12 09:52:18 ru Exp % +.\" %FreeBSD: src/gnu/usr.bin/man/man/man.man,v 1.10.2.4 2001/03/05 11:02:22 ru Exp % .\" .\" jpman %Id: man.1,v 1.2 1997/04/01 14:17:54 horikawa Stab % .Dd January 5, 1991 .Dt MAN 1 .Os .Sh 名称 .Nm man .Nd オンラインマニュアルのフォーマット、表示を行なう .Sh 書式 -.Nm man +.Nm .Op Fl adfhkotw .Op Fl m Ar system .Op Fl p Ar string .Op Fl M Ar path .Op Fl P Ar pager .Op Fl S Ar list .Op Ar section .Ar name ... .Sh 解説 -.Nm man +.Nm はオンラインマニュアルをフォーマットし、表示します。 このバージョンでは、環境変数 .Ev MANPATH と .Ev PAGER を参照するので、 各ユーザが固有のオンラインマニュアルを持つ事や、画面で見る際のページャを 選ぶ事が可能です。 -セクションを指定した場合、man はそのセクションのみを探します。 +セクションを指定した場合、 +.Nm +はそのセクションのみを探します。 また、コマンドラインオプションや環境変数によって、 検索するセクションの順序や、ソースファイルを処理するプリプロセッサを 指定することもできます。 システム管理者の設定によっては、 ディスクスペースを節約するために、フォーマット済みのオンライン マニュアルを `/usr/bin/gzip -c' コマンドにより 圧縮し格納するようにすることも出来ます。 .Pp オプションを以下に示します: .Bl -tag -width Fl .It Fl M Ar path -別の manpath を指定します。通常、man は -.Nm manpath -を使い、検索するパスを決めます。このオプションは環境変数 +別の manpath を指定します。通常、 +.Nm +は +.Xr manpath 1 +( +.Nm +バイナリに組み込まれています) を使い、検索するパスを決めます。 +このオプションは環境変数 .Ev MANPATH よりも優先されます。 .It Fl P Ar pager -使用するページャを指定します。通常、man は、 +使用するページャを指定します。通常、 +.Nm +は、 .Nm more -s を使用します。 このオプションは環境変数 .Ev PAGER よりも優先されます。 .It Fl S Ar list list はコロンで区切られた検索するマニュアルのセクションのリストです。 このオプションは環境変数 .Ev MANSECT よりも優先されます。 .It Fl a -通常、man は最初にみつかったマニュアルページを表示した後終了しますが、 +通常、 +.Nm +は最初にみつかったマニュアルページを表示した後終了しますが、 このオプションを使用すると、最初にみつかったマニュアルページだけでなく、 .Ar name にマッチしたマニュアルページを全て表示します。 .It Fl d マニュアルページは表示せず、デバッグ用の情報を表示します。 .It Fl f .Nm whatis と同じです。 .It Fl h 一行のヘルプメッセージを表示して終了します。 .It Fl k .Nm apropos と同じです。 .It Fl m Ar system 与えられたシステム名をもとに検索する別のマニュアルセットを指定します。 .It Fl o -元の、非ローカライズ版マニュアルページを使用します。 -デフォルトでは、man は、 -各 manpath 構成要素毎にローカライズ版サブディレクトリを検索します。 -サブディレクトリ名は、環境変数 -.Ev LANG -または -.Ev LC_CTYPE -から決定されます。 -ローカライズ版ディレクトリ名は、次の規則により構築されます: -環境変数 -.Ev LC_CTYPE -または -.Ev LANG -の値をマージしたディレクトリ名。 -.Ev LC_CTYPE -が値無しの場合、 +元の、非ローカライズ版マニュアルページのみを検索します。 +.Pp +デフォルトでは、 +.Nm +は、 +各 +.Xr manpath 1 +構成要素毎にローカライズ版サブディレクトリを検索します。 +.Pp +ロケール名は、3 個の環境変数 +.Ev LC_ALL , +.Ev LC_CTYPE , .Ev LANG -変数値が使用されます。 -両方の変数が値無しの場合、なにも行いません。 +のうち、この順番における最初の空ではないものから得られます。 +.Pp +値を決定できない場合か、無効なロケール名である場合、 +ローカライズされていないマニュアルページのみが検索されます。 +.Pp +そうでない場合、 +.Nm +は次のサブディレクトリを、次の優先順位で検索します: +.Pp +.Bl -item -offset indent -compact +.Sm off +.It +.Pa _ . +.It +.Pa . +.It +.Pa en . +.Sm on +.El +.Pp +例えば +.Dq de_DE.ISO_8859-1 +ロケールの場合、 +.Pa /usr/share/man +manpath 構成要素中の次のサブディレクトリを .Nm -は、長い形式および短い形式の両方のローカライズ版ディレクトリ名を扱えます。 -長い形式とは、"path/_." の形式であり、 -例えば ".../man/ru_RU.KOI8-R" です。 -短い形式とは、"path/." の形式であり、 -例えば ".../man/ru.KOI8-R" です。 -短い形式が、長い形式に優先します。 +は検索します: +.Pp +.Bl -item -offset indent -compact +.It +.Pa /usr/share/man/de_DE.ISO_8859-1 +.It +.Pa /usr/share/man/de.ISO_8859-1 +.It +.Pa /usr/share/man/en.ISO_8859-1 +.El +.Pp +最後に、ローカライズされたマニュアルページが見付からなかった場合、 +デフォルトの +.Pa /usr/share/man +ディレクトリを検索します。 .It Fl p Ar string nroff や troff を行う前に実行するプリプロセッサの順序を指定します。 全てのプリプロセッサがインストールされているとはかぎりません。 プリプロセッサとそれを指定するのに使われる文字は以下の通りです。 eqn (e), grap (g), pic (p), tbl (t), vgrind (v), refer (r). このオプションは環境変数 .Ev MANROFFSEQ よりも優先されます。 .It Fl t マニュアルページをフォーマットするのに .Nm /usr/bin/groff -S -man を使い、標準出力に出力します。 .Nm /usr/bin/groff -S -man の出力は表示する前に何らかのフィルタを通す必要があるでしょう。 .It Fl w マニュアルページの表示は行わず、フォーマットや表示を行なうべきファイルの 場所を表示します。 .Sh 環境変数 -.Bl -tag -width MANROFFSEQ -compact +.Bl -tag -width MANROFFSEQ +.It Ev LC_ALL , LC_CTYPE , LANG +これらの環境変数は、マニュアルページの好みの言語を指定します (前述の +.Fl o +オプションを参照してください)。 +.It Ev MACHINE +マニュアルページによっては、特定のアーキテクチャに特化したものがあります。 +.Nm +は、検索対象のすべてのディレクトリ中で、 +現在のアーキテクチャと同じ名前のサブディレクトリを検索します。 +マシン固有の検索範囲が、一般的な検索範囲の前に検索されます。 +現在のマシンタイプは、環境変数 +.Ev MACHINE +を特定のアーキテクチャ名に設定することで変えられます。 .It Ev MANPATH .Ev MANPATH がセットされていれば、その値はマニュアルページを検索するパスとして使われます。 .It Ev MANROFFSEQ .Ev MANROFFSEQ がセットされていれば、その値は nroff や troff を行う前に実行される プリプロセッサの順序を示すのに使われます。 デフォルトでは、nroff の前に tbl プリプロセッサが実行されます。 .It Ev MANSECT .Ev MANSECT がセットされていれば、その値はどのマニュアルセクションを検索するのかを 決定するのに使われます。 .It Ev PAGER .Ev PAGER がセットされていれば、その値はマニュアルページを表示するのに使われる プログラムの名前を指定するのに使われます。セットされていなければ、 .Nm more -s が使われます。 .El .Sh 使用例 .Pp 通常、getopt の適切なマニュアルページ情報を検索するには、次のようにします: +.Pp .Dl man getopt .Pp 一方、特定のマニュアルセクション、例えば .Xr getopt 3 を検索するには、次のようにします: +.Pp .Dl man 3 getopt .Sh 関連項目 .Xr apropos 1 , .Xr groff 1 , .Xr manpath 1 , .Xr more 1 , .Xr whatis 1 , .Xr man 7 , .Xr mdoc 7 , .Xr mdoc.samples 7 .Sh バグ .Fl t -オプションは troff ライクなプログラムがインストールされている場合のみ有効です。 +オプションは +.Xr troff 1 +ライクなプログラムがインストールされている場合のみ有効です。 diff --git a/ja_JP.eucJP/man/man1/md5.1 b/ja_JP.eucJP/man/man1/md5.1 index 9c1796b0ed..e952106e93 100644 --- a/ja_JP.eucJP/man/man1/md5.1 +++ b/ja_JP.eucJP/man/man1/md5.1 @@ -1,67 +1,67 @@ -.\" %FreeBSD: src/sbin/md5/md5.1,v 1.10.2.1 2000/12/08 14:03:57 ru Exp % +.\" %FreeBSD: src/sbin/md5/md5.1,v 1.10.2.2 2001/03/05 19:33:44 ru Exp % .Dd February 14, 1994 .Dt MD5 1 .Os .Sh 名称 .Nm md5 .Nd ファイルに対するフィンガプリント(チェックサム)を計算する .Sh 書式 .Nm .Op Fl pqrtx .Op Fl s Ar string -.Op Ar file ... +.Op Ar .Sh 解説 .Nm は、任意の長さのメッセージを入力にとり、 128 ビットの .Dq フィンガプリント もしくは .Dq メッセージの要約 と呼ばれるものを出力として生成します。 同じ要約を持つようなメッセージを二つ造る事も、 これと決めた要約を持つように狙ってメッセージを造り出す事も、 計算量的に不可能であると推論されています。 電子署名アプリケーションにおいて、大きなファイルは .Em RSA の様な公開鍵暗号システムで非公開 .Pq 秘密 鍵によって符号化される前に、 安全に .Dq 圧縮 されなければなりません。 MD5 アルゴリズムは、そのような電子署名アプリケーション向けに開発されています。 .Pp 以下の 4 つのオプションを組み合わせて使うことができますが、 コマンド行のファイル名より前になければなりません。 コマンド行の各ファイルの MD5 チェックサムが、 オプション処理後に表示されます。 .Bl -tag -width indent .It Fl s Ar string 与えられた .Ar string のチェックサムを表示します。 .It Fl p 標準入力を標準出力に送り、 MD5 の合計を標準出力に付け加えます。 .It Fl q 静かなモード - MD5 の合計だけを表示します。 .Fl r オプションに優先します。 .It Fl r 出力フォーマットを逆にします。 視覚による差分の助けになります。 .Fl ptx オプションと組み合わせると、なにもしません。 .It Fl t 組み込みの時間試行を実行します。 .It Fl x 組み込みのテストスクリプトを実行します。 .El .Sh 関連項目 .Xr cksum 1 .Rs .%A R. Rivest .%T The MD5 Message-Digest Algorithm .%O RFC1321 .Re .Sh 謝辞 このプログラムは、 RSA Data Security 社により、 一般的な利用に対してパブリックドメインとされています。 diff --git a/ja_JP.eucJP/man/man1/pax.1 b/ja_JP.eucJP/man/man1/pax.1 index e2b168d4f6..91fe5f89e0 100644 --- a/ja_JP.eucJP/man/man1/pax.1 +++ b/ja_JP.eucJP/man/man1/pax.1 @@ -1,1175 +1,1175 @@ .\" Copyright (c) 1992 Keith Muller. .\" Copyright (c) 1992, 1993 .\" The Regents of the University of California. All rights reserved. .\" .\" This code is derived from software contributed to Berkeley by .\" Keith Muller of the University of California, San Diego. .\" .\" Redistribution and use in source and binary forms, with or without .\" modification, are permitted provided that the following conditions .\" are met: .\" 1. Redistributions of source code must retain the above copyright .\" notice, this list of conditions and the following disclaimer. .\" 2. Redistributions in binary form must reproduce the above copyright .\" notice, this list of conditions and the following disclaimer in the .\" documentation and/or other materials provided with the distribution. .\" 3. 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. .\" .\" @(#)pax.1 8.4 (Berkeley) 4/18/94 .\" %FreeBSD: src/bin/pax/pax.1,v 1.12.2.2 2000/12/18 14:52:16 ru Exp % .\" jpman %Id: pax.1,v 1.4 1997/08/25 03:45:37 horikawa Stab % .\" .Dd April 18, 1994 .Dt PAX 1 .Os BSD 4.4 .Sh 名称 .Nm pax .Nd ファイルアーカイブの読み書きやディレクトリ階層のコピーを行う .Sh 書式 .Nm .Op Fl cdnv .Bk -words .Op Fl f Ar archive .Ek .Bk -words .Op Fl s Ar replstr .Ar ...\& .Ek .Bk -words .Op Fl U Ar user .Ar ...\& .Ek .Bk -words .Op Fl G Ar group .Ar ...\& .Ek .Bk -words .Oo .Fl T .Op Ar from_date .Op Ar ,to_date .Oc .Ar ...\& .Ek .Op Ar pattern ...\& .Nm .Fl r .Op Fl cdiknuvDYZ .Bk -words .Op Fl f Ar archive .Ek .Bk -words .Op Fl o Ar options .Ar ...\& .Ek .Bk -words .Op Fl p Ar string .Ar ...\& .Ek .Bk -words .Op Fl s Ar replstr .Ar ...\& .Ek .Op Fl E Ar limit .Bk -words .Op Fl U Ar user .Ar ...\& .Ek .Bk -words .Op Fl G Ar group .Ar ...\& .Ek .Bk -words .Oo .Fl T .Op Ar from_date .Op Ar ,to_date .Oc .Ar ...\& .Ek .Op Ar pattern ...\& .Nm .Fl w .Op Fl dituvHLPX .Bk -words .Op Fl b Ar blocksize .Ek .Oo .Op Fl a .Op Fl f Ar archive .Oc .Bk -words .Op Fl x Ar format .Ek .Bk -words .Op Fl s Ar replstr .Ar ...\& .Ek .Bk -words .Op Fl o Ar options .Ar ...\& .Ek .Bk -words .Op Fl U Ar user .Ar ...\& .Ek .Bk -words .Op Fl G Ar group .Ar ...\& .Ek .Bk -words .Op Fl B Ar bytes .Ek .Bk -words .Oo .Fl T .Op Ar from_date .Op Ar ,to_date .Op Ar /[c][m] .Oc .Ar ...\& .Ek -.Op Ar file ...\& +.Op Ar .Nm .Fl r .Fl w .Op Fl diklntuvDHLPXYZ .Bk -words .Op Fl p Ar string .Ar ...\& .Ek .Bk -words .Op Fl s Ar replstr .Ar ...\& .Ek .Bk -words .Op Fl U Ar user .Ar ...\& .Ek .Bk -words .Op Fl G Ar group .Ar ...\& .Ek .Bk -words .Oo .Fl T .Op Ar from_date .Op Ar ,to_date .Op Ar /[c][m] .Oc .Ar ...\& .Ek -.Op Ar file ...\& +.Op Ar .Ar directory .Sh 解説 .Nm は、アーカイブファイルの読み込み、書きだし、アーカイブファイルに 格納されているファイルの一覧読みだし、そしてディレクトリ階層のコピーを 行います。 .Nm の操作は指定したアーカイブフォーマットとは独立しており、また .Nm は広範囲に渡る種類のアーカイブフォーマットの操作をサポートします。 .Nm のサポートするアーカイブフォーマット一覧は、 .Fl x オプションの説明時に示します。 .Pp .Fl r および .Fl w は、以下の .Nm の機能モードのいずれかを指定するのに用いられます。その機能モードとは、 .Em 一覧表示モード、読み込みモード、書き込みモード、コピーモード の 4 つです。 .Bl -tag -width 6n .It .Em 一覧表示モードです。 .Nm は、 .Dv 標準入力 から読み込まれたアーカイブ内の格納ファイルのリストを .Dv 標準出力 へ書き出します。標準入力から読み込まれるファイルのパス名は、指定した .Ar pattern に一致するものが採用されます。 ファイル一覧は 1 行に 1 つのファイル名を含み、1 行バッファリングを行って 書き出されます。 .It Fl r .Em 読み込みモードです。 .Nm は、 .Dv 標準入力 からアーカイブ読み込み、その内に格納されたファイルのうち指定した .Ar pattern に一致するファイル名を持つファイルを展開します。 アーカイブフォーマット及びブロック化係数は、自動的に入力から決定されます。 展開されるファイルがディレクトリの場合、そのディレクトリ配下に連なる ファイル階層は完全な形で展開されます。 展開される全てのファイルは、現在のファイル階層からの相対ディレクトリに 生成されます。展開されるファイルの所有権、アクセス時刻、更新時刻、 そしてファイルモードの設定についての詳細は、 .Fl p オプションのところで述べます。 .It Fl w .Em 書き込みモードです。 .Nm は、 .Ar file オペランドで指定したファイル群のアーカイブを 指定したフォーマットで標準出力に書き出します。 .Ar file オペランドが指定されない場合には、1 行に 1 つずつ コピーするファイルを記述したリストを標準入力から読み込みます。 .Ar file オペランドがディレクトリの場合、そのディレクトリ配下の 全ファイルが作成されるアーカイブに含まれます。 .It Fl r Fl w .Em コピーモードです。 .Nm は、ファイルオペランドで指定したファイル群を、指定した .Ar ディレクトリ にコピーします。 .Ar file オペランドが指定されない場合には、1 行に 1 つずつ コピーするファイルを記述したリストを標準入力から読み込みます。 .Ar file オペランドがディレクトリの場合、そのディレクトリ配下のファイルがすべて、 コピー先として指定したディレクトリ配下に作成されます。 .Em コピーモード は、ファイルがアーカイブファイルに対して書き込まれ、 そして一方でそのアーカイブファイルが展開されるかのように見ます。 ただし、これはオリジナルファイルとコピーファイルの間に ハードリンクが張られるかも知れない事を除きます .Ns ( Fl l オプションを参照して下さい)。 .Pp -.Em 注意 +.Em 注意 : コピー先の .Ar ディレクトリ には、コピー元にあるものと同じファイル名の .Ar file オペランドや .Ar file オペランドで指定されるディレクトリ階層の配下にあるファイル名などを 指定してはいけません。 そのような場合、 .Em コピー の結果は予測できないものになります。 .El .Pp .Em 読み込み 操作や .Em 一覧表示 動作において壊れたアーカイブを処理する場合、 .Nm は媒体破損を可能な限り復旧し、 アーカイブの中から可能な限りのファイルを処理しようと試みます (エラー時の 処理の詳細は .Fl E オプションを参照して下さい)。 .Sh オペランド .Pp .Ar directory オペランドは、コピー先ディレクトリの指定を行います。 .Ar directory オペランドが存在しない場合、もしくはユーザが書き込みを出来ない、 もしくは指定したオペランドがディレクトリでない場合には、 .Nm は、0 以外のステータスでプログラムを終了します。 .Pp .Ar pattern オペランドは、アーカイブに格納されているファイルの名前を選択するために 用いられます。 アーカイブメンバは、 .Xr fnmatch 3 に記述のある表記に一致するパターンを用いて選択されます。 .Ar pattern オペランドが指定されない場合には、アーカイブ内に格納されている 全てのメンバが選択されます。 .Ar pattern がディレクトリ名と一致する場合には、そのディレクトリ配下の階層に 位置する全てのファイルが選択されます。 もしアーカイブ内に .Ar pattern オペランドの指定と一致する名前のファイルがない場合には、 .Nm は .Ar 標準エラー出力 に出力される診断メッセージにこの .Ar pattern オペランドを書き出し、0 以外のステータスでプログラムを終了します。 .Pp .Ar file オペランドは、コピーもしくはアーカイブされるファイルのパス名を指定します。 .Ar file オペランドが 1 つもアーカイブメンバを選択しない場合には、 .Nm は .Dv 標準エラー出力 に出力される診断メッセージにこの .Ar file オペランドの内容を書き出し、0 以外のステータスでプログラムを終了します。 .Sh オプション .Pp .Nm では、以下のオプションが使用可能です。 .Bl -tag -width 4n .It Fl r アーカイブファイルを .Dv 標準入力 から読み込み、 .Ar files で指定したファイルを展開します。 アーカイブされているファイルの展開に中間ディレクトリの作成が必要な場合、 これらのディレクトリは、 .Xr mkdir 2 の mode 引数のところに .Dv S_IRWXU , S_IRWXG , S_IRWXO の .Dv 論理和 を指定して呼び出された場合と同様に作成されます。 選択されたアーカイブ形式がリンクファイルの指定をサポートし、 かつアーカイブ展開時にリンク不可能である場合には、 .Nm は、処理が終了する時に、診断メッセージを .Dv 標準エラー出力 に書き出し、0 以外のステータスで終了します。 .It Fl w 指定したアーカイブフォーマットで、 .Dv 標準出力 にアーカイブを書き出します。 .Ar file オペランドが指定されない場合には、1 行につき展開するファイルのパス名 1 つを 記述したリストを .Dv 標準入力 から読み込みます。 このリストの各行の先頭や末尾には .Aq 空白 を入れてはいけません。 .It Fl a すでに存在するアーカイブファイルの後ろに、ファイル .Ar files を追加書き込みします。 .Fl x オプションによるアーカイブフォーマット指定がされない場合、 アーカイブフォーマットは追加書き込み対象となるアーカイブファイルの フォーマットと同一になります。 アーカイブファイルに対して、そのアーカイブファイルのフォーマットと 異なるフォーマットを用いてファイルを追加書き込みをしようとした場合、 .Nm は即時に 0 以外の終了ステータスでプログラム終了します。 アーカイブボリュームに最初に書き込んだブロックサイズを引き継いで、 残りのアーカイブボリュームのブロックサイズとします。 .Pp .Em 注意 : 多くの記憶装置は追加書き込み処理に必要な操作をサポートできません。 そのようなサポートしていないデバイスに対するアーカイブの追加書き込みは、 アーカイブの破損もしくは他の予期せぬ結果を招くことになります。 特に、テープドライブに対する追加書き込み処理は、最もサポートしそうにない ものです。 普通のファイルシステムのファイルとして、もしくはディスクデバイス上に 保存されているアーカイブについては、通常は追加書き込み処理をサポートします。 .It Fl b Ar blocksize アーカイブを .Em 書き出す 際、アーカイブへと書き出す内容を blocksize (正の整数) で指定したバイト数 でブロック化します。 .Ar blocksize で指定出来る値は、512 の倍数でなくてはならず、最大は 32256 です。 .Ar blocksize で指定する数は、その最後に .Li k もしくは .Li b を付加することで、1024(1K) もしくは 512 の倍数として指定できます。 .Ar blocksizes に指定する数字を .Li x で区切ることで、文字 x で区切られた数字の積がブロックサイズとして採用されます。 アーカイブの書き込みのために指定するデバイスによっては、 ブロックサイズに対してさらに制限がかかることがあります。 ブロック化が指定されない場合には、デフォルトの .Ar blocksize は使用される特定のアーカイブフォーマットに依存します。 .Ns ( Fl x オプションを参照して下さい)。 .It Fl c .Ar pattern に指定されたパターンにマッチしたファイルおよび .Ar file オペランドで指定されたファイル .Em 以外 の、全てのファイルもしくはアーカイブ内メンバにマッチします。 .It Fl d コピーもしくはアーカイブされるディレクトリ、もしくはアーカイブに格納され ているディレクトリについて、指定パターンに一致した名前のディレクトリもし くはアーカイブ内に格納されているディレクトリのみ処理し、そのディレクトリ 配下にあるファイルについては処理しません。 .It Fl f Ar archive .Ar archive で指定したファイルを入力元のアーカイブもしくは出力先のアーカイブに指定し ます。この場合、デフォルトの .Dv 標準入力 .Ns ( Em 一覧表示モード および .Em 読み込みモード の場合) もしくは .Dv 標準出力 .Ns ( Em 書き込みモード ) については無視されます。 1 つのアーカイブが複数のファイルもしくは異なるアーカイブデバイスに渡って も構いません。必要があった場合、 .Nm は、アーカイブの格納されている次のボリュームのファイルもしくはデバイスの パス名の入力を促します。 .It Fl i 対話的にファイルもしくはアーカイブ内に格納されるファイルのリネームを行います。 .Ar pattern で指定した文字列パターンに一致するアーカイブ内の格納ファイルもしくは .Ar file オペランドの指定に一致するファイルについて、 .Nm は .Pa /dev/tty に対してファイルの名前やファイルモード、そしてファイルの更新時刻を表示して 入力を促します。 それから .Nm は .Pa /dev/tty からデータを 1 行読み込みます。 その行が空行だった場合には、その時のファイルもしくはアーカイブ内の 格納ファイルについては、処理を行いません。 その行がピリオド 1 つだけの行だった場合には、その時のファイルもしくは アーカイブ内の格納ファイルについては、ファイル名についての更新は行いません。 それ以外の場合には、ファイル名はその行の文字列で指定した名前に変更されます。 上記操作中に .Dv を .Pa /dev/tty から受けとった場合、もしくは何らかの理由で .Pa /dev/tty をオープン出来なかった場合、 .Nm は 0 以外の終了ステータスで即座に終了します。 .It Fl k すでに存在するファイルに対する上書きをしません。 .It Fl l (アルファベットの ``エル'' ) ファイルをリンクします。 .Em コピーモード .Ns ( Fl r .Fl w ) の場合には、コピー元コピー先間には可能な限りハードリンクが作成されます。 .It Fl n アーカイブに格納されるファイルのうち、各 .Ar pattern オペランドに指定した文字列パターンに一致するファイル名を持つ最初のものを 選択します。 アーカイブに格納されるファイルのうち .Ar pattern オペランドに指定した文字列パターン に一致するもので、2 つめ以降のものは選択されません。 文字列パターンで指定した条件に合致するものがディレクトリだった場合、 そのディレクトリ配下のファイルについても選択されたものとみなされます(ただし、 .Fl d オプションが指定された場合にはこの限りではありません)。 .It Fl o Ar options .Fl x で指定されるアーカイブフォーマットから特定される、 アーカイブファイル展開/書き出しアルゴリズムの更新情報を指定します。 一般的に、 .Ar options は .Cm name=value のように指定されます。 .It Fl p Ar string 1 つ以上のファイルの属性操作に関する動作をオプション指定します。 .Ar string オプション引数は、ファイル展開時に、展開ファイルの属性を保存するか破棄す るかを指定する文字列です。 string は、 .Cm a , e , m , o , p の 5 つの指定文字から成ります。 複数の属性を同じ文字列の中につなげて記述したり、複数の .Fl p オプションを指定したりすることもできます。 これらの文字は、以下のように動作の指定を行います: .Bl -tag -width 2n .It Cm a ファイルのアクセス時間を保存しません。 デフォルトでは、ファイルのアクセスタイムは可能な限り保存されます。 .It Cm e ファイルのユーザ ID, グループ ID, ファイルモードのビット、ファイルの アクセス時間、ファイルの更新時間、これらの .Sq 全ての属性を保存します。 本オプションは、 .Em スーパユーザ、 もしくは適正な権限を持ったユーザによって 使用されることを推奨します。 これは、アーカイブ内に格納されたすべてのファイルについて、 そのファイルの特性を保存するためです。 フラグを指定した場合は、 .Cm o および .Cm p フラグを指定したのと同様の効果を持ちます。 .It Cm m ファイルの更新時間を保存しません。 デフォルトでは、ファイルの更新時間は可能な限り保存されます。 .It Cm o ユーザ ID とグループ ID を保存します。 .It Cm p ファイルモードのビットを .Sq 保存します。 本オプションは、 ファイルについて、所有者情報以外の全ての情報の保存を希望するなど適正な 権限を持った .Em ユーザ に使用されることを推奨しています。 ファイルの時刻はデフォルトで保存されますが、 これを無効にしたり、展開時の時刻を用いるようにするために 別に 2 つのフラグが用意されています。 .El .Pp 先述のオプション一覧にて、 .Sq 属性の保存 とは、起動したプロセスの権限に応じて アーカイブ内に保存された属性が展開ファイルに反映されることを意味します。 これ以外の場合は、展開されるファイルの属性は、 通常のファイル生成と同様に決定されます。 .Cm e と .Cm o のどちらも指定されない場合、あるいは ユーザ ID とグループ ID がいかなる理由にせよ保存されない場合、 .Nm はファイル属性中の .Dv S_ISUID .Em ( setuid ) および .Dv S_ISGID .Em ( setgid ) のビットを設定しません。 これらの情報の引き継ぎが何らかの理由で失敗した場合、 .Nm は診断メッセージを .Dv 標準エラー出力 に書き出します。 これらの情報の保存失敗は、最終的な終了ステータスに影響しますが、 展開されたファイルが削除されるようなことはありません。 ファイル属性の操作に関するオプション文字が重複していたり、 他のオプション文字と処理上の競合を起こす場合には、 それらのオプションの中で一番最後に記述されたものの処理が採用されます。 例えば、 .Dl Fl p Ar eme が指定された場合には、ファイルの更新時間は保存されます。 .It Fl s Ar replstr アーカイブ内に格納されているファイルのうち、 .Ar pattern オペランドもしくは .Ar file オペランドで指定されたもののファイル名を、 .Ar replstr で指定された置換表現にしたがって更新します。この置換表現は、 .Xr ed 1 にて記述されている正規表現の書法に準じます。 これらの正規表現の書式は .Dl /old/new/[gp] です。 .Xr ed 1 に示されるように、 .Cm old は基本的な正規表現であり、 .Cm new はアンパサンド (&)、後方参照 \\n (nの部分は数字が入ります)、 補助表現を含むことができます。 文字列 .Cm old には、 .Dv 改行文字 を含んでも構いません。 ヌル文字以外のいかなる文字も、区切り文字として用いることが可能です (ここでは / を示しました)。 また、複数の .Fl s 表現を指定することが許されています。 これらの表現はコマンドラインで指定された順に適用され、 最初の置換が成功した時点でその置換を終了します。 置換処理の追加処理指定として、 .Cm g を指定した場合には、継続してファイル名の置換を行うことを指示します。 この場合、前回置換に成功した直後の文字から継続して置換を行います。 そして最初に置換を失敗したときに .Cm g オプションの処理を終了します。 置換処理の追加処理指定として .Cm p を指定した場合には、最初の置換成功結果を .Dv 標準エラー出力 に以下のフォーマットで書き出します: .Dl >> 空白文字に置換される通常ファイルもしくはアーカイブ内に格納されたファイルの ファイル名は、処理対象として選択されず、そのファイル名に対する 処理はスキップされます。 .It Fl t .Nm が読み込んだ、もしくはアクセスした全てのファイルやディレクトリの アクセス時間を、 .Nm がそれらのファイルやディレクトリを処理する前のものに再設定します。 .It Fl u 同じ名前ですでに存在するファイルやアーカイブ内に格納されているファイルより 古い (ファイル更新時刻が古い) ファイルを無視します。 .Em 読み込み処理 においては、アーカイブ内のファイルにファイルシステム上にすでに存在するものと 同じ名前のファイルがあり、アーカイブ内のファイルの方が新しい場合に、 アーカイブ内のファイルが展開されます。 .Em 書き込み処理 においては、ファイルシステム上のファイルとアーカイブ内のファイルの名前が 同じもので、かつファイルシステム上のファイルの方がアーカイブ内のものより も新しい場合に、ファイルシステム上のファイルのアーカイブへの格納が行われます。 .Em コピー処理 においては、コピー先にあるファイルとコピー元にあるファイルが同一のファイル名 を持ち、かつコピー元にあるファイルの方が新しい場合に、 コピーあるいはリンクが行われます。 .It Fl v .Em 一覧表示処理 において、 .Xr ls 1 コマンドの .Fl l オプションを用いた時の表示と同じ形式を用いて、アーカイブ内容の表示を行います。 アーカイブの他のメンバとの間にハードリンクを構成するファイルのパス名に ついては、以下のフォーマットで出力されます。 .Dl == アーカイブの他のメンバとの間にシンボリックリンクを構成するファイルの パス名については、以下のフォーマットで出力されます。 .Dl => ここで の箇所は、 .Xr ls 1 コマンドを .Fl l オプションを付けて実行した場合の出力形式になります。 他のオプショナルモード (読み込みモード、書き込みモード、そしてコピーモード) の場合には、当該ファイルもしくはアーカイブ内のファイルの処理が始まるとすぐに、 それらのパス名が末尾の .Dv 改行文字 なしで .Dv 標準エラー出力 に書き込まれ、フラッシュされます。 ファイル名に付随する .Dv 改行文字 はバッファリングされることなく、ファイルが読み込まれたもしくは書き込まれた 直後に書き出されます。 .It Fl x Ar format 出力されるアーカイブフォーマットを指定します。デフォルトフォーマットは、 .Ar ustar フォーマットです。 .Nm は、現在以下のアーカイブフォーマットをサポートします: .Bl -tag -width "sv4cpio" .It Ar cpio .St -p1003.2 標準にて規定される、拡張 cpio 交換形式です。 本フォーマットのデフォルトブロックサイズは、5120 バイトです。 このフォーマットで欠落するファイルの inode およびデバイス情報 (この フォーマットでファイルのハードリンクの検出に用いられます) は、 .Nm にて検出され、復元されます。 .It Ar bcpio 古い binary cpio フォーマットです。 本フォーマットのデフォルトのブロックサイズは、5120 バイトです。 本フォーマットはポータビリティがそれほどよくないので、別のフォーマットが 使えるならば、そちらを使用したほうがよいでしょう。 このフォーマットで欠落するファイルの inode およびデバイス情報 (この フォーマットでファイルのハードリンクの検出に用いられます) は、 .Nm にて検出され、復元されます。 .It Ar sv4cpio Unix System V Release 4(SVR4) の cpio フォーマットです。 本フォーマットのデフォルトのブロックサイズは 5120 バイトです。 このフォーマットで欠落するファイルの inode およびデバイス情報 (この フォーマットでファイルのハードリンクの検出に用いられます) は、 .Nm にて検出され、復元されます。 .It Ar sv4crc SVR4 で使用される、ファイルの crc チェックサムつきの cpio フォーマットです。 本フォーマットのデフォルトのブロックサイズは 5120 バイトです。 このフォーマットで欠落するファイルの inode およびデバイス情報 (この フォーマットでファイルのハードリンクの検出に用いられます) は、 .Nm にて検出され、復元されます。 .It Ar tar BSD4.3 から用いられている古い BSD tar フォーマットです。 本フォーマットのデフォルトのブロックサイズは、10240 バイトです。 本フォーマットでは、アーカイブ内に格納されるファイルのパス名は 100 文字以内 でなくてはなりません。 .Em 通常ファイル、ハードリンクファイル、 .Em シンボリックリンクファイル、ディレクトリ のみがアーカイブ内に格納されます (他のファイルシステムタイプについては、 サポートされません)。 さらに古い tar フォーマットとの過去の互換性は、 .Fl o オプションを用いて、アーカイブへのファイル保存時に ディレクトリを無視することで実現されます。 本オプションは、以下のように指定します: .Dl Fl o Cm write_opt=nodir .It Ar ustar .St -p1003.2 標準にて規定される、 拡張 tar 交換形式です。 本フォーマットのデフォルトのブロックサイズは、10240 バイトです。 本フォーマットのアーカイブ内に保存されるファイルのパス名は、250 文字以下 の長さでなくてはなりません。 .El .Pp .Nm は、指定したアーカイブフォーマットの制限に起因して、ファイルの アーカイブへの格納もしくはアーカイブからのファイルの展開が出来ない場合には、 それを検出し、報告します。 各アーカイブフォーマットを使用した場合には、 使用時に更にそのアーカイブフォーマットの制限が課せられることがあります。 典型的なアーカイブフォーマットの制限は、ファイルのパス名の長さ、 ファイルサイズ、リンクファイルの指すファイルのパス名の長さ、 そしてファイルタイプなど。 (なお、制限要素はこれらに限られるわけではありません。) .It Fl B Ar bytes 単一のアーカイブボリュームに書き出される最大データ長を、 .Ar bytes で制限します。 .Ar bytes パラメータの末尾には .Li m , .Li k , .Li b のいずれかの文字を付加でき、それぞれ 1048576 (1M), 1024 (1K), 512 の倍数を 意味します。 また、 .Ar bytes に指定する数字を .Li x で区切ることで、文字 x で区切られた数字の積がブロックサイズとして採用されます。 .Pp .Em 警告 : 最後の (もしくは最大の) 書き込み時のオフセットに基づいた EOF をサポートする デバイス (テープや通常ファイルなどのようなもの) にアーカイブを書き出す時 にのみ本オプションを使って下さい。 本オプションをフロッピーやハードディスクデバイスファイルに対して用いる ことは、推奨しません。 .It Fl D 本オプションは、 .Fl u オプションと同様の動作を行いますが、ファイルの更新時間の代わりに ファイルの inode 変更時間がチェックされるところが異なります。 ファイルの inode 変更時間は、inode 情報 (ユーザ ID、グループ ID、その他) が コピー先のディレクトリ .Ar directory にあるものよりも新しいファイルを選択するのに用いられます。 .It Fl E Ar limit 部分的に破損したアーカイブの読み込みをリトライする際、その読み込み失敗回数を .Ar limit までに制限します。 .Ar limit に正の数を指定した場合、 .Nm はアーカイブの読み込みエラーからの復帰を試行し、アーカイブに格納されて いる次のファイルから処理を継続します。 .Ar limit が 0 の場合、 .Nm は最初のリードエラーがアーカイブボリュームに発生したところで処理を停止します。 .Ar limit が .Li NONE の場合には、読み込み失敗からの復帰を永遠に試行します。 デフォルトの .Ar limit の値は、小さい正の整数(リトライ回数)です。 .Pp .Em 警告 : .Nm コマンドを、本オプションを .Li NONE 指定して起動する場合には十分に気をつけて下さい。 というのも、処理対象となるアーカイブがぼろぼろに破損していた場合には、 処理が無限ループに陥る可能性があるからです。 .It Fl G Ar group グループ名が .Ar group で指定したものであるファイルを選択します。 グループ名が .Cm # で始まる場合には、ファイルのグループ ID がそれに連なる数字のものを 選択します。'\\' を用いて .Cm # をエスケープすることができます。 .Fl G オプションは、複数指定することが可能です。 この場合、最初にグループ名もしくはグループIDが一致したらところで チェックは停止します。 .It Fl H 物理的にファイルシステムトラバースを行いながら、 コマンドラインで指定されたファイルについてのみ シンボリックリンクをたどります。 .It Fl L 全てのシンボリックリンクファイルをたどります。 すなわち、論理的にファイルシステムトラバースを行います。 .It Fl P シンボリックリンクをたどりません。 すなわち、物理的にファイルシステムトラバースを行います。 デフォルトはこのモードです。 .It Fl T Ar [from_date][,to_date][/[c][m]] ファイル更新時間もしくは inode 更新時間が .Ar from_date から .Ar to_date の間 (それぞれで指定した時間も含みます) にあるファイルを選択します。 .Ar from_date のみ指定された場合には、ファイル更新時間もしくは inode 更新時間が その時間と同じかそれより新しいもののみ選択されます。 .Ar to_date のみ指定された場合には、ファイル更新時間もしくは inode 更新時間が その時間と同じかそれより古いもののみ選択されます。 .Ar from_date と .Ar to_date が等しい場合には、ファイル更新時間もしくは inode 更新時間が その時間と等しいものが選択されます。 .Pp .Nm が .Em 書き込みモード もしくは .Em コピーモード の場合には、オプションフィールドとして .Ar [c][m] を指定することが可能です。このフィールドは、時間の比較に inode更新時間と ファイル更新時間のどちら(あるいは両方)を使うかを決定します。 どちらも指定されない場合(デフォルト時)には、ファイル更新時間のみが用いられます。 .Ar m は、ファイル更新時間 (ファイルへの書き込みが最後に行われた時間) を 比較対象として用います。 .Ar c は、inode 更新時間 (inode が最後に更新された時間。例えば所有者、 グループ、モードその他が更新された時間) を比較対象として用います。 .Ar c と .Ar m の両者が指定された場合、ファイル更新時間と inode 更新時間の両者が比較対象 になります。 inode 更新時間の比較は、最近属性が変更されたファイルや 最近作成されたファイル、そしてファイル更新時間が古いものに再設定された ファイル (ファイル更新時間を保存するオプションを用いてアーカイブから 展開されたファイルなどがこれにあたります) を選択するのに便利です。 ファイル時間も併用して時間比較をする機能は、 .Nm を用いて、 時間を基準にしたインクリメンタルアーカイブ (指定した期間内に更新された ファイルのみアーカイブすること) を行うのに便利です。 .Pp 時間の範囲は、6 つの異なるフィールドから成り、各フィールドは 2 ケタの数字を 含む必要があります。 その形式は以下の通りです: .Dl [yy[mm[dd[hh]]]]mm[.ss] .Cm yy は、年号 (西暦) の最後の 2 桁です。 最初の .Cm mm は、月 (01 から 12) です。 .Cm dd は、日付 (01 から 31 まで) です .Cm hh は、時 (00 から 23 まで) です。 2 番めの .Cm mm は、分 (00 から 59 まで)です。 そして、 .Cm ss は、秒 (00 から 59 まで)です。 分のフィールドの .Cm mm は、省略不可であり、他のフィールドはオプションであり、以下の順序で 付加されなければなりません: .Dl Cm hh , dd , mm , yy ただし、 .Cm ss フィールドだけは、他のフィールドとは独立して付加可能です。 時間の範囲は、現在時刻からの相対値で表され、 .Dl Fl T Ar 1234/cm は、本日の 12:34 PM から後のファイル更新時間、もしくは inode 更新時間を持つ ファイルを選択することを表します。 複数の .Fl T による時間範囲指定を行うことが許可されており、 指定した範囲のうちいずれかと一致したら、その後の範囲チェックは行いません。 .It Fl U Ar user ファイルの所有者名 .Ar user に基づいて、ファイル選択が行われます。所有者名が .Cm # で始まる場合には、ファイルの UID がそれに連なる数字のものを 選択します。'\\' を用いて .Cm # をエスケープすることができます。 複数の .Fl U オプションを指定することが許されており、その指定の中で最初にユーザが 一致した場合には、それ以降のユーザ名のチェックは行いません。 .It Fl X パス名で指定されたファイル階層をトラバースする場合に、異なるデバイス ID を 持つディレクトリへは下りていきません。 デバイス ID について詳細な情報を取得したい場合には、 .Xr stat 2 の .Li st_dev フィールドを参照して下さい。 .It Fl Y 本オプションは、 .Fl D オプションと動作が似ていますが、全てのファイル名更新が終了した後、 生成されたパス名を用いて inode 更新時間をチェックするところが異なります。 .It Fl Z 本オプションは、 .Fl u オプションと動作が似ていますが、全てのファイル名更新が終了した後、 生成されたパス名を用いて、ファイル更新時間をチェックするところが異なります。 .El .Pp ファイルもしくはアーカイブ内に格納されたファイルについての操作を制御する オプション ( .Fl c , .Fl i , .Fl n , .Fl s , .Fl u , .Fl v , .Fl D , .Fl G , .Fl T , .Fl U , .Fl Y , .Fl Z ) は、相互に以下のような影響を及ぼします。 .Pp .Em 読み込み 処理におけるファイル展開時には、 展開されるファイルは、まず、アーカイブ内に格納されるファイルのうち .Fl c , .Fl n , .Fl u , .Fl D , .Fl G , .Fl T , .Fl U のそれぞれのオプションを用いて指定されるユーザ指定のパターンオペランド に基づいて選択されます。 それらのファイルの中から .Fl s および .Fl i オプションがこの順に、選択されたファイル名を修正します。 それから、最終的なファイル名にて .Fl Y および .Fl Z オプションによる条件を用いて絞り込みを行い、処理するファイルのパス名が 決まります。 そして最後に、 .Fl v オプションは、これまでの処理結果として得られた名前をファイル名として 書き出します。 .Pp .Em 書き込み 操作や .Em コピー 操作のファイルアーカイブでは、以下のオプション .Fl n , .Fl u , .Fl D , .Fl G , .Fl T , .Fl U ( .Fl D オプションはコピー操作時のみ適用されます) によって アーカイブメンバのファイルを選択します。 続いて、それらのファイルの中から .Fl s および .Fl i オプションがこの順に、選択されたファイル名を修正します。 それから .Em コピー 処理においては、最終的なファイル名にて .Fl Y および .Fl Z オプションによる条件を用いて絞り込みを行い、処理するファイルのパス名が 決まります。 そして最後に、 .Fl v オプションは、これまでの処理結果として得られた名前をファイル名として 書き出します。 .Pp .Fl n といっしょに .Fl u オプションあるいは .Fl D オプションのどちらか、もしくは両方が指定された場合、そのファイルが 比較対象のファイルより新しくなければ、そのファイルは選択されたとは みなされません。 .Sh 使用例 コマンド: -.Dl pax -w -f /dev/rst0 .\ +.Dl "pax -w -f /dev/rst0 ." は、カレントディレクトリの内容を .Pa /dev/rst0 にコピーします。 .Pp コマンド: .Dl pax -v -f filename は、 .Pa filename で指定したアーカイブに格納されているファイル内容の詳細な一覧を表示します。 .Pp 以下のコマンド: .Dl mkdir /tmp/foo .Dl cd /tmp/bar .Dl pax -rw .\ /tmp/foo を実行すると、 .Pa /tmp/bar 配下のディレクトリ階層全体を .Pa /tmp/foo にコピーします。 .Pp コマンド: .Dl pax -r -s ',^//*usr//*,,' -f a.pax は、アーカイブファイル .Pa a.pax からデータを読み込み、アーカイブ中の ``/usr'' 配下のファイルを全て、 カレントディレクトリからの相対ディレクトリに展開します。 .Pp コマンド: .Dl pax -rw -i .\ dest_dir は、カレントディレクトリから .Pa dest_dir ディレクトリにコピーしますが、ファイルをコピーするかどうかを 対話的に選択します。 .Pp コマンド: .Dl pax -r -pe -U root -G bin -f a.pax は、 .Pa a.pax 中に格納されているファイルのうち、所有者が .Em root でグループが .Em bin であるファイルを選択し、すべてのファイル属性を保存して展開します。 .Pp コマンド: .Dl pax -r -w -v -Y -Z home /backup は、コピー先ディレクトリ .Pa /backup にあるファイルのうち、コピー元ディレクトリ .Pa home に存在する同名のファイルより (inode 更新時刻もしくは ファイル更新時刻が) 古いものについて更新を行い、一覧表示します。 .Sh 規格 .Nm ユーティリティは、 .St -p1003.2 標準のスーパセットです。 オプション .Fl B , .Fl D , .Fl E , .Fl G , .Fl H , .Fl L , .Fl P , .Fl T , .Fl U , .Fl Y , .Fl Z 、アーカイブ形式 .Ar bcpio , .Ar sv4cpio , .Ar sv4crc , .Ar tar 、および .Ar 一覧表示 モードと .Ar 読み込み モードにおける破損したアーカイブの取り扱いは、 .Tn POSIX 標準に対する拡張です。 .Sh 作者 .An Keith Muller at the University of California, San Diego .Sh 診断 .Nm は、以下の値のいずれかで終了します: .Bl -tag -width 2n .It 0 すべてのファイルは正常に処理されました。 .It 1 エラーが発生しました。 .El .Pp アーカイブ読み込み中に .Nm がファイルを作成できない場合やリンクを張れない場合、 アーカイブに書き込み中にファイルが見つからない場合、 .Fl p オプション指定時にユーザ ID、グループ ID、ファイル属性を保存できない場合には、 診断メッセージが .Dv 標準エラー出力に 書き出され、0 以外の終了ステータスが返却されますが、 処理自体は継続して行われます。 ファイルへのリンクを作成できない場合には、 .Nm はファイルの二次コピーを作成しません。 .Pp アーカイブからのファイルの展開が、シグナル受信もしくはエラー発生により 途中で異常終了した場合、 .Nm はユーザが指定したファイルの一部分だけを展開して終了する可能性があります。 更に、展開したファイルやディレクトリの属性が不正であったり、 アクセス時間、更新時間も不正である可能性があります。 .Pp アーカイブの生成が、シグナル受信もしくはエラー発生により 途中で異常終了した場合、 .Nm は中途半端なアーカイブを生成している可能性があります。 このようなアーカイブは 特定のアーカイブフォーマット規定を満足していない可能性があります。 .Pp .Em コピー を行っている最中に、 .Nm が読み出したのと同じファイルへの書き込みを検出した場合、 そのファイルはコピーされず、診断メッセージが .Dv 標準エラー出力 へ書き出され、 .Nm は 0 以外の終了ステータスでプログラム終了します。 diff --git a/ja_JP.eucJP/man/man1/pkg_delete.1 b/ja_JP.eucJP/man/man1/pkg_delete.1 index d1c3aabc02..8584ab9322 100644 --- a/ja_JP.eucJP/man/man1/pkg_delete.1 +++ b/ja_JP.eucJP/man/man1/pkg_delete.1 @@ -1,263 +1,285 @@ .\" .\" FreeBSD install - a package for the installation and maintainance .\" of non-core utilities. .\" .\" 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. .\" .\" Jordan K. Hubbard .\" .\" .\" @(#)pkg_delete.1 -.\" %FreeBSD: src/usr.sbin/pkg_install/delete/pkg_delete.1,v 1.16.2.5 2001/02/20 23:32:48 jkh Exp % +.\" %FreeBSD: src/usr.sbin/pkg_install/delete/pkg_delete.1,v 1.16.2.6 2001/03/05 11:11:31 sobomax Exp % .\" .\" jpman %Id: pkg_delete.1,v 1.3 1997/06/09 08:35:00 jsakai Stab % .\" .Dd November 25, 1994 .Dt PKG_DELETE 1 .Os .Sh 名称 .Nm pkg_delete .Nd インストールされているソフトウェア配布 package を削除するプログラム .Sh 書式 .Nm -.Op Fl vDdnf +.Op Fl dDfGinvx .Op Fl p Ar prefix .Ar pkg-name ... +.Nm +.Fl a +.Op Ar flags .Sh 解説 .Nm コマンドは、 .Xr pkg_add 1 コマンドにより既にインストールされている package (訳注: FreeBSD の package system におけるパッケージを指す場合にこう表記します) を削除するために 用いられます。 .Sh 警告 .Bf -emphasis .Nm コマンドは package ファイルにより提供されるスクリプトやプログラムを 実行することがあるので、あなたのシステムは、危険な配布ファイルを 作る極悪人からの .Dq トロイの木馬 や他の巧妙な攻撃などを受ける 可能性があります。 .Pp package ファイルを提供する人物の能力と身元を確認するとよいでしょう。 より進んだ安全のためには、package 記録ディレクトリ .Pa ( /var/db/pkg// ) にあるすべての package 制御ファイルを確認します。 +INSTALL, +POST-INSTALL, +DEINSTALL, +POST-DEINSTALL, +REQUIRE, +MTREE_DIRS の各ファイルには 特に注意を払い、+CONTENTS ファイルの .Cm @cwd , .Cm @mode (setuid をチェック), .Cm @dirrm , .Cm @exec , .Cm @unexec ディレクティブを調べてください。 インストールされている package 制御ファイルを調べるのには .Xr pkg_info 1 コマンドも使えます。 .Ef .Sh オプション -以下のコマンドラインオプションが提供されいます: +以下のコマンドラインオプションが提供されています: .Bl -tag -width indent .It Ar pkg-name ... 指定された package がアンインストールされます。 +.It Fl a +無条件に、現在インストール済の package をすべて削除します。 +.It Fl i +各 package の削除前に、確認を求めます。 +これは、標準入力デバイスが端末かどうかに関係ありません。 .It Fl v 饒舌な出力に切り替えます。 .It Fl D package にアンインストール用スクリプトが存在しても、それを実行しません。 .It Fl n 実際にはアンインストールは行わず、アンインストールした場合に実行されるであろう ステップを表示します。 .It Fl p Ar prefix インストールされている package が明示的にディレクトリを設定していない 場合に、削除するファイルの前に .Ar prefix をディレクトリとして付け加えます。 ほとんどの package では、このディレクトリは .Xr pkg_add 1 によってインストールされた場所に自動的に設定されます。 .It Fl d ファイル削除により生じた空のディレクトリを削除します。 デフォルトでは、package の内容一覧に明示的に羅列された ファイル/ディレクトリ (通常のファイル/ディレクトリか .Cm @dirrm ディレクトリを伴ったもの) のみがアンインストール時に削除されます。 このオプションにより .Nm は package を削除することにより生ずる空ディレクトリも削除するように なります。 .It Fl f 依存関係が記録されていたり、アンインストールスクリプトや require スクリプトが失敗した場合でも、強制的に package を削除します。 +.It Fl G +削除対象の package の選択時に、 +.Ar pkg-name +中のシェルグロブパターンの展開を試みません (デフォルトでは、 +.Nm +は +.Ar pkg-name +中のシェルグロブパターンを自動的に展開します)。 +.It Fl x +.Ar pkg-name +を正規表現として扱い、名前がこの正規表現にマッチする全 package を削除します。 +複数の正規表現を指定可能であす。 +この場合、リスト中の少なくとも 1 個の正規表現にマッチする全 package が +削除されます。 .El .Sh 技術詳細 .Nm は名前の通りに働きます。 .Nm は .Pa /var/db/pkg/ に記録されたインストール済みの package をチェックし、 package の内容を削除し、最後に package の記録も削除します。 環境変数 .Ev PKG_DBDIR が設定されている場合には、前記パス .Pa /var/db/pkg/ にこれが優先します。 .Pp ある package が他のインストール済みの package から必要とされている場合、 .Nm はそれらの依存している package の一覧を表示し、package の削除は 行いません (ただし .Fl f オプションが指定された場合を除く)。 .Pp package が .Ar require ファイル( .Xr pkg_create 1 を参照)を含んでいる場合、まずそのファイルを以下の引数を付けて実行し、 アンインストール作業を続けるべきかどうかを確かめます: .Bd -ragged -offset indent -compact .Cm require .Ar .Ar DEINSTALL .Ed (ここで .Ar pkg-name は問題としている package の名前であり、 .Ar DEINSTALL はこれがアンインストールであることを示すキーワードです) 終了ステータスが 0 以外の場合には、 .Fl f オプションが指定されていない限りアンインストールを中断します。 .Pp package に .Cm deinstall スクリプトが含まれている場合、 そのスクリプトはファイルが削除される前に実行されます。 .Nm はオリジナルの package に含まれていたファイルを削除することしか 関知しないので、 package のインストールにまつわる雑多な事項をきれいに片づけるのは この .Cm deinstall スクリプトの責任です。 .\" since all ... 以下はなくてもどうにか意味が通じるだろう、という .\" のとうまい訳が見つからなかったので加えていません。 .\" By kuriyama@opt.phys.waseda.ac.jp (Jun 3 1997) .\" --> 訳してみました。By sakai@jp.freebsd.org (Jun 9, 1997) .Nm deinstall スクリプトは以下の引数を付けて実行されます: .Bd -ragged -offset indent -compact .Cm script .Ar .Ar DEINSTALL .Ed ここで、 .Ar pkg-name は対象の package 名であり、 .Ar DEINSTALL はこれがアンインストール前のフェーズであることを示すキーワードです。 .Pp .Sy 注: ( -.Cm Fl k +.Fl k および -.Cm Fl K +.Fl K のフラグを .Xr pkg_create 1 に使用することにより) package 作成時に deinstall と post-deinstall のスクリプトが別々に与えられる場合には、 .Ar DEINSTALL キーワードは登場しません。 .Pp .Cm post-deinstall スクリプトが package に対して存在する場合、 全ファイルが削除された .Cm 後 で実行されます。 package のインストールに際する更なる細々としたことを片づけ、 (願わくば) package インストール前と同じシステム状態に戻すことは、 このスクリプトの責任です。 .Pp .Nm post-deinstall は次のように呼び出されます: .Bd -ragged -offset indent -compact .Cm script .Ar .Ar POST-DEINSTALL .Ed ここで .Ar pkg-name は対象の package 名であり、 .Ar POST-DEINSTALL はこれがアンインストール後のフェーズであることを示すキーワードです。 .Pp .Sy 注: ( .Cm Fl k および .Cm Fl K のフラグを .Xr pkg_create 1 に使用することにより) package 作成時に deinstall と post-deinstall のスクリプトが別々に与えられる場合には、 .Ar POST-DEINSTALL キーワードは登場しません。 .Pp .Ar POST-DEINSTALL および .Ar PRE-DEINSTALL のキーワードを渡す背景には、 インストールと削除のすべてを扱うことができる単一のプログラム/スクリプト を記述可能にすることがあります。 .Pp しかしながら、この方法はメンテナンスがかなり難しく、 インストールおよびアンインストールの各局面を扱う別々のスクリプトを持つ方法 には及ばないことが、経験により分かりました。 .Pp すべてのスクリプトは環境変数 .Ev PKG_PREFIX にインストール時の prefix が設定された状態で実行されます (上記の .Fl p オプションを参照)。 このことにより、package の作者は .Nm や .Cm pkg_add の .Fl p フラグにより package がインストールされるディレクトリが 変更されても、きちんとふるまうスクリプトを書くことが可能になります。 .Sh 環境変数 環境変数 .Ev PKG_DBDIR は、インストール済み package の代替データベースを指定します。 .Sh 関連ファイル .Bl -tag -width /var/db/pkg -compact .It Pa /var/db/pkg インストール済み package のデーバベースのデフォルトの位置。 .El .Sh 関連項目 .Xr pkg_add 1 , .Xr pkg_create 1 , .Xr pkg_info 1 , .Xr pkg_version 1 , .Xr mktemp 3 , .Xr mtree 8 .Sh 作者 .An Jordan Hubbard .Sh 協力者 .An John Kohl Aq jtk@rational.com .Sh バグ まだあるはずです。 diff --git a/ja_JP.eucJP/man/man1/ps.1 b/ja_JP.eucJP/man/man1/ps.1 index 8b45f8293b..a943aa6449 100644 --- a/ja_JP.eucJP/man/man1/ps.1 +++ b/ja_JP.eucJP/man/man1/ps.1 @@ -1,522 +1,522 @@ .\" Copyright (c) 1980, 1990, 1991, 1993, 1994 .\" 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. .\" .\" @(#)ps.1 8.3 (Berkeley) 4/18/94 -.\" %FreeBSD: src/bin/ps/ps.1,v 1.24.2.1 2000/12/08 13:34:37 ru Exp % +.\" %FreeBSD: src/bin/ps/ps.1,v 1.24.2.2 2001/03/05 17:57:31 ru Exp % .\" .\" jpman %Id: ps.1,v 1.2 1997/05/20 01:19:55 mutoh Stab % .Dd April 18, 1994 .Dt PS 1 .Os BSD 4 .Sh 名称 .Nm ps .Nd プロセスの状態の表示 .Sh 書式 .Nm .Op Fl aCcefhjlmrSTuvwx .Op Fl M Ar core .Op Fl N Ar system .Op Fl O Ar fmt .Op Fl o Ar fmt .Op Fl p Ar pid .Op Fl t Ar tty .Op Fl W Ar swap .br .Nm .Op Fl L .Sh 解説 .Nm は、制御端末を持つ自分 (あなた) のプロセスの情報を、 ヘッダ行に続いて表示します。 この情報は、制御端末順に整列され、その中ではプロセス .Tn ID 順に整列されます。 .Pp 表示される情報は、一連のキーワードによって選ばれます .Pf ( Fl L , .Fl O , .Fl o オプションを参照)。 デフォルトの出力フォーマットは、各プロセス毎に、 プロセス .Tn ID , 制御端末・cpu 時間 (ユーザ時間とシステム時間の両方)・ プロセス状態・プロセスに関連するコマンドから成ります。 .Pp プロセスファイルシステム ( .Xr procfs 5 参照) は、 .Nm が実行されている時にマウントされているべきです。そうでない場合、 すべての情報が利用可能になるわけではありません。 .Pp オプションを以下に示します。 .Bl -tag -width indent .It Fl a 自分のプロセスに加え自分以外のプロセスの情報も同様に表示します。 .It Fl c ``コマンド'' 桁の出力を、すべてのコマンドラインを表示するのではなく、 実行形式名だけを表示するように変更します。 .It Fl C cpu パーセンテージの計算を、``常駐'' 時間を無視する ``生'' cpu 時間を使う方法に変更します (通常これは影響ありません)。 .It Fl e 環境 (変数) も同時に表示します。 .It Fl f スワップアウトされたプロセスに関して、 コマンドラインと環境の情報を表示します。 ユーザの uid が 0 である場合のみ、このオプションが有効になります。 .It Fl h ページ毎に 1 つヘッダが入るようにします。 .It Fl j 次のキーワードに関する情報を表示します: user, pid, ppid, pgid, sess, jobc, state, tt, time, command。 .It Fl L 有効なキーワードの一覧を表示します。 .It Fl l 次のキーワードに関する情報を表示します: uid, pid, ppid, cpu, pri, nice, vsz, rss, wchan, state, tt, time, command。 .It Fl M 名前リストの値を取り出すとき、 デフォルトの .Pa /dev/kmem の代わりに、指定した .Ar core から取り出します。 .It Fl m プロセス .Tn ID 順ではなく、メモリ使用量順に整列します。 .It Fl N デフォルトの .Pa /kernel の代わりに、指定された .Ar system から名前リストを取り出します。 .It Fl O デフォルトで表示される情報に加え、 指定されたキーワードに関する情報を、 プロセス .Tn ID の後に挿入する形式で表示します。 各キーワードの後ろには、等号 (``='') と文字列を追加しても構いません。 この場合、標準のヘッダの代わりに指定された文字列が表示されます。 .It Fl o 指定されたキーワードに関する情報を、表示します。 各キーワードの後ろには、等号(``='')と文字列を追加しても構いません。 この場合、標準のヘッダの代わりに指定された文字列が表示されます。 .It Fl p 指定したプロセス .Tn ID に関する情報を表示します。 .It Fl r プロセス .Tn ID 順ではなく、現在の cpu 利用率順に整列します。 .It Fl S プロセス時間を計算するのに、 終了した子プロセスの時間を親プロセスに合計するように変更します。 .It Fl T 標準入力のデバイスに取り付けられたプロセスの情報を表示します。 .It Fl t 指定された端末デバイスに取り付けられたプロセスの情報を表示します。 .It Fl U 指定された -.Tn username +.Ar username に属するプロセスを表示します。 .It Fl u 次のキーワードに関する情報を表示します: user, pid, %cpu, %mem, vsz, rss, tt, state, start, time, command。 .Fl u オプションを指定すると .Fl r オプションも暗に指定したことになります。 .It Fl v 次のキーワードに関する情報を表示します: pid, state, time, sl, re, pagein, vsz, rss, lim, tsiz, %cpu, %mem, command。 .Fl v オプションを指定すると .Fl m オプションも暗に指定したことになります。 .It Fl W デフォルトの .Pa /dev/drum の代わりに指定したファイルからスワップ情報を取り出します。 .It Fl w デフォルトの現行ウィンドウ幅ではなく、132 桁幅で表示します。 一度より多く .Fl w オプションを指定すると、 .Nm はウィンドウ幅にかかわらず、必要なだけの幅を使用します。 .It Fl x 制御端末のないプロセスの情報も表示します。 .El .Pp 有効なキーワードの全リストを以下に示します。 いくつかのキーワードに関してはさらに詳しく述べます。 .Bl -tag -width indent .It %cpu プロセスの cpu 利用率です。実時間で最近 1 分間の減衰平均です。 計算の基点となる時間は変化するので (プロセスはまだ生れたばかりかもしれないので)、 .Tn \&%CPU フィールド全部の合計は 100% を越える可能性もあります。 .It %mem プロセスで使われている実メモリのパーセンテージです。 .It flags インクルードファイル .Aq Pa sys/proc.h でプロセスに定義されたフラグです。 .Bl -column SNOCLDSTOP SNOCLDSTOP .It Dv "P_ADVLOCK" Ta No "0x00001 プロセスは POSIX 提案ロックを保持している" .It Dv "P_CONTROLT" Ta No "0x00002 制御端末を持っている" .It Dv "P_INMEM" Ta No "0x00004 メモリに読み込まれている" .It Dv "P_NOCLDSTOP" Ta No "0x00008 子プロセスが停止しても SIGCHLD を送らない" .It Dv "P_PPWAIT" Ta No "0x00010 親プロセスが、子プロセスが exec/exit するのを待っている" .It Dv "P_PROFIL" Ta No "0x00020 プロファイル付きで実行された" .It Dv "P_SELECT" Ta No "0x00040 select 中; wakeup/waiting は危険である" .It Dv "P_SINTR" Ta No "0x00080 sleep は割り込み可能" .It Dv "P_SUGID" Ta No "0x00100 最後の実行以来、id 特権が設定されている" .It Dv "P_SYSTEM" Ta No "0x00200 システムプロセス: シグナルや stat やスワップが無い" .It Dv "P_TIMEOUT" Ta No "0x00400 sleep 中にタイムアウトした" .It Dv "P_TRACED" Ta No "0x00800 デバッグプロセスはトレースされている" .It Dv "P_WAITED" Ta No "0x01000 デバッグプロセスは子プロセスを待っている" .It Dv "P_WEXIT" Ta No "0x02000 終了動作中" .It Dv "P_EXEC" Ta No "0x04000 プロセスは exec で呼ばれた" .It Dv "P_OWEUPC" Ta No "0x20000 次の ast プロセスが addupc() 呼び出しの借り" .It Dv "P_SWAPPING" Ta No "0x40000 プロセスはスワップされている" .El .It lim .Xr setrlimit 2 の呼び出しで指定される、メモリ使用量のソフトリミットです。 .It lstart コマンドの実行が始まった正確な時刻を、 .Xr strftime 3 に記述された ``%c'' フォーマットで表示します。 .It nice プロセススケジューリングにおける増加値です .Ns ( Xr setpriority 2 参照)。 .\" .Ns により ( と setpriority が離れるのを防ぐ .\" by horikawa@jp.freebsd.org (Feb 9 1997) .It rss プロセスの実メモリ(常駐分)の大きさ(1024バイト単位)です。 .It start コマンドが開始された時間です。 コマンドが開始されたのが 24 時間以内なら、 開始時刻は .Xr strftime 3 で記述された ``%l:ps.1p'' フォーマットで表示されます。 コマンドが開始されたのが 7 日以内なら、 開始時刻は ``%a6.15p'' フォーマットで表示されます。 さもなくば、開始時刻は ``%e%b%y'' フォーマットで表示されます。 .It state プロセスの状態を文字の列で表示します。例えば、 .Dq Tn RWNA の最初の文字は、プロセスが runnable 状態であることを示しています。 .Pp .Bl -tag -width indent -compact .It D プロセスはディスク (あるいは他の割り込み不可能な短期間の) 待ち状態です。 .It I プロセスは idle 状態 (20 秒以上 sleep している) です。 .It J プロセスは .Xr jail 2 中のものです。 牢屋のホスト名はは .Ql Li /proc//status に記述されています。 .It R プロセスは runnable 状態です。 .It S プロセスは 20 秒未満の sleep 状態です。 .It T プロセスは stop している状態です。 .It Z プロセスは死んでいる状態 (``ゾンビ'') です。 .El .Pp さらにこの後に文字があれば、さらなる状態情報を示します。 .Pp .Bl -tag -width indent -compact .It + プロセスはその制御端末のフォアグラウンドプロセスグループに属しています。 .It < プロセスは .Tn CPU のスケジュール優先度が上げられています。 .It > プロセスはメモリ要求に対するソフトリミットが指定されており、 現在そのリミットを越えています。 このようなプロセスは (必然的に) スワップされていません。 .It A プロセスはランダムなページ置換 ( .Xr madvise 2 における .Dv MADV_RANDOM のことで、例えば、 .Xr lisp 1 でのガーベージコレクション) を要求しました。 .It E プロセスは終了しようとしています。 .It L プロセスは実メモリ中にロックされたページ (例えば、raw .Tn I/O 用) を持っています。 .It N プロセスは .Tn CPU スケジューリング優先度 ( .Xr setpriority 2 参照) が下げられています。 .It S プロセスは .Tn FIFO ページ置換 ( .Xr madvise 2 における .Dv MADV_SEQUENTIAL のことで、 例えば、仮想記憶の多量のデータを順次アクセスする 大規模画像処理プログラム) を要求しました。 .It s プロセスはセッションリーダです。 .It V プロセスは .Xr vfork 2 の間、一時中断されています。 .It W プロセスはスワップアウトされています。 .It X プロセスはトレースされているか、デバッグされています。 .El .It tt もしあれば、制御端末のパス名の省略形です。 省略形は .Pa /dev/tty に続く 3 文字か、コンソール場合の ``con'' です。 もはやプロセスがその制御端末に到達できない (即ち、revoke された) 場合、 後に ``-'' が付きます。 .It wchan プロセスが待っているイベント (システム内のアドレス)。 数字で表示される時には、アドレスの最初の部分は削られて その結果が 16 進で表示されます。例えば 0x80324000 では 324000 と表示されます。 .El .Pp キーワード command には、 すでに終了しているのに親がまだ wait してくれていない プロセス(即ちゾンビ)は ``'' と表示されます。 終了しようとしてブロックされているプロセスは ``'' と表示されます。 .Nm は、メモリやスワップ領域を検査して、 プロセスが生成されたときのファイル名や引数を推測します。 この方法は、本質的に少々信頼できるものではなく、 プロセスはとにかくこの情報を破壊することができます。 だから、表示されるコマンド名や引数をあまり信用しすぎてはなりません。 一方、キーワード ucomm (アカウンティング名) は信用できます。 .Sh キーワード 以下は有効なキーワードとその意味の全リストです。 そのうちいくつかは別名があります。 .Pp .Bl -tag -width sigignore -compact .It %cpu cpu 使用率 (別名 pcpu) .It %mem メモリ使用率 (別名 pmem) .It acflag アカウンティングフラグ (別名 acflg) .It command コマンド名と引数 .It cpu 短期間 cpu 使用係数 (スケジューリング用) .It flags 16 進数のプロセスフラグ (別名 f) .It inblk 総ブロック読み出し数 (別名 inblock) .It jobc ジョブコントロール数 .It ktrace トレース中フラグ .It ktracep トレース中の vnode .It lim メモリ利用のリミット .It logname プロセスを開始したユーザのログイン名 .It lstart 開始時刻 .It majflt 総ページフォールト数 .It minflt 総ページ再生数 .It msgrcv 総メッセージ受信数 (パイプ/ソケットからの読み込み) .It msgsnd 総メッセージ送信数 (パイプ/ソケットへの書き込み) .It nice nice 値 (別名 ni) .It nivcsw 総強制的コンテキストスィッチ数 .It nsigs 総シグナル受け入れ数 (別名 nsignals) .It nswap 総スワップイン/スワップアウト数 .It nvcsw 総自発的コンテキストスィッチ数 .It nwchan wait チャネル (アドレスで表示) .It oublk 総ブロック書き込み数 (別名 oublock) .It p_ru リソース利用量 (ゾンビに対してのみ有効) .It paddr スワップアドレス .It pagein ページイン数 (majflt と同じ) .It pgid プロセスグループ番号 .It pid プロセス .Tn ID .It poip 進行中のページアウト数 .It ppid 親プロセス .Tn ID .It pri スケジューリング優先度 .It re 実メモリ常駐時間 (秒単位; 127 = 無限) .It rgid 実グループ .Tn ID .It rlink run 行列における逆リンク (あるいは 0) .It rss 常駐セットサイズ .It rsz 常駐セットサイズ + (テキストのサイズ/テキストの利用総数) (別名 rssize) .\" つまり、共通テキストを複数プロセスで分担しているわけだ .It rtprio 実時間優先度 (101 = 実時間プロセスではない) .It ruid 実ユーザ .Tn ID .It ruser ユーザ名 (ruid から得られたもの) .It sess セッションポインタ .It sig 遅延されたシグナル (別名 pending) .It sigcatch 捕獲されたシグナル (別名 caught) .It sigignore 無視されたシグナル (別名 ignored) .It sigmask ブロックされたシグナル (別名 blocked) .It sl sleep 時間 (秒単位; 127 = 無限) .It start 開始時刻 .It state 記号でのプロセス状態 (別名 stat) .It svgid setgid プログラムでの saved gid .It svuid setuid プログラムでの saved uid .It tdev 制御端末のデバイス番号 .It time ユーザ + システムの合計 cpu 時間 (別名 cputime) .It tpgid 制御端末プロセスグループ .Tn ID .\".It trss .\"text resident set size (in Kbytes) .\"テキスト常駐セットサイズ(Kbyte単位) .It tsess 制御端末セッションポインタ .It tsiz テキストサイズ (K バイト単位) .It tt 制御端末名 (2 文字の省略形) .It tty 制御端末の完全な名前 .It uprocp プロセスポインタ .It ucomm アカウンティングで使われるコマンド名 .It uid 実効ユーザ .Tn ID .It upr システムコールから帰る時のスケジューリング優先度 (別名 usrpri) .It user ユーザ名 (uid から得たもの) .It vsz k バイト単位の仮想記憶サイズ (別名 vsize) .It wchan wait チャネル (シンボル名で表示) .It xstat 終了ステータスまたは stop ステータス (stop プロセスかゾンビプロセスの時のみに有効) .El .Sh 関連ファイル .Bl -tag -width /var/run/kvm_kernel.db -compact .It Pa /dev 特殊ファイルとデバイスの名前 .It Pa /dev/drum デフォルトのスワップデバイス .It Pa /dev/kmem デフォルトのカーネルメモリデバイス .It Pa /var/run/dev.db .Pa /dev 名前データベース .It Pa /var/run/kvm_kernel.db システム (カーネル) の名前リストデータベース .It Pa /kernel デフォルトのシステムの名前リスト .El .Sh 関連項目 .Xr kill 1 , .Xr w 1 , .Xr kvm 3 , .Xr strftime 3 , .Xr pstat 8 .Sh バグ .Nm はシステムより速く実行できず、 他のプロセスと同様にスケジュールされて実行されるので、 表示される情報は正確ではあり得ません。 diff --git a/ja_JP.eucJP/man/man1/rcp.1 b/ja_JP.eucJP/man/man1/rcp.1 index 035dc846bc..9911492987 100644 --- a/ja_JP.eucJP/man/man1/rcp.1 +++ b/ja_JP.eucJP/man/man1/rcp.1 @@ -1,156 +1,156 @@ .\" 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. .\" .\" @(#)rcp.1 8.1 (Berkeley) 5/31/93 -.\" %FreeBSD: src/bin/rcp/rcp.1,v 1.9.2.2 2001/01/23 15:13:08 asmodai Exp % +.\" %FreeBSD: src/bin/rcp/rcp.1,v 1.9.2.3 2001/03/05 10:14:46 asmodai Exp % .\" jpman %Id: rcp.1,v 1.2 1997/05/20 01:30:55 mutoh Stab % .\" .Dd May 31, 1993 .Dt RCP 1 .Os BSD 4.3r .Sh 名称 .Nm rcp .Nd リモートファイルのコピー .Sh 書式 .Nm .Op Fl Kpx .Op Fl k Ar realm .Ar file1 file2 .Nm .Op Fl Kprx .Op Fl k Ar realm -.Ar file ... +.Ar .Ar directory .Sh 解説 .Nm は、ネットワークでつながれた複数のマシンの間でコピーをするプログラムです。 .Ar file および .Ar directory として .Dq rname@rhost:path の形式で指定する ことにより、それがリモートマシン上のファイルであるとみなされます。 ファイル指定に `:' が含まれていないか、含まれていても `/' の後にある 場合は、ローカルマシンのファイルとみなされます。 .Pp 次のオプションを利用可能です: .Bl -tag -width flag .It Fl K 全ての Kerberos による認証を無効にします。 .It Fl k .Xr krb_realmofhost 3 で決定されるリモートホストの realm のかわりに、 .Ar realm で指定したリモートホストの チケットを得るようにします。 .It Fl p .Ar umask を無視し、転送元のファイルの修正日付とアクセスモードを維持したままコピー します。デフォルトでは、転送先に同じファイル名のファイルがすでに 存在していれば、そのファイルのモードと所有者が引き継がれ、もしファイルが 存在していなければ、転送元のファイルのモードに転送先のマシンで使われている .Xr umask 2 のマスクを施したアクセスモードになります。 .It Fl r 転送元としてディレクトリが指定された場合、ディレクトリ下の各ファイルも 再帰的にコピーします。この場合、転送先にはディレクトリを指定しなければ なりません。 .It Fl x .Nm で送るすべてのデータを .Tn DES 暗号化します。これによりレスポンスタイムと .Tn CPU の利用率に影響が生じますが、セキュリティは向上します。 .El .Pp .Ar file がフルパスでなかった場合は、リモートマシン .Ar rhost 上のユーザ .Ar ruser のログインディレクトリ (リモートユーザ名が指定されていなければ、現在のユーザ名の ログインディレクトリ) からの相対パスと解釈します。 リモートマシン上のファイル指定にワイルドカードなどのメタキャラクタを 含める場合は、ローカルマシンのシェルによりワイルドカードが 展開されないよう \e, ", \(aa のいずれかでクォートする必要があります。 .Pp .Nm では .Xr rsh 1 を使用するため同様のユーザの認証が必要とされ、パスワードを要求する プロンプトを出しません。 .Pp .Nm では転送元、転送先ともにリモートマシンを指定し、 第三者によるリモートマシン間での ファイルのコピーを行うこともできます。 .Sh 関連ファイル .Bl -tag -width /etc/auth.conf -compact .It Pa /etc/auth.conf 認証サービスの設定 .El .Sh 関連項目 .Xr cp 1 , .Xr ftp 1 , .Xr rlogin 1 , .Xr rsh 1 , .Xr auth.conf 5 , .Xr hosts.equiv 5 .Sh 歴史 .Nm コマンドは .Bx 4.2 から登場しました。 このバージョンの .Nm は、 .Bx 4.3 Reno において Kerberos を組み込んで再実装されました。 .Sh バグ ディレクトリが指定されるべき場所にファイルが指定されている場合を検出で きるとは限りません。 .Pp リモートホストの .Pa \&.login , .Pa \&.profile , .Pa \&.cshrc のいずれかに含まれるコマンドの出力によって混乱することがあります。 .Pp 転送先のマシンにバージョン .Bx 4.2 の .Nm が動作している場合、 .Dq rhost.rname のように転送先のユーザ名とホスト 名を指定しなければなりません。 diff --git a/ja_JP.eucJP/man/man1/rlogin.1 b/ja_JP.eucJP/man/man1/rlogin.1 index 7576b40aa4..2788b92c88 100644 --- a/ja_JP.eucJP/man/man1/rlogin.1 +++ b/ja_JP.eucJP/man/man1/rlogin.1 @@ -1,221 +1,225 @@ .\" 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. .\" .\" @(#)rlogin.1 8.1 (Berkeley) 6/6/93 -.\" %FreeBSD: src/usr.bin/rlogin/rlogin.1,v 1.11.2.2 2001/01/16 10:40:43 ru Exp % +.\" %FreeBSD: src/usr.bin/rlogin/rlogin.1,v 1.11.2.3 2001/03/04 08:59:03 kris Exp % .\" jpman %Id: rlogin.1,v 1.3 1997/08/20 12:42:10 horikawa Stab % .\" .Dd June 6, 1993 .Dt RLOGIN 1 .Os BSD 4.2 .Sh 名称 .Nm rlogin .Nd リモートログイン .Sh 書式 .Nm -.Op Fl 8DEKLdx +.Op Fl 468DEKLdx .Op Fl e Ar char .Op Fl i Ar localname .Op Fl k Ar realm .Op Fl l Ar username .Ar host .Sh 解説 .Nm は、リモートホスト .Ar host 上で端末セッションを開始します。 .Pp .Nm はまず最初に、以下に述べる Kerberos 認証メカニズムの使用を試みます。 もしリモートホストが Kerberos をサポートしていなければ、 標準的な Berkeley .Pa rhosts 認証メカニズムが用いられます。 オプションは以下の通りです: .Bl -tag -width flag +.It Fl 4 +IPv4 アドレスのみを使用します。 +.It Fl 6 +IPv6 アドレスのみを使用します。 .It Fl 8 常に 8 ビットの入力データパスを有効にします。 .Fl 8 オプションを指定しなければ、 リモート側のストップ/スタートキャラクタが ^S/^Q の場合を除き、 パリティビットが取り除かれます。 .It Fl D ソケットオプション TCP_NODELAY を有効にします。 ネットワーク負荷を高めますが、対話の応答性が向上します。 .It Fl E いかなるキャラクタもエスケープキャラクタとして認識されないようにします。 .Fl 8 オプションと組み合わせて用いると、 完全に透過的なコネクションとなります。 .It Fl K .Fl K 全ての Kerberos 認証を無効にします。 .It Fl L rlogin セッションを .Dq litout モードで動作させます ( .Xr tty 4 参照)。 .It Fl d リモートホストとの通信に用いる TCP ソケットの ソケットデバッグ機能 ( .Xr setsockopt 2 参照)を有効にします。 .It Fl e エスケープキャラクタを指定します。デフォルトは .Dq ~ です。 指定はリテラルキャラクタあるいは \ennn 形式の 8 進数で行います。 .It Fl i .Fl i オプションにより、認証に使用する別のローカル名を、呼び出し元が指定可能です。 本オプションは、UID 0 のプロセスのみに制限されます。 .It Fl k .Xr krb_realmofhost 3 で決定されるリモートホストの管理領域 (realm) ではなく、指定した管理領域 .Ar realm におけるリモートホスト用チケットを得るように rlogin に要求します。 ./" UNIX MAGAZINE 95/4 および FreeBSD Handbook の日本語訳を参考に、 ./" realm -> 管理領域としています。 ./" Kazuo Horikawa 20 Aug 1997 .It Fl l .Fl l オプションにてリモートログインに別の .Ar username を指定します。 このオプションを指定しないと、ローカルなユーザ名を使用します。 .It Fl x rlogin セッションを通してやりとりされる全てのデータを .Tn DES 暗号化します。 これは応答時間や .Tn CPU 使用率に影響を及ぼしますが、 より高いセキュリティが得られます。 .El .Pp .Dq Ao escape char Ac Ns \&. という形式の行を入力すると、 リモートホストから切断します。 同様に .Dq Ao escape char Ac Ns ^Z という行を入力すると .Nm セッションを中断し、 .Dq Ao escape\ char Ac Ao delayed-suspend\ char Ac を入力すると rlogin の送信部分のみ中断し、リモートシステムからの出力は有効に保ちます。 デフォルトでは はチルダ .Pq Dq ~ であり、 は普通 control-Y .Pq Dq ^Y です。 .Pp エコーは全てリモートサイト側で行われ、(遅延を除き) .Nm は透過的です。 ^S/^Q によるフロー制御や割り込み発生時の入出力のフラッシュは 正しく処理されます。 .Sh KERBEROS 認証 各ユーザはホームディレクトリの .Pa .klogin ファイル中に各個人の認証リストを持つことができます。 このファイルの各行は .Ar principal.instance@realm という形式で Kerberos の principal 名を持っています。 もし最初のユーザが .Pa .klogin 中のある principal 名に認証されれば、 そのアカウントでのアクセスが許可されます。 もし .Pa .klogin ファイルが存在しなければ、次の principal .Ar accountname.@localrealm でのアクセスが許可されます。 これ以外の場合、 .Xr login 1 の場合と同様、リモートマシンにおいてログインとパスワードのプロンプトが 表示されます。 いくつかのセキュリティ問題を回避するため、 .Pa .klogin ファイルはリモートユーザの所有としなければなりません。 .Pp Kerberos 認証に失敗すると、警告メッセージが表示され、 標準的な Berkeley .Nm 方式が用いられます。 .Sh 環境変数 .Nm では以下の環境変数が用いられます: .Bl -tag -width TERM .It Ev TERM ユーザの端末タイプを決定します。 .El .Sh 関連項目 .Xr login 1 , .Xr rsh 1 , .Xr telnet 1 , .Xr setsockopt 2 , .Xr kerberos 3 , .Xr krb_realmofhost 3 , .Xr krb_sendauth 3 , .Xr ruserok 3 , .Xr tty 4 , .Xr auth.conf 5 , .Xr hosts.equiv 5 , .Xr hosts 5 , .Xr rlogind 8 , .Xr rshd 8 .Sh 関連ファイル .Bl -tag -width /etc/hosts -compact .It Pa /etc/hosts .It Pa /etc/hosts.equiv .It Pa /etc/auth.conf .Sm off .It Pa Ev $HOME /.rhosts .It Pa Ev $HOME /.klogin .Sm on .El .Sh 歴史 .Nm コマンドは .Bx 4.2 から登場しました。 .Pp IPv6 サポートを WIDE/KAME プロジェクトが追加しました。 .Sh バグ .Nm rlogin は近い将来 .Xr telnet 1 に置き換えられるでしょう。 .Pp より多くの環境が引き継がれるべきです。 diff --git a/ja_JP.eucJP/man/man1/rm.1 b/ja_JP.eucJP/man/man1/rm.1 index c2e8b54ff2..e9677d93c2 100644 --- a/ja_JP.eucJP/man/man1/rm.1 +++ b/ja_JP.eucJP/man/man1/rm.1 @@ -1,202 +1,202 @@ .\" %NetBSD: rm.1,v 1.7 1995/03/21 09:08:22 cgd Exp % .\" .\" Copyright (c) 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. .\" .\" @(#)rm.1 8.5 (Berkeley) 12/5/94 -.\" %FreeBSD: src/bin/rm/rm.1,v 1.19.2.2 2000/12/15 17:47:24 ru Exp % +.\" %FreeBSD: src/bin/rm/rm.1,v 1.19.2.3 2001/03/05 10:16:38 asmodai Exp % .\" .\" jpman %Id: rm.1,v 1.3 1997/05/19 16:49:44 horikawa Stab % .Dd January 28, 1999 .Dt RM 1 .Os .Sh 名称 .Nm rm , .Nm unlink .Nd ディレクトリエントリの削除 .Sh 書式 .Nm .Op Fl dfiPRrvW -.Ar file ... +.Ar .Nm unlink .Ar file .Sh 解説 .Nm は、 コマンドラインから指定された非ディレクトリタイプのファイルを削除します。 指定されたファイルに書き込みパーミッションがなく、 標準入力がターミナルだった場合、 削除を実行してよいかどうかの確認を (標準エラー出力を使って) 求めます。 .Pp オプションとしては以下のものがあります: .Bl -tag -width Fl .It Fl d ディレクトリも、他のタイプのファイルと同様に削除します。本オプション なしに file としてディレクトリを指定した場合、エラーになります。 .It Fl f ファイルのパーミッションに関わらす、確認せずにファイルの 削除を行います。 ファイルが存在しない場合にもエラーメッセージは表示せず、終了ステータス もエラーを返しません。 .Fl f オプション以前に書かれた .Fl i オプションを無視します。 .It Fl i ファイルのパーミッションや標準入力がターミナルであるかどうかに関わらず、 指定された各ファイルを削除する前に、確認を求めるようになります。 .Fl i オプション以前に書かれた .Fl f オプションを無視します。 .It Fl P ファイルを削除する前に上書きします。まず 0xff のバイトパターンで、次に 0x00 で、そして最後にもう一度 0xff で上書きし、削除します。 .It Fl R 引数 file として指定したディレクトリを再帰的に削除します。 .Fl R オプションは、暗黙のうちに .Fl d オプションが指定されたものとします。 .Fl i オプションが指定されているときには、最初にディレクトリを 削除する/しないの確認が求められ、さらに奥のディレクトリについても 各ディレクトリの中身の削除に移る前に確認が求められます。 確認に対して削除すると答えなかった場合には、それ以下のディレクトリは スキップされます。 .Pp .It Fl r .Fl R と同じです。 .It Fl v ファイルを削除するときに冗長になり、削除する時ファイルを表示します。 .It Fl W 削除したファイルを回復しようとします。 現在このオプションは、 ホワイトアウトされたファイルを回復するためにのみ使用可能です。 .El .Pp .Nm は、シンボリックリンクを削除するときリンクは削除しますが、 リンクが参照しているファイルは削除しません。 .Pp ファイル .Dq .\& と .Dq .. を削除しようとするとエラーになります。 .Pp 本ユーティリティが .Nm unlink として呼ばれた場合、非ディレクトリの単一引数のみが指定可能です。 この単純モード動作では、オプションは指定不可であり、渡された引数に対し .Xr unlink 2 動作を実行します。 .Pp 指定したファイルをすべて削除した場合か、 .Fl f オプションが指定され、存在するファイルがすべて削除された場合に 0 を返します。 エラーが起きた場合は 0 より大きな値を返します。 .Sh 注 .Nm は引数をパースするために .Xr getopt 3 を使用します。getopt は .Sq Li -- 引数を受け付けます。これはフラグオプションの読み込みを終了させます。 それゆえ、ダッシュ .Sq Li - で始まるファイルを削除できます。 例えば: .Dl $ rm -- -filename 絶対もしくは相対参照を用いることで同様の効果が得られます。 例えば: .Dl rm /home/user/-filename .Dl rm ./-filename .Sh 関連項目 .Xr rmdir 1 , .Xr undelete 2 , .Xr unlink 2 , .Xr fts 3 , .Xr getopt 3 , .Xr symlink 7 .Sh バグ .Fl P オプションではファイルシステムが固定ブロック長であると仮定されます。 UFS は固定長ファイルシステムですが、LFS はそうではありません。 さらに、通常ファイルは上書きされますが、それ以外の種類のファイルは 上書きされません。 .Sh 互換性 .Nm は、 .Fl f オプションが存在しないファイルに対するエラーのみをマスクする点が伝統的 実装と異なります。 .Fl v は標準ではありませんし、スクリプト中での使用はお勧めしません。 .Pp また、伝統的 .Bx 実装では標準エラー出力ではなく標準出力に確認が出力されていました。 .Sh 規格 .Nm コマンドは、ほぼ .St -p1003.2 互換です。 指定された .Ar file がディレクトリの場合には .Nm rm が .Xr rmdir 1 のように動作することを、 .Tn POSIX では求めていることが例外です。 このような動作が必要な場合には、本実装では .Fl d オプションが必要です。 これは、ディレクトリに関する .Nm の歴史的な動作に従っています。 .Pp 単純化された .Nm unlink は .St -susv2 準拠です。 .Sh 歴史 .Nm コマンドは .At v1 から登場しました。 diff --git a/ja_JP.eucJP/man/man1/rsh.1 b/ja_JP.eucJP/man/man1/rsh.1 index 511ef90d51..9928614e16 100644 --- a/ja_JP.eucJP/man/man1/rsh.1 +++ b/ja_JP.eucJP/man/man1/rsh.1 @@ -1,198 +1,202 @@ .\" 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. .\" .\" @(#)rsh.1 8.1 (Berkeley) 6/6/93 -.\" %FreeBSD: src/usr.bin/rsh/rsh.1,v 1.11.2.1 2000/12/08 15:14:04 ru Exp % +.\" %FreeBSD: src/usr.bin/rsh/rsh.1,v 1.11.2.2 2001/03/04 09:01:45 kris Exp % .\" .\" jpman %Id: rsh.1,v 1.2 1997/05/13 00:56:14 mutoh Stab % .\" .Dd June 6, 1993 .Dt RSH 1 .Os BSD 4.2 .Sh 名称 .Nm rsh .Nd リモートマシン上でコマンドを実行する .Sh 書式 .Nm -.Op Fl Kdnx +.Op Fl 46Kdnx .Op Fl t Ar timeout .Op Fl k Ar realm .Op Fl l Ar username .Ar host .Op command .Sh 解説 .Nm は .Ar host で指定したホスト上で、 .Ar command で指定したコマンドを実行します。 .Pp .Nm は、標準入力をリモートコマンドに対してコピーします。また、リモートコマンドの 標準出力を、 .Nm の標準出力に、リモートコマンドの標準エラー出力を、 .Nm の標準エラー出力にコピーします。 SIGINT, SIGQUIT, SIGTERM の各シグナルに関しては、 リモートコマンドに対して通知されます。 .Nm は、リモートコマンドが正常終了した場合には正常終了します。本コマンドは、 以下のオプションが使用可能です。 .Bl -tag -width flag +.It Fl 4 +IPv4 アドレスのみを使用します。 +.It Fl 6 +IPv6 アドレスのみを使用します。 .It Fl K Keroberos による全てのユーザ認証を行いません。 .It Fl d .Nm は .Xr setsockopt 2 を用いて、リモートホストとの通信に用いられる .Tn TCP ソケットのデバッグを有効にします。 .It Fl k Ar realm .Nm はリモートホストに対して .Xr krb_realmofhost 3 によって定義されるリモートホストの realm の代わりに、指定した .Ar realm を使用して、リモートホストに対してのアクセス許可を得ます。 .It Fl l Ar username リモートの .Ar username を指定可能です。 デフォルトでは、ローカルユーザ名とリモートホスト上のユーザ名は同じです。 ユーザ認証には .Xr rlogin 1 と同様の仕組みにより Kerberos によるユーザ認証機構が使われます。 .It Fl n .Nm の入力を、特殊デバイス .Pa /dev/null にします( .Sx バグ の項を参照してください)。 .It Fl x すべてのデータ交換に .Tn DES による暗号化を有効にします。これを用いると レスポンスが著しく悪くなるかも知れません。 .It Fl t Ar timeout .Fl t オプションは、(秒で表現される) .Ar timeout を指定します。この時間の間、 データが送られも受け取りもされない場合、 .Nm は終了します。 .El .Pp .Ar command が指定されない場合には、ユーザは .Xr rlogin 1 を用いてリモートホストにログインします。 .Pp クォートされていないシェルのメタキャラクタについては、ローカルマシン上 で解釈され、クォートされているメタキャラクタはリモートホスト上で解釈 されます。例えば、 .Pp .Dl rsh otherhost cat remotefile >> localfile .Pp については、リモートマシン上のファイル .Ar remotefile を、ローカルマシン上のファイル .Ar localfile に追加します。一方 .Pp .Dl rsh otherhost cat remotefile \&">>\&" other_remotefile .Pp については、リモートマシン上の .Ar remotefile を .Ar other_remotefile に追加します。 .\" .Pp .\" Many sites specify a large number of host names as commands in the .\" directory /usr/hosts. .\" If this directory is included in your search path, you can use the .\" shorthand ``host command'' for the longer form ``rsh host command''. .Sh 関連ファイル .Bl -tag -width /etc/hosts -compact .It Pa /etc/hosts .It Pa /etc/auth.conf .El .Sh 関連項目 .Xr rlogin 1 , .Xr setsockopt 2 , .Xr kerberos 3 , .Xr krb_realmofhost 3 , .Xr krb_sendauth 3 , .Xr rcmd 3 , .Xr ruserok 3 , .Xr auth.conf 5 , .Xr hosts.equiv 5 , .Xr hosts 5 , .Xr rlogind 8 , .Xr rshd 8 .Sh 歴史 .Nm コマンドは .Bx 4.2 から登場しました。 .Sh バグ .Xr csh 1 を用いて .Nm を標準入力からのリダイレクトなしにバックグラウンドで実行する場合、 たとえリモートコマンドの入力がなくても(必ず)ブロックされるでしょう。 リダイレクトで .Nm に入力を渡す必要がなければ、 .Fl n オプションを用いてリモートコマンドの入力元を .Pa /dev/null に切り替えてください。 .Pp .Nm を用いて、 .Xr rogue 6 や .Xr vi 1 のような会話的コマンドを実行することはできません。 代わりに .Xr rlogin 1 を使用してください。 .Pp SIGSTOP は、ローカルマシンの .Nm プロセスを停止させるだけです。これはおそらく良くない動作です. しかし、これを直すことは、現時点では困難です。ここでその理由を説明す るにはあまりに複雑なので、理由については割愛します。 diff --git a/ja_JP.eucJP/man/man1/send-pr.1 b/ja_JP.eucJP/man/man1/send-pr.1 index ca57502bdf..26e979428a 100644 --- a/ja_JP.eucJP/man/man1/send-pr.1 +++ b/ja_JP.eucJP/man/man1/send-pr.1 @@ -1,291 +1,296 @@ .\" -*- nroff -*- .\" --------------------------------------------------------------------------- .\" man page for send-pr (by Heinz G. Seidl, hgs@cygnus.com) .\" updated Feb 1993 for GNATS 3.00 by Jeffrey Osier, jeffrey@cygnus.com .\" .\" This file is part of the Problem Report Management System (GNATS) .\" Copyright 1992 Cygnus Support .\" .\" 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 Library General Public .\" License along with this program; if not, write to the Free .\" Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA .\" .\" --------------------------------------------------------------------------- .\" -.\" %FreeBSD: src/gnu/usr.bin/send-pr/send-pr.1,v 1.9 1999/12/29 23:13:56 steve Exp % +.\" %FreeBSD: src/gnu/usr.bin/send-pr/send-pr.1,v 1.9.2.1 2001/03/05 10:44:04 kris Exp % .\" jpman %Id: send-pr.1,v 1.2 1997/03/29 08:29:34 horikawa Stab % .nh -.TH SEND-PR 1 3.2 "February 1993" +.TH SEND-PR 1 3.113 "February 1993" .SH 名称 send-pr \- サポートサイトに Problem Report (PR) を送る。 .SH 書式 .B send-pr [ .I site ] [ .B \-f .I problem-report ] [ .B \-t .I mail-address ] .br .in +0.8i [ .B \-P ] [ .B \-L ] [ -.B \-\-request-id +.B \-s +.I severity ] [ .B \-V ] .br [ -.B --version +.B \-\-version +] +[ +.B \-c +.I address ] .SH 解説 .B send-pr は、サポートサイトに対して、 .I problem report .\" SITE ADMINISTRATORS - change this if you use a local default (PR) を送るために使うツールです。大抵の場合は正しい .I site がデフォルトとなっているはずです。この引数は、問題 のカテゴリに対して責任をもつサポートサイトを指し示します。いくつかの サイトはデフォルトとしてローカルアドレスを使っていることでしょう。 .I site は、 .BR aliases (5) を使って定義されます。 .LP .B send-pr を実行すると、エディタが起動され、用意されているテンプレートが (いくつ かのフィールドにもっともらしいデフォルトの値をあてはめてから) 読み込ま れます。エディタを終了すると、 .B send-pr は、サポートサイトの .I Problem Report Management System (\fBGNATS\fR) に書き込み終えた書式をメールで送ります。 サポートサイトで は、PR に唯一の番号を割り当てて、その問題のカテゴリ と \fIsubmitter-id\fR とともに、\fBGNATS\fR データベースに 保存しています。 \fBGNATS\fR は PR を受理したこと知らせるために、 問題のカテゴリの引用と PR 番号とを自動的に返送します。 .LP PR がすぐに処理されるようにするためには、問題の属す領域を識別するため、 指定可能カテゴリから一つを選んで記入する必要があります。(カテゴリの一覧は .B `send-pr -L' で見ることができます。) .LP 問題の記述がより正確であり、提供される情報がより完全であればあるほど、 サポートチームは問題をそれだけ早く解決することができます。 .SH オプション .TP .BI \-f " problem-report" すでに記入した PR ファイルを \fIproblem-report\fR に指定できます。 .B send-pr はエディタを起動せずに指定したファイルを送ります。 .I problem-report が .BR `\|\-\|' のときは .B send-pr は、標準入力から読み込みます。 .TP +.BI \-s " severity" +PR の重大度を、 +.IR severity +と指定します。 +.TP .BI \-t " mail-address" PR を送るサイトのメールアドレスを変更します。 デフォルトのメールアドレスは、 デフォルトサイトのものが使われます。特殊な状況を除き、この オプションではなく、 .I site 引数を使って下さい。 .TP +.BI \-c " address" +.I address +を、メッセージの +.B Cc: +ヘッダ中に入れます。 +.TP .B \-P 環境変数 .B PR_FORM で指定されたテンプレートを標準出力に出力します。 .B PR_FORM が定義されていないときは、標準のブランク PR テンプレートが出力されます。 メールは送られません。 .TP .B \-L 指定可能なカテゴリの一覧が表示されます。メールは送られません。 .TP -.B \-\-request\-id -デフォルトサイトか、 -.I site -が指定されればそのサイトに -.IR submitter-id -を要求するメールを送信します。もしユーザがそのサイトに所属していなければ、 -.I submitter-id -は -.BR net -を使う必要があります。 -.TP .B \-V .B send-pr のバージョン番号を表示します。 .B \-\-version 指定でも表示可能です。 .LP 注: PR を提出するためには、PR を直接メールするのではなく、 .B send-pr を使いましょう。テンプレートと .B send-pr の両方を使うことによって、必要な情報のすべてがサポートサイトに確実に 届きやすくなります。 .SH FREEBSD のカテゴリ .TP .B advocacy 支持 WWW ページ用。何に使うのか今は不確かです。 .TP .B alpha Alpha プロセッサ固有の問題。 .TP .B bin システムの実行形式の修正または拡張。 .TP .B conf システムの設定ファイルの修正または拡張。 .TP .B docs マニュアルページまたは他の文書の修正または拡張。 .TP .B gnu GNU 堤要ソフトウェアの修正または拡張。 .TP .B i386 Intel x86 プロセッサ固有の問題。 .TP .B kern アーキテクチャ独立カーネルソースの修正または拡張。 .TP .B misc 他のカテゴリにあてはまらない問題。 .TP .B ports ports collection の修正または拡張 (新規 ports を含みます)。 .TP .B sparc SPARC プロセッサ固有の問題。 .SH 環境変数 環境変数 .B EDITOR は、テンプレートを編集する際に使用するエディタを指定します。 .br デフォルト: .B vi .sp 環境変数 .B PR_FORM が設定されていれば、その値は編集する PR のテンプレートのファイル名として 使われます。部分的に埋められた記入書式 ( たとえば、identification フィールドがすでに完成した書式など) を使って始めようとする場合に、 この環境変数を使うことができます。 .SH " PR の記入方法" プログラムが容易に PR を扱うことができるようにするため、 PR はある形式に従っている必要があります。 以下のガイドラインを覚えておきましょう: .IP \(bu 3m それぞれの PR には .B 一つの問題 だけを記述しましょう。 .IP \(bu 3m フォローアップメールには、 自動返送されて来るメールと同じサブジェクトを使いましょう。サブジェクトは、 カテゴリ、PR 番号、もともとの概要 ( synopsis ) 行から構成されています。 これによってサポートサイトは、 複数のメールメッセージをある PR に関連付けることができ、 またそれらを自動的に記録することができます。 .IP \(bu 3m サブジェクトや、概要の行はできるだけ正確に記入するようにしましょう。 .IP \(bu 3m サブジェクトの行と概要の行は機密扱いになりません。 公開扱いのバグリストがサブジェクトと概要の行から編集生成されるからです。 機密情報はここに書かないでください。 .LP 詳しくは、GNU .B Info ファイルの .B send-pr.info か、RP について詳しく書かれている \fIReporting Problems With send-pr\fR\ のドキュメントなどを参照してください。 .SH "テストケース、コード、その他の記入方法" 小さなサンプルコードを送りましょう。 大きなテストケースや問題のソースコードを送りたい場合にには、 サポートサイトに連絡を取り、指示に従ってください。 .SH 関連ファイル .ta \w'/tmp/pbad$$ 'u /tmp/p$$ 編集しているときに使う PR のコピー .br /tmp/pf$$ テスト目的で使う、空の PR テンプレートコピー .br /tmp/pbad$$ 却下された PR のファイル .SH EMACS ユーザインタフェース .B send-pr のフィールドを記入するための Emacs ユーザインタフェースが .B send-pr の配布物に含まれます( .BR "M-x send-pr" で起動します)。 コンフィギュレーションとインストールのための情報は、 .B send-pr.info もしくは配布物の最上位ディレクトリにある ASCII ファイル .B INSTALL を参照してください。 Emacs LISP のテンプレートファイルは .B send-pr-el.in であり、これを .BR send-pr.el としてインストールします。 .SH インストールとコンフィギュレーション インストール手順を知るためには .B send-pr.info か .B INSTALL を参照してください。 .SH 関連項目 .I Reporting Problems Using send-pr (GNU Info ファイル .BR send-pr.info としてもインストールされます) .SH 作者 Jeffrey Osier, Brendan Kehoe, Jason Merrill, Heinz G. Seidl (Cygnus Support) .SH COPYING Copyright (c) 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/sh.1 b/ja_JP.eucJP/man/man1/sh.1 index 9281e31c5d..244af076df 100644 --- a/ja_JP.eucJP/man/man1/sh.1 +++ b/ja_JP.eucJP/man/man1/sh.1 @@ -1,1820 +1,1825 @@ .\" Copyright (c) 1991, 1993 .\" The Regents of the University of California. All rights reserved. .\" .\" This code is derived from software contributed to Berkeley by .\" Kenneth Almquist. .\" .\" 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: @(#)sh.1 8.6 (Berkeley) 5/4/95 -.\" %FreeBSD: src/bin/sh/sh.1,v 1.39.2.6 2001/01/16 10:31:38 ru Exp % +.\" %FreeBSD: src/bin/sh/sh.1,v 1.39.2.8 2001/03/05 17:57:31 ru Exp % .\" .\" jpman %Id: sh.1,v 1.2 1997/05/31 16:40:31 jsakai Stab % .\" Japanese Translation amended by Norihiro Kumagai, 3/29/96, .\" based on the version of NetBSD Japanese Man Project .\" This amended version is for the FreeBSD-jpman Project, convened .\" by Kazuo Horikawa. .\" .Dd May 5, 1995 .Dt SH 1 .Os BSD 4 .Sh 名称 .Nm sh .Nd コマンドインタプリタ (シェル) .Sh 書式 .Nm .Op Fl /+abCEefIimnpsTuVvx .Op Fl /+o Ar longname .Op Fl c Ar string .Op Ar arg ...\& .Sh 解説 .Nm ユーティリティ はシステムの標準コマンドインタプリタです。 現在 .Nm は .St -p1003.2 のシェル規約に対応する途上にあります。 本バージョンのシェルは、見方によっては Korn shell と同様に 見える機能を多数持っていますが、 .Xr pdksh 1 のような Korn shell クローンではありません。 このシェルには、POSIX で規定された仕様といくつかの Berkeley 拡張のみが 取り入れられています。 本マニュアルは、shell のチュートリアルでは ありませんし、仕様を完全に記述するものでもありません。 .Ss 概要 シェルは、ファイルまたは端末から 1 行ずつ読み込み、それを解釈し、 コマンドを実行します。シェルはユーザがシステムにログインしたときに起動 されるプログラムです (ただし、ユーザは .Xr chsh 1 コマンドによって他のシェルを選択することもできます)。 シェルは、制御構文を持つ言語であり、 データ記憶をはじめとして多様な機能を提供するマクロ機能、 ヒストリ、行編集機能も内蔵しています。 このシェルは対話的に使うときに便利な機能を多くとり入れており、 対話的に用いるときも非対話的に (シェルスクリプトとして) 用いるときも、 共通のインタプリタ言語を用いることができる利点があります。 すなわち、コマンド名をシェルに直接タイプする ことも、コマンド名をファイルに書いておいてそのファイルをシェルに 直接実行させることもできます。 .Ss 起動 .\" .\" XXX This next sentence is incredibly confusing. .\" 引数が与えられず、かつシェルの標準入力が端末の場合 (または .Fl i フラグが指定 された場合)、シェルは対話的に動作します。対話的シェルは、通常、コマンド 入力時にプロンプトを表示し、文法的なエラーとコマンドエラーを 異なった方法で処理します (後述します)。 起動時に、シェルは 0 番目の引数を検査します。もしそれが マイナス記号 .Pq Li - で始まっているなら、シェルはログインシェルとして 動作します。ユーザがシステムにログインした場合は自動的にこの状況に なります。ログインシェルは、まず (以下の各ファイルが存在する場合)、 .Pa /etc/profile と次に .Pa .profile ファイルからコマンドを読み込みます。 シェル起動時に、もしくはログインシェルで .Pa .profile を実行中に環境変数 .Ev ENV が設定されているなら、シェルは、その次に環境変数 .Ev ENV で示されたファイルからコマンドを読み込みます。 つまり、ユーザはログイン時にのみ実行したいコマンドを .Pa .profile に書き、シェルが起動されるたびに実行したいコマンドを環境変数 .Ev ENV で示すファイルに書くことになります。 環境変数 .Ev ENV を設定するには、ホームディレクトリ下のファイル .Pa .profile に以下のように記述します。 ここで .Pa .shinit のかわりに好きな名前を指定することができます。 .Pp .Dl ENV=$HOME/.shinit; export ENV .Pp コマンドライン引数で指定されたオプション以外の最初のものを、シェルは コマンドを読み込むべきファイル (シェルスクリプト) の名前であると解釈し、 それ以後の引数はシェルの位置パラメータ ($1, $2, ...) に設定します。 それ以外の場合、シェルはコマンドを標準入力から読み込みます。 .Pp 古いバージョンの .Nm とは異なり、環境変数 .Ev ENV で指定したスクリプトが実行されるのは、対話的シェルの呼び出し時のみです。 これにより、いい加減に書かれた .Ev ENV スクリプトに起因する、簡単に食いものにされることが多い有名な セキュリティホールがふさがれたことになります。 .Ss 引数リスト処理 .Nm の 1 文字からなるオプションはそれぞれ対応する長い名前を持っています。 ただし .Fl c と .Fl /+o は例外です。 次の解説では、長い名前は単一文字オプションの後で説明します。 あるオプションの長い名前は、 .Xr sh 1 の .Fl /+o オプションへの引数として指定可能です。 シェルが起動されると、 オプションの長い名前を .Ic set 組み込みコマンド (後述の .Sx 組み込みコマンド で説明) の .Fl /+o オプションへの引数として指定可能です。 マイナス記号 .Pq Li - でオプションを指定することは、そのオプションを有効にすることを意味し、 プラス記号 .Pq Li + でオプションを指定することは、そのオプションを無効にすることを意味します。 .Dq Li -- または、単なる .Dq Li - はオプション処理を終了させ、 コマンドラインの残りの語を引数として解釈することを強制します。 .Fl /+o と .Fl c のオプションは長い名前を持ちません。 .Bl -tag -width Ds .It Fl a Li allexport 値が代入されたときに変数をエクスポートするよう、変数にフラグを付けます。 .It Fl b Li notify バックグラウンドジョブ実行の完了を、コマンドが実行中でも即座に報告しま す (未実装です)。 .It Fl C Li noclobber すでに存在するファイルに対して .Dq Li > リダイレクトにより上書きしません (未実装です)。 .It Fl E Li emacs 組み込みの .Xr emacs 1 風のコマンド行編集機能を有効にします (それ以前に .Fl V オプションが指定された場合、それを無効にします)。 .It Fl e Li errexit 非対話モードで、テスト状態にないコマンドの実行に失敗した場合、 直ちにシェルを終了します。 コマンドは、if, elif, while, until 構文を 制御するのに用いられている場合に、テスト状態であるとみなされます。 また、 .Dq Li && や .Dq Li || の左辺値として用いられているコマンドも、テスト状態とみなされます。 .It Fl f Li noglob パス名展開を行ないません。 .It Fl I Li ignoreeof 対話的シェルの場合、入力の .Dv EOF を無視します。 .It Fl i Li interactive シェルが対話的に動作するように強制します。 .It Fl m Li monitor ジョブ制御を可能にします (対話的シェルの場合は自動的に設定されます)。 .It Fl n Li noexec 非対話的シェルの場合、コマンドを読み込みますが、そのコマンドの実行は しません。シェルスクリプトの文法を検査する場合に便利です。 .It Fl p Li privileged 特権モードを有効にします。 起動時に実効ユーザ ID あるいは実効グループ ID が、実ユーザ ID や実グルー プ ID と一致していなければ、このモードが有効になります。このモードを無 効化すると、実効ユーザ ID および実効グループ ID は、実ユーザ ID および 実グループ ID に設定されます。 対話的シェルでこのモードが有効になっていると、 .Pa /etc/profile の後で .Pa ~/.profile に代わり、 .Pa /etc/suid_profile を読み込みます。一方、環境変数 .Ev ENV の内容は無視されます。 .It Fl s Li stdin コマンドを標準入力から読み込みます (引数でファイル名が指定されていない 場合には、このオプションが自動的に設定されます)。 シェルが実行されてから本オプションを ( .Ic set などによって) 設定しても効果はありません。 .It Fl T Li asynctraps 子を待つとき、即座にトラップを実行します。 本オプションが設定されていないと、 .St -p1003.2 で指定されているように、子が終了した後にトラップが実行されます。 この非標準オプションは、 シグナルをブロックする子の周囲に保護シェルを置くために有用です。 周囲のシェルは子を殺したり、 次のように、制御を tty に戻して子だけを残したりできます: .Bd -literal -offset indent sh -T -c "trap 'exit 1' 2 ; some-blocking-program" .Ed .Pp .It Fl u Li nounset 値が設定されていない変数を展開しようとした場合、 標準エラー出力にエラーメッセージを出力し、 さらに非対話的シェルならば、ただちにシェルを終了します (未実装です)。 .It Fl V Li vi 組み込みの .Xr vi 1 風の行編集機能を有効にします (それ以前に .Fl E オプションが指定されていた場合、それは無効になります)。 .It Fl v Li verbose 入力を読み込むごとに標準エラー出力に書き出します。デバッグのときに便利です。 .It Fl x Li xtrace 各コマンドを実行する前に、そのコマンドを標準エラー出力に (各コマンドの 前に .Dq Li + \ を付加して) 書き出します。デバッグのときに便利です。 .El .Pp .Fl c オプションは、シェルの入力として解釈させる文字列引数を渡すために使用可能です。 このオプションは引数として文字列を一つだけ受け取ることに注意して下さい。 ですから、複数の単語からなる文字列は引用符で囲う必要があります。 .Pp .Fl /+o オプションは、オプションの長い名前のみを引数としてとり、 オプションの有効化と無効化を行います。 例えば、次の 2 つの .Nm 起動方法では組み込みの .Xr emacs 1 コマンドラインエディタを有効化します: .Bd -literal -offset indent set -E set -o emacs .Ed .Ss 構文構造 シェルは、ファイルを行単位で読み込み、空白文字 (ブランクおよびタブ) や シェルにとって特別な意味を持つ特定の文字列 ( .Dq 演算子 と呼ばれるものです) を区切りとして、複数の単語に分割します。演算子には、制御演算子とリ ダイレクト演算子の 2 種類があります (これらの意味については後述します)。 以下に、それらの一覧を示します。 .Bl -tag -width Ds .It No 制御演算子: .Bl -column "XXX" "XXX" "XXX" "XXX" "XXX" -offset center -compact .It Xo .Li & Ta Xo .Li && Ta Xo .Li ( Ta Xo .Li ) Ta Xo .Li \en .Xc Xc Xc Xc Xc .It Xo .Li ;; Ta Xo .Li ; Ta Xo .Li | Ta Xo .Li || .Xc Xc Xc Xc .El .It No リダイレクト演算子: -.Bl -column "XXX" "XXX" "XXX" "XXX" -offset center -compact +.Bl -column "XXX" "XXX" "XXX" "XXX" "XXX" -offset center -compact .It Xo .Li < Ta Xo .Li > Ta Xo .Li << Ta Xo -.Li >> -.Xc Xc Xc Xc +.Li >> Ta Xo +.Li <> +.Xc Xc Xc Xc Xc .It Xo .Li <& Ta Xo .Li >& Ta Xo .Li <<- Ta Xo .Li >| .Xc Xc Xc Xc .El .El .Ss 引用 (クォート) 引用は、特殊な意味を持つ文字や単語 (演算子、空白、キーワードなど) の意味 を打ち消すために用います。引用には、シングルクォート文字のペアを使う方法、 ダブルクォート文字のペアを使う方法、バックスラッシュ文字を使う方法 の 3 種類があります。 .Bl -tag -width Ds .It シングルクォート文字 シングルクォートのペアで囲まれた文字は、すべてその文字そのまま (リテラル) として扱われます (ただしシングルクォートは別です。シングルクォート で囲った文字列の中にシングルクォートを含めることはできません)。 .It ダブルクォート文字 ダブルクォートのペアで囲まれた文字は、ドル記号文字 .Pq Li $ 、バッククォート文字 .Pq Li ` 、バックスラッシュ文字 .Po Li \e\" .Pc を除き、すべてリテラルとして扱われます。 ダブルクォート文字による引用の中にあるバックスラッシュ文字は、歴史 的経緯によりすこし変わった扱いを受けます。 次の文字の前にある場合はクォートになりますが、 それ以外ではリテラルのままとなります: .Bl -column "XXX" "XXX" "XXX" "XXX" "XXX" -offset center -compact .It Xo .Li $ Ta Xo .Li ` Ta Xo .Li \&" Ta Xo .Li \e\ Ta Xo .Li \en .Xc Xc Xc Xc Xc .El .It バックスラッシュ バックスラッシュは、その後ろの 1 文字を、リテラルとして扱うように指示 します。ただし改行文字 .Pq Li \en は別です。改行文字の直前のバックスラッシュは、行 の継続であるとみなされます。 .El .Ss 予約語 予約語はシェルにとって特別な意味を持つ単語で、行の先頭または制御演算子 の直後でのみ予約語として認識されます。以下に予約語の一覧を挙げます。 .Bl -column "doneXX" "elifXX" "elseXX" "untilXX" "whileX" -offset center .It Xo .Li \&! Ta Xo .Li { Ta Xo .Li } Ta Xo .Ic case Ta Xo .Ic do .Xc Xc Xc Xc Xc .It Xo .Ic done Ta Xo .Ic elif Ta Xo .Ic else Ta Xo .Ic esac Ta Xo .Ic fi .Xc Xc Xc Xc Xc .It Xo .Ic for Ta Xo .Ic if Ta Xo .Ic then Ta Xo .Ic until Ta Xo .Ic while .Xc Xc Xc Xc Xc .El .Ss エイリアス エイリアスは、名前とそれと対応する値が対になったもので、 組み込みコマンド .Ic alias によって定義されます。 シェルは、予約語が現れる可能性がある場所 (上記を参照) で、 ある単語に対して、それが予約語かどうかの検査を済ませたのち、 それがエイリアスに一致するかどうかを検査します。 もし一致したならば、入力行の中で、その単語をエイリアスの値に置き換えます。 たとえば、 .Dq Li lf という名前で .Dq Li ls -F という値を持つエイリアスが 存在したとすると、次の入力行 .Bd -literal -offset indent lf foobar .Ed .Pp は、以下のように置換されます。 .Bd -literal -offset indent ls -F foobar .Ed .Pp エイリアスは、初心者に対し、引数付きの関数を生成する面倒を求めることなく、 短いコマンドをつくり出す便利な方法を提供するものです。 しかし、構文的にあいまいなコードを作り出すことにもつながりかねません。 そのような使い方はお勧めできません。 .Ss コマンド シェルは、読み込んだ単語を、文法に従って解釈します。 本マニュアルでは文法については解説しません。 .St -p1003.2 の BNF 表記を参照してください。要するに、行を1行を読み込み、読み込んだ 行の最初の単語 (制御演算子がある場合は、そのあとの最初の単語) が予約語 でない場合、シェルはその行を単純コマンドとして解釈します。それ以外の場 合、複合コマンドあるいは特殊構造であると解釈します。 .Ss 単純コマンド 単純コマンドを解釈する場合、シェルは以下のような動作をします。 .Bl -enum .It 単語の前にある .Dq Li name=value の形式の単語を取り除き、 単純コマンドの環境に代入します。 リダイレクト演算子とその引数 (後述) を取り除き、 あとで処理できるように保存します。 .It 残った単語を、 .Sx 単語展開 の節で説明する方法で展開します。 展開後の最初の単語をコマンド名とみなし、コマンドの位置を探索します。 残りの単語はコマンドへの引数とみなされます。 処理の結果、コマンド名が残らなかった場合、手順 1) で 取り出した .Dq Li name=value の変数代入を、現在のシェルの環境に反映します。 .It 次節で説明する方法で、リダイレクトを行ないます。 .El .Ss リダイレクト リダイレクトは、コマンドがどこから入力するか、どこへ出力するかを 変更するときに用います。 一般には、リダイレクトでは、ファイルのオープン、クローズ、または ファイルへの参照の複製 (duplicate) を行います。 リダイレクトで用いられる全般的な形式は、以下のとおりです。 .Pp .Dl [n] redir-op file .Pp ここで、 .Ql redir-op は前述したリダイレクト演算子のいずれかです。 これらの演算子をどのように利用するかの例をいくつか以下に挙げます。 .Bl -tag -width "1234567890XX" -offset indent .It Li [n]> file 標準出力 (またはファイル記述子 n) を file にリダイレクトします .It Li [n]>| file 上と同様。ただし .Fl C オプションの効果を打ち消します。 .It Li [n]>> file 標準出力 (またはファイル記述子 n) を file に追加します。 .It Li [n]< file 標準入力 (またはファイル記述子 n) を file からリダイレクトします。 +.It Li [n]<> file +標準入力 (またはファイル記述子 n) を file から/へ、リダイレクトします。 .It Li [n1]<&n2 ファイル記述子 n2 を標準入力 (またはファイル記述子 n1) に複製します。 .It Li [n]<&- 標準入力 (またはファイル記述子 n) をクローズします。 .It Li [n1]>&n2 標準出力 (またはファイル記述子 n1) をファイル記述子 n2 に複製します。 (訳注: 通常は「ファイル記述子 n2 を標準出力 (またはファイル記述子 n1) に 複製」と表現します。 結果は、標準出力 (または n1 への出力) の n2 へのリダイレクトです。) .\" [man-jp 1544], [man-jp 1827] 以降のスレッド参照。 .It Li [n]>&- 標準出力 (または n) をクローズします。 .El .Pp 以下のリダイレクトは、しばしば .Dq ヒア・ドキュメント (here-document) と 呼ばれます。 .Bd -literal -offset indent [n]<< delimiter here-doc-text ...\& delimiter .Ed .Pp シェルは、delimiter までの行を保存し、コマンドへの標準入力またはファイ ル記述子 n にリダイレクトします。最初の行の delimiter が引用 (クォート) されていた場合、here-doc-text の内容をリテラルとして扱います。 そうでない場合、パラメータ展開、コマンド置換、数値演算 ( .Sx 単語展開 の節で 説明します) を適用します。演算子が ( .Dq Li << でなく) .Dq Li <<- の場合は、 here-doc-text の各行の行頭のタブを取り除きます。 .Ss コマンド検索と実行 コマンドには、シェル関数、組み込みコマンド、通常プログラムの 3 種類があり、 コマンドを検索する際には、シェルは名前の検索をこの順序で行います。 3 種類のコマンドは異なる方法で実行されます。 .Pp シェル関数を実行するとき、$0 を除くすべての位置パラメータ ($1, $2,..) をシェル関数への引数として設定します。$0 は変更されません。シェル関数 の環境として指定された変数 (関数名の直前に .Dq name=value を置いて指定 されたもの) は、その関数に局所的な変数となり、指定された初期値が設定さ れます。そして、シェルは関数定義で与えられたコマンドを実行します。コマ ンドの実行が完了すると、位置パラメータを元の値に戻します。これは全て現 在のシェルの中で処理されます。 .Pp 組み込みコマンドは、新たなプロセスを作成せずにシェル内部で実行されます。 .Pp コマンドが関数でも組み込みコマンドでもない場合は、通常のプログラムとみなし (次節で説明するとおり) ファイルシステムの中でそのコマンドを検索します。 通常のプログラムを実行する場合、シェルは引数と 環境をプログラムに渡して、そのプログラムを実行します。 プログラムが通常の実行ファイル形式ではない場合 (つまり、 .Tn ASCII 表現で .Qq #! となる .Qq マジックナンバ でファイルが始まっておらず、 .Xr execve 2 が .Er ENOEXEC を返す場合)、 サブシェルの中でそのプログラムを解釈実行します。この場合、あたかも新たに シェルが起動されたかのような効果を得るために、子シェルは自分自身を 再初期化します。ただし、子プロセスは、親シェル中のハッシュされたコマンド 位置情報を憶えており、これは再初期化されません。 .Pp 本ドキュメントの古いバージョンや古いソースコードでは、ときおり、 マジックナンバのないシェルスクリプトのことを .Qq シェル手続き と呼んでいて、 まぎらわしい場合がありますので注意して下さい。 .Ss パス検索 コマンドを検索するとき、シェルは、まず、その名前のシェル関数があるかどうかを 調べます。次に、その名前の組み込みコマンドがあるかどうかを調べます。 組み込みコマンドでもない場合、以下のいずれかの処理が行われます: .Bl -enum .It コマンド名にスラッシュが含まれていれば、検索は行わず、 単にそのコマンドが実行されます。 .It 変数 .Ev PATH に含まれる各エントリに対して、順にそのコマンドを検索します。 変数 .Ev PATH の値はコロン .Dq : で区切られたエントリの列でなければなりません。 各エントリは、それぞれディレクトリ名一つに対応します。 カレントディレクトリは、 空のディレクトリ名を指定することで暗黙的に、 あるいは 1 個のピリオドを指定することで明示的に 指示することができます。 .El .Ss コマンドの実行ステータス 各コマンドは終了ステータスを持ち、それにより他のシェルコマンドの動作に 影響を与えることができます。基本的な考え方として、終了ステータス 0 は 通常の終了または成功を示します。0 以外の終了ステータスは失敗、エラーを 意味します。各コマンドのマニュアルにそれぞれの終了ステータスがどのよう な意味を持つかが記述されているはずです。組み込みコマンドと (実行された) 関数も終了ステータスを返します。 .Pp コマンドがシグナルにより終了 (terminate) させられた場合、 終了ステータスは 128 にシグナル番号を加えたものになります。 シグナル番号はヘッダファイル .Aq Pa sys/signal.h に定義されています。 .Ss 複合コマンド (Complex Commands) 複合コマンドは、単純コマンドの組み合わせで作ります。 制御演算子または予約語と組み合わせることで、より大きな複合コマンドを生 成します。一般に、コマンドは以下のうちのいずれかです。 .Bl -item -offset indent .It 単純コマンド .It パイプライン .It リストまたは合成リスト (compound-list) .It 合成コマンド (compound command) .It 関数定義 .El .Pp 特に指定のない場合、コマンドの終了ステータスは最後に実行された 単純コマンドの終了ステータスとなります。 .Ss パイプライン パイプラインは、複数のコマンドを制御演算子 `|' によってつないだものです。 最後のコマンドを除くすべてのコマンドの標準出力は、次のコマンドの標準入力に 接続されます。 最後のコマンドの標準出力は、通常通り、シェルから受け継がれます。 .Pp パイプラインの形式は次のとおりです。 .Pp .Dl [!] command1 [ | command2 ...] .Pp command1 の標準出力は command2 の標準入力に接続されます。コマンドの標 準入出力がパイプラインによって割り当てられるのは、各コマンドに属する リダイレクト演算子で指定されたリダイレクトを処理する前のことだと考えて 下さい。 .Pp パイプラインがバックグラウンド (後述) でなければ、シェルはすべての コマンドが終了するのを待ちます。 .Pp パイプラインの直前に予約語 `!' が置かれなかった場合、終了ステータスは パイプラインの最後のコマンドの終了ステータスとなります。 `!' が前置された場合、終了ステータスはパイプラインの最後のコマンドの 終了ステータスの論理否定を取った値となります。 すなわち、最後のコマンドが 0 を返した場合、パイプラインの 終了ステータスは 1 に、最後のコマンドが 0 より大きな値を返した場合、 終了ステータスは 0 になります。 .Pp パイプラインによる標準入出力の接続はリダイレクトに先立って行われるため、 パイプラインの接続をリダイレクトによって修正することができます。たとえば、 .Pp .Dl $ command1 2>&1 | command2 .Pp .Ql command1 の標準出力と標準エラー出力の両方を .Ql command2 の標準入力に 接続します。 .Pp .Dq Li \&; または改行文字を終端として用いることにより、直前の AND-OR リスト ( .Sx 短絡リスト演算子 で後述) を順次実行します。 .Dq Li & は、直前の AND-OR リストを非同期に実行します。 .Pp 注: 他のいくつかのシェルと異なり、 .Nm ではパイプラインの各プロセスは起動した .Nm の子プロセスとなります。シェルの組み込みコマンドである ときは別です。その場合は現在のシェルで実行されますが、 環境に対する操作は影響を与えません。 .Ss バックグラウンドコマンド (&) コマンドが制御演算子がアンパサンド .Pq Li & で終了している場合、シェルはそのコマンドを 非同期に実行します。すなわち、シェルはそのコマンドの終了を待たずに、 次のコマンドの実行を開始します。 .Pp コマンドをバックグラウンドで実行させるための形式は以下のとおりです。 .Bd -literal -offset indent command1 & [command2 & ...] .Ed .Pp シェルが対話的でない場合、非同期コマンドの標準入力には /dev/null が 接続されます。 .Ss リスト (一般的な話) リストは 0 個またはそれ以上のコマンドを改行文字、セミコロン文字、アン パーサント文字 (&) で区切った列です。リストは、これら 3 つの記号のいずれかで 終了させることもできます。リスト中のコマンドは並べられた順に実行 されます。もし、コマンドに続けてアンパーサント文字が置かれている場合、 シェルはそのコマンドを起動したあと、すぐに次のコマンドの処理を開始します。 その他の場合、そのコマンドの終了を待ってから次のコマンドの処理を開始します。 .Ss 短絡リスト演算子 (Short-Circuit List Operators) .Dq Li && と .Dq Li || は AND-OR リスト演算子です。 .Dq Li && は最初のコマンド を実行し、もし最初のコマンドの終了ステータスが 0 ならば次のコマンドを 実行します。 .Dq Li || も同様ですが、最初のコマンドの終了ステータスが 0 でない場合に、次のコマンドを実行します。 .Dq Li && と .Dq Li || の優先順位は 同じです。 .Ss 制御構造 (if, while, for, case) .Ic if コマンドの文法は以下のとおりです。 .\" .\" XXX Use .Dl to work around broken handling of .Ic inside .Bd and .Ed . .\" .Dl Ic if Ar list .Dl Ic then Ar list .Dl [ Ic elif Ar list .Dl Ic then Ar list ] ...\& .Dl [ Ic else Ar list ] .Dl Ic fi .Pp .Ic while コマンドの文法は以下のとおりです。 .Dl Ic while Ar list .Dl Ic do Ar list .Dl Ic done .Pp 最初のリストの終了ステータスが 0 であるかぎり、2 つのリストを繰り返し 実行します。 .Ic until コマンドも同様に実行しますが、 単語 .Ic while の代わりに単語 .Ic until を使うことと、 最初のリストの終了ステータスが 0 になるまで、 2 つのリストを繰り返し実行することが異なります。 .Pp .Ic for コマンドの文法は以下のとおりです。 .Dl Ic for Ar variable Ic in Ar word ...\& .Dl Ic do Ar list .Dl Ic done .Pp 各 word は展開され、変数 variable に word を順に設定しながらリストを 繰り返し実行します。 .Ic do と .Ic done は .Dq Li { と .Dq Li } で置き換えることができます。 .Pp .Ic break と .Ic continue コマンドの文法は以下のとおりです。 .Dl Ic break Op Ar num .Dl Ic continue Op Ar num .Pp .Ic break は内側から .Ar num 個の .Ic for ループまたは .Ic while ループを終了します。 .Ic continue は内側から .Ar num 個のループの次の繰り返しに制御を移します。 .\" 上の文、原文では以下のようになっているが、the *num* innermost loop が .\" 正しいと思われる。実際の sh の動作もそうなっているようだ。 .\" --- 97/05/31 sakai@jp.freebsd.org ↓ .\" Continue continues with the next iteration of the innermost loop. これらのコマンドは組み込みコマンドとして実装されています。 .Pp .Ic case コマンドの文法は以下のとおりです。 .Dl Ic case Ar word Ic in .Dl pattern) list ;; .Dl ...\& .Dl Ic esac .Pp pattern は、1 つあるいは複数のパターン (後述の .Sx シェルパターン を参照のこと) を .Dq Li \&| で接続したものです。 .Ss 複数のコマンドのグループ化 コマンドは、以下のいずれかの方法によりグループ化することができます。 .Bd -literal -offset indent (list) .Ed .Pp または、 .Bd -literal -offset indent { list; } .Ed .Pp 最初の形式では、コマンドはサブシェル上で実行されます。 この組み込みコマンドは現在のシェルには影響を与えないことに注意してください。 2 つめの形式では新たなシェルを fork しないので、やや効率が良くなります。 このようにして複数コマンドをグループ化することで、 あたかも単一プログラムであるかのように、それらの出力をまとめて リダイレクトすることができます。 .Bd -literal -offset indent { echo -n "hello"; echo " world"; } > greeting .Ed .Ss 関数 関数定義の構文は以下のとおりです。 .Bd -literal -offset indent name ( ) command .Ed .Pp 関数定義は実行可能文の一種です。実行されると、名前 name の関数 が定義され、終了ステータスとして 0 を返します。command は 通常、 .Dq Li { と .Dq Li } で囲まれたリストです。 .Pp .Ic local コマンドを用いて関数に局所的な変数を宣言することができます。 これは関数定義中の最初の文で行わなければなりません。構文は次のとおりです。 .Bd -ragged -offset indent .Ic local .Op Ar variable ...\& .Op Ar - .Ed .Pp .Ic local コマンドは、組み込みコマンドとして実装されています。 .Pp 変数を局所変数にする場合、関数を呼び出した環境に同じ名前の変数があれば、 新しい局所変数は値と export、readonly フラグを引き継ぎます。もし同じ名前の 変数がなければ、局所変数は初期値を持ちません。シェルは動的スコープ を用います。すなわち、関数 .Em f に局所的な変数 .Em x を作成し、関数 .Em f から関数 .Em g を呼び出した場合、関数 .Em g 内部での変数 .Em x に対する操作は大域変数 .Em x ではなく、関数 .Em f で宣言された変数 .Em x への操作となります。 .Pp 特殊パラメータのうち局所宣言できるのは .Dq Li - だけです。 .Dq Li - を 局所宣言すると、関数内で set コマンドを用いてシェルオプションを 変更しても、関数が終了するとそれらのオプションは元の値に戻ります。 .Pp .Ic return コマンドの文法は以下のとおりです。 .Bd -ragged -offset indent .Ic return .Op Ar exitstatus .Ed .Pp .Ic return は現在実行中の関数を終了させます。 .Ic return は組み込みコマンドとして実装されています。 .Ss 変数とパラメータ シェルはパラメータの集合を管理しています。名前を持つパラメータを 変数と呼びます。シェルは、起動時にすべての環境変数をシェル変数に取り込みます。 新たな変数は、次の形式によって設定できます。 .Bd -literal -offset indent name=value .Ed .Pp ユーザが設定する変数は、アルファベット、数字、アンダスコア (_) のみ からなる名前を持つ必要があります。また、最初の文字が数字であっては いけません。 パラメータは、以下に示す数字または特殊記号により参照することもできます。 .Ss 位置パラメータ 位置パラメータは、0 より大の数字によって参照されるパラメータです。シェルは 位置パラメータの初期値としてシェルスクリプト名に続く引数を設定します。 組み込みコマンド .Ic set により再設定や消去ができます。 .Ss 特殊パラメータ 特殊パラメータは、以下に挙げる特殊文字のいずれかにより参照される パラメータです。各パラメータの値の説明を各文字の後ろに示します。 .Bl -hang .It Li * 位置パラメータ 1,2,... に展開されます。ダブルクォート文字列内部で展開 される場合、展開結果は各位置パラメータの間を変数 .Ev IFS の先頭の文字 ( .Ev IFS が設定されていない場合は .Aq 空白文字 ) で区切った単一の文字列になります。 .It Li @ 位置パラメータ 1,2,... に展開されます。ダブルクォート引用の内部で展開 される場合、各位置パラメータは別々の引数となります。 もし、位置パラメータが設定されていない場合には、 .Li @ の展開結果は 0 個の引数となります (ダブルクォート引用の内部であっても)。 すなわち、$1 が .Dq abc 、$2 が .Dq def ghi であった場合、 .Qq Li $@ は 次の 2 つの引数に展開されます。 .Bd -literal -offset indent "abc" "def ghi" .Ed .It Li # 位置パラメータの数に展開されます。 .It Li \&? 最後に実行したパイプラインの終了ステータスに展開されます。 .It Li - (ハイフン) 現在のオプションフラグ (1 文字オプション名をつないだ文字列) に展開されます。起動時に指定されたもの、組み込みコマンド set で指定した もの、シェルが暗黙に設定したもののすべてを含みます。 .It Li $ 起動されたシェルのプロセス ID に展開されます。 サブシェルも親シェルと同じ値を持ちます。 .It Li \&! 現在のシェルが最後にバックグラウンドで実行したコマンドのプロセス ID に 展開されます。パイプラインの場合、パイプラインの最後のコマンドの プロセス ID になります。 .It Li 0 (ゼロ) シェルの名前またはシェルスクリプト名に展開されます。 .El .Ss 単語展開 本節では、単語に対して適用されるさまざまな展開について説明します。あとで 述べるように、すべての展開がすべての単語に対して適用されるわけではありません。 .Pp 単一の単語に対して適用されたチルダ展開、パラメータ展開、コマンド置換、 数式展開、クォート削除の結果は単一のフィールドになります。単一の単語が 複数のフィールドに分割される可能性があるのは、フィールド分割または パス名展開の場合だけです。この規則の唯一の例外は、ダブルクォート中の パラメータ .Li @ の展開です (前述)。 .Pp 単語展開の順序は以下のとおりです。 .Bl -enum .It チルダ展開、パラメータ展開、コマンド置換、数式展開 (これらはすべて 同時に行われます) .It 変数 .Ev IFS の値が空でなければ、(1) の結果の各フィールドに対して フィールド分割が行われる .It パス名展開 ( .Fl f オプションが無効の場合) .It クォート削除 .El .Pp 文字 .Dq Li $ はパラメータ展開、コマンド置換、数式評価を行うきっかけになります。 .Ss チルダ展開 (ユーザのホームディレクトリ名への置換) 引用されていないチルダ文字 .Pq Li ~ で始まる単語は、チルダ展開の対象になります。 チルダ文字からスラッシュ文字 .Pq Li / または単語の終端までのすべての文字がユーザ名 とみなされ、そのユーザのホームディレクトリに置換されます。もしユーザ名が 省略された場合 (たとえば ~/foobar)、チルダ文字は変数 HOME の値 (現在のユーザのホームディレクトリ) に置換されます。 .Ss パラメータ展開 パラメータ展開の形式は以下のとおりです。 .Bd -literal -offset indent ${expression} .Ed .Pp ここで、expression は対応した .Dq Li } までのすべての文字です。対応する .Dq Li } を調べる際に、バックスラッシュ文字によりエスケープされたり、クォート文字に 狭まれた .Dq } や、数式展開に埋め込まれている文字や、コマンド置換や変数展開中に ある文字は調べる対象になりません。 .Pp パラメータ展開の形式のうちもっとも単純なものは以下のとおりです。 .Bd -literal -offset indent ${parameter} .Ed .Pp そのパラメータに値が存在する場合、その値に置き換えられます。 .Pp パラメータ名やシンボルを中括弧 ({}) で囲んでも構いません。この中括弧は、 数字 2 文字以上からなる位置パラメータの場合や、パラメータ名の直後に パラメータ名の一部であるとみなし得る文字が続く場合を除き、 省略可能です。ダブルクォート引用中のパラメータ展開は以下 のようになります。 .Bl -enum .It パラメータ展開を行った結果の単語に対しては、パス名展開は適用されません。 .It パラメータが特殊パラメータ .Li @ の場合を除き、フィールド分割は適用されません。 .El .Pp さらに、以下の形式を用いることにより、パラメータ展開の結果に修正を加える ことができます。 .Bl -tag -width Ds .It Li ${parameter:-word} デフォルト値への置換: パラメータ parameter が設定されていないか空の値 を持つ場合、word を展開した結果に置換されます。さもなければ、パラメー タ parameter の値に置換されます。 .It Li ${parameter:=word} デフォルト値の代入: パラメータ parameter が設定されていないか空の値を持つ場合、word を展開 した結果が parameter に代入されます。最終的にパラメータ parameter の値 に置換されます。位置パラメータや特殊パラメータは、この方法で代入すること はできません。 .It Li ${parameter:?[word]} 空か設定されていないときにエラーとする: パラメータ parameter が設定されていないか空の値を持つ場合、word を展開 した結果 (word が省略された場合にはパラメータが設定されていないことを表す デフォルトのメッセージ) が標準エラー出力に書き出され、 シェルは非 0 の終了ステータスで終了します。 それ以外の場合、パラメータ parameter の値に置換されます。対話的シェルの場合は 必ずしも終了しません。 .It Li ${parameter:+word} 代替値の使用: パラメータ parameter が設定されていないか空の値を持つ場合、空の値に 置換されます。さもなければ、word を展開した結果に置換されます。 .Pp 以上のパラメータ展開において、`:' を用いた場合はパラメータが設定されていない かまたは空の値であることが検査され、`:' を省略するとパラメータが 設定されていないことのみを検査します。 .It Li ${#parameter} 文字列の長さ: パラメータの値の (文字列としての) 長さに置換されます。 .Pp 以下の 4 通りのパラメータ展開は部分文字列切り出し処理を行います。各場合 において、パターンは正規表現ではなく、パターンマッチ記法 ( .Sx シェルパターン の項を参照) が用いられます。パラメータが .Li * または .Li @ の場合、展開の結果 がどうなるかは規定しません (unspecified)。 パラメータ展開全体をダブルクォートで囲んでも パターンは引用されません。中括弧のなかで引用することにより パターンを引用することができます。 .It Li ${parameter%word} 最短後置パターンの削除: まず word が展開され、その結果をパターンとして扱います。 パラメータ parameter の右から、パターンに一致する最短の部分を削除した文字列に 置換されます。 .It Li ${parameter%%word} 最長後置パターンの削除: まず word が展開され、その結果をパターンとして扱います。 パラメータ parameter の右から、パターンに一致する最長の部分を削除した文字列に 置換されます。 .It Li ${parameter#word} 最短前置パターンの削除: まず word が展開され、その結果をパターンとして扱います。 パラメータ parameter の左から、パターンに一致する最短の部分を削除した文字列に 置換されます。 .It Li ${parameter##word} 最長前置パターンの削除: まず word が展開され、その結果をパターンとして扱います。 パラメータ parameter の左から、パターンに一致する最長の部分を削除した文字列に 置換されます。 .El .Ss コマンド置換 コマンド置換により、コマンド名自身をコマンドの出力で置き換えることができます。 コマンド置換は、以下のように、コマンド command を囲った場合、 .Bd -literal -offset indent $(command) .Ed .Pp またはバッククォートバージョン .Bd -literal -offset indent `command` .Ed .Pp とした場合に行なわれます。 シェルは、コマンド command をサブシェルの環境で実行し、command が標準出力 に出力したものから最後の改行文字を削除した結果で置換します。 最後以外の 改行は削除しません。ただし、フィールド分割の際に、 .Ev IFS の値や引用のされかたによっては、 ここで残った改行文字が結局は空白に置換されることもあります。 .Ss 数式展開 数式展開とは、数式を評価し、その値に置換する仕組みです。数式展開の形式は以下 のとおりです。 .Bd -literal -offset indent $((expression)) .Ed .Pp 数式 expression は、その中のダブルクォート文字が特別扱いを受けないという 点を除いては、ダブルクォート文字で囲まれている文字列と同様に扱われます。 シェルは expression 中のすべてのトークンにパラメータ展開、コマンド置換、 クォート削除を適用します。 .Pp 次にシェルはその結果を数式として扱い、その値に置換します。 .Ss 空白文字による分割 (フィールド分割) パラメータ展開、コマンド置換、数式展開のあと、シェルは展開結果を調べて、 ダブルクォートの外にある部分に対してフィールド分割を適用します。 その結果、複数のフィールドになる場合もあります。 .Pp シェルは、変数 .Ev IFS に設定されている文字それぞれ区切り文字とみなし、 パラメータ展開の結果、およびコマンド置換の結果をフィールドに分割します。 .Ss パス名展開 (ファイル名生成) .Fl f フラグが設定されていなければ、フィールド分割が行われたあと、ファイル名生成 が行われます。各単語は、スラッシュで区切られたパターンの列であるとみなさ れます。パス名展開処理において、単語は、条件を満たすファイル すべてのファイル名の列で置換されます。この各ファイル名は、単語の 各パターン部分を、そのパターンに一致する文字列に置換することで 生成されるものです。 これには 2 つの制限があります: まず、パターンはスラッシュを含む文字列には 一致しません。次に、パターンは、そのパターンがピリオドで始まらないかぎり、 ピリオドで始まる文字列に一致しません。 次節では、パス名展開と .Ic case コマンドで用いられるパターンについて説明します。 .Ss シェルパターン パターンは、通常の文字とメタキャラクタからなります。通常の文字は、 その文字そのものに一致します。 メタキャラクタは .Dq Li \&! , .Dq Li * , .Dq Li \&? , .Dq Li [ です。これらの文字を引用 すると、各々の特殊な意味を失います。コマンド置換や変数置換において、 ドル記号やバッククォート文字がダブルクォート文字の中にない場合には、 変数の値やコマンドの出力の中に、これらの特殊な文字が存在するかどうかが 調べられ、それらがあれば、メタキャラクタとして扱われます。 .Pp アスタリスク文字 .Pq Li * は、どのような文字列とも一致します。 クエスチョンマーク文字 .Pq Li \&? は、任意の文字 1 文字と一致します。 左大括弧 .Pq Li [ は文字クラスを開始します。 文字クラスの最後は右大括弧 .Pq Li \&] です。 .Dq Li \&] がない場合は、 .Dq Li [ は文字そのものに一致し、文字クラスの開始とは見なされません。文字 クラスは大括弧内に出現するすべての文字に一致します。 マイナス記号を用いれば、文字の範囲を指定することができます。 文字クラスの最初にエクスクラメーションマーク .Pq Li \&! を置くことで、 文字クラスの意味を反転させることができます。 .Pp 文字クラスに文字 .Dq Li \&] を含めるには、 .Dq Li \&] を文字クラスの最初 ( .Dq Li \&! を置く場合はそのあと) に置きます。 文字クラスに .Dq Li - を含めるときも同様で、 リストの最初もしくは最後に置きます。 .Ss シェル組み込みコマンド 本節では、別プロセスでは実行できない処理を行なうために組み込まれている コマンドを列挙します。 さらに、組み込みバージョンの .Xr printf 1 が効率を上げるために提供されています。 .Bl -tag -width Ds -.It Ic : +.It Ic \&: 終了ステータス 0 (真) を返すヌルコマンドです。 -.It Ic . Ar file +.It Ic \&. Ar file 指定されたファイル file に記述されたコマンドがシェルに読み込まれ、 実行されます。 .Ar file に .Dq / 文字を含む場合、その通りに扱われます。 そうでなければ、シェルは .Ev PATH を使用して、ファイルを検索します。 .Ev PATH を使用しても見付からない場合、カレントディレクトリを検索します。 .It Ic alias Op Ar name ...\& -.It Ic alias Op Ar name=string ...\& -.Ar name=string +.It Ic alias Xo +.Op Ar name Ns = Ns Ar string ... +.Xc +.Ar name Ns = Ns Ar string が指定されている場合、シェルは名前 .Ar name を持つ値 .Ar string のエイリアスを定義します。単に .Dq name だけが指定された場合、 エイリアス .Dq name の値が表示されます。引数が指定されない場合、 .Ic alias は定義されているすべてのエイリアスの名前と値を表示します ( .Ic unalias も参照)。 .It Ic bg Op Ar job ...\& 指定されたジョブ (指定されなかった場合は現在のジョブ) を、 続けてバックグラウンドで実行させます。 .It Ic command Ar cmd Op Ar arg ...\& 指定された組み込みコマンド .Ar cmd を実行します。 シェル関数を同名の組み込みコマンドでオーバライドしたい場合に有用です。 .It Ic cd Op Ar directory 指定されたディレクトリ .Ar directory に移動します。 .Ar directory 無指定時は .Ev HOME で指定されるディレクトリに移動します。 .Ar directory がカレントディレクトリのサブディレクトリとして見付からない場合 (かつ .Dq Li / , .Dq Li ./ , .Dq Li ../ のいずれでも開始しない場合)、指定された .Ar directory を .Ev CDPATH 変数中のディレクトリリストから検索します。 .Ar CDPATH の形式は .Ev PATH と同様です。対話的シェルでは、ユーザ が指定したディレクトリと異なる場所に移動した場合、 .Ic cd は、移動先のディレクトリ名を表示します。 これは、 .Ev CDPATH の機構が動作した場合と、シンボリックリンクを辿った場合に発生します。 .It Xo .Ic echo .Op Fl en .Ar string .Xc .Ar string の後に改行文字を付けて、標準出力に表示します。 .Bl -tag -width Ds .It Fl n 最後の改行文字を抑制します。 .It Fl e C 風のバックスラッシュエスケープシーケンスを処理します。 .Ic echo は次の文字エスケープを理解します: .Bl -tag -width Ds .It \ea 警告 (端末ベルを鳴らす) .It \eb バックスペース .It \ec 最後の改行文字を抑制します (改行文字が最後の文字でない場合、行が縮んでしまうという副作用があります) .It \ee ESC 文字 (ASCII 0x1b) .It \ef フォームフィード .It \en 改行 .It \er 復改 .It \et 水平タブ .It \ev 垂直タブ .It \e\e バックスラッシュ文字 .It \e0nnn (この 0 はゼロです) 8 進数値が nnn である文字 .El .Pp .Ar string がクォートで括られていない場合、 シェルからエスケープするためには、 バックスラッシュ自身をバックスラッシュでエスケープする必要があります。 例えば次の通りです: .Bd -literal -offset indent $ echo -e "a\evb" a b $ echo -e a\e\evb a b $ echo -e "a\e\eb" a\eb $ echo -e a\e\e\e\eb a\eb .Ed .El .It Ic eval Ar string ...\& 指定されたすべての引数を空白で結合し、その結果を解析し直してから コマンドとして実行します。 .It Ic exec Op command Op arg ...\& .Ar commmand が省略されない場合、そのシェルプロセスは指定されたプログラムに 置き換えられます ( .Ar command は、シェル組み込みコマンドや関数ではない、本物の プログラムでなければなりません)。 .Ic exec コマンドにおけるリダイレクトは、 永久性を持つと見なされ、 .Ic exec コマンド完了後にも引き続き効力を持ちます。 .It Ic exit Op exitstatus シェルを終了します。 .Ar exitstatus が指定された場合、これはシェルの終了ステータスになります。 そうでない場合、直前に実行したコマンドの 終了ステータスがシェルの終了ステータスとなります。 .It Ic export Ar name ...\& それ以後にシェルから実行されるコマンドの環境に、指定された名前の変数が 含まれるようにします (変数のエクスポート)。 変数のエクスポートを取り消す唯一の方法は、変数を .Ic unset することです。 以下のように記述することで、エクスポートすると 同時に変数の値を設定することができます。 .Bd -literal -offset indent export name=value .Ed .Pp 引数を指定しない場合、すべてのエクスポートされている名前と値が表示されます。 .It Xo .Ic fc .Op Fl e Ar editor .Op Ar first Op Ar last .Xc .It Xo .Ic fc .Fl l .Op Fl nr .Op Ar first Op Ar last .Xc .It Xo .Ic fc .Fl s .Op Ar old=new .Op Ar first .Xc .Ic fc 組み込みコマンドは、対話的シェルにそれ以前に入力されたコマンドの内容を、 表示、編集、再実行します。 .Bl -tag -width Ds .It Fl e Ar editor 編集に際し、指定されたエディタ .Ar editor を使用します。 .Ar editor は変数 .Ev PATH を通して検索できるコマンド名です。 .Fl e が指定されなかった場合は、変数 .Ev FCEDIT の値が用いられます。 .Ev FCEDIT が設定されていないか空に設定されている場合は .Ev EDITORの値が用いられ、それも設定されていないか空ならば .Xr ed 1 が用いられます。 .It Fl l No (ell) (小文字のエル) エディタを起動せずに、コマンド履歴の内容を一覧出力します。 パラメータ first と last で指定した範囲のコマンドが順に (出力の順番は .Fl r オプションの影響を受けます) 出力されます。 各コマンドの出力の際にはコマンド番号が付加されます。 .It Fl n .Fl l で一覧出力する際にコマンド番号を付加しません。 .It Fl r コマンド一覧時 ( .Fl l オプション指定時) や編集時 ( .Fl l も .Fl s も指定されなかった場合) の順序を反転します。 .It Fl s エディタを起動せずにコマンドを再実行します。 .It Ar first .It Ar last 一覧出力や編集の対象となるコマンドを選択します。アクセス可能なコマンド の数は変数 .Ev HISTSIZE の値で決まります。 .Ar first または .Ar last 、または両方の値は、以下のいずれかの形式で指定します。 .Bl -tag -width Ds .It Ar [+]num 正の数で、コマンド番号を指定します。コマンド番号は .Fl l オプションで表示させて調べることができます。 .It Ar -num 負の数は、 .Ar num 個だけ現在から遡ったコマンドを指定します。たとえば、 -1 は直前に実行されたコマンドを指定します。 .It Ar string 文字列 string は、過去に実行されたコマンドのうち、 その文字列から始まる最新のものを指定します。 もし .Fl s オプションが指定されて .Ar old=new が指定されていなければ、 最初のオペランドにイコール記号 を含めることはできません。 .El .El .Pp .Ic fc コマンドの実行にあたり、以下の環境変数の影響を受けます。 .Bl -tag -width Ds .It Ev FCEDIT 使用するエディタ名 .It Ev HISTSIZE アクセス可能なコマンド数 .El .It Ic fg Op job 指定されたジョブ .Ar job または現在のジョブをフォアグラウンドに移動します。 .It Ic getopts Ar optstring Ar var POSIX に準拠した .Ic getopts コマンドです。 この .Ic getopts コマンドにより、以前の .Xr getopt 1 コマンドの必要性は減少しました。 最初の引数は文字の列です。各文字の後ろにはコロンをつけることができ、 そのオプションが引数をとることを指示します。 指定された変数に、解析され見つかったオプションが設定されます。 見つかったオプションの次の引数のインデックスはシェル変数 .Ev OPTIND に格納されます。 あるオプションが引数をとる場合、その引数はシェル変数 .Ev OPTARG に置かれます。 有効でないオプションに出くわすと、変数 .Ev var には .Dq Li \&? がセットされます。 getopts はオプション群の末尾に到達すると偽の値 (1) を返します。 .It Xo .Ic hash .Op Fl rv .Op Ar command ...\& .Xc シェルは、コマンドの位置を保持するハッシュテーブルを維持管理しています。 .Ic hash コマンドに引数が指定されなかった場合、このテーブルの内容が出力されます。 最後に .Ic cd コマンドが実行されてから参照されていない項目には アスタリスク文字 が表示されます。 この項目は無効になっているかもしれません。 .Pp 引数を指定した場合、 .Ic hash コマンドは指定した .Ar command をハッシュテーブルから削除し ( .Ar command が関数ではない場合)、その後でそのコマンドを検索します。 .Fl v オプションを指定した場合、 .Ic hash は発見したコマンドの位置を表示します。 .Fl r オプションを指定した場合、 .Ic hash は関数以外のすべてのエントリをハッシュテーブルから削除します。 .It Ic jobid Op Ar job ジョブ .Ar job 中の各プロセスのプロセス ID を表示します。引数 .Ar job が 省略された場合、現在のジョブに対して処理を行います。 .It Ic jobs バックグラウンドで走行中の、現在のシェルプロセスの子プロセスの 一覧を出力します。 .It Ic pwd カレントディレクトリのパスを表示します。組み込みコマンド版は カレントディレクトリ名を覚えており、表示するときに再計算しないので、 組み込みコマンド版は同名のプログラムとは異なった表示をする場合があります。 このため処理は高速ですが、カレントディレクトリ の名前を変更した場合でも、組み込み版の .Xr pwd 1 は以前のディレクトリ名を表示し続けます。 .It Xo .Ic read .Op Fl p Ar prompt .Op Fl t Ar timeout .Op Fl er .Ar variable ...\& .Xc .Fl p オプションが指定され、かつ標準入力が端末の場合、 .Ar prompt をプロンプトとして表示します。 そして標準入力から 1 行入力します。行端の改行文字を削除し、行を前述の .Sx 空白文字による分割 (フィールド分割) の方法に従って分割し、各単語を、valiable... で指定する各変数に 順に代入します。 もし、指定された変数の数より分割された単語の数が多ければ、最後の変数に 残りの単語すべて ( .Ev IFS の文字を区切りにしてそれらも一緒に) が代入されます。 分割された単語の数より多くの変数が指定されていたなら、 余った変数には空文字列が設定されます。 .Pp .Fl r オプションが指定された場合を除き、バックスラッシュは特別に扱われます。 バックスラッシュ文字が改行文字の直前にある場合、 バックスラッシュ文字と改行文字は削除されます。 その他の文字の直前にバックスラッシュがある場合、バックスラッシュは削除され、 文字が .Ev IFS に含まれていても、 .Ev IFS の文字でないかのように扱われます。 .Pp .Fl t オプションが指定され、かつ入力がなされる前に .Ar timeout が経過すると、 .Ic read コマンドは値を割当てずに戻ります。 .Ar timeout 値の後にはオプションで .Dq s , .Dq m , .Dq h のいずれかの一文字 を付けることが出来、それぞれ秒・分・時間を陽に指定します。 どれも指定しない場合には .Dq s であるものとします。 .Pp .Fl e オプションは、古いスクリプトとの後方互換性のためだけにあります。 .It Ic readonly Ar name ...\& .Ar name で指定された変数を読み出し専用とし、あとで値を変更したり unset した りすることができないようにします。以下のように記述することで、 変数を読み出し専用と宣言するのと同時に値を設定することも可能です。 .Bd -literal -offset indent readonly name=value .Ed .Pp 引数が指定されない場合、 .Ic readonly コマンドは、読み出し専用になっている変数の名前の一覧を表示します。 .It Xo .Ic set .Op Fl /+abCEefIimnpTuVvx .Op Fl /+o Ar longname .Op Fl c Ar string .Op Fl - Ar arg ...\& .Xc .Ic set コマンドは 3 通りの異なった機能を持ちます。 .Bl -item .It 引数を指定しなかった場合、短かい形式でも長い .Dq Fl /+o Ar longname という形式であっても、 .Sx 引数リストの処理 の節で説明されているように、指定されたオプションの設定またはクリアを行います。 .It .Dq Fl - オプションが指定された場合、 .Ic set はシェルの位置パラメータを、引き続く引数で置き換えます。 .Dq Fl - オプションの後に引数が続かない場合、 すべての位置パラメータはクリアされ、 .Dq Li shift $# コマンドを実行するのと等価になります。 位置置換パラメータとして引数を指定するとき、 .Dq Fl - フラグは省略可能です。 これはお勧めできません。 なぜなら、最初の引数はマイナス記号 .Pq Li - またはプラス記号 .Pq Li + で開始するかもしれないからです。 これらは、 .Ic set コマンドが、オプションの有効化または無効化の要求であると解釈してしまいます。 .El .It Ic setvar Ar variable Ar value 変数 .Ar variable に値 .Ar value を代入します。( .Ic setvar は、関数内で、パラメータとして渡された名前を持つ 変数に値を代入するためのものです。 一般に、 .Ic setvar を使うよりも .Bd -literal -offset indent variable=value .Ed と書くほうが望ましいといえます。) .It Ic shift Op Ar n 位置パラメータを .Ar n 回シフトします。 .Ar n を指定しない場合 1 回シフトします。 1 回のシフトにより、$2 の値が $1 に、$3 の 値が $2 に代入されます (以下同様)。また、$# の値は 1 減少します。 位置パラメータがない場合、shift は何もしません。 .It Xo .Ic trap .Op Ar action .Ar signal ...\& .Xc シェルが指定されたシグナル .Ar signal を受けとったときに、 .Ar action を解析し実行するように設定します。 シグナルはシグナル番号で指定します。 .Ar action は空文字列に したり、省略したりすることができます。空文字列の場合、指定されたシグナルは 無視され、省略した場合は、指定したシグナルを受けとったときデフォルトの処理を 行ないます。シェルがサブシェルを起動するとき、trap で指定された (かつ 無視するように設定されていない) シグナルの動作をデフォルトの処理に戻します。 シェルが起動したときにすでに無視されるように設定されていたシグナルに対して .Ic trap コマンドを使用しても効果はありません。 .It Ic type Op Ar name ...\& 各 .Ar name をコマンドとして解釈し、コマンド検索の結果を出力します。出力さ れる結果は以下のものがあります。シェルのキーワード、エイリアス、シェル の組み込みコマンド、コマンド、痕跡つきエイリアス (tracked alias)、最後に not found (見つからず) があります。エイリアスについては、エイリアス展開 の結果が出力されます。コマンドと痕跡つきエイリアスについては、そのコマンドの 完全なパス名が印刷されます。 .It Xo .Ic ulimit .Op Fl HSabcdflmnust .Op Ar limit .Xc リソースのリミット値 (リミット値については .Xr getrlimit 2 参照) を設定あるいは表示します。 .Ar limit が指定されている場合、指定されたリソースが設定されます。 それ以外の場合、現在のリソース設定値が表示されます。 .Pp .Fl H が指定された場合、ハードリミットが設定ないし表示されます。 ハードリミット値を下げることは誰にでもできますが、 それを増やすことができるのはスーパユーザだけです。 オプション .Fl S を指定した場合はソフトリミットになります。 リミット値を表示する場合、 .Fl S か .Fl H のいずれか一方だけしか指定できません。 デフォルトでは、表示はソフトリミット、設定はハード/ソフトリミット両方です。 .Pp オプション .Fl a を指定すると .Ic ulimit コマンドは全リソースの設定値を表示します。 この場合、パラメータ .Ar limit は指定できません。 .Pp この他のオプションは、表示あるいは設定するリソースの種類を指定するものです。 これらは互いに排他的です。 .Bl -tag -width Ds .It Fl b Ar sbsize ソケットバッファサイズの最大値。バイト単位。 .It Fl c Ar coredumpsize コアダンプファイルの最大サイズ。512 バイトのブロック単位。 .It Fl d Ar datasize プロセスのデータセグメントの最大サイズ。キロバイト単位。 .It Fl f Ar filesize ファイルの最大サイズ。512 バイトブロック単位。 .It Fl l Ar lockedmem プロセスがロックできるメモリサイズの最大値。キロバイト単位。 .It Fl m Ar memoryuse プロセスの常駐セットサイズの最大値。キロバイト単位。 .It Fl n Ar nofiles あるプロセスがオープンできるファイル記述子の最大数。 .It Fl s Ar stacksize スタックセグメントサイズの最大値。キロバイト単位。 .It Fl t Ar time 各プロセスで消費できる CPU 時間の最大値。秒単位。 .It Fl u Ar userproc このユーザ ID で同時に走らせうる最大プロセス数。 .El .It Ic umask Op Ar mask ファイル作成マスクの値 ( .Xr umask 2 を参照) を、 .Ar mask で指定された 8 進数の値に設定します。引数が 省略された場合、現在のマスクの値が表示されます。 .It Xo .Ic unalias .Op Fl a .Op Ar name .Xc .Ar name が指定された場合、指定された名前のエイリアスを削除します。 .Fl a オプションが指定された場合、すべてのエイリアスを削除します。 .It Ic unset Ar name ...\& 指定された変数または関数を unset し、エクスポートされていない状態にします。 指定された名前の変数も関数も存在する場合、変数と関数の両方が unset されます。 .It Ic wait Op Ar job 指定されたジョブ .Ar job が終了するのを待ち、ジョブ内の最後のプロセスの 終了ステータスを返します。引数が省略された場合、すべてのジョブが終了する まで待ち、終了ステータス 0 を返します。 .El .Ss コマンド行編集 .Nm が端末から対話的に実行されている場合、現在入力中のコマンドおよび コマンド履歴 ( .Sx 組み込みコマンド の .Ic fc 参照) を vi モードのコマンド行編集機能 により編集することができます。 このモードでは、vi のマニュアルに示されているコマンドのサブセットを用います。 コマンド .Dq Li set -o vi (または .Dq Li set -V ) により vi モードが有効になり、 .Nm は vi の挿入モードに移行します。 vi モード中では、 挿入モードとコマンドモードの両方を自由に切り替えることが可能です。 vi モードは vi と同様であり、 .Aq ESC キー によりコマンドモードに移行し、コマンドモードで .Aq return キーを叩くことで、 行の内容がシェルに渡されます。 .Pp 同様に、コマンド .Dq Li set -o emacs により emacs 風のコマンド行編集機能の サブセットを使うことができるようになります。 .Sh 関連項目 .Xr builtin 1 , .Xr echo 1 , .Xr expr 1 , .Xr pwd 1 , .Xr printf 1 , .Xr test 1 .Sh 歴史 .Nm コマンドは、 .At V.1 で登場しました。 .\" -Amended by N.Kumagai 97.12.30 diff --git a/ja_JP.eucJP/man/man1/startslip.1 b/ja_JP.eucJP/man/man1/startslip.1 index 0aa840ff9b..6b9dda7cef 100644 --- a/ja_JP.eucJP/man/man1/startslip.1 +++ b/ja_JP.eucJP/man/man1/startslip.1 @@ -1,216 +1,216 @@ .\" Copyright (c) 1990, 1991, 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. .\" .\" @(#)startslip.1 8.1 (Berkeley) 6/5/93 -.\" %FreeBSD: src/sbin/startslip/startslip.1,v 1.16.2.2 2000/12/18 15:38:36 ru Exp % +.\" %FreeBSD: src/sbin/startslip/startslip.1,v 1.16.2.3 2001/03/05 19:33:57 ru Exp % .\" .\" jpman %Id: startslip.1,v 1.3 1997/08/19 03:06:09 h-nokubi Stab % .\" .Dd June 5, 1993 .Dt STARTSLIP 1 .Os BSD 4.4 .Sh 名称 .Nm startslip .Nd 電話をかけ、slip サーバにログインする .Sh 書式 .Nm .Op Fl d .Op Fl b Ar speed -[ +.Oo .Fl s Ar string1 -.Op Fl s Ar string2 Op Ar ... -] +.Op Fl s Ar string2 Op Ar ...\& +.Oc .Op Fl h .Op Fl l .Op Fl L .Op Fl A Ar annexname .Op Fl U Ar upscript .Op Fl D Ar downscript .Op Fl t Ar script_timeout .Op Fl W Ar maxtries .Op Fl w Ar retry_pause .Op Fl K Ar keepalive .Op Fl O Ar outfill .Op Fl S Ar unit .Ar device user password .Sh 解説 .Nm は指定された .Ar device をオープンします。 ひとたびキャリアが確認されると(モデム制御が有効にされている場合)、 .Nm は指定された .Ar user および .Ar password でのログインを試みます。 Annex オプション ( .Fl A 参照) が指定されない限り、 標準的な login: および Password: の方式を想定します。 成功すると、 .Nm はその device を slip の回線規約に設定し、 .Ar upscript を呼び出してウェイトモードに入ります。 キャリアが落ちる (モデム制御有効の場合) あるいは .Dv SIGHUP シグナルがに送られると、 .Nm は device をクローズし、 .Ar downscript を呼び出し、ダイヤルアップとログインのシーケンスを繰り返し試みます。 .Dv SIGTERM シグナルが送られると、 .Nm は device をクローズし、 .Ar downscript を呼び出し、そして終了します。 同一 device に対して .Nm が 2 回呼び出されると、処理を行う前に ひとつめの .Nm が .Dv SIGTERM シグナルによって kill されます。 .Pp 以下のオプションを利用可能です: .Bl -tag -width indent .It Fl d 行おうとしている処理に関するデバッグ情報を出力します。 .It Fl b Ar speed .Ar device に用いるボーレートを決定します。デフォルトは 9600 です。 .It Fl t Ar script_timeout ログインスクリプトのタイムアウトを秒単位で指定します。デフォルトは 90 です。 .It Fl w Ar retry_pause 接続再試行の間の待ち時間を秒単位で指定します(再試行のたびに長くなります)。 デフォルトは 60 です。 .It Fl W Ar maxtries 一つのセッション内で接続再試行する最大回数を設定します。 デフォルトは 6 回です。0 を指定すると無限回という意味になります。 .It Fl s Ar stringN オプション文字列 .Ar stringN を .Ar device に書き出します。改行は自動的に付加されます。 ダイヤルアップモデムの場合、 この文字列を用いてダイヤルシーケンスを指定します。 デフォルトでは文字列は全く書き出しません。 複数個の .Fl s Ar stringN 引数を指定して、例えばいくつかのホストの電話番号を 接続試行毎に切り替えるように指定できます。 .It Fl A Ar annexname Xylogics の Annex box に接続しているものとみなし、引数 .Ar user および .Ar password を用いて適切なダイアログを行います。引数 .Ar annexname は Annex プロンプトとマッチさせて接続が確立したことを判断するのに 用いる文字列です。 .It Fl h .Ar device に対してハードウェアフロー制御 (CTS/RTS) を用います。 デフォルトではフロー制御は行いません。 .It Fl l .Ar device に対してのモデム制御 (キャリアを待つ およびキャリアドロップの検出) を 無効化します。 デフォルトではモデム制御は有効になっています。 .It Fl U Ar upscript SLIP インタフェースが接続されたときに実行するスクリプトを指定します。 このスクリプトには .Xr ifconfig 8 , .Xr route 8 や、その他適切なコマンドを含めることが できます。 スクリプトには "slX up" が引数として渡されます。 デフォルトは .Pa /sbin/ifconfig です。 ダイヤルシーケンス番号 ( .Fl s 参照) は環境変数 .Ev LINE を通じて渡されます。 .It Fl D Ar downscript SLIP インタフェースが切断されたときに実行するスクリプトを指定します。 スクリプトには引数として "slX down" が渡されます。 デフォルトは .Pa /sbin/ifconfig です。 ダイヤルシーケンス番号 ( .Fl s 参照) は環境変数 .Ev LINE を通じて渡されます。 .It Fl K Ar keepalive SLIP の "keep alive" タイムアウトの秒数を設定します。 この時間内に FRAME_END を受信しなければ、再接続が行われます。 向こう側からのアクティブな "out fill" タイムアウトを期待します。 デフォルトではタイムアウトなしです。 .It Fl O Ar outfill SLIP の "out fill" タイムアウトの秒数を設定します。 この時間内に FRAME_END を少なくとも 1 回送信するようにします。 向こう側で "keep alive" タイムアウトが設定されている必要があります。 デフォルトではタイムアウトなしです。 .It Fl S Ar unit SLIP ユニットナンバを直接設定します。 2 つのインタフェースが同一のナンバを使っていることはチェックしないので、 注意して使用して下さい。 デフォルトではダイナミックな割り当てを行います。 .It Fl L UUCP 形式のデバイスロックを行います。 既に UUCP ロックを行っている外部プログラムから .Nm を実行する場合以外は、これが必要です。 デフォルトの場合、そのようなプログラムを満足させる UUCP ロックは行いません。 .El .Sh 関連ファイル .Bl -tag -width /var/run/startslip..pid -compact .It Pa /var/run/startslip..pid PID がここに格納されます。 .It Pa /usr/share/examples/startslip/* .El .Sh 関連項目 .Xr uustat 1 , .Xr slattach 8 , .Xr sliplogin 8 .Sh 歴史 .Nm は .Bx 4.4 で登場しました。 diff --git a/ja_JP.eucJP/man/man1/stty.1 b/ja_JP.eucJP/man/man1/stty.1 index 9b6aa79c74..72f62c7225 100644 --- a/ja_JP.eucJP/man/man1/stty.1 +++ b/ja_JP.eucJP/man/man1/stty.1 @@ -1,530 +1,540 @@ .\" Copyright (c) 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. .\" .\" @(#)stty.1 8.4 (Berkeley) 4/18/94 -.\" %FreeBSD: src/bin/stty/stty.1,v 1.13.2.2 2000/12/15 17:47:25 ru Exp % +.\" %FreeBSD: src/bin/stty/stty.1,v 1.13.2.4 2001/03/06 03:36:19 jkh Exp % .\" .\" jpman %Id: stty.1,v 1.2 1997/06/05 04:05:59 yugawa Stab % .Dd April 18, 1994 .Dt STTY 1 .Os .Sh 名称 .Nm stty .Nd 端末の設定を行なう .Sh 書式 .Nm .Op Fl a | Fl e | Fl g .Op Fl f Ar file .Op operands .Sh 解説 .Nm は、標準入力になっているデバイスの端末属性を設定もしくは表示する プログラムです。オプションや引数を指定しなかった場合、 設定されている属性の一部や、デフォルト値と違う値が設定されている属性 を表示します。 指定した場合は、指定された引数に従って端末の状態を変更します。 ターミナルの種類によっては相互に排他的な引数の組み合わせもあります。 .Pp オプションとしては以下のものがあります。 .Bl -tag -width indent .It Fl a .St -p1003.2 に規定された形式で、 現在の端末属性をすべて標準出力に出力します。 .It Fl e .Tn BSD の伝統的な ``all'' や ``everything'' の形式で、 現在の端末属性をすべて標準出力に出力します。 .It Fl f 標準入力ではなく、 .Ar file で指定された端末を使います。 このファイルは .Fn open 関数に .Dv O_NONBLOCK フラグを付けてオープンされるので、端末の設定や表示をブロックされず に行なうことができます。 .It Fl g 端末変更後に端末の状態を復帰させられるように、 .Nm の引数として指定できる形式で、現在の端末属性を標準出力に 出力します。 この形式は .St -p1003.2 に規定されています。 .El .Pp 端末属性の設定には、以下の引数が使えます。 .Ss 制御モード: .Pp 制御モードのフラグは端末と関連するハードウェアの属性 に影響します。これは termios 構造体の c_cflag に相当します。 .Bl -tag -width Fl .It Cm parenb Pq Fl parenb パリティ生成および検出を有効 (無効) にします。 .It Cm parodd Pq Fl parodd 奇数パリティ (偶数パリティ) にします。 .It Cm cs5 cs6 cs7 cs8 可能なら 1 文字のビット幅を設定します。 .It Ar number 可能なら、端末のボーレートを .Ar number に設定します。0 を指定した場合は、モデムの制御を切ります。 .It Cm ispeed Ar number 可能なら、入力のボーレートを .Ar number に設定します。0 を設定した場合は、出力のボーレートと同じ値に設定されます。 .It Cm ospeed Ar number 可能なら、出力のボーレートを .Ar number に設定します。0 を設定した場合は、モデムの制御を切ります。 .It Cm speed Ar number .Cm ispeed と .Cm ospeed の両方を .Ar number に設定します。 .It Cm hupcl Pq Fl hupcl そのデバイスをオープンしているプロセスがクローズ処理を行ったとき、ほか にこのデバイスをオープンしているプロセスがなければ、モデムの制御機能に より切断処理を行います (行いません)。 .It Cm hup Pq Fl hup hupcl .Pq Fl hupcl と同じです。 .It Cm cstopb Pq Fl cstopb ストップビットを 2 ビット (1 ビット) にします。 .It Cm cread Pq Fl cread 受話器を有効 (無効) にします。 .It Cm clocal Pq Fl clocal 回線に対してモデム制御が不要である (必要である) とみなします。 .It Cm crtscts Pq Fl crtscts RTS/CTS フロー制御を有効 (無効) にします。 .El .Ss 入力モード: これは termios 構造体の c_iflag に相当します。 .Bl -tag -width Fl .It Cm ignbrk Pq Fl ignbrk 入力のブレーク信号を無視します (無視しません)。 .It Cm brkint Pq Fl brkint ブレークを受信したとき、シグナル .Dv INTR を出します (出しません)。 .It Cm ignpar Pq Fl ignpar パリティエラーを無視します (無視しません)。 .It Cm parmrk Pq Fl parmrk パリティエラーをマークします (マークしません)。 .It Cm inpck Pq Fl inpck 入力のパリティチェックを有効 (無効) にします。 .It Cm istrip Pq Fl istrip 入力した文字の 8 ビット目を捨てて 7 ビットにします (8 ビット目 を捨てません)。 .It Cm inlcr Pq Fl inlcr 入力の .Dv NL を .Dv CR に変換します (変換しません)。 .It Cm igncr Pq Fl igncr 入力の .Dv CR を無視します (無視しません)。 .It Cm icrnl Pq Fl icrnl 入力の .Dv CR を .Dv NL に変換します (変換しません)。 .It Cm ixon Pq Fl ixon 制御コードの .Dv START/STOP を使った出力フロー制御を有効 (無効) にします。 システムから端末への出力において、システムが .Dv STOP を受信したら出力を中断し、 .Dv START を受信するか、 .Cm ixany が設定されている場合は何らかの文字を受信すると、 出力を再開するようになります。 .It Cm ixoff Pq Fl ixoff システムの入力キューが 空/満杯に近づいたら、それぞれ .Dv START/STOP を出力するようにします (近づいても、出力しません)。 .It Cm ixany Pq Fl ixany どんな文字が来ても ( .Dv START が来た場合のみ) 出力を再開します。 .It Cm imaxbel Pq Fl imaxbel システムによって入力キューの .Dv MAX_INPUT (一般的には 255) の最大文字数が規定されており、 .Cm imaxbel がセットされていると、入力キューの制限を越えた入力に対して ASCII BEL キャラクタを出力キューに送ります (端末が鳴ります)。 .Cm imaxbel がセットされていなくて入力キューが一杯になった場合、次の文字入力で すべての入力、出力キューは捨てられます。 .El .Ss 出力モード: これは termios 構造体の c_oflag に相当します。 .Bl -tag -width Fl .It Cm opost Pq Fl opost プロセス後の処理を行った上で出力をします (プロセス後の処理を行わずに出力します。 この指定をすると、他のすべての出力モードが無視されます)。 .It Cm onlcr Pq Fl onlcr 出力の .Dv NL を .Dv CR-NL に変換します (変換しません)。 +.It Cm ocrnl Pq Fl ocrnl +.Dv CR +を +.Dv NL +へマップします (マップしません)。 .It Cm oxtabs Pq Fl oxtabs 出力のタブをスペースに展開します (展開しません)。 +.It Cm onocr Pq Fl onocr +桁 0 において CR を出力します (出力しません)。 +.It Cm onlret Pq Fl onlret +端末上で NL が CR の機能を実行します (実行しません)。 .El .Ss ローカルモード: .Pp ローカルモードのフラグ (lflags) は端末処理のさまざまな属性に影響します。 歴史的には、"local" という名前のつけられた新しいジョブコントロール機能 は Jim Kulp によって .Tn IIASA の .Tn Pdp 11/70 に実装されました。 その後このドライバは、 Evans Hall, UC Berkeley の最初の .Tn VAX 上で走りました。その際ジョブコントロールの細部は大幅に変更されましたが、 構造体の定義と名前は根本的には変わりませんでした。 lflag の 'l' の 2 つ目の解釈は、 .Ar termios 構造体の .Ar c_lflag に相当する ``line discipline flag''(行制御規則フラグ) です。 .Bl -tag -width Fl .It Cm isig Pq Fl isig 特殊な制御文字 .Dv INTR , QUIT , .Dv SUSP に対する処理を有効 (無効) にします。 .It Cm icanon Pq Fl icanon .Dv ERASE と .Dv KILL 処理による入力制御を有効 (無効) にします。 .It Cm iexten Pq Fl iexten icanon, isig, ixon で制御に使われているもの以外の特殊な 制御文字の処理を有効 (無効) にします。 .It Cm echo Pq Fl echo タイプされた文字をエコーバックします (エコーバックしません)。 .It Cm echoe Pq Fl echoe .Dv ERASE 文字の入力があった場合、可能ならディスプレイ上に見える現在の出力行の 最後の文字を消します (消しません)。 .It Cm echok Pq Fl echok .Dv KILL 文字の入力があった場合、そのあとに .Dv NL を出力します (出力しません)。 .It Cm echoke Pq Fl echoke 可能なら、 .Dv KILL 文字でディスプレイ上の現在の行を消します (消しません)。 .It Cm echonl Pq Fl echonl echo が無効になっているときでも .Dv NL 文字だけはエコーバックさせます (エコーバックしません)。 .It Cm echoctl Pq Fl echoctl .Cm echoctl をセットすると、制御文字は ^X のように表示されます。 セットしなければ、その文字自身が表示されます。 .It Cm echoprt Pq Fl echoprt プリンタ端末に対するもので、設定された場合、削除された文字を ``\\'' と ``/'' で囲んで逆方向にエコーします。 設定されていなければ、この機能を無効にします。 .It Cm noflsh Pq Fl noflsh .Dv INTR , QUIT , SUSP のあとのフラッシュ処理を無効 (有効) にします。 .It Cm tostop Pq Fl tostop バックグラウンドジョブが出力を行おうとした時に .Dv SIGTTOU を送ります (送りません)。これによってバックグラウンドジョブは画面出力を 行おうとすると停止するようになります。 .It Cm altwerase Pq Fl altwerase .Dv WERASE 文字を処理するときに、別の単語消去アルゴリズムを用います (用いません)。 このアルゴリズムは英数字とアンダースコアの並びを単語とみなします。 また、分類上直前の文字をスキップします (便宜的に、直前の文字を .Dv ERASE 一文字で消すことができるようにするため)。 .It Cm mdmbuf Pq Fl mdmbuf セットされると、CD 信号の検出によるフロー制御の出力を行います。 セットされなければ、CD 信号の低下に対してエラーを出力します (キャリア信号は .Dv CLOCAL フラグによっても無視されません)。 .It Cm flusho Pq Fl flusho 出力を捨てます (捨てません)。 .It Cm pendin Pq Fl pendin 入力を非標準 (non-canonical) モードから標準 (canonical) モードへ切り換えた あと、入力を保留します (保留しません)。読み込みが保留されたとき、または更に入力があったときに 再入力されます。 .El .Ss 制御文字: .Bl -tag -width Fl .It Ar control-character Ar string .Ar string に .Ar control-character を割り当てます。もし string が 1 文字だけなら、その文字に .Ar control-character が割り当てられます。 string が 2 文字の "^-" もしくは "undef" の場合は .Ar control-character は無効にされます (つまり、 .Pf { Dv _POSIX_VDISABLE Ns } になります)。 .Pp 認識される制御文字: .Bd -ragged -offset indent .Bl -column character Subscript .It 制御文字 Ta 記号 Ta 説明 .It _________ Ta _________ Ta _______________ .It eof Ta Tn VEOF Ta EOF No character .It eol Ta Tn VEOL Ta EOL No character .It eol2 Ta Tn VEOL2 Ta EOL2 No character .It erase Ta Tn VERASE Ta ERASE No character +.It erase2 Ta Tn VERASE2 Ta ERASE2 No character .It werase Ta Tn VWERASE Ta WERASE No character .It intr Ta Tn VINTR Ta INTR No character .It kill Ta Tn VKILL Ta KILL No character .It quit Ta Tn VQUIT Ta QUIT No character .It susp Ta Tn VSUSP Ta SUSP No character .It start Ta Tn VSTART Ta START No character .It stop Ta Tn VSTOP Ta STOP No character .It dsusp Ta Tn VDSUSP Ta DSUSP No character .It lnext Ta Tn VLNEXT Ta LNEXT No character .It reprint Ta Tn VREPRINT Ta REPRINT No character .It status Ta Tn VSTATUS Ta STATUS No character .El .Ed .It Cm min Ar number .It Cm time Ar number min あるいは time の値を .Ar number にします。 .Dv MIN と .Dv TIME は非標準的なモード (-icanon) での入力処理に使われます。 .El .Ss 複合モード: .Pp .Bl -tag -width Fl .It Ar saved settings 現在の端末属性を .Fl g オプションによって保存された属性にする。 .It Cm evenp No or Cm parity parenb と cs7 を有効にし、parodd を無効にします。 .It Cm oddp parenb, cs7, parodd を有効にします。 .It Fl parity , evenp , oddp parenb を無効にして、cs8 をセットします。 .It Cm \&nl Pq Fl \&nl icrnl を有効 (無効) にします。 それに加えて、-nl は inlcr と igncr を解除します。 .It Cm ek -.Dv ERASE -と +.Dv ERASE , +.Dv ERASE2 , .Dv KILL に割り当てられている文字をシステムのデフォルトのものに戻します。 .It Cm sane すべてのモードを対話的な端末利用に妥当な値にリセットします。 .It Cm tty 行制御規則を標準端末の規則 .Dv TTYDISC に設定します。 .It Cm crt Pq Fl crt CRT ディスプレイ用に適合するモードをすべて有効 (無効) にします。 .It Cm kerninfo Pq Fl kerninfo .Dv STATUS 文字 (通常 ^T に設定されています) に結びつけられた システムステータス行の生成を有効 (無効) にします。 このステータス行はシステムの負荷、現在のコマンドの名前、プロセス ID、 プロセスが待っているイベント (あるいはプロセスの状態)、 ユーザ時間とシステム時間、CPU 利用率、現在のメモリ使用状況 からなっています。 .It Cm columns Ar number 端末の大きさを .Ar number 列とします。 .It Cm cols Ar number .Cm columns の別名定義です。 .It Cm rows Ar number 端末の大きさを .Ar number 行とします。 .It Cm dec Digital Equipment Corporation systems の端末設定にします。 ( .Dv ERASE , .Dv KILL , .Dv INTR をそれぞれ ^?, ^U, ^Cとし、 .Dv ixany を無効、 .Dv crt を有効にします) .It Cm extproc Pq Fl extproc 設定されると、一部の端末処理が端末機器ないし pty に接続されたリモート側 で行なわれるようになります。 .It Cm raw Pq Fl raw 端末モードを全く入出力処理を行なわないモードにします。 これを無効にすると、端末を入出力処理を行なう普通のモードに戻します。 注意すべきなのは、端末用のドライバは単一の .Dv RAW ビットを持つわけではないので、 .Cm raw モードに設定する前にどのようなフラグが設定してあったのかを知ることがで きないということです。つまり、 .Cm raw モードを解除するだけでは、 .Cm raw モード設定前の状態には戻りません。 端末を raw 状態にして、それを正確に元に戻すためには、以下のような シェルコマンドを使うことを薦めます。 .Bd -literal save_state=$(stty -g) stty raw \&... stty "$save_state" .Ed .It Cm size 端末の大きさを行、列の順に並べた 1 行で表示します。 .El .Ss 互換モード: .Pp 以下のモードは旧バージョンの stty コマンドとの互換性保持のために残され ています。 .Bl -tag -width Fl .It Cm all 縦覧式でコントール文字を表示する以外は、 .Cm stty Fl a と同様に端末設定を表示します。 .It Cm everything .Cm all と同じです。 .It Cm cooked .Cm sane と同じです。 .It Cm cbreak .Cm brkint , ixon , imaxbel , opost , .Cm isig , iexten , -.Cm Fl icanon +.Fl icanon を有効にします。 解除した場合は .Cm sane と同じです。 .It Cm new .Cm tty と同じです。 .It Cm old .Cm tty と同じです。 .It Cm newcrt Pq Fl newcrt .Cm crt と同じです。 .It Cm pass8 .Cm parity の反対です。 .It Cm tandem Pq Fl tandem .Cm ixoff と同じです。 .It Cm decctlq Pq Fl decctlq .Cm ixany の反対です。 .It Cm crterase Pq Fl crterase .Cm echoe と同じです。 .It Cm crtbs Pq Fl crtbs .Cm echoe と同じです。 .It Cm crtkill Pq Fl crtkill .Cm echoke と同じです。 .It Cm ctlecho Pq Fl ctlecho .Cm echoctl と同じです。 .It Cm prterase Pq Fl prterase .Cm echoprt と同じです。 .It Cm litout Pq Fl litout .Cm opost の反対です。 .It Cm tabs Pq Fl tabs .Cm oxtabs の反対です。 .It Cm brk Ar value 制御文字 .Cm eol と同じです。 .It Cm flush Ar value 制御文字 .Cm discard と同じです。 .It Cm rprnt Ar value 制御文字 .Cm reprint と同じです。 .El .Sh 診断 .Nm ユーティリティは、 成功した場合は 0 を、エラーが起きた場合は 0 より大きい値を返します。 .Sh 関連項目 .Xr termios 4 .Sh 規格 .Nm は .St -p1003.2 互換です。 .Fl e と .Fl f のフラグは規格を拡張しています。 diff --git a/ja_JP.eucJP/man/man1/tar.1 b/ja_JP.eucJP/man/man1/tar.1 index ff4fb9e181..8dd715edf0 100644 --- a/ja_JP.eucJP/man/man1/tar.1 +++ b/ja_JP.eucJP/man/man1/tar.1 @@ -1,588 +1,588 @@ .\" Copyright (c) 1991, 1992, 1993 Free Software Foundation -*- nroff -*- .\" See /usr/src/gnu/COPYING for conditions of redistribution .\" .\" Written by John F. Woods .\" Updated by Robert Eckardt .\" -.\" %FreeBSD: src/gnu/usr.bin/tar/tar.1,v 1.22.2.9 2001/02/26 07:48:39 ume Exp % +.\" %FreeBSD: src/gnu/usr.bin/tar/tar.1,v 1.22.2.10 2001/03/05 18:17:26 ru Exp % .\" .\" jpman %Id: tar.1,v 1.2 1997/06/24 07:09:44 bobson Stab % .Dd December 23, 2000 .Os FreeBSD .Dt TAR 1 .Sh 名称 .Nm tar .Nd "テープアーカイバ; ""tar"" アーカイブファイルの操作" .Sh 書式 .Nm -.Op [-] Ns Ar bundled-options Ar Args +.Op Oo Fl Oc Ns Ar bundled-options Ar Args .Op Ar gnu-style-flags .Op Ar filenames | Fl C Ar directory-name .Ar ... .Sh 解説 .Nm は、歴史的な理由により .Dq tape archiver を省略して名付けられました。 .Nm プログラムは、 .Ar tarfile と呼ばれる .Nm フォーマットのアーカイブファイルを作成し、アーカイブにファイルを追加したり、 またアーカイブからファイルを抽出したりします。 .Ar tarfile は通常磁気テープを指しますが、フロッピディスケットや 通常のファイルでも構いません。 .Pp 通常、 .Nm コマンドラインの最初の引数は、機能文字および機能変更文字からなる単語であり、 その前に ダッシュ (-) を付けても付けなくてもいいようになっています。 単語には、次の機能文字のうち丁度 1 つを含んでいる必要があります: .Cm A , .Cm c , .Cm d , .Cm r , .Cm t , .Cm u , .Cm x , これらはそれぞれ、 .Em 追加 (append) 、 .Em 作成 (create) 、 .Em 差分 (difference) 、 .Em 置換 (replace) 、 .Em リスト表示 (table of contents) 、 .Em 更新 (update) 、 .Em 抽出 (extract) を意味しています (下記に詳細があります)。 これらの他に、以下に詳細を述べる機能変更文字を、コマンド単語に 含めることができます。それらのいくつかは、コマンド単語内と同じ順で コマンドライン引数を要求します ( .Sx 使用例 の節を参照)。 機能文字と機能変更文字は、GNU 形式の引数で指定することもできます (2 つのダッシュを最初に付け、1 つのコマンド単語ごとに機能文字か 機能変更文字を 1 つだけ指定する)。 アーカイブへの追加、アーカイブからの抽出、そしてリスト表示のために コマンドライン指定するファイル名には、 シェルのパターンマッチ文字列を使用することができます。 .Sh 機能 以下の機能のいずれか 1 つだけを必ず指定する必要があります。 .Pp .Bl -tag -width "--concatenate" -compact .It Fl A .It Fl -catenate .It Fl "-concatenate" 指定された ( .Nm アーカイブ形式の) ファイルを tar アーカイブの末尾 に追加します (追加する前の古い end-of-archive ブロックは削除さ れます)。 これは、指定されたファイルがアーカイブの中の 1 ファイルとなるので はなく、指定したファイルの中に含まれているファイルを、最初に指定 したアーカイブに追加するという効果を持ちます。 .Em 注 : このオプションは .Ar tarfile を再書き込みする必要があるため、1/4 インチカートリッジテープでは動作しません。 .It Fl c .It Fl -create 新しいアーカイブを作成して (もしくは古い内容を切り捨てて)、指定 されたファイルをアーカイブに書き込みます。 .It Fl d .It Fl -diff .It Fl -compare アーカイブの中のファイルと、それに相当するファイルシステム内の ファイルとの違いを調査します。 .It Fl -delete 指定されたファイルをアーカイブから削除します (1/4 インチテープでは動作しません)。 .It Fl r .It Fl -append アーカイブの末尾にファイルを追加します (1/4 インチテープでは動作しません)。 .It Fl t .It Fl -list アーカイブ内容のリスト表示をします。もし引数として .Ar filename が指定されていれば、そのファイルだけがリスト表示されます。 そうでなければ、アーカイブに含まれるすべてのファイルリストが表示されます。 .It Fl u .It Fl -update 指定したファイルのうち、アーカイブ内のファイルよりもディスク上の ファイルの変更時刻が新しいものだけを追加します。1/4 インチテープ では動作しません。 .It Fl x .It Fl -extract .It Fl -get アーカイブからファイルを抽出します。可能ならば、所有者、 変更時刻、ファイル属性はリストアされます。もし .Ar file 引数が指定されていなければ、アーカイブ内の全ファイルが抽出されます。 もし .Ar filename 引数がテープ上のディレクトリ名にマッチしていれば、そのディレクトリと ディレクトリ内のファイルが抽出されます (ディレクトリ内の すべてのディレクトリについても同様に抽出されます)。 もしアーカイブ内に、相当する同じファイルが複数含まれていれば (上記の .Fl -append コマンドを参照)、最後に含まれているものが他のすべてのファイルを 上書きする形で抽出されます。 .Sh オプション .Nm の他のオプションは、組み合わせて使用することができます。 1 文字オプションは、コマンド単語の中で指定することができます。 引数を与えるべきオプションの場合、オプションに続けて引数を指定し ます。1 文字オプションであれば、これに続くコマンドライン引数を 使用します (以下の .Sx 使用例 を参照してください)。 .Pp .Bl -tag -width "--preserve-permissions" -compact .It Fl -help .Nm のすべてのコマンドオプションについて一覧と解説を表示します。 .It Fl -atime-preserve テープに書かれている、ファイルのアクセス時刻をリストアします。 (inode の変更時刻が変更されることに注意してください!) .It Fl b .It Fl -block-size Ar number 読み書きするブロックサイズを .Ar number * 512-byte ブロック に設定します。 .It Fl B .It Fl -read-full-blocks 短い読みだしブロックを、完全なブロックに再組み立てします ( .Bx 4.2 パイプの読み込み用)。 .It Fl C Ar directory .It Fl -directory Ar directory 残りの引数を処理する前に .Ar directory へ移動します。 .It Fl -checkpoint アーカイブを読み書きする間に読み書きしたバッファの数を表示します。 .It Fl f Xo .Oo Ar hostname : Oc Ns Ar file .Xc .It Fl -file Xo .Oo Ar hostname : Oc Ns Ar file .Xc 指定された .Ar file (デフォルトは .Pa /dev/sa0 ) を読み書きします。 もし .Ar hostname が指定されていれば、 .Nm は .Xr rmt 8 を使って、リモートマシン上の .Ar file を読み書きします。 .Dq Ar - はファイル名として使用されることもありますが、 これは標準入力から読み出したり、標準出力へ書き出したりするために使用されます。 .It Fl -force-local コロンがある時でさえ、アーカイブファイルはローカルのものとします。 .It Fl F Ar file .It Fl -info-script Ar file .It Fl -new-volume-script Ar file それぞれのアーカイブが終ると、スクリプトを実行します (暗黙の .Fl M 指定が行なわれます)。 .It Fl -fast-read ワイルドカードで指定されていないすべての抽出ターゲットが アーカイブ内に見つかったら、その時点で終了します。 .It Fl G .It Fl -incremental 古い GNU-format インクリメンタルバックアップファイルを作成/リスト/抽出します。 .It Fl g Ar file .It Fl -listed-incremental Ar file 新しい GNU-format インクリメンタルバックアップファイルを 作成/リスト/抽出します。 .It Fl h .It Fl -dereference シンボリックリンクをシンボリックのまま書き込みません。シンボリックリンクが 指しているデータを書き込みます。 .It Fl i .It Fl -ignore-zeros アーカイブの中のゼロブロック (通常、End-Of-File を意味する) を無視します。 .It Fl -ignore-failed-read ファイルが読めなくても、非 0 のステータスで exit しません。 .It Fl j .It Fl y .It Fl -bzip .It Fl -bzip2 .It Fl -bunzip2 アーカイブを .Xr bzip2 1 でフィルタリングします。 .It Fl k .It Fl -keep-old-files ディスク上に既にあるファイルを保持します。つまり、アーカイブから 抽出するファイルは、ディスク上のファイルへ上書きしません。 .It Fl K Ar file .It Fl -starting-file Ar file アーカイブの中の .Ar file から (抽出、リストなどを) 始めます。 .It Fl l .It Fl -one-file-system あるファイルシステム内にあるファイルだけでアーカイブを作成します (他ファイルシステムへのマウントポイントを跨ぎません)。 .It Fl L Ar number .It Fl -tape-length Ar number .Ar number * 1024 バイト書き込んだ後でテープの交換を要求します。 .It Fl m .It Fl -modification-time ファイルの変更時刻を抽出しません。 .It Fl M .It Fl -multi-volume マルチボリュームアーカイブを作成/リスト/抽出します。 .It Fl n .It Fl -norecurse 作成時に再帰的にサブディレクトリを走査しません。 .It Fl -volno-file Ar file ボリューム番号付きのファイル名です。 .It Fl N Ar date .It Fl -after-date Ar date .It Fl -newer Ar date 作成時間が .Ar date より新しいファイルだけを抽出します。 .It Fl -newer-mtime Ar date 変更時間が .Ar date より新しいファイルだけを抽出します。 .It Fl o .It Fl -old-archive .It Fl -portability POSIX フォーマットではなく、V7 フォーマットのアーカイブを作成します。 .It Fl O .It Fl -to-stdout ファイルを標準出力に抽出します。 .It Fl p .It Fl -same-permissions .It Fl -preserve-permissions 保護情報を完全に抽出します。 .It Fl -preserve .Fl p s の指定と同じ効果を持ちます。 .It Fl P .It Fl -absolute-paths ファイル名から先頭の .Ql / をとりません。 .It Fl R .It Fl -record-number メッセージ中にアーカイブ内のレコード番号を埋め込み表示します。 .It Fl -remove-files アーカイブに追加したファイルを、追加後に削除します。 .It Fl s .It Fl -same-order .It Fl -preserve-order アーカイブ内から抽出するファイルを、指定された順のままにします。 .It Fl -show-omitted-dirs アーカイブ作成中に除外されたディレクトリを表示します。 .It Fl S .It Fl -sparse .Dq 疎な ファイルを効率的に扱うようにします。 .It Fl T Ar file .It Fl I Ar file .It Fl -files-from Ar file .Ar file から抽出もしくは作成するファイル名を得ます (1 行 1 ファイル名)。 .It Fl -null null で終わっている名前を考慮し、 .Fl T の振舞を変更します。 これは .Fl C 指定を無効にします。 .It Fl -totals .Fl -create によって書かれた総バイト数を表示します。 .It Fl U .It Fl -unlink .It Fl -unlink-first ファイルを作成する前に、いったん削除します。 .It Fl v .It Fl -verbose .Fl -create でアーカイブに書くファイルや .Fl -extract でアーカイブから 取り出すファイル名をリスト表示します。 ファイルの保護情報をファイル名とともに表示させるには、 .Fl -list を使います。 .It Fl V Ar volume-name .It Fl -label Ar volume-name 指定された .Ar volume-name を持ったアーカイブを作成します。 .It Fl -version .Nm プログラムのバージョン番号を表示します。 .It Fl w .It Fl -interactive .It Fl -confirmation すべての動作に対して、確認を求めるようになります。 .It Fl W .It Fl -verify アーカイブを書き込んだ後、ベリファイを試みます。 .It Fl -exclude Ar pattern .Ar pattern にマッチするファイルを除外します (抽出しません。追加しません。リスト表示しません)。 .It Fl X Ar file .It Fl -exclude-from Ar file .Ar file に一覧されているファイルを除外します。 .It Fl Z .It Fl -compress .It Fl -uncompress アーカイブを .Xr compress 1 でフィルタリングします。 .It Fl z .It Fl -gzip .It Fl -gunzip アーカイブを .Xr gzip 1 でフィルタリングします。 .It Fl -use-compress-program Ar program アーカイブを .Ar program でフィルタリングします (これは、 .Fl d が指定されたときは .Dq decompress を意味しなければなりません)。 .It Fl -block-compress テープもしくはフロッピのために、圧縮プログラムの出力をブロック 化します (そうしないと、ブロック長がおかしくなり、デバイスドライバは そのブロックを拒絶するでしょう)。 .It Fl Xo .Op Cm 0 Ns - Ns Cm 7 Ns .Op Cm lmh .Xc テープドライブと密度を指定します。 .El .Sh 環境 環境変数 .Ev TAR_OPTIONS に .Nm のデフォルトオプションを保持させることが可能です。 これらのオプションは最初に解釈されますので、 明示的なコマンドラインパラメータで上書き可能です。 .Sh 使用例 .Pa bert と .Pa ernie というファイルを含む、 ブロックサイズが 20 ブロックのアーカイブを、 テープドライブ .Pa /dev/sa0 に作るには、 .Dl "tar cfb /dev/sa0 20 bert ernie" もしくは .Dl "tar --create --file /dev/sa0 --block-size 20 bert ernie" と入力します。 .Fl f および .Fl b フラグは両方とも引数を必要としていることに注意してください。 この引数は、コマンド単語に書かれているのと同じ順序でコマンドラインから 取得されます。 .Pp .Pa /dev/sa0 はデフォルトのデバイスであり、20 はデフォルトのブロック サイズですので、上記の例は次のように単純化できます。 .Dl "tar c bert ernie" \&"backup.tar" というアーカイブから、すべての C ソース及びヘッダを 抽出するには、次のようにタイプします。 .Pp .Dl tar xf backup.tar '*.[ch]' .Pp シェルがカレントディレクトリ内のファイル名に展開しないよう、パターンを クォートしなければならないことに注意してください (当然、 シェルはアーカイブ内のファイル一覧にアクセスすることはできません)。 .Pp ファイルを階層構造ごとコピーするには、このようにコマンドを使用してください: .Bd -literal tar cf - -C srcdir . | tar xpf - -C destdir .Ed .Pp ディスケットに、 .Xr gzip 1 を使った圧縮アーカイブを作成するには、次の ようなコマンドラインを使うといいでしょう。 .Dl "tar --block-compress -z -c -v -f /dev/fd1a -b 36 tar/" .Pp まとめ指定フラグと .Fl - スタイルのフラグを混在させることができない ことに注意してください。次のようにタイプしなければならないわけで はなく、上記のような書き方で 1 文字フラグを使うことができます。 .Dl "tar --block-compress --gzip --verbose --file /dev/fd1a --block-size 20 tar/" .Pp 上のようにして作成したディスクの内容は、次のようにすればリスト 表示できます。 .Pp .Dl "tar tvfbz /dev/fd1a 36" .Pp 2 つの .Nm アーカイブを 1 つのアーカイブにまとめるには、 .Dl "tar Af archive1.tar archive2.tar" を使います。こうすると、 .Pa archive2.tar に含まれているファイルが .Pa archive1.tar の末尾に追加されます (単純に .Dl "cat archive2.tar >> archive1.tar" とタイプしてもうまくいかないことに注意してください。なぜなら、 .Nm アーカイブの末尾には end-of-file ブロックがあるからです)。 .Pp .Pa srcdir ディレクトリから 1997 年 2 月 9 日 13:00 以降に変更をされた 全てのファイルをアーカイブするためには、以下の形式を使って下さい。 .Dl "tar -c -f backup.tar --newer-mtime 'Feb 9 13:15 1997' srcdir/" .Pp 他の時間指定形式としては、 .Sq "02/09/97 13:15" , .Sq "1997-02-09 13:15" , .Sq "13:15 9 Feb 1997" , .Sq "'9 Feb 1997 13:15" , .Sq "Feb. 9, 1997 1:15pm" , .Sq "09-Feb" , .Sq "3 weeks ago" , .Sq "May first Sunday" があります。 正しいタイムゾーンを指定するためには、 .Sq "13:15 CEST" や .Sq "13:15+200" を使用して下さい。 .Sh 環境変数 .Nm プログラムは、以下の環境変数を参照します。 .Bl -tag -width "POSIXLY_CORRECT" .It Ev POSIXLY_CORRECT 通常、 .Nm はファイル指定の中に混ざったフラグを処理します。 この環境変数を設定すると、 .Nm は最初のフラグ以外の引数を見つける とそれ以降の引数に対してフラグ処理を行なわないという、POSIX 仕様 に合わせた動作を行なうようになります。 .It Ev SHELL インタラクティブモードにおいて、サブシェルの起動が要求されたとき、 .Ev SHELL 変数が設定されていればそれが、設定されていなければ .Pa /bin/sh が使用されます。 .It Ev TAPE .Nm のデフォルトのテープドライブを変更します (これは、さらに .Fl f フラグによって変更することができます)。 .It TAR_RSH TAR_RSH 環境変数は、デフォルトシェルに優先して、 .Nm tar のデータ転送に使用されます。 .El .Sh 関連ファイル .Bl -tag -width "/dev/sa0" .It Pa /dev/sa0 デフォルトのテープドライブ .El .Sh 互換性 .Fl y は FreeBSD だけの機能です。 GNU .Nm メンテナは、 .Fl j を GNU .Nm 1.13.18 以降における公式な .Xr bzip2 1 圧縮オプションとして採用しました。 .Fl I オプションは、Solaris の .Nm との互換性のためにあります。 .Sh 関連項目 .Xr bzip2 1 , .Xr compress 1 , .Xr gzip 1 , .Xr pax 1 , .Xr rmt 8 .Sh 歴史 .Nm フォーマットは立派な歴史を持っていて、Sixth Edition UNIX に 原点があります。 この .Nm の実装は GNU 実装であり、 .An John Gilmore によって書かれた パブリックドメイン .Nm が元になっています。 .Sh 作者 .An -nosplit 次の人を含む、大変多くの人々。[ソースの中の .Pa ChangeLog ファイルに記述されている人々] .An John Gilmore (オリジナルのパブリックドメイン版の作者), .An Jay Fenlason (最初の GNU 作者), .An Joy Kendall , .An Jim Kingdon , .An David J. MacKenzie , .An Michael I Bushnell , .An Noah Friedman そして バグフィックスや追加を貢献してくれた無数の人々。 .Pp このマニュアルページは .Nx 1.0 release から、 .Fx グループが 取り込んだものです。 .Sh バグ 特徴的な .Fl C オプションの動作は、伝統的な .Nm プログラムのそれとは異なるので、 あまり頼りにはできません。 .Pp .Fl A コマンドで任意の数の .Nm アーカイブを結合できればいいのですが、それはできません。 これをやろうとしても、2 つ目以降のアーカイブの end-of-archive ブロックが削除されずに残ってしまいます。 diff --git a/ja_JP.eucJP/man/man1/tcsh.1 b/ja_JP.eucJP/man/man1/tcsh.1 index 2749b74d4f..17b2f08d3c 100644 --- a/ja_JP.eucJP/man/man1/tcsh.1 +++ b/ja_JP.eucJP/man/man1/tcsh.1 @@ -1,5811 +1,5817 @@ .\" 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 acknowledgment: .\" 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. .\" .\" tcsh マニュアルページ: スタイルに関する注意 .\" .\" - リストのタグはボールド体とします。但し、「関連ファイル (FILES)」 .\" セクション中でイタリック体になっている部分は除きます。 .\" .\" - セクション名、環境変数、シェル変数に対する参照はボールド体としま .\" す。コマンド (外部コマンド、組み込みコマンド、エイリアス、エディ .\" タコマンド) とコマンド引数に対する参照はイタリック体とします。 .\" .\" - .B, .I マクロに注意してください。扱うことができる単語数には限界が .\" あります。この制限を回避するには、\fB, \fI を用います。ただ、 .\" この利用は絶対に必要な場合に限るようにしてください。 .\" これは、tcsh.man2html が名前アンカーを見つける際に .\" .B/.I を使うからです。 .\" .\" - 4 の倍数でインデントしてください。普通は 8 でインデントしてください。 .\" .\" - `' を使ってください。シェル構文の例の中を除いて '' や "" は使わない .\" ようにしてください。行先頭で '' を使うと消えてしまいます。 .\" .\" - \- を使ってください。- は使わないようにしてください。 .\" .\" - ドットファイルの名前を表す際にはチルダも含めるようにしてください。 .\" つまり、`~/.login' と書きますが、`.login' とは書きません。 .\" .\" - 外部コマンドを参照する際は、マニュアルページ形式で参照してください。 .\" 例: `csh(1)'。ただし、tcsh は `tcsh' とし、`tcsh(1)' としません。 .\" というのは、このページが tcsh のマニュアルページだからです。 .\" .\" - tcsh と csh とを区別して表す場合を除き、「このシェル」といい、 .\" 「tcsh」と言わないようにしてください。 .\" .\" - ただ「変数」と言わずに、「シェル変数」、「環境変数」と言うように .\" してください。また、ただ、「ビルトイン」、「コマンド」と言わずに、 .\" 「組み込みコマンド」、「編集コマンド」と言うようにしてください。 .\" ただ、文脈上区別が明らかな場合は別ですが。 .\" .\" - 現在時制を使ってください。`The shell will use' ではなく、`The .\" shell uses' です (この項は日本語訳部分には適用しません)。 .\" .\" - 重要: できるだけ相互参照するようにしてください。「参照 (REFERENCE)」 .\" セクション中にあるコマンド、変数などは、適切な解説セクションの中 .\" で触れるようにしてください。少なくとも、(解説セクションかどこか .\" で触れられている)他のコマンドの「参照」セクションでの記述で触れ .\" るようにしてください。OS 固有事項に関する注意は、「OS 固有機能の .\" サポート(OS variant support)」のセクションに記述するようにして下 .\" さい。新規機能は「新規機能 (NEW FEATURES)」セクションに、外部コマ .\" ンドを参照した場合は、「関連項目 (SEE ALSO)」セクションにそれぞれ .\" 記述するようにしてください。 .\" .\" - tcsh.man2html は、それが作成された時点でマニュアルページで使用さ .\" れていた nroff コマンドにかなり依存しています。可能ならば、ここ .\" で用いているスタイルに厳密に従ってください。特に、これまで使用さ .\" れたことのない nroff コマンドを使用しないようにしてください。 .\" .\" WORD: command-line editor コマンド行編集 .\" WORD: editor command 編集コマンド .\" WORD: autologout mechanism 自動ログアウト方法 .\" WORD: directory stack entries ディレクトリスタックエントリ .\" WORD: word 単語 .\" WORD: positional completion 位置指定補完 .\" WORD: next-word completion 逐次補完 .\" WORD: programmed completion 補完指定 .\" WORD: tilde substitution チルダ置換 .\" WORD: hard limit hard limit .\" WORD: current limit current limit .\" WORD: register a misspelling ミススペルを記録する .\" WORD: switches スイッチ .\" WORD: glob-pattern グロブパターン .\" WORD: Toggles 切り替える .\" WORD: pager ページャー .\" WORD: prefix 接頭辞 .\" WORD: return リターンキー (enter キー) .\" WORD: builtin command 組み込みコマンド .\" WORD: spelling スペル .\" WORD: quote クォートする .\" .\" .\" -.TH TCSH 1 "14 January 2000" "Astron 6.09.01" +.TH TCSH 1 "19 November 2000" "Astron 6.10.00" .\" jpman %Id: tcsh.1,v 1.6 2000/12/07 04:17:13 yt-kage Stab % .\" INTERIM1(jpman) .SH 名称 tcsh - ファイル名補完とコマンド行編集を追加した C シェル .SH 書式 .B tcsh \fR[\fB\-bcdefFimnqstvVxX\fR] [\fB\-Dname\fR[\fB=value\fR]] [arg ...] .br .B tcsh \-l .SH 解説 \fItcsh\fR は、バークレイ版 UNIX の C シェル \fIcsh\fR(1) と完全に 互換性があり、さらに機能強化したシェルです。 対話的なログインシェル、またシェルスクリプトのコマンドプロセッサの 両方の用途で使われるコマンドインタプリタです。 \fItcsh\fR には、コマンド行編集 (\fBコマンド行編集\fRの項を参照)、 プログラム可能な単語の補完 (\fB補完と一覧\fRの項を参照)、 スペル訂正 (\fBスペル訂正\fRの項を参照)、 履歴 (\fBヒストリ置換\fRの項を参照)、 ジョブ制御 (\fBジョブ\fRの項を参照)、 C 言語風の文法があります。 \fB新機能\fRの章では、\fIcsh\fR(1) には存在しない、\fItcsh\fR の 主な追加機能について説明しています。 このマニュアルを通じ、\fItcsh\fR の機能のうち、 \fIcsh\fR(1) のほとんどの実装 (特に 4.4BSD の \fIcsh\fR) に ない機能について、ラベル (+) をつけてあります。 そして、\fIcsh\fR(1) にあったけれども文書化されていなかった機能に ラベル (u) をつけてあります。 .SS "引数リスト処理" シェルへの 1 番目の引数 (引数 0 番) が `\-' の場合、シェルは ログインシェルになります。 シェルを \fB\-l\fR フラグを指定して起動することでも ログインシェルにできます。 .PP 残りのフラグは以下のように解釈されます。 .TP 4 .B \-b このフラグは、オプションの処理を強制的に中断させる場合に使用します。 このフラグ以降の引数はすべて、オプションではないものとして 処理されます。これにより、混乱を避け、小細工をしなくても、 シェルスクリプトにオプションを渡すことが可能になります。 set-user ID スクリプトは本オプションなしでは実行できません。 .TP 4 .B \-c コマンドを、本フラグの次にくる引数 (この引数は省略できません。 また、1 つだけである必要があります) から読み込み、実行します。 この引数は、あとで参照できるように、シェル変数 \fBcommand\fR に 格納されます。残りの引数は、シェル変数 \fBargv\fR に代入されます。 .TP 4 .B \-d ログインシェルであるかどうかにかかわらず、 \fBスタートアップとシャットダウン\fRの項で解説されているように \fI~/.cshdirs\fR から、ディレクトリスタックを読み込みます。(+) .TP 4 .B \-D\fIname\fR[=\fIvalue\fR] 環境変数 \fIname\fR に値 \fIvalue\fR を設定します。(Domain/OS のみ) (+) .TP 4 .B \-e 起動したコマンドが異常終了したり、0 でない終了ステータスを返したときに、 ただちにシェルを終了します。 .TP 4 .B \-f \fI~/.tcshrc \fRを読み込まずに無視するので、 起動が高速になります。 .TP 4 .B \-F プロセスを生成する際に \fIvfork\fR(2) の代わりに \fIfork\fR(2) を使います。(Convex/OS のみ) (+) .TP 4 .B \-i たとえ端末上で実行されていなくても、対話的に動作し最上位レベルの 入力の際にプロンプトを表示します。入力と出力がともに端末である場合、 本オプションなしでもシェルは対話的に動作します。 .TP 4 .B \-l ログインシェルとなります (\fB-l\fR が、指定された唯一のフラグである 場合にのみ有効です)。 .TP 4 .B \-m 実効ユーザに属していなくても \fI~/.tcshrc\fR をロードします。 新しいバージョンの \fIsu\fR(1) は \fB-m\fR をシェルに渡すことが できます。(+) .TP 4 .B \-n コマンドの解析は行いますが、実行はしません。 シェルスクリプトのデバッグに役立ちます。 .TP 4 .B \-q SIGQUIT (\fBシグナル処理\fRの項を参照) を受け付けるようにし、 デバッガのもとで使われても作動するようになります。 ジョブ制御は無効になります。(u) .TP 4 .B \-s 標準入力からコマンドを読み込みます。 .TP 4 .B \-t 入力から 1 行だけ読み込み、それを実行します。入力行の改行の直前に `\\' を置くことで、次の行への継続を行うことができます。 .TP 4 .B \-v シェル変数 \fBverbose\fR を設定します。 これにより、ヒストリ置換された状態のコマンド行を表示するようになります。 .TP 4 .B \-x シェル変数 \fBecho\fR を設定します。これにより、実行直前に、 実行するコマンドを表示するようになります。 .TP 4 .B \-V \fI~/.tcshrc\fR を実行する前に、シェル変数 \fBverbose\fR を設定します。 .TP 4 .B \-X \fI~/.tcshrc\fR を実行する前に、シェル変数 \fBecho\fR を設定します。 .TP 4 .B \-X に対する \fB-x\fR の関係は、\fB-V\fR に対する \fB-v\fR の関係に 相当します。 .PP フラグ引数の処理のあと、もし引数が残っていて、かつ、 \fB-c\fR, \fB-i\fR, \fB-s\fR, \fB-t\fR のいずれのフラグも 指定されていなければ、残っている引数のうち最初のものは コマンドファイル、つまり「スクリプト」の名前とみなされます。 シェルはこのファイルをオープンし、`$0' による置換に備えて ファイル名を保存します。 多くのシステムは、スクリプトが本シェルと互換性のない version 6 または version 7 の標準のシェルを使っているため、 スクリプトの先頭の文字が `#' でない場合、 つまりスクリプトがコメントから始まらない場合、本シェルは それらの「標準」のシェルを起動して実行します。 .PP 残りの引数はシェル変数 \fBargv\fR に設定されます。 .SS "スタートアップとシャットダウン" ログインシェルの場合は、実行開始に際し、まずシステムファイル \fI/etc/csh.cshrc\fR と \fI/etc/csh.login\fR を読み込んで実行します。 そしてシェルを起動したユーザの\fBホーム\fRディレクトリの中から、 まずはじめに \fI~/.tcshrc\fR (+) を読み込んで実行します。 もし、\fI~/.tcshrc\fR が見つからない場合は、\fI~/.cshrc\fR を 読み込んで実行します。 次に、\fI~/.history\fR (もしくは、シェル変数 \fBhistfile\fR の値) を、 その次に \fI~/.login\fR を、最後に、\fI~/.cshdirs\fR (もしくは、 シェル変数 \fBdirsfile\fR の値) (+) を読み込んで実行します。 コンパイルの仕方によっては、シェルは、\fI/etc/csh.cshrc\fR の後から 読み込まずに、先に \fI/etc/csh.login\fR を読み込み、 \fI~/.tcshrc\fR (または \fI~/.cshrc\fR) と \fI~/.history\fR の後から 読み込む代わりに、先に \fI~/.login\fR を読み込む場合があるので、 そのような場合は、シェル変数 \fBversion\fR を参照してください。(+) .PP ログインシェルでない場合は、\fI/etc/csh.cshrc\fR と、 \fI~/.tcshrc\fR (または \fI~/.cshrc\fR) のみを起動時に読み込みます。 .PP \fIstty\fR(1) や \fItset\fR(1) のようなコマンドは、ログインする ごとに 1 度だけ実行される必要がありますが、これらのコマンドは、 普通は \fI~/.login\fR ファイルに入れます。 \fIcsh\fR(1) と \fItcsh\fR の両方で同じファイルのセットを使う 必要があるユーザは、\fI~/.cshrc\fR だけを使い、その中で シェル変数 \fBtcsh\fR (値は任意) があるかどうかチェックして から、\fItcsh\fR 特有のコマンドを使うようにします。または、 \fI~/.cshrc\fR と \fI~/.tcshrc\fR の両方を使うが、\fI~/.tcshrc\fR で、 \fIsource\fR コマンド (組み込みコマンドの項を参照) を使い \fI~/.cshrc\fR を読み込むようにします。 以下、このマニュアルの残りの部分で `\fI~/.tcshrc\fR' と表現したときは、 「\fI~/.tcshrc\fR、または \fI~/.tcshrc\fR が見つからない 場合は \fI~/.cshrc\fR」という意味で使います。 .PP 通常、シェルはプロンプト `> ' を表示し、端末からコマンドの読み込みを 開始します (引数処理と、コマンドスクリプトを含むファイルの処理のための シェルの使用については、後で説明します)。 シェルは、入力されたコマンド行の読み込み、読み込んだコマンド行を単語に 分解、およびコマンド履歴への格納、コマンド行の解析、 コマンド行の中のコマンドそれぞれの実行を繰り返します。 .PP ログアウトするには、空の行で `^D' とタイプするか、`logout' するか、 `login' するか、シェルの自動ログアウト機構 (シェル変数 \fBautologout\fR を参照) を使います。 ログインシェルが実行終了する際には、ログアウトの状況に応じて シェル変数 \fBlogout\fR を `normal' か `automatic' に設定し、 \fI/etc/csh.logout\fR ファイルと \fI~/.logout\fR ファイルにある コマンドを実行します。 コンパイルの仕方によっては、シェルは、ログアウト時に DTR を落とす ことがあります。これについてはシェル変数 \fBversion\fR を参照してください。 .PP システムのログインファイル名、ログアウトファイル名は、 異なる \fIcsh\fR(1) 間での互換性を保つために、 システムごとにファイルが違います。これについては、 \fB関連ファイル\fRを参照してください。 .SS 編集 はじめに、\fBコマンド行エディタ\fRについて説明します。 \fB補完と一覧\fRと、\fBスペル訂正\fRの 2 つの機能は、 編集コマンドとして実装されていますが、 特に分けて説明する必要があるため、項を改めて説明します。 最後に、\fB編集コマンド\fRの項で、シェルに特有の編集コマンドについて、 一覧をあげ、デフォルトのバインドとともに説明します。 .SS "コマンド行編集 (+)" コマンド行の入力データは、GNU Emacs や \fIvi\fR(1) で使われているものと、 よく似たキーシーケンスを使って編集できます。 シェル変数 \fBedit\fR がセットされているときのみ、編集できるように なっています。対話的なシェルでは、この値はデフォルトで 設定されています。 組み込みコマンド \fIbindkey\fR で、キーバインドを変更したり、 表示したりできます。 デフォルトでは、Emacs 形式のキーバインドが使われています (違う方法でコンパイルしなければそうなります。 シェル変数 \fBversion\fR を参照)。 しかし、コマンド \fIbindkey\fR で、キーバインドを \fIvi\fR 形式に 一括して変更できます。 .PP シェルは、つねに矢印キー (環境変数 \fBTERMCAP\fR で定義されたものです) を、次のように割り付けています。 .PP .PD 0 .RS +4 .TP 8 下矢印 \fIdown-history\fR .TP 8 上矢印 \fIup-history\fR .TP 8 左矢印 \fIbackward-char\fR .TP 8 右矢印 \fIforward-char\fR .PD .RE .PP 他の 1 文字バインドによって、変わっていなければこのようになります。 このようなバインドにしたくない場合、\fIsettc\fR を使って、矢印キーの エスケープシーケンスを空の文字列にセットすることができます。 ANSI/VT100 の矢印キーシーケンスは、つねにバインドされています。 .PP その他のキーバインドは、そのほとんどは、Emacs、\fIvi\fR(1) ユーザが 予想できるものです。また、簡単に \fIbindkey\fR コマンドで表示させる こともできるので、ここで、それらのバインドを並べあげる必要は ないでしょう。 同じく、\fIbindkey\fR コマンドは、それぞれの編集コマンドを 簡単な説明付きで、表示させることができます。 .PP 注意: 「単語」という概念に関して、編集コマンドは、シェルと同じ概念を 持たないことに注意してください。 エディタは、シェル変数 \fBwordchars\fR の中にはない非英数文字 (英文字、数字のどちらでもない文字) によって単語の区切りを決めます。 一方、シェルは、ホワイトスペース (空白、タブ、改行) と、 \fB字句構造\fRの項で列挙する特殊な意味を持つ文字のいくつかを 識別します。 .SS "補完と一覧 (+)" シェルは、一意に決まる短縮形を与えられると、しばしば単語の補完を 行うことができます。 単語の一部 (たとえば `ls /usr/lost') をタイプして、タブキーを押すと、 編集コマンド \fIcomplete-word\fR が実行します。シェルは、 ファイル名 `/usr/lost' を補完して `/usr/lost+found/' にします。 このとき、入力バッファの中で、不完全な単語を完全な単語で置き換えます。 (注意: 末端の `/' について: 補完では、ディレクトリ名を補完すると 最後に `/' を付け加えます。 そして、ディレクトリ名以外の単語を補完すると、末尾に空白文字を 付け加えます。こうすることで、タイプ入力が速くなり、また、 補完が成功したことが一目で分かります。 シェル変数 \fBaddsuffix\fR のセットをはずせば、 これらを付け加えなくすることもできます。) 合致するものが見当たらない場合 (おそらく `/usr/lost+found' が 存在しない場合でしょう)、端末のベルが鳴ります。 単語がすでに補完されている場合 (システムに `/usr/lost' が 存在する場合か、あるいは、ユーザがはるか先まで考えて、すべてを 入力してしまっていた場合でしょう)、`/' または空白文字が末尾に まだなければ、付け加えられます。 .PP 補完は、行の一番最後でなくても、途中どこででも機能します。 そして、テキストの補完によって、その分、行の残りは右方向へ押されます。 単語の中間で補完された場合、しばしばカーソルの右側に文字が残り、 それを消すはめになることもあります。 .PP コマンドと変数は、ほとんど同じ方法で補完できます。 たとえば、`em[tab]' とタイプした時、使用しているシステムで `em' から始まるコマンドが唯一 \fIemacs\fR だけならば、 `em' は `emacs' と補完されます。 補完は、\fBpath\fR 中のディレクトリにあるコマンドか、 フルパスが与えられれば、そこにあるコマンドを見つけ出すことができます。 `echo $ar[tab]' とタイプした時、他に `ar' から始まる変数がなければ、 `$ar' は `$argv' と補完されます。 .PP シェルは、入力バッファを解析して、補完したい単語を、ファイル名としてか、 コマンドとしてか、変数としてか、どのように補完すべきかを決めます。 バッファの中の最初の単語と、`;', `|', `|&', `&&', `||' の すぐ次にくる単語は、コマンドとみなします。 `$' で始まる単語は、変数とみなします。 その他のものは、ファイル名とみなします。 空の行は、ファイル名として `補完されて' います。 .PP いつでも、`^D' とタイプすることで、編集コマンド \fIdelete-char-or-list-or-eof\fR を実行させて、 補完可能な単語の候補を並べ挙げることができます。 シェルは、組み込みコマンド \fIls-F\fR (q.v.) を使って、 補完可能な候補を並べ挙げます。 そして、プロンプトと未完成のコマンドラインを再表示します。 次に例を示します。 .IP "" 4 > ls /usr/l[^D] .br lbin/ lib/ local/ lost+found/ .br > ls /usr/l .PP シェル変数 \fBautolist\fR をセットしていれば、シェルは、 補完に失敗したときはいつでも残りの選択肢を表示します。 .IP "" 4 > set autolist .br > nm /usr/lib/libt[tab] .br libtermcap.a@ libtermlib.a@ .br > nm /usr/lib/libterm .PP シェル変数 \fBautolist\fR を `ambiguous (あいまいな)' に セットした場合は、補完に失敗して補完される単語へ新しい文字を それ以上追加できなくなったときに限り、選択肢を表示します。 .PP 補完するファイル名には、変数、自分もしくは他人のホームディレクトリ (`~' で短縮したもの。\fBファイル名置換\fRの項を参照)、 ディレクトリスタックエントリ (`=' で短縮したもの。 \fBディレクトリスタック置換\fRの項を参照) を含めることができます。 たとえば、次のようになります。 .IP "" 4 > ls ~k[^D] .br kahn kas kellogg .br > ls ~ke[tab] .br > ls ~kellogg/ .PP あるいは、 .IP "" 4 > set local = /usr/local .br > ls $lo[tab] .br > ls $local/[^D] .br bin/ etc/ lib/ man/ src/ .br > ls $local/ .PP 変数については、編集コマンド \fIexpand-variables\fR を指定して使っても 展開できることに注意してください。 .PP コマンド \fIdelete-char-or-list-or-eof\fR は、行の最後でのみ リストを表示します。 行の中間の場合、カーソル位置の文字を消去します。 空行の場合、ログアウトします。ただし、\fBignoreeof\fR がセットされて いれば、何もしません。 `M-^D' は、編集コマンド \fIlist-choices\fR にバインドされていますが、 これは行中のどこでも、補完の候補のリストを表示します。 \fIlist-choices\fR (または、\fIdelete-char-or-list-or-eof\fR のところで 列挙するコマンドで、消去するコマンド、しないコマンド、 リスト表示するコマンド、ログアウトするコマンドのどれでも) は、そうしたい場合、組み込みコマンド \fIbindkey\fR で `^D' にバインドすることもできます。 .PP 編集コマンド \fIcomplete-word-fwd\fR と \fIcomplete-word-back\fR (デフォルトでは、どのキーにも割り付けられていません) を使うことで、 補完候補のリストを上または下に順に巡り、リスト上の現在の単語を、 次の単語または 1 つ前の単語に置き換えることができます。 .PP シェル変数 \fBfignore\fR に、補完の際に無視するファイルの サフィックスのリストをセットできます。 次の例を考えてみます。 .IP "" 4 > ls .br Makefile condiments.h~ main.o side.c .br README main.c meal side.o .br condiments.h main.c~ .br > set fignore = (.o \\~) .br > emacs ma[^D] .br main.c main.c~ main.o .br > emacs ma[tab] .br > emacs main.c .PP `main.c~' と `main.o' は、\fBfignore\fR にサフィックスが 登録されているために、補完では無視されます (しかしリスト上には表示されます)。 \fBファイル名置換\fRの項で解説しているように、\fBhome\fR に 拡張されないようにするために、`~' の前に `\\' が必要なことに 注意してください。補完の候補が1 つしかない場合は、 \fBfignore\fR の設定は無視されます。 .PP シェル変数 \fBcomplete\fR が `enhance(拡張)' にセットされていた場合、補完は 1) 大文字小文字の区別を無視し、 2) ピリオド、ハイフン、アンダスコア (`.', `\-', `_')を、 単語を分ける記号であるとみなし、ハイフンとアンダスコアは 同等なものとみなします。 次のようなファイルがある場合、 .IP "" 4 comp.lang.c comp.lang.perl comp.std.c++ .br comp.lang.c++ comp.std.c .PP `mail \-f c.l.c[tab]' とタイプすれば、`mail \-f comp.lang.c' のように補完され、^D の場合には、`comp.lang.c' と `comp.lang.c++' が リストとして表示されます。 `mail \-f c..c++[^D]' とタイプした場合は、`comp.lang.c++' と `comp.std.c++' が表示されます。 次のファイルがあるディレクトリで、`rm a\-\-file[^D]' とタイプした 場合、 .IP "" 4 A_silly_file a-hyphenated-file another_silly_file .PP の 3 つのファイルすべてが一覧表示されます。 なぜならば、大文字小文字の区別は無視されて、 ハイフンとアンダスコアは同等と解釈されるからです。しかしながら、 ピリオドは、ハイフンやアンダスコアと同等ではありません。 .PP 補完と一覧は、他にもいくつかのシェル変数の影響を受けます。 そのひとつ、\fBrecexact\fR をセットすると、続けてタイプすれば より長い単語に合致するような場合でさえも、 最短で一意に一致する単語に合致するようになります。たとえば、 .IP "" 4 > ls .br fodder foo food foonly .br > set recexact .br > rm fo[tab] .PP この場合はベルが鳴るだけです。 なぜなら、`fo' は、`fod' または `foo' に展開できるからです。 しかし、さらに `o' とタイプすると、 .IP "" 4 > rm foo[tab] .br > rm foo .PP `food' や `foonly' も合致するにもかかわらず、 補完は `foo' で完了します。 \fBautoexpand\fR をセットすると、補完を試みる前に、毎回、 編集コマンド \fIexpand-history\fR を実行するようになります。 \fBautocorrect\fR をセットすると、補完を試みる前に、毎回、 その単語のスペル訂正をするようになります (\fBスペル訂正\fRの項を参照)。 \fBcorrect\fR をセットすると、`return (enter)' キーを押したあと、 自動的にコマンドを補完するようになります。 \fBmatchbeep\fR をセットすると、補完に際して、状況の変化に応じて、 ベルを鳴らしたり、鳴らないようにできます。 \fBnobeep\fR をセットすると、まったくベルを鳴らさないようにできます。 \fBnostat\fR には、ディレクトリのリストやディレクトリに 合致するパターンをセットでき、これらのディレクトリで補完機構が \fIstat\fR(2) を実行しないようにすることができます。 \fBlistmax\fR や \fBlistmaxrows\fR にセットすることで、 まず問い合わせずに一覧表示する項目の数や、列の数を、それぞれ 制限することができます。 \fBrecognize_only_executables\fR をセットすると、 シェルがコマンド一覧を表示する際に、実行可能ファイルだけを 一覧表示するようにさせることができます。ただし、動作はきわめて 遅くなります。 .PP 最後に、組み込みコマンド \fIcomplete\fR を使って、ファイル名、 コマンド、変数以外の単語を補完する方法をシェルに教えることができます。 補完と一覧は、グロブパターン (\fBファイル名置換\fRの項を参照) 上では機能しませんが、編集コマンド \fIlist-glob\fR と \fIexpand-glob\fR はグロブパターンに対し同等の機能として実行されます。 .SS "スペル訂正 (+)" シェルは、補完したり一覧表示するのと同様に、ファイル名、コマンド、 変数名のスペルを訂正することができることがあります。 .PP 個々の単語は、編集コマンド \fIspell-word\fR (普通は M-s と M-S に バインドされています) でスペル訂正できます。入力バッファ全体は \fIspell-line\fR (普通は M-$ に割り付けられています) で スペル訂正できます。 シェル変数 \fBcorrect\fR に `cmd' を設定されておけば、コマンド名が スペル訂正されます。`all' を設定しておけば、リターンがタイプされる たびに行全体がスペル訂正されます。 \fBautocorrect\fR がセットされていれば、単語に補完を試みる前に その単語をスペル訂正します。 .PP スペル訂正が、ここで説明した方法のいずれかにより呼び出され、 コマンド行のどこかにスペル誤りがあると判断すると、 シェルは、次のように訂正済みのコマンド行を表示し入力を待ちます。 .IP "" 4 > set correct = cmd .br > lz /usr/bin .br CORRECT>ls /usr/bin (y|n|e|a)? .PP これに対し、`y' または空白文字で答えると、訂正済み行を実行し、 `e' で答えると、入力バッファに訂正前のコマンドを残し、 `a' で答えると、`^C' が押された場合と同様にコマンドを中止し、 それ以外の場合は、元のままの行を変えないで実行します。 .PP スペル訂正は、ユーザ定義の補完を識別します (組み込みコマンド \fIcomplete\fR を参照)。 もし、補完が実行される位置で、入力された単語が補完リストの中の単語に 似ていたとき、スペル訂正は、ミススペル記録して、見つかった単語を 訂正候補として提案します。しかし、入力された単語がその位置で、 どの補完候補にも合致しなかった時、スペル訂正は、 ミススペルを示しません。 .PP 補完と同様、スペル訂正は行のどこでも機能します。行の残りを右に 押し出したり、残りの余分な文字をカーソルの右に残したりします。 .PP 注意: スペル訂正は、意図どおりに動作する保証はありません。 そして、ほとんど実験的な機能として提供されています。 提案、改善する点があれば歓迎します。 .SS "編集コマンド (+)" `bindkey' はキーバインド一覧を表示し、 `bindkey \-l' は編集コマンドの一覧と短い解説を表示します。 ここでは、新しい編集コマンド、または、特に興味深い編集コマンドに ついてのみ解説します。 エディタのキーバインド割り付けの記述については、 \fIemacs\fR(1) と \fIvi\fR(1) を参照してください。 .PP デフォルトでそれぞれのコマンドにバインドられた文字 (あるいは複数文字) は、括弧の中に示しました。 `^\fIcharacter\fR' は制御文字を意味します。 `M-\fIcharacter\fR'はメタ文字です。 メタキーがない端末の場合は、escape-\fIcharacter\fR とタイプします。 大文字小文字の区別はありますが、 デフォルトで英文字に割り付けられるコマンドは、便宜上、 大文字、小文字の両方にキーバインドされています。 .TP 8 .B complete-word \fR(tab) \fB補完と一覧\fRの項で解説しているとおり、単語を補完します。 .TP 8 .B complete-word-back \fR(not bound) \fIcomplete-word-fwd\fR と同様ですが、単語リストの終わりから、 上へあがって行きます。 .TP 8 .B complete-word-fwd \fR(not bound) 現在の単語を、補完可能単語リスト上の始めの単語で置き換えます。 本コマンドを繰り返すことで、単語リスト上を下へ降りていくことができます。 単語リストの最後までいくと、ベルが鳴り、未補完の単語へ戻ります。 .TP 8 .B complete-word-raw \fR(^X-tab) \fIcomplete-word\fR と同様ですが、ユーザ定義した補完は無視されます。 .TP 8 .B copy-prev-word \fR(M-^_) 現在の行で、1 つ前の単語を入力バッファへコピーします。 \fIinsert-last-word\fR も参照してください。 .TP 8 .B dabbrev-expand \fR(M-/) 以前入力した単語の中で、現在の単語が先頭部分文字列であり、しかも 最近のものを見つけて、それで展開します。 必要ならば、ヒストリリストを一周回って元に戻って探します。 \fIdabbrev-expand\fR を中断せず繰り返すことで、 その次の単語に変わります。 \fIhistory-search-backward\fR と同様に、同一のマッチングは スキップします。 .TP 8 .B delete-char \fR(割り付けなし) カーソル下の文字を削除します。 \fIdelete-char-or-list-or-eof\fR も参照してください。 .TP 8 .B delete-char-or-eof \fR(割り付けなし) カーソル下に文字があれば \fIdelete-char\fR を実行し、 空行では \fIend-of-file\fR を実行します。 \fIdelete-char-or-list-or-eof\fR も参照してください。 .TP 8 .B delete-char-or-list \fR(割り付けなし) カーソル下に文字があれば \fIdelete-char\fR を実行し、 行の末尾では \fIlist-choices\fR を実行します。 \fIdelete-char-or-list-or-eof\fR も参照してください。 .TP 8 .B delete-char-or-list-or-eof \fR(^D) カーソル下に文字があれば \fIdelete-char\fR を実行し、 行の末尾では \fIlist-choices\fR を実行し、 空行では \fIend-of-file\fR を実行します。 これらの 3 つのコマンドも参照してください。 これらのコマンドは、それぞれ 1 つの動作を実行するだけです。 \fIdelete-char-or-eof\fR, \fIdelete-char-or-list\fR, \fIlist-or-eof\fR は、 それぞれ 3 つのうちの異なる 2 つを実行します。 .TP 8 .B down-history \fR(下矢印, ^N) \fIup-history\fR と同様ですが、1 つずつ下に移動し、もとの入力行で止まります。 .TP 8 .B end-of-file \fR(割り付けなし) ファイルの終端であることをシェルに通知します。 シェル変数 \fBignoreeof\fR (そちらも参照) がセットされて いない場合、その結果として、シェルは実行を終了します。 \fIdelete-char-or-list-or-eof\fR も参照してください。 .TP 8 .B expand-history \fR(M-space) 現在の単語のヒストリ置換を展開します。 \fBヒストリ置換\fRを参照してください。 \fImagic-space\fR, \fItoggle-literal-history\fR と、シェル変数 \fBautoexpand\fR も参照してください。 .TP 8 .B expand-glob \fR(^X-*) カーソルの左にグロブパターンを展開します。 \fBファイル名置換\fRを参照してください。 .TP 8 .B expand-line \fR(割り付けなし) \fIexpand-history\fR と同様ですが、入力バッファのそれぞれの単語の ヒストリ置換を展開します。 .TP 8 .B expand-variables \fR(^X-$) カーソルの左に変数を展開します。 \fB変数置換\fRを参照してください。 .TP 8 .B history-search-backward \fR(M-p, M-P) ヒストリリストを後方へ向かって、入力バッファの現在の中身 (カーソル位置まで) で始まるコマンドを検索し、 それを入力バッファへコピーします。 検索文字列は、`*', `?', `[]', `{}' を含んだグロブパターン (\fBファイル名置換\fRを参照) であってもかまいません。 \fIup-history\fR と \fIdown-history\fR は、ヒストリリストの該当する 地点から始める事ができます。 Emacs モードのみです。 \fIhistory-search-forward\fR と \fIi-search-back\fR も参照してください。 .TP 8 .B history-search-forward \fR(M-n, M-N) \fIhistory-search-backward\fR と同様ですが、前方へ検索します。 .TP 8 .B i-search-back \fR(割り付けなし) 後方へ、\fIhistory-search-backward\fR のように検索して、 最初に合致したものを入力バッファへコピーし、 カーソルをパターンの最後に位置させます。 そして、`bck: 'プロンプトと最初に合致したものを表示します。 追加の文字をタイプして、その検索を延長することができます。 \fIi-search-back\fR をタイプして、同じパターンで検索を延長する こともできます。必要があれば、ヒストリリストを一周回って 元に戻って検索を続けます。 (これを行うためには、\fIi-search-back\fR は、1 文字に バインドされていなければなりません。) あるいは、以下の特殊文字をタイプすることもできます。 .PP .RS +8 .RS +4 .PD 0 .TP 8 ^W カーソル下の単語の残りを検索パターンに加えます。 .TP 8 delete (あるいは \fIbackward-delete-char\fR にバインドされた文字) 最後にタイプされた文字の効果をとりけし、 適当なら検索パターンから文字を削除します。 .TP 8 ^G 前の検索が成功していたなら、検索全体を中止します。 そうでないなら、一番最後に成功した検索まで戻ります。 .TP 8 escape 検索を終え、入力バッファの現在の行をそのまま残します。 .RE .PD .PP この他の文字で、\fIself-insert-command\fR にバインドされている 以外のものをタイプすると、検索が終了します。入力バッファの現在の行は そのままになり、タイプした文字は通常の入力として解釈されます。 特に、キャリッジリターンの場合は、現在の行を実行に移します。 Emacs モードのみです。 \fIi-search-fwd\fR と \fIhistory-search-backward\fR も参照してください。 .RE .TP 8 .B i-search-fwd \fR(割り付けなし) \fIi-search-back\fR と同様ですが、前方へ検索します。 .TP 8 .B insert-last-word \fR(M-_) 1 つ前の入力行 (`!$') の最後の単語を入力バッファに挿入します。 \fIcopy-prev-word\fR も参照してください。 .TP 8 .B list-choices \fR(M-^D) \fB補完と一覧\fRで解説しているように、補完の可能性を一覧表示します。 \fIdelete-char-or-list-or-eof\fR と \fIlist-choices-raw\fR も 参照してください。 .TP 8 .B list-choices-raw \fR(^X-^D) \fIlist-choices\fR と同様ですが、ユーザ定義された補完を無視します。 .TP 8 .B list-glob \fR(^X-g, ^X-G) カーソルの左側のグロブパターン (\fBファイル名置換\fRを参照) に 合致したものを (組み込みコマンド \fIls\-F\fR を用いて) 一覧表示します。 .TP 8 .B list-or-eof \fR(割り付けなし) \fIlist-choices\fR を実行するか、または、空行の場合 \fIend-of-file\fR を 実行します。\fIdelete-char-or-list-or-eof\fR も参照してください。 .TP 8 .B magic-space \fR(割り付けなし) まず \fIexpand-history\fR と同様に、現在の行のヒストリ置換を展開して、 その後で空白を 1 つ付け加えます。 \fImagic-space\fR はスペースキーにバインドするように 設計されていますが、デフォルトではバインドされていません。 .TP 8 .B normalize-command \fR(^X-?) パスの中の現在の単語を検索します。そして、見つかった場合、 実行可能ファイルを指すフルパスで置き換えます。 特殊文字はクォートされます。エイリアスは展開されて、クォートされますが、 エイリアス中のコマンドは展開 / クォートされません。 このコマンドは、たとえば、`dbx' や `sh \-x' などのように、 コマンドが引数を取得する場合に役立ちます。 .TP 8 .B normalize-path \fR(^X-n, ^X-N) シェル変数 \fBsymlinks\fR の設定 `expand' の項で説明されているように、 現在の単語を展開します。 .TP 8 .B overwrite-mode \fR(割り付けられていません) 入力モードと上書きモードの間で切り替えます。 .TP 8 .B run-fg-editor \fR(M-^Z) 現在の入力行を保存します。そして、環境変数 \fBEDITOR\fR または \fBVISUAL\fR のファイル名部分の最後の構成要素 (または、どちらもセットされていなければ、`ed' か `vi') と等しい名前を持ち、ストップしているジョブを探します。 そのようなジョブが見つかれば、`fg %\fIjob\fR' とタイプしたのと 同じように、実行再開されます。 これは、エディタとシェルの間を抜けて交互に切り替えるのを容易にする ために使われます。 このコマンドを `^Z' にバインドし、もっと簡単に交互の切り替えが できるようにする人もいます。 .TP .B run-help \fR(M-h, M-H) 補完ルーチンの `現在のコマンド' と同じ概念による 現在のコマンドのドキュメントを検索し、表示します。 ページャを使う方法はありません。\fIrun-help\fR は短いヘルプファイルと のために設計されているためです。 特別なエイリアス \fBhelpcommand\fR が定義されていた場合、 コマンド名を唯一の引数としてその値が実行されます。 ほかに、ドキュメントのファイル名は、\fIコマンド名\fR.help, \fIコマンド名\fR.1, \fIコマンド名\fR.6, \fIコマンド名\fR.8, \fIコマンド名\fRのいずれかでなければなりません。 また、そのファイルは、環境変数 \fBHPATH\fR の中で、 一覧にあがっているディレクトリのうちの 1 つに入っていなければなりません。 もし、1 つ以上のヘルプファイルがある場合は、最初の 1 つのみが プリントされます。 .TP 8 .B self-insert-command \fR(テキスト文字) 挿入モード (デフォルト) では、タイプした文字を、 カーソル下の文字の後に挿入します。 上書きモードでは、タイプした文字で、カーソル下の文字を置き換えます。 入力モードは、通常、各行の間で維持されていますが、 シェル変数 \fBinputmode\fR を `insert(挿入)' あるいは、 `overwrite(上書き)' にセットしておくと、 エディタを、各行の始まりで、そのモードにすることができます。 \fIoverwrite-mode\fR も参照してください。 .TP 8 .B sequence-lead-in \fR(矢印接頭辞、メタ接頭辞、^X) 次に続く文字がマルチキーシーケンス (複数文字の連続) であることを 表します。マルチキーシーケンスをコマンドにバインドする場合、 実際には、次の 2 つのバインドを作ります。 まず、最初の文字を \fIsequence-lead-in\fR とします。そして、 シーケンス全体をそのコマンドにバインドします。 \fIsequence-lead-in\fR にバインドされた文字で始まる すべてのシーケンスは、他のコマンドにバインドされていなければ、 実質的には \fIundefined-key\fR にバインドされたのと同じことに なります。 .TP 8 .B spell-line \fR(M-$) \fIspell-word\fR と同様に、入力バッファ中の各単語のスペル訂正を 試みます。しかし、単語の最初の文字が、 `\-', `!', `^', `%' のうちのどれかの場合と、 単語中に `\\', `*', `?' のいずれかを含んでいる場合は、 スイッチや、置換などの問題を避けるために、これらの単語を無視します。 \fBスペル訂正\fRを参照してください。 .TP 8 .B spell-word \fR(M-s, M-S) \fBスペル訂正\fRの項で説明されているのと同じやり方で、現在の単語の スペルの訂正を試みます。 パス名として現れる単語の部分をそれぞれにチェックします。 .TP 8 .B toggle-literal-history \fR(M-r, M-R) 入力バッファのヒストリ置換を展開したり、`しなかったり' します。 \fIexpand-history\fR と、シェル変数 \fBautoexpand\fR も参照してください。 .TP 8 .B undefined-key \fR(割り付けのコマンドが無いキー) ベルを鳴らします。 .TP 8 .B up-history \fR(上矢印, ^P) ヒストリリストの中から 1 つ前のエントリを入力バッファにコピーします。 \fBhistlit\fR がセットされている場合、その記入された文字どおりの 形式を使います。 ヒストリリストを上の方へ 1 つずつ移動を繰り返した場合、 一番上で止まります。 .TP 8 .B vi-search-back \fR(?) 検索文字列 (\fIhistory-search-backward\fR と同様、グロブパターンでも 構いません) の入力のために `?' をプロンプト表示します。 その文字列を検索して、同じ文字列を入力バッファへコピーします。 合致するものが見つからなければ、ベルが鳴ります。 リターンキー (enter キー) を押すと、検索を終了して、入力バッファ中に 最後に合致した単語を残します。 escape キーを押すと、検索を終了して、合致したものを実行します。 \fIvi\fR モードのみです。 .TP 8 .B vi-search-fwd \fR(/) \fIvi-search-back\fR と同様ですが、前方へ検索します。 .TP 8 .B which-command \fR(M-?) 入力バッファの最初の単語に対して、\fIwhich\fR (組み込みコマンド の解説を参照) を実行します。 .SS "字句構造" シェルは入力された行をタブや空白で単語に分割します。 特殊文字 `&', `|', `;', `<', `>', `(', `)', 2 文字繰り返しの `&&', `||', `<<' , `>>' は、空白で囲まれているか どうかにかかわらず、常に単語の区切りになります。 .PP シェルの入力が端末からではないとき、文字 `#' は、コメントの始まりと して扱われます。`#' とその後ろの入力行の残りはコメントと解釈され、 文法解析されずに捨てられます。 .PP 特殊文字 (空白、タブ含む) は、その文字の直前にバックスラッシュ `\\' を置くことで、または、単一引用符 `''、二重引用符 `"'、 逆引用符 ``' で囲むことで、特殊な意味合いを持たないようにしたり、 場合によっては、他の単語の一部分にすることもできます。 他に引用がなされない限り、`\\' の直後に改行文字を置くと、改行文字は 空白扱いになります。しかし、引用中では、この文字の並びは改行文字に なります。 .PP さらに、\fBヒストリ置換\fRを除く、すべての\fB置換\fR (次項を参照) は、置換を含む文字列 (あるいは文字列の一部) を 単一引用符で囲むことで防ぐことができます。 あるいは、重大な文字 (たとえば、\fB変数置換\fR ならば `$' や、\fBコマンド置換\fRならば ``') を `\\' で クォートすることで 防ぐことができます。(\fBエイリアス置換\fRも例外ではありません。 一度定義された \fIalias\fR に対して、何らかの方法でその単語の どれかの文字をクォートすることで、そのエイリアスの置換を防ぐことが できます。エイリアスをクォートする普通の方法は、そのエイリアスの前に バックスラッシュを置くことです。) \fBヒストリ置換\fRは、バックスラッシュを用いることで防ぐことが できますが、単一引用符では防ぐことができません。。 二重引用符、逆引用符でクォートされた文字列は、 \fB変数置換\fRと\fBコマンド置換\fRは受けますが、 その他の置換は受けません。 .PP 単一引用符、二重引用符で囲まれたテキストは 1 つの単語 (または その一部) となります。 それらの文字列中のメタ文字 (空白、タブを含む) は、単語を分割しません。 ひとつだけ特殊な場合 (次の\fBコマンド置換\fRを参照) として、 二重引用符で囲まれた文字列を 1 つ以上の単語に分けることができます。 これは、単一引用符で囲まれた文字列では決してできません。 逆引用符は特殊で、\fBコマンド置換\fR (そちらも参照) に、 影響を与え、その結果が 1 つ以上の単語になることもあります。 .PP 複雑な文字列をクォートする場合、特に、文字列自身にクォート文字が 含まれている場合は、わかりにくいかもしれません。 人間が書いたものの中では、引用符を引用のために使う必要はないことを 忘れないように! 文字列全体をクォートするのではなく、もし適当ならば異なるタイプの 引用符を用い、クォートする必要のある文字列の一部分のみをクォートする ことの方が、簡単かもしれません。 .PP シェル変数 \fBbackslash_quote\fR (そちらも参照) を セットすると、 バックスラッシュが常に `\\', `'', `"' をクォートするようにできます。(+) これによって、複雑な引用をする仕事が簡単になるかもしれません。 しかし \fIcsh\fR(1) のスクリプトでは、構文エラーの原因になります。 .SS 置換 ここで、シェルが入力に対して行うさまざまな変換を、 処理が行われる順に記述します。同時に、処理に関わるデータ構造と、 データ構造に影響を与えるコマンドと変数とにも触れておきます。 \fB字句構造\fRのところで説明する引用により、置換を抑制できることを 覚えておいてください。 .SS ヒストリ置換 端末から入力したコマンドひとつひとつ (イベント) は、ヒストリリストに 保存されます。直前のコマンドは常に保存されます。さらに、保存する コマンド数を、シェル変数 \fBhistory\fR に設定することができます。 重複するイベントを保存するかどうか、同じイベントの連続をそのまま 保存するかどうかを、シェル変数 \fBhistdup\fR に設定することが できます。 .PP 保存されたコマンドには、1 から始まる連続した番号が振られ、 タイムスタンプが打たれます。普通イベント番号を用いる必要はありませんが、 シェル変数 \fBprompt\fR の中に `!' を置くことで、現在のイベント番号を プロンプトの一部にすることができます。 .PP 実際のところ、シェルは、ヒストリを展開形式と 文字どおり (未展開) の形式とで保存しています。 シェル変数 \fBhistlit\fR を設定しておくと、 ヒストリを表示する / ヒストリに保存するコマンドで 文字どおりの形式を用いるようになります。 .PP 組み込みコマンド \fIhistory\fR により、ヒストリリストの表示、 ファイルに保存、ファイルからの読み込み、クリアをいつでも行えます。 シェル変数 \fBsavehist\fR と \fBhistfile\fR により、 ヒストリリストのログアウト時の自動保存と、ログイン時の自動読み込みを 設定することができます。 .PP ヒストリ置換により、ヒストリリストから単語の列を入力ストリームに 持ち込みます。これにより、前のコマンドの繰り返し、前のコマンドで使った 引数の繰り返し、前のコマンドで間違えたスペルの修正を わずかなキー入力で、かなり確実に 容易に行うことができるようになります。 .PP ヒストリ置換は、文字 `!' で始まります。ヒストリ置換は、 入力ストリームのどこから開始してもかまいませんが、入れ子には できません。 文字 `!' の前に `\\' を置くことで、`!' の特殊な意味を打ち消すことが できます。文字 `!' が、空白文字、タブ文字、改行文字、`='、`(' の 前にある場合は、そうした方が便利なので、無変更のまま渡されます。 入力行が `^' で始まる場合にも、ヒストリ置換が生じます。 この省略表現については後で説明します。 ヒストリ置換を示すための文字 (`!' と `^') は、 シェル変数 \fBhistchars\fR を設定することにより変更することが できます。入力行がヒストリ置換を含む場合、実行前に置換結果が 常に表示されます。 .PP ヒストリ置換には「イベント指定」、「単語指定子 (word designator)」、 「修飾子 (modifier)」を含めることができます。イベント指定は、 どのイベントから単語の列を取り出すかを指定します。単語指定子は、 選択したイベントからどの単語を選ぶかを指定します。修飾子は、 選択した単語をどう操作するかを指定します。 .PP イベント指定には、次のものがあります。 .PP .PD 0 .RS +4 .TP 8 .I n 番号: これはある特定のイベントを指定します。 .TP 8 \-\fIn\fR オフセット: これは現在のイベントの前 \fIn\fR 個目のイベントを 指定します。 .TP 8 # 現在のイベントを指定します。これは \fIcsh\fR(1) の中では注意して 扱わねばなりません。\fIcsh\fR(1) では、再帰呼び出しのチェックを していないからです。\fItcsh\fR では、再帰呼び出しは 10 レベルまで 許されています。(+) .TP 8 ! 1 つ前のイベントを指定します (`\-1' と等価)。 .TP 8 .I s 先頭の単語が \fIs\fR で始まるイベントのうち、最も新しいものを 指定します。 .TP 8 ?\fIs\fR? 文字列 \fIs\fR を含むイベントのうち、最も新しいものを指定します。 直後が改行文字の場合は、2 番目の `?' は省略可能です。 .RE .PD .PP たとえば、次のようなヒストリリストがあるとします。 .IP "" 4 \ 9 8:30 nroff \-man wumpus.man .br 10 8:31 cp wumpus.man wumpus.man.old .br 11 8:36 vi wumpus.man .br 12 8:37 diff wumpus.man.old wumpus.man .PP コマンドが、イベント番号とタイムスタンプ付きで表示されています。 現在のイベントは、まだ入力していませんが、イベント 13 です。 `!11' と `!-2' は、イベント 11 を指します。`!!' は、直前の イベントであるイベント 12 を指します。`!!' は、後ろに `:' が 付いている場合、`!' と省略することができます (`:' は後で説明します)。`!n' は、`n' から始まっている、 イベント 9 を指します。`!?old?' は、`old' を含んでいる イベント 12 を指します。単語指示子も単語修飾子もどちらも含まない場合、 ヒストリ参照はそのイベント全体を展開するだけです。ですから、 コピーコマンドを再実行したいときは `!cp' と入力しますし、`diff' の 出力が画面上端からスクロールして消えてしまう場合、`!!|more' と 入力します。 .PP 必要に応じ、中括弧で囲むことで、ヒストリ置換を前後のテキストから 分離することができます。たとえば、`!vdoc' とすると、`vdoc' で始まる コマンドを探しますが、この例で見つからないにしても、`!{v}doc' では、 あいまいさもなく `vi wumpus.mandoc' に展開されます。 中括弧の中でも、ヒストリ置換は入れ子になりません。 .PP (+) \fIcsh\fR(1) では、たとえば `!3d' は、イベント 3 の後ろに 英文字 `d' を付加して展開しますが、\fItcsh\fR では、これを `3d' で 始まるイベントのうち最新のものに展開します。つまり、完全な数値引数 だけをイベント番号と見なします。これにより、数字から始まるイベントを 呼び出すことが可能となります。`!3d' を \fIcsh\fR(1) のように 展開させるには、`!\\3d' と指定してください。 .PP イベントから単語を選択する場合、`:' と選択する単語を表す指示子を使い、 イベント指定を行うことができます。入力行の単語には、0 から始まる 番号が振られています。最初の単語 (普通、コマンドです) は 0 で、 2 番目の単語 (第 1 引数) は 1 といった具合です。基本的な単語指示子は 次のようになります。 .PP .PD 0 .RS +4 .TP 8 0 最初の単語 (コマンド) .TP 8 .I n \fIn\fR 番目の引数 .TP 8 ^ 最初の引数、`1' と等価 .TP 8 $ 最後の引数 .TP 8 % ?\fIs\fR? 検索で一致した単語 .TP 8 x\-y ある範囲の単語 .TP 8 .I \-y \fI`0\-y'\fR と等価 .TP 8 * `^\-$' と等価。但し、イベントが 1 単語しか含まない場合は何も返さない。 .TP 8 .I x* \fI`x\-$'\fR と等価 .TP 8 .I x\- \fI`x*'\fR と等価。但し、最後の単語 (`$') は除く。 .PD .RE .PP 選択した単語は、空白文字 1 つで区切られてコマンド行に挿入されます。 たとえば、`diff !!:1.old !!:1' と打ち込むことで、先の例の `diff' コマンドを入力することもできます (`:1' で、直前のイベントから 最初の引数を選択しています)。また、`diff !\-2:2 !\-2:1' と 打ち込むことで `cp' コマンドの引数を選択し、入れ換えることができます。 `diff' コマンドの引数の順番を気にしなければ、`diff !\-2:1\-2' と 打ち込んでも構いませんし、単に `diff !\-2:*' でも構いません。 `cp' コマンドは、現在のイベントを指す `#' を使い、 `cp wumpus.man !#:1.old' と書くことができます。`!n:\- hurkle.man' は、 `nroff' コマンドから最初の 2 単語を再利用し、 `nroff \-man hurkle.man' とすることになります。 .PP 文字 `:' は単語指定からイベント指定を分離しますが、引数選択子が `^', `$', `*', `%', `\-' で始まるとき、この文字 `:' は省略可能 です。たとえば、先ほどの `diff' コマンドは `diff !!^.old !!^' もしくは `diff !!$.old !!$' でも構わなかったのです。 しかし、`!!' が `!' に省略可能である場合、`\-' で始まる引数選択子は イベント指定として解釈されます。 .PP ヒストリ参照に、イベント指定のない単語指示子があっても構いません。 その場合、直前のコマンドを参照します。 .ig \" Not true, but we thought it was for a long time ... , unless a previous history reference occurred on the same line in which case this form repeats the previous reference. Thus `!?foo?^ !$' gives the first and last arguments from the command matching `?foo?'. 実際には正しくありませんが、我々は長い間そう信じていました。 ただし、これは同じ行に前のヒストリ参照が現れない場合に限ります。 この場合、この形式は直前の参照を繰り返します。よって、`!?foo?^ !$' は、`?foo?' に一致するコマンドから最初と最後の引数を与えます。 .. `diff' の例を続けるなら、単純に `diff !^.old !^' と入力することが できます。もしくは、逆順の引数を得るだけならば、単に `diff !*' で いいです。 .PP ヒストリ参照の中の単語は編集可能です。つまり、単語の後ろに 1 つまたは 複数の修飾子 (修飾子それぞれは `:' で始まります) を付けることで 「修飾」可能です。 .PP .PD 0 .RS +4 .TP 8 h 先頭のもの 1 つを残し、パス名の構成要素の後ろの部分を削除します。 .TP 8 t 末尾のもの 1 つを残し、パス名の構成要素の先頭の部分を削除します。 .TP 8 r ファイル名拡張子 `.xxx' を削除し、名前の基本部分だけを残します。 .TP 8 e 拡張子だけを残し、他をすべて削除します。 .TP 8 u 最初の英小文字を大文字に変換します。 .TP 8 l 最初の英大文字を小文字に変換します。 .TP 8 s\fI/l/r/\fR \fIl\fR を \fIr\fR で置換します。 \fIl\fR は \fIr\fR と同様に、単なる文字列です。名付け親である \fIed\fR(1) コマンドのような正規表現ではありません。 `/' の代わりに任意の文字を区切り文字として使うことができます。 `\\' を使い、\fIl\fR や \fIr\fR の中で区切り文字をクォートすることが できます。 \fIr\fR 中の文字 `&' は、\fIl\fR で置き換えられます。`\\' で `&' も クォートできます。\fIl\fR が空 (``'') の場合、以前の置換の \fIl\fR 、 または以前のイベント指定 `?\fIs\fR?' の \fIs\fR を使用します。 最後の区切り文字の直後が改行文字の場合、その区切り文字を省略できます。 .TP 8 & 以前の置換を繰り返します。 .TP 8 g 後ろの修飾子を単語それぞれに適用します。 .TP 8 a (+) 後ろの修飾子を、ある単語だけにできるだけ多くの回数、適用します。 `a' と `g' をいっしょに用いて、修飾子をグローバルに適用することが できます。現在の実装では、修飾子 `a' と修飾子 `s' を同時に使用すると、 無限ループに陥る可能性があります。たとえば、`:as/f/ff/' は決して 終わりません。この動作は今後変更されるかもしれません。 .TP 8 p 新しいコマンド行を表示しますが、実行はしません。 .TP 8 q 置換された単語をクォートし、それ以上の置換が起きないようにします。 .TP 8 x q と同じです。ただし、単語を空白 / タブ / 改行文字のところで分割します。 .PD .RE .PP 修飾子は最初に見つかった修飾可能な単語だけに適用されます (`g' を 使用しない限り)。修飾可能な単語がない場合はエラーになります。 .PP たとえば、先の例の `diff' コマンドは、`diff wumpus.man.old !#^:r' とも 書くことができます。これは、`r' を用いて、同じ行 (`!#^') の最初の 引数から `.old' を削除しています。`echo hello out there' と 言っておいてから、`echo !*:u' を使い `hello' を大文字にできます。 `echo !*:au' を使い大声で言うようにできます。`echo !*:agu' を使い 絶叫させることもできます。`mail \-s "I forgot my password" rot' の後で `!:s/rot/root' を続けることで、`root' のスペル間違いを直すこと ができます (スペル間違いの訂正については、\fBスペル訂正\fRの項に 別のやり方があります)。 .PP 置換には特別な省略記法があります。`^' が入力行の先頭にある場合、 `!:s^' と等価です。よって、先の例でスペルを訂正するには、 ^rot^root と言うこともできたわけです。これは明示的に `!' で 始まらないヒストリ置換としては唯一のものです。 .PP (+) \fIcsh\fR では、ヒストリ展開または変数展開に適用される修飾子は 1 つだけです。\fItcsh\fR では、1 つ以上の修飾子が使用される可能性が あります。たとえば、次のような場合を考えます。 .IP "" 4 % mv wumpus.man /usr/man/man1/wumpus.1 .br % man !$:t:r .br man wumpus .PP \fIcsh\fR では、この結果は `wumpus.1:r' となります。コロンが後ろに続く 置換は、中括弧を用いてコロンと区切る必要があります。 .IP "" 4 > mv a.out /usr/games/wumpus .br > setenv PATH !$:h:$PATH .br Bad ! modifier: $. .br > setenv PATH !{\-2$:h}:$PATH .br setenv PATH /usr/games:/bin:/usr/bin:. .PP 最初の試みは \fIcsh\fR では成功しますが、\fItcsh\fR では失敗します。 この理由は、\fItcsh\fR は 2 番目のコロンの後ろに、`$' ではなく 修飾子があると思っているからです。 .PP 最後に、ヒストリはここで説明してきた置換だけでなく、エディタでも 利用することができます。編集コマンド \fIup-history\fR, \fIdown-history\fR, \fIhistory-search-backward\fR, \fIhistory-search-forward\fR, \fIi-search-back\fR, \fIi-search-fwd\fR, \fIvi-search-back\fR, \fIvi-search-fwd\fR, \fIcopy-prev-word\fR, \fIinsert-last-word\fR は ヒストリリスト中のイベントを検索し、入力バッファにイベントを コピーします。編集コマンド \fItoggle-literal-history\fR は、 入力バッファでヒストリ行を展開するか文字どおりに扱うかを切り替えます。 \fIexpand-history\fR, \fIexpand-line\fR はそれぞれ、現在の単語、 または、入力バッファ全体でヒストリ置換を展開します。 .SS エイリアス置換 シェルは、エイリアスのリストを保持しています。このリストは、 \fIalias\fR, \fIunalias\fR コマンドを使って設定、削除、表示する ことができます。コマンド行を解釈し単純コマンド (\fBコマンド\fRを参照) に分割したあと、複数のコマンドを左から右へ、それぞれの最初の単語が エイリアスを持っているかをチェックします。エイリアスを持っている 場合、最初の単語をエイリアスで置き換えます。置き換えたエイリアスが ヒストリ参照を含む場合、元のコマンドを直前の入力行とみなして、 \fBヒストリ置換\fR (そちらも参照) が適用されます。 エイリアスがヒストリ置換を含まない場合、引数リストは変更されず そのままです。 .PP そのため、たとえば `ls' のエイリアスが `ls \-l' だった場合、コマンド `ls /usr' は `ls \-l /usr' になります。ここで、引数リストは 影響を受けません。`lookup' のエイリアスが `grep !^ /etc/passwd' だとすると、コマンド `lookup bill' は `grep bill /etc/passwd' に なります。エイリアスを使い、パーザのメタ記法を利用できます。 たとえば、`alias print 'pr \e!* | lpr'' は、引数を ラインプリンタに \fIpr\fR(1) する ``コマンド''(`print') を 定義します。 .PP コマンドの最初の単語がエイリアスを持たなくなるまで、エイリアス置換は 繰り返されます。(先の例のように) エイリアス置換が最初の単語を 変更しない場合、そのエイリアスに印を付けてループが生じない ようにします。それ以外のループは検出され、エラー扱いになります。 .PP シェルが参照するエイリアスがいくつかあります。\fB特殊エイリアス\fR を参照してください。 .SS 変数置換 シェルは変数のリストを管理しており、それらは 0 個またはそれ以上の 個数の単語のリストを値として持ちます。シェル変数の値は、コマンド \fIset\fR, \fIunset\fR により表示、変更することができます。システムは、 自分自身の ``環境'' 変数のリストを保持しています。環境変数は コマンド \fIprintenv\fR, \fIsetenv\fR, \fIunsetenv\fR により表示、 変更することができます。 .PP (+) `set \-r' (参照) により変数を読み出し専用にすることが できます。読み出し専用変数は、変更や unset ができません。これを 試みるとエラーになります。一度読み出し専用にした変数は、 書き込み可能に戻すことはできません。ですから、`set \-r' は 注意して使用する必要があります。環境変数は読み出し専用に することはできません。 .PP シェルが設定、参照する変数がいくつかあります。たとえば、変数 \fBargv\fR は、シェルの引数リストの複製で、この変数の値である単語は特別な方法で 参照されます。シェルが参照する変数の中には、トグルスイッチがあります。 シェルは、これらの変数が何の値を持っているかではなく、値が設定されて いるかどうかにだけ影響を受けます。たとえば、変数 \fBverbose\fR は、 コマンド入力をエコーするかどうかを制御するトグルスイッチです。 コマンド行オプション \fB\-v\fR がこの変数に値を設定します。 シェルが参照する変数すべてのリストは、\fB特別なシェル変数\fRにあります。 .PP 変数を数値として扱う操作もあります。コマンド `@' により、 数値計算を実行し、結果を変数に代入することが可能となります。 しかしながら、変数の値は常に (0 個以上の) 文字列として表現されて います。数値として扱うために、空文字列は 0 と見なされます。 複数の単語からなる値の、2 番目以後の単語は無視されます。 .PP 入力行のエイリアス処理を終え、字句解析を終えた後で、そして、 各コマンドを実行する前に、`$' 文字をキーとして変数置換が行われます。 この展開は `$' の前に `\e' を置くことで抑止できます。ただし、`"' の 中は別で、ここでは\fI常に\fR変数置換が行われます。また、`'' の中も 別で、ここでは\fI決して\fR変数置換が行われません。``' で クォートした文字列は後で解釈されますから、 (後の\fBコマンド置換\fRを参照) そこでの `$' 置換は後になるまで行われません。`$' の後ろが空白、 タブ、改行文字の場合は、`$' 置換は発生しません。 .PP 入出力リダイレクトは、変数展開の前に識別され、別々に変数展開されます。 それ以外では、コマンド名と引数リスト全体が一緒に展開されます。ですから、 (この時点での) 最初の単語 (コマンド) から 2 つ以上の単語が生成される 可能性があります。展開後の複数の単語のうち最初のものがコマンド名となり、 残りの単語は引数になります。 .PP `"' で囲まれているか、修飾子 `:q' が指定されている場合を除き、 最終的には、変数置換の結果に対し、コマンド置換とファイル名置換が 適用されます。`"' で囲まれている場合、値が複数の単語で構成される変数は、 1 つの単語 (の一部) に展開されます。 この単語には、その変数の値である単語が空白で区切られたものを 含みます。置換の際に修飾子 `:q' が適用される場合、変数は複数の単語に 展開されます。それぞれの単語は空白で区切られ、以後、コマンド置換と ファイル名置換が適用されないようにクォートされます。 .PP シェルへの入力に変数の値を持ち込むための方法として、以下の構文が あります。特に注がない限り、設定されていない値の参照はエラーになります。 .PP .PD 0 $\fIname\fR .TP 8 ${\fIname\fR} 変数 \fIname\fR の値である単語に置換します。この単語は、 それぞれが空白で区切られたものです。 中括弧は \fIname\fR とそれ以後の文字列とを分離し、以後の文字列も含めて 1 つの変数名として解釈されないようにします。シェル変数の名前は上限が 20 文字であり、先頭は英文字で、2 文字目以後は英文字か数字で 構成されます。アンダスコアは英文字と見なします。\fIname\fR が シェル変数ではないが、環境に設定されている場合、環境の値を返します (ただし、修飾子 `:' と次で示す他の形式は利用可能です)。 .PP $\fIname\fR[\fIselector\fR] .TP 8 ${\fIname\fR[\fIselector\fR]} \fIname\fR の値のうち選択した単語のみで置換します。\fIselector\fR は `$' 置換が適用され、1 つの数値または `\-' で区切った 2 つの数値で 構成することができます。変数の値の先頭の単語は 1 番目として数えます。 範囲の最初の値を省略した場合、デフォルトの値 1 になります。範囲の 最後の数値を省略した場合、デフォルトの値 `$#\fIname\fR になります。 \fIselector\fR `*' はすべての単語を選択します。2 番目の引数が 省略されるか、あるいは範囲に収まっている場合、範囲が空になっても エラーになりません。 .TP 8 $0 コマンド入力を読み込んでいるファイル名で置換します。ファイル名が 不明の場合エラーになります。 .PP $\fInumber\fR .TP 8 ${\fInumber\fR} `$argv[\fInumber\fR]' と等価です。 .TP 8 $* `$argv' と等価です。これは `$argv[*]' と等価です。 .PD .PP \fBヒストリ置換\fRのところで説明した `:' 修飾子 (`:p' を除く) が、 上記の置換に対して適用できます。2 つ以上の修飾子も適用できます。 (+) \fBヒストリ置換\fR (そちらも参照) と同様に、 変数置換とリテラルのコロンとを分離するために、中括弧が必要なことが あります。修飾子は中括弧の中に置かねばなりません。 .PP 以下の置換は `:' 修飾子で修飾することはできません。 .PP .PD 0 $?\fIname\fR .TP 8 ${?\fIname\fR} \fIname\fR が設定されているときは、文字列 `1' で置き換えられます。 設定されていないときは、文字列 `0' で置き換えられます。 .TP 8 $?0 現在の入力ファイル名がわかっているときは、`1' で置き換えられます。 わかっていないときは、`0' で置き換えられます。 対話型のシェルでは、常に `0' です。 .PP $#\fIname\fR .TP 8 ${#\fIname\fR} \fIname\fR 中の単語の数で置き換えられます。 .TP 8 $# `$#argv' と等価です。(+) .PP $%\fIname\fR .TP 8 ${%\fIname\fR} \fIname\fR の文字数で置き換えられます。(+) .PP $%\fInumber\fR .TP 8 ${%\fInumber\fR} $argv[\fInumber\fR] の文字数で置き換えられます。(+) .TP 8 $? `$status' と等価です。(+) .TP 8 $$ (親) シェルの (10 進数の) プロセス番号で置き換えられます。 .TP 8 $! 本シェルが開始したバックグラウンドプロセスのうち最新のものの (10 進数の) プロセス番号で置き換えられます。(+) .TP 8 $_ 最後に実行したコマンドのコマンド行で置き換えます。(+) .TP 8 $< 標準入力から読み込んだ 1 行を、一切解釈をせずにこの変数と置き換えます。 シェルスクリプト中で、キーボードから読み込む際に用います。(+) \fIcsh\fR は、`$<:q' と等価であるかのように、$< をクォートしますが、 \fItcsh\fR はそうしません。それだけでなく、\fItcsh\fR がユーザの 入力行を待つとき、ユーザは割り込みを入力して、置換されるべき行が 入る列を中断することができます。しかし \fIcsh\fR ではそうすることが できません。 .PD .PP 編集コマンド \fIexpand-variables\fR は、 通常は `^X-$' にバインドされていますが、 これを使って、個々の変数を対話的に展開することができます。 .SS "コマンド置換、ファイル名置換、ディレクトリスタック置換" 組み込みコマンドの引数に対し、残りの置換が選択的に適用されます。 選択的とは、行の中で評価されなかった部分は、これらの展開の対象に ならないという意味です。シェルの内部コマンドでないコマンドに対しては、 コマンド名は引数リストとは別個に置換されます。この置換は最後の方、 入出力リダイレクトを実行したあと、メインシェルの子供の中で生じます。 .SS コマンド置換 ``' で囲まれたコマンドは、コマンド置換を示します。囲まれたコマンドの 出力を、空白、タブ、改行文字のところで別々の単語に分割します。 この出力に変数置換、コマンド置換を実行し、 元の文字列があった場所に置きます。 .PP ニ重引用符 (`"') の内側のコマンド置換は、空白、タブを保存します。 改行文字だけは新しく単語分けを行います。 ただし、どのような場合でも最後の改行文字だけは新しい単語になりません。 ですから、1 行まるまる出力するようなコマンドでも、コマンド置換を 用いると単語の一部だけを生成することができます。 .SS ファイル名置換 単語が `*', `?', `[', `{' のいずれかの文字を含む場合、または先頭が `~' で始まる場合、その単語はファイル名置換 (あるいはグロブ (globbing) と 呼ばれます) の候補になります。このような単語をパターン (グロブパターン) と見なし、そのパターンにマッチするファイル名の リストをアルファベット順で整列したもので置き換えます。 .PP ファイル名マッチの際に、ファイル名の先頭、または `/' の直後の 文字 `.' は、`/' と同様に、明示的にマッチさせなければなりません。 文字 `*' は、空文字列を含むどのような文字列にもマッチします。 文字 `?' は、どのような 1 文字にもマッチします。列 `[...]' は、 括弧の中で指定した文字のいずれかにマッチします。`[...]' 内では、 文字の対を `\-' でつなぐことで、(文字順序で) その 2 文字の範囲にある 文字のいずれかにマッチします。 .PP (+) グロブパターンの中には反転を指定できるものがあります。 列 `[^...]' は、括弧内の文字 / 範囲で指定して\fIいない\fR文字 ちょうど 1 つにマッチします。 .PP `^' により、グロブパターン全体を反転させることもできます。 .IP "" 4 > echo * .br bang crash crunch ouch .br > echo ^cr* .br bang ouch .PP `?', `*', `[]' のいずれも使わないグロブパターンや、 `{}', `~' (あとで説明します) を使うグロブパターンは、 反転しても正しい結果を得られません。 .PP メタ記法 `a{b,c,d}e' は、`abe ace ade' の省略記法です。左から右への 出現順序は保存されます。`/usr/source/s1/{oldls,ls}.c' は、 `/usr/source/s1/oldls.c /usr/source/s1/ls.c' に展開します。 マッチングの結果は下位のレベルで個別に整列され、出現順序は保存 されます。 `../{memo,*box}' は、`../memo ../box ../mbox' などに 展開されるでしょう (ここで、`memo' が `*box' のマッチング結果とともに 整列されていないことに注意してください)。この指定が展開された結果 ファイルが存在しなくてもエラーになりませんが、展開結果を渡した先の コマンドでエラーになる可能性はあります。この指定は入れ子にすることが できます。特殊な場合として、単語 `{', `}', `{}' は変更されずに そのまま渡されます。 .PP ファイル名先頭の文字 `~' は、ホームディレクトリを指します。単独で 用いられた場合、つまり `~' だけの場合、シェル変数 \fBhome\fR の値に 反映されているように、呼び出したユーザの ホームディレクトリに展開されます。`~' の直後に英文字、 数字、または文字 `\-' で構成される名前が続く場合、シェルはその 名前を持つユーザを検索し、そのユーザのホームディレクトリに展開します。 ですから、`~ken' はたとえば `/usr/ken' に展開されます。 また、`~ken/chmach'は、たとえば `/usr/ken/chmach' に展開されます。 文字 `~' の後ろに英文字でもなく `/' でもない文字が続いた場合、 もしくは、文字 `~' が単語の先頭以外に現れた場合、変更されずに そのまま渡されます。ですから、 `setenv MANPATH /usr/man:/usr/local/man:~/lib/man' のようなコマンド では、期待通りのホームディレクトリ置換が起こりません。 .PP `*', `?', `[', `~' のどれかを含むグロブパターン (`^' は付いていてもいなくとも同じ) は、マッチするファイルが ひとつもないとエラーになります。 しかし、グロブパターンのリストのうちのひとつでも マッチすれば (他のものはマッチするものがなくても) エラーになりません (したがって、たとえば `rm *.a *.c *.o' は、カレントディレクトリに `.a', `.c', `.o' で終わるファイルがひとつもないときに限って エラーになります)。 また、シェル変数 \fBnonomatch\fR が設定されている場合、 どれにもマッチしないパターン (あるいはパターンの列) は エラーにならずに無変換のまま残されます。 .PP ファイル名置換を止めるために、シェル変数 \fBnoglob\fR を設定することが できます。編集コマンド \fIexpand-glob\fR は、通常は `^X-*' に結合されて いますが、これを使い、個々のファイル名置換の展開を対話的に 行うことができます。 .SS "ディレクトリスタック置換 (+)" ディレクトリスタックはディレクトリの列であり、0 から番号付けられ、 組み込みコマンド \fIpushd\fR, \fIpopd\fR, \fIdirs\fR (そちらも参照) が使用します。 \fIdirs\fR コマンドを使用すると、ディレクトリスタックを いつでも表示でき、ファイルに書き込むことができ、 ファイルから読み込むことができ、そしてクリアすることが できます。シェル変数 \fBsavedirs\fR, \fBdirsfile\fR に 値を設定することで、ログアウト時のディレクトリスタックの書き込みと、 ログイン時の読み込みを自動的に行うことができます。シェル変数 \fBdirstack\fR を使い、ディレクトリスタックの中を調べることができ、 ディレクトリスタックに任意のディレクトリを設定することができます。 .PP 文字 `=' の後ろに 1 桁以上の数字が続くと、それは ディレクトリスタック中のエントリに展開されます。特殊な場合として、 `=\-' はスタックの最新のディレクトリに展開します。たとえば、 次のようにです。 .IP "" 4 > dirs \-v .br 0 /usr/bin .br 1 /usr/spool/uucp .br 2 /usr/accts/sys .br > echo =1 .br /usr/spool/uucp .br echo =0/calendar .br /usr/bin/calendar .br > echo =\- .br /usr/accts/sys .PP シェル変数 \fBnoglob\fR, \fBnonomatch\fR と編集コマンド \fIexpand-glob\fR はファイル名置換と同様に ディレクトリスタックにも適用されます。 .SS "その他の置換 (+)" ファイル名を含む変換が他にいくつかあります。厳密には先に説明した ものと関係があるわけではありませんが、完全を期するために ここで説明しておきます。変数 \fBsymlinks\fR (そちらも参照) が `expand' に設定されている場合、\fIどのような\fRファイル名も フルパスに展開される可能性があります。クォートすることで この展開を止めることができ、編集コマンド \fInormalize-path\fR を 使用すると要求に応じて展開を止めることができます。また、編集コマンド \fInormalize-command\fR は、PATH にあるコマンドを、 要求に応じてフルパスに展開します。 最後に、\fIcd\fR と \fIpushd\fR は `\-' を以前の作業ディレクトリ (シェル変数 \fBowd\fR と等価) と解釈します。これは置換でもなんでも なく、このコマンドだけで認識される省略記法です。それでも、この表記も クォートすることでこの解釈を止めることができます。 .SS コマンド 次の 3 つのセクションでは、シェルがどのようにコマンドを実行し、 それらの入出力をどのように扱うかを説明します。 .SS 単純コマンド、パイプライン、コマンド列 単純コマンドは、単語の列であり、 その最初の単語が実行されるコマンドです。 `|' 文字によって区切られた一連の単純コマンドは パイプラインを形成します。 パイプライン内のそれぞれのコマンドの出力は次のコマンドの 入力に接続されます。 .PP 単純コマンドとパイプラインは `;' 文字を使って コマンド列に組み入れることができ、並んでいる順に実行されます。 コマンドとパイプラインは `||' や `&&' でコマンド列に 組み込むこともでき、C 言語で扱われるのと同様に、 最初のコマンドが失敗した時にだけ (`||'の場合)、 あるいは成功した時にだけ (`&&'の場合)、次のコマンドが実行されます。 .PP 単純コマンド、パイプライン、またはコマンド列は、 括弧 `()' を使って単純コマンドを形成することができ、 パイプラインやコマンド列の一部として使用できます。 コマンド、パイプライン、またはコマンド列の後に `&' を 置いて実行すると、そのコマンドの終了を待たずに 次のコマンドを実行できます。 .SS "組み込みコマンド、非組み込みコマンドの実行" 組み込みコマンドは、シェルの中で実行されます。 パイプラインの構成要素の最後以外が組み込みコマンドのとき、 パイプラインは、サブシェル内で実行されます。 .PP 括弧で括られたコマンドは、常にサブシェル内で実行されます。 .IP "" 4 (cd; pwd); pwd .PP これは、現在のディレクトリを移動することなくく\fBホーム\fR ディレクトリを表示 (その後に現在のディレクトリを表示) し、 その一方、 .IP "" 4 cd; pwd .PP この場合は\fBホーム\fRディレクトリに移動します。 括弧で括られたコマンドは、たいてい \fIcd\fR が現在のシェルに 影響するのを防ぐために使用します。 .PP 実行するコマンドが組み込みコマンドでないことが判明すると、 シェルはそのコマンドを \fIexecve\fR(2) を通じて実行しようとします。 環境変数 \fBpath\fR 内の各語は、シェルがコマンドを検索する ディレクトリを指定します。 \fB\-c\fR, \fB\-t\fR オプションのいずれも指定されていない場合、 これらのディレクトリ内の名前を内部テーブルでハッシュし、 そのコマンドが存在する可能性のあるディレクトリだけで \fIexecve\fR(2) の実行を試みます。 このことは、検索パス内のディレクトリの数が多い場合に、 コマンドの位置確定を大いに高速化します。 この機構が (\fIunhash\fR によって) オフにされ、 シェルに \fB\-c\fR または \fB\-t\fR のオプションが与えられるか、 それぞれの \fBpath\fR のディレクトリ構成要素のいずれかが `/' で始まっていない場合、シェルは現在の作業ディレクトリと 与えられたコマンド名を結合して実行するファイルのパス名を形成します。 .PP ファイルに実行許可であってシステムが実行可能ではない場合、 (例 : 実行可能バイナリ、インタプリンタを指定したスクリプト ではないとき)、それをシェルコマンドを含むファイルであるとみなし、 新しいシェルを起動してそのファイルを読み込みます。 \fIシェル\fRの特殊なエイリアスで、シェル自体ではなくインタプリタを 指定するように設定することもできます。 .PP 慣習的な‘#!' スクリプトインタプリタを理解しないシステム上では、 シェルはそれをエミュレートするようにコンパイルされます ; シェル変数 \fBversion\fR を参照してください。 その場合、シェルがファイルの最初の行をチェックし、それが `#!\fIinterpreter\fR \fIarg\fR ...' の形式であるかどうかを 確認します。 この形式であれば、シェルは与えられた\fI引数\fRとともに \fIインタプリタ\fRを起動して、そのファイルを標準入力に供給します。 .SS 入出力 コマンドの標準入力と標準出力は以下の文法に従って リダイレクトすることができます: .PP .PD 0 .TP 8 < \fIname ファイル \fIname\fR (変数、コマンド、ファイル名展開を受けます) をオープンし、コマンドの標準入力とします。 .TP 8 << \fIword \fIword\fR と同一の行が出現するまで、シェルの入力を読み込みます。 \fIword\fR は変数、ファイル名、コマンド置換を受けません。 シェル入力の行は読み込まれるとすぐ、置換を行う前に \fIword\fR と比較されます。\fIword\fR に `\e', `"', `'', ``' のクォートが出現しなければ、行の中でコマンド置換が実行されます。 この置換を抑制するために、`\e' によって `$', `\e', ``' をクォートすることができます。コマンド置換において、 すべての空白、タブ、改行は保存されますが、最後の改行は削除されます。 読み込んだ行はすべてテンポラリファイルに保存され、 コマンドの標準入力として用いられます。 .PP > \fIname .br >! \fIname .br >& \fIname .TP 8 >&! \fIname ファイル \fIname\fR を標準出力として用います。 ファイルが存在しなければ作成されます。すでにファイルが存在すれば その内容は切り捨てられ、以前の内容は失われます。 .RS +8 .PD .PP シェル変数 \fBnoclobber\fR がセットされている場合、 ファイルが存在しないか文字型特殊ファイル (端末や `/dev/null' のような) でなければ エラーになります。これは、すでに存在するファイルを間違えて 削除してしまうことを防止します。`!' を用いた形式を使うと、 この検査を抑制することができます。 .PP `&' を用いた形式では、標準出力とともに診断メッセージ 出力もファイルへリダイレクトされます。 \fIname\fR は、`<' の 入力ファイル名の場合と同様の展開を受けます。 .PD 0 .RE .PP >> \fIname .br >>& \fIname .br >>! \fIname .TP 8 >>&! \fIname `>' と同様に、ファイル \fIname\fR を標準出力として用います。 ただし、コマンドの出力はファイルへ追加されます。 変数 \fBnoclobber\fR がセットされている場合、ファイルが \fI存在しなければ\fRエラーとなります。 `!' を用いることで、この検査を抑制することができます。 .PD .PP コマンドは、シェルが起動されたときの環境を引き継ぎます。 ただしこの環境は入出力のパラメータによって変更されますし、 コマンドがパイプラインの中にあった場合も変更されます。 したがって、以前のいくつかのシェルとは異なり、シェルの コマンドファイルから起動されたコマンドは、デフォルトでは そのコマンドのテキストへアクセスできません。かわりに それらのコマンドは、シェルのもともとの標準入力をそのまま 受け継ぎます。 シェルスクリプトの内部で、コマンドにあらかじめ決まった (inline) データを渡す場合には、標準入出力の形式ではなく、 `<<' の機構を使うことができます。 このように制限することにより、シェルコマンドスクリプトを パイプラインの一部として用いることができます。 バックグラウンドで実行されているコマンドの標準入力も \fI/dev/null\fR 等にリダイレクトされること\fIなく\fR、 シェルの標準入力をそのまま受け継いでいます。 もし標準入力が端末で、コマンドが端末から読み込もうとした場合、 そのプロセスはブロックされ、シェルはユーザにそのことを通知します (\fBジョブ\fRの項を参照)。 .PP 診断メッセージ出力もパイプにリダイレクトすることが できます。単に `|' のかわりに `|&' を使います。 .PP シェルは、標準出力のリダイレクトなしで、診断メッセージ出力を リダイレクトできなくなります。 そのため、`(\fIコマンド\fR > \fI出力ファイル\fR) >& \fIエラーファイル\fR' は、無難な予備手段としてされてます。 \fI出力ファイル\fR、\fIエラーファイル\fRのどちらかが、 端末に出力を送るための `/dev/tty' です。 .SS 特徴 ここではシェルがどのようにコマンドラインを受け入れ、 解釈し、実行するかを説明しました。 次は、便利な特徴について説明します。 .SS "制御フロー" このシェルには、 コマンドファイル (シェルスクリプト) や (制約はあるものの便利な) 端末からの入力 処理の流れを制御するために使用できる 多くのコマンドを備えています。 これらのコマンドは、 入力の再読み込みや読み飛ばしを行うため シェルを強制的に操作します。 これらの実装のために、幾つかのコマンドには制限があります。 .PP \fIforeach\fR、\fIswitch\fR、\fIwhile\fR 文は、 \fIif\fR 文の \fIif-then-else\fR 形式と同様に、 後で示すように入力行の単独の単純コマンド中に 主要なキーワードが現れることを要求します。 .PP シェルの入力がシーク可能でない場合は、 ループが読み込まれると常に入力をバッファし、 この内部バッファをシークすることでループによる 再読み込みを可能にします。 (これを許可した結果、 後方へ向かう \fIgoto\fR がシーク可能でない入力についても 成功することになります。) .SS 式 組み込みコマンドの \fIif\fR, \fIwhile\fR, \fIexit\fR は 共通した文法を持った式を使います。 式には、次の 3 つのセクションの中で説明される 任意の演算子を含めることができます。 \fI@\fR 組み込みコマンド (そちらも参照) 自体は、 文法を区切るので注意してください。 .SS "論理演算子, 算術演算子, 比較演算子" これらの演算子は C の演算子と 同じ優先順位となっています。 演算子には、次のものがあります。 .IP "" 4 || && | ^ & == != =~ !~ <= >= .br < > << >> + \- * / % ! ~ ( ) .PP ここに挙げた演算子は右側のものほど優先順位が高くなっています。 ただし、`==' `!=' `=~' `!~' の 4 つ、`<=' `>=' `<' `>' の 4 つ、 `<<' `>>' の 2 つ、`+' `-' の 2 つ、`*' `/' `%' の 3 つは それぞれ同一のグループに所属しており、同じグループに所属している 演算子の優先順位は同じレベルとなっています。 演算子 `==' `!=' `=~' `!~' は引数を文字列として比較します。 他の演算子はすべて数値で比較します。 演算子 `=~' `!~' は `!=' `==' と似ていますが、 左側のオペランドにマッチするグロブパターン (\fBファイル名置換\fRを参照) を右側に置くことが異なります。 必要なものに対してだけパターンマッチを行うので、 シェルスクリプト中における \fIswitch\fR 組み込みコマンドの使用の必要を減らします。 .PP `0' で始まる文字列は 8 進数とみなされます。 空の文字列や引数がぬけているものは `0' とみなされます。 すべての式の結果は 10 進数で表される文字列になります。 特に、式の構成要素が同一の単語中に複数個現れることはないと いうことに注意してください。 例外として、パーサに文法的に特別な意味を持つ式の構成要素 (`&' `|' `<' `>' `(' `)') が隣りにくることは構いません。 ただし、これらは空白で区切られるべきです。 .SS "コマンド終了ステータス" 式の中でコマンドを実行することができ、 式を中括弧 (`{}') で囲むと 終了ステータスが返されます。 中括弧は、コマンドの単語から空白で区切ることを 忘れないでください。 コマンドの実行が成功した場合は、 真 (たとえば `1') を返します。 コマンドが 0 のステータスで終了した場合、 または実行に失敗した場合は、偽 (たとえば `0') を返します。 もっと詳しいステータスの情報が必要な場合は、 コマンドを式の外部で実行し、 シェル変数 \fBstatus\fR を調べてください。 .SS "ファイル問い合わせ演算子" これらの演算子のうち幾つかは ファイルと関連するオブジェクトについて 真/偽の判定を行います。 これらは \fB\-\fIop file\fR の形式です。 \fIop\fR は次のうちのどれか 1 つです。 .PP .PD 0 .RS +4 .TP 4 .B r 読み取りアクセス .TP 4 .B w 書き込みアクセス .TP 4 .B x 実行アクセス .TP 4 .B X パス中にある実行可能ファイルやシェル組み込みコマンド。 たとえば `\-X ls' と `\-X ls\-F' は一般に真であり、 `\-X /bin/ls' はそうではない (+) .TP 4 .B e 存在 .TP 4 .B o 所有者 .TP 4 .B z サイズ 0 .TP 4 .B s サイズが 0 でない (+) .TP 4 .B f 通常ファイル .TP 4 .B d ディレクトリ .TP 4 .B l シンボリックリンク (+) * .TP 4 .B b ブロック型特殊ファイル (+) .TP 4 .B c キャラクタ型特殊ファイル (+) .TP 4 .B p 名前付きパイプ (fifo) (+) * .TP 4 .B S ソケット型特殊ファイル (+) * .TP 4 .B u set-user-ID ビットがセットされている (+) .TP 4 .B g set-group-ID ビットがセットされている (+) .TP 4 .B k スティッキービットがセットされている (+) .TP 4 .B t \fIfile\fR (これは数字でなければならない) は 端末デバイスに対してオープンしている ファイル記述子である (+) .TP 4 .B R migrate されている (convex システムのみ有効) (+) .TP 4 .B L 多重演算子の中でこの演算子の後にくる演算子は、 シンボリックリンクが指されているファイルではなく、 シンボリックリンクそのものに適用される (+) * .RE .PD .PP \fIfile\fR はコマンドと展開されたファイル名で、 指定された実ユーザに対する関係があるかどうか テストします。 \fIfile\fR が存在していない場合、 もしくはアクセスできない場合、 `*' で示した演算子については、 指定のファイルタイプが現在のシステムに 存在していなければ すべての問い合わせは偽 (たとえば `0') を返します。 .PP s true これらの演算子は、簡潔にするために連結することができます。 `\-\fIxy file\fR' は `\-\fIx file\fR && \-\fIy file\fR' と等価です。(+) たとえば `\-fx' は 通常の実行可能ファイルに対しては真 (`1' を返す) ですが、 ディレクトリに対してはそうではありません。 .PP s \fBL\fR は多重演算子の中で使用できます。 この演算子の後にくる演算子は、 シンボリックリンクが指されているファイルではなく、 シンボリックリンクそのものに適用されます。 たとえば `\-lLo' は 呼び出しユーザが所有しているリンクに対しては真です。 \fBLr\fR, \fBLw\fR, \fBLx\fR は リンクに対しては常に真で、 リンクでないものに対しては偽です。 \fBL\fR は 多重演算子の中で最後の演算子になった場合、 異なった意味を持ちます。 以下を参照してください。 .PP s \fIfile\fR に渡すべき演算子と、そうでない演算子 (たとえば \fBX\fR と \fBt\fR) を連結することは可能ですが、 実用的ではなく、しばしば間違いの元になります。 特に、ファイルでない演算子に \fBL\fR をつけると、 妙な結果になります。 .PP 他の演算子は他の情報、つまり単なる `0' や `1' だけ ではない情報を返します。(+) これらは前に示したのと同じ書式になります。 \fIop\fR は次のうちのどれか 1 つです。 .PP .PD 0 .RS +4 .TP 8 .B A エポックからの秒数で表した、最後にファイルにアクセスした時間 .TP 8 .B A: \fBA\fR と同じで、タイムスタンプの書式。 例: `Fri May 14 16:36:10 1993' .TP 8 .B M 最後にファイルを変更した時間 .TP 8 .B M: \fBM\fR と同じで、タイムスタンプの書式 .TP 8 .B C 最後に inode を変更した時間 .TP 8 .B C: \fBC\fR と同じで、タイムスタンプの書式 .TP 8 .B D デバイス番号 .TP 8 .B I inode 番号 .TP 8 .B F \fIdevice\fR:\fIinode\fR の形式で表した 複合 \fBf\fRile 識別子 .TP 8 .B L シンボリックリンクが指しているファイルの名前 .TP 8 .B N (ハード) リンクの数 .TP 8 .B P 先頭に 0 がついていない 8 進数で表したパーミッション .TP 8 .B P: \fBP\fR と同じで、先頭に 0 がつく .TP 8 .B P\fImode `\-P \fIfile\fR & \fImode\fR' と等価。 たとえば、`\-P22 \fIfile\fR' は \fIfile\fR のグループと他者が書き込み可であれば `22' を、 グループのみであれば `20' を、何もなければ `0' を返す。 .TP 8 .B P\fImode\fB: \fBP\fImode\fB:\fR と同じで、先頭に 0 がつく .TP 8 .B U 数値で表したユーザ ID .TP 8 .B U: ユーザ名、ユーザ名が見つからなかった場合は数値で表したユーザ ID .TP 8 .B G 数値で表したグループ ID .TP 8 .B G: グループ名、グループ名が見つからなかった場合は数値で表したグループ ID .TP 8 .B Z バイト数で表したサイズ .RE .PD .PP これらの演算子のうち 1 つだけ多重演算子の中に 現れることを許されていますが、必ず最後につける必要があります。 ただし、\fBL\fR は多重演算子の中の 最後とそれ以外の箇所では違った意味になるので注意してください。 なぜなら、`0' はこれらの演算子の多くにとって正当な返り値のためです。 これらが失敗した場合、`0' を返しません。 たいていの場合、`\-1' を返し、\fBF\fR は `:' を返します。 .PP このシェルが POSIX を定義してコンパイルされている (シェル変数 \fBversion\fR を参照) 場合、ファイル問い合わせの結果は、 \fIaccess\fR(2) システムコールの結果に基づいたものではなく、 ファイルの許可ビットに基づいたものになります。 たとえば、 通常は書き込み可であるが 読み取り専用でマウントされたファイルシステム上にある ファイルを \fB\-w\fR で検査した場合、 POSIX シェルでは成功し、 非 POSIX シェルでは失敗することになります。 .PP ファイル問い合わせ演算子は \fIfiletest\fR 組み込みコマンド (そちらも参照) と等価になり得ます。(+) .SS ジョブ シェルはパイプラインの各々に対し\fIジョブ\fRを 1 つずつ関連付けます。 シェルは、現在実行中のジョブの一覧表を保持しており、 これは、\fIjobs\fR コマンドによって表示することができます。 ジョブには整数の番号が割り当てられます。 ジョブが `&' を用いて非同期に起動された場合、 シェルは以下のような出力を行います: .IP "" 4 [1] 1234 .PP これは、非同期に起動したジョブがジョブ番号 1 であり、 プロセス ID が 1234 である (トップレベルの) プロセスを 1 つ持っていることを示します。 .PP もし、あるジョブを実行中に他のことをしたくなった場合、サスペンドキー (通常 ^Z) を押すことにより実行中のジョブに STOP シグナルを送信することができます。 通常、シェルはそのジョブが一時停止した (Suspended) ことを出力し、 プロンプトを表示します。 シェル変数の \fBlistjobs\fR が設定されていると、 組み込みコマンドの \fIjobs\fR のようにすべてのジョブがリストされます。 もしそれが `long' と設定されているとリストは `jobs \-l' のような 長い形式になります。 ここで、一時停止したジョブの状態を操作することができます。 つまり、\fIbg\fR コマンドにより停止したプロセスを ``バックグラウンド'' で走行させたり、他のコマンドを実行してから、 停止していたジョブを \fIfg\fR コマンドにより ``フォアグラウンド'' で再実行させることなどができます。 (編集コマンドの \fIrun-fg-editor\fR も参照してください。) `^Z' は即座に効力を発揮し、割り込みと同様に、それまで待たされていた 出力とまだ読み込まれていない入力は捨てられます。 組み込みコマンドの \fIwait\fR はすべてのバックグラウンドのジョブが 終了するまでシェルを待機状態にさせます。 .PP `^]' キーは遅延サスペンドシグナルを現在のジョブに送信します。 この場合はプログラムが \fIread\fR(2) によって読み込もうとした時点で STOP シグナルが送信されます。 これは、実行中のジョブに対していくつかの入力を先に入力しておき、 先行入力を読み終えた時点でジョブを停止させたいときに便利です。 \fIcsh\fR(1) ではこの機能は `^Y' キーに割り当てられていました。 \fItcsh\fR では `^Y' は編集コマンドです。(+) .PP バックグラウンドで実行しているジョブが端末からの入力を試みた場合、 そのジョブは停止します。通常、バックグラウンドジョブが端末に 出力することは可能ですが、これはコマンド `stty tostop' により 禁止することができます。もしこの tty オプションを指定したなら、 バックグラウンドで実行しているジョブは、端末から入力を試みたときと 同様に、端末に出力を試みたときに停止します。 .PP シェルでジョブを参照するにはいくつかの方法があります。文字 `%' は ジョブ名を表すのに用いられます。番号 1 のジョブを参照する場合は `%1' とします。単にジョブ名を入力した場合、そのジョブは フォアグラウンドに移動されます。すなわち `%1' は `fg %1' と等価で、 ジョブ 1 をフォアグラウンドに移行します。同様に `%1 &' は、 ちょうど `bg %1' と同じようにのジョブ 1 をバックグラウンドで 再開させます。ジョブはそのジョブを起動したときにタイプされた文字列の 先頭部分によって参照することもできます。ただしこの先頭部分は あいまいでない必要があります。すなわち `%ex' は、`ex' という文字列で 始まる名前のサスペンドされたジョブが 1 つしかない場合に限り、 サスペンドされた \fIex\fR(1) のジョブを再開します。 文字列 \fIstring\fR を含むジョブが 1 つしかない場合、`%?\fIstring\fR' と 入力することでそれを指定することもできます。 .PP シェルは現在のジョブと直前のジョブを覚えています。 ジョブに関係する出力で、`+' 記号が付加されているのが現在のジョブ、 `\-' 記号が付加されているのが直前のジョブです。 `%+', `%' と (\fIヒストリ\fR機構の文法との類似から) `%%' は すべて現在のジョブ、`%\-' は直前のジョブを参照するための省略形です。 .PP ある種のシステムではジョブ制御機構を利用するために \fIstty\fR(1) の オプション `new' を設定しておく必要があります。 ジョブ制御機構は `新型の' 端末ドライバの実装の上に構築されているからで、 新型の端末ドライバによりジョブを停止させるための割り込み文字を キーボードから入力できるようになるからです。 新型の端末ドライバのオプション設定については \fIstty\fR(1) と 組み込みコマンドの \fIsetty\fR を参照してください。 .SS "状態通知" シェルは、プロセスが状態の変化を起こすとすぐにそれを検知します。 通常はプロンプトが表示される直前にのみ、あるジョブが停止して それ以上処理が進まなくなったことを通知します。これはユーザの仕事を 邪魔しないようにするためです。しかしながら、シェル変数 \fBnotify\fR を 設定することにより、シェルにバックグラウンドジョブの状態が 変化したことをただちに通知させることができます。また、 シェルコマンド \fInotify\fR により、特定のジョブの状態の変化をただちに 通知させるようにマークすることもできます。引数なしの \fInotify\fR は 現在のプロセスに対してマークをつけます。バックグラウンドジョブの 開始直後に単に `notify' と打つとそのジョブをマークします。 .PP 停止したジョブが存在する状態でシェルを終了しようとすると `You have stopped jobs.' という警告を受けます。このとき \fIjobs\fR コマンドによりどのジョブが停止中であるのかを 確認することができます。警告を受けた直後に \fIjobs\fR コマンドで 確認した場合と、警告を受けた直後に再度シェルを終了させようとした 場合には、シェルは 2 度目の警告を行わずに停止中のジョブを 終了させてからシェルを終了します。 .SS "自動イベント、定期イベント、時刻指定イベント (+)" シェルの ``ライフサイクル'' において、いろいろな時間に自動的に コマンドの実行と他のアクションを行うさまざまな方法が用意されています。 それらをここに要約し、詳しくは \fB組み込みコマンド\fR、\fB特別なシェル変数\fR、\fB特別なエイリアス\fRの 適切な場所で説明します。 .PP 組み込みコマンドの \fIsched\fR はコマンドをイベントの予定表に置き、 指定された時刻にシェルによって実行されるようにします。 .PP \fB特別なエイリアス\fRとして \fIbeepcmd\fR, \fIcwdcmd\fR, \fIperiodic\fR, \fIprecmd\fR, \fIpostcmd\fR があり、それぞれ シェルがベルを鳴らす時、作業ディレクトリが変わる時、 \fBtperiod\fR 分毎、各プロンプトの前、各コマンドの実行前に 実行させたいコマンドを設定できます。 .PP シェル変数の \fBautologout\fR を使って、指定した分数の休止後に ログアウトまたはシェルをロックするように設定できます。 .PP シェル変数の \fBmail\fR を使って、定期的に新しいメールを チェックするように設定できます。 .PP シェル変数の \fBprintexitvalue\fR を使って、0 以外のステータスで 終了したコマンドの終了ステータスを表示するように指定できます。 .PP シェル変数の \fBrmstar\fR を使って、`rm *' が入力されたときに ユーザに間違いないかどうか確認を求めるように指定できます。 .PP シェル変数の \fBtime\fR を使って、指定した秒数より多く CPU 時間を 使ったプロセスの終了後に組み込みコマンドの \fItime\fR を実行するように 設定できます。 .PP シェル変数の \fBwatch\fR と \fBwho\fR を使って、指定したユーザが ログインまたはログアウトした時にレポートするように設定できます。 また組み込みコマンドの \fIlog\fR でいつでもそれらのユーザに ついてのレポートを得られます。 .SS "固有言語システムのサポート (+)" シェルは 8 ビットクリーンなので (そのようにコンパイルされていれば。シェル変数の \fBversion\fR を 参照)、それを必要とする文字セットをサポートします。 NLS サポートはシェルがシステムの NLS を使うようにコンパイルされているか どうかによって異なります (再び、\fBversion\fR を参照)。 どちらの場合でも 7 ビット ASCII がデフォルトの文字分類 (たとえばそれらの文字は表示可能) であり、そして順序づけです。 環境変数の \fBLANG\fR または \fBLC_CTYPE\fR を変更すると、 これらの点について変化の有無がチェックされます。 .PP システムの NLS を使う場合には、文字の適切な分類と順序づけを決定するために \fIsetlocale\fR(3) 関数が呼び出されます。この関数は典型的には 環境変数の \fBLANG\fR と \fBLC_CTYPE\fR を調べます。 より詳細についてはシステムのドキュメントを参照してください。 システムの NLS を使わない場合には、シェルは ISO 8859-1 文字セットが 使われていると仮定することでシミュレートします。 変数 \fBLANG\fR と \fBLC_CTYPE\fR のいずれかが設定されていても、 それらの値を無視します。 シミュレートされた NLS では順序づけに影響しません。 .PP 加えて、本物とシミュレートされた NLS の両方で、\e200\-\e377 の範囲、 つまり M-\fIchar\fR でバインドされているすべての表示可能文字は、 自動的に \fIself-insert-command\fR に再バインドされます。 対応する escape-\fIchar\fR へのバインドは、もしあればそのまま残ります。 これらの文字は環境変数の \fBNOREBIND\fR が設定されていれば 再バインドされません。この機能はシミュレートされた NLS や すべてが ISO 8859-1 であると仮定した原始的な本物の NLS で有効でしょう。 そうでなければ、\e240\-\e377 の範囲の M-\fIchar\fR へのバインドは 事実上解除されます。この場合でも、もちろん \fIbindkey\fR で明示的に 関連するキーに再バインドする事は可能です。 .PP 未知の文字 (つまり表示可能でも制御文字でもないような文字) は \ennn のような形式で表示されます。tty が 8 ビットモードになっていない 場合は、ASCII に変換して強調表示モードを使うことで別の 8 ビット文字が 表示されます。シェルは tty の 7/8 ビットモードを変更することはなく、 ユーザによる 7/8 ビットモードの変更に従います。NLS 利用者 (または メタキーを利用したい利用者) は、たとえば \fI~/.login\fR ファイルで 適切に \fIstty\fR(1) コマンドを呼び出すことで、 明示的に tty を 8 ビットモードに設定する必要があるかもしれません。 .SS "OS 固有機能のサポート (+)" 個々のオペレーティングシステムで提供されている機能をサポートするために、 多くの新しい組み込みコマンドが提供されています。すべて \fB組み込みコマンド\fRセクションで詳細に説明されています。 .PP TCF をサポートするシステム (aix-ibm370, aix-ps2) では、 \fIgetspath\fR と \fIsetspath\fR でシステム実行パスを取得、設定し、 \fIgetxvers\fR と \fIsetxvers\fR で試験バージョンプリフィックスを取得、 設定して、\fImigrate\fR でプロセスをサイト間で移動させます。 組み込みコマンドの \fIjobs\fR は各ジョブが実行されているサイトを表示します。 .PP Domain/OS では、\fIinlib\fR で共有ライブラリを現環境に追加し、 \fIrootnode\fR で rootnode を変更し、\fIver\fR で systype を変更します。 .PP Mach では、\fIsetpath\fR が Mach の \fIsetpath\fR(1) と等価です。 .PP Masscomp/RTU と Harris CX/UX では、\fIuniverse\fR で universe を設定します。 .PP Harris CX/UX では、\fIucb\fR か \fIatt\fR によって指定した universe で コマンドを走らせます。 .PP Convex/OS では、\fIwarp\fR で universe を表示または設定します。 .PP 環境変数の \fBVENDOR\fR, \fBOSTYPE\fR, \fBMACHTYPE\fR は、 シェルが自身が実行されていると考えているシステムの、それぞれ ベンダー、オペレーティングシステム、マシンタイプ (マイクロプロセッサのクラスまたはマシンのモデル) を表示します。 これはいろいろなタイプのマシン間でホームディレクトリを共有する場合に 特に便利です。利用者はたとえば各自の \fI~/.login\fR 中で .IP "" 4 set path = (~/bin.$MACHTYPE /usr/ucb /bin /usr/bin .) .PP とし、各マシン用にコンパイルされた実行形式を適切なディレクトリに 置くことができます。 .PP シェル変数の \fBversion\fR は、どのオプションを選択して シェルがコンパイルされたかを表示します。 .PP 組み込みの \fInewgrp\fR、シェル変数の \fBafsuser\fR と \fBecho_style\fR、そしてシステムに依存するシェルの入力ファイル (\fBファイル\fRを参照) の位置にも注意してください。 .SS "シグナル処理" ログインシェルは \fI~/.logout\fR ファイルを読んでいる間は 割り込みを無視します。 シェルは起動時に \fB\-q\fR の指定が無ければ QUIT シグナルを無視します。 ログインシェルは TERM シグナルを捕捉しますが、非ログインシェルは TERM シグナルへの挙動を親から継承します。 他のシグナルについては親からシェルに継承された値を持っています。 .PP シェルスクリプトでは、シェルの INT と TERM シグナルの扱いを \fIonintr\fR で制御できます。そして HUP の扱いを \fIhup\fR と \fInohup\fR で制御できます。 .PP シェルは HUP で終了します (シェル変数の \fBlogout\fR も参照)。 デフォルトでは、シェルの子供たちもそうしますが、シェルは終了時に HUP を子供たちに送りません。\fIhup\fR はシェルが終了時に 子供に HUP を送るようにし、\fInohup\fR は子供が HUP を無視するように 設定します。 .SS "端末管理 (+)" シェルは 3 つの異なる端末 (``tty'') モードの設定を使います。それらは 編集時に使う `edit'、文字リテラルをクォートする場合に使う `quote'、 コマンド実行時に使う `execute' です。 シェルは各モードでいくつかの設定を一定に保つので、 tty を混乱状態にして終了するコマンドがシェルに干渉することはありません。 シェルは tty のスピードとパディングの変更にも対応します。 一定に保たれる tty モードのリストは組み込みの \fIsetty\fR で 取得、設定できます。エディタは CBREAK モード (または同等のモード) を 使いますが、先行入力された文字はいつでも受け付けられます。 .PP \fIechotc\fR, \fIsettc\fR, \fItelltc\fR コマンドを使って、 コマンドラインから端末のケーパビリティを操作、デバッグすることができます。 .PP SIGWINCH か SIGWINDOW をサポートするシステムでは、シェルは ウィンドウのリサイズに自動的に適応して、環境変数の \fBLINES\fR と \fBCOLUMNS\fR が設定されていれば値を補正します。 環境変数の \fBTERMCAP\fR が li# と co# のフィールドを含んでいると、 シェルは新しいウィンドウサイズを反映するようにそれらを補正します。 .SH 参照 このマニュアルの以下のセクションでは使用可能なすべての \fB組み込みコマンド\fR、\fB特別なエイリアス\fR、 \fB特別なシェル変数\fRについて説明します。 .SS "組み込みコマンド" .TP 8 .B %\fIjob 組み込みコマンド \fIfg\fR と同義です。 .TP 8 .B %\fIjob \fB& 組み込みコマンド \fIbg\fR と同義です。 .TP 8 .B : 何もしません。常に成功します。 .PP .B @ .br .B @ \fIname\fB = \fIexpr .br .B @ \fIname\fR[\fIindex\fR]\fB = \fIexpr .br .B @ \fIname\fB++\fR|\fB-- .PD 0 .TP 8 .B @ \fIname\fR[\fIindex\fR]\fB++\fR|\fB-- 最初の形式は、すべてのシェル変数の値を表示します。 .PD .RS +8 .PP 2 番目の書式は、\fIname\fR に値 \fIexpr\fR を設定します。 3 番目の書式は、値 \fIexpr\fR を \fIname\fR の \fIindex\fR 番目の要素に 定義します。 \fIname\fR とその \fIindex\fR 番目の要素の両方が既に存在していなければ なりません。 .PP \fIexpr\fR は C と同様に、`*', `+'のような演算子を含むことがあります。 もし \fIexpr\fR が `<', `>', `&', `' を含むのであれば、少なくとも \fIexpr\fR のその部分は `()' の中に書かれる必要があります。 \fIexpr\fR の書式は、以下の \fBExpressions\fR で説明されるものとは 一切関係がないことに注意してください。 .PP 4 番目、5 番目の書式は \fIname\fR またはその \fIindex\fR 番目の要素を インクリメント (`++') またはデクリメント (`\-\-') します。 .PP `@' と \fIname\fR の間の空白は必須です。\fIname\fR と `=' の間、また `=' と \fIexpr\fR の間の空白はオプションです。\fIexpr\fR の要素は空白によって 区切られていなければなりません。 .RE .PD .TP 8 .B alias \fR[\fIname \fR[\fIwordlist\fR]] 引数がなければ、すべてのエイリアスを表示します。 \fIname\fR を与えると、そのエイリアスの内容を表示します。 \fIname\fR と \fIwordlist\fR を与えると、 \fIwordlist\fR を \fIname\fR のエイリアスとして定義します。 \fIwordlist\fR は、エイリアスされるコマンドとファイル名です。 \fIname\fR は `alias' または `unalias' であってはなりません。 組み込みコマンド \fIunalias\fR についても参照してください。 .ig \" Obsolete tcsh command .TP 8 .B aliases \fR[\fIfile\fR] (+) 引数がなければ、すべてのエイリアスを表示します。 \fIfile\fR を与えると、エイリアスのリストを \fIfile\fR から 1 行に ひとつずつ読み込みます。 後方互換性のためだけに残されています。 .. .TP 8 .B alloc 動的に取得しているメモリのうちの使用量と空き容量を表示します。 何らかの引数を与えるとブロックサイズごとの使用中 / 空きブロックの数を 表示します。このコマンドの出力はシステムによって大きく異なります。 VAX 以外のシステムでは、異なるメモリ管理を行っているかもしれない からです。 .TP 8 .B bg \fR[\fB%\fIjob\fR ...] 指定したジョブ (引数がなければ現在のジョブ) をバックグラウンドに 移動します。もしそれらが停止していれば再開されます。\fIjob\fR は 以下の \fBJobs\fR で説明するように番号、 文字列、`', `%', `+', `\-' で構成されます。 .ig \" Obsolete tcsh command .TP 8 .B bind \fR[\fBdefaults\fR|\fBemacs\fR|\fBvi\fR|\fIkey\fR|\fIkey command\fR] (+) An older version of \fIbindkey\fR, retained for only downward compatibility. Without arguments, lists all bound keys and the editor command to which each is bound. `bind defaults', `bind emacs' and `bind vi' are equivalent to `bindkey \-d', `bindkey \-e' and `bindkey \-v'. With \fIkey\fR, lists the editor command to which \fIkey\fR is bound. With \fIkey\fR and \fIcommand\fR, binds the editor command \fIcommand\fR to \fIkey\fR. .IP "" 8 \fIkey\fR may be a literal character, a control character written ^\fIcharacter\fR (e.g., `^A'), a meta character written M-\fIcharacter\fR (e.g., `M-A') or a function key written F-\fIstring\fR (e.g., `F-foo'). For the function key form to work, the function key prefix must be bound to \fIsequence-lead-in\fR and \fIstring\fR must not contain that prefix. \fIbindkey\fR の古いバージョンで、後方互換性のためだけに 残されています。引数がなければ、バインドされているキーと、 その編集コマンドの一覧を表示します。 `bind defaults', `bind emacs', `bind vi' は `bindkey \-d', `bindkey \-e', `bindkey \-v' と同じ意味を持ちます。 引数に \fIkey\fR を与えると、\fIkey\fR にバインドされている 編集コマンドの一覧を表示します。 引数に \fIkey\fR と \fIcommand\fR を与えると、編集コマンド \fIcommand\fR を \fIkey\fR にバインドします。 .IP "" 8 \fIkey\fR は通常の文字、 ^\fIcharacter\fR (たとえば `^A')のように表記される コントロールキャラクタ、M-\fIcharacter\fR (たとえば `M-A') の ように表記されるメタキャラクタ、F-\fIstring\fR (たとえば `F-foo') のように表記されるファンクションキャラクタのいずれかです。 ファンクションキーを動作するようにするには、 ファンクションキープリフィックスが \fIsequence-lead-in\fR にバインドされていて、 \fIstring\fR がそのプリフィックスを含んでいないことが必要です。 .. .PP .B bindkey \fR[\fB\-l\fR|\fB\-d\fR|\fB\-e\fR|\fB\-v\fR|\fB\-u\fR] (+) .br \fBbindkey \fR[\fB\-a\fR] [\fB\-b\fR] [\fB\-k\fR] [\fB\-r\fR] [\fB\-\-\fR] \fIkey \fR(+) .PD 0 .TP 8 \fBbindkey \fR[\fB\-a\fR] [\fB\-b\fR] [\fB\-k\fR] [\fB\-c\fR|\fB\-s\fR] [\fB\-\-\fR] \fIkey command \fR(+) .\" .B macro can't take too many words, so I used \fB in the previous tags .\" .B マクロは多くの単語を扱えないので、ここまでの部分で \fB を .\" 使っています。 オプション無しでは、第 1 の形式ではバインドされているすべてのキーと 編集コマンドを表示し、第 2 の形式では \fIkey\fR にバインドされている 編集コマンドを表示し、第 3 の形式では 編集コマンド \fIcommand\fR を \fIkey\fR にバインドします。 オプションは以下のものを含みます。 .PD .PP .PD 0 .RS +8 .TP 4 .B \-l すべての編集コマンドの一覧と、それぞれの簡単な解説を表示します。 .TP 4 .B \-d デフォルトのエディタの標準キーバインドをすべてのキーに適用します。 .TP 4 .B \-e GNU Emacs に似たキーバインドをすべてのキーに適用します。 .TP 4 .B \-v 標準の \fIvi\fR(1) に似たキーバインドをすべてのキーに適用します。 .TP 4 .B \-a 代替キーマップを表示またはそのキーバインドを変更します。 代替キーマップは \fIvi\fR コマンドモードのものです。 .TP 4 .B \-b \fIkey\fR を次のように解釈します。 ^\fIcharacter\fR (たとえば `^A')、C-\fIcharacter\fR (たとえば `C-A') のようなものはコントロールキャラクタ、 M-\fIcharacter\fR (たとえば `M-A')のようなものはメタキャラクタ、 F-\fIstring\fR (たとえば `F-string')のようなものは ファンクションキー、X-\fIcharacter\fR (たとえば `X-A') のような ものは拡張プリフィックスキーです。 .TP 4 .B \-k \fIkey\fR は矢印キーの名前、`down', `up', `left', `right' の いずれかとして解釈されます。 .TP 4 .B \-r \fIkey\fR のバインドを解除します。 `bindkey \-r' は \fIkey\fR を \fIself-insert-command\fR にバインドする のでは\fIなく\fR、そのキーのバインドを完全に解除してしまうことに 注意してください。 .TP 4 .B \-c \fIcommand\fR は編集コマンドでなく、組み込みコマンドか 外部コマンドの名前として解釈されます。 .TP 4 .B \-s \fIcommand\fR は通常の文字列として解釈され、\fIkey\fR がタイプされた 時に端末から入力されたように扱われます。\fIcommand\fR で バインドされたキー自体も再び解釈が行われ、10 レベルまで繰り返し 解釈が行われます。 .TP 4 .B \-\- オプション処理の中断を行います。したがって、次の単語が '\-' で 始まっていたとしても、\fIkey\fR として解釈されます。 .TP 4 .B \-u \fR (または何らかの無効なオプション) 使い方を表示します。 .PD .PP \fIkey\fR は 1 文字であっても、文字列であっても構いません。 もしコマンドが文字列にバインドされているならば、文字列の最初の 文字は \fIsequence-lead-in\fR にバインドされ、文字列全体が コマンドにバインドされます。 .PP \fIkey\fR に含まれるコントロール文字はコントロール文字そのもの (通常 `^V' にバインドされているエディタの \fIquoted-insert\fR コマンドで入力できるもの) であっても、`^A' のような キャレット-文字形式であっても構いません。削除文字は `^?' (キャレット-疑問符) のように表します。\fIkey\fR と \fIcommand\fR は下に示す、バックスラッシュで始まる エスケープシーケンスを含むことができます (System V の \fIecho\fR(1) で用いられる形式です)。 .RS +4 .TP 8 .PD 0 .B \ea ベル .TP 8 .B \eb バックスペース .TP 8 .B \ee エスケープ .TP 8 .B \ef 改ページ (フォームフィード) .TP 8 .B \en 改行 .TP 8 .B \er キャリッジリターン .TP 8 .B \et 水平タブ .TP 8 .B \ev 垂直タブ .TP 8 .B \e\fInnn 8 進数 \fInnn\fR で表されるアスキー文字 .PD .RE .PP `\e' は後に続く文字に特別な意味があればそれを無効にします。 特に `\\' や `^' の場合です。 .RE .TP 8 .B break 実行を一番近い \fIforeach\fR または \fIwhile\fR と \fIend\fR の 組の、\fIend\fR の後から再開します。現在の行の残りのコマンドは 実行されます。したがって、複数のレベルのブレークは、1 行にそれらを 並べることで可能になります。 .TP 8 .B breaksw \fIswitch\fR からのブレークで、\fIendsw\fR の後から 実行が開始されます。 .TP 8 .B builtins \fR(+) すべての組み込みコマンドの名前を表示します。 .TP 8 .B bye \fR(+) 組み込みコマンド \fIlogout\fR の別名です。 これが使えるようにコンパイルされている場合にのみ有効です。 シェル変数 \fBversion\fR を参照してください。 .TP 8 .B case \fIlabel\fB: 下で説明する \fIswitch\fR 文で用いられるラベルです。 .TP 8 .B cd \fR[\fB\-p\fR] [\fB\-l\fR] [\fB\-n\fR|\fB\-v\fR] [\fIname\fR] もしディレクトリ名 \fIname\fR が与えられれば、シェルの 作業ディレクトリを \fIname\fR に変更します。与えられなければ \fBhome\fR に変更します。もし \fIname\fR が `\-' であれば、 ひとつ前の作業ディレクトリとして解釈されます (\fBOther substitutions\fR を参照)。\fIname\fR が 現在のディレクトリのサブディレクトリでなく、 `/', `./' , `../' のいずれかで始まるものでもない場合、 変数 \fBcdpath\fR の要素がひとつひとつチェックされ、 サブディレクトリ \fIname\fR が探されます。最後に、そのどれもが 失敗した場合に \fIname\fR が `/' ではじまる値をもつシェル変数で あれば、その変数が指すディレクトリが探されます。 .RS +8 .PP \fB\-p\fR を付けると、\fIdirs\fR と同じように最終的な ディレクトリスタックの内容を表示します。\fIcd\fR の \fB\-l\fR, \fB\-n\fR, \fB\-v\fR フラグは \fIdirs\fR のそれと同じ意味を持ち、 \fB\-p\fR の動作を含んでいます (+)。 .PP シェル変数 \fBimplicitcd\fR についても参照してください。 .RE .TP 8 .B chdir 組み込みコマンド \fIcd\fR の別名です。 .TP 8 .B complete \fR[\fIcommand\fR [\fIword\fB/\fIpattern\fB/\fIlist\fR[\fB:\fIselect\fR]\fB/\fR[[\fIsuffix\fR] \fB/\fR] ...]] (+) 引数なしの場合は、すべての補完の候補を表示します。 \fIcommand\fR をつけると、\fIcommand\fR の補完候補を表示します。 \fIcommand\fR と \fIword\fR などをつけると、補完を定義します。 .RS +8 .PP \fIcommand\fR はコマンドのフルネームでも、何らかのパターンでも 構いません (\fBファイル名置換\fRを参照)。 補完候補がひとつでないことを示すために、`-' ではじめることができます。 .PP \fIword\fR は現在の語の補完にどの単語が関係するのかを指定する もので、以下のうちどれか 1 つです。 .PP .PD 0 .RS +4 .TP 4 .B c 現在の語の補完。 \fIpattern\fR は、コマンドライン上の現在の語にマッチするパターンで なければなりません。 \fIpattern\fR は現在の語の補完が完了すると無視されます。 .TP 4 .B C \fBc\fR に似ていますが、現在の語の補完後に \fIpattern\fR を含みます。 .TP 4 .B n 次の語の補完。 \fIpattern\fR はコマンドライン上のひとつ前の語にマッチする パターンでなければなりません。 .TP 4 .B N \fBn\fR に似ていますが、現在の語のふたつ前の語に マッチするパターンでなければなりません。 .TP 4 .B p 位置に依存した補完。 \fIpattern\fR は数値の範囲を指定するものであり、シェル変数の インデックスと同じ文法が用いられます。 現在の語を含むものでなければなりません。 .PD .RE .ig \" No longer true in 6.05.04 .PP When \fIpattern\fR is a glob-pattern (for \fBc\fR, \fBC\fR, \fBn\fR and \fBN\fR-type completion), a \fIpattern\fR of `*' does not match an empty word. 6.05.04 ではもう有効ではありません。 \fIpattern\fR がグローバルなパターンである場合 (\fBc\fR, \fBC\fR, \fBn\fR, \fBN\fR 型の補完の場合)、\fIpattern\fR の `*' は空の語には マッチしません。 .. .PP \fIlist\fR は以下のリストの中から可能な補完のリストを示します。 .PP .PD 0 .RS +4 .TP 8 .B a エイリアス .TP 8 .B b バインディング (編集コマンド) .TP 8 .B c コマンド (組み込みコマンドも外部コマンドも含みます) .TP 8 .B C 指定されたパスではじまる外部コマンド .TP 8 .B d ディレクトリ .TP 8 .B D 指定されたパスではじまるディレクトリ .TP 8 .B e 環境変数 .TP 8 .B f ファイル名 .TP 8 .B F 指定されたパスではじまるファイル名 .TP 8 .B g グループ名 .TP 8 .B j ジョブ .TP 8 .B l 制限値 .TP 8 .B n 何にも補完しません .TP 8 .B s シェル変数 .TP 8 .B S シグナル .TP 8 .B t プレイン (``テキスト'') ファイル .TP 8 .B T プレイン (``テキスト'') ファイルで、指定されたパスではじまるもの .TP 8 .B v すべての変数 .TP 8 .B u ユーザ名 .TP 8 .B x \fBn\fR に似ていますが、\fIlist-choices\fR が使われている時には \fIselect\fR を表示します。 .TP 8 .B X 補完 .TP 8 $\fIvar\fR 変数 \fIvar\fR に格納されている語 .TP 8 (...) リスト中の語 .TP 8 `...` コマンドの出力に含まれる語 .PD .RE .PP \fIselect\fR は glob パターンです (省略可能)。 これを指定すると、\fIlist\fR にある単語のうち \fIselect\fR にマッチするものだけが対象となり、 シェル変数 \fBfignore\fR は無視されます。 最後の 3 つの補完形式には \fIselect\fR パターンを与えることはできません。 また \fBx\fR は \fIlist-choices\fR 編集コマンドが用いられた時には \fIselect\fR を説明メッセージとして扱います。 .PP \fIsuffix\fR は単一の文字で、補完が成功するとそのあとに追加されます。 空の場合は何も追加されません。省略されると (この場合 4 番目のデリミタも省略できます) ディレクトリにはスラッシュ文字が、 その他の文字にはスペース文字が追加されます。 .PP ではいくつか例を示します。 コマンドによっては、ディレクトリのみを引数として取るものがあります。 (そのようなコマンドに対して) 通常ファイルを補完することは、的外れです。 .IP "" 4 > complete cd 'p/1/d/' .PP `cd' に続く最初の単語のみ (`p/1') をディレクトリで補完します。 コマンド補完を絞りこむために \fBp\fR-形式の補完を用いることもできます。 `cd' に続く最初の単語のみ (`p/1') をディレクトリで補完します。 .IP "" 4 > co[^D] .br complete compress .br > complete \-co* 'p/0/(compress)/' .br > co[^D] .br > compress .PP これは `co' で始まる (すなわち `co*' にマッチする) コマンド (位置 0 にある単語 `p/0') を補完して、 `compress' (リストにある唯一の単語) を与えたものです。 先頭にある `\-' は、 この補完がコマンドを確定できない場合にのみ用いられることを意味します。 .IP "" 4 > complete find 'n/\-user/u/' .PP これは \fBn\fR-形式の補完の例です。 `find' の後で、かつ `\-user' の直後にある単語を、 ユーザーのリストで補完します。 .IP "" 4 > complete cc 'c/\-I/d/' .PP \fBc\fR-形式の補完の例です。`cc' の後にあり、 かつ `\-I' ではじまる単語をディレクトリで補完します。 ここでは小文字の \fBc\fR を用いているので、 `\-I' はディレクトリの一部とはみなされません。 .PP コマンドに応じて、便利な \fIlist\fR も異なります。 .IP "" 4 > complete alias 'p/1/a/' .br > complete man 'p/*/c/' .br > complete set 'p/1/s/' .br > complete true 'p/1/x:Truth has no options./' .PP これらでは、 `alias' に続く単語をエイリアスで、 `man' に続く単語をコマンドで、 `set' に続く単語をシェル変数で置き換えています。 `true' はオプションを取らないので、 補完が試みられたときに何も行わず、 補完リストの選択画面には `Truth has no options.' を表示する \fBx\fR を指定しています。 .PP .ig \" Changed in 6.05.04 The \fIman\fR example, and several other examples below, use \fBp\fR-type completion, rather than \fBC\fR- or \fBn\fR-type, so that `*' will match an empty word. .. \fIman\fR の例や、以下に示すいくつかの例では、 `p/*' の代わりに `c/*' や `n/*' を用いることもできます。 .PP 単語の補完を変数で行うこともできます。これらの変数は補完の際に評価されます。 .IP "" 4 > complete ftp 'p/1/$hostnames/' .br > set hostnames = (rtfm.mit.edu tesla.ee.cornell.edu) .br > ftp [^D] .br rtfm.mit.edu tesla.ee.cornell.edu .br > ftp [^C] .br > set hostnames = (rtfm.mit.edu tesla.ee.cornell.edu uunet.uu.net) .br > ftp [^D] .br rtfm.mit.edu tesla.ee.cornell.edu uunet.uu.net .PP また補完の際にコマンドを実行し、そこから補完を行うこともできます。 .IP "" 4 > complete kill 'p/*/`ps | awk \\{print\\ \\$1\\}`/' .br > kill \-9 [^D] .br 23113 23377 23380 23406 23429 23529 23530 PID .PP \fIcomplete\fR コマンド自身は、その引数をクォートしません。 したがって `{print $1}' にある括弧、スペース、`$' は 明示的にクォートしなければなりません。 .PP 1 つのコマンドに複数の補完を指定することもできます。 .IP "" 4 > complete dbx 'p/2/(core)/' 'p/*/c/' .PP これは `dbx' の第 2 引数を `core' という単語で補完し、 他のすべての引数をコマンドで補完します。 位置指定タイプの補完は、逐次補完より前に指定することに注意してください。 補完は左から右に評価されるので、 (常にマッチする) 逐次補完が先に指定されていると、 位置指定補完は決して行われなくなってしまいます。 これは補完定義の際によくやるミスなので注意してください。 .PP \fIselect\fR パターンは、 コマンドが特定の形式を持ったファイルだけを引数にとるような場合に便利です。 以下に例を示します。 .IP "" 4 > complete cc 'p/*/f:*.[cao]/' .PP これは `cc' の引数を、`.c', `.a', `.o' で終わるファイルだけから補完します。 以下の\fBファイル名置換\fRで述べるようなやり方で グロブパターンの否定を指定すれば、 \fIselect\fR で特定のファイルを排除することもできます。 .IP "" 4 > complete rm 'p/*/f:^*.{c,h,cc,C,tex,1,man,l,y}/' .PP これは大事なソースコードを `rm' の補完に現れないようにします。 もちろんこの排除された名前を手で打ったり、 \fIcomplete-word-raw\fR や \fIlist-choices-raw\fR などの編集コマンドを用いて補完の仕組みを変更することもできます (それぞれ該当の部分を参照)。 .PP `C', `D', `F', `T' 各\fIリスト\fRは、 それぞれ `c', `d', `f', `t' と似ていますが、 \fIselect\fR の引数の解釈の仕方が異なり、 補完対象のファイルを前置パス名が特定のものに限ります。 たとえば、メールプログラム Elm は `=' を ユーザのメールディレクトリの省略名として用います。 この場合 `elm \-f =' を `elm \-f ~/Mail/' であるかのように補完するには .IP "" 4 > complete elm c@=@F:$HOME/Mail/@ .PP とすべきです。ここでは `/' の代わりに `@' を用い、 \fIselect\fR 引数を見やすくしています。 またホームディレクトリの置換は単語の先頭でのみ動作するので、 `~' の代わりに `$HOME' を用いています。 .PP \fIsuffix\fR は標準では用意されていないサフィックス (スペースやディレクトリに対する `/' 以外) を単語補完用に追加するために用います。 .IP "" 4 > complete finger 'c/*@/$hostnames/' 'p/1/u/@' .PP これは `finger' の引数を、まずユーザのリストから補完し、 それに `@' を追加し、さらに `@' の後を変数 `hostnames' のリストから 補完します。ここでも補完指定の順序に注意してください。 .PP 最後に、示唆に富む複雑な例を示しましょう。 .IP "" 4 > complete find \\ .br \'n/\-name/f/' 'n/\-newer/f/' 'n/\-{,n}cpio/f/' \e .br \'n/\-exec/c/' 'n/\-ok/c/' 'n/\-user/u/' \e .br \'n/\-group/g/' 'n/\-fstype/(nfs 4.2)/' \e .br \'n/\-type/(b c d f l p s)/' \e .br \'c/\-/(name newer cpio ncpio exec ok user \e .br group fstype type atime ctime depth inum \e .br ls mtime nogroup nouser perm print prune \e .br size xdev)/' \e .br \'p/*/d/' .PP これは `\-name', `\-newer', `\-cpio', `ncpio' に続く単語を ファイルで補完し (最後の両者にマッチするパターンに注意)、 `\-exec', `\-ok' に続く単語をコマンドで補完し、 `user' の後をユーザ名で、`group' の後をグループ名で補完し、 `\-fstype' と `\-type' の後をそれぞれに与えたリストのメンバーで補完します。 また find に与えるスイッチ達も与えたリストから補完し (\fBc\fR-型の補完を用いていることに注意)、 それ以外のものすべてをディレクトリで補完します。ふぅ。 .PP 補完指定は、対象となる単語がチルダ置換 (`~' ではじまる) や 変数 (`$' ではじまる) の場合は無視されることに留意してください。 \fIcomplete\fR は実験的な機能であり、 文法はこのシェルの将来のバージョンでは変更されるかもしれません。 組み込みコマンド \fIuncomplete\fR の説明も見てください。 .RE .TP 8 .B continue もっとも近い \fIwhile\fR または \fIforeach\fR ループの実行を継続します。 現在の行にある残りのコマンドは実行されます。 .TP 8 .B default: \fIswitch\fR 文のデフォルトの場合のラベルです。 これはすべての \fIcase\fR ラベルの後に置くべきです。 .PP .B dirs \fR[\fB\-l\fR] [\fB\-n\fR|\fB\-v\fR] .br .B dirs \-S\fR|\fB\-L \fR[\fIfilename\fR] (+) .PD 0 .TP 8 .B dirs \-c \fR(+) 最初の形式はディレクトリスタックを表示します。 スタックの上が左に来て、 スタック先頭のディレクトリは現在のディレクトリになります。 \fB\-l\fR を指定すると、出力の `~' や `~\fIname\fP' は、 \fBhome\fR や、ユーザ \fIname\fP のホームディレクトリのパス名に 明示的に展開されます。 (+) \fB\-n\fR を指定すると、エントリはスクリーンの終端に達する前に 桁折りされます。 (+) \fB\-v\fR を指定すると、各エントリが 1 行に 1 つずつ表示され、 スタック内部での位置がエントリの前に表示されます。 (+) \fB\-n\fR や \fB\-v\fR がひとつ以上指定されると \fB\-v\fR が優先されます。 .PD .RS +8 .PP \fB\-S\fR を指定した 2 番目の形式では、 ディレクトリスタックを \fIcd\fR と \fIpushd\fR からなるコマンド列として \fIfilename\fR に保存します。 \fB\-L\fR を指定すると、このシェルは \fIfilename\fR を source します。 このファイルは、以前に \fB\-S\fR オプションや \fBsavedirs\fR 機構で保存されたディレクトリスタックです。 いずれの場合でも、 \fIfilename\fR が与えられなければ \fBdirsfile\fR を用います。 \fBdirsfile\fR も指定されていなければ \fI~/.cshdirs\fR を用います。 .PP ログインシェルは `dirs \-L' と同様のことを起動時に行っており、 また \fBsavedirs\fR が設定されていれば終了前に `dirs \-S' と同様のことを行います。 通常 \fI~/.tcshrc\fR だけが \fI~/.cshdirs\fR の前に source されるので、 \fBdirsfile\fR は \fI~/.login\fR ではなく \fI~/.tcshrc\fR で設定すべきです。 .PP 最後の形式はディレクトリスタックをクリアします。 .RE .TP 8 .B echo \fR[\fB\-n\fR] \fIword\fR ... 各 \fIword\fR をスペースで区切り、改行で終端させて シェルの標準出力に書き出します。 シェル変数 \fBecho_style\fR を指定すると、 BSD や System V の \fIecho\fR のフラグやエスケープシーケンスを エミュレートする (しない) ようにできます。 詳細は \fIecho\fR(1) を見てください。 .TP 8 .B echotc \fR[\fB\-sv\fR] \fIarg\fR ... (+) \fIarg\fR で与えられた端末の機能 (\fItermcap\fR(5) を参照) を実行します。 たとえば `echotc home' はカーソルをホームポジションに移動し、 `echotc cm 3 10' はカーソルを 3 列 10 行に移動し、 `echotc ts 0; echo "This is a test."; echotc fs' は "This is a test." をステータス行に表示します。 .RS +8 .PP \fIarg\fR が `baud', `cols', `lines', `meta', `tabs' の いずれかであった場合は、その機能の値を表示します ("yes" または "no" は、端末がその機能を持っているかいないかを示します)。 遅い端末でシェルスクリプトの出力をより寡黙にしたり、 コマンドの出力をスクリーンの行数に制限したりするような場合には、 以下のコマンドを使うと良いでしょう。 .IP "" 4 > set history=`echotc lines` .br > @ history\-\- .PP termcap 文字列はワイルドカードを含むことができますが、 これは正しく echo されません。 シェル変数に端末機能文字列を設定するときには、 以下の例のようにダブルクォートを用いてください。 この例では日付をステータス行に表示しています。 .IP "" 4 > set tosl="`echotc ts 0`" .br > set frsl="`echotc fs`" .br > echo \-n "$tosl";date; echo \-n "$frsl" .PP \fB\-s\fR を指定すると、存在しない機能を指定したとき、 エラーをおこさずに空文字列を返します。 \fB\-v\fR を指定するとメッセージが冗長になります。 .RE .PP .B else .br .B end .br .B endif .PD 0 .TP 8 .B endsw 以下の \fIforeach\fR, \fIif\fR, \fIswitch\fR, \fIwhile\fI 文の説明を見てください。 .PD .TP 8 .B eval \fIarg\fR ... 引数をシェルへの入力として扱い、 残りのコマンドを現在のシェルのコンテキストで実行します。 これは通常、コマンド置換や変数置換の結果として生成されたコマンド列を 実行する場合に用いられます。 これはそれらの置換に先立って文法解析が行われてしまうためです。 \fIeval\fR の利用例は \fItset\fR(1) を見てください。 .TP 8 .B exec \fIcommand\fR 指定したコマンドを現在のシェルの代わりに実行します。 .TP 8 .B exit \fR[\fIexpr\fR] 指定した \fIexpr\fR (\fB式\fRで解説した式) の値で (\fIexpr\fR が指定されていなければ \fBstatus\fR 変数の値で) シェルを終了します。 .TP 8 .B fg \fR[\fB%\fIjob\fR ...] 指定したジョブ (あるいは引数がなければ現在のジョブ) をフォアグラウンドに移動します。停止状態にあるものは再開します。 \fIjob\fR には\fBジョブ\fRで解説されているように、 数値、文字列、`', `%', `+', `\-' のどれかを指定できます。 \fIrun-fg-editor\fI 編集コマンドも見てください。 .TP 8 .B filetest \-\fIop file\fR ... (+) (\fBファイル問合わせ演算子\fRで解説されている) ファイル問合わせ演算子 \fIop\fR を各 \fIfile\fR に適用し、 結果をスペース区切りのリストで返します。 .PP .B foreach \fIname \fB(\fIwordlist\fB) .br \&... .PD 0 .TP 8 .B end \fIwordlist\fR のメンバーを \fIname\fR に順々に代入し、 これと対応する \fIend\fR に挟まれた範囲の コマンドシーケンスを実行します。 (\fIforeach\fR と \fIend\fR は 1 行に単独で現れなければなりません。) 組み込みコマンド \fIcontinue\fR を用いると ループを途中で継続することができ、 組み込みコマンド \fIbreak\fR を用いると ループを途中で終了させることができます。 このコマンドが端末から読み込まれると、 一度ループを `foreach?' プロンプト (あるいは \fBprompt2\fR) で読み込み、全体を読み終えてからループの各文を実行します。 端末からの入力時にループの途中でタイプミスをした場合は 修正できます。 .PD .TP 8 .B getspath \fR(+) システムの実行パスを表示します。 (TCF のみ) .TP 8 .B getxvers \fR(+) 実験的バージョンのプレフィックスを表示します。 (TCF のみ) .TP 8 .B glob \fIwordlist \fIecho\fR と似ていますが、`\\' でのエスケープを認識せず、 また出力での単語区切りをヌル文字にします。 単語リストをファイル名に展開するために プログラムからシェルを利用したいような場合に便利です。 .TP 8 .B goto \fIword \fIword\fR はファイル名と `label' 形式の文字列を出力するコマンド置換です。 シェルは入力を可能なかぎりさかのぼり、 `label:' 形式の行 (空白やタブが前置されていても良い) を検索し、 その行の次から実行を継続します。 .TP 8 .B hashstat 内部のハッシュテーブルが、 これまでのコマンド探索にどの程度効率的であったか (そして \fIexec\fR 類を使わずに済んだか) を示す統計行を表示します。 \fBpath\fR の各成分のうち、 ハッシュ関数がヒットの可能性があるとしたものや、 `/' で始まらないものに対して \fIexec\fR が試みられます。 .IP \fIvfork\fR(2) のないマシンでは、 単にハッシュバケツのサイズを表示します。 .PP .B history \fR[\fB\-hTr\fR] [\fIn\fR] .br .B history \-S\fR|\fB\-L|\fB\-M \fR[\fIfilename\fR] (+) .PD 0 .TP 8 .B history \-c \fR(+) 最初の形式はイベントリストの履歴を表示します。 \fIn\fR を与えると、新しい方最大 \fIn\fR 個のイベントを 表示または保存します。 \fB\-h\fR を指定すると、行頭の数字抜きでリストを表示します。 \fB\-T\fR を指定すると、タイムスタンプもコメントのかたちで表示されます。 (これを用いると、 `history \-L' や `source \-h' でのロードに適したファイルが作成できます。) \fB\-r\fR を指定すると、 表示の順番がデフォルトの古い順ではなく新しい順になります。 .PD .RS +8 .PP 2 番目の形式で \fB\-S\fR を指定すると、履歴リストを \fIfilename\fR に保存します。シェル変数 \fBsavehist\fR の最初の単語が 数値に設定されていると、最大でその数値までの行数が保存されます。 \fBsavehist\fR の 2 番目の単語が `merge' だった場合には、 履歴リストが現存の履歴ファイルにマージされ、タイムスタンプ順にソートされます (デフォルトでは現存のファイルを置き換えます)。 (+) マージは X Window System のように、 複数のシェルを同時に用いるような場合向けのものです。 現在は、シェルが行儀良く順々に終了するような場合でないと、 マージは成功しません。 .PP \fB\-L\fR を指定すると、シェルは \fIfilename\fR を 履歴リストに追加します。\fIfilename\fR は以前に \fB\-S\fR オプションや \fBsavehist\fR 機構で保存された履歴リストファイルです。 \fB\-M\fR は \fB\-L\fR と似ていますが、 \fIfilename\fR の内容は履歴リストにマージされ、 タイムスタンプの順にソートされます。 いずれの場合でも、\fIfilename\fR が与えられなければ \fBhistfile\fR を用い、 \fBhistfile\fR も設定されていなければ \fI~/.history\fR を用います。 `history \-L' はほとんど `source \-h' と同じですが、 前者ではファイル名を省略できます。 .PP ログインシェルは `history \-L' と同様のことを起動時に行っており、 また \fBsavehist\fR が設定されていれば終了前に `history \-S' と同様のことを行います。 通常 \fI~/.tcshrc\fR だけが \fI~/.history\fR の前に source されるので、 \fBhistfile\fR は \fI~/.login\fR ではなく \fI~/.tcshrc\fR で設定すべきです。 .PP \fBhistlit\fR が設定されていると、 最初の形式と 2 番目の形式は履歴リストを 文字通りの (展開されない) かたちで表示、保存します。 .PP 最後の形式は履歴リストをクリアします。 .RE .TP 8 .B hup \fR[\fIcommand\fR] \fR(+) \fIcommand\fR を指定すると、 hangup シグナルが送られたときに終了するようにして \fIcommand\fR を実行し、 シェルが終了するときにそのコマンドに hangup シグナルを送るようにします。 コマンドによっては hangup に対するそれぞれ独自の反応を設定することがあり、 これは \fIhup\fR より優先されるかもしれません。 引数を設定しないと (シェルスクリプト内部のみで許されます)、 そのシェルは残りのスクリプトの途中で hangup シグナルを受け取ると終了するようになります。 \fBシグナル処理\fRと組み込みコマンド \fInohup\fR の部分も見てください。 .TP 8 .B if (\fIexpr\fB) \fIcommand \fIexpr\fR (\fB式\fRで解説した式) の評価結果が真なら、 \fIcommand\fR が実行されます。 \fIcommand\fR に対する変数置換は、実行に先だって \fIif\fR コマンドの残りの部分と同時に行われます。 \fIcommand\fR は単純なコマンドでなければならず、 エイリアス、パイプライン、(括弧で括られた / ていない) コマンドリストは指定できません。ただし引数は指定できます。 \fIexpr\fR が偽で、 \fIcommand\fR が\fI実行されない\fR場合でも 入出力リダイレクションは行われてしまいます。 これはバグです。 .PP .B if (\fIexpr\fB) then .br \&... .br .B else if (\fIexpr2\fB) then .br \&... .br .B else .br \&... .PD 0 .TP 8 .B endif 指定した \fIexpr\fR が真の場合、 最初の \fIelse\fI までのコマンド群が実行されます。 \fIexpr\fR が偽で \fIexpr2\fR が真の場合は、 2 番目の \fIelse\fR までのコマンド群が実行されます。以下同じです。 \fIelse-if\fR のペアはいくつでも指定できますが、 \fIendif\fR はひとつしかいりません。 また \fIelse\fR 部は省略可能です。 (\fIelse\fR と \fIendif\fR の各単語は入力行の先頭にしか置けません。 \fIif\fR は入力行の先頭に単独で置くか、 \fIelse\fR の後に置くかしなければなりません。) .PD .TP 8 .B inlib \fIshared-library\fR ... (+) 各 \fIshared-library\fR を現在の環境に追加します。 共有ライブラリを削除する方法はありません。 (Domain/OS のみ) .TP 8 .B jobs \fR[\fB\-l\fR] アクティブなジョブをリストします。 \fB\-l\fR を指定すると、 通常の情報に加えてプロセス ID もリストします。 TCF システムでは、各ジョブが実行されているサイトも表示します。 .PP .PD 0 .TP 8 .B kill \-l 最初の形式は \fIsignal\fR を (何も指定されなければ TERM (terminate) シグナルを) 指定したジョブやプロセスに送ります。 \fIjob\fR には\fBジョブ\fRで解説されているように、 数値、文字列、`', `%', `+', `\-' のどれかを指定できます。 シグナルは数値または名前 (\fI/usr/include/signal.h\fR にあるものから前の `SIG' を取り除いたもの) のいずれかで与えます。 デフォルトの \fIjob\fR はありません。 単に `kill' としても、現在のジョブへはシグナルを送りません。 TERM (terminate) または HUP (hangup) シグナルを送った場合は、 そのジョブやプロセスには CONT (continue) シグナルも送信されます。 2 番目の形式はシグナルの名前をリストします。 .PD .ig \" Obsolete tcsh command .TP 8 .B linedit \fR(+) A synonym for the \fIecho\fR builtin command. .. .TP 8 .B limit \fR[\fB\-h\fR] [\fIresource\fR [\fImaximum-use\fR]] 現在のプロセスと、 現在のプロセスが生成するプロセスが消費する資源が、 指定した \fIresource\fR に対してプロセスひとつにつき \fImaximum-use\fR を越えないようにします。 \fImaximum-use\fR を指定しないと、current limit が表示されます。 \fIresource\fI を指定しないと、すべての制限値を表示します。 \fB\-h\fR フラグを指定すると、 current limit の代わりに hard limit を用います。 hard limit は current limit の限度を与えます。 hard limit はスーパーユーザーしか増やすことができませんが、 current limit は一般ユーザも可能な範囲内で増減できます。 .RS +8 .PP 現在制御できる資源は、 \fIcputime\fR (プロセスひとつにつき利用できる cpu 秒)、 \fIfilesize\fR (作成できる単一ファイルの最大サイズ)、 \fIdatasize\fR (プログラムテキストの終端を越えて sbrk(2) で増やせる データ領域+スタック領域の最大サイズ)、 \fIstacksize\fR (自動的に拡張されるスタック領域の最大サイズ)、 \fIcoredumpsize\fR (生成されるコアダンプの最大サイズ)、 \fImemoryuse\fR (プロセスひとつにいちどきに割り当てることのできる物理メモリの最大サイズ)、 です。 .PP \fImaximum-use\fR は浮動小数点値または整数値に、 単位をつけて指定します。 \fIcputime\fR 以外の制限値は、`k' または `kilobytes' (1024 バイト) をデフォルトの単位としています。 単位として `m' または `megabytes' を用いることもできます。 \fIcputime\fR のデフォルトの単位は `seconds' です。 分を表す `m', 時間を表す `h', 分 + 秒を表す `mm:ss' の形式などを用いることもできます。 .PP \fIresource\fR も単位も、他と区別がつく範囲で後半部を省略可能です。 .RE .TP 8 .B log \fR(+) シェル変数 \fBwatch\fR を表示し、そこにリストアップされている ユーザがログインしていればログインした時刻に関わらず報告します。 \fIwatchlog\fR についても参照してください。 .TP 8 .B login ログインシェルを終了して、\fI/bin/login\fR (訳注: FreeBSD では /usr/bin/login です) のインスタンスで置き換えます。これはログオフする 方法のひとつであり、\fIsh\fR(1) との互換性を保つ意味もあります。 .TP 8 .B logout ログインシェルを終了します。\fBignoreeof\fR がセットされている場合に 特に役立つでしょう。 .TP 8 .B ls\-F \fR[\-\fIswitch\fR ...] [\fIfile\fR ...] (+) `ls \-F' と同じようにファイルのリストを表示しますが、ずっと高速です。 各種の特別なファイル形式は特殊文字を用いて以下のように示されます。 .PP .RS +8 .PD 0 .TP 4 / ディレクトリ .TP 4 * 実行可能 .TP 4 # ブロック型デバイス .TP 4 % キャラクタ型デバイス .TP 4 | 名前付きパイプ (名前付きパイプのあるシステムでのみ) .TP 4 = ソケット (ソケットのあるシステムでのみ) .TP 4 @ シンボリックリンク (シンボリックリンクのあるシステムでのみ) .TP 4 + 隠しディレクトリ (AIX のみ) またはコンテキスト依存 (HP/UX のみ) .TP 4 : ネットワーク特殊型 (HP/UX のみ) .PD .PP シェル変数 \fBlistlinks\fR がセットされている場合は、 シンボリックリンクに関してより詳しく表示されます (もちろん、シンボリックリンクを持つシステムでだけです)。 .PP .PD 0 .TP 4 @ ディレクトリでないものへのシンボリックリンク .TP 4 > ディレクトリへのシンボリックリンク .TP 4 & どこへのリンクでもないシンボリックリンク .PD .PP \fBlistlinks\fR はシンボリックリンクの指し示すファイルが 存在するパーティションのマウントを引き起こすため、\fIls\-F\fR を 遅くしてしまいます。 .PP もしシェル変数 \fBlistfrags\fR が `x', `a', `A' のいずれかに セットされているか、それらの組合せ (たとえば `xA') に セットされている場合は、これが `ls \-xF' や `ls \-Fa'、 もしくは組み合わせて `ls \-FxA' のように \fIls\-F\fR の フラグとして使われます。`ls \-C' がデフォルトでないマシンでは \fBlistflags\fR が `x' を含む場合には \fIls \-xF' のように、 そうでなければ \fIls \-F\fR は `ls \-CF' のように振舞います。 \fIls \-F\fR は、何らかのスイッチが与えられた場合には \fIls\fR(1) に引数を渡すので、`alias ls ls\-F' は通常、正しく動作します。 .PP 組み込みの \fBls\-F\fR はファイルタイプや拡張子によってファイル名を 色分けすることができます。シェル変数 \fBcolor\fR \fItcsh\fR と 環境変数 \fBLS_COLORS\fR を参照してください。 .RE .PP .B migrate \fR[\fB\-\fIsite\fR] \fIpid\fR|\fB%\fIjobid\fR ... (+) .PD 0 .TP 8 .B migrate \-\fIsite\fR (+) 最初の形式では指定したプロセスまたはジョブを、指定した場所もしくは システムパスによって決定されるデフォルトの場所に移動します。 2 番目の形式は `migrate \-\fIsite\fR $$' と同じ意味を持ちます。 これは現在のプロセスを指定した場所に移動します。シェルは その tty を失わないことになっているので、シェル自身を移動することは 予期しない動作の原因となります。(TCF のみ) .PD .TP 8 .B newgrp \fR[\fB\-\fR] \fIgroup\fR (+) `exec newgrp' と同じ意味をもちます。\fInewgrp\fR(1) を 参照してください。 シェルがこれを使うことができるようにコンパイルされている場合に のみ使用可能です。シェル変数 \fBversion\fR を参照してください。 .TP 8 .B nice \fR[\fB+\fInumber\fR] [\fIcommand\fR] シェルのスケジューリング優先度を \fInumber\fR に設定するか、 \fInumber\fR が指定されていない場合は 4 に設定します。\fIcommand\fR をつけると、コマンド \fIcommand\fR を適切な優先度で実行します。 \fInumber\fR が大きいほど、そのプロセスが獲得する CPU 時間は短くなります。 スーパーユーザは `nice \-number ...' とすることにより負の値を 設定することができます。コマンドは常にサブシェルから実行され、 コマンドには単純な \fIif\fR 文の場合と同じ制限が課されます。 .TP 8 .B nohup \fR[\fIcommand\fR] \fIcommand\fR をつけると、コマンド \fIcommand\fR を ハングアップシグナルを無視して実行するようにします。 これらのコマンドが \fInohup\fR をオーバーライドして ハングアップシグナルに対して自分自身で応答するようにすることが あることに注意してください。引数のない場合 (シェルスクリプト中で のみ許されます)、スクリプトのそれ以降の部分でシェルは ハングアップシグナルを無視するようになります。 \fBシグナル処理\fRと、組み込みコマンド \fIhup\fR についても 参照してください。 .TP 8 .B notify \fR[\fB%\fIjob\fR ...] ユーザに非同期的に指定したジョブ (%\fIjob\fR が省略された場合は カレントジョブ) の状態に何らかの変化があった場合に非同期的に、 通知するようにします。この場合は通常と異なり、次のプロンプトが 出力されるまで待ちません。 \fIjob\fR は \fBJobs\fR に記述されているように番号、文字列、`', `%', `+', `\-' のどれでも許されます。 シェル変数 \fBnotify\fR も参照してください。 .TP 8 .B onintr \fR[\fB\-\fR|\fIlabel\fR] 割り込み時のシェルの動作を制御します。 引数がなければ、シェルのデフォルトの割り込み時の動作に設定されます。 この場合は、シェルスクリプトは割り込みで中断され、 コマンド実行時はコマンドの実行を中断してコマンド入力待ちに戻ります。 `-' が指定された場合はすべての割り込みが無視されます。 \fIlabel\fR を指定すると、割り込みが発生したり子プロセスが 割り込みで中断したりした場合に `goto \fIlabel\fR' を実行します。 .IP "" 8 \fIonintr\fR は、システムのスタートアップファイル (\fBFILES\fR を参照) で割り込みが禁止されている場合には無視されます。 .TP 8 .B popd \fR[\fB\-p\fR] [\fB\-l\fR] [\fB\-n\fR|\fB\-v\fR] \fR[\fB+\fIn\fR] 引数がなければ、ディレクトリスタックからひとつ値を取り出して、 そこに移動します。`+\fIn\fR' のように数値を与えると、 ディレクトリスタックの \fIn\fR' 番目のエントリを破棄します。 .IP "" 8 また、すべての形式の \fIpopd\fR は \fIdirs\fR のように ディレクトリスタックの最後のエントリを表示します。 シェル変数 \fBpushdsilent\fR はこれを抑制し、 \fB-p\fR フラグによって \fBpushdsilent\fR の動作を オーバーライドすることができます。 \fB\-l\fR, \fB\-n\fR, \fB\-v\fR フラグは \fIpopd\fR でも、\fIdirs\fR と同じ意味をもちます。 .TP 8 .B printenv \fR[\fIname\fR] (+) すべての環境変数の名前と値を表示するか、\fIname\fR を与えた場合には 環境変数 \fIname\fR の値を表示します。 .TP 8 .B pushd \fR[\fB\-p\fR] [\fB\-l\fR] [\fB\-n\fR|\fB\-v\fR] [\fIname\fR|\fB+\fIn\fR] 引数がなければ、ディレクトリスタックの一番上にあるふたつの エントリを入れ換えます。もし \fBpushdtohome\fR がセットされていれば、 引数なしの \fIpushd\fR は \fIcd\fR のように `pushd ~' を行います。 (+) \fIname\fR をつけると、現在の作業ディレクトリを ディレクトリスタックに積んで \fIname\fR に移動します。 もし \fIname\fR が `\-' であれば、ひとつ前の作業ディレクトリとして 解釈されます (\fBファイル名置換\fRを参照)。 (+) \fBdunique\fR がセットされていれば、\fIpushd\fR は、スタックに \fIname\fR を積む前にすべてのそれと同じものを指すエントリを スタックから除去します。(+) `+\fIn\fR' として番号をつけると、ディレクトリスタックの \fIn\fR 番目のエントリがトップにくるようにスタックを回転します。 \fBdextract\fR がセットされている場合、`pushd +\fIn\fR' を行うと \fIn\fR 番目のディレクトリが展開されて、 スタックのトップに移動されます。(+) .IP "" 8 また、すべての形式の \fIpushd\fR は \fIdirs\fR と同じように ディレクトリスタックの最終的な内容を表示します。シェル変数 \fBpushdsilent\fR をセットすることでこれをやめることができ、 またさらにこれは \fB-p\fR フラグによってオーバーライドすることが 可能です。\fIpushd\fR に対する \fB\-l\fR, \fB\-n\fR, \fB\-v\fR フラグの意味は \fIdirs\fR のものと同様です。(+) .TP 8 .B rehash \fBpath\fR 変数の示すディレクトリの内容を保持する 内部ハッシュテーブルを再構成します。これはログインしている間に 新しいコマンドが \fBpath\fR の示すディレクトリに追加された場合に 必要です。これはあなたが自分の個人的なディレクトリにコマンドを 追加した場合か、システム管理者がシステムディレクトリの内容を変更した 場合にのみ行われるべきです。このコマンドはまた、チルダ記号を 用いたホームディレクトリ記述のキャッシュもフラッシュします。 .TP 8 .B repeat \fIcount command\fR 指定されたコマンド \fIcommand\fR を \fIcount\fR 回 繰り返し実行します。\fIcommand\fR に指定するものは 一行 \fIif\fR 文で指定する \fIcommand\fR と同様の制限を受けます。 入出力リダイレクションは \fIcount\fR が 0 であっても、 必ず一回だけ処理されます。 .TP 8 .B rootnode //\fInodename \fR(+) ルートノードを //\fInodename\fR に変更します。結果として `/' は `//\fInodename\fR' として解釈されます。 (Domain/OS のみ) .PP .B sched \fR(+) .br .B sched \fR[\fB+\fR]\fIhh:mm command\fR \fR(+) .PD 0 .TP 8 .B sched \-\fIn\fR (+) 最初の形式は、予定されているイベントのリストを表示します。 シェル変数 \fBsched\fR は予定されているイベントのリストを 表示する形式を設定するためにセットされます。 3 番目の形式は \fIcommand\fR を予定されているイベントのリストに 追加します。たとえば、 .PD .RS +8 .IP "" 4 > sched 11:00 echo It\\'s eleven o\\'clock. .PP は、午前 11 時に `It's eleven o'clock.' を表示させます。 時間は 12 時間制の AM/PM を指定する書式でも構いません。 .IP "" 4 > sched 5pm set prompt='[%h] It\\'s after 5; go home: >' .PP また、現在時刻からの相対的な時間でも構いません。 .IP "" 4 > sched +2:15 /usr/lib/uucp/uucico \-r1 \-sother .PP 相対的な指定では AM/PM を使うべきではありません。 3 番目の書式では \fIn\fR 番のイベントをリストから削除します。 .IP "" 4 > sched .br 1 Wed Apr 4 15:42 /usr/lib/uucp/uucico \-r1 \-sother .br 2 Wed Apr 4 17:00 set prompt=[%h] It's after 5; go home: > .br > sched \-2 .br > sched .br 1 Wed Apr 4 15:42 /usr/lib/uucp/uucico \-r1 \-sother .PP 予定イベントのリストにあるコマンドは、コマンドがリストに 入れられてから最初のプロンプトが出たあとで実行されます。 実行の正確な時間を過ぎてしまうことはありますが、 次のプロンプトでは遅れたコマンドが実行されます。 シェルがユーザのコマンド入力を待っている間に実行予定時間が来た コマンドは直ちに実行されます。しかし、既に実行されているコマンドの 実行に割り込むことはできませんし、 予定されていたコマンドの実行についても同様です。 .PP この仕組みはいくつかの Unix システムに実装されている \fIat\fR(1) に 似ていますが同じではありません。 指定した時刻通りにコマンドが実行できないことがあるのは非常に大きな 短所です。しかしこの仕組みの長所は、\fIsched\fR はシェルから 直接実行でき、シェル変数やその他の資源へのアクセスが できるということです。これは時刻によってユーザの作業環境を 変化させることを可能にします。 .RE .PP .B set .br .B set \fIname\fR ... .br .B set \fIname\fR\fB=\fIword\fR ... .br .B set [\-r] [\-f|\-l] \fIname\fR\fB=(\fIwordlist\fB)\fR ... (+) .br .B set \fIname[index]\fR\fB=\fIword\fR ... .br .B set \-r \fR(+) .br .B set \-r \fIname\fR ... (+) .PD 0 .TP 8 .B set \-r \fIname\fR\fB=\fIword\fR ... (+) 1 番目の形式ではすべてのシェル変数の値を表示します。 複数の単語からなる値を持つ変数は括弧で囲まれた値のリストとして表示します。 2 番目の形式では \fIname\fR に空文字列をセットします。 3 番目の形式では \fIname\fR に単一の単語 \fIword\fR をセットします。 4 番目の形式では \fIname\fR に \fIwordlist\fR で示した単語の リストをセットします。すべての場合においてコマンド置換や ファイル名置換が値に対して行われます。\-r が指定された場合には、 値は読み取り専用でセットされます。\-f または \-l が 指定された場合には、単語リストの中での順番を保ちながら 重複した単語が取り除かれます。 \-f は最初に出てきたものをリストに残し、\-l は最後に出てきたものを リストに残します。 5 番目の書式では変数 name の \fIindex\fR 番目の要素に \fIword\fR を セットします。この場合この要素は既に存在していなければなりません。 6 番目の書式は読み取り専用にセットされているシェル変数の 名前の一覧を表示します。 7 番目の書式は \fIname\fR を、値の有無に関わらず読み取り専用に セットします。 8 番目の書式は 3 番目の書式と同じですが、同時に \fIname\fR を 読み取り専用にセットします。 .PD .IP "" 8 複数の変数をセットしたり、読み取り専用にセットするために ひとつの set コマンドへの引数を繰り返すことができます。 しかし、変数への代入処理を開始する前に変数展開処理が一度に 行われることに注意してください。また、`=' は \fIname\fR と \fIword\fRの両方と接しているか、空白で区切られているかの どちらかであり、片方だけと接してはいけないことに注意してください。 組み込みコマンド \fIunset\fR についても参照してください。 .TP 8 .B setenv \fR[\fIname \fR[\fIvalue\fR]] 引数がなければ、すべての環境変数の名前と値を表示します。 \fIname\fR を与えられた場合は、環境変数 \fIname\fR の値を \fIvalue\fR に セットするか、\fIvalue\fR がなければ空文字列にセットします。 .TP 8 .B setpath \fIpath \fR(+) \fIsetpath\fR(1) と同様です。(Mach のみ) .TP 8 .B setspath\fR LOCAL|\fIsite\fR|\fIcpu\fR ... (+) システム実行パスを設定します。(TCF のみ) .TP 8 .B settc \fIcap value \fR(+) シェルに端末ケーパビリティ \fIcap\fR (\fItermcap\fR(5) で定義されたもの) は 値 \fIvalue\fR を持つことを教えます。 妥当性のチェックは行われません。 Concept 端末のユーザは、一番右の桁で適切な折り返しを行うために `settc xn no' を行う必要があるかもしれません。 .TP 8 .B setty \fR[\fB\-d\fR|\fB\-q\fR|\fB\-x\fR] [\fB\-a\fR] [[\fB+\fR|\fB\-\fR]\fImode\fR] (+) シェルが変更してはならない tty モード (\fB端末管理\fRを参照) を制御します。 \fB\-d\fR, \fB\-q\fR, \fB\-x\fR は \fIsetty\fR に、 それぞれ `edit', `quote', `execute' 時の tty モードをセットします。 \fB\-d\fR, \fB\-q\fR, \fB\-x\fR が指定されない場合、 `execute' が使用されます。 .IP "" 8 他の引数がなければ、\fIsetty\fR はオン (`+mode') または オフ (`-mode') に固定されているモードを一覧表示します。 使用可能なモードはシステムごとに異なるため、表示も異なります。 \fB\-a\fR をつけると、固定されているかどうかにかかわらず すべての tty モードを一覧表示します。 \fB+\fImode\fR, \fB\-\fImode\fR, \fImode\fR は、それぞれモード \fImode\fR をオンに固定、オフに固定、非固定にします。 たとえば、`setty +echok echoe' は `echok' をオンに固定し、 シェルがコマンドを実行する際に `echoe' モードを オンにしたりオフにしたりできるようにします。 .TP 8 .B setxvers\fR [\fIstring\fR] (+) \fIstring\fR に試験的なバージョンプリフィックスをセットし、 \fIstring\fR が省略された場合にはそれを削除します。(TCF のみ) .TP 8 .B shift \fR[\fIvariable\fR] 引数がなければ、\fBargv\fR[1] を破棄してメンバを左にずらします。 \fBargv\fR がセットされていなかったり、 値が 1 つもなかった場合にはエラーになります。 変数名 \fIvariable\fR を指定すると、 変数 \fIvariable\fR に対して同じ動作を行います。 .TP 8 .B source \fR[\fB\-h\fR] \fIname\fR [\fIargs\fR ...] \fIname\fR からコマンドを読み取って実行します。 コマンドはヒストリリストには残されません。 もし引数 \fIargs\fR が与えられればそれは \fBargv\fR に 入れられます。(+) \fIsource\fR コマンドは入れ子にすることができます。 もし入れ子のレベルがあまりに深くなり過ぎると、 シェルはファイル記述子の不足を起こすでしょう。 \fIsource\fR でのエラーはすべての入れ子になっている \fIsource\fR の 実行を停止します。 \fB\-h\fR を付けると、コマンドを実行するかわりに `history \-L' の ようにヒストリリストに入力されます。 .TP 8 .B stop \fB%\fIjob\fR|\fIpid\fR ... 指定したバックグラウンドで実行されているジョブまたはプロセスを 停止します。\fIjob\fR は番号か、文字列か、あるいは\fBジョブ\fRに 示されている `', `%', `+', `\-' のいずれかを指定します。 デフォルトの \fIjob\fR は存在しないので、 ただ `stop' を実行するだけではカレントジョブを 停止することにはなりません。 .TP 8 .B suspend \fB^Z\fR で送られるような stop シグナルが送られたかのように、 その場でシェルを停止させます。 これは多くの場合 \fIsu\fR(1) で起動したシェルを停止するのに用いられます。 .PP .B switch (\fIstring\fB) .br .B case \fIstr1\fB: .PD 0 .IP "" 4 \&... .br .B breaksw .PP \&... .PP .B default: .IP "" 4 \&... .br .B breaksw .TP 8 .B endsw 指定された文字列 \fIstring\fR に対して、各 case ラベルを連続的に マッチさせます。\fIstring\fR にはそれに先だってコマンド置換と ファイル名置換が行われます。case ラベルには変数置換が行われ、 ファイル名メタキャラクタの `*', `?', `[...]' を用いることができます。 `default' ラベルが出てくるまでにどの case ラベルとも マッチしなかった場合、default ラベルの後から実行が開始されます。 各 case ラベルと default ラベルは行の最初になければなりません。 \fIbreaksw\fR コマンドは実行を中断して \fIendsw\fR の後から 再開させます。 \fIbreaksw\fR を使用しない場合は C 言語と同様に case ラベルや default ラベルを通過して実行が続けられます。 もしマッチするラベルも default ラベルも存在しない場合は、 実行は \fIendsw\fR の後から再開されます。 .PD .TP 8 .B telltc \fR(+) 端末ケーパビリティのすべての値を一覧表示します (\fItermcap\fR(5) を参照)。 .TP 8 .B time \fR[\fIcommand\fR] コマンド \fIcommand\fR (エイリアスやパイプライン、コマンドリストや 括弧でくくったコマンドリストでない単純なものでなければなりません) を実行し、変数 \fBtime\fR の項で説明する形式で、実行所用時間に 関する要約を表示します。必要ならば、コマンド終了時に時間を 表示するための追加のシェルが生成されます。\fIcommand\fR を 指定しなかった場合は、現在のシェルとその子プロセスが使用した時間に 関する要約が表示されます。 .TP 8 .B umask \fR[\fIvalue\fR] 8 進数で指定されたファイル作成マスクを \fIvalue\fR に設定します。 一般的なマスクの値としては、グループにすべての権限を与え、 その他には読み取りと実行のみを許可する 002 や、グループとその他に 読み取りと実行を許可する 022 があります。 \fIvalue\fR を省略すると、現在のファイル作成マスクを表示します。 .TP 8 .B unalias \fIpattern .br パターン \fIpattern\fR にマッチするすべてのエイリアスを削除します。 したがって `unalias *' とすることですべてのエイリアスを 削除できます。 \fIunalias\fR するものがなかった場合もエラーにはなりません。 .TP 8 .B uncomplete \fIpattern\fR (+) パターン \fIpattern\fR にマッチするすべての補完対象を削除します。 したがって `uncomplete *' とすることですべての補完対象を 削除します。 \fIuncomplete\fR するものがなかった場合もエラーにはなりません。 .TP 8 .B unhash 実行プログラムの検索を高速化する内部ハッシュテーブルの使用を 禁止します。 .TP 8 .B universe \fIuniverse\fR (+) universe を \fIuniverse\fR に設定します。(Masscomp/RTU のみ) .TP 8 .B unlimit \fR[\fB\-h\fR] [\fIresource\fR] リソース \fIresource\fR の制限を解除します。\fIresource\fR が 指定されない場合は、すべてのリソースに関する制限が解除されます。 \fB\-h\fR が指定されると、対応するハードリミットが解除されます。 これはスーパーユーザのみが行うことができます。 .TP 8 .B unset \fIpattern パターン \fIpattern\fR にマッチするすべての変数を、読み取り専用の 場合も含めて削除します。したがって `unset *' とすることによって 読み取り専用のものも含めてすべての変数が削除されますが、 これは良いことではありません。 \fIunset\fR するものがなかった場合もエラーにはなりません。 .TP 8 .B unsetenv \fIpattern パターン \fIpattern\fR にマッチするすべての環境変数を削除します。 したがって `unsetenv *' とすることによってすべての環境変数を 削除することができますが、これは良いことではありません。 \fIunsetenv\fR する環境変数がなかった場合もエラーにはなりません。 .TP 8 .B ver \fR[\fIsystype\fR [\fIcommand\fR]] (+) 引数が与えられなかった場合は \fBSYSTYPE\fR を表示します。 \fIsystype\fR を指定した場合は、\fBSYSTYPE\fR を \fIsystype\fR に設定します。\fIsystype\fR とコマンド \fIcommand\fR を指定した場合は、\fIsystype\fR で \fIcommand\fR を 実行します。\fIsystype\fR は `bsd4.3' か `sys5.3' のいずれかです。 (Domain/OS のみ) .TP 8 .B wait すべてのバックグラウンドジョブの終了を待ちます。対話的にシェルが 実行されている場合、割り込みにより wait を停止することが できます。この際シェルはまだ終了していないすべてのジョブの名前と その番号を表示します。 .TP 8 .B warp \fIuniverse\fR (+) universe を \fIuniverse\fR に設定します。(Convex/OS のみ) .TP 8 .B watchlog \fR(+) 組み込みコマンド \fIlog\fR の別名です (そちらも参照)。 コンパイル時に使用できるように設定されている場合にのみ使用可能です。 シェル変数 \fBversion\fR を参照してください。 .TP 8 .B where \fIcommand\fR (+) コマンド \fIcommand\fR について、エイリアスや組み込みコマンド、 \fBpath\fR にある実行可能ファイルを含めてシェルの知っている すべての実体を一覧表示します。 .TP 8 .B which\fR \fIcommand\fR (+) コマンド \fIcommand\fR が、\fBpath\fR の検索などの処理のあとで、 実際に実行されるコマンドを表示します。組み込みのものは \fIwhich\fR(1) とほとんど同じですが、 \fItcsh\fR のエイリアスや組み込みコマンドついても正しく報告し、 また 10 から 100 倍高速です。 編集コマンド \fIwhich-command\fR についても参照してください。 .PP .B while (\fIexpr\fB)\fR .br \&... .PD 0 .TP 8 .B end 指定された式 \fIexpr\fR (\fB式\fRで述べられている式) の評価結果が 0 でない限り、\fIwhile\fR とそれに対応する \fIend\fR の間のコマンド を繰り返し実行します。 \fIwhile\fR と \fIend\fR はその行に単独で書かれなければなりません。 \fIbreak\fR と \fIcontinue\fR は、ループを途中で中断したり再開する 場合に使用します。 入力が端末の場合は、\fIforeach\fR の場合と同じように、 ループの内容を一通り入力するまでユーザにプロンプトが出力されます。 .PD .SS "特別なエイリアス (+)" これらのエイリアスは、設定されている場合それぞれ指示された時刻に 自動的に実行されます。これらのエイリアスは、初期状態ではすべて 未定義です。 .TP 8 .B beepcmd シェルが端末ベルを鳴らしたいときに実行されます。 .TP 8 .B cwdcmd 作業ディレクトリが変更されるたびに実行されます。たとえば、 ユーザが X Window System 上で作業していて、 \fIxterm\fR(1) および \fItwm\fR(1) のように、 タイトルバーをサポートしている リペアレントウインドウマネージャを使用していて、 .RS +8 .IP "" 4 > alias cwdcmd 'echo \-n "^[]2;${HOST}:$cwd ^G"' .PP を実行すると、シェルは、動作中の \fIxterm\fR(1) のタイトルを ホスト名、コロン、そしてカレント作業ディレクトリのフルパスに 変更します。 これをもっと面白く実行するには、次のようにします。 .IP "" 4 > alias cwdcmd 'echo \-n "^[]2;${HOST}:$cwd^G^[]1;${HOST}^G"' .PP こうすると、ホスト名および作業ディレクトリはタイトルバーに 変更されますが、アイコンマネージャのメニューにはホスト名しか 表示されなくなります。 .PP \fIcwdcmd\fR 中に \fIcd\fR, \fIpushd\fR あるいは \fIpopd\fR を置くと、 無限ループを引き起こす可能性があることに注意してください。 そういうことをする人は、そうしてしまった代償は受けるものだというのが 作者の見解です。 .RE .TP 8 .B helpcommand \fBrun-help\fR 編集コマンドが実行します。ヘルプが探すコマンド名は、 単一の引数として渡されます。 たとえば、 .RS +8 .IP "" 4 > alias helpcommand '\e!:1 --help' .PP とすると、GNU のヘルプ呼び出し方法を使った、 コマンドそのもののヘルプ表示が実行されます。 現在のところ、たくさんのコマンドを書いたテーブルを使う以外には、 いろいろな呼び出し方法 (たとえば、Unix の `-h' オプション)を 使い分ける簡単な方法はありません。 .RE .TP 8 .B periodic \fBtperiod\fR 分おきに実行されます。このエイリアスは、 たとえば新しいメールが届いたというような、 日常的ではあってもそれほど頻繁には起こらない変更点を チェックするのに便利な手段を提供します。 たとえば、 .RS +8 .IP "" 4 > set tperiod = 30 .br > alias periodic checknews .PP とすると、30 分おきに \fIchecknews\fR(1) プログラムが起動します。 \fIperiodic\fR が設定されているが、\fBtperiod\fR が設定されていないか あるいは 0 に設定されている場合、\fIperiodic\fR は \fIprecmd\fR のように振る舞います。 .RE .TP 8 .B precmd プロンプトが表示される直前に実行されます。たとえば、 .RS +8 .IP "" 4 > alias precmd date .PP とすると、各コマンド用にシェルプロンプトが表示される直前に \fIdate\fR(1) が起動します。 \fIprecmd\fR に何を設定できるかには制限はありませんが、 慎重に選んでください。 .RE .TP 8 .B postcmd 各コマンドが実行される前に実行されます。 .RS +8 .IP "" 4 > alias postcmd 'echo \-n "^[]2\e;\e!#^G"' .PP とすると、\fIvi foo.c\fR を実行すると xterm のタイトルバーに このコマンド文字列が書かれます。 .RE .TP 8 .B shell スクリプト中でインタプリタを指定していない実行可能スクリプト用の インタプリタを指定します。 最初の単語は、使用したいインタプリタへのフルパスでなくてはなりません (たとえば、`/bin/csh' や `/usr/local/bin/tcsh')。 .SS "特別なシェル変数" このセクションで述べる変数は、シェルにとっては特別な意味のあるものです。 .PP シェルは、起動時に次の変数を設定します。\fBaddsuffix\fR, \fBargv\fR, \fBautologout\fR, \fBcommand\fR, \fBecho_style\fR, \fBedit\fR, \fBgid\fR, \fBgroup\fR, \fBhome\fR, \fBloginsh\fR, \fBoid\fR, \fBpath\fR, \fBprompt\fR, \fBprompt2\fR, \fBprompt3\fR, \fBshell\fR, \fBshlvl\fR, \fBtcsh\fR, \fBterm\fR, \fBtty\fR, \fBuid\fR, \fBuser\fR そして \fBversion\fR です。 これらの変数は、起動後はユーザが変更しない限り変更されません。 シェルは、必要があれば、\fBcwd\fR, \fBdirstack\fR, \fBowd\fR および \fBstatus\fR を更新し、ログアウト時に \fBlogout\fR を設定します。 .PP シェルは、シェル変数 \fBafsuser\fR, \fBgroup\fR, \fBhome\fR, \fBpath\fR, \fBshlvl\fR, \fBterm\fR および \fBuser\fR と同名の 環境変数との同期を取ります。 つまり、環境変数が変更されると、シェルは対応するシェル変数を合致するように 変更するのです (シェル変数が読み込み専用でない場合です)。また、その逆も 行います。ここで、\fBcwd\fR と \fBPWD\fR は同じ意味を持ちますが、 この方法では同期は行われないということに注意してください。 また、シェルは、自動的に \fBpath\fR と \fBPATH\fR の違った形式を 相互変換するということにも注意してください。 .TP 8 .B addsuffix \fR(+) これが設定されている場合、ファイル名が補完の際に完全に一致するときに、 一致したものがディレクトリの場合には末尾に `/' を付け加え、 通常のファイルの場合には末尾にスペースを加えます。 デフォルトで設定されています。 .TP 8 .B afsuser \fR(+) これが設定されている場合、\fBautologout\fR の autolock 機能は、 ローカルのユーザ名の代わりにこの値を kerberos 認証用に使います。 .TP 8 .B ampm \fR(+) これが設定されている場合、時刻が 12 時間単位の AM/PM フォーマットで すべて表示されます。 .TP 8 .B argv シェルへの引数です。位置パラメータは \fBargv\fR から取られます。 すなわち、`$1' は `$argv[1]' に置き換えられるといった具合です。 デフォルトで設定されていますが、通常対話型シェルでは空です。 .TP 8 .B autocorrect \fR(+) これが設定されている場合は、補完を試みる前に 自動的に \fIspell-word\fR 編集コマンドが実行されます。 .TP 8 .B autoexpand \fR(+) これが設定されている場合は、補完を試みる前に自動的に \fIexpand-history\fR 編集コマンドが実行されます。 .TP 8 .B autolist \fR(+) これが設定されている場合は、あいまいな補完を行った後、 可能性のあるものをリストします。 `ambiguous' が設定されている場合、可能性のあるものを リストするのは、補完によって何の文字も 追加されなかった場合に限られます。 .TP 8 .B autologout \fR(+) 1 番目の単語は、時間を分単位で表しており、 この時間以上の間、何の処理もしていなければ 自動的にログアウトされます。2 番目の単語はオプションであり、 ここで指定された時間以上の間、何の処理もしていなければ 自動ロックがかかります。 シェルが自動的にログアウトする際には、 シェルは `auto-logout' と出力し、logout 変数を `automatic' に 設定し、そして終了します。 シェルが自動的にロックされたユーザは、作業を続けたいなら 自分のパスワードを入力することが必要になります。5 回入力に 失敗すると、自動的にログアウトします。 ログインシェルおよびスーパユーザのシェルでは、デフォルトで `60'(60 分後自動的にログアウトし、ロックはかけない) に 設定されています。しかし、シェルがウインドウシステムの もとで動いていると認識した場合 (すなわち、\fBDISPLAY\fR 環境変数が設定されている) や、 tty が疑似 tty(pty) である場合、あるいは、シェルがそのようには コンパイルされていない場合 (\fBversion\fR シェル変数を参照) には設定されません。 \fBafsuser\fR および \fBlogout\fR シェル変数も 参照してください。 .TP 8 .B backslash_quote \fR(+) これが設定されている場合、バックスラッシュ (`\\') は 常に `\\', `'', および `"' でクォートされます。これによって、 複雑なクォートをする手間が緩和されますが、 \fIcsh\fR(1) スクリプト中で文法エラーをひき起こす 可能性が出てきます。 .TP 8 +.B catalog +メッセージカタログのファイル名です。 +これが設定されている場合、 +デフォルトの `tcsh' の代りに `tcsh.${catalog}' を、 +メッセージカタログとして tcsh は使用します。 +.TP 8 .B cdpath カレントディレクトリ中にサブディレクトリが見つからなかった場合に、 \fIcd\fR が探索すべきディレクトリのリストです。 .TP 8 .B color これが設定されている場合、組み込みコマンド \fBls\-F\fR 用の カラー表示を有効にし、\fB\-\-color=auto\fR を \fBls\fR に渡します。あるいは、ただ 1 つのコマンドに 対してカラー表示を有効にするため、\fBls\-F\fR または \fBls\fR のみに設定することができます。 何に対しても設定しない場合は、\fB(ls\-F ls)\fR に対して 設定したのと等価です。 .TP 8 .B colorcat これが設定されている場合は、NLS メッセージファイルに対して カラー用エスケープシーケンスを有効にします。これによって、 色のついた NLS メッセージが表示されます。 .TP 8 .B command \fR(+) これが設定されている場合、シェルに渡されたコマンドは、 \fB-c\fR フラグ (そちらも参照) をつけたものに なります。 .TP 8 .B complete \fR(+) これが `enhance' に設定されている場合、補完は、 1) 大文字小文字を無視し、2) ピリオド、ハイフン、および アンダスコア (`.', `-', `_') を単語の区切り文字と みなし、ハイフンとアンダスコアを等価なものとみなします。 .TP 8 .B continue \fR(+) コマンドリストに対してこれが設定されている場合、シェルは リストされているコマンドを継続実行し、新たにコマンドを 開始しません。 .TP 8 .B continue_args \fR(+) continue と同じですが、シェルは次のコマンドを実行します: .RS +8 .IP "" 4 echo `pwd` $argv > ~/._pause; % .RE .TP 8 .B correct \fR(+) `cmd' に設定されている場合、コマンドは自動的にスペル訂正されます。 `complete' に設定されている場合、コマンドは自動的に補完されます。 `all' に設定されている場合、コマンドライン全体が訂正されます。 .TP 8 .B cwd カレントディレクトリのフルパス名です。 シェル変数 \fBdirstack\fR および \fBowd\fR も参照してください。 .TP 8 .B dextract \fR(+) これが設定されている場合、`pushd +\fIn\fR' はディレクトリを先頭に 持っていくのではなく、ディレクトリスタックから \fIn\fR 番目の ディレクトリを取り出します。 .TP 8 .B dirsfile \fR(+) `dirs \-S' および `dirs \-L' がヒストリファイルを探すデフォルトの 場所です。設定していない場合は、\fI~/.cshdirs\fR が使われます。 通常、\fI~/.tcshrc\fR の方が \fI~/.cshdirs\fR よりも先に ソースとして使われるため、\fBdirsfile\fR は、\fI~/.login\fR ではなく \fI~/.tcshrc\fR 中で設定すべきです。 .TP 8 .B dirstack \fR(+) ディレクトリスタック上の全ディレクトリの配列です。 `$dirstack[1]' はカレントディレクトリであり、`$dirstack[2]' は スタック上の最初のディレクトリといった具合です。 カレントディレクトリは `$dirstack[1]' ですが、 ディレクトリスタックの置換では `=0' であるなどということに 注意してください。\fBdirstack\fR を設定することでスタックを 任意に変更することができますが、最初の要素 (カレント ディレクトリ) は常に正しいものになります。 シェル変数 \fBcwd\fR および \fBowd\fR も参照してください。 .TP 8 .B dspmbyte \fR(+) `euc' に設定されている場合、EUC-kanji(Japanese) コードで 表示および編集ができるようになります。 `sjis' に設定されている場合、Shift-JIS(Japanese) コードで 表示および編集ができるようになります。 次のようなフォーマットに設定されている場合、 独自のマルチバイトコードフォーマットで 表示および編集ができるようになります: .RS +8 .IP "" 4 > set dspmbyte = 0000....(256 bytes)....0000 .PP テーブルには\fBちょうど\fR 256 バイト必要です。 256 文字それぞれは、ASCII コード 0x00, 0x01, ... 0xff に (左から右に向かって) 対応しています。 各キャラクタは、 .\" (position in this table?) 数値 0, 1, 2, 3 に設定されます。各数字には次のような意味があります: .br 0 ... マルチバイト文字に対しては使われません。 .br 1 ... マルチバイト文字の最初の 1 バイトに対して使われます。 .br 2 ... マルチバイト文字の 2 バイト目に対して使われます。 .br 3 ... マルチバイト文字の 1, 2 バイト両方に対して使われます。 .\" SHK: I tried my best to get the following to be grammatically correct. .\" However, I still don't understand what's going on here. In the .\" following example, there are three bytes, but the text seems to refer to .\" each nybble as a character. What's going on here? It this 3-byte code .\" in the table? The text above seems to imply that there are 256 .\" characters/bytes in the table. If I get some more info on this (perhaps .\" a complete example), I could fix the text to be grammatically correct. .\" (steve.kelem@xilinx.com 1999/09/13) .\" SHK: 私は、次の例が文法的に正しいものになるように全力を尽くしました。 .\" しかし、いまだに何が起こっているのか理解できていません。次の例では .\" 3 バイトありますが、テキストは各ニブル (半バイト) を 1 文字とみなして .\" いるようです。ここでは何が起こっているのでしょう?テーブル中にあるのは、 .\" この 3 バイトのコードなのですか?上のテキストでは、テーブル中には .\" 256 文字/バイトあるのだと暗に言っているように思えるのです。 .\" この件についてもっと情報が得られたら (おそらくそれは完全な .\" 使用例でしょう)、このテキストを文法的に正しいものにできるでしょう。 .PP 使用例: .br `001322' に設定した場合、最初の文字 (すなわち、ASCII コードで 0x00) と 2 番目の文字 (すなわち、ASCII コードで 0x01) は `0' に設定されます。 つまり、マルチバイト文字に対してはこれらの文字は使用しません。 3 番目の文字 (0x02) は `2' に設定されます。これは、マルチバイト文字の 最初の 1 バイトにこの文字が使用されることを表しています。 4 番目の文字 (0x03) は `3' に設定されます。この文字は、 マルチバイト文字の 1 バイト目にも 2 バイト目にも使用されます。 5 番目および 6 番目の文字 (0x04, 0x05) は `2' に設定されます。 これは、これらの文字がマルチバイト文字の 2 バイト目に使用されることを 表しています。 .PP GNU fileutils バージョンの ls では、-N ( --literal ) オプションが ついていないとマルチバイト文字のファイル名を表示できません。 もし、fileutils バージョンを使っている場合は、dspmbyte の 2 番目の文字を "ls" に設定してください。そうしないと、 たとえば "ls-F -l" でマルチバイト文字のファイル名が表示できません。 .RE .TP 8 .B dunique \fR(+) これが設定されている場合、\fIpushd\fR は、ディレクトリ名を スタックに置く前に \fIname\fR である任意の要素をスタックから削除します。 .TP 8 .B echo これが設定されている場合、各コマンドは、実行される直前に 引数と一緒にエコーされます。組み込みコマンド以外のコマンドについては、 展開がすべて行われた後にエコーされます。組み込みコマンドについては、 コマンドおよびファイル名の置換が行われるよりも前にエコーされます。 これは、置換がユーザの選択によって行われるものだからです。 このシェル変数は、コマンドラインオプション \fB-x\fR で設定されます。 .TP 8 .B echo_style \fR(+) echo 組み込みコマンドのスタイルです。次のように設定できます。 .PP .RS +8 .PD 0 .TP 8 bsd 第 1 引数が `-n' である場合、改行をエコーしません。 .TP 8 sysv echo 中の文字列のバックスラッシュで始まるエスケープシーケンスを 認識します。 .TP 8 both `-n' フラグとバックスラッシュで始まるエスケープシーケンスの 両方ともを認識します。これがデフォルトです。 .TP 8 none どちらも認識しません。 .PD .PP デフォルトでは、ローカルシステムのデフォルトに設定されます。 BSD ならびに System V オプションは、適当なシステムの \fIecho\fR(1) マニュアルページに解説があります。 .RE .TP 8 .B edit \fR(+) これが設定されている場合、コマンドラインエディタが使われます。 対話型シェルではデフォルトで設定されています。 .TP 8 .B ellipsis \fR(+) これが設定されている場合、`%c'/`%.' および `%C' プロンプトシーケンス (\fBprompt\fR シェル変数を参照) は、`/' の代わりに 省略記号 (`...') つきのスキップディレクトリを示すようになります。 .TP 8 .B fignore \fR(+) 補完する際に無視されるファイル名のサフィックスリストです。 .TP 8 .B filec \fItcsh\fR では補完は常に行われますので、この変数は無視されます。 \fIcsh\fR で設定されている場合は、ファイル名の補完が使われる ようになります。 .TP 8 .B gid \fR(+) ユーザの実グループ ID です。 .TP 8 .B group \fR(+) ユーザのグループ名です。 .TP 8 .B histchars \fBヒストリ置換\fR (そちらも参照) で使われる文字を 決定する文字列です。この値の最初の文字は、デフォルトの `!' の 代わりにヒストリ置換文字として使われます。2 番目の文字は、 クイック置換の際の文字 `^' の代わりをします。 .TP 8 .B histdup \fR(+) ヒストリリスト中の重複エントリの扱いを制御します。 この値が `all' に設定されている場合、単一のヒストリイベントが ヒストリリストに入力されます。`prev' に設定されている場合、 最後のヒストリイベントは現在のコマンドと同じとなり、そのため、 現在のコマンドはヒストリには入力されません。`erase' に設定されて いる場合、ヒストリリスト中に同じイベントが見つかったときには、 古い方のイベントは消去され、現在のものが挿入されます。 `prev' および `all' オプションはヒストリイベントの番号づけを やり直しますので、すき間はあかないのだということに注意してください。 .TP 8 .B histfile \fR(+) `history \-S' および `history \-L' が探すヒストリファイルの デフォルトの場所です。これが設定されていない場合、\fI~/.history\fR が 使われます。別々のマシン間で同じホームディレクトリを共有していたり、 端末ごとにヒストリを分けて保存していたりする場合、\fBhistfile\fR は 便利なものです。通常、\fI~/.history\fR ファイルよりも前に読み込まれる のは \fI~/.tcshrc\fR だけなので、\fBhistfile\fR は\fI~/.login\fR ではなく、\fI~/.tcshrc\fR で設定してください。 .TP 8 .B histlit \fR(+) これが設定されている場合、組み込みコマンド、編集コマンド および \fBsavehist\fR 機構はヒストリリスト中のコマンド行を 文字通りの (展開しない) 形式で使用します。\fItoggle-literal-history\fR 編集コマンドも参照してください。 .TP 8 .B history 最初の単語は、記録しておくべきヒストリイベント数を表します。 オプションである 2 番目の単語 (+) は、ヒストリが どういう形式で表示されるかを示しています。 これが与えられていなければ、 `%h\\t%T\\t%R\\n' が使われます。 フォーマットシーケンスは、\fBprompt\fR 下に記述されており、 そこでは、`%R' の意味が変わることの注意がされています。 デフォルトでは `100' です。 .TP 8 .B home 起動したユーザのホームディレクトリに初期化されます。 ファイル名での `\fI~\fR の展開には、この変数が参照されています。 .TP 8 .B ignoreeof これが空文字列あるいは `0' に設定されており、 入力デバイスが端末である場合には、 \fIend-of-file\fR コマンド (通常は、ユーザが空行に `~D' を打つことで 生成されます) を入力すると、シェルは終了してしまう代わりに `Use "exit" to leave tcsh.' と表示します。 これによって、シェルがうっかり kill されてしまうのを防ぐことができます。 番号 \fIn\fR を設定している場合には、 シェルは \fIn\fR - 1 回連続した \fIend-of-file\fR を無視し、 \fIn\fR 回目の \fIend-of-file\fR があればそのときに終了します。(+) これが設定されていない場合には、`1' が使われます。 つまり、シェルは `^D' 1 回で終了します。 .TP 8 .B implicitcd \fR(+) これが設定されている場合、シェルは、コマンドとして入力された ディレクトリ名を、あたかもそのディレクトリへ移動する要求であるものと 解釈します。\fIverbose\fR に設定されている場合、ディレクトリの移動が 行われることが標準出力にエコーされるようになります。 この振る舞いは、非対話的なシェルスクリプト、あるいは 2 語以上あるコマンド行では禁止されています。 ディレクトリを移動するのは、ディレクトリ名のような名前を持ったコマンドを 実行するよりも優先されますが、エイリアスの置換よりは後になります。 チルダおよび変数の展開も動作します。 .TP 8 .B inputmode \fR(+) `insert' あるいは `overwrite' に設定されている場合、 各行の先頭でエディタが入力モードに入るようになります。 .TP 8 .B listflags \fR(+) `x', `a', `A' あるいはこれらの組合せ (たとえば、`xA') に設定されている場合、 これらの値は、\fIls\-F\fR へのフラグとして使われ、`ls \-xF', `ls \-Fa', `ls \-FA' あるいはこれらの組合せ (たとえば、`ls \-FxA') のように振る舞うようになります。 `a' はすべてのファイルを表示します (たとえ、`.' で始まるファイルで あっても)。`A' は `.' および `..' 以外のファイルすべてを表示し、 `x' は上から下に向かってではなく、左から右に向かってソートします。 \fBlistflags\fR に 2 番目の単語が設定されていれば、 それは `ls(1)' へのパスとして使われます。 .TP 8 .B listjobs \fR(+) これが設定されていれば、ジョブが一時停止したときにすべての ジョブがリストされます。`long' に設定されていれば、 リストは長い形式のものになります。 .TP 8 .B listlinks \fR(+) これが設定されていれば、組み込みコマンド \fIls\-F\fR は 各シンボリックリンクが指しているファイルの種類を表示します。 .TP 8 .B listmax \fR(+) \fIlist-choices\fR 編集コマンドがユーザに最初に尋ねてこないで リストする最大要素数です。 .TP 8 .B listmaxrows \fR(+) \fIlist-choices\fR 編集コマンドがユーザに最初に尋ねてこないで リストする要素の最大行数です。 .TP 8 .B loginsh \fR(+) シェルがログインシェルである場合に設定されます。 シェル中でこの変数を設定したり設定を解除したりしても 何の効力もありません。\fBshlvl\fR も参照してください。 .TP 8 .B logout \fR(+) 通常のログアウトの前には、シェルによって `normal' が、 自動ログアウトの前には `automatic' が、そして、 シェルがハングアップシグナルによって終了させられた場合 (\fBシグナルの扱い\fRを参照) には `hangup' が設定されます。 \fBautologout\fR シェル変数も参照してください。 .TP 8 .B mail 届けられるメールをチェックするためのファイルあるいは ディレクトリ名です。これは、スペースで区切られ、 オプションで数字を前につけます。 プロンプトを出す前に、最後にメールチェックをしてから 10 分経っていた場合、シェルは各ファイルをチェックし、 もしファイルサイズが 0 より大きいか、あるいはアクセス時刻よりも 変更時刻の方が大きかった場合には `You have new mail.' (あるいは、\fBmail\fR に複数のファイルが含まれていた場合、 `You have new mail in \fIname\fR.') と表示します。 .PP .RS +8 .PD .PP ログインシェルにいる場合には、シェルの起動時刻後にファイルが 変更されない限り、どのメールファイルも報告されません。 これは、余計に通知しないようにするためです。 大部分の login プログラムでは、ログイン時にメールが届いているかどうかを 教えてくれるものです。 .PP \fBmail\fR で指定されたファイルがディレクトリである場合、 シェルは、ディレクトリ中の各ファイルを別々のメッセージとして計算し、 `You have \fIn\fR mails.' とか `You have \fIn\fR mails in \fIname\fR.' とかと適切に報告します。この機能は、主に Andrew Mail System のように、 メールをこの方式で保存するシステム用に提供されたものです。 .PP \fBmail\fR の最初の単語が数値である場合、それはメールチェックの 間隔を変えるものとして受け取られます。秒単位です。 .PP とても稀な状況下ですが、シェルが `You have new mail.' ではなく `You have mail.' と報告することがあります。 .RE .TP 8 .B matchbeep \fR(+) これが `never' に設定されている場合、補完が行われてもビープ音は 鳴りません。 `nomatch' に設定されている場合、マッチするものがないときにのみ ビープ音が鳴ります。 `ambiguous' に設定されている場合、マッチするものが複数あるときに ビープ音が鳴ります。 `notunique' に設定されている場合、完全にマッチするものが 1 つあり、 また、それとは別にもっと長くマッチするものがあったときにビープ音が 鳴ります。 これが設定されていない場合、`ambiguous' が使われます。 .TP 8 .B nobeep \fR(+) これが設定されている場合、ビープ音は完全に無効になります。 \fBvisiblebell\fR も参照してください。 .TP 8 .B noclobber これが設定されている場合、出力リダイレクションに制限がおかれるようになり、 \fB入出力\fRセクションで述べているように、 ファイルをうっかり壊さないように、また、`>>' リダイレクションが存在する ファイルを指すように保証できます。 .TP 8 .B noding \fBprompt\fR の時刻指定子において、時間の変わり目に `DING!' と 表示するのを無効にします。 .TP 8 .B noglob これが設定されている場合、\fBファイル名置換\fRおよび、 \fBディレクトリスタック置換\fR (そちらも参照) が 禁止されます。この機能は、ファイル名を扱わないシェルスクリプトや、 ファイル名のリストを取得した後、さらに展開をされたくない スクリプトには最も有効なものです。 .TP 8 .B nokanji \fR(+) これが設定されており、シェルが漢字をサポートしている場合 (シェル変数 \fBversion\fR を参照)、漢字のサポートを無効にし、 メタキーが使えるようにします。 .TP 8 .B nonomatch これが設定されている場合、\fBファイル名置換\fRおよび \fBディレクトリスタック置換\fR (そちらも参照) の際に、 存在するファイルにマッチしなかったときに、エラーを出さずに そのまま放置するようになります。置換が機能しないときには 相変わらずエラーになります。 たとえば、`echo [' は相変わらずエラーとなります。 .TP 8 .B nostat \fR(+) 補完処理が行われている間に \fIstat\fR(2) をかけるべきではない ディレクトリのリスト (あるいは、ディレクトリにマッチする グロブパターンです。\fBファイル名置換\fRを参照) です。 この機能は、\fIstat\fR(2) を実行するととてつもない時間が かかってしまうようなディレクトリ、 たとえば \fI/afs\fR などを除外するのに通常使われます。 .TP 8 .B notify これが設定されている場合、シェルはジョブが完了したことを非同期に 通知します。デフォルトは、プロンプトが表示される直前に ジョブの完了を提示します。 .TP 8 .B oid \fR(+) ユーザの実組織 ID です (Domain/OS のみです)。 .TP 8 .B owd \fR(+) 前の作業ディレクトリで、\fIcd\fR が使う `\-' および \fIpushd\fR と等価です。 \fBcwd\fR および \fBdirstack\fR シェル変数も参照してください。 .TP 8 .B path 実行可能なコマンドを探すディレクトリのリストです。 null 文字はカレントディレクトリを示します。 \fBpath\fR 変数がない場合、フルパス名での指定のみ実行されます。 \fBpath\fR は、起動時にシェルが環境変数 \fBPATH\fR から設定するか、 あるいは \fBPATH\fR が存在しなかった場合には、システム依存の デフォルト、たとえば `(/usr/local/bin /usr/bsd /bin /usr/bin .)' のようなものに 設定します。 シェルは、`.' を \fBpath\fR の先頭あるいは末尾に置くことができ、 また、コンパイルの仕方に依存しますが、 `.' を完全に省いてしまうことも できます。\fB\-c\fR, \fB\-t\fR オプションのどちらも与えられていない シェルは、\fI~/.tcshrc\fR を読み込んだ後および \fBpath\fR が リセットされるたびにディレクトリの中身をハッシュに格納します。 シェルがアクティブである間に、ユーザが \fBpath\fR 中の ディレクトリに新しいコマンドを追加した場合、 シェルがそのコマンドを見つけられるように \fIrehash\fR を実行する必要があるかもしれません。 .TP 8 .B printexitvalue \fR(+) これが設定されており、対話型のプログラムが 0 以外のステータスで 終了した場合、シェルは `Exit \fBstatus\fR' と表示します。 .TP 8 .B prompt 端末からコマンドを読み込む前に表示される文字列です。 \fBprompt\fR には、次のフォーマット列 (+) のどれを含んでも構いません。 このフォーマット列は、与えられた情報で書き換えられます。 .PP .RS +8 .PD 0 .TP 4 %/ カレント作業ディレクトリです。 .TP 4 %~ カレント作業ディレクトリですが、`~' で表現される ユーザのホームディレクトリおよび `~user' で表現される 他のユーザのホームディレクトリを \fBファイル名置換\fRします。 `~user' の置換は、現在のセッションにおいて、 シェルがパス名に `~\fIuser\fR' を使っている場合にのみ起こります。 .TP 4 %c[[0]\fIn\fR], %.[[0]\fIn\fR] 現在の作業ディレクトリの、末尾の要素です。 数字 \fIn\fR が指定されている場合、末尾の \fIn\fR 個の要素です。 \fIn\fR が `0' で開始する場合、スキップされた要素数が 末尾要素の前に付き、次の書式となります `/<\fIスキップされた数\fR>末尾要素'。 シェル変数 \fBellipsis\fR が設定されている場合、 スキップされた要素は省略記号で置換されますので、 全体的には `...末尾要素' となります。 `~' 置換は、前述の `%~' と同様に行われますが、 `~' 要素は、末尾要素数を数える対象からは除外されます。 .TP 4 %C %c に似ていますが、`~' の置換を行いません。 .TP 4 %h, %!, ! 現在のヒストリイベント番号です。 .TP 4 %M 完全なホスト名です。 .TP 4 %m 最初の `.' までのホスト名です。 .TP 4 %S (%s) 強調表示モードを開始 (終了) します。 .TP 4 %B (%b) ボールド体表示モードを開始 (終了) します。 .TP 4 %U (%u) アンダラインモードを開始 (終了) します。 .TP 4 %t, %@ AM/PM の 12 時間表記での時刻です。 .TP 4 %T `%t' に似ていますが、こちらは 24 時間表記です (ただし、シェル変数 \fBampm\fR も参照)。 .TP 4 %p 秒まで含めた、AM/PM の 12 時間表記での `正確な' 時刻です。 .TP 4 %P `%p' に似ていますが、こちらは 24 時間表記です (ただし、シェル変数 \fBampm\fR も参照)。 .TP 4 \e\fIc\fR \fIc\fR は \fIbindkey\fR 中にあるものとしてパースされます。 .TP 4 ^\fIc\fR \fIc\fR は \fIbindkey\fR 中にあるものとしてパースされます。 .TP 4 %% `%' 1 つです。 .TP 4 %n ユーザ名です。 .TP 4 %d `Day' 形式の曜日。 .TP 4 %D `dd' 形式の日にち。 .TP 4 %w `Mon' 形式の月。 .TP 4 %W `mm' 形式の月。 .TP 4 %y `yy' 形式の年。 .TP 4 %Y `yyyy' 形式の年。 .TP 4 %l シェルの tty。 .TP 4 %L プロンプトの終わりから、 ディスプレイの終わりまたは行末までクリアします。 .TP 4 %$ `$' の直後のシェル変数または環境変数を展開します。 .TP 4 %# 普通のユーザは `>' (または \fBpromptchars\fR シェル変数の最初の文字)、 スーパーユーザは `#' (または \fBpromptchars\fR の 2 番目の文字)。 .TP 4 %{\fIstring\fR%} \fIstring\fR を文字通りのエスケープシーケンスとして取り込みます。 これは端末属性を変更するためにのみ使うべきで、 カーソル位置の移動をこれで行ってはいけません。 これは \fBprompt\fR の最後のシーケンスであってはいけません。 .TP 4 %? プロンプトの直前で実行されたコマンドの戻り値。 .TP 4 %R \fBprompt2\fR の中ではパーザの状態。 \fBprompt3\fR の中では修正された文字列。 \fBhistory\fR の中では履歴文字列。 .PD .PP `%B', `%S', `%U', `%{\fIstring\fR%}' は、 8bit クリーンなシェルでのみ利用できます。 \fBversion\fR シェル変数を参照してください。 .PP ボールド、スタンドアウト、下線といったシーケンスは、 スーパーユーザのシェルを区別するために使われることが多いです。 たとえば、 .IP "" 4 > set prompt = "%m [%h] %B[%@]%b [%/] you rang? " .br tut [37] \fB[2:54pm]\fR [/usr/accts/sys] you rang? _ .PP `%t', `%@', `%T', `%p', `%P' のどれかが使われていて、 かつ \fBnoding\fR が設定されていなければ、 毎正時 (`:00' 分) には実際の時刻の代わりに `DING!' を表示します。 .PP 対話的シェルでのデフォルトは `%# ' です。 .RE .TP 8 .B prompt2 \fR(+) \fIwhile\fR ループや \fIforeach\fR ループの中で、 また `\\' で終った行の次の行で、 プロンプトとして用いられる文字列。 \fBprompt\fR (そちらも参照) と同じ フォーマットシーケンスが使えます。 `%R' の意味が変わることに注意してください。 対話的シェルでのデフォルトは `%R?' です。 .TP 8 .B prompt3 \fR(+) 自動スペル訂正の確定時のプロンプト文字列。 \fBprompt\fR (そちらも参照) と同じ フォーマットシーケンスが使えます。 `%R' の意味が変わることに注意してください。 対話的シェルでのデフォルトは `CORRECT>%R (y|n|e|a)?' です。 .TP 8 .B promptchars \fR(+) (2 文字の文字列に) 設定すると、\fBprompt\fR シェル変数中の `%#' フォーマットシーケンスが、普通のユーザでは最初の文字で、 スーパーユーザでは 2 番目の文字で置き換えられます。 .TP 8 .B pushdtohome \fR(+) 設定すると、引数をとらない \fIpushd\fR は、 \fIcd\fR のように `pushd ~' を実行します。 .TP 8 .B pushdsilent \fR(+) 設定すると、\fIpushd\fR と \fIpopd\fR の際に ディレクトリスタックが表示されなくなります。 .TP 8 .B recexact \fR(+) 設定すると、補完の際に正確なマッチがあれば、 より長いマッチが可能な場合でも、正確なほうに補完します。 .TP 8 .B recognize_only_executables \fR(+) 設定すると、コマンドリストは パス中にある実行可能なファイルのみを表示します。遅いです。 .TP 8 .B rmstar \fR(+) 設定すると、ユーザは `rm *' を実行する前に確認を受けます。 .TP 8 .B rprompt \fR(+) (コマンド入力後) prompt が左に表示される際に、 スクリーンの右側 (コマンド入力の後ろ側) に表示される文字列。 prompt と同じフォーマット文字列が使えます。 この文字列は、コマンド入力を邪魔しないように自動的に隠れたり、 また再度現れたりします。 (左側の) プロンプト、コマンド入力、この文字列が 最初の 1 行に収まる場合に限り、この文字列は表示されます。 \fBedit\fR が設定されていなければ、 \fBrprompt\fR はプロンプトの後、コマンド入力の前に表示されます。 .TP 8 .B savedirs \fR(+) 設定すると、シェルは終了する前に `dirs \-S' を行います。 最初の単語を数字に設定すると、 その個数までディレクトリスタックのエントリを保存します。 .TP 8 .B savehist 設定すると、シェルは終了する前に `history \-S' を行います。 最初の単語を数字に設定すると、その個数までの行が保存されます。 (個数は \fBhistory\fR 以下でなければなりません。) 2 番目の単語を `merge' にすると、 履歴ファイルが存在する場合に、置換ではなく追加を行います。 そしてタイムスタンプによってソートを行い、 最近のイベントを残します。(+) .TP 8 .B sched \fR(+) \fIsched\fR 組み込みコマンドがスケジュールイベントを表示する書式。 特に指定しなければ `%h\\t%T\\t%R\\n' が使われます。 フォーマットシーケンスは上記の \fBprompt\fR 以下に書いてあります。 `%R' の意味が変わることに注意してください。 .TP 8 .B shell シェルのファイル。これはシェルをフォークして、 実行ビットが設定されているがシステムによる実行が不可能なファイルを 実行するために用いられます (\fB組み込みコマンド、非組み込みコマンドの実行\fRを参照)。 初期値は、(システム依存の) シェルの置き場所です。 .TP 8 .B shlvl \fR(+) 入れ子になったシェルの数。ログインシェルでは 1 にリセットされます。 \fBloginsh\fR も参照してください。 .TP 8 .B status 最後のコマンドによって返された状態。 コマンドが異常終了した場合には 0200 が加えられます。 組み込みコマンドは、失敗すると終了状態 `1' を返します。 その他の場合は、すべての組み込みコマンドは状態 `0' を返します。 .TP 8 .B symlinks \fR(+) いくつか異なった値に設定でき、 シンボリックリンク (`symlink') の解決を制御できます。 .RS +8 .PP `chase' に設定すると、 カレントディレクトリがシンボリックリンクを含むディレクトリになったら、 リンクをそれが指しているディレクトリの実名に展開します。 この機能はユーザのホームディレクトリでは働きません。これはバグです。 .PP `ignore' にすると、 このシェルはリンクを通ってカレントディレクトリを移動する場合、 移動先のディレクトリを現在のディレクトリに対する 相対位置として構築しようとします。 これはすなわち、シンボリックリンクを通して cd を行い、 続いて `cd ..' を行うと、 元のディレクトリに戻る、ということを意味します。 これは組み込みコマンドとファイル名補完にのみ影響します。 .PP `expand' に設定すると、シェルはパス名のように見える引き数を 実際に展開して、シンボリックリンクを元に戻そうとします。 これは組み込みコマンドのみならず、すべてのコマンドに影響します。 残念ながら、これは認識しにくいファイル名 (たとえばコマンドオプションに埋めこまれたものなど) には動作しません。 クォートすれば展開は行われません。 たいていの場合はこの設定が便利ですが、 展開すべき引き数を認識できないと、誤解や混乱の元になるかもしれません。 妥協案として、 `ignore' にしておいて、 必要な場合には編集コマンド \fInormalize-path\fR (デフォルトでは ^X-n にバインドされています) を使うのがいいかもしれません。 .PP 順にいくつか例を示します。 まずは遊び場となるディレクトリを準備しましょう。 .IP "" 4 > cd /tmp .br > mkdir from from/src to .br > ln \-s from/src to/dist .PP \fBsymlinks\fR が設定されていない場合の動作: .IP "" 4 > cd /tmp/to/dist; echo $cwd .br /tmp/to/dist .br > cd ..; echo $cwd .br /tmp/from .PP \fBsymlinks\fR が `chase' に設定されている場合の動作: .IP "" 4 > cd /tmp/to/dst; echo $cwd .br /tmp/from/src .br > cd ..; echo $cwd .br /tmp/from .PP \fBsymlinks\fR が `ignore' に設定されている場合の動作: .IP "" 4 > cd /tmp/to/dist; echo $cwd .br /tmp/to/dst .br > cd ..; echo $cwd .br /tmp/to .PP \fBsymlinks\fR が `expand' に設定されている場合の動作: .IP "" 4 > cd /tmp/to/dist; echo $cwd .br /tmp/to/dst .br > cd ..; echo $cwd .br /tmp/to .br > cd /tmp/to/dist; echo $cwd .br /tmp/to/dst .br > cd ".."; echo $cwd .br /tmp/from .br > /bin/echo .. .br /tmp/to .br > /bin/echo ".." .br \&.. .PP いくつか注意しますと、`expand' による展開は、 1) \fIcd\fR のような組み込みコマンドに対しては `ignore' のように働きます。 2) クォートすれば行われません。 3) 非組み込みコマンドの場合は、ファイル名を渡す前に行われます。 .RE .TP 8 .B tcsh \fR(+) `R.VV.PP' 形式のシェルのバージョン番号です。 `R' はメジャーリリース番号、 `VV' はカレントバージョン、 `PP' はパッチレベルです。 .TP 8 .B term 端末の種類。 \fBスタートアップとシャットダウン\fR で述べているように、通常は \fI~/.login\fR で設定されます。 .TP 8 .B time 数値を設定すると、それ以上の CPU 時間 (秒) を消費したコマンドの実行後に、 自動的に組み込みコマンド \fItime\fR (そちらも参照) を実行します。2 番目の単語があれば、 \fItime\fR 組み込みコマンドの出力フォーマット文字列として 使われます。 (u) 以下のシーケンスがフォーマット文字列で使えます。 .PP .RS +8 .PD 0 .TP 4 %U プロセスがユーザモードで消費した CPU 時間 (秒)。 .TP 4 %S プロセスがカーネルモードで消費した CPU 時間 (秒)。 .TP 4 %E (壁時計での) 経過時間 (秒)。 .TP 4 %P (%U + %S) / %E として計算される CPU 使用率。 .TP 4 %W プロセスがスワップされた回数。 .TP 4 %X (共有) テキスト空間の平均使用量。 Kbyte 単位。 .TP 4 %D (非共有) データ/スタック空間の平均使用量。 Kbyte 単位。 .TP 4 %K (%X + %D) の総使用量。 Kbyte 単位。 .TP 4 %M プロセスが使用したメモリの瞬間最大値。 Kbyte 単位。 .TP 4 %F メジャーページフォールトの回数 (ディスクから取って来る必要があったページ数)。 .TP 4 %R マイナーページフォールトの回数。 .TP 4 %I 入力操作の回数。 .TP 4 %O 出力操作の回数。 .TP 4 %r ソケットメッセージを受け取った回数。 .TP 4 %s ソケットメッセージを送った回数。 .TP 4 %k シグナルを受け取った回数。 .TP 4 %w 自発的なコンテキストスイッチの回数 (wait の回数)。 .TP 4 %c 非自発的なコンテキストスイッチの回数。 .PD .PP BSD 資源制限機能の無いシステムでは、 最初の 4 つのシーケンスだけがサポートされています。 デフォルトの時間フォーマットは、 資源使用報告をサポートしているシステムでは `%Uu %Ss %E %P %X+%Dk %I+%Oio %Fpf+%Ww' で、 そうでないシステムでは `%Uu %Ss %E %P' です。 .PP Sequent の DYNIX/ptx では、 %X, %D, %K, %r, %s が使えませんが、 以下の追加シーケンスが利用できます。 .PP .PD 0 .TP 4 %Y システムコールが実行された回数。 .TP 4 %Z 要求に応じてゼロで埋められたページ数。 .TP 4 %i プロセスの常駐サイズがカーネルによって増加させられた回数。 .TP 4 %d プロセスの常駐サイズがカーネルによって減少させられた回数。 .TP 4 %l read システムコールが実行された回数。 .TP 4 %m write システムコールが実行された回数。 .TP 4 %p raw ディスク装置から読み込んだ回数。 .TP 4 %q raw ディスク装置へ書き込んだ回数。 .PD .PP デフォルトの時間フォーマットは `%Uu %Ss $E %P %I+%Oio %Fpf+%Ww' です。 マルチプロセッサでは CPU 使用率が 100% より高くなることがあります。 .RE .TP 8 .B tperiod \fR(+) 特別なエイリアス \fIperiodic\fR の実行される周期 (分単位)。 .TP 8 .B tty \fR(+) tty の名前。端末にアタッチされていない場合は空。 .TP 8 .B uid \fR(+) ユーザの実ユーザ ID。 .TP 8 .B user ユーザのログイン名。 .TP 8 .B verbose 設定すると、ヒストリ置換後に、 各コマンドの単語を (あれば) 表示します。 コマンドラインオプション \fB\-v\fR によって設定されます。 .TP 8 .B version \fR(+) バージョン ID スタンプ。 シェルのバージョン番号 (\fBtcsh\fR を参照) 、 配布元、リリース日、ベンダー、オペレーティングシステム、 マシン (\fBVENDOR\fR, \fBOSTYPE\fR, \fBMACHTYPE\fR を参照)、 コンパイル時に設定されたオプションをカンマで区切ったリストからなります。 ディストリビューションのデフォルトとして セットされたオプションが記録されています。 .PP .RS +8 .PD 0 .TP 4 8b シェルは 8bit クリーン。デフォルト。 .TP 4 7b シェルは 8bit クリーンでない。 .TP 4 nls システムの NLS を使う。 NLS のあるシステムではデフォルト。 .TP 4 lf ログインシェルは \fI/etc/csh.cshrc\fR の後ではなく先に \fI/etc/csh.login\fR を実行し、 \fI~/.tcshrc\fR と \fI~/.history\fR の後ではなく先に \fI~/.login\fR を実行する。 .TP 4 dl セキュリティ上の理由から `.' を \fBpath\fR の最後に置く。デフォルト。 .TP 4 nd セキュリティ上の理由から `.' を \fBpath\fR に含めない。 .TP 4 vi \fIemacs\fR-形式ではなく \fIvi\fR-形式の編集をデフォルトにする。 .TP 4 dtr ログインシェルは終了時に DTR を落とす。 .TP 4 bye \fIbye\fR を \fIlogout\fR の同義語とし、 \fIlog\fR を \fIwatchlog\fR の別名として扱う。 .TP 4 al \fBautologout\fR を有効にする。デフォルト。 .TP 4 kan \fBnokanji\fR シェル変数が設定されない限り、 -漢字を使い ISO 文字集合を無視する。 +ロケール設定が適切であれば、漢字を使う。 .TP 4 sm システムの \fImalloc\fR(3) を使う。 .TP 4 hb シェルスクリプトの実行時に `#! ' 方式をエミュレートする。 .TP 4 ng \fInewgrp\fR 組み込みコマンドが利用可能。 .TP 4 rh シェルは \fBREMOTEHOST\fR 環境変数を設定しようとする。 .TP 4 afs シェルはもしローカルな認証が失敗したら、 kerberos サーバにパスワードを確認する。 \fBafsuser\fR シェル変数か \fBAFSUSER\fR 環境変数が 設定されていたら、その内容でローカルユーザ名を上書きする。 .PD .PP システム管理者は、文字列を追加して ローカルバージョンでの違いを示すようにできます。 .RE .TP 8 .B visiblebell \fR(+) 設定すると、音声ベルの代わりに画面をフラッシュします。 \fBnobeep\fR も参照してください。 .TP 8 .B watch \fR(+) ログイン / ログアウトの監視対象とする、「ユーザ / 端末」ペアのリスト。 ユーザに対する端末が `any' なら、指定したユーザをすべての端末で監視します。 逆にユーザが `any' なら、指定した端末ですべてのユーザを監視します。 \fBwatch\fR を `(any any)' に設定すると、 すべてのユーザと端末を監視します。 たとえば、 .RS +8 .IP "" 4 set watch = (george ttyd1 any console $user any) .PP は、ユーザ `george' の ttyd1 での行動を、 そしてあらゆるユーザのコンソールでの行動を、 そして自分自身 (または不法侵入者) のすべての端末での行動を報告します。 .PP デフォルトでは、ログインとログアウトは 10 分毎に調べられますが、 \fBwatch\fR の最初の単語に、調べる間隔を分単位で書くこともできます。 たとえば、 .IP "" 4 set watch = (1 any any) .PP は 1 分おきにあらゆるログイン / ログアウトを報告します。 我慢の効かない人は、\fIlog\fR 組み込みコマンドを用いれば、 いつでも \fBwatch\fR のレポートを見ることができます。 \fBwatch\fR が最初に設定された時には、 現在ログインしているユーザリストが (\fIlog\fR 組み込みコマンドによって) 報告されます。 .PP \fBwatch\fR の報告形式は \fBwho\fR シェル変数で制御します。 .RE .TP 8 .B who \fR(+) \fBwatch\fR メッセージのフォーマット文字列。 以下のシーケンスが得られた情報で置換されます。 .PP .RS +8 .PD 0 .TP 4 %n ログイン / ログアウトしたユーザの名前。 .TP 4 %a 観察された行動: `logged on', `logged off', `replaced \fIolduser\fR on' のいずれか。 .TP 4 %l ユーザがログイン / ログアウトした端末 (tty)。 .TP 4 %M リモートホストの完全なホスト名。 ローカルホストでのログイン / ログアウトの場合は `local'。 .TP 4 %m リモートホストの、最初の `.' までのホスト名。 IP アドレスや X Window System ディスプレイの場合は名前全体。 .PD .PP %M と %m は \fI/etc/utmp\fR にリモートホスト名を 格納するシステムでのみ利用できます。 設定しなければ `%n has %a %l from %m.' が用いられます。 ただしリモートホスト名を格納しないシステムでは `%n has %a %l.' が用いられます。 .RE .TP 8 .B wordchars \fR(+) \fIforward-word\fR, \fIbackward-word\fR 等の編集コマンドで、 単語の一部とみなされる非英数文字のリスト。 設定されなければ `*?_\-.[]~=' が使われます。 .SH 環境変数 .TP 8 .B AFSUSER \fR(+) \fBafsuser\fR シェル変数と同じです。 .TP 8 .B COLUMNS 端末の桁数です (\fB端末管理\fR を参照)。 .TP 8 .B DISPLAY X Window System によって使われます (\fIX\fR(1) を参照)。 設定されると、このシェルは \fBautologout\fR (そちらも参照) を設定しません。 .TP 8 .B EDITOR デフォルトのエディタのパス名です。 \fBVISUAL\fR 環境変数と \fIrun-fg-editor\fR 編集コマンドも参照してください。 .TP 8 .B GROUP \fR(+) \fBgroup\fR シェル変数と同じです。 .TP 8 .B HOME \fBhome\fR シェル変数と同じです。 .TP 8 .B HOST \fR(+) シェルが実行されているマシンの名前で初期化されます。 これは \fIgethostname\fR(2) システムコールで決定されます。 .TP 8 .B HOSTTYPE \fR(+) シェルが実行されているマシンのタイプで初期化されます。 これはコンパイル時に決定されます。 この変数は廃止される予定であり、将来のバージョンで削除されるでしょう。 .TP 8 .B HPATH \fR(+) \fIrun-help\fR 編集コマンドがコマンドの解説文書を探す ディレクトリのリストです。区切り文字はコロンです。 .TP 8 .B LANG 優先的に使用される文字環境を与えます。 \fB固有言語システムのサポート\fRを参照してください。 .TP 8 .B LC_CTYPE 設定されていると、ctype キャラクタの扱いだけが変更されます。 \fB固有言語システムのサポート\fRを参照してください。 .TP 8 .B LINES 端末の行数です。 \fB端末管理\fRを参照してください。 .TP 8 .B LS_COLORS この変数のフォーマットは \fBtermcap\fR(5) ファイルのフォーマットと 似ています。"\fIxx=string\fR" の形をした式をコロンで区切って並べた リストです。"\fIxx\fR" は 2 文字の変数名です。 変数とそれらのデフォルト値は以下の通りです。 .PP .RS +8 .RS +4 .PD 0 .TP 12 no 0 Normal (non-filename) text: ファイル名を除く通常のテキスト .TP 12 fi 0 Regular file: 通常のファイル .TP 12 di 01;34 Directory: ディレクトリ .TP 12 ln 01;36 Symbolic link: シンボリックリンク .TP 12 pi 33 Named pipe (FIFO): 名前付きパイプ .TP 12 so 01;35 Socket: ソケット .TP 12 bd 01;33 Block device: ブロック型デバイス .TP 12 cd 01;32 Character device: キャラクタ型デバイス .TP 12 ex 01;32 Executable file: 実行可能ファイル .TP 12 mi (none) Missing file (defaults to fi): 行方不明のファイル .TP 12 or (none) Orphaned symbolic link (defaults to ln): リンク先のないシンボリックリンク .TP 12 lc ^[[ Left code: 色指定シーケンス開始コード .TP 12 rc m Right code: 色指定シーケンス終了コード .TP 12 ec (none) End code (replaces lc+no+rc): 色出力を終えるシーケンス .PD .RE .PP デフォルトから変更したい変数だけを指定すれば OK です。 .PP ファイルの名前を、ファイル名の拡張子をもとに色づけすることもできます。 これの指定は、\fBLS_COLORS\fR 変数に \fB"*ext=string"\fR のシンタックスを用いて行います。 たとえば、ISO 6429 のコードを使いすべての C 言語のソースファイルを ブルーに色づけするには \fB"*.c=34"\fR と指定すればよいでしょう。 これは \fB.c\fR で終わるすべてのファイルをブルー (34) に色づけします。 .PP コントロールキャラクタは C スタイルのエスケープ表記か stty のような ^\- 表記のどちらかで書くことができます。C スタイルの表記では エスケープコードの記述に \fB^[\fR, スペースコードの記述に \fB\_\fR, デリートコードの記述に \fB?\fR を追加します。 さらに、\fB^[\fR エスケープキャラクタを用いると、 \fB^[\fR, \fB^\fR, \fB:\fR, \fB=\fR のデフォルトの解釈を 変更することができます。 .PP それぞれのファイルは \fB\fR \fB\fR \fB\fR \fB\fR \fB\fR のように書かれます。 \fB\fR が未定義ならば、\fB\fR \fB \fB\fR のシーケンスが代わりに使われます。 こちらの方が通常便利に使えますが、あまり一般的ではありません。 left, right, end のコードを用意した理由は、 同じシーケンスを繰り返し入力しなくてもいいように、また、 妙な端末に対応できるようにするためです。 通常は、ISO 6429 カラーシーケンスと異なるシステムを使っていない 限り、これらを変更する必要はほとんどありません。 .PP 端末が ISO 6429 color コードを使っていれば、(\fBlc\fR, \fBrc\fR, \fBec\fR コードを全く使わずに) セミコロンで区切られた数字のコマンドで タイプコードを構成することができます。 良く用いられるコマンドは以下の通りです。 .PP .RS +8 .PD 0 .TP 4 0 デフォルトの色に戻します。 .TP 4 1 高輝度色 .TP 4 4 アンダライン付きテキスト .TP 4 5 点滅テキスト .TP 4 30 前景色黒 .TP 4 31 前景色赤 .TP 4 32 前景色グリーン .TP 4 33 前景色黄 (ブラウン) .TP 4 34 前景色ブルー .TP 4 35 前景色紫 .TP 4 36 前景色シアン .TP 4 37 前景色白 (グレー) .TP 4 40 背景色黒 .TP 4 41 背景色赤 .TP 4 42 背景色グリーン .TP 4 43 背景色黄 (ブラウン) .TP 4 44 背景色ブルー .TP 4 45 背景色紫 .TP 4 46 背景色シアン .TP 4 47 背景色白 (グレー) .PD .RE .PP すべてのコマンドがすべてのシステムや表示装置で 動作するわけではありません。 .PP 少なからぬ端末プログラムではデフォルトの終了コードを正しく 認識しません。ディレクトリのリストをした後ですべてのテキストに 色を付けるためには、\fBno\fR コードと \fBfi\fR コードを、 それぞれ 0 から前景色、背景色の数値コードへ変更してみてください。 .RE .TP 8 .B MACHTYPE \fR(+) コンパイル時に決定されたマシンタイプ (マイクロプロセッサまたは、 マシンモデル) です。 .TP 8 .B NOREBIND \fR(+) 設定されていると、印刷可能文字は \fIself-insert-command\fR を 繰り返し実行されません。 \fB固有言語システムのサポート\fRを参照してください。 .TP 8 .B OSTYPE \fR(+) コンパイル時に決定されたオペレーションシステムです。 .TP 8 .B PATH 実行可能ファイルを探すディレクトリの、コロン区切り形式のリスト。 シェル変数 \fBpath\fR によく似ていますがフォーマットに違いがあります。 .TP 8 .B PWD \fR(+) シェル変数 \fBcwd\fR に似ていますが、シェル変数とは同期していません。 実際のディレクトリ変更が行われたあとでだけアップデートされます。 .TP 8 .B REMOTEHOST \fR(+) ユーザがどのホストからログインしているかを示します (リモートからのログインで、 かつこのシェルがこれらの情報を決定できる場合)。 シェルがそのようにコンパイルされている場合だけに設定されます。 \fBversion\fR シェル変数を参照してください。 .TP 8 .B SHLVL \fR(+) \fBshlvl\fR と同じです。 .TP 8 .B SYSTYPE \fR(+) 現在のシステムタイプです。 (Domain/OS のみ) .TP 8 .B TERM \fBterm\fR シェル変数と同じです。 Equivalent to the \fBterm\fR shell variable. .TP 8 .B TERMCAP 端末のケーパビリティ文字列です。 \fB端末管理\fRを参照してください。 .TP 8 .B USER \fBuser\fR シェル変数と同じです。 .TP 8 .B VENDOR \fR(+) コンパイル時に決定されたベンダ名です。 .TP 8 .B VISUAL デフォルトのフルスクリーンエディタへのパス名です。 \fBEDITOR\fR 環境変数と \fIrun-fg-editor\fR 編集コマンドも参照してください。 .SH 関連ファイル .PD 0 .TP 16 .I /etc/csh.cshrc すべてのシェルで最初に読み込まれます。 ConvexOS, Stellix, Intel では \fI/etc/cshrc\fR を使います。 NeXTs では \fI/etc/cshrc.std\fR を使います。 A/UX, AMIX, Cray, IRIX の \fIcsh\fR(1) はこのファイルを読みませんが、 いずれにせよ \fItcsh\fR ではこのファイルが読み込まれます。 Solaris 2.x もこのファイルを持ちませんが、\fItcsh\fR は \fI/etc/.cshrc\fR を読み込みます。(+) .TP 16 .I /etc/csh.login \fI/etc/csh.cshrc\fR の後にログインシェルによって読み込まれます。 ConvexOS, Stellix, Intel では \fI/etc/login\fR を使います。 NeXTs では \fI/etc/login.std\fR を使用します。 Solaris 2.x では \fI/etc/.login\fR を使います。 A/UX, AMIX, Cray, IRIX では \fI/etc/cshrc\fR を使います。 .TP 16 .I ~/.tcshrc \fR(+) \fI/etc/csh.cshrc\fR かそれに相当するファイルの後に、 すべてのシェルで読み込まれます。 .TP 16 .I ~/.cshrc \fI~/.tcshrc\fR が存在しなければ、 \fI/etc/csh.cshrc\fR かそれに相当するファイルの後に、 すべてのシェルで読み込まれます。 このマニュアルでは `\fI~/.tcshrc\fR' を 「`\fI~/.tcshrc\fR' か `\fI~/.tcshrc\fR' が見つからなかった場合の \fI~/.cshrc\fR'」 の意味で使用します。 .TP 16 .I ~/.history \fBsavehist\fR が設定されている場合は \fI~/.tcshrc\fR の後にログインシェルによって読み込まれます。 ただし \fBhistfile\fR の部分も参照してください。 .TP 16 .I ~/.login \fI~/.tcshrc\fR または \fI~/.history\fR の後にログインシェルによって 読み込まれます。シェルは\fI~/.login\fR を \fI~/.tcshrc\fR と \fI~/.history\fR の後にではなく、前に読み込むように コンパイルされているかもしれません。 \fBversion\fR シェル変数を参照してください。 .TP 16 .I ~/.cshdirs \fR(+) \fBsavedirs\fR が設定されている場合には、 \fI~/.login\fR の後にログインシェルによって読み込まれます。 ただし \fBdirsfile\fR も参照してください。 .TP 16 .I /etc/csh.logout ログアウト時にログインシェルによって読み込まれます。 ConvexOS, Stellix, Intel では、 \fI/etc/logout\fR を使います。 A/UX, AMIX, Cray, IRIX では、 \fIcsh\fR(1) はこれに対応するファイルを持ちませんが、 いずれにしても \fItcsh\fR はこのファイルを読みます。 Solaris 2.x も \fI/etc/logout\fR を持っていませんが、 \fItcsh\fR は \fI/etc/.logout\fR を読み込みます。 (+) .TP 16 .I ~/.logout \fI/etc/csh.logout\fR またはその相当ファイルが実行された後に、 ログインシェルによって読み込まれます。 .TP 16 .I /bin/sh `#' で始まらないシェルスクリプトを解釈実行するために使われます。 .TP 16 .I /tmp/sh* `<<' 用の一時ファイルです。 .TP 16 .I /etc/passwd ホームディレクトリ `~name' を代入するための情報源です。 .PD .PP スタートアップファイルの読み込みの順番は、 シェルのコンパイル時に変更されているかもしれません。 \fBスタートアップとシャットダウン\fRと \fBversion\fR を参照してください。 .SH "新規機能 (+)" このマニュアルでは、\fItcsh\fR をひとつの対象として記述してきました。 しかし \fIcsh\fR(1) の経験者は、 \fItcsh\fR の新しい機能に特に興味があるでしょう。 .PP コマンド行編集: GNU Emacs スタイルや \fIvi\fR(1)-スタイルの キーバインディングをサポートしています。 \fBコマンド行エディタ\fRと\fB編集コマンド\fRを参照してください。 .PP プログラマブルで対話的な単語補完と一覧表示。 \fB補完と一覧\fRと、組み込みコマンド \fIcomplete\fR, \fIuncomplete\fR の記述を見てください。 .PP ファイル名、コマンド、変数名の\fBスペル訂正\fR (そちらも参照)。 .PP \fBエディタ編集コマンド\fR (そちらも参照) で、 コマンドのタイプ中に他の便利な機能を実行できます。 ヘルプファイルの参照してください (\fIrun-help\fR)、 手軽にエディタの再起動 (\fIrun-fg-editor\fR)、 コマンド解決 (\fIwhich-command\fR) などができます。 .PP 高性能化されたヒストリ機能。 ヒストリリストのイベントにタイムスタンプをつけられます。 \fIhistory\fR コマンドおよびそれに関連するシェル変数、 \fBヒストリ置換\fRに記述されている、 以前には文書化されていなかった `#' イベント記述子と新しい修正子、 \fI*-history\fR, \fIhistory-search-*\fR, \fIi-search-*\fR, \fIvi-search-*\fR, \fItoggle-literal-history\fR 各編集コマンド、 シェル変数 \fBhistlit\fR なども参照してください。 .PP 高性能化されたディレクトリ解釈 (parsing) とディレクトリスタック操作。 \fIcd\fR, \fIpushd\fR, \fIpopd\fR and \fIdirs\fR コマンドとそれらに 関連するシェル変数、\fBディレクトリスタック置換\fRでの説明、 \fBdirstack\fR, \fBowd\fR, \fBsymlinks\fR シェル変数、 \fInormalize-command\fR, \fInormalize-path\fR 編集コマンドなどを参照してください。 .PP グロブパターンの否定。 \fBファイル名置換\fRを見てください。 .PP 新しいファイル問い合わせ演算子 (そちらも参照) とそれらを用いる組み込みコマンド \fIfiletest\fR。 .PP スケージューリングされたイベント、特別なエイリアス、自動ログアウト、 端末のロック、コマンド待ち、ログインとログアウトの監視などなどを含む、 各種の\fB自動イベント、定期イベント、時刻指定イベント\fR (それぞれの項目を参照)。 .PP 固有言語システムのサポート (\fB固有言語システムのサポート\fRを見てください)、 OS 固有の各種機能のサポート (\fBOS 固有機能のサポート\fRと \fBecho_style\fR シェル変数を参照)、 システム依存のファイル配置 (\fB関連ファイル\fRを参照) .PP 拡張された端末管理能力 (\fB端末管理\fRを参照)。 .PP \fIbuiltins\fR, \fIhup\fR, \fIls\-F\fR, \fInewgrp\fR, \fIprintenv\fR, \fIwhich\fR, \fIwhere\fR などの新しい 組み込みコマンド (それぞれの項目を参照)。 .PP 新しい変数。シェルから便利な情報を簡単に入手できます。 \fBgid\fR, \fBloginsh\fR, \fBoid\fR, \fBshlvl\fR, \fBtcsh\fR, \fBtty\fR, \fBuid\fR, \fBversion\fR シェル変数と、 \fBHOST\fR, \fBREMOTEHOST\fR, \fBVENDOR\fR, \fBOSTYPE\fR, \fBMACHTYPE\fR 環境変数。 それぞれの説明を見てください。 .PP 有用な情報をプロンプト文字列に埋めこむための新しいシンタックス (\fBprompt\fR を参照)。 ループとスペル訂正用の特別なプロンプト (\fBprompt2\fR と \fBprompt3\fR を参照)。 .PP 読み取り専用の変数 (\fB変数置換\fRを参照)。 .SH バグ サスペンドされたコマンドが再開されたときに、 カレントディレクトリが起動されたときと違っている場合には、 起動時のディレクトリを表示します。 ジョブが内部でディレクトリを変更することもあり得るので、 これは間違った情報を与えてしまうかもしれません。 .PP シェルの組み込み機能は停止、再開できません。 `a ; b ; c' のような形のコマンド列を停止させるときの処理も あまり上品なものではありません。 `b' コマンドをサスペンドさせると、 シェルは即座に `c' コマンドを実行してしまいます。 \fIalias\fR での展開結果を実行しているときには、 特にこの点に注意が必要です。 コマンド列を () の中に入れて、 サブシェルに押し込めてしまうのがいいでしょう。 つまり `( a ; b ; c )' のようにするのです。 .PP プロセス開始後の端末出力の制御が原始的です。 誰かが仮想端末の良いインタフェースを作ってくれるといいのですが。 仮想端末インターフェースの分野では、 出力制御に関して面白いことがたくさん行えるはずです。 .PP エイリアス置換がシェル手続きのシミュレートに大変良く用いられますが、 これはあまり気のきいたものではありません。 エイリアスよりもシェル手続きを提供すべきです。 .PP ループの中のコマンドは、ヒストリリストに追加されません。 制御構造は、組み込みコマンドとしては認識されず、単に解釈されます。 したがって制御コマンドはどこにでも置くことができ、 パイプ `|' といっしょにも、 `&' と `;' のようなメタシンタックスといっしょにも使えます。 .PP \fIforeach\fR は \fIend\fR を探しているとき ヒアドキュメントを無視しません。 .PP `:' 修飾子は、 コマンド置換の出力に使えるべきです。 .PP ダム端末のように、端末がカーソルを上に移動できない場合には、 スクリーン幅より長い行の更新が大変貧弱です。 .PP \fBHPATH\fR と \fBNOREBIND\fR は環境変数である必要はありません。 .PP `?' や `*' や `[]' を使わないグロブパターンや、 `{}' や `~' を使うグロブパターンは、否定が正しく扱われません。 .PP \fIif\fR の単一コマンド形式では、たとえ式が偽で、 コマンドが実行されなかったとしても、リダイレクト出力をしてしまいます。 .PP \fIls\-F\fR はファイル名をソートするとき、 ファイル識別キャラクタを勘定に入れてしまいます。 またファイル名の中の制御文字を正しく扱うことができません。 中断させることもできません。 .PP バグレポートは tcsh-bugs@mx.gw.com まで送ってください。 修正もいっしょに送っていただけるとありがたいです。 もし tcsh のメンテナンスとテストを手伝って下さる場合には、 本文に "subscribe tcsh " と一行書いたメールを listserv@mx.gw.com に送ってください。 "subscribe tcsh-bugs " を講読すれば すべてのバグレポートが取得できます。 "subscribe tcsh-diffs " を講読すれば 開発 ML に参加でき、各パッチレベルでの diff を入手できます。 .SH tcsh の T の由来 1964 年 DEC は PDP-6 を開発しました。 のちに PDP-10 が再実装されました。 1970 年前後に DEC がそのセカンドモデル KI10 を発表したとき、 これには DECsystem-10 という新しい名前がつけられました。 .PP TENEX は 1972 年に Bolt, Beranek & Newman (Massachusetts 州 Cambridge のシンクタンク) において、 実験的なデマンドページ型仮想記憶 OS として作られました。 彼らは DEC PDP-10 用の新しいページャを構築し、 それを使った OS を作りました。 これは学術分野で非常に大きな成功を収めました。 .PP 1975 年 DEC は PDP-10 の新しいモデル KL10 を発表しました。 DEC は BBN から TENEX のライセンスを受け、 KL10 は TENEX 版のみにするつもりでした。 DEC はそれらのバージョンを TOPS-20 と呼んでいました (大文字化は商標です)。 多くの TOPS-10 ("The OPerating System for PDP-10" の頭文字です) ユーザが これに反対しました。 こうして DEC は同じハードウエアにふたつの互換性のないシステムを サポートしなければならないことになりました。 --でもそのとき PDP-11 には 6 つの OS があったのですが! .PP TENEX の TOPS-20 はバージョン 3 までに、 ULTCMD と呼ばれるユーザコードレベルのコマンド補完機能サブルーチンを 備えていました。バージョン 3 で DEC は、 これらの機能すべてと、さらにそれ以上とをモニタ (Unix でいうところのカーネル) に追加し、 COMND& JSYS (`Jump to SYStem' 命令; スーパーバイザーを呼び出す機能 [私が IBM 上がりだってバレちゃった?]) でアクセスできるようにしました .PP tcsh の作者たちは TENEX と TOPS-20 における これらの機能に影響を受け、これを模倣した版の csh を作成したのです。 .SH 制限 単語は 1024 文字より長くできません。 .PP システムは引数並びを 10240 文字までに制限しています。 .PP コマンドに与える引き数の数 (ファイル名展開を含む) は、 引き数リストに許された文字数の 1/6 までに制限されています。 .PP コマンド置換では、 引数リストに許された文字数より多くの文字数に置換できません。 .PP シェルはループを検出するために、 \fIalias\fR 置換の回数を 1 行当たり 20 に制限しています。 .SH 関連項目 csh(1), emacs(1), ls(1), newgrp(1), sh(1), setpath(1), stty(1), su(1), tset(1), vi(1), x(1), access(2), execve(2), fork(2), killpg(2), pipe(2), setrlimit(2), sigvec(2), stat(2), umask(2), vfork(2), wait(2), malloc(3), setlocale(3), tty(4), a.out(5), termcap(5), environ(7), termio(7), Introduction to the C Shell .SH バージョン -このマニュアルは tcsh 6.09.01 (Astron) 2000-01-14 +このマニュアルは tcsh 6.10.00 (Astron) 2000-11-19 に関するドキュメントです。 .SH 作者 .PD 0 .TP 2 William Joy \fIcsh\fR(1) のオリジナル作者 .TP 2 J.E. Kulp, IIASA, Laxenburg, Austria ジョブコントロールとディレクトリスタック機能 .TP 2 Ken Greer, HP Labs, 1981 ファイル名補完 .TP 2 Mike Ellis, Fairchild, 1983 コマンド名認識 / 補完 .TP 2 Paul Placeway, Ohio State CIS Dept., 1983-1993 コマンドラインエディタ、プロンプトルーチン、新しいグロブの文法、 たくさんの修正とスピードアップ .TP 2 Karl Kleinpaste, CCI 1983-4 特別なエイリアス、ディレクトリスタックの取出し機能、 ログイン / ログアウト監視、スケジュールイベント、 新しいプロンプト書式のアイデア .TP 2 Rayan Zachariassen, University of Toronto, 1984 \fIls\-F\fR と \fIwhich\fR の組み込み、たくさんのバクフィックス、 修正とスピードアップ .TP 2 Chris Kingsley, Caltech 高速ストレージアロケータルーチン .TP 2 Chris Grevstad, TRW, 1987 4.3BSD \fIcsh\fR の \fItcsh\fR へのマージ .TP 2 Christos S. Zoulas, Cornell U. EE Dept., 1987-94 HPUX, SVR2, SVR3 に移植、SysV 版 getwd.c, SHORT_STRINGS をサポート、 sh.glob.c の新バージョン .TP 2 James J Dempsey, BBN, and Paul Placeway, OSU, 1988 A/UX に移植 .TP 2 Daniel Long, NNSC, 1988 \fBwordchars\fR .TP 2 Patrick Wolfe, Kuck and Associates, Inc., 1988 \fIvi\fR モードのクリーンアップ .TP 2 David C Lawrence, Rensselaer Polytechnic Institute, 1989 \fBautolist\fR と、あいまい補完の一覧 .TP 2 Alec Wolman, DEC, 1989 プロンプト中の改行 .TP 2 Matt Landau, BBN, 1989 ファイル \fI~/.tcshrc\fR .TP 2 Ray Moody, Purdue Physics, 1989 スペースバーの魔法によるヒストリ展開 .TP 2 Mordechai ????, Intel, 1989 printprompt() の修正と追加 .TP 2 Kazuhiro Honda, Dept. of Computer Science, Keio University, 1989 自動スペル訂正と \fBprompt3\fR .TP 2 Per Hedeland, Ellemtel, Sweden, 1990- さまざまなバグフィックス、改良とマニュアルのアップデート .TP 2 Hans J. Albertsson (Sun Sweden) \fBampm\fR, \fIsettc\fR, \fItelltc\fR .TP 2 Michael Bloom 割り込みハンドリングの修正 .TP 2 Michael Fine, Digital Equipment Corp 拡張キーのサポート .TP 2 Eric Schnoebelen, Convex, 1990 Convex サポート、\fIcsh\fR の多数のバグフィックス、 ディレクトリスタックの保存と復帰 .TP 2 Ron Flax, Apple, 1990 A/UX 2.0 への (再) 移植 .TP 2 Dan Oscarsson, LTH Sweden, 1990 NLS サポートと非 NLS サイト用の NLS シミュレート機能、修正 .TP 2 Johan Widen, SICS Sweden, 1990 \fBshlvl\fR, Mach サポート、\fIcorrect-line\fR, 8 ビット表示 .TP 2 Matt Day, Sanyo Icon, 1990 POSIX termio サポート、SysV limit 修正 .TP 2 Jaap Vermeulen, Sequent, 1990-91 vi モード修正、expand-line, ウインドウ変更の修正、Symmetry 移植 .TP 2 Martin Boyer, Institut de recherche d'Hydro-Quebec, 1991 \fBautolist\fR beeping オプション、 行の先頭からカーソルまでのすべてを対象とするヒストリ検索の修正 .TP 2 Scott Krotz, Motorola, 1991 Minix に移植 .TP 2 David Dawes, Sydney U. Australia, Physics Dept., 1991 SVR4 ジョブコントロールの修正 .TP 2 Jose Sousa, Interactive Systems Corp., 1991 拡張 \fIvi\fR の修正、\fIvi\fR デリートコマンド .TP 2 Marc Horowitz, MIT, 1991 ANSIfication の修正、新しい exec ハッシュコード、 imake の修正、\fIwhere\fR .TP 2 Bruce Sterling Woodcock, sterling@netcom.com, 1991-1995 ETA と Pyramid への移植、 Makefile と lint の修正、\fBignoreeof\fR=n 追加、 その他のさまざまな移植性向上のための変更、およびバグ修正 .TP 2 Jeff Fink, 1992 \fIcomplete-word-fwd\fR と \fIcomplete-word-back\fR .TP 2 Harry C. Pulley, 1992 Coherent に移植 .TP 2 Andy Phillips, Mullard Space Science Lab U.K., 1992 VMS-POSIX に移植 .TP 2 Beto Appleton, IBM Corp., 1992 移動プロセスグループの修正、\fIcsh\fR バグ修正、 POSIX file tests, POSIX SIGHUP .TP 2 Scott Bolte, Cray Computer Corp., 1992 CSOS に移植 .TP 2 Kaveh R. Ghazi, Rutgers University, 1992 Tek, m88k, Titan と Masscomp への移植と修正、 autoconf サポートの追加 .TP 2 Mark Linderman, Cornell University, 1992 OS/2 に移植 .TP 2 Mika Liljeberg, liljeber@kruuna.Helsinki.FI, 1992 Linux に移植 .TP 2 Tim P. Starrin, NASA Langley Research Center Operations, 1993 読み取り専用変数 .TP 2 Dave Schweisguth, Yale University, 1993-4 新しいマニュアルページと tcsh.man2html .TP 2 Larry Schwimmer, Stanford University, 1993 AFS と HESIOD パッチ .TP 2 Luke Mewburn, RMIT University, 1994-6 プロンプトの中でのディレクトリ表示の拡張、 \fBellipsis\fR と \fBrprompt\fR .TP 2 Edward Hutchins, Silicon Graphics Inc., 1996 暗黙的な cd の追加。 .TP 2 Martin Kraemer, 1997 Siemens Nixdorf EBCDIC machine に移植 .TP 2 Amol Deshpande, Microsoft, 1997 WIN32 (Windows/95 and Windows/NT) に移植、 足りないライブラリすべてと、 メッセージカタログコードのすべてを作成し、 Windows と通信できるようにした .TP 2 Taga Nayuta, 1998 色つき ls の追加 .PD .PP .SH 謝辞 以下のみなさんに感謝します。 .br Bryan Dunlap, Clayton Elwell, Karl Kleinpaste, Bob Manson, Steve Romig, Diana Smetters, Bob Sutterfield, Mark Verber, Elizabeth Zwicky そして提案と応援をしてくれたオハイオ州のすべてのみなさん。 .PP あらゆるバージョンに耐え、バグレポートを送ってくれ、 提案と新規追加をしてくれたネット上のすべてのみなさん。 .PP "tcsh の T の由来" の章を執筆してくれた Richard M. Alderson III。 .SH 翻訳 t_ogawa .br おさな .br ゆ〜こ .br 森浩二 .br NOKUBI Hirotaka .br 中野武雄 (JM プロジェクト) .br 蔭山 .br 中村和志@神戸 .br 大澤千敏@岐阜 .br 熊谷典大 .br (順不同) .PP 翻訳にあたり、JM プロジェクトの方々の御協力を頂きました。 diff --git a/ja_JP.eucJP/man/man1/tftp.1 b/ja_JP.eucJP/man/man1/tftp.1 index 8fd2a589b5..87a9d35038 100644 --- a/ja_JP.eucJP/man/man1/tftp.1 +++ b/ja_JP.eucJP/man/man1/tftp.1 @@ -1,172 +1,176 @@ .\" Copyright (c) 1990, 1993, 1994 .\" 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. .\" .\" @(#)tftp.1 8.2 (Berkeley) 4/18/94 -.\" %FreeBSD: src/usr.bin/tftp/tftp.1,v 1.4.2.1 2000/12/08 15:14:11 ru Exp % +.\" %FreeBSD: src/usr.bin/tftp/tftp.1,v 1.4.2.2 2001/03/04 09:12:14 kris Exp % .\" jpman %Id: tftp.1,v 1.2 1997/05/21 23:34:40 mutoh Stab % .\" .Dd April 18, 1994 .Dt TFTP 1 .Os BSD 4.3 .Sh 名称 .Nm tftp .Nd 簡単なファイル転送プログラム .Sh 書式 .Nm .Op Ar host .Sh 解説 .Nm は、インターネット .Tn TFTP (Trivial File Transfer Protocol) を用いて、リモートマシンとの間の ファイル転送を行なうためのユーザインタフェースです。 リモートマシン名 .Ar host は、 .Nm 起動時にコマンドラインで指定することが可能です。この場合、 .Ar host はファイル転送を行なう際のデフォルトのホストとして使われます。 (以下の .Cm connect コマンドを参照のこと)。 .Sh コマンド .Nm 起動後、コマンド入力を促すプロンプト .Dq Li tftp> が表示されます。この状態で使用できるコマン ドは以下の通りです。 .Pp .Bl -tag -width verbose -compact .It Cm \&? Ar command-name ... ヘルプメッセージを出力します。 .Pp .It Cm ascii ``mode ascii'' の略です。 .Pp .It Cm binary ``mode binary'' の略です。 .Pp .It Cm connect Ar host-name Op Ar port ファイル転送を行なう .Ar host を(必要あれば .Ar port 番号も同時に) 設定します。 なお、 .Tn TFTP プロトコルは、 .Tn FTP プロトコルと違い、無通信状態においてはホスト間の コネクションを保持しないことに注意してください。 つまり、 .Cm connect コマンドはホスト 間のコネクションを確立するのではなく、実際には転送を行なうホストを 記憶するのに使用されます。 使用者は .Cm connect コマンドを使用する必要はなく、 .Cm get もしくは .Cm put コマンドを使用する時にリモートホストを指定することができます。 .Pp .It Cm get Ar filename .It Cm get Ar remotename localname .It Cm get Ar file1 file2 ... fileN 指定された形式でファイルを取得します。転送元の指定方法には 2 通りあります。 .Ar host がすでに指定されている場合、リモートホスト上のファイル名を指定し ます。もしくは .Ar hosts:filename のようにリモートマシンとファイル名の両者を指 定します。もし後者の形式が使用される場合、最後に指定されたリモートホスト名が 以後のファイル転送の対象ホストとなります。 .Pp .It Cm mode Ar transfer-mode 転送モードを設定します。転送モードは .Em ascii と .Em binary の 2 通りがあります。デフォルトは .Em ascii となります。 .Pp .It Cm put Ar file .It Cm put Ar localfile remotefile .It Cm put Ar file1 file2 ... fileN remote-directory 指定されたファイルまたはディレクトリをリモートホストに転送します。 転送先の指定方法は 2 通りあります。 .Ar host がすでに 指定されている場合、リモートホスト上に作成されるファイル名を指定します。もしく は .Ar hosts:filename のようにリモートホストとファイル名の両者を指定します。後者 の形式が使用される場合、最後に指定されたリモートホスト名が以後のファイル転送の 対象ホストとなります。また、ディレクトリを指定してリモートへのファイル転送を行 なう場合、リモートホストは .Tn UNIX マシンとみなされます。 .Pp .It Cm quit .Nm を終了します。EOF (^D) を入力した場合も同様です。 .Pp .It Cm rexmt Ar retransmission-timeout パケット毎の再送タイムアウト時間を秒単位で設定します。 .Pp .It Cm status 現在の tftp の状態を表示します。 .Pp .It Cm timeout Ar total-transmission-timeout 全体の転送タイムアウト時間を、秒単位で設定します。 .Pp .It Cm trace トグル動作でパケットトレース機能の ON/OFF を設定します。 .Pp .It Cm verbose トグル動作でバーボーズモードの ON/OFF を設定します。 .El .Sh バグ .Pp .Tn TFTP プロトコルには、ユーザ認証機構がないために、リモートマシン上のファイルには 何らかの種類のアクセス制限が生じることがあります。それらに関してはいろいろな例 があるため、ここには記述しません。 +.Pp +33488896 オクテット (65535 ブロック) を越えるファイルは、 +クライアントとサーバがブロックサイズのネゴシエーション (RFC1783) を +サポートしていなければ、転送不可能です。 .Sh 歴史 .Nm コマンドは .Bx 4.3 から登場しました。 diff --git a/ja_JP.eucJP/man/man1/units.1 b/ja_JP.eucJP/man/man1/units.1 index bbe8730737..f831571c18 100644 --- a/ja_JP.eucJP/man/man1/units.1 +++ b/ja_JP.eucJP/man/man1/units.1 @@ -1,161 +1,161 @@ -.\" %FreeBSD: src/usr.bin/units/units.1,v 1.8.2.2 2000/12/19 16:22:33 ru Exp % +.\" %FreeBSD: src/usr.bin/units/units.1,v 1.8.2.3 2001/03/04 09:22:35 kris Exp % .\" jpman %Id: units.1,v 1.3 1997/07/21 09:42:33 konuma Stab % .Dd July 14, 1993 .Dt UNITS 1 .Os .Sh 名称 .Nm units .Nd いろいろな単位の換算を行う .Sh 書式 .Nm .Op Fl f Ar filename .Op Fl qv .Op Ar to-unit from-unit .Sh オプション .Bl -tag -width indent .It Fl f Ar filename 単位換算用のデータファイル名を指定します。 .It Fl q 求める単位の入力プロンプトと、 換算する単位の入力プロンプトの表示を抑制します。 .It Fl v バージョン番号を表示します。 .It Ar from-unit to-unit コマンドラインから直接、単位換算を行ないます。 プロンプトは表示せず、 指定した換算結果を表示し終了します。 .El .Sh 解説 .Nm プログラムは様々な単位で表された量を他の単位に換算します。 乗算で求められる単位の換算のみ行なえますが、 摂氏から華氏への変換などはできません。 入力プロンプトを介して、対話的に動作します。 .Bd -literal You have: meters You want: feet * 3.2808399 / 0.3048 You have: cm^3 You want: gallons * 0.00026417205 / 3785.4118 You have: meters/s You want: furlongs/fortnight * 6012.8848 / 0.00016630952 You have: 1|2 inch You want: cm * 1.27 / 0.78740157 .Ed .Pp 単位の中で累乗を表す部分は、上の例のように `^' を用いて表すか、 あるいは単に連結して表記します。例えば `cm3' は `cm^3' と等価です。 単位の掛け算を表すには、空白、ダッシュあるいはアスタリスクを用います。 単位の割り算には `/' を用います。 掛け算は割り算より高い優先度を持ちますから、 `m/s/s' は `m/s^2' あるいは `m/s s' と同じ意味になります。 数値の割り算には縦棒(`|')を用いなければなりません。 例えば 1 メートルの半分を変換するには、`1|2 meter' と書きます。 もし `1/2 meter' と書くと、 .Nm はそれを `0.5/meter' と解釈します。 換算できない単位型を指定すると、 .Nm はそれに対応していない旨の メッセージを表示し、各単位の簡略形を示します。 .Bd -literal You have: ergs/hour You want: fathoms kg^2 / day conformability error 2.7777778e-11 kg m^2 / sec^3 2.1166667e-05 kg^2 m / sec .Ed .Pp 換算に必要な情報は、換算用データベースファイルから読み込まれます。 デフォルトのファイルには、よく用いられる単位のほとんど、 省略形、メートル法の接頭語、などの定義が含まれています。 以下のような自然定数もいくつか含まれています: .Pp .Bl -inset -offset indent -compact .It "pi 円周率 .It "c 光速 .It "e 電子の電荷 .It "g 重力加速度 .It "force g と同じ .It "mole アボガドロ数 .It "water 単位水柱の圧力 .It "mercury 単位水銀柱の圧力 .It "au 天文単位 .El .Pp `pound' (ポンド) は質量の単位です。 複合した単位名は連結して記述します。 -`poundforce' は力の単位です。 +`pound force' は力の単位です。 `ounce' (オンス) もまた質量の単位です。 液体のオンスは `floz' です。 英米で同じ単位の値が異なる場合、英国式単位の前に `br' を付けます。 通貨単位の場合には `belgiumfranc' や `britainpound' のように頭に国名を付けて区 別します。 単位を探す際に指定された文字列そのものが単位名として見つからない場合、 .Nm は末尾の `s' や `es' を取り除いて再度チェックします。 .Pp どのような単位が利用可能か、については、標準の単位ファイルを参照して 下さい。 独自の単位を追加したいなら、独自のファイルを指定できます。 単位の指定は、1 行に名前とそれに相当する量を書きます。 新しい単位は古い単位に基づいて定義し、 単位を変換していくと `!' 印を付した原始単位にたどりつく ように注意してください。 不注意で単位定義に無限ループがあっても .Nm はそれを検知しません。 単位定義ファイル中において `/' で始まる行はコメントです。 .Pp 接頭語の定義も標準的な単位と同形式で行ないますが、 接頭語名の末尾にダッシュをつけます。 末尾の `s' や `es' を取り除いても、単位名として見つからない場合は、 接頭語かどうかがチェックされ、 接頭語を取り除くと有効な基本単位名となるかを調べます。 .Pp 基本的な単位を定義する簡単な単位ファイルの例を以下に示します。 .Pp .Bl -inset -offset indent -compact .It "m !a! .It "sec !b! .It "micro- 1e-6 .It "minute 60 sec .It "hour 60 min .It "inch 0.0254 m .It "ft 12 inches .It "mile 5280 ft .El .Sh バグ .Pp 接頭語に `/' が含まれるとびっくりする結果を生みます。 .Pp ユーザが入力する累乗部分は 1 桁でなければなりません。 必要なら何度か掛け合わせて下さい。 .Pp 数の除算には `|' を用い、シンボルの除算には `/' を用いなければなりませんが、 このような区別は不要にすべきです。 .Pp このプログラムは、換算した表示桁数の制限がばらばらですし、 データファイルの長さにも制限があります。 .Pp 単位を格納するのにハッシュ表を用い、 単位表のロードと重複チェックの時間を軽減すべきです。 .Sh 関連ファイル .Bl -tag -width /usr/share/misc/units.lib -compact .It Pa /usr/share/misc/units.lib 標準単位ライブラリ .El .Sh 作者 .An Adrian Mariano Aq adrian@cam.cornell.edu diff --git a/ja_JP.eucJP/man/man5/bootptab.5 b/ja_JP.eucJP/man/man5/bootptab.5 index ecb93794d0..fa7f506fe4 100644 --- a/ja_JP.eucJP/man/man5/bootptab.5 +++ b/ja_JP.eucJP/man/man5/bootptab.5 @@ -1,412 +1,412 @@ .\" Copyright (c) 1988, 1989, 1991 Carnegie Mellon University .\" -.\" %FreeBSD: src/libexec/bootpd/bootptab.5,v 1.4.2.2 2000/12/12 15:34:19 ru Exp % +.\" %FreeBSD: src/libexec/bootpd/bootptab.5,v 1.4.2.3 2001/03/05 18:21:59 ru Exp % .\" .\" jpman %Id: bootptab.5,v 1.3 1998/07/02 18:50:36 kumano Stab % .Dd October 31, 1991 .Dt BOOTPTAB 5 .Os .Sh 名称 .Nm bootptab .Nd インターネットブートストラッププロトコルサーバのデータベース .Sh 解説 .Nm ファイルは、 .Xr bootpd 8 すなわちインターネットブートストラッププロトコルサーバの 設定データベースファイルです。 このフォーマットは .Xr termcap 5 のものに似ており、2 文字の大文字小文字を区別するタグシンボルが ホストパラメータを表現します。 これらのパラメータ宣言はコロン (:) によって分けられ、次のような形式になります。 .Pp .Dl "hostname:tg=value. . . :tg=value. . . :tg=value. . . ." .Pp ここで .Em hostname は実際の bootp クライアントの名前 (もしくは「ダミーエントリ」) であり、 .Em tg は 2 文字のタグシンボルです。 ダミーエントリは不正なホスト名 ("." を最初の文字とする名前) を持ち、 .Em tc=.dummy-entry 機構を介して他のエントリにデフォルト値を提供します。 ほとんどのタグの後には、上記のように等号と値を続ける必要があります。 値を伴わないブール形式のものもあります (すなわち .Em :tg: の形式です)。 現在、認識されるタグを示します: .Pp .Bl -tag -width xxx -compact .It bf ブートファイル .It bs 512 オクテットブロックでのブートファイルの大きさ .It cs クッキーサーバのアドレスリスト .It df メリットダンプファイル .It dn ドメイン名 .It ds ドメインネームサーバのアドレスリスト .It ef 拡張ファイル .It gw ゲートウェイのアドレスリスト .It ha ホストのハードウェアアドレス .It hd ブートファイルのホームディレクトリ .It hn クライントのホスト名をクライアントに送る .It ht ホストのハードウェアタイプ (Assigned Numbers RFC を参照) .It im インプレスサーバのアドレスリスト .It ip ホストの IP アドレス .It lg ログサーバのアドレスリスト .It lp LPR サーバのアドレスリスト .It ns IEN-116 ネームサーバのアドレスリスト .It nt NTP (時刻) サーバ (RFC 1129) .It ra 返答アドレスの上書き .It rl リソースロケーションプロトコルサーバのアドレスリスト .It rp ルートとしてマウントするルートパス .It sa クライアントが使用すべき TFTP サーバのアドレス .It sm ホストのサブネットマスク .It sw スワップサーバのアドレス .It tc テーブル継続 (同様の「テンプレート」ホストエントリを指します) .It td 「安全な」 TFTP サーバが使用するルートディレクトリ .It to 秒で表現した UTC からのオフセット .It ts タイムサーバのアドレスリスト .It vm ベンダマジッククッキーセレクタ .It yd YP (NIS) のドメイン名 .It ys YP (NIS) のサーバアドレス .El .Pp 包括的な .Pf T Em n タグもあります。ここで .Em n は RFC1084 のベンダフィールドタグ番号です。 これにより、まず .Nm bootpd を変更しなくとも、 RFC1084 に対する将来の拡張の利点をすぐに利用することができます。 包括的なデータは、 16 進数のストリームもしくはクォートされた .Tn ASCII 文字列として表現されます。 包括的なデータの長さは自動的に判定され、 RFC1084 スタイルのブートストラップリプライの適切なフィールドに挿入されます。 .Pp 以下のタグは空白で区切られた IP アドレスのリストを取ります: .Em cs , .Em ds , .Em gw , .Em im , .Em lg , .Em lp , .Em ns , .Em nt , .Em ra , .Em rl , .Em ts 。また .Em ip , .Em sa , .Em sw , .Em sm , .Em ys タグはそれぞれ単一の IP アドレスを取ります。 IP アドレスは全て標準のインターネット「ドット」表記で指定されます。 10 進数、8 進数、16 進数のいずれも使用可能です (8 進数は 0 から始まり、16 進数は '0x' または '0X' から始まります)。 IP アドレスは代りにホスト名で指定可能です。 この場合、 .Nm bootpd はそのホスト名の IP アドレスを得るために .Xr gethostbyname 3 を使用します。 もし .Em ip タグが指定されなかった場合、 .Nm bootpd はエントリ名をホスト名とすることにより IP アドレスを判定します。 (ダミーエントリは不正なホスト名とすることにより、 自動的な IP 検索を避けます) .Pp .Em ht タグは、10 進数・8 進数・16 進数の符号無し整数、 もしくは以下のいずれかのシンボル名をもって、 ハードウェアタイプコードを指定します。 .Em ethernet , .Em ether は 10Mb イーサネットを、 .Em ethernet3 , .Em ether3 は 3Mb の実験的イーサネットを、 .Em ieee802 , .Em tr , .Em token-ring は IEEE 802 ネットワークを、 .Em pronet は Proteon ProNET Token Ring を、 .Em chaos , .Em arcnet , .Em ax.25 は Chaos, ARCNET, AX.25 Amateur Radio networks を、それぞれ表現します。 .Em ha タグは、ホスト名もしくは数値形式で、ハードウェアアドレスを指定します。 数値形式は 16 進数で指定する .Em 必要があります 。可読性のためにピリオドを付けたり、前に '0x' を付けても良いです。 .Em ha タグの前に .Em ht タグがある必要があります (明示的でも暗黙的でもかまいません。後述の .Em tc 参照)。ハードウェアアドレスが指定されない場合、指定されたタイプが \&"ethernet" もしくは \&"ieee802" の場合、 .Nm bootpd は .Xr ether_hostton 3 を使用してハードウェアアドレスを決定しようとします。 .Pp ホスト名・ホームディレクトリ・ブートファイルは .Tn ASCII 文字列であり、 ダブルクォート (") で括ることもできます。 クライアントのリクエストおよび .Em hd シンボルと .Em bf シンボルの値は、bootp リプライパケットのブートファイルフィールドを サーバがどのように埋めるかを決定します。 .Pp クライアントがファイル名を指定した場合、それはそのまま残されます。 そうでない場合は、 .Em bf オプションが指定されていれば、その値がリプライパケットにコピーされます。 もし .Em hd オプションも指定されている場合には、 その値がリプライパケットにコピーされるブートファイルの前に付きます。 ブートファイルの存在確認は .Em bs Ns =auto オプションが使用されているときのみ行われます (ブートファイルサイズ確認のためです)。 ブートファイルが存在しようとしまいと、リプライは送られます。 .Pp 新しいバージョンの .Xr tftpd 8 では、 .Xr chroot 2 システムコールを使用してルートディレクトリを変更するという セキュリティ機能を提供します。 .em td タグは、 .Nm tftpd が使用するこの特殊ルートディレクトリを .Nm bootpd に通知するために使用します。 (代りに .Nm bootpd .Fl c Ar chdir オプションを使用したいかもしれません。) 実際、 .Em hd タグは .Em td タグにより指定されるルートディレクトリからの相対指定です。 例えば、BOOTP クライアントブートファイルの現実の絶対パスが .Pa /tftpboot/bootfiles/bootimage であり、 .Nm tftpd が .Pa /tftpboot を「安全な」ディレクトリとする場合、 .Pa bootptab では次のように指定します。 .Pp .Fl :td=/tftpboot:hd=/bootfiles:bf=bootimage: .Pp ブートファイルを直接 .Pa /tftpboot に置く場合には次のようにします。 .Pp .Dl :td=/tftpboot:hd=/:bf=bootimage: .Pp .Em sa タグは、あなたがクライアントに使用させたい特定の TFTP サーバの IP アドレスを 指定するために使用します。 このタグを指定しないと、 .Nm bootpd が実行されているのと同じマシンに対して TFTP を行うように、 .I bootpd はクライアントに指示します。 .Pp 時刻オフセット .Em to は、クライアントの UTC からのタイムゾーンオフセットを秒で表現した 符号付き 10 進数、 またはサーバのタイムゾーンオフセットを使用することを意味するキーワード .Em auto です。 .Em to シンボルをブール値として指定することは、 .Em auto を値として指定するのと同じ効果があります。 .Pp ブートファイルサイズ .Em bs は、10 進数・8 進数・16 進数の整数で ブートファイルのサイズを 512 オクテットブロックで表現したもの、 またはサーバが各リクエストに際して ブートファイルサイズを自動的に計算することを示すキーワード .Em auto です。 時刻オフセットと同じく、 .Em bs シンボルをブール値として指定することは、 .Em auto を値として指定するのと同じ効果があります。 .Pp ベンダマジッククッキーセレクタ ( .Em vm タグ) は以下のキーワードのいずれかを取ります。 .Em auto (ベンダ情報をクライアントリクエストから判別)、 .Em rfc1048 または .Em rfc1084 (常に RFC1084 スタイルのリプライを強制)、または .Em cmu (常に CMU スタイルのリプライを強制) です。 .Pp .Em hn タグは厳密にブール値のタグです。通常の等号および値を取りません。 このタグが存在すると、ホスト名を RFC1084 クライアントに送ることを意味します。 .Nm bootpd は、構成ファイルで指定されるホスト名全体を送ろうとします。 リプライパケットに収まらない場合、 名前は (存在するならば最初のピリオドまでの) ホストフィールドのみに縮められ、 再度試されます。 任意の長さに縮められたホスト名が送られてしまうということはありません (収まるものがない場合には、なにも送られません)。 .Pp しばしば、多くのホストエントリが特定のタグの共通の値を共有します (ネームサーバなど)。 これらのタグを何度も書くのではなく、 全体仕様を 1 つのホストエントリに記述してこれを .Em tc (テーブル継続) 機構を介して共有することができます。 多くの場合、このテンプレートエントリは実際には存在しないダミーホストであり、 bootp リクエストを送ることはありません。 この機能は、 .Xr termcap 5 で似た端末を記述するための .Em tc 機能に似ています。 .Pa termcap では最後のタグでなければなりませんが、 .Nm bootpd では .Em tc タグシンボルがホストエントリ中のどこにあらわれても良いことに注意してください。 ホストに対して明示的に指定した情報は、エントリ中の .Em tc タグシンボルの位置にかかわらず、これにより暗黙に指定される情報を上書きします。 .Em tc タグの値はホスト名もしくは構成ファイルで前に記述されている IP アドレスです。 .Pp .Em tc タグで暗示された特定のタグの削除が必要になることがあります。 これは .Em tag Ns @ 構造を使用することにより、 .Xr termcap 5 の場合と同様に .Em tag の効果を削除することにより実現できます。 例えば、IEN-116 ネームサーバ仕様を完全に無効にしたい場合には、 構成ファイルのエントリの適切な位置に .Em :ns@: を置きます。 .Em @ を使用して削除を行った後には、 .Em tc 機構を使用してそのタグを再度設定することができます。 .Pp 構成ファイル中の、空行および "#" で始まる行は無視されます。 ホストエントリは改行で分けられます。 単一のホストエントリは、 行がバックスラッシュ (\\) で終る場合に複数行にまたがることができます。 行が 80 文字を越えることも許されます。 タグは任意の順序で現われてかまいませんが、次のような例外があります。 ホスト名はエントリの最初のフィールドである必要があり、 ハードウェアタイプはハードウェアアドレスの前に指定する必要があります。 .Pp .Pa /etc/bootptab ファイルの例を示します: .Pp .Bd -literal -offset indent # Sample bootptab file (domain=andrew.cmu.edu) \&.default:\\ :hd=/usr/boot:bf=null:\\ :ds=netserver, lancaster:\\ :ns=pcs2, pcs1:\\ :ts=pcs2, pcs1:\\ :sm=255.255.255.0:\\ :gw=gw.cs.cmu.edu:\\ :hn:to=-18000: carnegie:ht=6:ha=7FF8100000AF:tc=.default: baldwin:ht=1:ha=0800200159C3:tc=.default: wylie:ht=1:ha=00DD00CADF00:tc=.default: arnold:ht=1:ha=0800200102AD:tc=.default: bairdford:ht=1:ha=08002B02A2F9:tc=.default: bakerstown:ht=1:ha=08002B0287C8:tc=.default: # Special domain name server and option tags for next host butlerjct:ha=08002001560D:ds=128.2.13.42:\\ :T37=0x12345927AD3BCF:\\ :T99="Special ASCII string":\\ :tc=.default: gastonville:ht=6:ha=7FFF81000A47:tc=.default: hahntown:ht=6:ha=7FFF81000434:tc=.default: hickman:ht=6:ha=7FFF810001BA:tc=.default: lowber:ht=1:ha=00DD00CAF000:tc=.default: mtoliver:ht=1:ha=00DD00FE1600:tc=.default: .Ed .Sh 関連ファイル .Bl -tag -width /etc/bootptab -compact .It /etc/bootptab .El .Sh "関連項目" .Xr bootpd 8 , .Xr tftpd 8 .br DARPA Internet Request For Comments RFC951, RFC1048, RFC1084, Assigned Numbers diff --git a/ja_JP.eucJP/man/man5/dm.conf.5 b/ja_JP.eucJP/man/man5/dm.conf.5 index dfc217a0bc..8e47bb3f09 100644 --- a/ja_JP.eucJP/man/man5/dm.conf.5 +++ b/ja_JP.eucJP/man/man5/dm.conf.5 @@ -1,107 +1,108 @@ .\" Copyright (c) 1988, 1991, 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. .\" -.\" WORD: configuration file 設定ファイル -.\" %FreeBSD: src/games/dm/dm.conf.5,v 1.3 1999/08/27 23:29:00 peter Exp % -.\" WORD: day of the week 曜日 +.\" %FreeBSD: src/games/dm/dm.conf.5,v 1.3.2.1 2001/03/05 18:10:24 ru Exp % .\" .\" @(#)dm.conf.5 8.1 (Berkeley) 5/31/93 +.\" .\" jpman %Id: dm.conf.5,v 1.3 1998/07/30 15:23:17 horikawa Stab % +.\" WORD: configuration file 設定ファイル +.\" WORD: day of the week 曜日 .\" .Dd May 31, 1993 .Dt DM.CONF 5 .Os BSD 4.2 .Sh 名称 .Nm dm.conf .Nd \&dm 設定ファイル .Sh 解説 -.Xr dm.conf +.Nm ファイルは .Xr \&dm 8 プログラムの設定ファイルです。 このファイルは ``badtty'', ``game'', ``time'' の 3 個のキーワードの どれか1つから始まる行で構成されます。その他の行は全て無視されます。 .Pp キーワード ``badtty'' の後にリストされた全ての tty 上では、 ゲームで遊ぶことができません。 エントリは空白文字で区切られた2個のフィールドからなります。 その 2 つは文字列 ``badtty'' と .Xr ttyname 3 の戻り値となる tty 名です。 例えば、uucp ダイヤルアウト用の ``tty19'' を、ゲームに 用いられないようにするためには、以下のようにします。 .Bd -literal -offset indent badtty /dev/tty19 .Ed .Pp キーワード ``time'' の後に、日付/時間の組み合わせをリストすると、その時間帯は ゲームがすべて禁止されます。 このエントリは空白文字で区切られた 4 個のフィールドからなります。 その 4 つは文字列 ``time'' と省略なしの曜日、ゲームをしてはいけない時間帯 の始まりと終わりを示します。 時間のフィールドは 0 時から始まる 24 時間制で表します。 例えば、以下のエントリは、月曜日には午前 8 時以前と午後 5 時以降のみに ゲームで遊ぶことを許可するものです。 .Bd -literal -offset indent time Monday 8 17 .Ed .Pp キーワード ``game'' の後に何らかのゲームをリストすると、 特定のゲームのためにパラメータをセットします。 このエントリは空白文字で区切られた 5 個のフィールドからなります。 その 5 つはキーワード ``game''、ゲームの名前、ゲームで遊ぶことが許される ロードアベレージの最大値、ケームで遊ぶことが許されるときの最大ユーザ数、 ゲームが実行されるときの優先度です。 これらのフィールドはすべて、数字以外の文字で始めることができ、 その場合はそのフィールドに基づいたゲームの制限や優先度が課せられない 結果になります。 ゲーム "default" は他のどこにもリストされていないゲーム全ての設定を 制御するもので、ファイル内の最後の ``game'' エントリである必要があります。 優先度は負の値にすることはできません。 例えば以下のエントリは、ゲーム ``hack'' に対しては、 システムのユーザが 10 人以下でロードアベレージが 5 以下であるときのみ許可し、 その他の全てのゲームにはシステムのユーザが 15 人以下であるとき常に許可する 制限を課します。 .Bd -literal -offset indent game hack 5 10 * game default * 15 * .Ed .Sh 関連ファイル .Bl -tag -width /etc/dm.conf -compact .It Pa /etc/dm.conf .Xr \&dm 8 設定ファイル .El .Sh 関連項目 .Xr setpriority 2 , .Xr ttyname 3 , .Xr dm 8 diff --git a/ja_JP.eucJP/man/man5/exports.5 b/ja_JP.eucJP/man/man5/exports.5 index f33721e9fa..34b86a65d2 100644 --- a/ja_JP.eucJP/man/man5/exports.5 +++ b/ja_JP.eucJP/man/man5/exports.5 @@ -1,300 +1,318 @@ .\" Copyright (c) 1989, 1991, 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. .\" .\" @(#)exports.5 8.3 (Berkeley) 3/29/95 -.\" %FreeBSD: src/sbin/mountd/exports.5,v 1.10.2.4 2001/01/16 10:36:36 ru Exp % +.\" %FreeBSD: src/sbin/mountd/exports.5,v 1.10.2.5 2001/03/05 19:33:46 ru Exp % .\" .\" jpman %Id: exports.5,v 1.3 1998/07/02 14:10:07 horikawa Stab % .\" .Dd March 29, 1995 .Dt EXPORTS 5 .Os .Sh 名称 .Nm exports .Nd .Tn NFS マウント要求に対するリモートマウント点を定義する .Sh 書式 .Nm .Sh 解説 .Nm ファイルは .Tn NFS サーバの指定 1 つについて .Tn NFS マウントプロトコルに対するリモートマウント点を指定します。 .%T "Network File System Protocol Specification" , RFC1094, Appendix A および .%T "NFS: Network File System Version 3 Specification" , Appendix I を参照してください。 .Pp .Nm ファイルの各行 (# で始まる注釈行以外) は、1 つ以上のホスト向けに、 1 つのローカルサーバファイルシステム内の マウント点 (複数) とエクスポートフラグを指定します。 あるホストは、 サーバの各ローカルファイルシステムに関して唯 1 度だけ指定可能です。 また他の全てのホストに適用されるデフォルトエントリは、 各サーバファイルシステムに関して唯 1 つだけ指定できます。 後者は ``世界'' に対しそのファイルシステムを公開することになるので、 そのファイルシステムが公の情報を含むときにのみ用いるべきです。 .Pp マウントエントリ内の最初の欄 (複数) には、 対応するクライアント (複数) がマウント可能である サーバファイルシステム内ディレクトリパス (複数) を指定します。 この指定には 2 つの形式があります。 最初の指定形式は、 全マウント点のリストであり、絶対ディレクトリパスを空白で区切ったものです。 次の指定形式は、そのファイルシステムのルートパス名に続いて .Fl alldirs フラグを指定するものです。この形式は、そのファイルシステム内の任意の点を ホスト (複数) がマウントすることを可能にします。 .Xr mountd 8 で .Fl r オプションを用いれば、任意の点には通常ファイルを含むことができます。 パス名中には、シンボリックリンクを含んではなりませんし、また "." または ".." を含んではなりません。 1 つのファイルシステムに対するマウント点を複数指定することが可能であり、 それぞれ異ったホストとエクスポートオプションの組を指定することができます。 .Pp 行の 2 番目の部分には、そのファイルシステムがホストの組にどのように エクスポートされているかを指定します。 オプションフラグは、 そのファイルシステムを読み取り専用でエクスポートしているのか それとも読み書き可でエクスポートしているのかを指定したり、 クライアントの UID がサーバ上のユーザ資格にどのように マップされているのかを指定します。 .Pp エクスポートオプションは以下のとおりです。 .Pp .Sm off .Fl maproot No = Sy user .Sm on 指定されたユーザの資格を、root によるリモートアクセスに対して使用します。 その資格には、ローカルマシン上でユーザが属する全てのグループを含みます ( .Xr id 1 参照)。ユーザは名前または数字です。 .Pp .Sm off .Fl maproot No = Sy user:group1:group2:... .Sm on コロンによって区切られたリストは、 root によるリモートアクセスに対して使用する正確な資格を指定するために 使用します。 リストの要素は名前または数字です。 グループを含まない資格をユーザに関する完全な資格と区別するためには、 user: を使用すべきであることに注意してください。 .Pp .Sm off .Fl mapall No = Sy user .Sm on または .Sm off .Fl mapall No = Sy user:group1:group2:... .Sm on .Fl maproot と同じ指定方法で、 (root を含む) 全てのクライアントの UID に対するマッピングを指定します。 .Pp .Fl r オプションは .Fl maproot と同じ意味です。 これは古い export ファイル形式と互換性を保つために用意されました。 .Pp .Fl maproot および .Fl mapall オプションのない場合には、 root によるリモートアクセスは -2:-2 という資格を用いることになります。 その他の全てのユーザはそれぞれのリモート資格にマップされます。 .Fl maproot オプションを指定すると、root によるリモートアクセスは -2:-2 の代りに 指定した資格にマップされます。 .Fl mapall オプションを指定すると、root を含む全てのユーザはそれら自身の資格の代りに 指定した資格にマップされます。 .Pp .Fl kerb オプションを指定すると、Kerberos 認証サーバを使用して 認証とクライアント資格のマップを行います。 このオプションを利用するには、カーネルを NFSKERB オプション付きで 構築してある必要があります。 適切な Kerberos 暗号化ルーチンを NFS ソース内に組み込まない場合、 このオプションを使用すると、カーネルコンパイルが出来なくなります。 .Pp .Fl ro オプションは、ファイルシステムが読み取り専用としてエクスポートされることを 指定します (デフォルトは読み書き可)。 .Fl o オプションは .Fl ro と同じ意味です。 これは古い export ファイル形式と互換性を保つために用意されました。 .Pp 仕様 (RFC 2054 と RFC 2055) に厳密に従う .Tn WebNFS エクスポートは .Fl public フラグにて実現されます。 しかしながら、このフラグ自身は、ファイルシステム中の全ファイルに対して 読み書きアクセスを与えますが、予約ポートを必要としませんし、 uid のマッピングも行いません。 これは仕様を満すためだけに提供されており、通常は使用すべきではありません。 .Tn WebNFS エクスポートのためには、 .Fl webnfs フラグを使用します。これは .Fl public , .Sm off .Fl mapall No = Sy nobody , .Sm on .Fl ro を意味します。 .Pp .Sm off .Fl index No = Sy file .Sm on -オプションを使用して、パブリックファイルハンドル ( -.Tn WebNFS Ns ) +オプションを使用して、パブリックファイルハンドル +.Pq Tn WebNFS を使用してディレクトリが検索された時にハンドルが返される ファイルを指定できます。 これは URL の動作のまねをします。 .Fl index オプションが指定されないと、通常通りディレクトリファイルハンドルが返されます。 .Fl index オプションは .Fl public または .Fl webnfs フラグと組み合わせたときのみ意味があります。 .Pp 行の 3 番目の部分には、その行が適用されるホストの組を指定します。 この組は 3 つの方法で指定できます。 最初の方法はホスト名 (複数) を空白で区切って並べる方法です。 (名前の代りに、標準的なインターネット ``ドット'' アドレスを用いることも できます)。2 番目の方法はネットグループファイル ( .Xr netgroup 5 参照) の中で定義した ``netgroup'' を指定する方法です。 3 番目の方法は、 1 つのネットワークとネットワークマスクを用いることにより、 1 つのインターネットサブネットワークを指定する方法です。 これは、 そのサブネットワーク内のアドレスを持つ全てのホストの組として定義されます。 この最後の方法はカーネルのオーバヘッドを低く押えられるため、 1 つの管理サブネット内の多くのクライアントを エクスポートの行が参照する場合に推奨されます。 .Pp 最初の 2 つの指定方法では、単に空白で区切られた名前 (複数) を並べて指定します。 全ての名前は、まずそれらが ``netgroup'' 名であるかチェックされ、 そうでなければホスト名であると仮定されます。 ホスト名に完全ドメイン指定をすれば、 ネットグループと同じ名前を持つホストの問題を通常避けることができます。 3 番目の指定方法は、 .Sm off .Fl network No = Sy netname .Sm on フラグとオプションの .Sm off .Fl mask No = Sy netmask .Sm on フラグによって指定します。マスクが指定されないと、そのネットワーククラス (A, B, C のどれかです。 .Xr inet 4 を参照してください) に対するマスクとなります。 .Pp 例: .Bd -literal -offset indent /usr /usr/local -maproot=0:10 friends /usr -maproot=daemon grumpy.cis.uoguelph.ca 131.104.48.16 /usr -ro -mapall=nobody /u -maproot=bin: -network 131.104.48 -mask 255.255.255.0 /u2 -maproot=root friends /u2 -alldirs -kerb -network cis-net -mask cis-mask .Ed .Pp .Sy /usr , .Sy /u , .Sy /u2 がローカルファイルシステムマウント点とすると、上の例は以下を指定します: .Sy /usr はネットグループファイルで指定されるホスト群 .Em friends にエクスポートされ、 この際ユーザはそれぞれのリモート資格にマップされ、 root は UID 0 およびグループ 10 にマップされます。 このファイルシステムは読み書き可でエクスポートされ、 ``friends'' 内のホストは /usr と /usr/local のどちらもマウントできます。 このファイルシステムは .Em 131.104.48.16 および .Em grumpy.cis.uoguelph.ca にエクスポートされ、 この際ユーザはそれぞれのリモート資格にマップされ、 root は ``daemon'' に結び付けられたユーザおよびグループにマップされます。 このファイルシステムは残りの世界へ読み出しのみでエクスポートされ、 この際全てのユーザは ``nobody'' に結び付けられたユーザおよびグループに マップされます。 .Pp .Sy /u はサブネットワーク .Em 131.104.48 上の全てのホストにエクスポートされ、 この際 root は ``bin'' の UID にマップされてグループアクセスを持ちません。 .Pp .Sy /u2 は ``friends'' 中のホストにエクスポートされ、 その際 root は ``root'' に結び付けられた UID とグループにマップされます。 このファイルシステムは ``cis-net'' ネットワーク上の全てのホストへ エクスポートされ、 この際 /u2 内のどんなディレクトリへもマウントを許し、 Kerberos 許可書によって認証される principal についての資格に 全 UID をマップします。 +.Pp +.Xr mountd 8 +ユーティリティに +.Nm +ファイルを再度読み取らせるためには、 +ハングアップシグナルを次のように送ります: +.Bd -literal -offset indent +kill -s HUP `cat /var/run/mountd.pid` +.Ed +.Pp +.Dv SIGHUP +の送信後に +.Xr syslogd 8 +出力を確認して、 +.Nm +ファイル中の解析エラーを +.Xr mountd 8 +が記録したかどうか見てください。 .Sh 関連ファイル .Bl -tag -width /etc/exports -compact .It Pa /etc/exports デフォルトリモートマウント点ファイル .El .Sh 関連項目 .Xr netgroup 5 , .Xr mountd 8 , .Xr nfsd 8 , .Xr showmount 8 .Sh バグ エクスポートオプションはカーネル内ではローカルマウント点に結び付けられます。 ローカルサーバマウント点のサブディレクトリでエクスポートされたものに、 エクスポートオプションの矛盾があってはいけません。 同じファイルシステム内の全てのエクスポートされたディレクトリは、 木を下る順に隣り合った行で指定されることが推奨されます。 ネットグループ名と同じ名前のホスト名は指定できません。 完全ドメイン指定でホスト名を指定すれば通常は問題ありません。 diff --git a/ja_JP.eucJP/man/man5/gettytab.5 b/ja_JP.eucJP/man/man5/gettytab.5 index 15612398ac..3dc80a8616 100644 --- a/ja_JP.eucJP/man/man5/gettytab.5 +++ b/ja_JP.eucJP/man/man5/gettytab.5 @@ -1,520 +1,520 @@ .\" Copyright (c) 1983, 1991, 1993 .\" The Regents of the University of California. All rights reserved. .\" .\" Redistribution and use in source and binary forms, with or without .\" modification, are permitted provided that the following conditions .\" are met: .\" 1. Redistributions of source code must retain the above copyright .\" notice, this list of conditions and the following disclaimer. .\" 2. Redistributions in binary form must reproduce the above copyright .\" notice, this list of conditions and the following disclaimer in the .\" documentation and/or other materials provided with the distribution. .\" 3. All advertising materials mentioning features or use of this software .\" must display the following acknowledgement: .\" This product includes software developed by the University of .\" California, Berkeley and its contributors. .\" 4. Neither the name of the University nor the names of its contributors .\" may be used to endorse or promote products derived from this software .\" without specific prior written permission. .\" .\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND .\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE .\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE .\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE .\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL .\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS .\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) .\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT .\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" .\" from: @(#)gettytab.5 8.4 (Berkeley) 4/19/94 -.\" %FreeBSD: src/libexec/getty/gettytab.5,v 1.21.2.4 2001/01/16 10:39:22 ru Exp % +.\" %FreeBSD: src/libexec/getty/gettytab.5,v 1.21.2.5 2001/03/05 18:21:59 ru Exp % .\" .\" jpman %Id: gettytab.5,v 1.3 1998/07/30 15:25:14 horikawa Stab % .\" " .\" WORD: terminal line 端末回線 .\" WORD: .Sh CAPABILITIES ケーパビリティ .\" WORD: erase 文字消去 .\" WORD: kill 行削除 .\" WORD: delay 遅延 .\" WORD: comma コンマ .\" WORD: banner バナー .\" WORD: answer chat script アンサーチャットスクリプト .\" WORD: screen 画面 [termcap.5 gettytab.5] .\" " .Dd April 19, 1994 .Dt GETTYTAB 5 .Os BSD 4.2 .Sh 名称 .Nm gettytab .Nd 端末設定データベース .Sh 書式 .Nm .Sh 解説 .Nm ファイルは .Xr termcap 5 データベースを単純化したバージョンで、 端末回線を記述するのに用いられます。 冒頭に起動される端末ログインプロセス .Xr getty 8 は起動されるたびに .Nm ファイルにアクセスするので、 比較的簡単に端末の特性を再設定することができます。 データベースの各エントリは、それぞれ1個の端末クラスを記述するのに用いられます。 .Pp デフォルトの端末クラス .Em default が存在し、 他の全てのクラスに対するグローバルなデフォルト値を記述するのに 用いられます。 (言い替えれば、まず、 .Em default エントリを読み込み、その後で、必要なクラスのエントリを読み込み、 デフォルトの設定をクラス固有の設定で上書きします。) .Sh ケーパビリティ ファイルレイアウトの解説については、 .Xr termcap 5 を参照して下さい。 以下の .Em デフォルト 欄は、 使用する端末用のテーブルに値がなく、特別の .Em default テーブルにも値がない場合に用いられる値です。 .Bl -column 名称 文字列 /usr/bin/login .It Sy "名称 型 デフォルト 解説 .It "ac 文字列 unused モデム応答のための想定文字列-応答チャットスクリプト" .It "al 文字列 unused プロンプトを出さずに自動ログインするユーザ" .It "ap bool 偽 端末はどのパリティでも受け付ける" .It "bk 文字列 0377 代用の行末文字 (入力ブレーク)" .It "c0 数値 unused メッセージ書き出しのための tty 制御フラグ群" .It "c1 数値 unused ログイン名読み込みのための tty 制御フラグ群" .It "c2 数値 unused 端末を去るときの制御フラグ群" .It "ce bool 偽 crt 文字消去アルゴリズムを用いる" .It "ck bool 偽 crt 行削除アルゴリズムを用いる" .It "cl 文字列" Ta Dv NULL Ta .No "画面削除シーケンス" .It "co bool 偽 コンソール -" .Ql \en をログインプロンプトの後に追加する .It "ct 数値 10 ac/ic スクリプトのためのチャットタイムアウト" .It "dc 数値 0 チャットデバッグ用ビットマスク" .It "de 数値 0 この秒数だけ待って、最初のプロンプトを書く前に入力をフラッシュする" .It "ds 文字列" Ta So Li ^Y Sc Ta .No "遅延されたサスペンド文字" .It "dx bool 偽 " .Dv DECCTLQ をセットする .It "ec bool 偽 echo を残す" .Tn OFF .It "ep bool 偽 端末は偶数パリティを用いる" .It "er 文字列" Ta So Li ^? Sc Ta .No "消去文字" .It "et 文字列" Ta So Li ^D Sc Ta .No "テキストの終り" .Pq Dv EOF 文字 .It "ev 文字列" Ta Dv NULL Ta .No "環境変数の初期設定" .It "f0 数値 unused メッセージ書き出しのための tty モードフラグ群" .It "f1 数値 unused ログイン名読み込みのための tty モードフラグ群" .It "f2 数値 unused 端末を去るときの tty モードフラグ群" .It "fl 文字列" Ta So Li ^O Sc Ta .No "出力フラッシュ文字" .It "hc bool 偽 " 最後のクローズのときに回線をハングアップ .Tn させない .It "he 文字列" Ta Dv NULL Ta .No "ホスト名編集文字列" .It "hn 文字列 hostname ホスト名" .It "ht bool 偽 端末に本物のタブが実装されている" .It "hw bool 偽 cts/rts によるハードウェアフロー制御を行う" .It "i0 数値 unused メッセージ書き出しのための tty 入力フラグ群" .It "i1 数値 unused ログイン名読み込みのための tty 入力フラグ群" .It "i2 数値 unused 端末を去るときの tty 入力フラグ群" .It "ic 文字列 unused モデム初期化のための、想定入力-出力チャットスクリプト" .It "if 文字列 unused プロンプトの前に、/etc/issue のように名前で指定したファイルを表示する" .It "ig bool 偽 ログイン名に含まれるガベージ文字を無視する" .It "im 文字列" Ta Dv NULL Ta .No "冒頭の (バナー) メッセージ" .It "in 文字列" Ta So Li ^C Sc Ta .No "割り込み文字" .It "is 数値 unused 入力スピード" .It "kl 文字列" Ta So Li ^U Sc Ta .No "行消去文字" .It "l0 数値 unused メッセージ書き出しのための tty ローカルフラグ群" .It "l1 数値 unused ログイン名読み込みのための tty ローカルフラグ群" .It "l2 数値 unused 端末を去るときの tty ローカルフラグ群" .It "lm 文字列 login: ログインプロンプト" .It "ln 文字列" Ta So Li ^V Sc Ta .No "次の文字がリテラル値であることを示す文字" .It "lo 文字列" Ta Pa /usr/bin/login Ta .No "名前を得たときに実行するプログラム" .It "mb bool 偽 キャリアに基づいたフロー制御を行う" .It "nc bool 偽 端末はキャリアをサポートしない (clocal をセット)" .It "nl bool 偽 端末には改行文字がある (あるいは、あるはずである)" .It "np bool 偽 端末はパリティを用いない (つまり 8 ビット文字)" .It "nx 文字列 default (速度の自動選択のための) 次のテーブル" .It "o0 数値 unused メッセージ書き出しのための tty 出力フラグ群" .It "o1 数値 unused ログイン名読み込みのための tty 出力フラグ群" .It "o2 数値 unused 端末を去るときの tty 出力フラグ群" .It "op bool 偽 端末は奇数パリティを用いる" .It "os 数値 unused 出力スピード" .It "pc 文字列" Ta So Li \e0 Sc Ta .No "パッド文字" .It "pe bool 偽 プリンタの (ハードコピー) 文字消去アルゴリズムを用いる" .It "pf 数値 0 最初のプロンプトと" 引き続くフラッシュの間の遅延 (秒数) .It "pp 文字列 unused PPP 認証プログラム" .It "ps bool 偽 回線は" .Tn MICOM ポートセレクタに接続されている .It "qu 文字列" Ta So Li \&^\e Sc Ta .No "終了文字" .It "rp 文字列" Ta So Li ^R Sc Ta .No "行の再タイプ文字" .It "rt 数値 unused ac 使用時の ring タイムアウト" .It "rw bool 偽 入力に raw モードを" .Tn 用いずに 、cbreak を用いる .It "sp 数値 unused (入力および出力の) 回線速度" .It "su 文字列" Ta So Li ^Z Sc Ta .No "サスペンド文字" .It "tc 文字列 none テーブルの続き" .It "to 数値 0 タイムアウト (秒数)" .It "tt 文字列" Ta Dv NULL Ta .No "端末の型 (環境変数用)" .It "ub bool 偽 (プロンプトなどの) バッファリングしない出力を行う" .It "we 文字列" Ta So Li ^W Sc Ta .No "単語消去文字" .It "xc bool 偽 制御文字を .Ql ^X の形で出力 .Tn しない .It "xf 文字列" Ta So Li ^S Sc Ta Dv XOFF (出力ストップ) 文字 .It "xn 文字列" Ta So Li ^Q Sc Ta Dv XON (出力開始) 文字 .It "Lo 文字列 C バナーメッセージでの \&%d のために用いるロケール" .El .Pp 以下のケーパビリティはもはや .Xr getty 8 によってサポートされていません。 .Bl -column 名称 文字列 /usr/bin/login .It "bd 数値 0 バックスペースでの遅延" .It "cb bool 偽 crt バックスペースモードを用いる" .It "cd 数値 0 復帰 (carriage return) での遅延" .It "fd 数値 0 フォームフィード (垂直移動) での遅延" .It "lc bool 偽 端末では小文字が使える" .It "nd 数値 0 改行 (ラインフィード) での遅延" .It "uc bool 偽 端末では大文字しか使えない" .El .Pp 回線速度が指定されていない場合、getty が起動された時に設定されている速度は 変更されません。 入力速度または出力速度を指定したときは、 指定した方向の回線速度のみが上書き更新されます。 .Pp メッセージの出力時、ログイン名の入力時、 getty が処理を済ませて端末を手放す時に用いる 端末モードの値は ブール型フラグの指定に基づいて決定されます。 もしこの決定が適切でないことが分かった場合、 これら3つのどれか (あるいはすべて) の値は、数値指定 .Em \&c0 , .Em \&c1 , .Em \&c2 , .Em \&i0 , .Em \&i1 , .Em \&i2 , .Em \&l0 , .Em \&l1 , .Em \&l2 , .Em \&o0 , .Em \&o1 , .Em \&o2 のいずれかで上書きされます。 これらの数値指定では、フラグの値 (通常は、0 を頭につけた 8 進数) そのものを指定することができます。 これらのフラグは termio の .Em c_cflag , .Em c_iflag , .Em c_lflag , および .Em c_oflag の各フィールドにそれぞれ対応します。 それらのセットの各々は、完全に指定しなければ有効になりません。 .Em \&f0 , .Em \&f1 , および .Em \&f2 は TTY サブシステムの旧版の実装に対する後方互換性を意図した物です。 これらのフラグには、sgttyb の .Em sg_flags フィールドの (32 ビット) 値の下位 16 ビットが含まれます。また、上位 16 ビットは ローカルモードを収めるワードを表します。 .Pp もし .Xr getty 8 がナル文字 (回線ブレークを示すものと見なされます) を受け取った場合、 プログラムは .Em nx エントリに示されたテーブルを用いて再始動します。 もしこのエントリがなければ、今まで用いていたテーブルを再び用います。 .Pp 遅延はミリ秒単位で指定し、tty ドライバが使用可能な遅延のうち最も 近いものが用いられます。 より大きな確実性が必要な場合は、0 から 1, 2, 3 までの値の 遅延はドライバの特別な遅延アルゴリズムから選択するものと解釈されます。 .Pp .Em \&cl 画面消去文字列には、その前に必要な遅延時間をミリ秒単位の (10 進数) 数値で (termcap 風に) 書くことができます。 この遅延はパディング文字 .Em \&pc を繰り返して用いることによりシミュレートされます。 .Pp 初期化メッセージ .Em \&im ログインメッセージ .Em \&lm および初期化ファイル .Em \&if は、以下の文字の並びをどれでも含めることができます。これらは .Xr getty 8 が実行されている環境から得た情報に展開されます。 .Pp .Bl -tag -offset indent -width \&%xxxxxxxxxxxxxx .It \&%d 現在の日付と時間を、 .Em \&Lo 文字列で指定したロケールでの表記法 ( .Xr strftime 3 の \&%+ フォーマット) で表したもの。 .It \&%h マシンのホスト名。通常は .Xr gethostname 3 によってシステムから得ますが、テーブルの .Em \&hn エントリで指定して、この値を書き換えることができます。 どちらの場合でも、これは .Em \&he 文字列を用いて編集することができます。 .Em \&he 文字列の中にある 1 個の '@' は 実際のホスト名から最終的なホスト名に 1文字のコピーを引き起こします。 .Em \&he 文字列中の '#' は実際のホスト名の次の1文字をスキップさせます。 \&'@' でも '#' でもない各文字は最終的なホスト名にコピーされます。 余分な '@' と '#' は無視されます。 .It \&%t tty の名前。 .It "\&%m, \&%r, \&%s, \&%v" それぞれ、 .Xr uname 3 が返す マシンの型、オペレーティングシステムのリリース、オペレーティングシステムの 名前、そしてカーネルのバージョンです。 .It \&%% 1 個の .Dq % 文字。 .El .Pp getty がログインプロセス (通常は .Dq Pa /usr/bin/login ですが、 .Em \&lo 文字列で指定されていればそれ)を実行するとき、このプロセスの環境には .Em \&tt 文字列 (が存在すれば) で指定した 端末の型が設定されます。 .Em \&ev 文字列は、プロセスの環境にデータを追加するために使用することができます。 これはコンマで区切られた文字列からなり、それぞれは、 .Em name=value という形式になっていると仮定されます。 .Pp もしタイムアウトとして、 .Em \&to に 0 以外の値を指定した場合、 指定された秒数経過した後に終了します。 すなわち、getty はログイン名を受け取って制御を .Xr login 1 に渡すか、または alarm シグナルを受け取って終了します。 これはダイヤルイン回線をハングアップするために有用です。 .Pp .Xr getty 8 からの出力は、 .Em \&op か .Em \&np が指定された場合を除いて、偶数パリティを用います。 .Em \&op 文字列と .Em \&ap を一緒に指定すると、 入力としてはパリティが何であっても許可し、出力としては奇数パリティを 生成します。 注意: これは、getty が実行されているときのみ適用され、端末ドライバの 制限によりここまで完全な実装ができないかもしれません。 .Xr getty 8 は .Dv RAW モードのときは入力文字のパリティ検査を行いません。 .Pp もし .Em \&pp 文字列が指定されていて、 PPP リンク確立シーケンスが認識されると、 getty は pp オプションで指定されているプログラムを起動します。 これは PPP 着信を取り扱うために用いることができます。 .Pp .Nm getty は以下の2つのケーパビリティを用いて利用できるチャットスクリプト機能を 提供します。これによって、 基本的なインテリジェントモデムをある程度取り扱えるようにします。 .Pp .Bl -tag -offset indent -width \&xxxxxxxx -compact .It ic モデムを初期化するチャットスクリプト。 .It ac コールに答えるチャットスクリプト。 .El .Pp チャットスクリプトは、受信を想定した文字列/送信する文字列の対の連なり からなります。チャット文字列が始まるとき、 .Nm getty は最初の文字列を待ち、その文字列を見つけたら 2 番目の文字列を送ります。 以後も同様に処理を進めます。 指定された文字列は 1 個以上のタブあるいはスペースで区切られています。 文字列には標準 ASCII 文字と、特別な「エスケープ」を含めることが できます。エスケープは、バックスラッシュに続き 1 文字以上の文字が 続いたもので、それは 以下のように解釈されます。 .Pp .Bl -tag -offset indent -width \&xxxxxxxx -compact .It \ea ベル文字。 .It \eb バックスペース。 .It \en 改行。 .It \ee エスケープ。 .It \ef フォームフィード。 .It \ep 0.5秒の一時停止。 .It \er 復帰文字。 -.It \eS, \es +.It \eS , \es 空白文字。 .It \et タブ。 .It \exNN 16 進数のバイト値。 .It \e0NNN 8 進数のバイト値。 .El .Pp .Ql \ep 文字列は送信文字列でのみ有効で、前の文字と次の文字を送る間に 0.5 秒の 一時停止を発生することに注意のこと。 16 進数値は最大で 16 進数 2 桁で、 8 進数値は最大で 8 進数 3 桁です。 .Pp .Em \&ic チャットシーケンスはモデムやそれに類似したデバイスを初期化するのに 用いられます。ヘイズ互換のコマンドセットを持つモデム用の初期化チャット スクリプトの典型例は、以下のようなものでしょう。 .Pp .Dl :ic="" ATE0Q0V1\er OK\er ATS0=0\er OK\er: .Pp このスクリプトは何も待たず (つまり常に成功し)、モデムが正しいモード (コマンドエコーを抑制し、応答を返す際に冗長モードで返す) に確実になるようなシーケンスを送り、それから自動応答を 切ります。 終了する前に、"OK" という反応を待ちます。 この初期化シーケンスは、モデムの応答をチェックして モデムが正しく機能しているかを確かめるために 用いられます。 初期化スクリプトが完了するのに失敗した場合、 .Nm getty はこれを致命的な状態であると見なし、その結果として、 .Xr syslogd 8 を用いてログを残してから終了します。 .Pp 同様に、アンサーチャットスクリプトは (通常) "RING" に対して手動で電話に応答するために 用いることができます。 アンサースクリプトを指定して起動した場合、 .Nm getty はポートをノンブロッキングモードでオープンし、それ以前の余分な入力をすべて 消去し、ポートへのデータを待ちます。 何らかのデータが取得可能になるとすぐ、アンサーチャットスクリプトが 開始し、文字列がスキャンされ、アンサーチャットスクリプトに従って 応答します。 ヘイズ互換のモデムでは、スクリプトは通常以下のような感じのものになるでしょう。 .Pp .Dl :ac=RING\er ATA\er CONNECT: .Pp これは、"ATA" コマンドによってモデムに応答させ、続いて 入力をスキャンして文字列 "CONNECT" を探します。 もし .Em \&ct タイムアウトが生じる前にこの文字列を受け取った場合、 通常のログインシーケンスが開始されます。 .Pp .Em \&ct ケーパビリティはすべての送信文字列および想定される入力文字列 に適用されるタイムアウトの値を指定します。このタイムアウトは 文字列待ちを行うごと、および文字列送信を行うごとに設定されます。 少なくともリモートとローカルのモデムの間のコネクションが確立される のにかかる時間 (通常およそ 10 秒) だけの長さは必要です。 .Pp ほとんどの情況で、コネクションが検出された後に 追加の入力のすべてをフラッシュしたいと思うものですが、 この目的には .Em \&de ケーパビリティを使うことができます。これは、 コネクションが確立された後で短時間の遅延をかけ、 その間に接続データがすべてモデムによって送られてしまうのと 同じ効果を持ちます。 .Pp .Sh 関連項目 .Xr login 1 , .Xr gethostname 3 , .Xr uname 3 , .Xr termcap 5 , .Xr getty 8 , -.Xr telnetd 8 . +.Xr telnetd 8 .Sh バグ 特殊文字 (文字消去、行削除など) は .Xr login 1 によってシステムのデフォルトに再設定されてしまいます。 .Em 常に、 ログイン名としてタイプした '#' あるいは '^H' は1文字消去として 扱われ、'@' は行消去として扱われます。 .Pp 遅延機能は実クロックです。 全般的に柔軟性がないという問題はさておき、遅延アルゴリズムのいくつかは 実装されていません。 端末ドライバが正常な遅延の設定をサポートしている必要があります。 .Pp .Em \&he ケーパビリティは全く知的ではありません。 .Pp 忌まわしい .Xr termcap 5 フォーマットより、もっと合理的なものを選ぶべきでした。 .Sh 歴史 .Nm ファイルフォーマットは .Bx 4.2 で登場しました。 diff --git a/ja_JP.eucJP/man/man5/loader.conf.5 b/ja_JP.eucJP/man/man5/loader.conf.5 index 6ada454493..9d58e9a7c7 100644 --- a/ja_JP.eucJP/man/man5/loader.conf.5 +++ b/ja_JP.eucJP/man/man5/loader.conf.5 @@ -1,200 +1,200 @@ .\" Copyright (c) 1999 Daniel C. Sobral .\" 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. .\" -.\" %FreeBSD: src/sys/boot/forth/loader.conf.5,v 1.7.2.3 2001/01/16 10:37:42 ru Exp % +.\" %FreeBSD: src/sys/boot/forth/loader.conf.5,v 1.7.2.4 2001/03/04 05:01:15 obrien Exp % .\" .\" jpman %Id: loader.conf.5,v 1.4 1999/05/13 05:58:04 horikawa Stab % .Dd April 18, 1999 .Dt LOADER.CONF 5 .Os .Sh 名称 .Nm loader.conf .Nd システムブートストラップの設定情報 .Pp .Nm loader.conf.local .Nd ローカライズされたシステムブートストラップの設定情報 .Sh 解説 ファイル .Nm は、システムのブートストラップに関する記述的な情報を含みます。 これを通じて、ブートすべきカーネル、カーネルに渡すパラメータ、 ロードすべき追加のモジュールを指定可能であり、また、一般的に、 .Xr loader 8 で記述されているすべての変数を設定可能です。 .Pp .Nm が自動的に処理されるようにするために、 ファイル .Pa /boot/loader.rc は次の 2 行を含む必要があります。 .Pp .Dl include /boot/loader.4th .Dl start .Pp インストール時に .Pa /boot/loader.rc が存在しない場合、前述の行を含むものが組み込まれることになります。 .Sh 文法 .Nm の書式は、明らかに .Xr rc.conf 5 の書式を受け継いだものであり、 .Xr sh 1 を起源とするものですが、特別な方法で扱われる設定があります。 また、サフィックスのみに依存する設定もあります。 .Pp 一般的な解釈の規則は次の通りです: .Bl -bullet .It 空白と空行は無視されます。 .It 記号 # は、行の残りがコメントであるという印です。 .It 各行には 1 個の設定のみ存在可能です。 .El .Pp すべての設定は、次の書式です: .Pp .Dl variable="value" .Pp 特殊な扱いを受ける設定のクラスに属すのでなければ、 おのおのの設定は .Xr loader 8 の環境変数の値を設定します。 特殊な扱いを受ける設定は、ここに列挙しています。 .Qq * で開始する設定は、ロードされるモジュールを定義し、 任意のプレフィックスを持ちえます。 共通のプレフィックスを持つような設定はすべて、 同一のモジュールを参照します。 .Bl -tag -width Ar .It Ar exec 即時に .Xr loader 8 のコマンドを実行します。 このタイプの設定は、 .Xr loader 8 以外のプログラムでは処理できませんので、使用は避けるべきです。 複数個指定すると、別々に処理されます。 .It Ar loader_conf_files 現在のファイルのすぐ後に処理すべき、追加の設定ファイルを定義します。 .It Ar kernel ロードすべきカーネルの名前です。 カーネルの名前を設定しないと、 追加のモジュールはロードされません。 .It Ar kernel_options カーネルに渡されるフラグです。 .It Ar password 実行継続許可前にパスワード確認が問い合わせるパスワードを提供します。 .It Ar verbose_loading .Dq YES に設定すると、モジュールがロードされると、その名前が表示されます。 .It Ar *_load .Dq YES に設定すると、そのモジュールがロードされます。 名前を定義しないと (後述)、モジュールの名前はプレフィックスと同じになります。 .It Ar *_name モジュールの名前を定義します。 .It Ar *_type モジュールのタイプを定義します。 なにも指定しないと、デフォルトの kld モジュールになります。 .It Ar *_flags モジュールに渡されるフラグとパラメータです。 .It Ar *_before モジュールのロード前に実行すべきコマンドです。 この設定の使用は避けるべきです。 .It Ar *_after モジュールのロード後に実行すべきコマンドです。 この設定の使用は避けるべきです。 .It Ar *_error モジュールのロードに失敗した場合に実行されるコマンドです。 ブートストラップ処理を異常終了させる特殊な値 .Dq abort 以外では、この設定の使用は避けるべきです。 .El .Sh デフォルト設定 ほとんどの .Nm のデフォルト設定は無視可能です。少数の重要または有用なものを次に示します: .Bl -tag -width bootfile -offset indent .It Va bitmap_load .Pq Dq NO .Dq YES に設定すると、ビットマップがロードされ、ブート中に画面に表示されます。 .It Va bitmap_name .Pq Dq /boot/splash.bmp ロードされるビットマップの名前です。他のいかなる名前でも使用可能です。 .It Va kernel .Pq Dq /kernel .It Va loader_conf_files .Pq Do /boot/loader.conf /boot/loader.conf.local Dc .It Va splash_bmp_load .Pq Dq NO .Dq YES に設定すると、起動画面モジュールをロードし、 ブート中に bmp イメージを画面に表示することを可能にします。 .It Va splash_pcx_load .Dq YES に設定すると、起動画面モジュールをロードし、 ブート中に pcx イメージを画面に表示することを可能にします。 .It Va userconfig_script_load .Pq Dq NO .Dq YES に設定すると、ユーザコンフィグのデータをロードします。 .It Va vesa_load .Pq Dq NO .Dq YES に設定すると、vesa モジュールをロードし、 VGA を越える解像度を表示可能とします。 .El .Sh 関連ファイル .Bl -tag -width /boot/defaults/loader.conf -compact .It Pa /boot/defaults/loader.conf デフォルト設定 -- このファイルを変更しないでください。 .It Pa /boot/loader.4th loader が使用するコマンドを定義し、 .Nm を読み込んで処理します。 .It Pa /boot/loader.conf ユーザが定義した設定です。 .It Pa /boot/loader.conf.local 共通の loader.conf と共に使用する、サイトのマシン固有の設定です。 .It Pa /boot/loader.rc .Nm を自動的に処理する指示を含みます。 .El .Sh 関連項目 .Xr boot 8 , .Xr loader 8 , .Xr loader.4th 8 .Sh 歴史 ファイル .Nm が最初に登場したのは .Fx 3.2 です。 .Sh 作者 このマニュアルページは .An Daniel C. Sobral Aq dcs@FreeBSD.org が書きました。 diff --git a/ja_JP.eucJP/man/man5/nologin.5 b/ja_JP.eucJP/man/man5/nologin.5 index 714275e68c..0d4a5738d3 100644 --- a/ja_JP.eucJP/man/man5/nologin.5 +++ b/ja_JP.eucJP/man/man5/nologin.5 @@ -1,68 +1,73 @@ .\" Copyright (c) 1993 .\" The Regents of the University of California. All rights reserved. .\" .\" Redistribution and use in source and binary forms, with or without .\" modification, are permitted provided that the following conditions .\" are met: .\" 1. Redistributions of source code must retain the above copyright .\" notice, this list of conditions and the following disclaimer. .\" 2. Redistributions in binary form must reproduce the above copyright .\" notice, this list of conditions and the following disclaimer in the .\" documentation and/or other materials provided with the distribution. .\" 3. All advertising materials mentioning features or use of this software .\" must display the following acknowledgement: .\" This product includes software developed by the University of .\" California, Berkeley and its contributors. .\" 4. Neither the name of the University nor the names of its contributors .\" may be used to endorse or promote products derived from this software .\" without specific prior written permission. .\" .\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND .\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE .\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE .\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE .\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL .\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS .\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) .\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT .\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" .\" @(#)nologin.8 8.1 (Berkeley) 6/19/93 -.\" %FreeBSD: src/sbin/nologin/nologin.5,v 1.7.2.1 2000/12/14 12:12:33 ru Exp % +.\" %FreeBSD: src/sbin/nologin/nologin.5,v 1.7.2.2 2001/03/05 19:33:53 ru Exp % .\" .\" jpman %Id: nologin.5,v 1.3 1998/06/13 09:47:03 kumano Stab % .\" .Dd June 19, 1993 .Dt NOLOGIN 5 .Os FreeBSD .Sh 名称 .Nm nologin .Nd ログインを拒否する .Sh 解説 -.Nm -は、 +.Xr login 1 +等のプログラムは、 .Pa /var/run/nologin ファイルがあるとログインを拒否します。 このプログラムはユーザに .Pa /var/run/nologin の内容を表示し、終了します。 +これにより、一時的にシステム全体でログインを防ぐことを簡単に実現します。 +.Pp +アカウント毎にログインを無効にしたい場合は、 +.Xr nologin 8 +を調べてください。 .Sh セキュリティ ユーザ root の .Xr login 1 では無視されます。 .Sh 関連ファイル .Bl -tag -width /var/run/nologinxxx -compact .It Pa /var/run/nologin .Nm ファイルは .Pa /var/run にあります。 .El .Sh 関連項目 .Xr login 1 , .Xr rlogin 1 , .Xr telnet 1 , .Xr nologin 8 , .Xr shutdown 8 diff --git a/ja_JP.eucJP/man/man5/rc.conf.5 b/ja_JP.eucJP/man/man5/rc.conf.5 index 35a0f3409e..ec8b87da28 100644 --- a/ja_JP.eucJP/man/man5/rc.conf.5 +++ b/ja_JP.eucJP/man/man5/rc.conf.5 @@ -1,1546 +1,1568 @@ .\" Copyright (c) 1995 .\" Jordan K. Hubbard .\" .\" 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. .\" -.\" %FreeBSD: src/share/man/man5/rc.conf.5,v 1.64.2.15 2001/01/28 20:58:32 jdp Exp % +.\" %FreeBSD: src/share/man/man5/rc.conf.5,v 1.64.2.17 2001/03/05 06:04:22 dougb Exp % .\" .\" jpman %Id: rc.conf.5,v 1.3 1998/06/26 09:39:58 jsakai Stab % .\" -.Dd July 3, 2000 +.Dd February 4, 2001 .Dt RC.CONF 5 .Os .Sh 名称 .Nm rc.conf .Nd システム設定情報 .Sh 解説 .Nm ファイルはローカルホスト名、全ての潜在的なネットワークインタフェースに 関する設定の詳細、システムの初期起動時に立ち上げるべき サービスに関する記述可能な情報を含んできます。初めてインストールする際に は、一般に .Nm ファイルはシステムインストールユーティリティ .Pa /stand/sysinstall によって初期化されます。 .Pp .Nm の目的は、 コマンドの実行やシステム起動操作を直接行うことではありません。 それに代わり、 そこに見出される設定にしたがって内部操作を条件付きで制御する .Pa /etc 下のいろいろな類の起動スクリプトの一部をなしています。 .Pp .Pa /etc/rc.conf ファイルは、 使用可能な全オプションのデフォルト設定を指定するファイル .Pa /etc/defaults/rc.conf からインクルードされます。 オプションを .Pa /etc/rc.conf に指定する必要があるのは、 システム管理者がこれらのデフォルトを上書きしたい場合だけです。 ファイル .Pa /etc/rc.conf.local は、 .Pa /etc/rc.conf の設定を上書きするために使用されます。これは歴史的事情のためです。 後述の .Dq rc_conf_files を参照してください。 .Pp 以下に示すのは .Nm ファイル中で設定可能な各変数について、 その名前と簡単な解説をリストしたものです。 .Bl -tag -width Ar .It Ar swapfile (文字列) .Ar NO にセットすると スワップファイルはインストールされません。 .Ar NO 以外の場合、その値は追加スワップ領域のために利用するファイルの 完全パス名として用いられます。 .It Ar apm_enable (ブール値) .Ar YES にセットすると .Xr apm 8 コマンドでの自動電源管理 (Automatic Power Management) のサポートを有効に します。 .It Ar apmd_enable (ブール値) .Xr apmd 8 を実行し、ユーザランドから APM イベントを扱います。 APM サポートも有効にします。 .It Ar apmd_flags (文字列) .Ar apmd_enable が .Ar YES の場合、これらは .Xr apmd 8 デーモンに渡すフラグになります。 .It Ar pccard_enable (ブール値) .Ar YES -にセットすると起動時に PCCARD のサポートを有効にします。 +にセットすると、起動時に PCCARD のサポートを有効にします。 .It Ar pccard_mem (文字列) PCCARD コントローラメモリアドレスをセットします。 .Ar DEFAULT とするとデフォルト値になります。 .It Ar pccard_ifconfig (文字列) ブート時またはカード挿入時に .Xr ifconfig 8 に渡される引数のリストです (例えば、 固定アドレスの場合は "inet 192.168.1.1 netmask 255.255.255.0" などですし、 DHCP クライアントの場合は "DHCP" です)。 .It Ar pccard_beep (整数) 0 である場合、PCCARD コントローラを静寂モードにします。 1 である場合、ビープモードにします。 2 である場合、メロディモードにします。 .It Ar pccard_conf (文字列) .Xr pccardd 8 デーモンの設定ファイルのパスです (例えば .Pa /etc/pccard.conf.sample です)。 .It Ar pccardd_flags (文字列) .Ar pccard_enable が .Ar YES の場合、これらは .Xr pccardd 8 デーモンに渡すフラグになります。 .It Ar local_startup (文字列) 起動スクリプトファイルを検索するためのディレクトリのリストです。 .It Ar hostname (文字列) ネットワーク上でのあなたのホストの完全な形のドメイン名 (The Fully Qualified Domain Name) です。あなたがネットワークに接続されていない 場合でも、この変数は確実に何か意味のあるものに設定すべきです。 ホスト名を DHCP を介して設定するために .Xr dhclient 8 を使用している場合、この変数は空文字列に設定すべきです。 .It Ar nisdomainname (文字列) あなたのホストの NIS ドメイン名。NIS が動いてないときは .Ar NO とします。 .It Ar dhcp_program (文字列) DHCP クライアントプログラムのパスです (ISC DHCP クライアントの .Pa /sbin/dhclient がデフォルトです)。 .It Ar dhcp_flags (文字列) DHCP クライアントプログラムに渡す追加のフラグです。 ISC DHCP クライアント用に利用可能なコマンドラインオプションについては、 .Xr dhclient 8 ページを参照してください。 .It Ar firewall_enable (ブール値) 起動時にロードされるファイアウォール規則を持ちたくないときには .Ar NO 、持ちたいときには .Ar YES をセットします。 .Ar YES にセットし、かつカーネルが IPFIREWALL 付きで作られなかった場合、 ipfw カーネルモジュールがロードされます。 .Ar ipfilter_enable も参照してください。 .It Ar firewall_script (文字列) .Pa /etc/rc.firewall 以外のファイアウォールスクリプトを実行したい場合、 そのスクリプトの完全なパス名をこの変数に設定してください。 .It Ar firewall_type (文字列) .Pa /etc/rc.firewall 中で選択されたファイアウォールのタイプまたはローカルファイアウォール規則 の組を含むファイルを名付けます。 .Pa /etc/rc.firewall 中では以下のものが選択可能です: .Dq open - 無制限の IP アクセス; .Dq closed - lo0 経由を除く全ての IP サービスを禁止; .Dq client - ワークステーション向けの基本的な保護; .Dq simple - LAN 向けの基本的な保護。 ファイル名が指定される場合には完全なパス名でなければなりません。 .It Ar firewall_quiet (ブール値) .Ar YES -にセットすると起動時にコンソール上で ipfw 規則の表示を行ないません。 +にセットすると、起動時にコンソール上で ipfw 規則の表示を行ないません。 .It Ar firewall_logging (ブール値) .Ar YES -にセットすると ipfw のイベントロギングを有効にします。 +にセットすると、ipfw のイベントロギングを有効にします。 IPFIREWALL_VERBOSE カーネルオプションと等価です。 .It Ar natd_program (文字列) .Xr natd 8 のパス。 .It Ar natd_enable (ブール値) .Ar YES -にセットすると natd を有効にします。 +にセットすると、natd を有効にします。 .Ar firewall_enable もまた .Ar YES にセットされ、 .Xr divert 4 ソケットがカーネルで有効にされている必要があります。 .It Ar natd_interface natd が実行されるパブリックインタフェースの名前です。 .Ar natd_enable が .Ar YES にセットされている場合には、これを設定する必要があります。 インタフェースの指定は、インタフェース名でも IP アドレスでもかまいません。 .It Ar natd_flags 追加の natd フラグはここに記述する必要があります。 .Fl n または .Fl a のフラグは上記 .Ar natd_interface とともに自動的に引数として追加されます。 .\" ----- ipfilter_enable seting -------------------------------- .It Ar ipfilter_enable (ブール値) デフォルトは .Ar NO にセットされます。 .Ar YES にセットすると、 .Xr ipf 8 パケットフィルタリングを有効にします。 厳密に言えば、この設定と、 .Ar ipfilter_program , .Ar ipfilter_rules , .Ar ipfilter_flags が連結されてコマンドとなるいう事実とを "濫用" して、 およそどんなフィルタでも構築可能です。 ただし、 .Ar ipfilter_rules で指定されるファイルが読めることが必要です。 .Ar ipfilter_enable と .Ar ipnat_enable が .Ar YES にセットされ、 .Ar ipnat_rules で指定されたファイルが読める場合、 .Ar ipnat_program , .Ar ipnat_rules , .Ar ipnat_flags が、 ネットワークアドレス変換プログラムの起動のためのコマンドラインを構成します。 .Ar ipfilter_enable と .Ar ipmon_enable が .Ar YES にセットされた場合、 .Ar ipmon_program と .Ar ipmon_flags が、上記コマンドの動作を監視するための別のコマンドラインを構成します。 詳細は .Pa /etc/rc.network を参照してください。 .Pp 典型的な用途では、 .Bd -literal ipfilter_enable="YES" ipfilter_flags="" ipnat_enable="YES" ipmon_enable="YES" .Ed を .Pa /etc/rc.conf に記述し、 .Pa /etc/ipf.rules と .Pa /etc/ipnat.rules を適切に編集する必要があるでしょう。 ipf 使用時には、 .Ar firewall_enable をオフにすることを推奨します。 カーネル構成ファイル中に .Bd -literal options IPFILTER options IPFILTER_LOG options IPFILTER_DEFAULT_BLOCK .Ed を置くことも良い考えです。 .\" ----- ipfilter_program setting ------------------------------ .It Ar ipfilter_program (文字列) デフォルトで .Ar /sbin/ipf -Fa -f にセットされます。 この変数は、フィルタルール (別のファイル中にあるものと期待されます) までのコマンドラインを含みます (フィルタルールは含みません)。 詳細は .Ar ipfilter_enable を参照してください。 .\" ----- ipfilter_rules setting -------------------------------- .It Ar ipfilter_rules (文字列) デフォルトで .Ar /etc/ipf.rules にセットされます。 この変数は、フィルタルール定義ファイルの名前を含みます。 このファイルは、実行するフィルタコマンドから読めることが期待されます。 詳細は .Ar ipfilter_enable を参照してください。 .\" ----- ipfilter_flags setting -------------------------------- .It Ar ipfilter_flags (文字列) デフォルトで .Ar -E にセットされます。 この変数は、フィルタコマンドに追加されるフラグを含みます。 このフラグはルール定義ファイルの後に追加されます。 デフォルト設定では、オンデマンドでロードされる ipf モジュールを初期化します。 ipfilter を直接カーネルに組み込むときには (これが推奨です)、 この変数を空にしてコード初期化が複数回行われないようにすべきです。 詳細は .Ar ipfilter_enable を参照してください。 .\" ----- ipnat_enable setting ---------------------------------- .It Ar ipnat_enable (ブール値) デフォルトで .Ar NO にセットされます。 .Ar YES にセットすると、 .Xr ipnat 8 ネットワークアドレス変換を有効にします。 この変数をセットする場合、 .Ar ipfilter_enable もセットすることが必要です。 詳細は .Ar ipfilter_enable を参照してください。 .\" ----- ipnat_program setting --------------------------------- .It Ar ipnat_program (文字列) デフォルトで .Ar /sbin/ipnat -CF -f にセットされます。 この変数は、変換ルール定義 (別のファイル中にあるものと期待されます) までのコマンドラインを含みます (変換ルール定義は含みません)。 詳細は .Ar ipfilter_enable を参照してください。 .\" ----- ipnat_rules setting ----------------------------------- .It Ar ipnat_rules (文字列) デフォルトで .Ar /etc/ipnat.rules にセットされます。 この変数は、ネットワークアドレス変換を定義するファイルの名前を含みます。 このファイルは、実行する NAT プログラムから読めることを期待しています。 詳細は .Ar ipfilter_enable を参照してください。 .\" ----- ipnat_flags setting ----------------------------------- .It Ar ipnat_flags (文字列) デフォルトで空です。 この変数は、ipnat のコマンドラインに追加されるフラグを含みます。 このフラグはルール定義ファイルの後に追加されます。 詳細は .Ar ipfilter_enable を参照してください。 .\" ----- ipmon_enable setting ---------------------------------- .It Ar ipmon_enable (ブール値) デフォルトで .Ar NO にセットされます。 .Ar YES にセットすると、 .Xr ipmon 8 モニタリング ( .Xr ipf 8 と .Xr ipnat 8 のイベントのログ) を有効にします。 この変数をセットする場合、 .Ar ipfilter_enable もセットすることが必要です。 詳細は .Ar ipfilter_enable を参照してください。 .\" ----- ipmon_program setting --------------------------------- .It Ar ipmon_program (文字列) デフォルトで .Ar /sbin/ipmon にセットされます。 この変数は .Xr ipmon 8 実行形式のファイル名を含みます。 詳細は .Ar ipfilter_enable を参照してください。 .\" ----- ipmon_flags setting ----------------------------------- .It Ar ipmon_flags (文字列) デフォルトで .Ar -Ds にセットされます。 この変数は、 .Xr ipmon 8 プログラムに渡されるフラグを含みます。 他の典型的な例は .Ar -D /var/log/ipflog であり、これは .Xr ipmon 8 に .Xr syslogd 8 をバイパスさせて、直接ファイルにログさせます。 このような場合、必ず .Pa /etc/newsyslog.conf を次のように修正してください: .Bd -literal /var/log/ipflog 640 10 100 * Z /var/run/ipmon.pid .Ed 詳細は .Ar ipfilter_enable を参照してください。 .\" ----- end of added ipf hook --------------------------------- .It Ar tcp_extensions (ブール値) デフォルトでは .Ar NO です。YES にセットすると、 .%T RFC 1323 で述べられているような ある TCP オプションを有効にします。 もしネットワークコネクションが不規則にハングアップしたり、 それに類する他の不具合がある場合には、これを .Ar NO に戻して様子をみてみるのもよいかもしれません。世間に出回っている ハードウェア/ソフトウェアの中には、これらのオプションでうまく動作しない ものがあることが知られています。 .It Ar log_in_vain (ブール値) デフォルトで .Ar NO にセットされています。 YES に設定すると、 listen 中のソケットが無いポートに対する接続の試みをログするようになります。 .It Ar tcp_keepalive (ブール値) デフォルトで .Ar YES にセットされています。 NO にセットすると、 アイドルな TCP 接続を検出し、相手がまだ起きていて、到達可能であることを、 確認しなくなります。 .It Ar tcp_drop_synfin (ブール値) デフォルトで .Ar NO にセットされています。 YES にセットすると、 TCP フレームで SYN と FIN のフラグを共にセットされているものを、 カーネルが無視するようになります。 これにより、OS が指紋を残すのを防ぎますが、 正当なアプリケーションが動作しなくなるかもしれません。 RCP_DROP_SYNFIN オプション付きでカーネルを構築した場合のみ、 本オプションが使用可能です、 .It Ar tcp_restrict_rst (ブール値) デフォルトで .Ar NO にセットされています。 YES にセットすると、 不正な TCP パケット (例えば、閉じられたポート宛のフレーム) に応答する TCP RST フレームの送出を、 カーネルに止めさせます。 RCP_RESTRICT_RST オプション付きでカーネルを構築した場合のみ、 本オプションが使用可能です、 .It Ar icmp_drop_redirect (ブール値) デフォルトで .Ar NO にセットされています。 YES にセットすると、 ICMP REDIRECT パケットを、カーネルが無視するようになります。 .It Ar icmp_log_redirect (ブール値) デフォルトで .Ar NO にセットされています。 YES にセットすると、 ICMP REDIRECT パケットを、カーネルが記録するようになります。 ログメッセージの速度制限はありませんので、 あなたのネットワーク内の問題解決にのみ使用すべきです。 .It Ar network_interfaces (文字列) このホスト上で形成されるネットワークインタフェースのリストを 設定します。 たとえば、ループバックデバイス (標準) および SMC Elite Ultra NIC があるなら .Qq Ar "lo0 ed0" という 2 つのインタフェースを設定します。 .Em interface の各値に対して .No ifconfig_ Ns Em interface という変数が存在すると仮定されます。 1 つのインタフェースに複数の IP アドレスを登録したい場合は、 ここに IP エイリアスのエントリを追加することも可能です。 対象とするインタフェースが ed0 であると仮定すると、 .Bd -literal ifconfig_ed0_alias0="inet 127.0.0.253 netmask 0xffffffff" ifconfig_ed0_alias1="inet 127.0.0.254 netmask 0xffffffff" .Ed というようになります。 見つかった各 ifconfig__alias エントリについて、 その内容が .Xr ifconfig 8 に渡されます。最初にアクセスに失敗した時点で実行は中止されるので .Bd -literal ifconfig_ed0_alias0="inet 127.0.0.251 netmask 0xffffffff" ifconfig_ed0_alias1="inet 127.0.0.252 netmask 0xffffffff" ifconfig_ed0_alias2="inet 127.0.0.253 netmask 0xffffffff" ifconfig_ed0_alias4="inet 127.0.0.254 netmask 0xffffffff" .Ed のようにすると、alias4 は追加され .Em ない ことに注意してください。これは alias3 エントリを抜かしたことで検索が中止されるからです。 .Pp インタフェースの DHCP での立ち上げは、 .No ifconfig_ Ns Em interface 変数を .Dq DHCP に設定することで可能です。 例えば ed0 デバイスを DHCP で初期化するには、 次のような行を指定すればよいです: .Bd -literal ifconfig_ed0="DHCP" .Ed .It Ar ppp_enable (ブール値) .Ar YES にセットすると、 .Xr ppp 8 デーモンを実行します。 .It Ar ppp_mode (文字列) .Xr ppp 8 デーモンを実行するモードです。受け付けられるモードは .Ar auto , ddial , direct , .Ar dedicated のいずれかです。 完全な解説はマニュアルを参照してください。 .It Ar ppp_nat (ブール値) .Ar YES にセットすると、パケットエイリアスを有効にします。 .Ar gateway_enable と共に使用することにより、 本ホストをネットワークアドレス変換ルータとして使用して、 プライベートネットワークアドレスのホストからの インターネットへのアクセスを可能にします。 .It Ar ppp_profile (文字列) .Pa /etc/ppp/ppp.conf から使用するプロファイル名です。 .It Ar ppp_user (文字列) このユーザ名の元で ppp を起動します。 デフォルトでは ppp は .Ar root が起動します。 .It Ar rc_conf_files (文字列) 本オプションは、 .Pa /etc/defaults/rc.conf の設定を上書きするファイルのリストを指定するために使用されます。 ファイルは指定された順序に読み込まれ、 ファイルへの完全なパスを含む必要があります。 デフォルトでは、指定されるファイルは .Pa /etc/rc.conf と .Pa /etc/rc.conf.local です。 +.It Ar fsck_y_enable +(ブール値) +.Ar YES +にセットすると、 +ファイルシステムの最初の preen に失敗した場合、 +.Xr fsck 8 +を -y フラグ付きで実行します。 .It Ar syslogd_enable (ブール値) .Ar YES -にセットすると +にセットすると、 .Xr syslogd 8 デーモンを起動します。 .It Ar syslogd_flags (文字列) .Ar syslogd_enable が .Ar YES の場合、これらは .Xr syslogd 8 に渡すフラグになります。 .It Ar inetd_enable (ブール値) .Ar YES -にセットすると +にセットすると、 .Xr inetd 8 デーモンを起動します。 .It Ar inetd_flags (文字列) .Ar inetd_enable が .Ar YES の場合、これらは .Xr inetd 8 へ渡すフラグとなります。 .It Ar named_enable (ブール値) .Ar YES -にセットすると +にセットすると、 .Xr named 8 デーモンを起動します。 .It Ar named_program (文字列) .Xr named 8 のパス (デフォルトは .Pa /usr/sbin/named です)。 .It Ar named_flags (文字列) .Ar named_enable が .Ar YES の場合、これらは .Xr named 8 に渡すフラグとなります。 .It Ar kerberos_server_enable (ブール値) ブート時に Kerberos 認証サーバを起動したい場合は .Ar YES にセットします。 .It Ar kadmind_server_enable .Xr kadmind 8 (Kerberos 管理デーモン) を実行したい場合は .Ar YES とします。スレーブサーバ上では .Ar NO にセットします。 .It Ar kerberos_stash (文字列) .Ar YES なら (唯一 .Ar kerberos_server_enable が .Ar YES にセットされ、かつ .Xr kerberos 1 および .Xr kadmind 8 の両方を用いるときにのみ) 隠されたマスタキーのプロンプト入力を行なう代りに、 そのキーを用いるよう Kerberos サーバに指示します。 .It Ar rwhod_enable (ブール値) .Ar YES -にセットするとブート時に +にセットすると、ブート時に .Xr rwhod 8 デーモンを起動します。 .It Ar rwhod_flags (文字列) .Ar rwhod_enable が .Ar YES にセットされている場合、これらは rwhod に渡すフラグになります。 .It Ar amd_enable (ブール値) .Ar YES -にセットするとブート時に +にセットすると、ブート時に .Xr amd 8 デーモンを起動します。 .It Ar amd_flags (文字列) .Ar amd_enable が .Ar YES にセットされている場合、これらは amd に渡すフラグとなります。 詳しくは .Xr amd 8 の .Xr info 1 ページを利用してください。 .It Ar update_motd (ブール値) .Ar YES -にセットするとブート時に実行されているカーネルリリースを反映するように +にセットすると、ブート時に実行されているカーネルリリースを反映するように .Pa /etc/motd を更新します。 .Ar NO -にセットすると +にセットすると、 .Pa /etc/motd は更新を行いません。 .It Ar nfs_client_enable (ブール値) .Ar YES -にセットするとブート時に NFS クライアントデーモンを起動します。 +にセットすると、ブート時に NFS クライアントデーモンを起動します。 .It Ar nfs_client_flags (文字列) .Ar nfs_client_enable が .Ar YES の場合、これらは .Xr nfsiod 8 デーモンに渡すフラグとなります。 .It Ar nfs_access_cache .Ar nfs_client_enable が .Ar YES の場合、この変数に .Ar 0 をセットして NFS ACCESS RPC キャッシングを無効化することができますし、 NFS ACCESS 結果がキャッシュされる秒数を指定することもできます。 2-10 秒の値を設定すると、 多くの NFS 操作のネットワークトラフィックを十分減らします。 .It Ar nfs_server_enable (ブール値) .Ar YES -にセットするとブート時に NFS サーバデーモンを起動します。 +にセットすると、ブート時に NFS サーバデーモンを起動します。 .It Ar nfs_server_flags (文字列) .Ar nfs_server_enable が .Ar YES の場合、これらは .Xr nfsd 8 デーモンに渡すフラグとなります。 .It Ar single_mountd_enable (ブール値) .Ar YES にセットし .Ar nfs_server_enable をセットしないと、 .Xr mountd 8 は起動しますが .Xr nfsd 8 デーモンは起動しません。 実際に NFS は使用せずに CFS を使用する場合に、一般的に必要となります。 .It Ar weak_mountd_authentication (ブール値) .Ar YES にセットすると、権限付けられていないマウント要求を行なうために PCNFSD のようなサービスを許可します。 .It Ar nfs_privport (ブール値) .Ar YES にセットすると、安全なポート上でのみ NFS サービスを提供します。 .It Ar nfs_bufpackets (整数) 数値を設定すると、そのパケット数分のソケットバッファ空間が、 NFS クライアント上に予約されます。 .Ar DEFAULT に設定すると、カーネルのデフォルト (典型的には 4) が使用されます。 ギガビットネットワークでは大きな値を設定すると高性能になるでしょう、 最小値は 2 であり、最大値は 64 です。 .It Ar rpc_lockd_enable (ブール値) この変数が .Ar YES にセットされ、しかも NFS サーバである場合、ブート時に .Xr rpc.lockd 8 を起動します。 .It Ar rpc_statd_enable (ブール値) この変数が .Ar YES にセットされ、しかも NFS サーバである場合、ブート時に .Xr rpc.statd 8 を起動します。 .It Ar portmap_program (文字列) .Xr portmap 8 のパス (デフォルトは .Pa /usr/sbin/portmap です)。 .It Ar portmap_enable (ブール値) .Ar YES の場合、ブート時に .Xr portmap 8 サービスを起動します。 .It Ar portmap_flags (文字列) .Ar portmap_enable が .Ar YES の場合、これらは .Xr portmap 8 デーモンに渡すフラグとなります。 .It Ar xtend_enable (ブール値) .Ar YES にセットすると、ブート時に .Xr xtend 8 デーモンを起動します。 .It Ar xtend_flags (文字列) .Ar xtend_enable が .Ar YES の場合、これらは .Xr xtend 8 デーモンに渡すフラグとなります。 .It Ar pppoed_enable (ブール値) .Ar YES にセットすると、ブート時に .Xr pppoed 8 デーモンを起動し、PPP オーバイーサネットサービスを提供します。 .It Ar pppoed_provider .Xr pppoed 8 はこの .Ar provider に対する要求を listen し、究極的にはこの名前を .Ar system 引数として .Xr ppp 8 を実行します。 .It Ar pppoed_flags .Xr pppoed 8 へ渡す追加のフラグ。 .It Ar pppoed_interface pppoed が実行されるネットワークインタフェース。 .Ar pppoed_enable が .Dq YES にセットされた場合、必須です。 .It Ar timed_enable (ブール値) .Ar YES なら、ブート時に .Xr timed 8 サービスを実行します。このコマンドは、全ホストについて一貫した .Qq "ネットワーク時間" が確立されなければならないマシンネットワークのためにあります。 これが有用である典型例は、 ファイルのタイムスタンプがネットワークワイドで一貫性をもつことが 期待されるような、大規模 NFS 環境です。 .It Ar timed_flags (文字列) .Ar timed_enable が .Ar YES の場合、これらは .Xr timed 8 サービスに渡すフラグとなります。 .It Ar ntpdate_enable (ブール値) .Ar YES にセットすると、システムスタートアップ時に ntpdate を実行します。 このコマンドは、ある標準的な参照先を元に、ただ .Ar 1 回 だけシステム時刻を同期させるためにあります。 また、システムを最初にインストールする際、 これを (知られているサービスのリストから) 最初にセットアップするオプションが .Pa /stand/sysinstall プログラムによって提供されます。 .It Ar ntpdate_program (文字列) .Xr ntpdate 8 のパス (デフォルトは .Pa /usr/sbin/ntpdate です)。 .It Ar ntpdate_flags (文字列) .Ar ntpdate_enable が .Ar YES の場合、これらは .Xr ntpdate 8 コマンドに渡すフラグとなります (典型的にはホスト名)。 .It Ar xntpd_enable (ブール値) .Ar YES にセットすると、ブート時に .Xr xntpd 8 コマンドが起動されます。 .It Ar xntpd_program (文字列) .Xr xntpd 8 のパス (デフォルトは .Pa /usr/sbin/xntpd です)。 .It Ar xntpd_flags (文字列) .Ar xntpd_enable が .Ar YES の場合、これらは .Xr xntpd 8 デーモンに渡すフラグとなります。 .It Ar nis_client_enable (ブール値) .Ar YES にセットすると、システムブート時に .Xr ypbind 8 サービスを起動します。 .It Ar nis_client_flags (文字列) .Ar nis_client_enable が .Ar YES の場合、これらは .Xr ypbind 8 サービスに渡すフラグとなります。 .It Ar nis_ypset_enable (ブール値) .Ar YES にセットすると、システムブート時に .Xr ypset 8 デーモンを起動します。 .It Ar nis_ypset_flags (文字列) .Ar nis_ypset_enable が .Ar YES の場合、これらは .Xr ypset 8 デーモンに渡すフラグとなります。 .It Ar nis_server_enable (ブール値) .Ar YES にセットすると、システムブート時に .Xr ypserv 8 デーモンを起動します。 .It Ar nis_server_flags (文字列) .Ar nis_server_enable が .Ar YES の場合、これらは .Xr ypserv 8 デーモンに渡すフラグとなります。 .It Ar nis_ypxfrd_enable (ブール値) .Ar YES にセットすると、システムブート時に .Xr ypxfrd 8 デーモンを起動します。 .It Ar nis_ypxfrd_flags (文字列) .Ar nis_ypxfrd_enable が .Ar YES の場合、これらは .Xr ypxfrd 8 デーモンに渡すフラグとなります。 .It Ar nis_yppasswdd_enable (ブール値) .Ar YES にセットすると、システムブート時に .Xr yppasswdd 8 デーモンを起動します。 .It Ar nis_yppasswdd_flags (文字列) .Ar nis_yppasswdd_enable が .Ar YES の場合、これらは .Xr yppasswdd 8 デーモンに渡すフラグとなります。 .It Ar defaultrouter (文字列) .Ar NO をセットしないと、このホスト名または IP アドレスへのデフォルトルートを 作成します (このルータがネームサーバへたどりつく必要がある 場合は IPアドレスを使用すること!)。 .It Ar static_routes (文字列) システムブート時に追加したいスタティックルートのリストを セットします。 .Ar NO 以外をセットした場合、その値を空白で区切った各要素について、 各 .Em element 毎に変数 .No route_ Ns element が存在すると仮定され、その後、 .Dq route add 操作に渡されます。 .It Ar gateway_enable (ブール値) .Ar YES にセットすると、IP ルータとして動作する、 たとえばインタフェース間でパケットをフォワードするように ホストを設定します。 .It Ar router_enable (ブール値) .Ar YES にセットすると、 .Ar router および .Ar router_flags の設定に基づいて、ある種のルーティングデーモンを実行します。 .It Ar router (文字列) .Ar router_enable が .Ar YES にセットされると、これが使用するルーティングデーモン名になります。 .It Ar router_flags (文字列) .Ar router_enable が .Ar YES にセットされると、これらがルーティングデーモンへ渡すフラグとなります。 .It Ar mrouted_enable (ブール値) .Ar YES にセットすると、マルチキャストルーティングデーモン .Xr mrouted 8 を起動します。 .It Ar mrouted_flags (文字列) .Ar mrouted_enable が .Ar YES の場合、これらはマルチキャストルーティングデーモンへ渡すフラグとなります。 .It Ar ipxgateway_enable (ブール値) .Ar YES にセットすると、IPX トラフィックのルーティングを有効にします。 .It Ar ipxrouted_enable (ブール値) .Ar YES にセットすると、ブート時に .Xr IPXrouted 8 デーモンを起動します。 .It Ar ipxrouted_flags (文字列) .Ar ipxrouted_enable が .Ar YES の場合、これらは .Xr IPXrouted 8 デーモンへ渡すフラグとなります。 .It Ar arpproxy_all .Ar YES -にセットするとグローバルプロキシ ARP を有効にします。 +にセットすると、グローバルプロキシ ARP を有効にします。 .It Ar forward_sourceroute これが .Ar YES にセットされ、更に .Ar gateway_enable もまた .Ar YES にセットされている場合、 送信元が経路指定したパケット (source routed packets) はフォワードされます。 .It Ar accept_sourceroute .Ar YES にセットすると、 システムは自分宛の送信元経路指定パケットを受け付けます。 .It Ar rarpd_enable (ブール値) .Ar YES にセットすると、システムブート時に .Xr rarpd 8 デーモンを起動します。 .It Ar rarpd_flags (文字列) .Ar rarpd_enable が .Ar YES の場合、これらは .Xr rarpd 8 デーモンへ渡すフラグとなります。 .It Ar atm_enable (ブール値) .Ar YES システムブート時に ATM インタフェースの設定を有効にします。 次に説明する ATM 関連の変数に関し、 利用可能なコマンドパラメータの更なる詳細については、 .Xr atm 8 のマニュアルページを参照してください。 更なる詳細な設定情報に関しては、 .Pa /usr/share/examples/atm 中のファイルも参照してください。 .It Ar atm_netif_ (文字列) ATM 物理インタフェース .Va に対し、本変数は、 作成すべき ATM ネットワークインタフェースの 名前プレフィックスと数字を指定します。 値はコマンド .Dq atm set netif Va のパラメータとして渡されます。 .It Ar atm_sigmgr_ (文字列) ATM 物理インタフェース .Va に対し、本変数は使用すべき ATM シグナリングマネージャを定義します。 値はコマンド .Dq atm attach Va のパラメータとして渡されます。 .It Ar atm_prefix_ (文字列) ATM 物理インタフェース .Va に対し、本変数は、 UNI シグナリングマネージャを使用するインタフェースの NSAP プレフィックスを定義します。 .Em ILMI に設定すると、プレフィックスは自動的に .Xr ilmid 8 デーモンを介して設定されます。 そうでない場合、値はコマンド .Dq atm set prefix Va のパラメータとして渡されます。 .It Ar atm_macaddr_ (文字列) ATM 物理インタフェース .Va に対し、本変数は、 UNI シグナリングマネージャを使用するインタフェースの MAC アドレスを定義します。 .Em NO に設定すると、ATM インタフェースカードに格納されている ハードウェア MAC アドレスが使用されます。 そうでない場合、値はコマンド .Dq atm set mac Va のパラメータとして渡されます。 .It Ar atm_arpserver_ (文字列) ATM 物理インタフェース .Va に対し、本変数は、ATMARP サービスを提供するホストの ATM アドレスを定義します。 本変数は、UNI シグナリングマネージャを使用するインタフェースにおいてのみ 利用可能です。 .Em local に設定すると、本ホストが ATMARP サーバになります。 値はコマンド .Dq atm set arpserver Va のパラメータとして渡されます。 .It Ar atm_scsparp_ (ブール値) .Em YES に設定すると、ネットワークインタフェース .Va に対する SCSP/ATMARP サービスが、 .Xr scspd 8 および .Xr atmarpd 8 を使用して開始されます。 本変数は .So .No atm_arpserver_ Ns Va .No Ns = Ns Qq local .Sc が定義されている場合にのみ利用可能です。 .It Ar atm_pvcs (文字列) システムブート時に追加したい ATM PVC のリストを設定します。 値中で空白で区切られた .Em element ごとに、変数 .No atm_pvc_ Ns Em element が存在するものと仮定されます。これらの変数の値がコマンド .Dq atm add pvc のパラメータとして渡されます。 .It Ar atm_arps (文字列) システムブート時に追加したい、 永続的な ATM ARP エントリのリストを設定します。 値中で空白で区切られた .Em element ごとに、変数 .No atm_arp_ Ns Em element が存在するものと仮定されます。これらの変数の値がコマンド .Dq atm add arp のパラメータとして渡されます。 .It Ar keymap (文字列) .Ar NO -にセットするとキーマップはインストールされません。それ以外の場合、 +にセットすると、キーマップはインストールされません。それ以外の場合、 ここで指定した .Ar value がキーマップファイル .Pa /usr/share/syscons/keymaps/.kbd をインストールするのに用いられます。 .It Ar keyrate (文字列) キーボードのリピートスピードです。以下のいずれかにセットします。 .Ar slow , .Ar normal , .Ar fast デフォルト値を希望する場合は .Ar NO とします。 .It Ar keychange (文字列) .Ar NO 以外にセットすると、その値でファンクションキーをプログラムしようとします。 指定できる値は単一の文字列で, .Qq Ar " [ ]..." という形式でないといけません。 .It Ar cursor (文字列) カーソルの動作を明示的に指定する場合は .Ar normal , .Ar blink , .Ar destructive のいずれかの値にセットします。デフォルト動作を選ぶには .Ar NO とします。 .It Ar scrnmap (文字列) .Ar NO にセットすると、スクリーンマップはインストールされません。 それ以外の場合には、ここで指定した .Ar value がスクリーンマップファイル .Pa /usr/share/syscons/scrnmaps/ をインストールするのに用いられます。 .It Ar font8x16 (文字列) .Ar NO -にセットするとスクリーンサイズの要求に対しデフォルトの 8x16 フォント値が +にセットすると、スクリーンサイズの要求に対しデフォルトの 8x16 フォント値が 用いられます。それ以外の場合は .Pa /usr/share/syscons/fonts/ の値が用いられます。 .It Ar font8x14 (文字列) .Ar NO -にセットするとスクリーンサイズの要求に対しデフォルトの 8x14 フォント値が +にセットすると、スクリーンサイズの要求に対しデフォルトの 8x14 フォント値が 用いられます。それ以外の場合は .Pa /usr/share/syscons/fonts/ の値が用いられます。 .It Ar font8x8 (文字列) .Ar NO にセットすると、スクリーンサイズの要求に対しデフォルトの 8x8 フォント値が 用いられます。それ以外の場合は .Pa /usr/share/syscons/fonts/ の値が用いられます。 .It Ar blanktime (整数) .Ar NO にセットすると、デフォルトのスクリーンブランク時間間隔が用いられます。 それ以外の場合は .Ar value 秒にセットされます。 .It Ar saver (文字列) .Ar NO 以外にセットすると、これが実際に使用する スクリーンセーバ (ブランク, 蛇, デーモンなど) となります。 .It Ar moused_enable (文字列) .Ar YES にセットすると、コンソール上でのカット/ペーストセレクション用に .Xr moused 8 デーモンが起動されます。 .It Ar moused_type (文字列) 利用したいマウスのプロトコルのタイプ。 .Ar moused_enable が .Ar YES の場合、この変数は必ず設定しなければなりません。 多くの場合、 .Xr moused 8 デーモンは適切なマウスタイプを自動的に検出することができます。 デーモンにマウスを検出させるには、この変数を .Ar auto にセットします。 自動検出が失敗する場合、以下のリストから 1 つを選びます。 .Pp マウスが PS/2 マウスポートに接続されている場合、 .Ar auto か .Ar ps/2 を常に指定する必要があります。マウスのブランドやモデルには無関係です。 同様に、マウスがバスマウスポートに接続されている場合、 .Ar auto か .Ar busmouse を選択してください。 他のプロトコルはシリアルマウス用であり、 PS/2 マウスおよびバスマウスでは動作しません。 USB マウスを持っている場合、 .Ar auto のみが USB マウスで動作する唯一のプロトコルです。 .Bd -literal microsoft Microsoft マウス (シリアル) intellimouse Microsoft IntelliMouse (シリアル) mousesystems Mouse system 社製のマウス (シリアル) mmseries MM シリーズのマウス (シリアル) logitech Logitech 製のマウス (シリアル) busmouse バスマウス mouseman Logitech の MouseMan および TrackMan (シリアル) glidepoint ALPS 製の GlidePoint (シリアル) thinkingmouse Kensignton 製の ThinkingMouse (シリアル) ps/2 PS/2 マウス mmhittab MM の HitTablet (シリアル) x10mouseremote X10 MouseRemote (シリアル) versapad Interlink VersaPad (シリアル) .Ed お使いのマウスが上記のリストにない場合でも、 リスト中のいずれかと互換性があるかも知れません。 互換性に関する情報については .Xr moused 8 のマニュアルページを参照してください。 .Pp また、 この変数が有効であるときは、(Xサーバのような) 他の全てのマウスクライアントは 仮想マウスデバイス .Pa /dev/sysmouse を通してマウスにアクセスし、 それを sysmouse タイプのマウスとして構成すべきであると いうことにも注意すべきです。これは、 .Xr moused 8 使用時は、全てのマウスデータがこの単一の標準フォーマットに変換されるためです。 クライアントプログラムが sysmouse タイプを サポートしないなら次に望ましいタイプとして mousesystems を指定してください。 .It Ar moused_port (文字列) .Ar moused_enable が .Ar YES の場合、これはマウスが接続されている実際のポートになります。 たとえば、COM1 シリアルマウスに対しては .Pa /dev/cuaa0 、PS/2 マウスに対しては .Pa /dev/psm0 、バスマウスに対しては .Pa /dev/mse0 となります。 .It Ar moused_flags (文字列) .Ar moused_type がセットされている場合、これらは .Xr moused 8 デーモンに渡す追加のフラグとなります。 .It Ar allscreens_flags (文字列) 設定すると、各仮想端末 .Pq Pa /dev/ttyv* に対し、これらのオプションを使用して .Xr vidcontrol 1 を実行します。 例えば .Ar -m on は、 .Ar moused_enable が .Ar YES にセットされている場合、全仮想端末上でマウスポインタを有効にします。 .It Ar cron_enable (ブール値) .Ar YES にセットすると、システムブート時に .Xr cron 8 デーモンを起動します。 +.It Ar cron_program +(文字列) +.Xr cron 8 +へのパス +(デフォルトは +.Pa /usr/sbin/cron +です)。 +.It Ar cron_flags +(文字列) +.Ar cron_enable +が +.Ar YES +をセットされている場合、これが +.Xr cron 8 +へ渡すフラグとなります。 .It Ar lpd_program (文字列) .Xr lpd 8 のパス (デフォルトは .Pa /usr/sbin/lpd です)。 .It Ar lpd_enable (ブール値) .Ar YES にセットすると、システムブート時に .Xr lpd 8 デーモンを起動します。 .It Ar lpd_flags (文字列) .Ar lpd_enable が .Ar YES の場合、これらは .Xr lpd 8 デーモンに渡すフラグとなります。 .It Ar sendmail_enable (ブール値) .Ar YES にセットすると、システムブート時に .Xr sendmail 8 デーモンを起動します。 .It Ar sendmail_flags (文字列) .Ar sendmail_enable が .Ar YES の場合、これらは .Xr sendmail 8 デーモンに渡すフラグとなります。 .It Ar dumpdev (文字列) .Ar NO にセットしないと、カーネルクラッシュダンプ出力先を .Em value で指定したスワップデバイスに向けます。 システム再開時に、 .Xr savecore 8 プログラムは、指定したデバイスからクラッシュダンプを探し、典型的には .Pa /var/crash ディレクトリに格納します。 .It Ar check_quotas (ブール値) .Xr quotacheck 8 コマンドによってユーザディスクのクォータチェックを有効にしたいなら、 .Ar YES にセットします。 .It Ar accounting_enable (ブール値) .Xr accton 8 ファシリティでシステムアカウンティングを有効にしたいなら .Ar YES にセットします。 .It Ar ibcs2_enable (ブール値) システム初期ブート時に iBCS2 (SCO) バイナリエミュレーションを有効にしたいなら .Ar YES にセットします。 .It Ar ibcs2_loaders (文字列) これを .Ar NO にセットせずに .Ar ibcs2_enable を .Ar YES にセットした場合、 この文字列は有効化すべき追加の iBCS2 ローダのリストを指定します。 .It Ar linux_enable (ブール値) システムブート時に Linux/ELF バイナリエミュレーションを有効にしたいなら .Ar YES にセットします。 .It Ar rand_irqs (文字列) 乱数生成用に監視する IRQ のリストをセットします ( .Xr rndcontrol 8 のマニュアル参照)。 .It Ar clear_tmp_enable (ブール値) 起動時に .Pa /tmp 下を消去したいなら .Ar YES をセットします。 .It Ar ldconfig_paths (文字列) .Xr ldconfig 8 で使用する共有ライブラリのパスのリストをセットします。注意: .Pa /usr/lib は常に先頭に追加されるので、このリストに指定する必要はありません。 .It Ar ldconfig_insecure (ブール値) .Xr ldconfig 8 ユーティリティは、通常、 root 以外が書き込み可能なディレクトリの使用を拒否します。 このセキュリティチェックをシステムブート中に無効化したい場合に、 .Ar YES にセットします。 .It Ar kern_securelevel_enable (ブール値) カーネルのセキュリティレベルをシステムスタートアップ時に設定したい場合に、 .Ar YES にセットします。 .It Ar kern_securelevel (整数) スタートアップ時にセットされるカーネルセキュリティレベルです。 .Ar 値 として許される範囲は -1 (コンパイル時のデフォルト) から 3 (最も安全) です。 利用可能なセキュリティレベルとシステム操作への影響については、 .Xr init 8 を参照してください。 .It Ar start_vinum (ブール値) システムブート時に .Xr vinum 8 を開始したい場合、 .Ar YES にセットします。 .It Ar sshd_program (文字列) SSH サーバプログラムへのパスです .Po .Pa /usr/sbin/sshd がデフォルトです .Pc 。 .It Ar sshd_enable (ブール値) ブート時に .Xr sshd 8 を起動したい場合、 .Ar YES にセットします。 .It Ar sshd_flags (文字列) .Ar sshd_enable が .Ar YES の場合、これらは .Xr sshd 8 デーモンに渡すフラグになります。 .El .Sh 関連ファイル .Bl -tag -width /etc/defaults/rc.conf -compact .It Pa /etc/defaults/rc.conf .It Pa /etc/rc.conf .It Pa /etc/rc.conf.local .El .Sh 関連項目 .Xr catman 1 , .Xr makewhatis 1 , .Xr gdb 1 , .Xr info 1 , .Xr exports 5 , .Xr motd 5 , .Xr accton 8 , .Xr amd 8 , .Xr apm 8 , .Xr atm 8 , .Xr cron 8 , .Xr dhclient 8 , .Xr gated 8 , .Xr ifconfig 8 , .Xr inetd 8 , .Xr lpd 8 , .Xr moused 8 , .Xr mrouted 8 , .Xr named 8 , .Xr nfsd 8 , .Xr nfsiod 8 , .Xr ntpdate 8 , .Xr pcnfsd 8 , .Xr portmap 8 , .Xr quotacheck 8 , .Xr rc 8 , .Xr rndcontrol 8 , .Xr route 8 , .Xr routed 8 , .Xr rpc.lockd 8 , .Xr rpc.statd 8 , .Xr rwhod 8 , .Xr savecore 8 , .Xr sendmail 8 , .Xr sshd 8 , .Xr sysctl 8 , .Xr syslogd 8 , .Xr swapon 8 , .Xr tickadj 8 , .Xr timed 8 , .Xr vinum 8 , .Xr vnconfig 8 , .Xr xntpd 8 , .Xr xtend 8 , .Xr ypbind 8 , .Xr ypserv 8 , .Xr ypset 8 .Sh 歴史 .Nm ファイルは .Fx 2.2.2 で登場しました。 .Sh 作者 .An Jordan K. Hubbard . diff --git a/ja_JP.eucJP/man/man8/adjkerntz.8 b/ja_JP.eucJP/man/man8/adjkerntz.8 index f67581b87e..dc7ad4ff9c 100644 --- a/ja_JP.eucJP/man/man8/adjkerntz.8 +++ b/ja_JP.eucJP/man/man8/adjkerntz.8 @@ -1,187 +1,187 @@ .\" Copyright (C) 1993-1998 by Andrey A. Chernov, Moscow, Russia. .\" 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 DEVELOPERS ``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. .\" -.\" %FreeBSD: src/sbin/adjkerntz/adjkerntz.8,v 1.18.2.2 2000/12/18 15:38:17 ru Exp % +.\" %FreeBSD: src/sbin/adjkerntz/adjkerntz.8,v 1.18.2.3 2001/03/05 19:33:36 ru Exp % .\" jpman %Id: adjkerntz.8,v 1.4 1997/07/26 21:28:35 horikawa Stab % .\" .Dd April 4, 1996 .Dt ADJKERNTZ 8 .Os FreeBSD .Sh 名称 .Nm adjkerntz .Nd "ローカル時間 CMOS クロックをタイムゾーンの変更を反映するように調整し、現在のタイムゾーンオフセットをカーネル用に保持する" .Sh 書式 .Nm .Fl i .Nm .Fl a Op Fl s .Sh 解説 .Nm は、UTC がいつも設定されているカーネルクロックと、 ローカル時間が設定されているかもしれない CMOS クロックとの間の適切な関係を扱います。 .Nm は、また MS-DOS ファイルシステムのようなローカル時間ファイルシステム のための適切なタイムスタンプを扱うために、カーネルに機械のタイムゾーン のシフトを教えます。この主要な目的は、最初から壊れている MS-DOS ファイルタイムスタンプの考え方を全面的に直すためではなく、 同じタイムスタンプを同じ機械上の .Fx の MS-DOS ファイルシステムと MS-DOS オペレーティングシステムで保つためのものです。 ファイル .Pa /etc/wall_cmos_clock がある場合、 CMOS クロックは (MS-DOS や MS-Windows 互換モードの) ローカル時間を保持していることを意味します。 このファイルが無い場合、 CMOS クロックは UTC 時間を 保持していることになります。 .Nm は、この状態をカーネル変数の .Pa machdep.wall_cmos_clock に通知します。 .Pp 時間調整はシステムの立ち上げとシャットダウン時、そしてタイムゾーンの 変更が起きた時はいつでも必要になります。 これらのことなった状況を扱うために、 .Nm は二つの方法で立ち上げられます。 .Bl -tag -width 4n -.It Cm Fl i +.It Fl i この形式は、システムの立ち上げとシャットダウンを取り扱います。 マルチユーザモードの先頭で、 .Nm は .Pa /etc/rc からこのオプションをつけて呼び出されます。 これは他のデーモンが実行される前に行われます。 .Nm は自分自身をバックグラウンドで実行します。 その後、ローカル時間 CMOS クロックのために、 .Nm は、ローカル時間をそこから読み込み、カーネル時間を正しい UTC 時間に 設定します。 .Nm は、これ以降での .Em "'adjkerntz -a'" 呼び出しでの利用のためや、ローカルファイルシステムでの利用のために、 ローカルタイムゾーンオフセットを .Pa machdep.adjkerntz カーネル変数に設定します。 .Pp ローカル時間 CMOS クロックのために、 .Nm "'adjkerntz -i'" は、一時停止し、バックグランドのデーモンとして活動を停止します。 このデーモンは、 SIGTERM シグナルを受け取るまでそのままです。 SIGTERM はふつう、システムがマルチユーザモードを終了する時に .Xr init 8 によって送られます (普通、システムがシャットダウンされる時です)。 SIGTERM を受け取った後で .Nm は、 UTC カーネル時間クロックを読み込み、必要であれば現在の ローカルタイムゾーンを反映するように CMOS クロックを更新します。 その後、 .Nm は終了します。 -.It Cm Fl a Op Fl s +.It Fl a Op Fl s この形式は、タイムゾーンの変更が起こった時に、ローカル時間 CMOS クロックとカーネル .Pa machdep.adjkerntz 変数を更新するために使われます。例えば、夏時間に入ったり、 終了したりした時に使われます。 .Nm は、カーネルクロックの UTC 時間・以前に保存したタイムゾーンオフセット・ 新しいタイムゾーンを計算するためのタイムゾーン変更規則を使います。 これは、新しいオフセットを .Pa machdep.adjkerntz カーネル変数に保存し、 CMOS クロックを新しいローカル時間に更新します。 .Em "'adjkerntz -a'" が、(タイムゾーン変更中に) 存在しない時間で実行された場合、 .Fl s オプションが使われていない場合は警告診断を出し、終了します。 .Fl s オプションが使われている場合は、 30 秒間スリープしてもう一度試します。 .Pp この形式は、大多数の現代のタイムゾーンの変更が起こる、 真夜中から 5:00 までの間に 30 分毎に、root の .Xr crontab 5 から呼び出されるべきです。 警告: .Fl s オプションを .Xr crontab 5 のコマンドライン中で使ってはいけません。使ってしまうと、複数の .Em "'adjkerntz -a'" がお互いに衝突してしまうでしょう。 .El .Pp .Nm は、カーネルタイムゾーン構造を消去し、カーネルクロックを UTC タイムゾーンで走らせます。 スーパユーザの権限が、全ての操作のために必要とされます。 .Sh 環境変数 .Bl -tag -width Fl .It Ev TZ タイムゾーンの変更規則。 .Xr tzset 3 を見てください。 .Xr tzsetup 8 もしくは .Xr zic 8 を使っている場合は、必要ありません。 .El .Sh 関連ファイル .Bl -tag -width /etc/wall_cmos_clock -compact .It Pa /etc/localtime 現在のゾーン情報ファイルです。 .Xr tzsetup 8 と .Xr zic 8 を見てください。 .It Pa /etc/wall_cmos_clock 空のファイルです。 これは、機械の CMOS クロックがローカル時間に設定されていることを 示しています。反対にこれが存在しないと、 UTC の CMOS クロックに 設定されています。 .El .Sh 関連項目 .Xr tzset 3 , .Xr crontab 5 , .Xr mount_msdos 8 , .Xr rc 8 , .Xr sysctl 8 , .Xr tzsetup 8 , .Xr zic 8 .Sh 診断 診断はありません。 エラーが起こった場合は、 .Nm はエラーメッセージを .Xr syslog 3 を使って記録し、ゼロでない値を返して終了します。 .Sh 作者 .An Andrey A. Chernov Aq ache@astral.msk.su .Sh 歴史 .Nm コマンドは、 .Fx 1.0 から導入されました。 diff --git a/ja_JP.eucJP/man/man8/arp.8 b/ja_JP.eucJP/man/man8/arp.8 index cf3e996333..8704fe7b25 100644 --- a/ja_JP.eucJP/man/man8/arp.8 +++ b/ja_JP.eucJP/man/man8/arp.8 @@ -1,156 +1,162 @@ .\" Copyright (c) 1985, 1991, 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. .\" .\" @(#)arp.8 8.1 (Berkeley) 6/6/93 -.\" %FreeBSD: src/usr.sbin/arp/arp.8,v 1.8.2.2 2001/02/05 00:51:31 archie Exp % +.\" %FreeBSD: src/usr.sbin/arp/arp.8,v 1.8.2.3 2001/03/05 10:45:20 ru Exp % .\" .\" jpman %Id: arp.8,v 1.3 1997/07/22 16:36:26 horikawa Stab % .\" .Dd June 6, 1993 .Dt ARP 8 .Os BSD 4.3 .Sh 名称 .Nm arp .Nd アドレス解決の表示と制御 .Sh 書式 .Nm .Op Fl n .Ar hostname .Nm .Op Fl n .Fl a .Nm .Fl d Ar hostname -.Op Ar proxy +.Op Cm proxy .Nm .Fl d .Fl a .Nm .Fl s Ar hostname ether_addr -.Op Ar temp -.Op Ar pub +.Op Cm temp +.Op Cm pub .Nm .Fl S Ar hostname ether_addr -.Op Ar temp -.Op Ar pub +.Op Cm temp +.Op Cm pub .Nm .Fl f Ar filename .Sh 解説 .Nm プログラムは アドレス解決プロトコル .Pq Xr arp 4 で使われる、インターネットからイーサネットへのアドレス変換テーブルの 表示と変更をします。 フラグなしの場合、プログラムは .Ar hostname に対する現在の .Tn ARP エントリを表示します。 ホストは名前か、インターネットドット表記の数字で指定します。 .Pp 有効なオプション: -.Bl -tag -width Ds +.Bl -tag -width indent .It Fl a プログラムは現在の .Tn ARP エントリを全て表示もしくは消去します。 .It Fl d スーパユーザならば .Fl d を指定して .Ar hostname に対応したホストのエントリを消去することができます。 公表された ARP エントリを消去する場合には、 -.Dq Li proxy +.Cm proxy キーワードが必要となる場合があります。 .Fl a フラグと組み合わせて全エントリを消去することができます。 .It Fl n ネットワークアドレスを数値で表示します (通常 .Nm はアドレスをシンボルで表示しようとします)。 .It Fl s Ar hostname ether_addr .Ar hostname に対するホストについての .Tn ARP エントリを、 イーサネットアドレス .Ar ether_addr で作成します。 イーサネットアドレスはコロンで区切った六つの 16 進バイトで表現します。 このエントリは、語 -.Ar temp +.Cm temp がコマンド中にない限り永久的なものになります。 語 -.Ar pub +.Cm pub があれば、エントリは「公表」されます; すなわち、このシステムが .Tn ARP サーバとして動作することになり、 .Ar hostname を問い合わせる要求に対して、そのホストのアドレスが自分自身でなくても、 返答することになります。 このケース (訳注: pub を指定して ARP サーバとして動作させる場合) -では ether_addr を ``auto'' として与えることができます。 +では +.Ar ether_addr +を +.Cm auto +として与えることができます。 この様に指定した場合、 自ホストのインターフェースを調べ、 そのうちの 1 つが指定したホストと同じサブネットに属していれば、 -そのインターフェースの ether_addr が使用されることになります。 +そのインターフェースのイーサネットアドレスが使用されることになります。 .It Fl S Ar hostname ether_addr -このホストに関する、すでにある arp エントリが最初に削除されることを除いて、 +このホストに関する、すでにある +.Tn ARP +エントリが最初に削除されることを除いて、 .Fl s と同様です。 .It Fl f ファイル .Ar filename を読み込んで、複数のエントリを .Tn ARP テーブルに設定します。 ファイル中のエントリは .Pp -.Bd -filled -offset indent -compact +.Bd -ragged -offset indent -compact .Ar hostname ether_addr -.Op Ar temp -.Op Ar pub +.Op Cm temp +.Op Cm pub .Ed .Pp の形式になります。ここで引数の意味は上で与えられた通りです。 .El .Sh 関連項目 .Xr inet 3 , .Xr arp 4 , .Xr ifconfig 8 .Sh 歴史 .Nm コマンドは .Bx 4.3 から登場しました。 diff --git a/ja_JP.eucJP/man/man8/atrun.8 b/ja_JP.eucJP/man/man8/atrun.8 index 321316b00b..23aaac02a1 100644 --- a/ja_JP.eucJP/man/man8/atrun.8 +++ b/ja_JP.eucJP/man/man8/atrun.8 @@ -1,86 +1,87 @@ -.\" %FreeBSD: src/libexec/atrun/atrun.man,v 1.7.2.1 2000/12/14 12:11:37 ru Exp % +.\" %FreeBSD: src/libexec/atrun/atrun.man,v 1.7.2.2 2001/03/05 18:21:59 ru Exp % .\" jpman %Id: atrun.8,v 1.2 1997/04/23 02:43:41 yugawa Stab % .Dd April 12, 1995 .Dt ATRUN 8 .Os FreeBSD .Sh 名称 .Nm atrun .Nd ジョブキューのなかから予定時刻になったものを実行 .Sh 書式 .Nm atrun .Op Fl l Ar load_avg .Op Fl d .Sh 解説 .Nm コマンドは .Xr at 1 でキューに入れたジョブを実行するコマンドです。 .Pp .Xr atrun 8 が 5 分毎に起動されるようにするために、 root の .Xr crontab 5 ファイル .Pa /etc/crontab に、 -.nf +.Bd -literal */5 * * * * root /usr/libexec/atrun -.fi +.Ed +.Pp という設定を含めておく必要があります。 .Pp 呼び出しが起きるたびに .Nm は、小文字のキューの中のジョブのうち、 実行開始時間を過ぎたものすべてを開始します。 さらに、直前の 1 分間の負荷平均値 (load avarage) が指定した限界値より小さい場合、 優先順位が最も高いバッチジョブ (大文字のキューで表されます) ひとつを 開始します。 .\" 上記の記述はオリジナルの英語版では、"A maximum of one batch jobs (denoted .\" by uppercase queues) are started each time atrun is invoded." となっている。 .\" この記述だけでは非常にわかりにくいが、at(1) を見ると、バッチジョブには .\" A 〜 Z のキューがあり、A 〜 Z の順番で nice 値が高くなる(優先度が低くなる) .\" と書かれている。そこで、実際に試して見ると、同一のキューに登録されたジョブ .\" は登録された順番に実行されるが、異なるキューに登録されたジョブは登録された .\" 順番とは関係なく、より nice 値が低い(優先度の高い)ジョブから実行される .\" ので、上記の記述とした。 .\" 2.2.1-RELEASE 対象 .\" By yugawa@orleans.rim.or.jp (Apr 23 1997) .\" RELENG22-980710-SNAP(2.2.7 直前)でこの部分の記述は変更されたが、 .\" "A maximum of one batch jobs" の句は依然として残っているので、 .\" この句の訳はそのままにしてある。 .\" By kuma@jp.freebsd.org (Jul 10 1998) .Sh オプション .Bl -tag -width indent .It Fl l Ar load_avg 負荷の上限を指定します。 負荷がこの上限を越えている場合、バッチジョブは実行されません。 組み込みのデフォルトの値は 1.5 です。 .It Fl d デバッグ用。 .Xr syslog 3 を使う代わりに標準エラー出力にエラーメッセージを表示します。 .El .Sh 警告 .Nm を動かすためには .Xr cron 8 デーモンを起動しておく必要があります。 .Sh 関連ファイル .Bl -tag -width /var/at/spool -compact .It Pa /var/at/spool 出力ファイルを保管しておくディレクトリ .It Pa /var/at/jobs ジョブファイルを保管しておくディレクトリ .El .Sh 関連項目 .Xr at 1 , .Xr crontab 1 , .Xr syslog 3 , .Xr crontab 5 , .Xr cron 8 .Sh バグ .Nm の機能は .Xr cron 8 に統合されるべきです。 diff --git a/ja_JP.eucJP/man/man8/badsect.8 b/ja_JP.eucJP/man/man8/badsect.8 index 14f29c8304..5454a5c092 100644 --- a/ja_JP.eucJP/man/man8/badsect.8 +++ b/ja_JP.eucJP/man/man8/badsect.8 @@ -1,131 +1,131 @@ .\" Copyright (c) 1985, 1991, 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 acknowledgment: .\" 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: @(#)badsect.8 8.1 (Berkeley) 6/5/93 -.\" %FreeBSD: src/sbin/badsect/badsect.8,v 1.10.2.2 2000/12/18 15:38:18 ru Exp % +.\" %FreeBSD: src/sbin/badsect/badsect.8,v 1.10.2.3 2001/03/05 19:33:37 ru Exp % .\" jpman %Id: badsect.8,v 1.2 1997/03/31 13:30:12 horikawa Stab % .\" .Dd June 5, 1993 .Dt BADSECT 8 .Os BSD 4 .Sh 名称 .Nm badsect .Nd バッドセクタ上にファイルを作る .Sh 書式 .Nm .Ar bbdir sector ... .Sh 解説 .Nm はバッドセクタを含むファイルを作成します。 通常のフォーマッタは、バッドセクタをアクセスできないようにします。 このとき、フォーマッタはドライバ用にバッドセクタのフォワーディングテーブルを 作ります。 もしドライバが標準でバッドブロックをサポートしているならば、 バッドブロックを孤立させるためにはその方法を使用すべきです。 なぜならばバッドブロックフォワーディングはパックを完全に見せ、 そのようなパックは .Xr dd 1 でコピー可能だからです。 本プログラムで採用している方法はバッドブロックフォワーディングよりは 一般的ではありません。 なぜならば .Nm はファイルシステムの i-list のバッドブロックを回復することができませんし、 スワップ領域のバッドブロックも回復することができないからです。 .Pp 突然バッドとなったセクタをバッドセクタテーブルに追加するためには、 ディスクによっては現在のところ、 標準の .Tn DEC フォーマッタを実行する必要があります。 このため、新たに生じたバッドブロックを扱う場合、 およびドライバがバッドブロッキング標準をサポートしていない場合には、 .Nm は有効かも知れません。 .Pp .Nm は現在アクセスされていないファイルシステムに対して次のように使用します。 .Nm を使うには、まず、ファイルシステムをマウントし、そのルート ディレクトリに移動します。ここに .Li BAD という名前のディレクトリを作ります。 .Nm コマンドに、引数として、このディレクトリと追加したいすべて のバッドセクタを指定して実行します (セクタ番号はファイルシステムの先頭からの相対で指定しなければなりませんが、 システムがコンソールエラーメッセージに表示するのは相対セクタ番号であるため 難しくはありません)。 その後、ルートディレクトリに移動し、 そのファイルシステムをアンマウントしてから .Xr fsck 8 を実行します。 fsck はバッドセクタを含むファイルを削除しますが、 .Pa BAD/ Ns Em nnnnn は削除 .Em しないように してください。 以上の操作によりバッドセクタは .Li BAD ファイルにのみにあることになります。 .Pp .Nm は .Xr mknod 2 の引数にセクタ番号を指定してコールすることで、 最初のブロックが指定したバッドセクタを含んだ特別なファイルを作ります。 このファイルの名前はバッドセクタの番号です。 .Xr fsck 8 は、このファイルを発見すると -.Dq Li "HOLD BAD BLOCK ?" +.Dq Li "HOLD BAD BLOCK \&?" と聞いてきます。 これに対して y と答えると、 .Xr fsck 8 はその inode を、バッドブロックを含む 通常ファイルにコンバートします。 .Sh 関連項目 .Xr fsck 8 .Sh 診断 .Nm は、危険な領域のブロックやファイルシステム外のブロックを追加しません。 また、ブロックが既に使用されている場合には警告を表示します。 .Sh バグ あるファイルシステムフラグメント中の複数のセクタがバッドとなった場合、 そのうちの 1 つだけを .Nm に指定しなければなりません。 バッドセクタファイル中のブロックは、 ファイルシステムフラグメント中の全てのセクタをカバーするからです。 .Sh 歴史 .Nm コマンドは .Bx 4.1 から登場しました。 diff --git a/ja_JP.eucJP/man/man8/boot_i386.8 b/ja_JP.eucJP/man/man8/boot_i386.8 index aca6e2fc11..0f8aab1943 100644 --- a/ja_JP.eucJP/man/man8/boot_i386.8 +++ b/ja_JP.eucJP/man/man8/boot_i386.8 @@ -1,329 +1,338 @@ .\" Copyright (c) 1991, 1993 .\" The Regents of the University of California. All rights reserved. .\" .\" This code is derived from software written and contributed .\" to Berkeley by William Jolitz. .\" .\" Almost completely rewritten for FreeBSD 2.1 by Joerg Wunsch. .\" .\" Substantially revised for FreeBSD 3.1 by Robert Nordier. .\" .\" 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. .\" .\" @(#)boot_i386.8 8.2 (Berkeley) 4/19/94 -.\" %FreeBSD: src/sbin/reboot/boot_i386.8,v 1.23.2.2 2000/12/18 15:38:30 ru Exp % +.\" %FreeBSD: src/sbin/reboot/boot_i386.8,v 1.23.2.3 2001/03/05 19:33:55 ru Exp % .\" .\" jpman %Id: boot_i386.8,v 1.5 1997/12/04 18:33:50 ken Exp % .\" .\" .Dd April 19, 1994 .Dt BOOT 8 i386 .Os .Sh 名称 .Nm boot .Nd システム立上げ時の手続き .Sh 解説 .Sy 電源断とクラッシュからの回復。 通常、電源復旧時とクラッシュ発生後には、システムは自動的にリブートし ます。ファイルシステムの整合性チェックが自動実行され、途中で失敗しな ければ、システムはマルチユーザ・モードに移行します。 .Pp .Sy コールドスタート。 大多数の i386 PC は、まずフロッピドライブ 0 (ドライブ A: ともいう) からのブートを試み、 それに失敗すると、 ハードディスクドライブ 0 (ドライブ C: もしくは BIOS のドライブ 0x80 ともいう) からブートしようとします。いくつかの BIOS では、この デフォルトの順序を変えたり、CD-ROM デバイスをブートデバイスとして 含めることができます。 .Pp デフォルトでは 3 段階のブートストラップが使用され、 ブートブロック (ブートストラップの 第 1 および 第 2 段階) から、 これとは別の第 3 段階のブートストラッププログラム .Xr loader 8 へと自動的に制御が移行されます。 この第 3 段階では、 ブート処理において、 ブートブロックにおいて可能なことよりも洗練された制御を提供します。 ブートブロックには、 ディスクやスライスの限られた空間しか与えられないという制約があります。 .Pp しかしながら、第 3 段階をまったく使用せずに済ますこともできます。 このようにするには、ブートブロックパラメータファイル .Pa /boot.config においてカーネル名を指定するか、 .Xr loader 8 が起動される前の短い待ち時間 (文字 -.Dv - , -.Dv \e , -.Dv \&| , -.Dv / +.Sy - , +.Sy \e , +.Sy \&| , +.Sy / のいずれかが表示されている間) にキーを打ちます。 第 3 段階をロードできない場合にも、第 2 段階においてブートが試みられます。 .Pp 本サブセクションの残りの部分では、ブートブロックについてのみ扱います。 -.Pa loader +.Xr loader 8 プログラムの文書は別にあります。 .Pp ブートブロックがロードされたあとで、次のようなプロンプトが現れます。 .Bd -literal >> FreeBSD/i386 BOOT Default: 0:ad(0,a)/kernel boot: .Ed .Pp 自動ブートにおいては、フロッピ もしくはハードディスクのパーティション .Ql a から .Pa /kernel をロードしようとします。 この動作は .Ql boot: というプロンプトが出ている間なら、キーボードから適当な文字を入力する ことで中断できます。以下にあげるような入力はブート動作に対する指示と して受付けられます。 -.Bl -tag -width 10x -.It \&? +.Bl -tag -width indent +.It Ic \&? ブートファイルを探す際のヒントとして、デフォルトのブートデバイスの ルートディレクトリにあるファイルの名前を表示します。 (パスの最後の部分に -.Dv \&? +.Ic ?\& を指定することもできます。この場合、任意のサブディレクトリの一覧となります。) .Pp -.It bios_drive:interface(unit,part) filename Op Fl aCcDdghPrsv +.It Xo +.Ar bios_drive : Ns Ar interface Ns Po +.Ar unit , Ns Ar part Pc +.Ar filename +.Op Fl aCcDdghPrsv +.Xc ブートファイルとブートフラグを指定します。 -.Bl -tag -width 10x -compact -.It bios_drive +.Bl -tag -width indent +.It Ar bios_drive BIOS によって認識されるドライブ番号です。 1 つ目のドライブに対しては 0 、 2 つ目のドライブに対しては 1 、などです。 -.It interface +.It Ar interface そこからブートするコントローラのタイプです。ブートファイルのイメージ をロードするのには BIOS の機能を使用するので、そのコントローラに対す る BIOS サポートが必要となることに注意して下さい。 .Pp サポートされているインタフェースを以下にあげます。 +.Pp .Bl -tag -width "adXX" -compact .It ad WD100[2367] とその互換コントローラ上の ST506, IDE, ESDI, RLL ディスク .It fd 5 1/4" または 3 1/2" 高密度 フロッピ .It da サポートされている SCSI コントローラ上の SCSI ディスク .\".It cd .\"CDROM からのブート .El -.It unit +.It Ar unit 使用されているインタフェース上のドライブのユニット番号です。 1 つ 目のドライブに対しては 0 、 2 つ目のドライブに対しては 1 、などです。 .It part ディスク上の BSD 部分内のパーティション文字です。詳しくは .Xr disklabel 8 を参照して下さい。慣例として、パーティション .Ql a のみが ブート可能なイメージを含んでいます。ディスクにスライス .Pq Dq fdisk パーティション か設けられていた場合、任意のスライスからブート可能です。 デフォルトでは、アクティブスライスから、 これがない場合は最初の .Fx スライスからのブートとなります。 -.It filename +.It Ar filename ブートファイルの (指定されたパーティションのルートディレクトリからの 相対) パス名です。デフォルトでは .Pa /kernel となります。シンボリックリンクはサポートされていません (ハードリンク は使用できます)。 .It Fl acCdDghPrsv ブートフラグです。 +.Pp .Bl -tag -width "-CXX" -compact .It Fl a カーネル初期化中に、ルートファイルシステムとしてマウントされるデバイスを 尋ねて来るようにします。 .It Fl C CDROM からブートします。 .It Fl c ロードしたカーネルに対し、ハードウェアのパラメータを変更するため、 UserConfig を実行します。 -USERCONFIG, INTRO_USERCONFIG, VISUAL_USERCONFIG +.Dv USERCONFIG , INTRO_USERCONFIG , VISUAL_USERCONFIG のいずれかのオプション付きでカーネルが構築された場合、 スクリプト中に .Ic quit コマンドがあったとしても、UserConfig 中にとどまります。 .It Fl D シングルとデュアルのコンソール設定を切り替えます。シングル設定では、 下記の .Fl h オプションの状態によって、コンソールは内部ディスプレイかシリアルポートの いずれかになります。デュアルコンソール設定では、内部ディスプレイ とシリアルポートの両方が、 .Fl h オプションの状態によらず、同時にコンソールになります。しかし、 デュアルコンソール設定は、ブートプロンプトの間だけでしか効果を持ちません。 一旦カーネルがロードされると、 .Fl h オプションによって指定されたコンソールが唯一のコンソールになります。 .It Fl d カーネルの初期化のできる限り早い段階で DDB カーネルデバッガ .Pq Xr ddb 4 を参照 に入ります。 .It Fl g GDB リモートデバッギングプロトコルを使用します。 .It Fl h 内部コンソールとシリアルコンソールの切り替えを行います。これを使用して コンソールデバイスを変更できます。例えば、内部コンソールからブートし た場合、カーネルがコンソールデバイスとしてシリアルポートを使用するよ うにするため、 .Fl h オプションを使用できます。反対に、シリアルポートからブートした場合、 カーネルがコンソールとして代わりに内部ディスプレイを使用するようにす るため、このオプションを使用できます。 シリアルポートドライバ .Xr sio 4 には、このオプションに優先するフラグがあります。 そのフラグが設定されると、ここで記述した .Fl h オプションとは無関係に、シリアルポートが常にコンソールとして使用されます。 更なる詳細については、マニュアルページ .Xr sio 4 を参照してください。 .It Fl P キーボードを検出します。キーボードが発見できなかった場合には、 .Fl D と .Fl h オプションが自動的にセットされます。 .It Fl r ルートファイルシステムを含むデバイスとしてスタティックに config され たデフォルトを使用します .Pq Xr config 8 を参照 。 .It Fl s シングルユーザ・モードで立上がるようになります。コンソールが .Dq insecure .Pq Xr ttys 5 を参照 に設定されていた場合には、root のパスワードを入力しなければなり ません。 .It Fl v デバイス検出の際 (そしてその後も) 、詳細を出力します。 .El .El .El .Pp デフォルトを設定するため、BIOS ドライブ番号, コントローラタイプ, ユニット番号, パーティション, カーネルファイル名と 有効なオプションを .Pa /boot.config に書くこともできます。 .Ql boot: プロンプトでタイプするように、 1 行で書いてください。 .Sh 関連ファイル -.Bl -tag -width /kernel.old.config -compact +.Bl -tag -width /boot/loader -compact .It Pa /boot.config ブートブロックに対するパラメータ (必須ではない) .It Pa /boot/boot1 第 1 段階のブートストラップ .It Pa /boot/boot2 第 2 段階のブートストラップ .It Pa /boot/loader 第 3 段階のブートストラップ .It Pa /kernel デフォルトカーネル .It Pa /kernel.old 普通は非デフォルトカーネル (必須ではない) .El .Sh 関連項目 .Xr ddb 4 , .Xr ttys 5 , .Xr boot0cfg 8 , .Xr btxld 8 , .Xr config 8 , .Xr disklabel 8 , .Xr halt 8 , .Xr loader 8 , .Xr reboot 8 , .Xr shutdown 8 .Sh 診断 ディスク関連のエラーが発生すると、 第 2 段階のブートストラップがエラーを報告します。 BUOS が返すものと同じエラーコードを使用し、 例えば .Dq Disk error 0x1 (lba=0x12345678) などと報告します。 エラーコードの一部のリストを示します: .Pp .Bl -tag -width "0x80" -compact .It 0x1 不正な引数 .It 0x2 アドレスマークが見付かりません .It 0x4 セクタが見付かりません .It 0x8 DMA オーバラン .It 0x9 64K 境界を越えて DMA を試みました .It 0xc 不正なメディア .It 0x10 訂正できない CRC/ECC エラー .It 0x20 コントローラの異常 .It 0x40 シークの失敗 .It 0x80 タイムアウト .El .Pp -要注意: +.Sy "要注意" : BIOS が提供する伝統的なディスクインタフェースの制約のため、 ブートフェーズにアクセスされるブート関連の全ファイルと構造 (カーネルを含みます) は、ディスク上で (BIOS が理解するジオメトリにおいて) シリンダ 1023 以下に置かれることが必要です。 第 2 段階のブートストラップが .Dq Disk error 0x1 を報告する場合、通常はこの条件が満されていないことを意味します。 .Sh バグ このバージョンの .Bx -で使用されているディスクラベルのフォーマットは、他のアーキテクチャで +で使用されている +.Xr disklabel 5 +のフォーマットは、他のアーキテクチャで 使用されている物とは全く異なっています。 .Pp 空間の制約により、 .Fl P オプションにより起動されるキーボード検出は、BIOS が .Dq 拡張 キーボードを検出したかを単にテストするだけです。 .Dq XT/AT キーボード (F11, F12 キーなどを持ちません) を接続した場合、 検出は失敗します。 .Pp まだ記述されていない機能があります。 diff --git a/ja_JP.eucJP/man/man8/bootpd.8 b/ja_JP.eucJP/man/man8/bootpd.8 index 30591f5131..ee3b511efb 100644 --- a/ja_JP.eucJP/man/man8/bootpd.8 +++ b/ja_JP.eucJP/man/man8/bootpd.8 @@ -1,302 +1,302 @@ .\" Copyright (c) 1988, 1989, 1991 Carnegie Mellon University .\" -.\" %FreeBSD: src/libexec/bootpd/bootpd.8,v 1.10.2.3 2000/12/12 15:34:19 ru Exp % +.\" %FreeBSD: src/libexec/bootpd/bootpd.8,v 1.10.2.4 2001/03/05 18:21:59 ru Exp % .\" jpman %Id: bootpd.8,v 1.4 1997/10/11 07:39:12 horikawa Stab % .\" .Dd November 6, 1993 .Dt BOOTPD 8 .Os .Sh 名称 .Nm bootpd , bootpgw .Nd インターネットブートプロトコルサーバ/ゲートウェイ .Sh 書式 .Nm .Op Fl i .Op Fl s .Op Fl t Ar timeout .Op Fl d Ar level .Op Fl c Ar chdir-path .Oo .Ar bootptab .Op Ar dumpfile .Oc .Nm bootpgw .Op Fl i .Op Fl s .Op Fl t Ar timeout .Op Fl d Ar level .Ar server .Sh 解説 .Nm は RFC951, RFC1532, RFC1533 で定義された インターネットブートプロトコル (BOOTP) サーバを実装したものです。 .Nm bootpgw は、要求と応答を、あるサブネット上のクライアントと、 別のサブネット上の BOOTP サーバ (すなわち .Nm ) との間で転送するのに使われる、単純な BOOTP ゲートウェイを実装しています。 .Nm または .Nm bootpgw は BOOTREPLY パケットを転送しますが、 .Nm bootpgw だけが BOOTREQUEST パケットを転送します。 .Pp 各々のネットワークセグメントにつき、通常一つのホストで、 以下の行のどれかをファイル .Pa /etc/inetd.conf に含めることにより、 .Nm あるいは .Nm bootpgw が .Xr inetd 8 から起動されるように設定されます: .Pp .Dl bootps dgram udp wait root /usr/libexec/bootpd bootpd /etc/bootptab .Dl bootps dgram udp wait root /usr/libexec/bootpgw bootpgw server .Pp この動作モードは「inetd モード」と呼ばれ、 ブート要求が到着した時にだけ .Nm (あるいは .Nm bootpgw ) を開始します。 もし最後にパケットを受信してから 15 分以内に別のパケットを受信しないのなら、 システムの資源を浪費しないように終了します。 .Fl t オプションがこのタイムアウト時間を制御します (オプション参照)。 .Pp 他の通常のコマンドのように単にシェルから起動することで、 .Nm (あるいは .Nm bootpgw ) を「スタンドアローンモード」( .Xr inetd 8 なし) で実行することも可能です。 .Nm が大きなコンフィギュレーションデータベースのもとで使われる時には、 inetd モードでの起動時の遅延が クライアントの要求に対する素早い応答を妨げるので、 スタンドアローンモードは特に役に立ちます。 (例えば .Pa /etc/rc.local から .Nm を呼びだすことによって、 スタンドアローンモードで自動的に起動することができます) .Nm bootpgw は設定ファイルを読まないので、 起動時の遅延はかなり小さく、 スタンドアローンモードはあまり役に立ちません。 .Pp どちらのプログラムも、inetd から呼び出されたかシェルから呼び出されたかを 自動的に検出し、自動的に適当なモードを選択します。 .Fl s と .Fl i オプションは各々、スタンドアローンモードと inetd モードを強制するのに 使います (オプション参照) .Sh オプション 以下のオプションを使用可能です: .Bl -tag -width indent .It Fl t Ar timeout .Nm あるいは .Nm bootpgw プロセスが終了する前に BOOTP パケットを待つ .Ar timeout 値 (分単位) を指定します。 もし .Ar timeout 分内にパケットを受信しなければ、プログラムは終了します。 timeout の値が 0 の場合は「永遠に実行する」という意味です。 スタンドアローンモードでは、このオプションは 0 に強制されます。 .It Fl d Ar debug-level 生成されるデバッグメッセージの量を制御する変数 .Ar debug-level を設定します。 例えば、 .Fl d Ns 4 .Fl d 4 では、デバッグレベルが 4 に設定されます。 古いバージョンの .Nm との互換性のため、数字のパラメータを省略 (つまり、 .Fl d だけ) すると 単にデバッグレベルを一つだけ増加させます。 .It Fl c chdir-path クライアントのブートファイルの存在とサイズを検査する間に .Nm で使われるカレントディレクトリを設定します。 クライアントのブートファイルが相対パス名で指定されていて、 .Nm が TFTP サーバと同じカレントディレクトリ (典型的には .Pa /tftpboot ) を必要とするときに有用です。 このオプションは .Nm bootpgw によっては認識されません。 .It Fl i 強制的に inetd モードにします。 このオプションは時代遅れですが、古いバージョンの .Nm との互換性のために残してあります。 .It Fl s .B \-s 強制的にスタンドアローンモードにします。 このオプションは時代遅れですが、 古いバージョンの .Nm との互換性のために残してあります。 .It Ar bootptab .Nm がロードする 設定ファイルの名前を指定します ( .Nm のみ)。 これはあらかじめ知っているクライアントと そのクライアントのオプションに関するデータベースです。 .It Ar dumpfile .Nm が、SIGUSR1 シグナルを受信したときに 内部データベースをダンプするファイルの名前を指定します ( .Nm のみ)。 このオプションは .Nm が -DDEBUG フラグ付きでコンパイルされたときだけ認識されます。 .It Ar server .Nm bootpgw が受信した全ての BOOTREQUEST パケットを転送する、 BOOTP サーバの名前を指定します ( .Nm bootpgw のみ)。 .El .Sh 操作 .Em bootps ポートに送られたどんなパケットも取り込んで どんな BOOTREPLY パケットも単純に転送するという点で .Nm と .Nm bootpgw の双方が似た動きをします。 BOOTREQUEST の扱いは違います。 .Pp .Nm bootpgw は動作開始時に、コマンド行パラメタとして名前を与えられた BOOTP サーバのアドレスを決めます。 .Nm bootpgw が BOOTREQUEST パケットを受信したとき、 パケットの「ゲートウェイアドレス」と「ホップ数」フィールドを設定し、 パケットを前に決めたアドレスの BOOT サーバへ転送します。 要求パケットは、 クライアントが少なくとも 3 秒は待っているとパケットが示している時にだけ 転送されます。 .Pp .Nm は動作開始時に設定ファイル (通常 .Pa /etc/bootptab ) を読みこみます。 これで、あらかじめ知っているクライアントと クライアントのオプションに関する内部データベースを初期化します。 この内部データベースは、 .Nm が回線切断シグナル (SIGHUP) を受信したとき、 または設定ファイルが変更されたことを 発見したときに、再読み込みが行なわれます。 .Pp .Nm が BOOTREQUEST パケットを受信したとき、 クライアントの要求に一致するデータベースエントリを探します。 もしそのクライアントをあらかじめ知っていれば .Nm は前に見付けたデータベースエントリを使って BOOTREPLY パケットを構成し、 (ひょっとしたらゲートウェイを使って) クライアントに返答を送ります。 もしクライアントが未知ならば、(debug > 0 のときは注意を出して) 要求は捨てられます。 .Pp .Nm が -DDEBUG オプションでコンパイルされていれば、 SIGUSR1 シグナルを送ると内部データベースをファイル .Pa /tmp/bootpd.dump か、コマンド行パラメータで指定されたダンプファイルに にダンプします。 .Pp 初期化の時どちらのプログラムも、 (普通は .Pa /etc/services を使う) .Xr getservbyname 3 を呼ぶことで UDP ポート番号を決定します。 二つのサービス名 (とポート番号) が使われます: .Pp .Dl bootps \- BOOTP サーバ待機ポート .Dl bootpc \- BOOTP クライアント届け先ポート .Pp もしポート番号が .Xr getservbyname 3 を使って決定できないときには、 デフォルト値は bootps=67 と bootpc=68 です。 .Sh 関連ファイル .Bl -tag -width /tmp/bootpd.dump -compact .It Pa /etc/bootptab .Nm によって読み込まれるデータベースファイル。 .It Pa /tmp/bootpd.dump .Nm によって生成されるデバッグダンプファイル。 .It Pa /etc/services インターネットサービス番号。 .It Pa /tftpboot TFTP サーバと .Nm で使われる典型的カレントディレクトリ。 .El .Sh バグ 各々のホストエントリは 1024 文字を越えてはいけません。 .Sh 功労者 この配布版は現在、 .An Walter L. Wimer Aq walt+@cmu.edu によって 保守されています。 .Pp オリジナルの BOOTP サーバは スタンフォード大学の .An Bill Croft によって 1986 年 1 月に作成されました。 .Pp 現在のバージョンの .Nm は第一に、Carnegie Mellon University の .An David Kovar , .An Drew D. Perkins , .An Walter L. Wimer の仕事にるものです。 .Pp 機能拡張とバグフィクスは以下の方の貢献によります: (アルファベット順) .Pp .An -split .An Danny Backx Aq db@sunbim.be , .An John Brezak Aq brezak@ch.hp.com , .An Frank da Cruz Aq fdc@cc.columbia.edu , .An David R. Linn Aq drl@vuse.vanderbilt.edu , .An Jim McKim Aq mckim@lerc.nasa.gov , .An Gordon W. Ross Aq gwr@mc.com , .An Jason Zions Aq jazz@hal.com . .Sh 関連項目 .Xr bootptab 5 , .Xr inetd 8 , .Xr tftpd 8 .Pp DARPA Internet Request For Comments: .Bl -tag -width RFC1533 -compact .It RFC951 Bootstrap Protocol .It RFC1532 Clarifications and Extensions for the Bootstrap Protocol .It RFC1533 DHCP Options and BOOTP Vendor Extensions .El diff --git a/ja_JP.eucJP/man/man8/dhclient-script.8 b/ja_JP.eucJP/man/man8/dhclient-script.8 index a568f1bf60..c4960e7d7a 100644 --- a/ja_JP.eucJP/man/man8/dhclient-script.8 +++ b/ja_JP.eucJP/man/man8/dhclient-script.8 @@ -1,251 +1,251 @@ .\" dhclient-script.8 .\" .\" Copyright (c) 1997 The Internet Software Consortium. .\" 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 Internet Software Consortium 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 INTERNET SOFTWARE CONSORTIUM 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 INTERNET SOFTWARE CONSORTIUM 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. .\" .\" This software has been written for the Internet Software Consortium .\" by Ted Lemon in cooperation with Vixie .\" Enterprises. To learn more about the Internet Software Consortium, .\" see ``http://www.isc.org/isc''. To learn more about Vixie .\" Enterprises, see ``http://www.vix.com''. .\" .\" -.\" %FreeBSD: src/contrib/isc-dhcp/client/dhclient-script.8,v 1.5.2.1 2000/06/26 23:07:20 obrien Exp % +.\" %FreeBSD: src/contrib/isc-dhcp/client/dhclient-script.8,v 1.5.2.2 2001/03/05 10:09:32 obrien Exp % .\" .\" jpman %Id: dhclient-script.8,v 1.4 1999/05/13 14:01:25 horikawa Stab % .TH dhclient-script 8 .SH 名称 dhclient-script - DHCP クライアントのネットワーク設定スクリプト .SH 書式 DHCP クライアントのネットワーク設定スクリプトは、 時あるごとに \fBdhclient(8)\fR が呼び出します。 DHCP クライアントは、本スクリプトを使用することにより、 アドレス要求に先立つ各インタフェースの初期設定と、 付与されたアドレスの検査と、 リース獲得時のインタフェースの最終設定を行います。 リースが獲得されなかった場合、 定義済みのリースが存在するならばこれを検査するために本スクリプトは使用され、 有効なリースが判明しなかった場合にももう 1 回このスクリプトが呼ばれます。 .PP 本スクリプトは、エンドユーザにカスタマイズされることを意図していません。 ローカルなカスタマイズが必要な場合、 これは入 (enter) と出 (exit) というフックを使用することで可能となります (詳細はフック参照)。 これらのフックは、 .B /etc/resolv.conf 作成時に、 クライアントのデフォルト動作をユーザがオーバライドできるようにします。 .PP 特定のオペレーティングシステムでは、 クライアントの実体は動作するとしても、 標準のスクリプトが動作しないかもしれません。 先駆的なユーザが新規スクリプトを作成したり既存のものを修したりする必要がある ことはもっともなことです。 一般的には、それぞれのコンピュータに固有のカスタマイズは .B /etc/dhclient.conf スクリプトで行うべきです。 .B /etc/dhclient.conf のカスタマイズ無しにできないカスタマイズや、 入と出のフックの使用ではできないカスタマイズに気づいた場合には、 バグレポートを送ってください。 .SH フック 開始時に、クライアントスクリプトはまずシェル関数を定義します。その関数は .B make_resolv_conf であり、後に .B /etc/resolv.conf ファイルを作成するために使用されます。 デフォルト動作をオーバライドするには、 この関数を入のフックスクリプトで再定義してください。 .PP make_resolv_conf 関数の定義の後、クライアントスクリプトは 実行可能な .B /etc/dhclient-enter-hooks スクリプトの存在を検査し、 存在する場合には Bourne シェルの '.' コマンドを使用して 本スクリプトをインラインで起動します。 操作で記述されているすべての環境が本スクリプトで使用可能であり、 スクリプトの動作の変更が必要な場合には環境の修正が許されています。 スクリプト実行中にエラーが発生た場合、 exit_status 変数を非 0 値に設定することが可能であり、 クライアントスクリプト終了直後に .B /sbin/dhclient-script はそのエラーコードで終了します。 .PP すべての処理の完了後に、 .B /sbin/dhclient-script は実行可能な .B /etc/dhclient-exit-hooks スクリプトの存在を検査し、存在する場合には '.' コマンドでこれを起動します。 終了状態は exit_status シェル変数に渡され、 起動された仕事にスクリプトが成功した場合には値は常に 0 になります。 .SH 操作 dhclient がクライアント設定スクリプトを起動する必要があるとき、 様々な変数を定義するシェルスクリプトを /tmp に書き込みます。 すべての場合において、$reason にはスクリプトが起動される理由名が設定されます。 次の理由が現在定義されています: MEDIUM, PREINIT, ARPCHECK, ARPSEND, BOUND, RENEW, REBIND, REBOOT, EXPIRE, FAIL, TIMEOUT。 .PP .SH MEDIUM DHCP クライアントは、インタフェースのメディアタイプの設定を求めています。 インタフェース名は $interface で渡され、メディアタイプは $medium で渡されます。 .SH PREINIT DHCP クライアントは、 実際のアドレスを受け取る前にパケットを送信する目的で、 要求通りにインタフェースが設定されることを求めています。 BSD のソケットライブラリを使用するクライアントでは、 IP アドレス 0.0.0.0 かつブロードキャストアドレス 255.255.255.255 で、 インタフェースを設定することを意味します。 他のクライアントでは、 実際に IP アドレスを与えることなく単にインタフェースを設定することで 実現されるでしょう。 インタフェース名は $interface で渡され、メディアタイプは $medium で渡されます。 .PP IP エイリアスが dhclient.conf で宣言されている場合、 このアドレスが $alias_ip_address で渡されます。 本 IP アドレスへの経路とともに、 本 IP アドレスを対象インタフェースから削除する必要があります。 .SH ARPSEND DHCP クライアントは、 与えられたアドレスを他の誰かが使用しているか確認する目的で、 本アドレスの ARP 要求の送信を求めています。 実装方法は明確ではありませんので、例はまだありません。 確認対象の IP アドレスは $new_ip_address で渡され、 インタフェース名は $interface で渡されます。 .SH ARPCHECK DHCP クライアントは、 ARPSEND を使用した ARP 要求の送信に対する応答の有無を、知りたがっています。 応答があった場合、スクリプトは非 0 の状態で終了することにより、 提供されたアドレスは既に要求されているものであり、 拒否されるべきであることを示します。 $new_ip_address および $interface は、ARPSEND と同様に設定されます。 .SH BOUND DHCP クライアントは、新アドレスへの初期の結合を完了しました。 新しい IP アドレスは $new_ip_address で渡され、 インタフェース名は $interface で渡されます。 メディアタイプは $medium で渡されます。 サーバから獲得したオプションは、\fBdhcp-options\fR で宣言されている オプション名で渡されます。 例外として、 有効なシェル変数とするために ダッシュ ('-') はアンダスコア('_')で置き換えられ、 変数名は new_ で開始します。 例えば、新しいサブネットマスクは $new_subnet_mask で渡されます。 .PP 結合が完了すると、 ネットワークに関する多くのパラメータを設定する必要があるでしょう。 $new_domain_name および $new_domain_name_servers (これには複数のサーバを空白で区切って列挙してあるかもしれません) を使用して、 新しい /etc/resolv.conf を作成する必要があります。 デフォルト経路は、$new_routers を使用して設定する必要があります。 静的経路は、$new_static_routes を使用して設定する必要があるかもしれません。 .PP IP エイリアスが宣言されている場合、ここで設定する必要があります。 エイリアスの IP アドレスは $alias_ip_address として記述され、 エイリアス用に設定される他の DHCP オプション (例えばサブネットマスク) は 前述のように変数で渡されますが、 $new_ で開始するのではなく $alias_ で開始します。 エイリアスの IP アドレスが結合された IP アドレス ($new_ip_address) と 同じ場合、これを使用してはならないことに注意してください。 なぜなら、この場合には他のエイリアスのパラメータが正しくない可能性がある からです。 .SH RENEW 結合が更新されると、スクリプトは BOUND と同様に呼ばれますが、 $new_ で開始する全変数に加えて $old で開始する別の変数の組があるという 例外があります。 変更された可能性がある永続的な設定は、削除する必要があります。 例えば、結合されたアドレスに対するローカル経路が設定された場合、 古いローカル経路を削除する必要があります。 デフォルト経路が変更された場合、古いデフォルト経路を削除する必要があります。 静的経路が変更された場合、古いものを削除する必要があります。 その他については、BOUND と同様に処理可能です。 .SH REBIND DHCP クライアントが、新規 DHCP サーバに再結合されました。 これは RENEW と同様に扱えますが、IP アドレスが変わった場合には、 ARP 表をクリアする必要があります。 .SH REBOOT DHCP クライアントは、リブート後に元のアドレスを再獲得することに成功しました。 これは BOUND と同様に処理可能です。 .SH EXPIRE DHCP クライアントはリース更新と新規リース獲得に失敗し、 リースの期限が切れました。 対象 IP アドレスを解放する必要があり、 RENEW および REBIND と同様に、関連するパラメータを削除する必要があります。 .SH FAIL DHCP クライアントは DHCP サーバに接続できず、 また検査した IP アドレスには有効なものはありませんでした。 最後に検査したリースのパラメータは、設定解除する必要があります。 これは、EXPIRE と同様に扱えます。 .SH TIMEOUT DHCP クライアントはどの DHCP サーバにも接続できませんでした。 しかしながら、古いリースが識別され、 BOUND と同様に、この古いリースのパラメータが渡されました。 クライアントの設定スクリプトは、このパラメータを検査し、 これが有効であると信じる理由があるならば、値 0 で終了すべきです。 そうでないならば、非 0 の値で終了すべきです。 .PP リースを検査する通常の方法は、REBIND と同様にネットワークを設定して (複数のリースを検査するために呼ばれることがあるからです)、 $routers で定義される最初のルータに ping することです。 応答を受信した場合、 インタフェースが現在接続されているネットワークに対して、リースが有効です。 $new_static_routers に加えて $new_routers に列挙されている全ルータに ping を試すようになれば、 完全性が増すでしょう。しかし、現在のスクリプトはそうなっていません。 .SH 関連ファイル 類似したオペレーティングシステムに対するスクリプトファイルは 似ていたり全く同じかもしれませんが、一般には、 各オペレーティングシステム用に各々のスクリプトファイルがあるべきです。 Internet Software Consortium の DHCP 配布に含まれるスクリプトファイルは、 client/scripts 以下の配布ツリーにあり、 動作対象オペレーティングシステム名になっています。 .SH バグ 複数インタフェースを使用する場合、 サーバが提供する設定パラメータ同士が 衝突しないようにする明確な方法はありません。 例えば、 標準の dhclient-script は /etc/resolv.conf を再度書き換えてしまいます。 すなわち、複数のインタフェースが設定されている場合、 あるサーバから提供される値に /etc/resolv.conf が初期化された後に、 別のサーバから提供される値に初期化されるという動作を繰り返します。 どちらのサーバから提供される情報も有効である場合には、 実際上問題とはならないものの、混乱のもとになりえます。 .SH 関連項目 dhclient.conf(5), dhclient.leases(5), dhclient(8), dhcpd(8), dhcrelay(8) .SH 作者 .B dhclient-script(8) は Ted Lemon が Vixie Enterprises と協力して Internet Software Consortium のために 書きました。 Internet Software Consortium についてより詳しくは、 .B http://www.vix.com/isc をご覧ください。 Vixie Enterprises についてより詳しくは、 .B http://www.vix.com をご覧ください。 diff --git a/ja_JP.eucJP/man/man8/dhclient.8 b/ja_JP.eucJP/man/man8/dhclient.8 index ac8d77eef4..186273b8bb 100644 --- a/ja_JP.eucJP/man/man8/dhclient.8 +++ b/ja_JP.eucJP/man/man8/dhclient.8 @@ -1,239 +1,239 @@ .\" dhclient.8 .\" .\" Copyright (c) 1997 The Internet Software Consortium. .\" 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 Internet Software Consortium 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 INTERNET SOFTWARE CONSORTIUM 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 INTERNET SOFTWARE CONSORTIUM 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. .\" .\" This software has been written for the Internet Software Consortium .\" by Ted Lemon in cooperation with Vixie .\" Enterprises. To learn more about the Internet Software Consortium, .\" see ``http://www.isc.org/isc''. To learn more about Vixie .\" Enterprises, see ``http://www.vix.com''. .\" .\" Portions copyright (c) 2000 David E. O'Brien. .\" All rights reserved. -.\" %FreeBSD: src/contrib/isc-dhcp/client/dhclient.8,v 1.8.2.1 2000/07/20 10:26:13 obrien Exp % +.\" %FreeBSD: src/contrib/isc-dhcp/client/dhclient.8,v 1.8.2.2 2001/03/05 10:09:32 obrien Exp % .\" .\" jpman %Id: dhclient.8,v 1.4 1999/05/09 07:10:29 horikawa Stab % .\" WORD: Dynamic Host Configuration Protocol (DHCP) 動的ホスト設定プロトコル .\" WORD: lease リース [dhclient.8] .\" WORD: mobile host 移動ホスト .\" WORD: networking framework ネットワーキングフレームワーク .TH dhclient 8 .SH 名称 dhclient - 動的ホスト設定プロトコルのクライアント .SH 書式 .B dhclient [ .B -Ddq1 ] [ .B -cf .I config-file ] [ .B -lf .B lease-file ] [ .B -p .I port ] [ .B -pf .I pidfile ] [ .I if0 [ .I ...ifN ] ] .SH 解説 Internet Software Consortium の DHCP クライアントである dhclient は動的ホスト設定プロトコル (DHCP: Dynamic Host Configuration Protocol) または BOOTP プロトコルを用いて、あるいは これらのプロトコルが失敗した場合にはアドレスを静的に割り当てて、 1 つ以上のネットワークインタフェースを設定する方法を提供します。 .SH 操作 .PP DHCP プロトコルでは、1 つ以上のサブネットに割り当てることのできる IP アドレスのリストを管理する中央サーバに、ホストがアクセスできます。 DHCP クライアントはこのリストからアドレスを要求して、 それをネットワーク通信の一時的な土台に用いることができます。 また DHCP プロトコルは、デフォルトルータの場所やネームサーバの場所など、 クライアントが接続しているネットワークに関する重要な情報を クライアントに詳細に知らせる機構も提供します。 .PP 起動時に dhclient は .IR dhclient.conf から設定指示を読み取ります。 それから現在のシステムに組み込まれている すべてのネットワークインタフェースのリストを取得します。 各インタフェースに対し dhclient は DHCP プロトコルを用いて設定を試みます。 .PP システムリブートやサーバ再起動の際にリースを失わないように、 dhclient は割り当てられたリースのリストを dhclient.leases(5) ファイルに保存します。 起動時、dhclient.conf ファイルを読み取った後、 dhclient は dhclient.leases ファイルを読み込んで、 割り当てられたリースに関するメモリを更新します。 .PP 新しいリースを取得すると、dhclient.leases ファイルの末尾に付け加えられます。 ファイルが極端に大きくなるのを防ぐために、 dhclient は時おりコア内部のリースデータベースから 新規 dhclient.leases ファイルを作成します。 古いほうの dhclient.leases ファイルは、 dhclient が次にデータベースを作り替えるまで、 .IR dhcpd.leases~ という名前で保存されます。 .PP dhclient が最初に起動されたとき (一般的にはシステムブート初期過程の間) に DHCP サーバが利用できなければ、 古いリースは残されます。 その場合、dhclient.leases ファイルから まだ期限の切れていない古いリースを検査し、 有効であると判断されれば、それらの期限が切れるか または DHCP サーバが利用できるようになるまで、そのリースを使います。 .PP 時には DHCP サーバが存在しないネットワークにアクセスする必要があるような 移動ホストは、そのネットワーク上の固定アドレスのリースを あらかじめ読み込んでおくことができます。 DHCP サーバへのアクセスがどれも成功しなかった場合、 dhclient はその静的なリースが有効であるか検証し、 有効であれば次に再起動されるまでそのリースを使います。 .PP また移動ホストは、DHCP は利用できないが BOOTP なら利用できるような ネットワークへ移動することもあるでしょう。 そのような場合は、古いリースを順次試すよりも、 そのネットワークの管理者と相談して BOOTP データベースにエントリを作成してもらい、 そのネットワーク上で素早くブートできるようにするとよいでしょう。 .SH コマンドライン .PP dhclient が設定しようとするネットワークインタフェースの名前を コマンドラインで指定できます。 コマンドラインでインタフェース名が指定されなければ、 dhclient はすべてのネットワークインタフェースを識別し、 可能なら非ブロードキャストインタフェースは除いて、 それぞれのインタフェースを設定しようとします。 .PP .B -D フラグを指定すると、 .B dhclient が .B dhclient-script と組み合わせて使用するために作成したスクリプトを、 .IR /tmp に保存させます。 .PP 通常、dhclient はインタフェースを設定するまではフォアグラウンドで動作し、 その後バックグラウンドの動作に移行します。 dhclient を常にフォアグラウンドプロセスとして実行させるには、 .B -d フラグを指定してください。 これは dhclient をデバッガ内で実行するときや、 System V システムで inittab 外で実行するときに便利です。 .PP 標準 (ポート 68) 以外のポートで dhclient に送受信させるには、 .B -p フラグが使えます。 このフラグに続けて、dhclient が使う udp ポート番号を指定します。 これは主にデバッグ目的に有用です。 .B -p フラグを指定すると、指定した番号より 1 つ小さなポート番号を使用して、 クライアントはサーバへの応答を送信します - つまり、 .B -p 68 と指定した場合には、 クライアントはポート 68 で listen してポート 67 で送信します。 リレーエージェントを介す必要があるデータグラムは、 .B -p フラグで指定されるポート番号に送られます - 代替ポート番号を使用したい場合、 使用しているリレーエージェントを設定して、 同じ代替ポート番号を使用させる必要があります。 .PP .B -cf を使用すると、デフォルトの /sbin/dhclient-script からシェルスクリプトを変更可能です。 .PP .B -lf フラグを使用することにより、リース出力ファイルを、 デフォルトの /var/db/dhclient.leases から変えることができます。 .PP .B -pf フラグを使用することにより、PID ファイルを、 デフォルトの /var/run/dhclient.pid から変えることができます。 .PP .B -q フラグを使用することにより、 .B dhclient の画面出力量を減らすことができます。 .PP .B -1 フラグを指定すると、 dhclient はひとつのリースに対し 1 度だけしか取得を試みません。 もし取得に失敗すれば dhclient は終了コード 2 で終了します。 .PP .SH 設定 dhclient.conf(5) ファイルの書式は別に解説されています。 .SH 関連ファイル .B /etc/dhclient.conf, /var/db/dhclient.leases, /var/db/dhclient.leases~. .B /var/run/dhclient.pid, .SH 関連項目 dhclient.conf(5), dhclient.leases(5), dhclient-script(8) .SH 作者 .B dhclient(8) は Ted Lemon が Vixie Enterprises と協力して Internet Software Consortium のために 書きました。 Internet Software Consortium についてより詳しくは、 .B http://www.vix.com/isc をご覧ください。 Vixie Enterprises についてより詳しくは、 .B http://www.vix.com をご覧ください。 .PP 本クライアントは、Elliot Poger が Stanford 大学の MosquitoNet プロジェクトに参加している間に、 Linux での利用に際し大幅に修正、改良を行いました。 .PP 現在のバージョンは、Elliot による Linux での改良に負うところが大きいですが、 Internet Software Consortium の DHCP サーバが使うものと同じ ネットワーキングフレームワークを用いるように、Ted Lemon が 大幅な再編成や部分的な書き換えを行いました。 システム特有の設定コードの大部分はシェルスクリプトに移されたので、 より多くのオペレーティングシステムのサポートが加えられるにつれ、 システム特有の設定コードをそのオペレーティングシステムに 移植したり管理したりする必要はなくなるでしょう。 代わりに、シェルスクリプトが環境に合ったツールを呼び出して その目的を果たしてくれます。 .PP diff --git a/ja_JP.eucJP/man/man8/disklabel.8 b/ja_JP.eucJP/man/man8/disklabel.8 index ee44f70dca..155de699bb 100644 --- a/ja_JP.eucJP/man/man8/disklabel.8 +++ b/ja_JP.eucJP/man/man8/disklabel.8 @@ -1,782 +1,937 @@ .\" Copyright (c) 1987, 1988, 1991, 1993 .\" The Regents of the University of California. All rights reserved. .\" .\" This code is derived from software contributed to Berkeley by .\" Symmetric Computer Systems. .\" .\" 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 acknowledgment: .\" 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. .\" .\" @(#)disklabel.8 8.2 (Berkeley) 4/19/94 -.\" %FreeBSD: src/sbin/disklabel/disklabel.8,v 1.15.2.7 2000/12/28 16:45:04 hoek Exp % +.\" %FreeBSD: src/sbin/disklabel/disklabel.8,v 1.15.2.9 2001/03/05 19:33:39 ru Exp % .\" .\" jpman %Id: disklabel.8,v 1.2 1997/03/31 14:09:16 horikawa Stab % .\" .Dd July 30, 1999 .Dt DISKLABEL 8 .Os FreeBSD .Sh 名称 .Nm disklabel .Nd ディスクラベルの読み書きを行う .Sh 書式 .Nm .Op Fl r .Ar disk .Nm .Fl w .Op Fl r +.Op Fl n .Ar disk Ar disktype .Oo Ar packid Oc .Nm .Fl e .Op Fl r +.Op Fl n .Ar disk .Nm .Fl R .Op Fl r +.Op Fl n .Ar disk Ar protofile .Nm .Op Fl NW .Ar disk .Pp .Nm .Fl B .Oo .Fl b Ar boot1 .Fl s Ar boot2 .Oc .Ar disk .Oo Ar disktype/auto Oc .Nm .Fl w .Fl B +.Op Fl n .Oo .Fl b Ar boot1 .Fl s Ar boot2 .Oc .Ar disk Ar disktype/auto .Oo Ar packid Oc .Nm .Fl R .Fl B +.Op Fl n .Oo .Fl b Ar boot1 .Fl s Ar boot2 .Oc .Ar disk Ar protofile .Oo Ar disktype/auto Oc .Sh 解説 .Nm はディスクドライブやディスクパックにラベルを書き込んだり、 確認したり、修正したりするために使われます。 ラベルを書き込む際には、ドライブの識別子を変更したり、 ディスクのパーティションを変更したり、 異常のあるラベルを置き換えたりすることができます。 コマンドには、ディスク上のラベルを読んだり (表示したり)、書き込んだり、 編集したりするいくつかの書式があります。 また .Nm は同時にブートストラップコードを インストールすることもできます。 .Ss メモリ内のラベルとディスク上のラベル .Pp ディスクラベルは各ディスクパーティションの先頭、 もしくは先頭付近に存在します。 より速くアクセスするために、カーネルは 常にメモリ内にコピーを保持します。 デフォルトでは、 .Nm による操作のほとんどは メモリ内にあるラベルのコピーに対してアクセスします。 (ディスク上に存在する) ラベルにアクセスするためには .Fl r オプションを使用します。 このオプションにより、 カーネルのサポート無しでラベルがディスクにインストール することが可能になります。 例えばラベルがはじめてシステムにインストールされる時など、 ディスクにはじめてラベルを書き込む際に指定されなければなりません。 .Fl r オプションによる固有の効果は以下の 各コマンドの説明で示します。 .Pp .Ss ディスクデバイス名 .Pp 全ての .Nm の書式で、ディスクのデバイス名が必要です。 ディスクのデバイス名は、 ディスクまたはスライスを示すローデバイス名でなければなりません。 例えば .Pa da0 は DOS パーティションに無関係でディスク全体を表し、 .Pa da0s1 はスライスを表します。 デバイスによっては、特に .Ar ccd では、 .Dq ディスク全体を示す (または .Dq c ) パーティションを必要とします。 例えば .Pa ccd0c です。 デバイス指定時には、 .Pa /dev/ のパスプレフィックスを付ける必要はありません。 .Nm は自動的にこれを前に付けます。 .Ss ディスクラベルの読み込み .Pp ラベルをディスクドライブに保存したり確認するためには オプションを指定せずに .Nm を使用します。 .Pp .Nm .Op Fl r .Ar disk .Pp .Ar disk は対象とするローディスクを示します。 また .Pa da0 や .Pa /dev/da0c のような書式でも指定することができます。 これによってドライブに関するすべてのパラメータとパーティションのレイアウトを 表示します。 .Fl r フラグを指定しない場合には、カーネルのメモリ内にあるラベルのコピーが 表示されます。 もしディスクにラベルが書き込まれていなかったり、ディスクのパーティション形式が 正しくない場合には、カーネルが作り直したり、修正するかもしれません。 .Fl r フラグが与えられると、 ディスク上の実際のラベルが表示されます。 通常は、どちらでも同じ結果となりますが、 ラベルが未初期化の場合とまたは壊れている場合には、違う結果となります。 .Ss 標準的なラベルの書き込み .Pp 標準的なラベルを書き込むには、 以下の書式を使います。 .Pp .Nm .Fl w .Op Fl r +.Op Fl n .Ar disk Ar disktype/auto .Oo Ar packid Oc .Pp .Nm .Fl w .Op Fl r +.Op Fl n .Ar disk auto .Pp コマンドには引数として、ラベルを書き込むドライブ名および -.Pa disktab(5) +.Xr disktab 5 に書かれているドライブタイプが必要です。 ドライブのパラメータとパーティション情報は、このファイルから得られたもの が使われます。 もし、同じ型のディスクに異なるパーティション情報を持たせたい場合には、 disktab にそれぞれ別々のエントリを書いておくか、ラベルを書き込んだあとで 後述する方法でそれを編集する必要があります。 オプションの引数として、16 文字までのパック識別用文字列を指定します。 パック名に空白を含める場合にはそれをクォートする必要があります。 +.Pp +.Fl n +フラグが与えられると、データはデバイスに書き込まれません。 +代りに、書き込まれるはずだったディスクラベルが、標準出力に表示されます。 +.Pp .Fl r フラグが与えられると、ディスクのラベルとブートストラップが 直接書き換えられます。 この副作用として、すでにあるブートストラップ用コードが上書きされてしまうため、 ディスクがブート不能にされてしまいます。 ラベルとブートストラップを同時に書き込む方法は 後述のブートオプションを参照してください。 .Fl r が指定されない場合には、ラベルはメモリ内のコピーを通して書き換えられる ため、ブートストラップコードは影響されません。 もしまだディスクがラベル付けされていなければ、 .Fl r フラグをつけなければなりません。 どちらの方法でも、カーネルのメモリ内コピーは変更されます。 .Pp .Xr disktab 5 に記載されていない未使用のディスクに対しては、 .Ar disktype として .Dq auto を指定できます。 この場合、ディスクの最初のラベルを生成するようにドライバに要求します。 これは成功するかも知れないし成功しないかも知れません。 これはディスクドライバがディスクを全く読む事無く 必要なデータを取得できるか否かに依存します。 全ての SCSI ディスクとほとんどの IDE ディスクと vnode デバイスにおいて 成功するでしょう。 ディスクに対するラベルの書き込みは唯一サポートされた操作であり、 .Ar disk 自身は標準の名前 (フルパス名であってはなりません) で提供される必要があります。 .Pp +ほとんどのハードディスクでは、パーセントベースのラベル (および大きさに +.Ql * +を指定する単一のパーティション) で、もっともな設定を出力するでしょう。 +.Pp PC ベースのシステムでは、 BIOS に正しく .Fx ディスクラベルを認識させるために、特別な要件があります。 古いシステムでは、 .Dq 危険な方法で専用化された ディスクラベルが必要かもしれません。 これは、偽の DOS パーティションを作成することにより、 最近のディスクのジオメトリに対して古い BIOS が引き起す問題を 回避するというものです。 新しいシステムでは、通常の DOS スライスを .Ar fdisk で作成して、このスライス中に .Fx ディスクラベルを作成すれば良いでしょう。 本件についてはこのマニュアルで後述します。 .Pp 新規ディスクラベルをインストールするだけでは、 このラベルでシステムをブートさせることは出来ません。 ブートブロックもまたインストールする必要があります。 本件についてはこのマニュアルで後述します。 .Ss 既存のディスクラベルの編集 .Pp 既存のディスクラベルを編集するには、 以下の書式を使います。 .Pp .Nm .Fl e .Op Fl r +.Op Fl n .Ar disk .Pp このコマンドはラベルを カーネルのメモリ内コピーから、または .Fl r フラグが与えられた場合には直接ディスクから 読み込まれます。 -ラベルはアスキーでファイルにかかれ、 +ラベルは ASCII でファイルにかかれ、 編集するためのエディタへ渡されます。 .Ev EDITOR 環境変数によるエディタの指定がない場合には、このエディタには .Xr vi 1 が使用されます。 エディタを終了すると、ラベルファイルはディスクラベルを 再書き込みするために使われます。 .Fl r フラグの指定の有無にかかわらず、 すでにあるブートストラップコードは変更されません。 +.Fl n +フラグが与えられると、データはデバイスに書き込まれません。 +代りに、書き込まれるはずだったディスクラベルが、標準出力に表示されます。 +特定のディスクに対して、 +パーティション方式がどのように動作するかを見るのに有用です。 .Ss ファイルからのディスクラベルの復元 .Pp ファイルからディスクラベルを復元するには、 以下の書式を使います。 .Pp .Nm .Fl R .Op Fl r +.Op Fl n .Ar disk Ar protofile .Pp .Nm -は以前の操作によりアスキーファイルとして保存されているディスクラベル +は以前の操作により ASCII ファイルとして保存されているディスクラベル をディスクへ書き戻します。 ラベルを作成するときに使われるプロトタイプファイルは、ラベルを読み込んだり 編集したりするときのものと同じフォーマットである必要があります。 コメントは .Ar \&# と改行で区切られます。 新しいラベルを書き込む際に .Fl r が指定されているとブートストラップコードは使えなくなってしまいますが、 指定されていない場合には影響ありません。 ラベルの復元とブートストラップの書き込みを同時に行う方法は 後述のブートオプションを参照してください。 +.Fl n +フラグが与えられると、データはデバイスに書き込まれません。 +代りに、書き込まれるはずだったディスクラベルが、標準出力に表示されます。 +特定のディスクに対して、 +パーティション方式がどのように動作するかを見るのに有用です。 .Ss ディスクラベル領域への書き込みの有効化および無効化 .Pp デフォルトでは、 ディスクの先頭領域にあるディスクラベル領域への書き込みは不可能です。 ディスクドライバはいかなる操作も無視します。 もし (例えばラベルを消去するなど) この領域への書き込みを行う必要があるならば、 以下の書式を使います。 .Pp .Nm .Op Fl W .Ar disk .Pp ラベルの書き込みを可能にした後に不可能にするには 以下のコマンドを使います。 .Pp .Nm .Op Fl N .Ar disk .Ss ブートストラップのインストール .Pp .Nm の最後の 3 つの書式は、ブートストラップコードを インストールするために使われます: .Pp .Nm .Fl B .Oo .Fl b Ar boot1 .Fl s Ar boot2 .Oc .Ar disk .Oo Ar disktype Oc .Pp この書式ではブートストラップのみインストールします。 ディスクラベルは変更しません。 .Pp .Nm .Fl w .Fl B .Oo .Fl b Ar boot1 .Fl s Ar boot2 .Oc .Ar disk Ar disktype .Oo Ar packid Oc .Pp この書式は前述の .Dq ラベルの書き込み コマンドと一致します。 新しいボリュームラベルを書き込むとともに ブートストラップのインストールもおこないます。 ベースディスクに対して本コマンドを実行すると、 .Dq 危険な方法で専用化された ラベルを作成します。 本コマンドは、通常、ベースディスクではなくスライスに対して実行します。 +.Fl n +フラグが与えられると、データはデバイスに書き込まれません。 +代りに、書き込まれるはずだったディスクラベルが、標準出力に表示されます。 .Pp .Nm .Fl R .Fl B +.Op Fl n .Oo .Fl b Ar boot1 .Fl s Ar boot2 .Oc .Ar disk Ar protofile .Oo Ar disktype Oc .Pp この書式は前述の .Dq ラベルの復元 コマンドと一致します. ボリュームラベルを復元するとともに ブートストラップのインストールもおこないます。 .Pp ブートストラップコマンドは常にディスクに直接アクセスするため、 .Fl r フラグを指定する必要はありません。 +.Fl n +フラグが与えられると、データはデバイスに書き込まれません。 +代りに、書き込まれるはずだったディスクラベルが、標準出力に表示されます。 .Pp ブートストラップコードは 2 つのブートプログラムより構成されます。 インストールされるブートプログラムの名前は 以下の 3 つの方法の中の 1 つより指定します。 .Bl -enum .It .Fl b フラグと .Fl s フラグを用いて明示的に名前を指定します。 .Fl b フラグで指定するのが最初のブートプログラムで、 .Fl s フラグで指定するのが 2 段階目のブートプログラムになります。 ブートプログラムは、 .Pa /boot に置かれます。 .It .Fl b フラグと .Fl s フラグが指定されておらず .Ar disktype が指定された場合、 disktab のエントリが存在しこれらのパラメータが含まれるならば プログラムの名前は このディスクに対する .Xr disktab 5 エントリの .Dq b0 および .Dq b1 パラメータより得られます。 .It そうでない場合、デフォルトのブートイメージ名は 標準のステージ 1 およびステージ 2 のブートイメージとして .Pa /boot/boot1 と .Pa /boot/boot2 になります (詳細はアーキテクチャによって異なり、 Alpha においては単一ステージのブートが使用されます)。 .El .Ss スクラッチからの、ブート可能ディスクの初期化/フォーマット .Pp ディスクをスクラッチから初期化するには、次の手順をお勧めします。 この手順は、FreeBSD 以外のスライスを含む、 ディスク上のすべてを削除してしまうことに注意してください。 .Bl -enum .It .Ar fdisk を使用して、DOS パーティションテーブルを作成します。 これにより、 .Fx ディスクラベルを保持するディスク全体のスライスを作成し、 マスタブートレコードをインストールします。 .It .Ar disklabel を使用して、最初の .Fx ディスクラベルを初期化し、 .Fx ブートブロックをインストールします。 .It .Ar disklabel を使用して、新規に作成したラベルを編集し、適切なパーティションを追加します。 .It 最後に、ラベル中に作成したファイルシステムパーティションを newfs します。 典型的なディスクラベルのパーティショニング方式では、 .Dq a パーティションは約 128MB でルートファイルシステムを、 .Dq b パーティションはスワップを、 .Dq d パーティションは /var を (通常 128MB)、 .Dq e パーティションは /var/tmp を (通常 128MB)、 .Dq f パーティションは /usr を (通常 2G くらい)、 .Dq g パーティションは /home を (通常、残り)、 それぞれ割り当てます。 これは、システムによって異なります。 .El .Pp .Nm fdisk Fl BI Ar da0 .Pp .Nm .Fl w .Fl r .Fl B .Ar da0s1 auto .Pp .Pp .Nm .Fl e .Ar da0s1 .Pp .Sh 関連ファイル .Bl -tag -width Pa -compact .It Pa /etc/disktab .It Pa /boot/ .It Pa /boot/boot .Sh 保存されたファイルの書式 .Nm は ディスクラベルを確認、編集、または復元する際に ASCII 形式のラベルを使用します。 フォーマットは以下のとおりです。 .Bd -literal -offset 4n # /dev/da1c: type: SCSI disk: da0s1 label: flags: bytes/sector: 512 sectors/track: 51 tracks/cylinder: 19 sectors/cylinder: 969 cylinders: 1211 sectors/unit: 1173930 rpm: 3600 interleave: 1 trackskew: 0 cylinderskew: 0 headswitch: 0 # milliseconds track-to-track seek: 0 # milliseconds drivedata: 0 8 partitions: # size offset fstype [fsize bsize bps/cpg] a: 81920 0 4.2BSD 1024 8192 16 # (Cyl. 0 - 84*) b: 160000 81920 swap # (Cyl. 84* - 218*) c: 1173930 0 unused 0 0 # (Cyl. 0 - 1211*) h: 962010 211920 vinum # (Cyl. 218*- 1211*) .Ed .Pp # で始まる行はコメントです。 他の項目のほとんども既に使われていません。 正しく設定されてなければならない項目は以下のとおりです: .Pp .Bl -hang -width 20n .It Nm label オプションのラベルです。 ラベルを書き込む際に .Ar packid オプションにより設定されます。 .It Nm flags flags は .Ar removable 、 .Ar ecc もしくは .Ar badsect が指定可能です。 .Ar removable はリムーバブルメディアドライブに対して設定されますが、 現在の .Fx のドライバはこのフラグを 評価しません。 .Ar ecc はサポートされていません。 .Ar badsect はドライブが不良セクタの代替を行える場合に 指定します。 .It Nm sectors/unit ディスクの全体の大きさを示します。 この値は正しくなければなりません。 .It Nm the partition table -これはUNIX のパーティションテーブルであり、 +これは +.Ux +のパーティションテーブルであり、 .Xr fdisk 8 で述べられている Microsoft のパーティションテーブルではありません。 .El .Pp パーティションテーブルは 8 つまでエントリを持つことができ、 以下の情報を含みます: .Bl -hang -width 10n .It identifier パーティションの識別子は -.Nm a +.Dq a から -.Nm h +.Dq h の 1 文字です。 慣例的な理由により、 -.Nm c +.Dq c パーティションは ディスク全体を表すために予約されています。 .It size セクタ単位でのパーティションの大きさです。 +.Cm K +(キロバイト - 1024), +.Cm M +(メガバイト - 1024*1024), +.Cm G +(ギガバイト - 1024*1024*1024), +.Cm % +( +.Dq c +以外の固定長のパーティションを取り除いた後の空間に対するパーセントか、 +.Cm * +(固定長のパーティションとパーセント指定のパーティションを取り除いた後 +の空間すべて)。 +.Dq c +に対して +.Cm * +を指定すると、ディスク全体を意味します +小文字の +.Cm K , M , +.Cm G +も許されます。 +大きさと型の間には空白を入れてはなりません。 +.Pp +例: 2097152, 1g, 1024m, 1048576k はすべて同じ大きさです +(512 バイトセクタを仮定)。 .It offset -ドライブの先頭からのオフセットによるパーティションの開始位置です。 +ドライブの先頭からのオフセットによるパーティションの開始位置を、 +セクタ単位で指定します。 +.Cm * +は、使用すべき正しいオフセット +(直前のパーティションの終端にに 1 を加えたもの) を、 +.Nm +に計算させます。ただしパーティション +.Dq c +は無視します。 +パーティション +.Dq c +に対しては、 +.Cm * +はオフセット 0 と解釈されます。 .It fstype パーティションの使用目的を表します。 例ではもっとも一般的な使用例を示しています。 -UFS ファイルシステムは 4.2BSD が使われます。 +UFS ファイルシステムは +.Cm 4.2BSD +が使われます。 +他の一般的な型は +.Cm unused +と +.Cm swap +です。 完全なリストは .Pa /usr/include/sys/disklabel.h を参照してください。 .It fsize -ファイルシステムに対して有効です。 -フラグメントのサイズを意味します。 +.Cm 4.2BSD +と LFS のファイルシステムに対してのみ有効です。 +フラグメントの大きさを意味します。 +1 GB 未満のパーティションに対するデフォルトは 8192 で、 +1 GB 以上に対するデフォルトは 16384 です。 .It bsize -ファイルシステムに対して有効です。 -ブロックののサイズを意味します。 +.Cm 4.2BSD +と LFS のファイルシステムに対してのみ有効です。 +ブロックの大きさを意味します。 +1 GB 未満のパーティションに対するデフォルトは 1024 で、 +1 GB 以上に対するデフォルトは 4096 です。 .It bps/cpg -UFS ファイルシステムに対しては、 +.Cm 4.2BSD +ファイルシステムに対しては、 シリンダグループ中のリシンダ数を意味します。 LFS ファイルシステムに対しては、 セグメントシフト値を意味します。 +1 GB 未満のパーティションに対するデフォルトは 16 で、 +1 GB 以上に対するデフォルトは 64 です。 .El .Pp 行の残りの部分はコメントで、 ドライブの 一般的には使われていない (しかし多分正確な) ジオメトリ情報に 基づいたシリンダの割り当て情報を示しています。 アスタリスク (*) はパーティションがシリンダ境界で 厳密にはじまっていない、もしくは終っていないことを意味します。 .Sh 使用例 .Dl disklabel da0s1 .Pp .Pa da0s1 のラベルとしてカーネル内のコピーを .Pa /dev/da0s1 から得られたものとして表示します。 ラベルを読み込み時には、ラベルがスライス上に存在する場合でも、 FreeBSD はベースディスク名を指定することを許しています。 しかしながら、厳密には、 ベースディスク名を指定するのは .Dq 危険な方法で専用化された ラベルを使用する場合に限定してください。 通常は、スライスを指定してください。 .Pp .Dl disklabel da0s1 > savedlabel .Pp .Pa da0s1 に対する カーネル内のコピーをファイルに .Pa savedlabel に保存します。 このファイルは後で .Fl R フラグを用いてラベルを復元する際に使用できます。 .Pp .Dl disklabel -w -r /dev/da0s1 da2212 foo .Pp .Pa /etc/disktab に書かれている .Dq da2212 の情報を .Pa da0s1 のラベルとして書き込みます。 存在したブートストラップコードは使えなくなります。 .Pp .Dl disklabel -e -r da0s1 .Pp .Pa da0s1 のディスク上のラベルを読み込み、編集し、再び書き込みます。 ディスク上のラベルとともにカーネル内コピーも書き換えられます。 存在したブートストラップコードは影響を受けません。 .Pp +.Dl disklabel -e -r -n da0s1 +.Pp +.Pa da0s1 +のディスク上のラベルを読み、編集し、新規ラベルがどのようになるかを +(セクタ単位で) 表示します。 +新規ラベルは、メモリにもディスクにもインストールしません。 +.Pp .Dl disklabel -r -w da0s1 auto .Pp .Pa da0s1 から必要な情報を自動検出し、新しいラベルをディスクに書こうとします。 パーティションおよびファイルシステム情報を編集するために、 この後で disklabel -e コマンドを使って下さい。 .Pp .Dl disklabel -R da0s1 savedlabel .Pp .Pa savedlabel に書かれている情報を .Pa da0s1 のラベルとして書き込みます。 ディスク上のラベルとともにカーネル内コピーも書き換えられます。 存在したブートストラップコードは影響を受けません。 .Pp +.Dl disklabel -R -n da0s1 label_layout +.Pp +パーティションレイアウト +.Pa label_layout +を使用すると、 +.Pa da0s1 +のラベルがどのようになるかを表示します。 +.Cm % +と +.Cm * +に基くパーティションの大きさ指定を使用するラベル方式を使用した場合に、 +各パーティションにどれだけ割り当てられるかを判定するのに有用です。 +.Pp .Dl disklabel -B da0s1 .Pp .Pa da0s1 に新たにブートストラップコードを書き込みます. ブートストラップコードは .Pa /boot/boot1 、およびもし必要ならば .Pa /boot/boot2 です。 ディスク上のラベルおよびカーネル内コピーは影響を受けません。 .Pp .Dl disklabel -w -B /dev/da0s1 -b newboot1 -s newboot da2212 .Pp 新たなラベルとブートストラップコードを書き込みます。 ラベルは disktab の .Dq da2212 の情報を使用し、 ディスク上のラベルとともにカーネル内コピーも書き換えられます。 ブートストラップコードは .Pa /boot/newboot1 と .Pa /boot/newboot2 です。 .Pp .Dl dd if=/dev/zero of=/dev/da0 bs=512 count=32 .Dl fdisk -BI da0 .Dl dd if=/dev/zero of=/dev/da0s1 bs=512 count=32 .Dl disklabel -w -r -B da0s1 auto .Dl disklabel -e da0s1 .Pp ディスク上の既存の情報を完全に削除し、 単一の .Dq ディスク全体 スライスを含む DOS パーティションテーブル付きの、 ブート可能ディスクを新規に作成します。 次にスライスを初期化し、編集します。 .Pa dd はオプションですが、 BIOS によっては正しくディスクを認識するために必要です。 +.Pp +これは、 +.Cm % , M , G , +.Cm * +といった新規パーティションサイズ型を使用する、ディスクラベルの例です。 +次のコマンドラインのソースファイルとして使用可能です: +.Pp +.Dl disklabel -R ad0s1c new_label_file +.Bd -literal -offset 4n +# /dev/ad0s1c: +type: ESDI +disk: ad0s1 +label: +flags: +bytes/sector: 512 +sectors/track: 63 +tracks/cylinder: 16 +sectors/cylinder: 1008 +cylinders: 40633 +sectors/unit: 40959009 +rpm: 3600 +interleave: 1 +trackskew: 0 +cylinderskew: 0 +headswitch: 0 # milliseconds +track-to-track seek: 0 # milliseconds +drivedata: 0 + +8 partitions: +# size offset fstype [fsize bsize bps/cpg] + a: 400M 0 4.2BSD 4096 16384 75 # (Cyl. 0 - 812*) + b: 1G * swap + c: * * unused + e: 204800 * 4.2BSD + f: 5g * 4.2BSD + g: * * 4.2BSD +.Ed .Sh 関連項目 .Xr disklabel 5 , .Xr disktab 5 , .Xr boot0cfg 8 , .Xr fdisk 8 .Sh 診断 デバイスドライバは、 オープンされているパーティションに関して、 サイズが小さくなることおよびオフセットが変化することを許しません。 デバイスドライバの中には、 ラベルを持たないディスクに対して 1 パーティションのみからなる ラベルを作成するものがあります。 そのため、 オープンされているディスクのラベルは .Dq a パーティションに書く必要があります。 このような理由で、 次の 2 ステップにより、 所望のラベルを作成する必要がある場合があります。 第 1 ステップは少なくとももう 1 つのパーティションを作成することであり、 第 2 ステップは .Dq a パーティションを小さくしながら 新たなパーティションのラベルを設定することです。 .Pp ファイルシステムによっては、 用意された領域にブートストラップコードが収まり切らないような マシンがあるかも知れません その結果として、 .Dq ブート可能な ディスクのパーティションに ファイルシステムを作成できない場合があります。 ブートストラップコードを書き込む時に、 .Nm はこのようなケースをチェックします。 FS_UNUSED タイプのパーティションに重なるように ブートストラップコードが書き込まれる場合には、 そのパーティションは FS_BOOT とマークされます。 .Xr newfs 8 ユーティリティは、 FS_BOOT パーティションにファイルシステムを作成することを禁止します。 また逆に、 パーティションのタイプが FS_UNUSED もしくは FS_BOOT では無い場合、 .Nm はそのパーティションに重なるようなブートストラップコードを書き込みません。 .Sh バグ ディスク名がフルパスで指定されない場合には、 デバイス名は .Dq c パーティションになります。 .Pp i386 アーキテクチャでは、プライマリブートストラップセクタに、 組み込みの .Em fdisk テーブルを持ちます。 .Nm は、 ブートストラップのみをインストールする時 .Pq Fl B もしくはラベルを編集する時 .Pq Fl e にこれを壊さないように気を付けます。 しかし、 .Fl w や .Fl R を指定した時には、 無条件でプライマリブートストラッププログラムをディスクに書き込みますので、 .Em fdisk テーブルをブートストラッププログラム内のダミーに置き換えます。 これはディスク全体を専用に使う場合、 すなわち BSD ディスクラベルがディスクの絶対ブロック 0 から始まる場合 のみ関係あります。 .Pp .Nm -は十分なエラーチェックは行いません。 -パーティションが重なったり使われない領域が残ってしまっても -警告は出力されません。 +はすべての実施可能なエラーチェックは行いません。 +次の場合、警告が表示されます: +パーティションが重なる場合、 +絶対的なオフセットが期待したオフセットと異る場合、 +.Dq c +パーティションが 0 から開始しないかディスク全体を覆わない場合、 +if a +パーティションがデバイスの終端を越える場合、 +その他のエラー。 +ただし、未使用空間があっても警告は表示されません。 diff --git a/ja_JP.eucJP/man/man8/dump.8 b/ja_JP.eucJP/man/man8/dump.8 index b964ab3df2..7feb5b7ddd 100644 --- a/ja_JP.eucJP/man/man8/dump.8 +++ b/ja_JP.eucJP/man/man8/dump.8 @@ -1,375 +1,391 @@ .\" Copyright (c) 1980, 1991, 1993 .\" 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 acknowledgment: .\" 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. .\" .\" @(#)dump.8 8.3 (Berkeley) 5/1/95 -.\" %FreeBSD: src/sbin/dump/dump.8,v 1.27.2.3 2000/12/18 15:38:19 ru Exp % +.\" %FreeBSD: src/sbin/dump/dump.8,v 1.27.2.4 2001/03/04 11:00:52 obrien Exp % .\" .\" jpman %Id: dump.8,v 1.2 1997/06/12 05:57:09 yugawa Stab % .Dd May 1, 1995 .Dt DUMP 8 .Os BSD 4 .Sh 名称 .Nm dump , .Nm rdump .Nd ファイルシステムのバックアップ .Sh 書式 .Nm .Op Fl 0123456789acknu .Op Fl B Ar records .Op Fl b Ar blocksize .Op Fl d Ar density .Op Fl f Ar file .Op Fl h Ar level .Op Fl s Ar feet .Op Fl T Ar date .Ar filesystem .Nm .Op Fl W Li \&| Fl w .Pp .in \" XXX ( .Bx 4.3 形式のオプションは後方互換性のために実装されていますが、 ここでは説明していません。) .Sh 解説 .Nm は、ファイルシステムを調べて バックアップする必要のあるファイルを決定します。 これらのファイルは、指定されたディスク、テープや、 その他の記憶メディアへ保存のためコピーされます (リモートバックアップについては、 .Fl f オプションを参照)。 ダンプの大きさが記録メディアの容量より大きい場合は、 複数ボリュームに分割します。 たいていのメディアの容量は、メディアの終りを通知されるまで 書き込んでみることで決定します。 この方法は、 .Fl a オプションにより強制的に使用することもできます。 .Pp メディアの終りを正しく通知できないメディア (一部の カートリッジ・テープドライブ等) の容量は、 テープ長と記録密度やブロック数のオプションから求め、 各ボリュームはすべて同じ容量を持つものとします。 デフォルトでは、 オペレータにメディア交換を要求した後の各ボリュームにも 同じ出力ファイル名を使用します。 .Pp .Nm は、次のオプションをサポートしています。 .Bl -tag -width Ds .It Fl 0\-9 ダンプレベル。 レベル 0 はフルバックアップを意味し、ファイルシステム全体をコピー することを保証します (ただし以下の .Fl h オプションにも注意して下さい)。 0 より大きなレベル番号はインクリメンタルバックアップを意味し、 前回のダンプ (今回指定したものより低いレベルのダンプ) 以降に作られたか修正されたすべてのファイルをコピーします。 デフォルトのレベルは 0 です。 .It Fl B Ar records ボリュームあたりの 1 KB ブロック数です。 このオプションは、テープ長と記録密度を基にしたテープ容量より 優先されます。 .It Fl a .Dq オートサイズ 全てのテープ長の考慮をせず、メディアの終了を通知されるまで、強制的に 書き込みを続けます。現在のほとんどのテープドライブでは、この方法により もっとも良い結果が得られます。特に、使いかけのテープに追加したり、 ハードウェア圧縮機能のあるテープドライブ(圧縮率がどの程度になるか不確かな もの)を使用したりする場合にこのオプションを使用することをお薦めします。 .It Fl b Ar blocksize ダンプレコードあたりのブロックサイズを K バイト単位で指定します。 .It Fl c カートリッジテープドライブ用に、記録密度とテープ長のデフォルトをそれぞれ 8000 bpi、1700 feet に変更します。 .It Fl h Ar level ダンプレベルが .Ar level 以上の時に、ユーザが指定した .Dq nodump フラグ .Pq Dv UF_NODUMP に従います (h: honor the flag)。 デフォルトの honor レベルは 1 ですから、 そのようなファイルは、インクリメンタルダンプからは省かれますが、 フルバックアップには含まれます。 .It Fl d Ar density テープの記録密度を .Ar density に設定します。デフォルトは 1600BPI です。 .It Fl f Ar file バックアップの出力先ファイルを指定します。 出力先ファイルとしては、 .Pa /dev/rsa0 (テープドライブ)や .Pa /dev/fd1 (フロッピーディスクドライブ)のようなデバイスファイル、 通常ファイル、 .Ql Fl (標準出力)を指定することができます。 複数のファイル名を、コンマで区切って一つの引数として指定する ことができます。 各ファイルは、リストされた順に一つのダンプボリュームに使用されます。 指定した名前の数より多くのボリュームが必要な場合、 メディアの交換を要求した後、最後のファイル名を残りのすべての ボリュームに使用します。 ファイル名が、 .Dq host:file または、 .Dq user@host:file の形式である場合、 .Nm は、 .Xr rmt 8 を使用してリモートホスト上の指定されたファイルに書き込みます。 リモートの .Xr rmt 8 のデフォルトのパス名は .Pa /etc/rmt ですが、環境変数 .Ev RMT の値が優先されます。 .It Fl k リモートのテープサーバとの通信でケルベロス認証を使います。 (このオプションが有効な状態で .Nm がコンパイルされた場合にのみ利用できます。) .It Fl n .Nm がオペレータに注意を促す時に、 .Xr wall 1 に似た方法で .Dq operator グループに属するすべてのユーザにメッセージを送ります。 .It Fl s Ar feet テープの容量を計算する時に記録密度とともに使います。 この容量を超えた場合に、 .Nm は新しいテープを要求します。 このオプションはやや控え目に指定することをお勧めします。 デフォルトのテープの長さは、2300 フィートです。 .It Fl T Ar date .Pa /etc/dumpdates から得られた日時の代わりに、指定された date をダンプの起点として 使います。date の形式は .Xr ctime 3 のそれと同じです。このオプションは期間を指定してバックアップを 取るダンプスクリプトで有用です。 .Fl T オプションは .Fl u オプションと同時には指定できません。 .It Fl u ダンプが成功した後で、 .Pa /etc/dumpdates ファイルを更新します。 .Pa /etc/dumpdates は人が読めるファイルであり、各行に以下のレコードが フリーフォーマットで記録されています : ファイルシステム名、インクリメントレベル、 .Xr ctime 3 形式のダンプ日付。 各レベルとファイルシステムごとにエントリが一つだけ存在します。 必要なら、 .Pa /etc/dumpdates の各フィールドを編集しても構いません。 .It Fl W .Nm は、ダンプの必要があるファイルシステムをオペレータに表示します。 この情報は .Pa /etc/dumpdates と .Pa /etc/fstab ファイルから集められます。 .Nm は、 .Pa /etc/dumpdates の中の各ファイルシステム毎に最新のダンプ日付とレベルを示し、 ダンプするべきファイルシステムを明らかにします。 .Fl W オプションが指定された場合、その他のすべてのオプションは無視され、 .Nm は直ちに終了します。 .It Fl w W と同様ですが、ダンプの必要のあるファイルシステムのみを表示します。 .El .Pp .Nm +は、通常ファイルおよびディレクトリのユーザ +.Dq nodump +フラグ +.Pq Dv UF_NODUMP +を尊重します。 +ディレクトリに +.Dq nodump +の印が付いていると、このディレクトリと、 +その配下の全ファイルとディレクトリが、バックアップされなくなります。 +ディレクトリの +.Dq nodump +フラグを、 +.Nm +はこのように伝播させます。 +.Pp +.Nm は、以下に示す場合にオペレータの介入を要求します : テープの終了、 ダンプの終了、 テープ書き込みエラー、 テープオープンエラー、 ディスク読み込みエラー (32 回を越えた場合)。 処理を続けられない時や何か大変まずい事態になった場合には、 .Nm は、 .Fl n オプションがあればすべてのオペレータへ警告したうえで、 .Em dump の制御端末上でオペレータとやりとりします。 .Nm コマンドからのすべての質問には、 .Dq yes または .Dq no で適切に答えなければなりません。 .Pp フルダンプの実施には多くの時間と労力がかかるので、 .Nm は各テープボリュームの先頭にチェックポイントを設定します。 何らかの理由により、あるボリュームの書き込みを失敗した場合には、 テープの巻き戻し、排出、新しいテープのマウントの後で、 .Nm はオペレータの許可の下でチェックポイントから実行を再開します。 .Pp .Nm は処理の進行を定期的にオペレータに報告します。 報告には、少なめに推定される書き込みブロック数、 必要なテープ数、完了までの時間、テープ交換までの時間、 を含みます。 .Nm に使っている端末が使用中であることが他人にも分かるように、 このメッセージは冗長になっています。 .Pp ディスクに壊滅的なトラブルが起きた時に、 バックアップテープやファイルからディスクを復元するために 必要な時間は、 インクリメンタルダンプを適当なシーケンスで実行する事によって 最小にする事ができます。 最小のテープ数でこれを行なう効果的な方法を示します。 .\" staggering .Bl -bullet -offset indent .It 常にレベル 0 のバックアップから開始します。例えば以下の通りです。 .Bd -literal -offset indent /sbin/dump -0u -f /dev/nrsa0 /usr/src .Ed .Pp これを一ヵ月か二ヵ月毎に新しいテープに対して実施し、 ずっと保存します。 .It 0 レベルのダンプの後は、アクティブなファイルシステムのダンプを、 修正ハノイの塔アルゴリズムによる 次の様なダンプレベルシーケンスによって、毎日行います。 .Bd -literal -offset indent 3 2 5 4 7 6 9 8 9 9 ... .Ed .Pp 毎日のダンプには、一週間毎に繰り返し使われる事になる 一定の数のテープを使う事ができます。 週毎にレベル 1 ダンプを行ない、毎日のハノイ・シーケンスは レベル 3 から開始します。 週毎のダンプには、ダンプするファイルシステム毎に、これも繰り返し 使われる事になる一定数のテープを使います。 .El .Pp 何ヵ月かの後、毎日と毎週のテープはダンプサイクルから順に外し、 新品のテープを導入すべきです。 .Sh 環境変数 環境変数 .Ev RMT は、リモートの .Xr rmt 8 プログラムのパス名を決定するのに用いられます。 .Sh 関連ファイル .Bl -tag -width /etc/dumpdates -compact .It Pa /dev/rsa0 デフォルトのダンプテープユニット .It Pa /etc/dumpdates ダンプの日付を記録するファイル .It Pa /etc/fstab ダンプテーブル : ファイルシステムと頻度を決めるファイル .It Pa /etc/group .Em operator グループを検索する .El .Sh 関連項目 .Xr fstab 5 , .Xr restore 8 , .Xr rmt 8 .Sh 診断 詳しいメッセージがたくさん出ます。 .Pp 正常時は終了コード 0 で終了します。 開始時のエラーは終了コード 1 で、 異常終了は終了コード 3 で表されます。 .Sh バグ 32 個未満のファイルシステムからの読み取りエラーは無視されます。 .Pp 各リール (ボリューム) ごとに新たなプロセスが作られ、 リールを書き終った親プロセスは テープ全体の書き込みが終るまで待っています。 .Pp 現状では、 .Xr physio 9 スライスのリクエストは 64 KB の塊になります。したがって、それより大きな テープのブロックサイズを使用することはできず、 .Nm はこれが発生するのを防ぎます。 .Pp .Nm の .Fl W や .Fl w オプションは、 .Pa /etc/fstab にリストされていても、 .Pa /etc/dumpdates に記録のないファイルシステムについては報告しません。 .Pp .Nm コマンドが、 ダンプシーケンスについて知っていて、 使い散らかしたテープの使用履歴を管理でき、 どのテープをマウントすれば良いかオペレータに教えてくれ、 .Xr restore を実行するオペレータをもっと助けてくれたら、 もっと使いやすいでしょうね。 .Pp セキュリティ的な歴史により、 .Nm は、root 以外のユーザでリモートバックアップを行うことはできません。 これは、 .Fx の今後のバージョンでは修正されるでしょう。 現状では、(従来通り) setuid されていれば正常に動作しますが、 セキュリティ的なリスクを伴います。 .Sh 歴史 .Nm コマンドは、 .At v6 から登場しました。 diff --git a/ja_JP.eucJP/man/man8/fdisk.8 b/ja_JP.eucJP/man/man8/fdisk.8 index 795d1e1c89..4c24712ca5 100644 --- a/ja_JP.eucJP/man/man8/fdisk.8 +++ b/ja_JP.eucJP/man/man8/fdisk.8 @@ -1,462 +1,461 @@ -.\" %FreeBSD: src/sbin/i386/fdisk/fdisk.8,v 1.17.2.4 2000/12/18 15:38:23 ru Exp % +.\" %FreeBSD: src/sbin/i386/fdisk/fdisk.8,v 1.17.2.5 2001/03/05 19:33:41 ru Exp % .\" .\" jpman %Id: fdisk.8,v 1.4 1997/07/26 21:56:04 horikawa Stab % .Dd October 4, 1996 .Dt FDISK 8 .Os FreeBSD .Sh 名称 .Nm fdisk .Nd PC パーティションのメンテナンスプログラム .Sh 書式 .Nm .Op Fl BIaistu .Op Fl b Ar bootcode .Op Fl 1234 .Op Ar disk .Bl -tag -width time .Nm .Fl f Ar configfile .Op Fl itv .Op Ar disk .Sh 前置き BIOS がカーネルをブートするために、 一定の約束をちゃんと守らねばなりません。 ディスクのセクタ 0 はブートコード、パーティションテーブル、 マジックナンバを含んでいなければならないのです。 BIOS パーティションはディスクをいくつかの部分に分けるのにも使われます。 BIOS はセクタ 0 を読み込み、マジックナンバを確認します そして、セクタ 0 のブートコードはパーティションテーブルを探し、 どのパーティションが .Em アクティブ と印されているか判定します。 そして、このブートコードはブートストラップを .Em アクティブ パーティションから読み込み、ブート可能の印が付いていればこれを実行します。 DOS では、1 個以上のパーティションと 1 個の .Em アクティブ を持てます。 DOS の .Nm プログラムは、 ディスク空間を 1 個以上のパーティションに分割して、1 個の .Em アクティブ を設定することができます。 .Sh 解説 .Fx のプログラム .Nm は、DOS のそれと似た目的に役立ちます。 第 1 の形は、パーティション情報の表示や、 パーティションテーブルの対話的な編集に使われます。 第 2 の形は、 .Ar configfile を使ってパーティションテーブルを書き込むという使い方であり、 他のスクリプト/プログラムから利用するよう設計されています。 .Pp オプション: .It Fl a アクティブパーティションの変更のみを行ないます。 .Fl f があるときには無視されます。 .It Fl b Ar bootcode ブートコードをファイル .Ar bootcode から取得します。 .It Fl B ディスクのセクタ 0 に含まれるブートコードを再初期化します。 もし .Fl f がなければ、無視されます。 .It Fl f Ar configfile パーティションの値をファイル .Ar configfile を使って設定します。 .Fl i もあるときには、 .Ar configfile が読み込まれるに先立って、 存在するパーティションは全部消され(つまり「未使用」の印をつけられる) ますが、この場合を除いて、 .Ar configfile はいつも存在するパーティションの変更を行ないます。 .Ar configfile は "-" であってもよく、この場合 .Ar 標準入力 が読まれます。 ファイルの構文は、以降の .Sx 設定ファイル の節をご覧下さい。 .Pp -.Em 警告 Ns : +.Em 警告 : .Fl f が使われたときには、 (対話モードで尋ねられるように) 本当にパーティションテーブルを書き込むのかどうかを尋ねられません。 用心して使うこと! .It Fl i ディスクのセクタ 0 を初期化します。 もし .Fl f がなければ、 .Fl u の意味も含みます。 .It Fl I 単一の FreeBSD スライスがディスク全体となるように、 セクタ 0 の内容を初期化します。 .It Fl s サマリ情報を表示し、終了します。 .It Fl t テストモード; パーティションテーブル値を書き込みません。一般に .Fl f オプションを付けて、パーティションテーブルに書き込まれるはずのものを 見るのに使われます。 .Fl v の意味を含みます。 .It Fl u ディスクのセクタ 0 を更新 (編集) するのに使われます。 .Fl f があるときには無視されます。 .It Fl v 冗長になります。 .Fl f が使われたときには、 .Nm はディスクに書き込まれるパーティションテーブルを表示します。 .It Fl 1234 1 個の fdisk エントリの操作だけを行ないます。 .Fl f があるときには無視されます。 .El .Pp 最後のディスク名 .Ar disk は、 .Sq 裸の ディスク名だけ、 つまり .Ql da0 か、あるいは .Pa /dev の下に完全に限定されたデバイスノードで与えることができます。 もし省略された場合、ディスク .Ql wd0 , .Ql da0 , .Ql od0 が、どれか 1 個が応答して見付かるまで この順序で検索されます。 .Pp 引数なしで呼び出されたときには、 セクタ 0 パーティションテーブルを表示します。 例えば: .Bd -literal ******* Working on device /dev/rwd0 ******* parameters extracted from in-core disklabel are: cylinders=769 heads=15 sectors/track=33 (495 blks/cyl) parameters to be used for BIOS calculations are: cylinders=769 heads=15 sectors/track=33 (495 blks/cyl) Warning: BIOS sector numbering starts with sector 1 Information from DOS bootblock is: The data for partition 1 is: sysid 165,(FreeBSD/NetBSD/386BSD) start 495, size 380160 (185 Meg), flag 0 beg: cyl 1/ sector 1/ head 0; end: cyl 768/ sector 33/ head 14 The data for partition 2 is: sysid 164,(unknown) start 378180, size 2475 (1 Meg), flag 0 beg: cyl 764/ sector 1/ head 0; end: cyl 768/ sector 33/ head 14 The data for partition 3 is: The data for partition 4 is: sysid 99,(ISC UNIX, other System V/386, GNU HURD or Mach) start 380656, size 224234 (109 Meg), flag 80 beg: cyl 769/ sector 2/ head 0; end: cyl 197/ sector 33/ head 14 .Ed .Pp このディスクは、たまたまディスク全体を満す 3 つのパーティションに分割されています。 2 つ目のパーティションは最初のパーティションの最後に重なっています。 (デバッグ目的に使われます) .Bl -tag -width "cyl, sector と head" .It Em "sysid" パーティションのラベル付に使われます。 .Fx ではマジックナンバ 165 (10進) A5 (16進)を予約しています。 -.It Em "start と size" +.It Em start No と Em size パーティションのセクタ単位での 開始アドレスとサイズです。 .It Em "flag 80" これがアクティブパーティションであることを指定します。 -.It Em "cyl, sector と head" +.It Em cyl , sector No と Em head パーティションの 開始アドレスと終了アドレスを指定するのに使われます。 -.It Em "注:" +.It Em 注 : これらの数字は、 BIOS の理解するディスクジオメトリを使って計算され、 ブートブロックに保存されます。 .El .Pp フラグ .Fl i または .Fl u は、 もし .Fl f オプションが使われていない限り、 パーティションデータを更新すべきであることを指示します。 もし .Fl f がなければ、 .Nm プログラムは対話モードに入ります。 このモードでは明示的に指示しない限り、どんなデータも変更しないように 設計されています。 .Nm はこのような振舞いを保証するよう、質問のデフォルトを選択しています。 .Pp .Nm は各々のパーティションを表示し、 それを編集したいかどうかを尋ねます。 yes と答えたら、 古い値を表示し、新しい値を尋ねて 各々のフィールドを進みます。 1 個のパーティションが終了したら、 .Nm はそれを表示して、それで正しいかどうかを尋ねます。 そして .Nm は次のエントリに進みます。 .Pp -.Em cyl, sector, -と +.Em cyl , sector , .Em head のフィールドを正しく得るにはちょっとした芸当が要ります。 そのためデフォルトでは、 .Nm が代わって計算しますが、選択してそれらの値を指定することもできます。 .Pp 全てのパーティションが進行した後、 .Em アクティブ パーティション変更をすることができます。 最後に、 最初のセクタのデータが全部集めれらたときに、 本当にセクタ 0 を書換えても良いか尋ねられます。 yes と答えた場合だけ、データはディスクに書き込まれます。 .Pp .Fl u フラグと .Fl i の間の違いは、 .Fl u フラグはディスク上にあるフィールドの値を編集するだけですが、 一方 .Fl i フラグはセクタ 0 を "初期化" するのに使われます; ディスク全体を .Fx 用に使えるように、 最後の BIOS パーティションをセットアップして、それをアクティブにします。 .Sh 注 開始シリンダ等の自動計算は、 BIOS がそのドライブのジオメトリであると思っている数字をもとに行なわれます。 これらの数字はデフォルトでは、メモリ上のディスクラベルから取りますが、 プログラムの起動時にそれらを変更する機会が与えられます。 このおかげでユーザは、 BIOS がジオメトリ変換を行なうドライブでも動作できるブートブロックを 作ることができます。 .Pp もしディスクのレイアウトを手作業で変更するのなら、 どうか .Fx パーティションがシリンダ境界から開始することを確認してください。 その後のたくさんの決定がこのことを仮定しています。 (これは必要ではなかったのかもしれませんが) .Pp すでにあるパーティションを編集すると、 たぶんそのパーティションのデータを失うことになるでしょう。 .Pp このプログラムがどう働くかを調べるために、 1 度か 2 度は対話的に実行するべきです。 これは、最後の質問に否定で答える限り完全に安全です。 このマニュアルでは完全に説明されていませんが、 プログラムが検出する微妙な点があります。 .Sh 設定ファイル .Fl f オプションが与えられたとき、 .Ar configfile の値を使ってディスクのパーティションテーブルを書換えることができます。 このファイルの構文はたいへん単純です。 各行はコメントか仕様のどちらかで、空白 (改行を除く) は無視されます。 .Bl -tag -width Ds .It Xo .Ic # -.No Ar comment ... +.Ar comment ... .Xc \&"#" で開始している行はコメントで無視されます。 .It Xo .Ic g -.No Ar spec1 -.No Ar spec2 -.No Ar spec3 +.Ar spec1 +.Ar spec2 +.Ar spec3 .Xc パーティション計算で使う BIOS ジオメトリを設定します。 前に文字を伴った数字で、3 つの値を指定することが必要です。 .Bl -tag -width Ds .Sm off -.It Cm c No Ar num +.It Cm c Ar num .Sm on シリンダの数を .Ar num に設定します。 .Sm off -.It Cm h No Ar num +.It Cm h Ar num .Sm on ヘッドの数を .Ar num に指定します。 .Sm off -.It Cm s No Ar num +.It Cm s Ar num .Sm on トラックあたりのセクタの数を .Ar num に設定します。 .El .Pp これらの指定はどんな順序でもよく、先頭の文字がどの値かを決定します; しかし、3 つ全てを指定することが必要です。 .Pp この行はパーティション情報を指定するどんな行よりも前に現れなくてはなりません。 .Pp 次の条件が真でなければ、エラーです: .Pp .Bd -literal -offset indent 1 <= シリンダの数 1 <= ヘッドの数 <= 256 1 <= トラックあたりのセクタの数 < 64 .Ed .Pp シリンダの数は 1024 以下でなければなりませんが、 しかしこれは強制されるものではなく、警告が出力されるでしょう。 ブート可能な .Fx パーティション ("/" ファイルシステム) は 最初の 1024 シリンダ以内に収まっていなといけません; もしそうでなければ、ブートに失敗するかもしれません。 ブートしないパーティションには、この制限はありません。 .Pp 1019 シリンダ、39 ヘッド、63 セクタのディスクの例 (これらの全てはみな等価): .Pp .Bd -literal -offset indent g c1019 h39 s63 g h39 c1019 s63 g s63 h39 c1019 .Ed .It Xo .Ic p -.No Ar partition -.No Ar type -.No Ar start -.No Ar length +.Ar partition +.Ar type +.Ar start +.Ar length .Xc .Ar partition (1-4) で与えられたパーティションに、タイプ .Ar type 、開始セクタ .Ar start 、長さ (セクタ数) .Ar length を設定します。 .Pp これらの行で明示的に言及されたパーティションだけが変更されます; \&"p" 行で参照されていないパーティションは変更されません。 しかし、無効なパーティションテーブルがあるか、 .Fl i オプションが指定されているなら、 存在するパーティションエントリは全て取り除かれ (未使用の印がつけられ)、 パーティション情報を明示的に設定するのに、 \&"p" 行が使われなければなりません。 もし複数のパーティションを設定する必要があるなら、 複数の "p" 行が指定されなければなりません; 1 行で 1 個のパーティションを設定します。 .Pp これらのパーティション行は、もしあればジオメトリ指定行の後に現れなければ なりません。 .Pp .Fx パーティションの .Ar type は 165 です。0 のパーティションタイプを指定すると、 パーティションを取り除き未使用の印をつけたのと同じことになります; しかし、("0" とかの) ダミーの値が .Ar start と .Ar length に指定されなければなりません。 .Pp 注: パーティションの開始オフセットはヘッド境界まで必要なら繰り上げられ、 終了オフセットはシリンダ境界まで必要なら繰り下げられます。 .Pp 例: パーティション 4 を取り除いて、未使用の印をつける: .Pp .Bd -literal -offset indent p 4 0 0 0 .Ed .Pp 例: パーティション 1 を .Fx パーティションであって、 セクタ 1 から始まって 2503871 セクタの長さに設定する (注: これらの値は、 対応するヘッドとシリンダ境界に繰り上げ/繰り下げられます): .Pp .Bd -literal -offset indent p 1 165 1 2503871 .Ed .Pp .It Xo .Ic a -.No Ar partition +.Ar partition .Xc .Ar partition パーティションをアクティブにします。 設定ファイルのどこに現われても構いませんが、 1 個だけ存在することが必要です。 .Pp 例: パーティション 1 をアクティブパーティションにします: .Pp .Bd -literal -offset indent a 1 .Ed .El .Sh 関連ファイル .Bl -tag -width /boot/mbr -compact .It Pa /boot/mbr デフォルトのブートコード .El .Sh 関連項目 .Xr disklabel 8 .Sh バグ デフォルトのブートコードは、 必ずしもすべてのパーティションタイプを正しく扱いません。 特に MS-DOS 6.x 以降に導入されたものについてはそうです。 .Pp プログラム全体をよりユーザフレンドリにするべきです。 .Pp このマニュアルを通して使われている術語 .Sq パーティション は、他で使われる術語に一致させるため、 本当は .Sq スライス であるべきです。 .Pp ディスク全体を .Fx に捧げるためには、このコマンドは使えません。 これには .Xr disklabel 8 コマンドを使わなればなりません。 diff --git a/ja_JP.eucJP/man/man8/fsdb.8 b/ja_JP.eucJP/man/man8/fsdb.8 index 82b546791d..59cbb5f9b1 100644 --- a/ja_JP.eucJP/man/man8/fsdb.8 +++ b/ja_JP.eucJP/man/man8/fsdb.8 @@ -1,259 +1,259 @@ .\" %NetBSD: fsdb.8,v 1.2 1995/10/08 23:18:08 thorpej Exp % .\" .\" Copyright (c) 1995 John T. Kohl .\" 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. 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. .\" -.\" %FreeBSD: src/sbin/fsdb/fsdb.8,v 1.12.2.2 2001/01/16 10:36:36 ru Exp % +.\" %FreeBSD: src/sbin/fsdb/fsdb.8,v 1.12.2.3 2001/03/05 19:33:41 ru Exp % .\" .\" jpman %Id: fsdb.8,v 1.3 1997/06/23 15:01:41 horikawa Stab % .Dd September 14, 1995 .Dt FSDB 8 .Os FreeBSD .Sh 名称 .Nm fsdb .Nd FFS デバッグ/編集ツール .Sh 書式 .Nm .Op Fl d .Op Fl f .Op Fl r .Ar fsname .Sh 解説 .Nm は .Ar fsname (通常は raw ディスクパーティション) を open し、そのファイルシステムの inode データを操作するためのコマンドを受け付けます。コマンドは .Ic "fsdb (inum X)>" のプロンプトに対して入力します。ここでの .Va X は現在選択されている i-number となります。最初に選択されている inode はファイルシステムのルート (i-number 2) となります。 コマンドプロセッサには .Xr editline 3 ライブラリを使用しており、コマンド行を編集することによってタイピングの 量を減らすことができます。 コマンドループから抜けて終了する時には、ファイルシステムのスーパブロック が dirty とマークされ、バッファリングされているブロックがあれば ファイルシステムに書き込まれます。 .Pp 以下のオプションを使用可能です: .Bl -tag -width indent .It Fl d デバッグ情報 (元は .Xr fsck 8 のコードに由来するもの) を出力します。 .It Fl f 歴史的な理由により残されているもので、特に意味は持ちません。 .It Fl r ファイルシステムを読み取り専用でオープンし、 書き込みを行うコマンドを抑止します。 .El .Sh コマンド 組み込みの .Xr editline 3 のコマンドの他に .Nm は以下のコマンドをサポートしています: .Pp .Bl -tag -width indent -compact .It Cm help 入力できるコマンドのリストを表示します。 .Pp .It Cm inode Ar i-number 新しい現在の inode として inode .Ar i-number を選択します。 .Pp .It Cm back 以前の inode に戻ります。 .Pp .It Cm clri Ar i-number .Ar i-number をクリアします。 .Pp .It Cm lookup Ar name .It Cm cd Ar name .Ar name を現在のディレクトリの中で探し、その inode を現在の inode に設定します。 .Ar name はマルチコンポーネントの名前か、スラッシュで始めて検索をルートの inode から始めることを指定できます。パス名の中のコンポーネントが見 つからない場合、最後に有効であったディレクトリがアクティブな inode と して使われます。 .Pp このコマンドは開始する inode がディレクトリの場合のみ有効です。 .Pp .It Cm active .It Cm print アクティブな inode を表示します。 .Pp .It Cm uplink アクティブな inode のリンク数をインクリメントします。 .Pp .It Cm downlink アクティブな inode のリンク数をデクリメントします。 .Pp .It Cm linkcount Ar number アクティブな inode のリンク数を .Ar number に設定します。 .Pp .It Cm ls 現在の inode のディレクトリエントリをリストします。このコマンドは現在 の inode がディレクトリである場合のみ有効です。 .Pp .It Cm rm Ar name .It Cm del Ar name 現在のディレクトリ inode からエントリ .Ar name を取り除きます。このコマンドは現在の inode がディレクトリで ある場合のみ有効です。 .Pp .It Cm ln Ar ino Ar name 現在のディレクトリ inode に inode .Ar ino へのリンクを .Ar name の名前で作成します。このコマンドは現在の inode がディレクトリである場 合のみ有効です。 .Pp .It Cm chinum Ar dirslot Ar inum ディレクトリエントリ .Ar dirslot 中の i-number を .Ar inum に変更します。 .Pp .It Cm chname Ar dirslot Ar name ディレクトリエントリ .Ar dirslot 中の名前を .Ar name に変更します。 このコマンドではディレクトリエントリを拡張することはできません。名前が 現在存在するディレクトリスロットに収まる場合にのみ、エントリの名前の変 更が可能です。 .Pp .It Cm chtype Ar type 現在の inode のタイプを .Ar type に変更します。 .Ar type には .Em file , .Em dir , .Em socket , .Em fifo のいずれかが指定できます。 .Pp .It Cm chmod Ar mode 現在の inode のモードビットを .Ar mode に変更します。 このサブコマンドではファイルのタイプを変更することはできません。その場 合は .Ic chtype を使ってください。 .Pp .It Cm chflags Ar flags 現在の inode のファイルフラグを .Ar flags に変更します。 .Pp .It Cm chown Ar uid 現在の inode の所有者を .Ar uid に変更します。 .Pp .It Cm chgrp Ar gid 現在の inode のグループを .Ar gid に変更します。 .Pp .It Cm chgen Ar gen 現在の inode の世代番号 (generation number) を .Ar gen に変更します。 .Pp .It Cm mtime Ar time .It Cm ctime Ar time .It Cm atime Ar time それぞれ、現在の inode の修正時間、変更時間、アクセス時間を .Ar time に変更します。 .Ar time は .Em YYYYMMDDHHMMSS[.nsec] の形式でなければなりません。ここで、 .Em nsec はオプションで指定できるナノ秒の値となります。もし、ナノ秒が指定されて いないと、 .Va mtimensec , .Va ctimensec , .Va atimensec のそれぞれのフィールドにはゼロがセットされます。 .Pp -.It Cm quit, Cm q, Cm exit, Em +.It Cm quit, q , exit , Em プログラムを終了します。 .El .Sh 関連項目 .Xr editline 3 , .Xr fs 5 , .Xr clri 8 , .Xr fsck 8 .Sh バグ ``short'' のシンボリックリンクの操作は動作しません。(特に、 シンボリックリンクのタイプは変更しないでください。) .Pp モードはシンボル名ではなく数字で指定してください。 .Pp 多分 .Nm に実装されていないことで、もっとやりたいことが沢山あるでしょう。 .Sh 歴史 .Nm は .Xr fsck 8 のソースコードを使ってファイルシステムの操作のコードのほとんどを実装し ています。 .Nm の残りの部分は、最初 .Nx において .An John T. Kohl によって書かれました。 .Pp .Fx への移植は .An Peter Wemm によって行われました。 .Sh 警告 このツールは最大限に注意を払って使って下さい。 .Xr fsck 8 を使っても修復できないほど FFS ファイルシステムを壊す恐れがあります。 diff --git a/ja_JP.eucJP/man/man8/ftpd.8 b/ja_JP.eucJP/man/man8/ftpd.8 index 05a5506540..438e2eb570 100644 --- a/ja_JP.eucJP/man/man8/ftpd.8 +++ b/ja_JP.eucJP/man/man8/ftpd.8 @@ -1,467 +1,478 @@ .\" Copyright (c) 1985, 1988, 1991, 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. .\" .\" @(#)ftpd.8 8.2 (Berkeley) 4/19/94 -.\" %FreeBSD: src/libexec/ftpd/ftpd.8,v 1.31.2.3 2000/12/24 21:11:31 demon Exp % +.\" %FreeBSD: src/libexec/ftpd/ftpd.8,v 1.31.2.4 2001/03/05 11:14:50 kris Exp % .\" .\" jpman %Id: ftpd.8,v 1.3 1997/09/08 07:23:46 kuma Stab % .Dd January 27, 2000 .Dt FTPD 8 .Os BSD 4.2 .Sh 名称 .Nm ftpd .Nd インターネットファイル転送プロトコルサーバ .Sh 書式 .Nm .Op Fl 4 .Op Fl 6 .Op Fl dl .Op Fl A .Op Fl D .Op Fl R .Op Fl S .Op Fl U +.Op Fl r +.Op Fl E .Op Fl T Ar maxtimeout .Op Fl t Ar timeout .Op Fl a Ar address .Op Fl p Ar file .Sh 解説 .Nm は、インターネットファイル転送プロトコルサーバプロセスです。 このサーバは .Tn TCP プロトコルを用いて、 .Dq ftp サービスに割り当てられたポートを listen() します。 .Dq ftp サービスについては、 .Xr services 5 を参照して下さい。 .Pp 利用可能なオプションは以下の通りです: .Bl -tag -width indent .It Fl d syslog の LOG_FTP のファシリティ (facility) を用いてデバッグ情報を出力します。 .It Fl l .Xr ftp 1 セッションそれぞれの結果を、成功も失敗もともども syslog の LOG_FTP のファシリティを用いて ログに残します。このオプションが 2 回指定されると、 retrieve (get), store (put), append, delete, make directory, remove directory, rename の各操作およびそれらの引数で指定された ファイル名も記録されます。 注意: LOG_FTP メッセージはデフォルトでは .Xr syslogd 8 によって表示されません。場合によっては .Xr syslogd 8 Ns の設定ファイルでそれを有効にしなければなりません。 .It Fl D このオプションがセットされると、 .Nm は制御端末を切り離してデーモンとなり、 FTP ポートへの接続要求を待ち、 子プロセスを生成して接続要求に対応します。 この方式は .Nm を .Xr inetd 8 から起動するよりオーバヘッドが少ないため、 処理量の多いサーバで負荷を低減するのに役立ちます。 .It Fl R このオプションがセットされると、 .Nm は、ユーザ操作のセキュリティチェックや PORT 要求の制限に関して 古き良き時代の振る舞いに戻ります。 現在では、 .Nm はリモートユーザのホストの非特権ポートに向けられた PORT コマンド だけを用います (これは FTP プロトコルの仕様に違反していますが、 いくつかのセキュリティホールを閉じることができます)。 .It Fl S このオプションがセットされると、 .Nm は匿名 (anonymous) によるファイルダウンロードの全てについてのログを、ファイル .Pa /var/log/ftpd が存在する場合に限り、このファイルに残します。 .It Fl U 以前のバージョンの .Nm では、パッシブモードのクライアントがサーバにデータ接続を要求すると、 サーバは 1024 〜 4999 の範囲のデータポートを使用していました。 現在のバージョンでは、サーバはデフォルトでは 49152 〜 65535 の範囲の データポートを使用しますが、 このオプションを指定することにより、以前の振る舞いに戻ります。 .It Fl T クライアントは異なったタイムアウト秒数を要求することもできます。 .Fl T オプションにより、 .Ar タイムアウト までの最大待ち時間を設定できます。 デフォルトは 2 時間です。 .It Fl t 何も操作しないで放置した場合のタイムアウト時間を .Ar timeout 秒に設定します (デフォルトは 15 分)。 .It Fl a .Fl D オプションが指定されている場合、 .Ar address で指定されたアドレスに対する接続のみを許可します。 .It Fl p .Fl D オプションが指定されている場合、 デーモンのプロセス ID を .Ar file に書き出します。 .It Fl 6 .Fl D が指定されている場合、AF_INET6 ソケット経由の接続を受け付けます。 .It Fl 4 .Fl D が指定されている場合、IPv4 接続を受け付けます。 .Fl 6 もまた指定されている場合、IPv4 接続を AF_INET6 ソケット経由で受け付けます。 .Fl 6 が指定されていない場合、IPv4 接続を AF_INET ソケット経由で受け付けます。 .It Fl A 匿名 ftp アクセスのみ許可します。 +.It Fl r +サーバを、読み取り専用モードにします。 +ローカルファイルを修正し得る全コマンドは、無効化されます。 +.It Fl E +EPSV コマンドを無効化します。 +古いファイアウォールの後ろにサーバがある場合に有用です。 .El .Pp ファイル .Pa /var/run/nologin は、ftp アクセスを拒否するのに使うことができます。 このファイルが存在する場合、 .Nm はそのファイルの内容を表示して終了します。 .Pa /etc/ftpwelcome ファイルが存在する場合、 .Nm は .Dq ready メッセージを表示する前にその内容を表示します。 もし .Pa /etc/ftpmotd ファイルが存在する場合、 ログイン成功後に .Nm はその内容を出力します。 使用される motd ファイルはログイン環境に対して相対であることに 注意してください。 つまり、匿名ユーザの場合には、 .Pa ~ftp/etc に存在することを意味じます。 .Pp この ftp サーバは、現在、以下の ftp リクエストをサポートしています。 リクエストの文字の大文字小文字の区別は無視されます。 +印 [RW] が付いているリクエストは、 +.Fl r +が指定されると無効化されます。 .Bl -column "Request" -offset indent .It Sy リクエスト Ta Sy "説明" .It ABOR Ta "abort previous command" .It ACCT Ta "specify account (ignored)" .It ALLO Ta "allocate storage (vacuously)" -.It APPE Ta "append to a file" +.It APPE Ta "append to a file [RW]" .It CDUP Ta "change to parent of current working directory" .It CWD Ta "change working directory" -.It DELE Ta "delete a file" +.It DELE Ta "delete a file [RW]" +.It EPRT Ta "specify data connection port, multiprotocol" +.It EPSV Ta "prepare for server-to-server transfer, multiprotocol" .It HELP Ta "give help information" .It LIST Ta "give list files in a directory" Pq Dq Li "ls -lgA" -.It MKD Ta "make a directory" +.It LPRT Ta "specify data connection port, multiprotocol" +.It LPSV Ta "prepare for server-to-server transfer, multiprotocol" .It MDTM Ta "show last modification time of file" +.It MKD Ta "make a directory" .It MODE Ta "specify data transfer" Em mode .It NLST Ta "give name list of files in directory" .It NOOP Ta "do nothing" .It PASS Ta "specify password" .It PASV Ta "prepare for server-to-server transfer" .It PORT Ta "specify data connection port" .It PWD Ta "print the current working directory" .It QUIT Ta "terminate session" .It REST Ta "restart incomplete transfer" .It RETR Ta "retrieve a file" -.It RMD Ta "remove a directory" -.It RNFR Ta "specify rename-from file name" -.It RNTO Ta "specify rename-to file name" +.It RMD Ta "remove a directory [RW]" +.It RNFR Ta "specify rename-from file name [RW]" +.It RNTO Ta "specify rename-to file name [RW]" .It SITE Ta "non-standard commands (see next section)" .It SIZE Ta "return size of file" .It STAT Ta "return status of server" -.It STOR Ta "store a file" -.It STOU Ta "store a file with a unique name" +.It STOR Ta "store a file [RW]" +.It STOU Ta "store a file with a unique name [RW]" .It STRU Ta "specify data transfer" Em structure .It SYST Ta "show operating system type of server system" .It TYPE Ta "specify data transfer" Em type .It USER Ta "specify user name" .It XCUP Ta "change to parent of current working directory (deprecated)" .It XCWD Ta "change working directory (deprecated)" -.It XMKD Ta "make a directory (deprecated)" +.It XMKD Ta "make a directory (deprecated) [RW]" .It XPWD Ta "print the current working directory (deprecated)" -.It XRMD Ta "remove a directory (deprecated)" -.It LPSV Ta "prepare for server-to-server transfer, multiprotocol" -.It LPRT Ta "specify data connection port, multiprotocol" -.It EPSV Ta "prepare for server-to-server transfer, multiprotocol" -.It EPRT Ta "specify data connection port, multiprotocol" +.It XRMD Ta "remove a directory (deprecated) [RW]" .El .Pp 以下に示した非標準コマンドあるいは .Tn UNIX に特有のコマンドが、SITE リクエストでサポートされています。 .Pp .Bl -column Request -offset indent .It Sy リクエスト Ta Sy 説明 .It UMASK Ta change umask, e.g. ``SITE UMASK 002'' .It IDLE Ta set idle-timer, e.g. ``SITE IDLE 60'' -.It CHMOD Ta "change mode of a file, e.g. ``SITE CHMOD 755 filename''" +.It CHMOD Ta "change mode of a file [RW], e.g. ``SITE CHMOD 755 filename''" .It HELP Ta give help information. .El .Pp Internet RFC 959 で規定されている ftp リクエストのうちの、これ以外のものは 解釈はされますがインプリメントされていません。 MDTM および SIZE は RFC 959 では規定されていませんが、次に改訂される FTP RFC には登場するでしょう。 .Pp ftp サーバがアクティブなファイル転送を中断するのは、ABOR コマンドの前に、 Telnet "Interrupt Process" (IP) シグナルか Telnet "Synch" シグナルが Telnet ストリーム内にある場合だけです。 これは Internet RFC 959 に記述されています。 もし、データの転送中に STAT コマンドを受けとり、その前に Telnet IP や Synch があった場合、転送ステータスが返されます。 .Pp .Nm は、 .Xr csh 1 で使われているファイル名展開を解釈します。これにより、 ユーザはメタキャラクタ .Dq Li \&*?[]{}~ を利用できます。 .Pp .Nm は、6 つのルールに従ってユーザの認証を行います。 .Pp .Bl -enum -offset indent .It ログイン名はパスワードデータベース になければならず、空のパスワードであってはいけません。 この場合、あらゆるファイルの操作に先だって、クライアント側からパスワードが 提供されていなければなりません。ユーザが S/Key のキーを持っている場合は、 USER コマンドが成功した際の応答には S/Key チャレンジを含めて送られます。 クライアントは、それに対して PASS コマンドを使って応答する際に、 通常のパスワードか S/Key のワンタイムパスワードのどちらをつけて応答 するかを選択できます。サーバはどちらのパスワードを受け取ったかを自動的に 判定し、それに応じて認証を試みます。S/Key の認証に関する詳細は .Xr key 1 を参照して下さい。S/Key は Bellcore 社の商標です。 .It ログイン名はファイル .Pa /etc/ftpusers に載っていてはいけません。 .It ログイン名はファイル .Pa /etc/ftpusers で指定されているグループのメンバであってはいけません。 このファイルでグループ名として解釈されるエントリの先頭には アットマーク .Ql \&@ が付きます。 .It ユーザは .Xr getusershell 3 が返す標準のシェルを持っていなければなりません。 .It ユーザ名がファイル .Pa /etc/ftpchroot に載っているか、そのファイルにあるグループエントリ (つまり .Ql \&@ で始まるエントリ) のメンバである場合、アカウント .Dq anonymous や .Dq ftp と同様、 .Xr chroot 2 によって、 そのセッションのルートディレクトリが ユーザのログインディレクトリに変ります (次の項目を参照して下さい)。 この機能は、 .Xr login.conf 5 でブール型フラグ "ftp-chroot" をオンにしても有効になります。 しかし、ユーザは依然、パスワードを与える必要があります。 この特徴は、完全に匿名 (anonymous) なアカウントと 完全な特権のあるアカウントの間での妥協的な利用のためのものです。 このアカウントは匿名アカウントで設定するのと同様に設定されていなければ なりません。 .It もしユーザ名が .Dq anonymous または .Dq ftp の場合は、匿名の ftp アカウントがパスワードファイル (ユーザ .Dq ftp ) で提供されていなければなりません。 この場合、ユーザはどのようなパスワードでもログインを許可されます (慣習としては ユーザの email アドレスをパスワードとして用いることになっています)。 .Fl S オプションがセットされていると、全ての転送操作も記録されます。 .El .Pp 最後のケースの場合、 .Nm は特別な手段でクライアントのアクセス権を制限します。 サーバは .Dq ftp ユーザのホームディレクトリへ .Xr chroot 2 します。 システムのセキュリティが侵害されないために、 .Dq ftp サブツリーは、以下の規則に従って慎重に構築することを推奨します。 .Bl -tag -width "~ftp/pub" -offset indent .It Pa ~ftp ホームディレクトリは .Dq root の所有とし、誰も書き込みできないようにします。 .It Pa ~ftp/etc このディレクトリは .Dq root の所有とし、誰も書き込みできないようにします (モード 555)。 .Xr ls が所有者を数字でなく名前で表示できるようにするために、 ファイル pwd.db ( .Xr passwd 5 参照) 及び .Xr group 5 が必要です。 ファイル .Xr passwd 中のパスワードは使用されませんので、本当のパスワードを入れてはいけません。 ファイル .Pa ftpmotd が存在すると、ログイン成功後、その内容が表示されます。 このファイルのモードは 444 とすべきです。 .It Pa ~ftp/pub このディレクトリのモードは 777、所有者は .Dq ftp とします。 ゲストユーザは、このディレクトリ中にあって匿名アカウントで アクセス可能なファイルをアクセスします。 .El .Pp システムに複数の IP アドレスがある場合、 .Nm は仮想ホストの概念をサポートします。 仮想ホストは、複数の匿名 ftp 領域それぞれを別々のインターネットアドレス に割り当てる機能を提供します。 ファイル .Pa /etc/ftphosts は各仮想ホストに関連した情報を保持します。 各ホストはそれぞれの行で定義され、 各行は空白で区切ったいくつかのフィールドからなります: .Bl -tag -offset indent -width hostname .It hostname 仮想ホストのホスト名あるいは IP アドレス。 .It user システムのパスワードファイル中のユーザレコードを含みます。 普通の匿名 ftp と同様に、このユーザのアクセス UID, GID および グループによって匿名 ftp 領域のファイルアクセス権が決まります。 匿名 ftp 領域 (ログイン時にユーザが chroot するディレクトリ) は、 そのアカウントに対するホームディレクトリとして決定されます。 他の ftp アカウントのユーザ ID およびグループも、 標準 ftp ユーザと同じであって構いません。 .It statfile 全てのファイル転送のログが記録されるファイル。デフォルトでは .Pa /var/log/ftpd です。 .It welcome サーバがプロンプトを出す前に表示される welcome メッセージ。デフォルトでは .Pa /etc/ftpwelcome です。 .It motd このファイル内容はユーザがログインした後に表示されます。デフォルトでは .Pa /etc/ftpmotd です。 .El .Pp 文字 '#' で開始する行は無視されますので、コメントを含むことが可能です。 .Pp プライマリ IP アドレスあるいはホスト名に対する仮想ホストを定義すると、 そのアドレスへの ftp ログインのデフォルト値が変更されます。 \&'user', 'statfile', 'welcome', 'motd' の各フィールドは デフォルト値を用いる場合、ブランクのままもしくはハイフン一つ \&'-' と しても構いません。 .Pp いかなる匿名ログインの設定についても言えることですが、 設定と保守には十分に注意を払い、セキュリティ上の問題をきたさないよう 防御しなければなりません。 .Pp .Nm は、リモートからのファイル一覧表示要求に対応するための内部サポートを持ち、 chroot された環境でもそれ以外でも .Pa /bin/ls を実行しなくなります。 .Pa ~/bin/ls の実行形式ファイルは chroot されたディレクトリになくてよく、 .Pa ~/bin ディレクトリも存在する必要はありません。 .Sh 関連ファイル .Bl -tag -width /etc/ftpwelcome -compact .It Pa /etc/ftpusers 歓迎されない/制限を受けるユーザのリスト。 .It Pa /etc/ftpchroot chroot される一般ユーザのリスト。 .It Pa /etc/ftphosts 仮想ホストのための設定ファイル .It Pa /etc/ftpwelcome welcome メッセージ。 .It Pa /etc/ftpmotd login 後の welcome メッセージ。 .It Pa /var/run/nologin 内容を表示し、アクセスを拒否します。 .It Pa /var/log/ftpd 匿名による転送のログファイル。 .El .Sh 関連項目 .Xr ftp 1 , .Xr key 1 , .Xr getusershell 3 , .Xr login.conf 5 , .Xr inetd 8 , .Xr syslogd 8 .Sh バグ 特権ポート番号を用いてソケットを作成するために、 ftpd はスーパユーザの権限で実行させて下さい。 サーバはログインユーザの実効ユーザ ID を保持しておき、 アドレスをソケットにバインドする場合にのみスーパユーザの権限を使います。 考えられるセキュリティホールについてはかなり詳細にわたって調べ込みをおこないましたが、 それでも不完全かもしれません。 .Sh 歴史 .Nm コマンドは .Bx 4.2 から登場しました。 IPv6 サポートは WIDE Hydrangea IPv6 スタックキットで追加されました。 diff --git a/ja_JP.eucJP/man/man8/ifconfig.8 b/ja_JP.eucJP/man/man8/ifconfig.8 index c500f7b1ca..371ff4f042 100644 --- a/ja_JP.eucJP/man/man8/ifconfig.8 +++ b/ja_JP.eucJP/man/man8/ifconfig.8 @@ -1,455 +1,467 @@ .\" Copyright (c) 1983, 1991, 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 acknowledgment: .\" 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: @(#)ifconfig.8 8.3 (Berkeley) 1/5/94 -.\" %FreeBSD: src/sbin/ifconfig/ifconfig.8,v 1.27.2.5 2001/01/22 18:38:44 ben Exp % +.\" %FreeBSD: src/sbin/ifconfig/ifconfig.8,v 1.27.2.6 2001/03/05 19:33:41 ru Exp % .\" .\" jpman %Id: ifconfig.8,v 1.2 1997/03/31 14:09:47 horikawa Stab % .\" .Dd February 13, 1996 .Dt IFCONFIG 8 .Os BSD 4.2 .Sh 名称 .Nm ifconfig .Nd ネットワークインタフェースのパラメータの設定を行なう .Sh 書式 .Nm .Op Fl L .Ar interface .Op Ar address_family .Oo .Ar address .Op Ar dest_address .Oc .Op Ar parameters .Nm .Fl a .Op Fl L .Op Fl d .Op Fl u .Op Ar address_family .Nm .Fl l .Op Fl d .Op Fl u .Op Ar address_family .Nm .Op Fl L .Op Fl d .Op Fl u .Sh 解説 .Nm は、ネットワークインタフェースに対してネットワークアドレス の割り当てを行ない、ネットワークインタフェースのパラメータの設定を行ないます。 .Nm は、システム立ち上げ 時に、マシンが備える各ネットワークインタフェースに対してネットワークアドレス を割り当てるように使用しなければなりません。また、一旦各ネットワークインタフェ ースに対し設定したネットワークアドレスを再定義したり、パラメータの設定を 変えたりすることも可能です。 .Pp 以下のオプションを使用可能です: .Bl -tag -width indent .It Ar address .Tn DARPA Ns -Internet ファミリでは、アドレスはホスト名データベース .Xr hosts 5 に登録されているホスト名であるか、もしくは インターネット標準の .Dq ドット表記 です。 .\" ゼロックスネットワークシステム(tm)ファミリでは、 .\" アドレスは .\" .Ar net:a.b.c.d.e.f .\" という形式です。 .\" ここで .\" .Ar net .\" は割り当てるネットワーク番号(10進数)、 .\" 残りの .\" .Ar a .\" から .\" .Ar f .\" までは .\" ホスト番号を表す 6 バイトであり 16 進数で指定します。 .\" ホスト番号は 10Mb/s イーサネットインタフェースでは省略可能です。 .\" ホスト番号指定を省略した場合には、 .\" 一番目のインタフェースのハードウェア物理アドレスを .\" すべてのインタフェースにおいて使用します。 .\" .Tn ISO .\" ファミリでは、 .\" ゼロックスファミリと同じ長さのアドレスを、 .\" 長い 16 進数の文字列で指定します。 .\" 違いは、 .\" ドットが続いた場合にはそのバイトはゼロを表すことと、 .\" ドットはオプションであることです .\" (ドットはネットワークバイトオーダの長い数字列を .\" 注意深く扱うために使用します)。 .It Ar address_family 他のパラメータの解釈に影響するネットワーク .Ar "address family" を指定します。 インタフェースが異なるプロトコルの送信を異なる名前付け体系で 受けることがあるので、アドレスファミリを指定しておくことをお勧めします。 本コマンドでサポートされるプロトコルファミリは、 .Dq inet , .Dq inet6 , .Dq atalk , .Dq ether , .\".Dq iso , .Dq ipx .\" .Dq ns です。 .It Ar dest_address ポイントツーポイントリンクにおける他端のアドレスを指定します。 .It Ar interface インタフェースパラメータは、 .Dq name unit の形式で表現されます。 例えば .Dq en0 です。 .El .Pp .Nm では以下のパラメータが利用できます: .Bl -tag -width indent .It Cm add -``alias'' パラメータの別名です。 +.Cm alias +パラメータの別名です。 BSD/OS との互換性のために導入されました。 .It Cm alias 指定したインタフェースに、ネットワークアドレスを追加して指定します。 これはネットワーク番号を変更した際に、以前のアドレスに送られるパケットを 受けとりたい場合などに便利です。 アドレスが、 本インタフェースの最初のネットワークアドレスと同じサブネット上の場合、 ネットマスク 0xffffffff を指定する必要があります。 .It Fl alias 指定したネットワークアドレスを無効にします。本機能は、alias で不正なアドレスを 指定した場合や、すでに指定したアドレスが必要ない場合などに使用します。 誤った NS アドレスをホスト部分とともに指定した場合には、 NS アドレスを全て無効にすることにより再度ホスト部分を指定可能となります。 .It Cm anycast (inet6 のみ) 設定されるアドレスはエニーキャスト (anycast) アドレスであると指定します。 現在の仕様では、ルータのみがエニーキャストアドレスに設定可能です。 エニーキャストアドレスは、 出力 IPv6 パケットの送信元アドレスとしては使用されません。 .It Cm arp アドレス解決プロトコル (ARP) を用いてネットワークレベルのアドレスとリンクレベル のアドレスの対応を取ることを可能にします (デフォルト)。この機能は、 .Tn DARPA インターネットアドレスと 10Mb/s Ethernet アドレスの間の対応を取るように 作られています。 .It Fl arp アドレス解決プロトコルの使用を禁止します。 .It Cm broadcast ネットワークに対するブロードキャストアドレスを指定します。 ブロードキャストアドレスのデフォルト値は、 ホスト部のビットがすべて 1 になったアドレスです。 .It Cm debug ドライバ依存のデバッグモードを有効にします。 通常コンソールへのエラーログを有効にします。 .It Fl debug ドライバ依存のデバッグモードを無効にします。 .It Cm delete -``-alias'' パラメータの別名です。 +.Fl -alias +パラメータの別名です。 .It Cm down -指定したネットワークインタフェースに ``down'' とマークします。``down'' と +指定したネットワークインタフェースに +.Dq down +とマークします。 +.Dq down +と マークされたインタフェースに対しては、システムはメッセージの送信を行ない ません。可能であれば、そのインタフェースは受信も不可能となるように リセットされます。この動作は、そのインタフェースを用いる ルーティングを使用しないよう自動的に設定するものではありません。 .\" .It Cm ipdst .\" リモートネットワーク向け NS パケットをカプセル化している IP パケットを .\" 受信する、インターネットホストを指定するために使用します。 .\" 外見上 point to point リンクが構成され、 .\" 指定されたアドレスは、 .\" デスティネーションの NS アドレスとネットワークアドレスとされます。 .\" .Tn CLNP .\" パケットの IP カプセル化はこれとは異なった方法で実現されます。 .It Cm lladdr Ar addr インタフェースにリンクレベルアドレスを設定します。 例えばイーサネットインタフェースに新規 MAC アドレスを 設定するために使用可能ですが、 使用される機構はイーサネットインタフェースに限ったものではありません。 アドレス .Ar addr は、コロン区切りの 16 進数の連続で指定します。 本オプション指定時にインタフェースが既に up である場合、 インタフェースを一時的に down にしてから再度 up にします。 これは、下位のイーサネットハードウェアの受信フィルタが 正しくプログラムされたことを保証するためです。 .It Cm media Ar type ドライバがメディア選択能力を持つ場合、 インタフェースのメディアタイプを .Ar type に設定します。 インタフェースによっては、 複数の異なった物理メディアコネクタのうちのいずれかを 排他的に使用することをサポートします。 例えば、10Mb/s Ethernet インタフェースには .Tn AUI とツイストペアコネクタをサポートするものがあります。 メディアタイプを .Dq 10base5/AUI に設定すると、AUI ポートを現在のアクティブなコネクタとします。 また .Dq 10baseT/UTP に設定すると、ツイストペアをアクティブにします。 使用可能なタイプの完全なリストは、 インタフェースドライバ固有の文書やマニュアルページを参照してください。 .It Cm mediaopt Ar opts ドライバがメディア選択能力を持つ場合、 インタフェースのメディアオプションを設定します。 .Ar opts はコンマで区切ったオプションリストで、インタフェースに適用されます。 使用可能なオプションの完全なリストは、 インタフェースドライバ固有のマニュアルページを参照してください。 .It Fl mediaopt Ar opts インタフェースのメディアオプションを無効にします。 .It Cm vlan Ar vlan_tag インタフェースが vlan 擬似インタフェースの場合、vlan タグ値を .Ar vlan_tag に設定します。 この値は 16 ビット数値であり、vlan インタフェースから送られるパケットの 802.1Q vlan ヘッダの作成に使用されます。 .Cm vlan と .Cm vlandev は同時に設定される必要があることに注意してください。 .It Cm vlandev Ar iface インタフェースが vlan 擬似デバイスの場合、物理インタフェース .Ar iface を関連付けます。 vlan インタフェースから送信されるパケットは、 802.1Q vlan カプセル化付きで、指定された物理インタフェース .Ar iface へ向けて転換 (divert) されます。 親インタフェースが受信した 802.1Q カプセル化付きのパケットに 正しい vlan タグが付いていた場合、 そのパケットは関連付けられた vlan 擬似インタフェースへ転換されます。 vlan インタフェースは、 親インタフェースのフラグと親のイーサネットアドレスが割り当てられます。 .Cm vlandev と .Cm vlan は同時に設定される必要があります。 vlan インタフェースが既に物理インタフェースと関連付けられている場合、 このコマンドは失敗します。 別の物理インタフェースへ関連付けを変更するには、 既存の関連付けをまずクリアする必要があります。 .Pp 注: vlan インタフェースで .Ar link0 フラグをセットした場合、vlan 擬似インタフェースの振舞いが変わります: 親インタフェースが自身の vlan タグの挿入と取り出しをサポートすること、 vlan インタフェースが親に対して無修正でパケットを渡すべきことを、 .Ar link0 は vlan インタフェースに対して通知します。 .It Fl vlandev Ar iface ドライバが vlan 擬似ドライバの場合、物理インタフェース .Ar iface どドライバとの関連付けを解除します。 これにより、vlan インタフェースとその親との間のリンクを破壊し、 vlan タグとフラグとリンクアドレスをクリアし、 インタフェースをシャットダウンします。 .It Cm metric Ar n インタフェースのルーティングメトリックを .Ar n で指定します。初期値は 0 です。 ルーティングメトリックは、ルーティングプロトコル .Pq Xr routed 8 で使用されます。 .It Cm mtu Ar n そのインタフェースの最大転送単位 (mtu) を .Ar n に設定します。デフォルト値はインタフェースに依存します。 mtu はインタフェースに送られるパケットの大きさを制限するのに用いられます。 mtu を設定できなかったり、設定出来る値の範囲に制限のある インタフェースがあります。 .It Cm netmask Ar mask .\" (inet と ISO) (inet のみ) ネットワークをサブネットワークに細分割する際に、ネットワークアドレスとして リザーブするアドレスを指定します。 mask が指定する部分は、 アドレスのネットワーク部とサブネット部です。 サブネット部はアドレスのホスト部の一部です。 mask は、0x ではじまる16進数、 ドット表記のインターネットアドレス形式、 ネットワークテーブル .Xr networks 5 に記述されている仮想ネットワーク名のいずれかで指定できます。 mask での 32ビットアドレスにおける 1 であるビットの部分は、 ネットワーク部もしくはサブネット部として使用します。 0 であるビットの部分はホスト部として使用します。 mask は少なくともネットワーク部を含む必要があり、 サブネット部はネットワーク部に連続する必要があります。 .It Cm prefixlen Ar len (inet6 のみ) .Ar len ビットを、ネットワークからサブネットワークへの分割用に予約すると、 指定します。 .Ar len は整数であることが必要であり、 文法的な理由で 0 から 128 の間であることが必要です。 現在の IPv6 の割り当て規則では、ほぼ常に 64 です。 本パラメータを省略すると、64 が使用されます。 .\" see .\" Xr eon 5 . .\" .It Cm nsellength Ar n .\" .Pf ( Tn ISO .\" のみ) .\" .Tn NSAP .\" に後続するローカル識別に使用するバイト数を指定します。 .\" この部分は .\" .Tn NET .\" (Network Entity Title) .\" として扱われます。 .\" バイト数のデフォルト値は 1 であり、US .\" .Tn GOSIP .\" 準拠です。 .\" ifconfig コマンドで設定するISO アドレスが、 .\" .Tn NSAP .\" です。 .\" 例えば .\" .Tn US GOSIP .\" では、20 文字の 16 進数を .\" .Tn ISO NSAP .\" において指定し、 .\" インタフェースに割り当てる必要があります。 .\" .Tn AFI .\" 37 タイプアドレスにおいて、数字が 1 とは異なると便利であるのは、 .\" それなりの理由があります。 .It Cm range Ar netrange Appletalk において .Ar netrange に返答するようにインタフェースを設定します。 書式は .Ar startnet Ns - Ns Ar endnet です。 Appletalk は netmask ではなくこの方法を使用しますが、 .Fx の内部においては netmask の集合として実装しています。 .It Cm remove -``-alias'' パラメータの別名です。 +.Fl alias +パラメータの別名です。 BSD/OS との互換性のために導入されました。 .It Cm phase これに続く引数は、 インタフェースに接続された Appletalk ネットワークの バージョン (フェーズ) を指定します。 1 または 2 が許されています。 -.It Cm link[0-2] -インタフェースのリンクレベルでの特殊な処理を有効にします。3 つのオプション +.It Cm link Ns Xo +.Op Cm 0 Ns - Ns Cm 2 +.Xc +指定したインタフェースのリンクレベルでの特殊な処理を有効にします。 +3 つのオプション の実際の効果はインタフェース依存です。しかしながら、これらのオプションは、 一般的には特殊なオペレーションモードを選択するのに用いられます。この例として、 SLIP 使用時のデータ圧縮や、Ethernet カードのコネクタ選択を行います。 各ドライバごとのマニュアルページに 詳細が記してあるので、詳しくはそちらの方を参照して下さい。 -.It Fl link[0-2] -上記の link[0-2] の指定を無効にします。 +.It Fl link Ns Xo +.Op Cm 0 Ns - Ns Cm 2 +.Xc +指定したインタフェースのリンクレベルでの特殊な処理を無効にします。 .It Cm up 指定したネットワークインタフェースに .Dq up とマークします。 本オプションは、 .Dq ifconfig down を行なった後にインタフェースを有効にするのに用いられます。 最初にインタフェースにアドレスを設定した場合には、自動的に本指定はされたものと して扱います。もし、down とマークされていたインタフェースがリセットされた場合、 ハードウェアは再初期化されます。 .El .Pp .Nm は引数としてネットワークインタフェース以外に何のオプションも与えられない場合、 ネットワークインタフェースの現在の設定状態を表示します。 プロトコルファミリが指定されている場合、 .Nm はプロトコルファミリに特有の情報についてのみ表示します。 .Pp ドライバがメディア選択をサポートする場合、 サポートされているメディアのリストが出力に含まれます。 .Pp オプションとして、インタフェース名の代りに .Fl L フラグを指定すると、IPv6 用のアドレスの生存時間が、 時刻オフセット文字列として表示されます .Pp .Fl a フラグを指定できます。そうすると、 .Nm はシステム上の全インタフェースを表示します。 .Fl d フラグはこれを down したインタフェースに限定し、 .Fl u フラグはこれは up したインタフェースに限定します。 引数を指定しないと、 .Fl a が暗黙的に指定されます。 .Pp .Fl l フラグを使用するとシステム上の使用可能な全インタフェースのリストを、 その他の情報は付加せずに表示します。 このフラグは他のフラグとは排他的ですが、 .Fl d (down したインタフェースのみをリスト) と .Fl u (up したインタフェースのみをリスト) は例外です。 .Pp スーパユーザのみがネットワークインタフェースの設定を変更できます。 .Sh 注 メディア選択システムは比較的新しく、いくつかのドライバのみサポートしています (必要があるものも限られています)。 .Sh 診断 指定したインタフェースが存在しない、 要求したアドレスが未知のものである、 ユーザがネットワークインタフェースの設定を変更する権限を持っていない、 といったメッセージを表示します。 .Sh バグ IPv6 ノード間のいくつかの基本的な通信用に、 IPv6 リンクローカルのアドレスが必要です。 これらを .Nm で手動で削除すると、カーネルが非常に奇妙な動作を示すことがあります。 よって、このような手動削除は、強く非推奨です。 .Sh 関連項目 .Xr netstat 1 , .Xr netintro 4 , .Xr rc 8 , .Xr routed 8 .\" .Xr eon 5 .Sh 歴史 .Nm コマンドは .Bx 4.2 から登場しました。 diff --git a/ja_JP.eucJP/man/man8/ip6fw.8 b/ja_JP.eucJP/man/man8/ip6fw.8 index c1f585ff89..2213c8081f 100644 --- a/ja_JP.eucJP/man/man8/ip6fw.8 +++ b/ja_JP.eucJP/man/man8/ip6fw.8 @@ -1,531 +1,533 @@ .\" -.\" %FreeBSD: src/sbin/ip6fw/ip6fw.8,v 1.3.2.3 2000/12/18 15:38:23 ru Exp % +.\" %FreeBSD: src/sbin/ip6fw/ip6fw.8,v 1.3.2.4 2001/03/05 19:33:42 ru Exp % .\" .\" jpman %Id: ip6fw.8,v 1.3 2000/11/11 03:53:49 horikawa Stab % .\" WORD: modifier 修飾子 .\" WORD: fragmented packet フラグメントパケット .\" WORD: encapsulating security payload 暗号ペイロード [IPv6] .\" WORD: no next header 次ヘッダなし [IPv6] .\" WORD: fine points 微調整 .Dd March 13, 2000 .Dt IP6FW 8 .Os FreeBSD .Sh 名称 .Nm ip6fw .Nd IPv6 ファイアフォール用制御ユーティリティ .Sh 書式 .Nm .Ar file .Nm .Op Fl f | Fl q flush .Nm .Op Fl q zero .Op Ar number ... .Nm delete .Ar number ... .Nm .Op Fl aftN list .Op Ar number ... .Nm .Op Fl ftN show .Op Ar number ... .Nm .Op Fl q add .Op Ar number .Ar action .Op log .Ar proto from .Ar src to .Ar dst .Op via Ar name | ipv6no .Op Ar options .Sh 解説 書式の第 1 行目のように使用すると、 .Ar file が 1 行ずつ読み込まれ、 .Nm コマンドへの引数に適用されます。 .Pp .Nm コードは、各パケットに対してマッチするものが見つかるまで ルールリストを走査することによって動作します。 ルールにはすべて 2 つの関連のあるカウンタがあります。 パケットカウンタとバイトカウンタです。 これらのカウンタはパケットがルールにマッチするときに 更新されます。 .Pp ルールは、 1 から 65534 までの .Dq 行番号 で序列がつけられており、 ルールを決めたり削除したりするのに使用されます。 ルールは昇順で試され、パケットに最初にマッチしたルールが 適用されます。 複数のルールが同じ行番号を共有できます。 この場合、追加した順番でルールが適用されます。 .Pp 番号をつけずにルールを足した場合、その直前のルールよりも 100 大きい番号がつけられます。 定義されたルール番号の最大値が 65434 よりも大きい場合、 新しく定義されるルールは、ルールの最後に追加されます。 .Pp delete 操作では、それが存在する場合には、 .Ar number を行番号にもつ最初のルールが削除されます。 .Pp list コマンドは、現在のルールセットを出力します。 .Pp show コマンドは `ip6fw -a list' と等価です。 .Pp zero 操作は、ルール番号 .Ar number に関連づけられたカウンタを 0 にします。 .Pp flush 操作は、すべてのルールを削除します。 .Pp .Sq # で始まるコマンドおよび空白だけのコマンドはみな 無視されます。 .Pp 次のルールは必ず存在します: .Bd -literal -offset center 65535 deny all from any to any .Ed .Pp このルールはデフォルトのポリシです。すなわち、 何も許さないということです。ルールを設定する際に あなたがすべき仕事は、このポリシを必要に合わせて 変更するということです。 .Pp 次のオプションが使用できます: .Bl -tag -width flag .It Fl a リスト中に、カウンタ値を表示します。 .Dq show コマンドを参照してください。 .It Fl f 間違って使用すると問題をひき起こす可能性のある コマンド (つまり、flush) の確認をとりません。 .Ar 注意 プロセスに端末が割り当てられていない場合は、暗黙のうちに このオプションが指定されています。 .It Fl q add 操作や zero 操作、flush 操作を行っている最中に、 そのアクションに対して何も表示しません (暗黙のうちに '-f' が指定されています)。 これは、リモートログイン時のセッションで スクリプト内で複数の ip6fw コマンドを実行したり (例えば、sh /etc/rc.firewall のように)、 たくさんの ip6fw ルールファイルを処理したりすることで ルールを調節するときに便利です。 通常モード (冗長) で flush 操作を行うと、メッセージが出力 されます。ルールがすべて flush されるので、ログインセッションに メッセージを送ることができず、ログインセッションも閉じてしまいます。 そのため、残りのルールセットは処理されなくなってしまいます。 復旧には、コンソールへのアクセスが必要になります。 .It Fl t list している最中に、最後にマッチしたときのタイムスタンプを表示します。 .It Fl N 出力で、アドレスおよびサービス名を解決しようとします。 .El .Pp .Ar アクション は次の通りです。 .Bl -hang -offset flag -width 16n .It Ar allow ルールにマッチしたパケットを許可します。 そして探索を終了します。別名は .Ar pass , .Ar permit , .Ar accept です。 .It Ar deny ルールにマッチしたパケットを捨てます。 そして探索を終了します。 .Ar drop は .Ar deny の別名です。 .It Ar reject (非推奨です) ルールにマッチしたパケットを捨てて、 ICMPv6 の host unreachable notice メッセージを 送ろうとします。 そして探索を終了します。 .It Ar unreach code ルールにマッチしたパケットを捨てて、 ICMPv6 の unreachable notice メッセージをコード .Ar code で送ろうとします。ここで、 .Ar code は 0 から 255 までの番号もしくは次の別名のうちのいずれかです: .Ar noroute , .Ar admin , .Ar notneighbor , .Ar addr , .Ar noport 。 そして探索を終了します。 .It Ar reset TCP パケットのみです。 ルールにマッチしたパケットを捨てて、 TCP reset (RST) notice メッセージを送ろうとします。 そして探索を終了します -.Em (まだ動作しません) +.Em ( "まだ動作しません" ) 。 .It Ar count ルールにマッチしたすべてのパケットに対するカウンタを 更新します。 探索は、次のルールへと継続します。 .It Ar skipto number .Ar number よりも小さい番号のついたルールをスキップします。 探索は .Ar number 以上の番号のついたルールへと継続します。 .El .Pp カーネルを .Dv IP6FIREWALL_VERBOSE つきでコンパイルした場合、パケットが .Dq log キーワードつきのルールにマッチしたときには コンソールにメッセージが表示されます。 カーネルを .Dv IP6FIREWALL_VERBOSE_LIMIT オプションつきでコンパイルした場合、 特定のチェーンエントリに対して このオプションで指定した数だけパケットを受け取った後は ログを記録しません。このエントリに対するカウンタを クリアすることでログの記録を再開できます。 .Pp コンソールへのロギングおよびログの制限を .Xr sysctl 8 インタフェースを介して動的に調整できます。 .Pp .Ar proto は次の通りです。 .Bl -hang -offset flag -width 16n .It Ar ipv6 すべてのパケットがマッチします。 別名 .Ar all は同じ効果を持ちます。 .It Ar tcp TCP パケットだけがマッチします。 .It Ar udp UDP パケットだけがマッチします。 .It Ar ipv6-icmp ICMPv6 パケットだけがマッチします。 .It Ar 指定したプロトコルだけがマッチします (完全なリストは .Pa /etc/protocols を参照してください)。 .El .Pp .Ar src および .Ar dst は次の通りです。 .Bl -hang -offset flag .It Ar
.Op Ar ports .El .Pp .Em
は次のように指定できます: .Bl -hang -offset flag -width 16n .It Ar ipv6no An ipv6number of the form .Li fec0::1:2:3:4 という形式の IPv6 ナンバ。 .It Ar ipv6no/prefixlen .Li fec0::1:2:3:4/112 のような形式のプレフィックス長をもった IPv6 ナンバ。 .El .Pp .Dq not 修飾子をアドレスの前につけることで、マッチの意味を反転させることができます。 これによって、他のすべてのアドレスが代わりにマッチするようになります。 これは、ポート番号の選択には影響ありません。 .Pp TCP および UDP プロトコルでは、オプションで .Em ports が次のように指定できます: .Pp .Bl -hang -offset flag .It Ns {port|port-port} Ns Op ,port Ns Op ,... .El .Pp ( .Pa /etc/services より) サービス名を、 数値によるポート番号の代わりに使用できます。 範囲は最初の値としてのみ指定でき、ポートリスト長は .Dv IP6_FW_MAX_PORTS ( .Pa /usr/src/sys/netinet/ip6_fw.h で指定) 個のポートまでに制限されています。 .Pp 0 ではないオフセットを持つ (すなわち、最初のフラグメントではない) フラグメントパケットは、1 つ以上のポートが列挙されたルールには 絶対にマッチしません。 フラグメントパケットのマッチについての詳細は .Ar frag オプションを参照してください。 .Pp ルールは、パケットが入力されるとき、および出力されるとき、 あるいはその両方ともであるときに適用されます。 .Ar in キーワードは、入力パケットにのみルールがマッチしなくては ならないことを示すものです。 .Ar out キーワードは、出力パケットにのみルールがマッチしなくては ならないことを示すものです。 .Pp あるインタフェースを通るパケットにマッチするためには、 .Ar via を使用して次のようにインタフェースを指定してください。 .Bl -hang -offset flag -width 16n .It Ar via ifX パケットは、インタフェース .Ar ifX を通らなくてはなりません。 .It Ar via if* パケットは、インタフェース .Ar ifX を通らなくてはなりません。ここで、X は任意のユニット番号です。 .It Ar via any パケットは、 .Em なんらかの インタフェースを通らなくてはなりません。 .It Ar via ipv6no パケットは、IPv6 アドレス .Ar ipv6no を持ったインタフェースを通らなくてはなりません。 .El .Pp .Ar via キーワードを使用すると、該当インタフェースは常に チェックされるようになります。 .Ar via の代わりに .Ar recv あるいは .Ar xmit を使用すると、 (それぞれ) 受信インタフェースまたは送信インタフェースだけが チェックされます。 両方を指定することで、受信インタフェース、送信インタフェースの 両方ともにパケットをマッチさせることができます。 例えば、次のようにします。 .Pp .Dl "ip6fw add 100 deny ip from any to any out recv ed0 xmit ed1" .Pp .Ar recv インタフェースは、入力パケットあるいは出力パケットのどちらかで テストされます。これに対して、 .Ar xmit インタフェースは、出力パケットでしかテストされません。 そのため、 .Ar xmit を使用する場合はいつでも .Ar out が必要です (そして、 .Ar in は不正です)。 .Ar xmit あるいは .Ar recv と一緒に .Ar via を指定するのは不正です。 .Pp パケットには、受信インタフェースあるいは送信インタフェースがない かもしれません。ローカルホストから送信されたパケットには 受信インタフェースがありません。そして、ローカルホストへ向けて 送信されたパケットには送信インタフェースがありません。 .Pp 追加の .Ar options は次の通りです。 .Bl -hang -offset flag -width 16n .It frag パケットがフラグメントであり、しかも データグラムの最初のフラグメントでなければマッチします。 .Ar frag は、 .Ar tcpflags あるいは TCP/UDP ポートの指定と一緒には使うことができません。 .It in パケットが入ってこようとしている場合にマッチします。 .It out パケットが出ていこうとしている場合にマッチします。 .It ipv6options Ar spec IPv6 ヘッダに、 .Ar spec で指定されたコンマ区切りのオプションリストの要素が含まれて いればマッチします。 サポートしている IPv6 オプションは次の通りです。 .Ar hopopt (hop-by-hop オプションヘッダ)、 .Ar route (ルーティングヘッダ)、 .Ar frag (フラグメントヘッダ)、 .Ar esp (暗号ペイロード)、 .Ar ah (認証ヘッダ)、 .Ar nonxt (次ヘッダなし)、そして .Ar opts (デスティネーションオプションヘッダ) です。 特定のオプションがないことは、 .Dq \&! で表します -.Em (まだ動作していません)。 +.Em ( "まだ動作していません" ) +。 .It established RST あるいは ACK ビットがセットされているパケットに マッチします。 .It setup SYN ビットはセットされているが ACK ビットがセットされていない パケットにマッチします。 .It tcpflags Ar spec TCP ヘッダに、 .Ar spec で指定されたコンマ区切りのフラグリストの要素が含まれていれば マッチします。 サポートしている TCP フラグは以下の通りです。 .Ar fin , .Ar syn , .Ar rst , .Ar psh , .Ar ack , そして .Ar urg です。 特定のフラグがないことは .Dq \&! を使って表します。 .Ar tcpflags 指定を含んだルールは、 0 でないオフセットを持ったフラグメントパケットには 絶対にマッチしません。 フラグメントパケットへのマッチに関する詳細は .Ar frag オプションを参照してください。 .It icmptypes Ar types ICMPv6 のタイプが .Ar types リスト中にあればマッチします。 リストには、範囲と、個々のタイプをコンマで区切ったものを、 任意に組み合わせて指定できます .El .Sh チェックリスト ここには、あなたがルールをデザインする際に考慮すべき 重要なポイントをいくつか述べてあります。 .Bl -bullet -offset flag .It 入力および出力パケットの両方をフィルタするのだということを 忘れないでください。ほとんどの接続には両方向のパケットが 必要です。 .It とても注意深くテストするのを忘れないでください。 テストする際にはコンソールの近くで行うというのが良いアイデアです。 .It ループバックインタフェースを忘れないでください。 .El .Sh 微調整 ファイアウォールが常に破棄するパケットが 1 種類あります。 それは、フラグメントオフセット 1 を持った IPv6 フラグメントです。 これは正しいパケットですが、使用方法は 1 つだけです。 それは、ファイアウォールの抜け道を探そうとすることです。 .Pp ネットワーク越しにログインしている場合は、 .Nm の KLD バージョンをロードするのは、おそらく あなたが思っているほどには簡単ではないでしょう -.Em (サポートされていません)。 +.Em ( "サポートされていません " ) +。 次のようなコマンド行を推奨します。 .Bd -literal -offset center kldload /modules/ip6fw_mod.o && \e ip6fw add 32000 allow all from any to any .Ed .Pp 同様の状況で、同じ行で .Bd -literal -offset center ip6fw flush .Ed .Pp を行うことも良くないアイデアです。 .Sh パケット変換 サポートされていません。 .Sh 使用例 このコマンドは、 .Em hacker.evil.org から .Em wolf.tambov.su の telnet ポートへの TCP パケットすべてを、このホストで フォワードしないようにします。 .Pp .Dl ip6fw add deny tcp from hacker.evil.org to wolf.tambov.su 23 .Pp 次のコマンドは、hackers ネットワーク全体から自ホストへの接続を 何であれ禁止します。 .Pp .Dl ip6fw addf deny all from fec0::123:45:67:0/112 to my.host.org .Pp これは、カウント値の記録とタイムスタンプ情報を表示するための リストコマンドの良い使用例です。 .Pp .Dl ip6fw -at l .Pp あるいは、タイムスタンプなしの、短い形式のものは .Pp .Dl ip6fw -a l です。 .Pp .Sh 関連ファイル .Xr ip 4 , .Xr ipfirewall 4 , .Xr protocols 5 , .Xr services 5 , .Xr reboot 8 , .Xr sysctl 8 , .Xr syslogd 8 .Sh バグ .Pp .Em 注意 !! 注意 !! 注意 !! 注意 !! .Pp このプログラムは、あなたのコンピュータをかなり使えない状態 にしてしまう可能性があります。初めて使用する際には、 コンピュータのコンソールで作業してください。また、 理解していないことは何も .Em しないでください 。 .Pp チェーンエントリを操作 / 追加する際には、サービス名および プロトコル名は受け付けられません。 .Sh 作者 .An Ugen J. S. Antsilevich , .An Poul-Henning Kamp , .An Alex Nash , .An Archie Cobbs です。 API は、BSDI 用に .An Daniel Boulet が書いたコードに基いています。 .Sh 歴史 .Nm は最初に .Fx 4.0 で登場しました。 diff --git a/ja_JP.eucJP/man/man8/ipfw.8 b/ja_JP.eucJP/man/man8/ipfw.8 index b67e361014..eb57392a30 100644 --- a/ja_JP.eucJP/man/man8/ipfw.8 +++ b/ja_JP.eucJP/man/man8/ipfw.8 @@ -1,1291 +1,1301 @@ .\" -.\" %FreeBSD: src/sbin/ipfw/ipfw.8,v 1.63.2.10 2001/02/20 11:39:11 phk Exp % +.\" %FreeBSD: src/sbin/ipfw/ipfw.8,v 1.63.2.11 2001/03/05 19:33:42 ru Exp % .\" .\" jpman %Id: ipfw.8,v 1.4 1997/05/19 17:19:51 horikawa Stab % .Dd February 16, 2000 .Dt IPFW 8 .Os FreeBSD .Sh 名称 .Nm ipfw .Nd IP ファイアウォールとトラフィックシェイパの制御ユーティリィティ .Sh 書式 .Nm .Op Fl q .Oo .Fl p Ar preproc .Oo Fl D .Ar macro Ns Op = Ns Ar value .Oc .Op Fl U Ar macro .Oc .Ar pathname .Nm .Op Fl f | q .Cm flush .Nm .Op Fl q .Es \&{ \&} .En Cm zero | resetlog | delete .Op Ar number ... .Nm .Op Fl s Op Ar field .Op Fl aftN .Es \&{ \&} .En Cm list | show .Op Ar number ... .Nm .Op Fl q .Cm add .Op Ar number .Ar rule-body .Nm .Cm pipe .Ar number .Cm config .Ar pipe-config-options .Nm .Cm pipe .Es \&{ \&} .En Cm delete |list | show .Op Ar number ... .Nm .Cm queue .Ar number .Cm config .Ar queue-config-options .Nm .Cm queue .Es \&{ \&} .En Cm delete | list | show .Op Ar number ... .Sh 解説 .Nm は、 .Fx の .Xr ipfirewall 4 と .Xr dummynet 4 トラフィックシェイパを制御するユーザインタフェースです。 .Pp 各入出力パケットは .Nm ルールを通されます。 ホストがゲートウェイとして動作している場合、 ゲートウェイが転送するパケットは .Nm が 2 度処理します。 ホストがブリッジとして動作している場合、 ブリッジが転送するパケットは .Nm が 1 度処理します。 .Pp ファイアウォール設定は、番号付けされたルールのリストからなります。 あるルールにマッチしそれに関連する動作が実行されるまで、 各パケットはルールのリストに対し照合されます。 動作とシステムの設定によっては、マッチしたルールの直後で、 パケットがファイアウォールに再注入され、 更に処理が継続することもあります。 全てのルールが全てのインタフェースに適用されますので、 チェックの回数が最小となるようなルール集合を書くのは システム管理者の責任です。 .Pp どの設定も常に、 .Em DEFAULT ルール (番号 65535) を含みます。このルールはプログラマが変更できず、 常にパケットにマッチします。 デフォルトルールに関連付けるルールは .Cm deny か .Ar allow のどちらかになりますが、 これはどのようにカーネルを設定したかに依存します。 .Pp ルール集合が .Cm keep-state オプション付きのルールを含む場合、 .Nm は .Em ステートフル (状態依存型) で動作します。すなわち、あるマッチの結果、 マッチしたパケットのパラメータにちょうど一致するルールが 動的に生成されます。 .Pp これらの動的ルールの寿命は有限で、 .Cm check-state または .Cm keep-state ルールが最初に生じた場所でチェックされます。 動的ルールは、合法的なトラフィックをオンデマンドで ファイアウォールを通過させるために用いることが普通です。 .Nm のステートフルな動作について更に情報が必要ならば、 以下の .Sx ルール書式 または .Sx 使用例 セクションを参照して下さい。 .Pp 動的ルールも含めすべてのルールは、 それに関連するカウンタをいくつか持っています。 それは、パケットカウント、バイトカウント、ログカウント、 最後にマッチした時刻を示すタイムスタンプです。 カウンタは、 .Nm コマンドによって、表示およびリセット可能です。 .Pp ルールの追加は .Cm add コマンドにて可能です。 個々のルールの削除は .Cm delete コマンドにて可能であり、すべてのルールの削除は .Cm flush コマンドにて可能です。 ルールの表示は、 .Ar show コマンドおよび .Ar list コマンドにて可能です。 これらにより、オプションでカウンタ内容も含めて表示させることができます。 最後に、カウンタのリセットは .Ar zero コマンドおよび .Ar resetlog コマンドにて可能です。 .Pp 次のオプションが利用可能です: .Bl -tag -width indent .It Fl a リスト中にカウンタ値を示します。 .Dq show コマンドもあわせて見てください。 .It Fl f 誤って使用すると問題を起す可能性のあるコマンド、 .No すなわち Cm flush に対して、実行の確認を行いません。 .Em 注 : プロセスに関連付けられた tty が無い場合、このオプションが 暗黙のうちに指定されたとして処理されます。 .It Fl q .Cm add , .Cm zero , .Cm resetlog , .Cm flush 実行中、動作について報告しません .Po 暗黙のうちに .Fl f が指定されます .Pc 。 スクリプト .Po 例えば .Sq sh /etc/rc.firewall .Pc の中で複数の .Nm コマンドを実行してルールを変更する場合や、 リモートログインセッション経由で多数の .Nm ルールを含むファイルを処理することによりルールを変更する場合に 有用です。 通常 (冗長) モードで (デフォルトカーネル設定で) flush を行った場合、 メッセージを表示します。 すべてのルールが捨てられますので、 メッセージはログインセッションへ渡せません。 つまり、リモートログインセッション経由の場合、セッションはクローズされ、 残りのルールセットは処理されません。 この状態から回復するためにはコンソールへのアクセスが必要になります。 .It Fl t リスト作成時に、最後にマッチしたタイムスタンプを表示します。 .It Fl N 出力中のアドレスとサービス名を解決しようとします。 .It Fl s Op Ar field パイプ経由でリスト出力している際に、4つのカウンタの1つについて 整列させます (現在のパケット数)。 .El .Pp 設定を簡単にするために、ルールをファイルに記述して、 これを .Nm の最初の書式行を使って処理します。 .Ar pathname には絶対パス名を使用する必要があります。 このファイルからは 1 行ずつ読み込まれ、 .Nm ユーティリティへの引数となります。 .Pp .Fl p Ar preproc を使用して、 .Ar pathname がパイプされるプリプロセッサを指定することもできます。 有用なプリプロセッサには、 .Xr cpp 1 と .Xr m4 1 があります。 .Ar preproc の最初の文字がスラッシュ .Pq Ql / から始まらない場合、 .Ev PATH を使用した通常の名前検索が行われます。 .Nm が実行されるときまでに全ファイルシステムが (まだ) マウントされないような環境 (例えば NFS 経由でマウントされる場合) では、このことに注意してください。 ひとたび .Fl p が指定されると、オプションとして .Fl D と .Fl U の指定を続けることが可能となり、これらがプリプロセッサに渡されます。 これにより、(ローカルホスト名により条件付けするなど) 柔軟性のある設定ファイルを作成可能となり、IP アドレスのように 頻繁に必要となる引数を集中管理するためのマクロを使用可能となります。 .Pp 後述の .Sx トラフィックシェイパ設定 の節で示すように、 .Nm .Cm pipe コマンドを使用して、トラフィックシェイパを構築可能です。 .Pp .Sh ルール書式 .Nm ルールフォーマットは次の通りです。 .Bd -ragged .Op Cm prob Ar match_probability .Ar action .Op Cm log Op Cm logamount Ar number .Ar proto .Cm from Ar src .Cm to Ar dst .Op Ar interface-spec .Op Ar options .Ed .Pp 各パケットをフィルタする際には、以下の情報に基づくことができます。 .Pp .Bl -tag -width "送信元および宛先 IP アドレス" -offset indent -compact .It 送受信インタフェース (名前またはアドレス) .It 方向 (入力または出力) .It 送信元および宛先 IP アドレス (マスク使用可) .It プロトコル (TCP, UDP, ICMP 等) .It 送信元および宛先ポート (リスト、範囲、マスクのいずれか) .It TCP フラグ .It IP フラグメントフラグ .It IP オプション .It ICMP タイプ .It パケットに関連付けられたソケットのユーザ ID とグループ ID .El .Pp 送信元 IP アドレスや宛先 TCP/UDP ポートによるフィルタは 危険があることに注意してください。 なぜなら、これらの詐称は簡単だからです。 .Bl -tag -width indent .It Cm prob Ar match_probability 指定した確率 (0 から 1 までの浮動小数点数です) でのみマッチが宣言されます。 ランダムにパケットを落とす応用として用いる場合や、 .Po .Xr dummynet 4 と共に使用して .Pc パケット到達順序の乱れを引き起こす複数経路の効果をシミュレートする際に 有用です。 .It Ar action : .Bl -tag -width indent .It Cm allow マッチするパケットを通過させ、マッチングを終了します。 .Cm pass , .Cm permit , .Cm accept はこれの別名です。 .It Cm deny マッチするパケットを破棄し、マッチングを終了します。 .Cm drop は .Cm deny の別名です。 .It Cm reject .Pq この使用は推奨されません マッチするパケットを破棄し、 ICMP の host unreachable を送信し、 マッチングを終了します。 .It Cm unreach Ar code マッチするパケットを破棄し、 ICMP の unreachable に .Ar code を付けて送信します。ここで、 .Ar code は、0 から 256 までの数字、もしくは、以下に列挙する別名のいずれかです: .Cm net , host , protocol , port , .Cm needfrag , srcfail , net-unknown , host-unknown , .Cm isolated , net-prohib , host-prohib , tosnet , .Cm toshost , filter-prohib , host-precedence , .Cm precedence-cutoff 。マッチングは終了します。 .It Cm reset TCP パケットのみ対象。 パケットを破棄し、TCP の reset (RST) を送信し、 マッチングを終了します。 .It Cm count ルールにマッチするパケットすべてのカウンタを更新し、 引続きマッチングを行ないます。 .It Cm check-state 動的ルール集合に対してパケットのチェックを行ないます。 マッチした場合、マッチングは終了します。 マッチしなかった場合、次のルールに移ります。 .Cm check-state ルールが見つからないときは、動的ルール集合は最初の .Cm keep-state ルールの場所でチェックされます。 .It Cm divert Ar port マッチするパケットを .Ar port で指定されたポートにバインドされている .Xr divert 4 ソケットに送り、マッチングを終了します。 .It Cm tee Ar port マッチするパケットのコピーを .Ar port で指定されたポートにバインドされている .Xr divert 4 ソケットに送ります。 検索を終了し、元のパケットは受理されます .Po ただし後述の .Sx バグ を参照してください .Pc "。" .It Cm fwd Ar ipaddr Ns Xo .Op , Ns Ar port .Xc マッチしたパケットの次のホップを .Ar ipaddr に変更します。これはドット付き 4 つ組の IP アドレスでもホスト名でもよいです。 .Ar ipaddr が直接到達可能なアドレスではない場合、その IP に対して ローカルルーティングテーブルでみつかった経路を使用します。 .Ar ipaddr がローカルアドレスの場合、 リモートホストからこのシステムにパケットが到着すると、 そのパケットをローカルマシンの .Ar port に転換します。 その際、 ソケットのローカルアドレスは、 パケットの元々の宛先の IP アドレスのままとします。 これは透過的プロキシサーバのためにあります。 IP が ローカルアドレスではない場合、ポート番号は (指定されていても) 無視され、 ルールはシステムから出て行くパケットに対してのみ適用されます。 パケットがローカルに生成されたときには、アドレスをローカルポートに マップします。 検索はこのルールがマッチしたときに終了します。 ポート番号が与えられなかった場合、 外部マシンのポート Y へのパケットは ローカルポート Y へ転送されるように、 パケット中のポート番号が使用されます。 カーネルは、 オプション IPFIREWALL_FORWARD 付きでコンパイルされている必要があります。 .It Cm pipe Ar pipe_nr パケットを .Xr dummynet 4 .Dq パイプ へ渡します (バンド幅制限、遅延等のため)。 更なる情報については .Sx トラフィックシェイパ設定 の節を参照してください。 検索は終了します。 しかし、パイプから抜けたときに .Xr sysctl 8 変数 .Em net.inet.ip.fw.one_pass がセットされていない場合、 パケットはファイアウォールコードへ再度渡されて次のルールから開始します。 .It Cm queue Ar queue_nr パケットを .Xr dummynet 4 .Dq queue へ渡します (WF2Q を使ったバンド幅制限用)。 .It Cm skipto Ar number .Ar number より小さな番号のルールを飛び越して、 .Ar number 以上の番号のルールで最初に存在するものから、マッチングを継続します。 .El .It Cm log Op Cm logamount Ar number カーネルが .Dv IPFIREWALL_VERBOSE オプション付きでコンパイルされている場合に、 .Cm log キーワードが指定されているルールとマッチした時、 -メッセージをコンソールへ表示します。 +メッセージを +.Dv LOG_SECURITY +ファシリティで +.Xr syslogd 8 +でログします。 +.Em 注 : +デフォルトでは、ログは +.Pa /var/log/security +ファイルに追加されます ( +.Xr syslog.conf 5 +を参照してください)。 カーネルが、 .Dv IPFIREWALL_VERBOSE_LIMIT オプション付きでコンパイルされている場合、 デフォルトでは、 一連のルールに対し指定されたパケット 数を受信した後、メッセージの表示を中止し、 .Em net.inet.ip.fw.verbose_limit がその数に設定されます。 しかし .Cm logamount Ar number が使用された場合、 .Em net.inet.ip.fw.verbose_limit の代りにこの .Ar number がデフォルトのログ制限になり、値 .Dq 0 を指定すると、ロギングの制限は取り除かれます。 このエントリに対するロギングカウンタまたはパケットカウンタを クリアすれば、ロギングは再び有効になります。 .Pp コンソールログとデフォルトログ制限数は、 .Xr sysctl 8 を通じて MIB ベース .Dv net.inet.ip.fw にて動的に設定できます。 .It Ar proto 名前または数値で指定する IP プロトコル (詳細は .Pa /etc/protocols のリストを参照のこと)。 .Cm ip または .Cm all のキーワードを使用すると、すべてのプロトコルがマッチします。 .It Ar src No と Ar dst : .Cm any | me | Op Cm not .Aq Ar address Ns / Ns Ar mask .Op Ar ports .Pp .Cm any を指定すると、ルールはすべての IP 番号とマッチします。 .Pp .Cm me を指定すると、ルールはシステム上で構成されたすべての IP 番号とマッチします。 これは、計算量的にかなり高価なチェックですので、注意して使用してください。 .Pp .Aq Ar address Ns / Ns Ar mask は以下のように指定できます。 .Bl -tag -width indent .It Ar ipno IP 番号を 1.2.3.4 の形式で指定します。 この IP 番号にのみマッチします。 .It Ar ipno Ns / Ns Ar bits IP 番号とネットマスクの幅を 1.2.3.4/24 の形式で指定します。 この例の場合は 1.2.3.0 から 1.2.3.255 のアドレスがマッチします。 .It Ar ipno Ns : Ns Ar mask IP 番号とネットマスクを 1.2.3.4:255.255.240.0 の形式で指定します。 この場合は 1.2.0.0 から 1.2.15.255 のアドレスがマッチします。 .El .Pp アドレスの前に .Cm not を付けることによって、マッチの意味を反転させる ことができます (指定されたアドレス以外のすべてのアドレスがマッチします)。 これはポート番号の選択には影響しません。 .Pp TCP と UDP ではさらに、 .Em ports を以下のように指定できます。 .Bd -ragged -offset indent .Sm off .Eo \&{ .Ar port | .Ar port No \&- Ar port | .Ar port : mask .Ec \&} Op , Ar port Op , Ar ... .Sm on .Ed .Pp 記号 .Ql \&- による表現は、ポート範囲 (両端含む) を指定します。 .Pp 記号 .Ql \&: による表現は、ポートとマスクを指定します。 マッチが宣言されるのは、 パケット中のポート番号がルール中のポート番号にマッチするときですが、 マッチ対象のビットはマスク中で指定されたものに限定されます。 .Pp ポート番号の代わりに (ファイル .Pa /etc/services から取った) サービス名を使用できます。 ポート範囲指定の書式は、最初の値としてのみ指定できます。 列挙出来るポート数は .Pa /usr/src/sys/netinet/ip_fw.h で .Dv IP_FW_MAX_PORTS として定義されています。 バックスラッシュ .Pq Ql \e を使用することにより、サービス名中の .Pq Ql - 文字をエスケープ可能です: .Pp .Dl ipfw add count tcp from any ftp\e\e-data-ftp to any .Pp 断片化されたパケットでオフセットが非 0 のもの (すなわち、最初の断片ではないもの) は、 1 つ以上のポート指定を持つルールにはマッチしません。 断片化されたパケットへのマッチングに関する詳細は .Cm frag オプションを参照してください。 .It Ar interface-spec 次の指定子の組み合わせを使用可能です: .Bl -tag -width "via ipno" .It Cm in 入力パケットにのみマッチします。 .It Cm out 出力パケットにのみマッチします。 .It Cm via Ar ifX パケットはインタフェース .Ar ifX を通過せねばなりません。 .It Cm via Ar if Ns Cm * パケットはインタフェース .Ar ifX を通過せねばなりません。この .Ar X はどんなユニット番号でもかまいません。 .It Cm via any パケットは .Em いずれか のインタフェースを通過せねばなりません。 .It Cm via Ar ipno パケットは、 IP アドレス .Ar ipno を持つインタフェースを通過せねばなりません。 .El .Pp .Cm via を用いると、常時指定されたインタフェースがチェックされます。 .Cm recv や .Cm xmit を、 .Cm via の代わりに指定すると、 受信、もしくは送信インタフェースのみが (おのおの) チェックされます。 両方を指定すれば、 受信インタフェースと送信インタフェースの両方に基づきパケットを マッチさせることが可能になります。 例 : .Pp .Dl "ipfw add 100 deny ip from any to any out recv ed0 xmit ed1" .Pp .Cm recv で指定したインタフェースでは、受信と送信、両方のパケットをチェックできます。 それに対し、 .Cm xmit で指定したインタフェースでは、送信パケットのみとなります。 それゆえに、 .Cm xmit を指定すると .Cm out が、必須です ( .Ar in は不可)。 .Ar via と共に .Ar xmit もしくは、 .Ar recv を指定する事はできません。 .Pp パケットは、受信用ないし送信用インタフェースを持たない場合があります。 ローカルホストで発生したパケットには受信用のインタフェースはありませんし、 ローカルホスト内宛のパケットには送信用インタフェースはありません。 .It Ar options : .Bl -tag -width indent .It Cm keep-state Op Ar method マッチの際に、ファイアウォールが動的ルールを生成します。このルールの デフォルトの動作は、同一プロトコルを用いる発信元と宛先の IP/port 間で双方向に通過するパケットへのマッチです。 このルールの生存期間は有限です ( .Xr sysctl 8 変数の集合により制御されます)。この生存期間は、パケットのマッチが 生じるたびに更新されます。 .Pp 実際の動作は、異なる .Ar method を指定することにより変更が可能です。 .It Cm bridged ブリッジされるパケットにのみマッチします。 これはマルチキャストやブロードキャストのパケットを扱う際に有用です。 これ以外の方法では、パケットは、ブリッジの際に一度、 ローカルスタックに渡される際にもう一度と、 ファイアウォールを 2 度通過してしまいます。 .Pp パフォーマンス上のわずかな損失はともかく、 .Em pipe を用いる際にも問題になります。これは、バンド幅、キュー占有度などの カウンタに関して、同じパケットが 2 度カウントされてしまうためです。 .It Cm frag パケットが断片 (フラグメント) 化されたデータグラムの一部で、 かつデータグラムの先頭の断片でない場合にマッチします。 .Cm frag を、 .Cm tcpflags や TCP/UDP ポート指定と共に使用することはできません。 .It Cm ipoptions Ar spec IP ヘッダが、 .Ar spec に指定されたコンマで区切られたオプションのリストを含む場合にのみマッチします。 サポートされている IP オプションは .Pp .Cm ssrr (strict source route), .Cm lsrr (loose source route), .Cm rr (record packet route), .Cm ts (timestamp) です。 .Ql \&! によって、特定のオプションを含まない指定が記述できます。 .It Cm tcpoptions Ar spec TCP ヘッダが、 .Ar spec に指定されたコンマで区切られたオプションのリストを含む場合にのみマッチします。 サポートされている TCP オプションは .Pp .Cm mss (maximum segment size), .Cm window (tcp window advertisement), .Cm sack (selective ack), .Cm ts (rfc1323 timestamp), .Cm cc (rfc1644 t/tcp connection count) です。 .Ql \&! によって、特定のオプションを含まない指定が記述できます。 .It Cm established TCP パケットのみに適用されます。 RST または ACK ビットがセットされているパケットのみマッチします。 .It Cm setup TCP パケットのみに適用されます。 SYN ビットがセットされ ACK がセットされていないパケットのみマッチします。 .It Cm tcpflags Ar spec TCP パケットのみに適用されます。 TCP ヘッダが .Ar spec に指定されたコンマで区切られたフラグのリストを含む場合にのみマッチします。 サポートされているフラグは、 .Pp .Cm fin , .Cm syn , .Cm rst , .Cm psh , .Cm ack , .Cm urg です。 .Ql \&! によって、特定のフラグを含まない指定を記述できます。 .Cm tcpflags 指定を含むルールは、非 0 のオフセットを持つ断片化されたパケットに マッチすることはありません。 断片化されたパケットに関するマッチについての詳細は .Cm frag オプションを参照してください。 .It Cm icmptypes Ar types ICMP パケットのみに適用されます。 ICMP タイプが .Ar types で指定されたリスト中に存在する場合にのみマッチします。 リストは範囲指定でも、タイプおのおのをコンマで区切ったものでも どちらの組み合わせでもかまいません。 サポートされている ICMP タイプは次の通りです: .Pp エコー返答 .Pq Cm 0 , 終点不到達 .Pq Cm 3 , 発信抑制 .Pq Cm 4 , リダイレクト .Pq Cm 5 , エコー要求 .Pq Cm 8 , ルータ広告 .Pq Cm 9 , ルータ要請 .Pq Cm 10 , 時間超過 .Pq Cm 11 , IP ヘッダ異常 .Pq Cm 12 , タイムスタンプ要求 .Pq Cm 13 , タイムスタンプ応答 .Pq Cm 14 , 情報要求 .Pq Cm 15 , 情報返答 .Pq Cm 16 , アドレスマスク要求 .Pq Cm 17 , アドレスマスク応答 .Pq Cm 18 .It Cm uid Ar user .Ar user が送信したまたは受信する、 すべての TCP パケットと UDP パケットにマッチします。 .Ar user は、名前でも ID 番号でもマッチします。 .It Cm gid Ar group .Ar group が送信したまたは受信する、 すべての TCP パケットと UDP パケットにマッチします。 .Ar group は、名前でも ID 番号でもマッチします。 .El .El .Sh トラフィックシェイパ設定 .Nm ユーティリティは、 .Xr dummynet 4 トラフィックシェイパへのユーザインタフェースも提供します。 シェイパは、ユーザが指定したマスクを IP ヘッダの異なったフィールドに 適用することにより、パケットを .Em フロー (flow) に分割します。 同じフローに属するパケットは 2 つの異なったオブジェクトへ渡されます。 それは .Em パイプ (pipe) または .Em キュー (queue) と呼ばれるものです。 .Em パイプ は、与えられたバンド幅、遅延時間、キューの長さ、パケット喪失率を もつリンクをエミュレートします。 このパラメータに従い、パケットはパイプ中を遷移します。 .Pp .Em キュー は、WF2Q+ ポリシを実装するために使用する抽象化です。 キューは、各フローに対し、重みと参照パイプを関連付けます。 それから、同じパイプに結び付けられたすべてのフローは、 WF2Q+ ポリシに従い、 パイプによって固定されたレートでスケジュールされます。 .Pp .Nm パイプ設定書式は次の通りです。 .Bd -ragged .Cm pipe Ar number Cm config .Op Cm bw Ar bandwidth | device .Op Cm delay Ar ms-delay .Oo .Cm queue .Es \&{ \&} .En Ar slots | size .Oc .Op Cm plr Ar loss-probability .Op Cm mask Ar mask-specifier .Op Cm buckets Ar hash-table-size .Oo .Cm red | gred .Sm off .Ar w_q No / Xo .Ar min_th No / .Ar max_th No / .Ar max_p .Xc .Sm on .Oc .Ed .Pp .Nm キュー設定書式は次の通りです。 .Bd -ragged .Cm queue Ar number Cm config .Op Cm pipe Ar pipe_nr .Op Cm weight Ar weight .Oo .Cm queue .Es \&{ \&} .En Ar slots | size .Oc .Op Cm plr Ar loss-probability .Op Cm mask Ar mask-specifier .Op Cm buckets Ar hash-table-size .Oo .Cm red | gred .Sm off .Ar w_q No / Xo .Ar min_th No / .Ar max_th No / .Ar max_p .Xc .Sm on .Oc .Pp 次のパラメータをパイプに対して設定可能です: .Bl -tag -width indent .It Cm bw Ar bandwidth | device バンド幅であり、単位は .Sm off .Oo .Cm K | M .Oc Eo \&{ .Cm bit/s | Byte/s .Ec \&} .Sm on で測定します。 .Pp 値 0 (デフォルト) は無限のバンド幅を意味します。 単位は数値の直後に続けて書く必要があり、次のようにします。 .Pp .Dl "ipfw pipe 1 config bw 300Kbit/s queue 50KBytes" .Pp 数値の代りにデバイス名が指定された場合、 送信クロックは指定したデバイスから与えられます。 現在のところ、 .Xr tun 4 デバイスのみが .Xr ppp 8 と組み合わせて使用するために、この機能を提供しています。 .It Cm delay Ar ms-delay 遅延時間であり、ミリ秒単位で指定します。 値は、クロックティックの倍数 (典型的には 10ms ですが、 カーネルを "options HZ=1000" で動作させて精度を 1ms 以下にすると良い ことが経験的に知られています) に丸められます。 デフォルト値は 0 であり、遅延無しを意味します。 .It Cm queue Xo .Es \&{ \&} .En Ar slots | size Ns Cm Kbytes .Xc キューの大きさであり、スロット数か KBytes です。 デフォルト値は 50 スロットであり、 イーサネットデバイスの典型的なキューの大きさです。 低速リンクではキューの大きさを短くすべきことに注意してください。 さもないと、トラフィックは甚大なキュー遅延による影響を受けてしまいます。 例えば、 50 個の最大イーサネットパケット (1500 バイト) は 600Kbit であり、 30Kbit/s のパイプでは 20 秒のキューを意味します。 より大きな MTU のインタフェースからパケットを受け取るときには、 より悪い結果となります。 例えば、ループバックインタフェースにおいて 16KB パケットを受け取るときです。 .It Cm plr Ar packet-loss-rate パケット喪失率です。 引数 .Ar packet-loss-rate は 0 と 1 の間の浮動小数点数であり、 0 は喪失無しを意味し、1 は 100% の喪失を意味します。 喪失率は内部的には 31 ビットで表現されます。 .It Cm mask Ar mask-specifier .Xr dummynet 4 では、フローごとのキューを生成可能です。 フロー識別子は、パイプ設定において指定される IP アドレス、ポート、プロトコルタイプでマスクすることで構築されます。 マスク後に同じ識別子を持つパケットは、同じキューに落ちます。 使用可能なマスク指定子は、次を組み合わせたものです: .Cm dst-ip Ar mask , .Cm src-ip Ar mask , .Cm dst-port Ar mask , .Cm src-port Ar mask , .Cm proto Ar mask , .Cm all 。 最後の指定子は、 すべてのフィールドのすべてのビットが重要であることを意味しています。 .Ar pipe 設定中で使用される場合、 各フローにはパイプのレートに等しいレートが割り当てられます。 .Ar queue 設定中で使用される場合、 各フローにはキューの重みに等しい重みが割り当てられ、 同じパイプを構成するキューは重みに比例してバンド幅を共有します。 .It Cm buckets Ar hash-table-size 様々なキューを格納するために使用するハッシュ表の大きさを指定します。 デフォルト値は 64 であり、 .Xr sysctl 8 変数 .Em net.inet.ip.dummynet.hash_size で制御され、使用可能な範囲は 16 から 1024 です。 .It Cm pipe Ar pipe_nr キューを指定したパイプに接続します。 複数のキュー (通常は異なった重み) を同一のパイプに接続可能です。 この場合、このキュー集合に対する集約レートを、このパイプが指定します。 .It Cm weight Ar weight このキューに適合するフローに使用する重みを指定します。 重みは 1..100 の範囲であることが必要であり、デフォルトは 1 です。 .It Cm red | gred Xo .Sm off .Ar w_q No / .Ar min_th No / .Ar max_th No / .Ar max_p .Sm on .Xc RED キュー管理アルゴリズムを使用します。 .Ar w_q と .Ar max_p は 0 から 1 (0 を含みません) の範囲の浮動小数点数であり、 .Ar min_th と .Ar max_th はキュー管理用の閾値を指定する整数です (キューがバイト数で指定された場合は閾値はバイトで計算され、 そうでない場合はスロット数で計算されます)。 .Xr dummynet 4 は、gentle RED という変型 (gred) もサポートします。 RED の動作を制御するために、3 個の .Xr sysctl 8 変数を使用可能です: .Bl -tag -width indent .It Em net.inet.ip.dummynet.red_lookup_depth リンクがアイドルの時の、平均キューの計算精度を指定します (デフォルトは 256 であり、0 より大きい必要があります) .It Em net.inet.ip.dummynet.red_avg_pkt_size パケットサイズの平均の期待値を指定します (デフォルトは 512 であり、0 より大きい必要があります) .It Em net.inet.ip.dummynet.red_max_pkt_size パケットサイズの最大値の期待値を指定します。 キューの閾値がバイトの場合のみ使用されます (デフォルトは 1500 であり、0 より大きい必要があります) .El .El .Sh チェックリスト ルールを構成する際に考慮すべき重要な点を述べます。 .Bl -bullet .It かならず送信パケットと受信パケットの両方のパケットをフィルタリングします。 ほとんどのネットワークコネクションではパケットが双方向に流れることが必要です。 .It テストは細心の注意を払って行ないます。テストの際にはコンソールの近くにいる のがよいでしょう。 .It ループバックインタフェースのことを忘れてはなりません。 .El .Sh 長所 .Bl -bullet .It ファイアウォールが常に破棄するパケットが 1 種類あります。 フラグメントオフセットが 1 の TCP パケットフラグメントです。 これはパケットとしては有効なものですが、利用目的はファイアウォールを かいくぐることしかありません。 .It ネットワーク越しにログインしている場合、 .Xr kld 4 バージョンの .Nm をロードすることはそれほど単純なことではありません。 以下のコマンドを奨めます。 .Bd -literal -offset indent kldload /modules/ipfw.ko && \e ipfw add 32000 allow ip from any to any .Ed .Pp これに引続き、同じような状況で .Bd -literal -offset indent ipfw flush .Ed .Pp とするのは良くありません。 .It システムセキュリティレベルが 3 以上に設定されている場合、 IP フィルタリストを変更できません (システムセキュリティレベルについては .Xr init 8 を参照してください)。 .El .Sh パケットの行き先変更 指定されたポートにバインドされた .Xr divert 4 ソケットは、 そのポートへ行き先変更されたパケットを、 全部受けとります。 宛先ポートにバインドされたソケットがない場合や、 カーネルがパケットの行き先変更ソケットをサポートするようには コンパイルされていない場合、 パケットは破棄されます。 .Sh SYSCTL 変数 ファイアウォールの動作を制御する .Xr sysctl 8 変数の集合があります。これらを、デフォルトの値と意味とともに 以下に示します。 .Bl -tag -width indent .It Em net.inet.ip.fw.debug : No 1 .Nm が生成するデバッグメッセージを制御します。 .It Em net.inet.ip.fw.one_pass : No 1 セットされると、 .Xr dummynet 4 パイプから出て来たパケットは、ふたたびファイアウォールを通さないようにします。 セットされない場合、pipe 処理のあと、 パケットは再びファイアウォールに挿入され、次のルールから再開されます。 .It Em net.inet.ip.fw.verbose : No 1 冗長なメッセージを出力するようにします。 .It Em net.inet.ip.fw.enable : No 1 ファイアウォールを動作可能にします。 この変数を 0 に設定すると、ファイアウォールをコンパイルして 仕込んでいてもファイアウォールなしで動作します。 .It Em net.inet.ip.fw.verbose_limit : No 0 冗長なファイアウォールが生成するメッセージの数を制限します。 .It Em net.inet.ip.fw.dyn_buckets : No 256 .It Em net.inet.ip.fw.curr_dyn_buckets : No 256 動的ルールを保持するために使用するハッシュ表の設定サイズと 現在のサイズです。この値は 2 のべき乗にする必要があります。 ハッシュ表のサイズの変更は、表が空の場合のみ行なわれます。 したがって、実行中に表のサイズを変更するためには、 .Cm flush してルール集合を再ロードする必要があるでしょう。 .It Em net.inet.ip.fw.dyn_count : No 3 現在の動的ルールの数です .Pq 読み込み専用 。 .It Em net.inet.ip.fw.dyn_max : No 1000 動的ルールの最大値です。この限界にいきつくと、 古いルールが無効になるまでは、それ以上、動的ルールを 組み込むことはできません。 .It Em net.inet.ip.fw.dyn_ack_lifetime : No 300 .It Em net.inet.ip.fw.dyn_syn_lifetime : No 20 .It Em net.inet.ip.fw.dyn_fin_lifetime : No 20 .It Em net.inet.ip.fw.dyn_rst_lifetime : No 5 .It Em net.inet.ip.fw.dyn_short_lifetime : No 30 これらの値は、動的ルールの生存期間を秒単位でコントロールします。 最初の SYN 交換の際に、生存期間が short になり、 SYN を両方とも見た後に増やされ、最後の FIN 交換の間、 または RST が生じる際に再び減らされます。 .El .Sh 使用例 次のコマンドは .Em cracker.evil.org から .Em wolf.tambov.su の telnet ポートへ送られるすべての TCP パケットを拒否するルールを追加します。 .Pp .Dl "ipfw add deny tcp from cracker.evil.org to wolf.tambov.su telnet" .Pp 次のコマンドはクラッカーのネットワーク全体からホスト my への すべてのコネクションを拒否します。 .Pp .Dl "ipfw add deny ip from 123.45.67.0/24 to my.host.org" .Pp 最初に効率良く (動的ルールを用いずに) アクセスを制限する方法は、 次のルールを用いることです。 .Pp .Dl "ipfw add allow tcp from any to any established" .Dl "ipfw add allow tcp from net1 portlist1 to net2 portlist2 setup" .Dl "ipfw add allow tcp from net3 portlist3 to net3 portlist3 setup" .Dl "..." .Dl "ipfw add deny tcp from any to any" .Pp 最初のルールは通常の TCP パケットにすぐにマッチしますが、 最初の SYN パケットにはマッチしません。 指定した発信元/宛先の組の SYN パケットのみ、次の .Cm setup ルールにマッチします。これら以外の SYN パケットは、最後の .Cm deny ルールにより却下されます。 .Pp にせの TCP パケットを含む怒涛の攻撃 (flood attack) から サイトを保護するためには、次の動的ルールを用いた方が安全です。 .Pp .Dl "ipfw add check-state" .Dl "ipfw add deny tcp from any to any established" .Dl "ipfw add allow tcp from my-net to any setup keep-state" .Pp これらのルールにより、ファイアウォールは、自分たちのネットワークの 内側から到着する通常の SYN パケットで始まるコネクションに対して のみ動的ルールを組み込みます。動的ルールは、最初の .Cm check-state ルール、または、 .Cm keep-state ルールに遭遇した時点でチェックされます。 ルール集合のスキャン量を最小にするために、 .Cm check-state ルールは、ルール集合の最初のほうに置くことになるのが普通です。 実際の燃費は変動します。 .Pp .Em 注意 : ステートフルなルールは、怒涛の SYN 攻撃により極めて大量の動的ルールを 作ってしまい、サービス不能攻撃を受けることになる可能性があります。 ファイアウォールの動作をコントロールする .Xr sysctl 8 変数に従いファイアウォールが動作することによって、 このような攻撃の影響を部分的にでも制限することはできます。 .Pp 次はカウントされている情報とタイムスタンプ情報を見る .Cm list コマンドのよい例です。 .Pp .Dl ipfw -at l .Pp これはタイムスタンプを省略して次のように指定できます。 .Pp .Dl ipfw -a l .Pp 次のルールは 192.168.2.0/24 からのすべての受信パケットを、5000 番のポートに 行き先変更するものです。 .Pp .Dl ipfw divert 5000 ip from 192.168.2.0/24 to any in .Pp 次のルールは、 .Nm と .Xr dummynet 4 をシミュレーションなどで使う際の使用方法を示しています。 .Pp このルールは 5% の確率でランダムにパケットを落します。 .Pp .Dl "ipfw add prob 0.05 deny ip from any to any in" .Pp 同様の効果は dummynet パイプで実現可能です: .Pp .Dl "ipfw add pipe 10 ip from any to any" .Dl "ipfw pipe 10 config plr 0.05" .Pp 人工的にバンド幅を制限するためにパイプを使用可能です。 例えばルータとして動作するマシン上で、 192.168.2.0/24 上のローカルクライアントからのトラフィックを制限したい場合、 次のようにします: .Pp .Dl "ipfw add pipe 1 ip from 192.168.2.0/24 to any out" .Dl "ipfw pipe 1 config bw 300Kbit/s queue 50KBytes" .Pp .Cm out 指示子を使用しているので、ルールが 2 度使われないことに注意してください。 .Nm ルールは、実際には、 入力パケットと出力パケットの両方に適用されることを覚えておいてください。 .Pp バンド幅に制限がある双方向リンクをシミュレートする場合、 正しい方法は次の通りです: .Pp .Dl "ipfw add pipe 1 ip from any to any out" .Dl "ipfw add pipe 2 ip from any to any in" .Dl "ipfw pipe 1 config bw 64Kbit/s queue 10Kbytes" .Dl "ipfw pipe 2 config bw 64Kbit/s queue 10Kbytes" .Pp 上述の方法は非常に有用な場合があり、 例えばあなたの装飾的なウェブページが 低速リンクのみで接続されている在宅ユーザにどう見えているか 知りたい場合に有用です。 半二重メディア (例えば appletalk, Ethernet, IRDA) をシミュレートしたい 場合を除き、単一のパイプを両方の方向に使用すべきではありません。 両方のパイプが同じ設定である必要はないので、 非対称リンクをシミュレート可能です。 .Pp RED キュー管理アルゴリズムを使用してネットワーク性能を検証するには、 次のようにします: .Pp .Dl "ipfw add pipe 1 ip from any to any" .Dl "ipfw pipe 1 config bw 500Kbit/s queue 100 red 0.002/30/80/0.1" .Pp トラフィックシェイパの他の典型的な応用は、 いくばくかの通信遅延を導入することです。 これは、遠隔手続き呼び出しを多用するアプリケーションで、 バンド幅よりも接続のラウンドトリップ時間がしばしば制約条件となる アプリケーションに、大きな影響を与えます: .Pp .Dl "ipfw add pipe 1 ip from any to any out" .Dl "ipfw add pipe 2 ip from any to any in" .Dl "ipfw pipe 1 config delay 250ms bw 1Mbit/s" .Dl "ipfw pipe 2 config delay 250ms bw 1Mbit/s" .Pp フローごとのキューはさまざまな用途に有用です。 非常に単純な用途は、トラフィックの計数です: .Pp .Dl "ipfw add pipe 1 tcp from any to any" .Dl "ipfw add pipe 1 udp from any to any" .Dl "ipfw add pipe 1 ip from any to any" .Dl "ipfw pipe 1 config mask all" .Pp 上述のルールセットは、 すべてのトラフィックに対するキューを生成 (して統計情報を収集) します。 パイプには制限をつけていないので、統計情報を集める効果しかありません。 最後のルールだけでなく 3 個のルールが必要なことに注意してください。 .Nm が IP パケットのマッチを試みるときにポートを考慮しないため、 別々のポート上の接続は我々には同じものに見えます。 .Pp より洗練された例は、 ネットワークの出力トラフィックを、 ネットワーク毎に制約するのではなく、ホスト毎に制約するものです: .Pp .Dl "ipfw add pipe 1 ip from 192.168.2.0/24 to any out" .Dl "ipfw add pipe 2 ip from any to 192.168.2.0/24 in" .Dl "ipfw pipe 1 config mask src-ip 0x000000ff bw 200Kbit/s queue 20Kbytes" .Dl "ipfw pipe 2 config mask dst-ip 0x000000ff bw 200Kbit/s queue 20Kbytes" .Sh 関連項目 .Xr cpp 1 , .Xr m4 1 , .Xr bridge 4 , .Xr divert 4 , .Xr dummynet 4 , .Xr ip 4 , .Xr ipfirewall 4 , .Xr protocols 5 , .Xr services 5 , .Xr init 8 , .Xr kldload 8 , .Xr reboot 8 , .Xr sysctl 8 , .Xr syslogd 8 .Sh バグ .Pp この数年で文法が大きくなってしまい、 非常にすっきりしているとは言い難いです。 .Pp .Em WARNING!!WARNING!!WARNING!!WARNING!!WARNING!!WARNING!!WARNING!! .Pp このプログラムはコンピュータをかなり使いにくい状態にしてしまう 可能性があります。 はじめて使用する時はコンソール上で実行し、理解していない操作は .Em 絶対に実行しない ようにして下さい。 .Pp 連続したエントリの操作もしくは追加に際し、 サービス名やプロトコル名は使用できません。 .Pp 入ってきたパケットの断片 (フラグメント) が .Cm divert によって行き先を変更されるか .Cm tee されると、ソケットに配送される前にパケットは再構成されます。 .Pp .Cm tee ルールにマッチするパケットは、 即時に受理されるべきではなく、ルールリストを更に通るべきです。 これは、以降のバージョンで修正されるかもしれません。 .Sh 作者 .An Ugen J. S. Antsilevich , .An Poul-Henning Kamp , .An Alex Nash , .An Archie Cobbs , .An Luigi Rizzo . .Pp .An -nosplit API は .An Daniel Boulet が BSDI 用に記述したコードに基づいています。 .Pp .Xr dummynet 4 トラフィックシェイパは Akamba Corp がサポートしました。 .Sh 歴史 .Nm は、 .Fx 2.0 で最初に現れました。 .Xr dummynet 4 は .Fx 2.2.8 から導入されました。 ステートフル拡張は、 .Fx 4.0 から導入されました。 diff --git a/ja_JP.eucJP/man/man8/kget.8 b/ja_JP.eucJP/man/man8/kget.8 index fd6fcddf22..be76abbad5 100644 --- a/ja_JP.eucJP/man/man8/kget.8 +++ b/ja_JP.eucJP/man/man8/kget.8 @@ -1,75 +1,75 @@ .\" Copyright (c) 1999 Andrzej Bialecki .\" 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. .\" -.\" %FreeBSD: src/sbin/kget/kget.8,v 1.3.2.2 2000/12/12 09:58:03 ru Exp % +.\" %FreeBSD: src/sbin/kget/kget.8,v 1.3.2.3 2001/03/05 19:33:43 ru Exp % .\" .\" jpman %Id: kget.8,v 1.3 1999/05/09 07:13:48 horikawa Stab % .\" .Dd February 20, 1999 .Dt KGET 8 .Os FreeBSD .Sh 名称 .Nm kget .Nd カーネルの変更情報を書き出す .Sh 書式 .Nm .Ar filename .Sh 解説 .Nm ユーティリティは、ユーザコンフィグ (-c) セッションで変更された すべてのデバイス設定情報を、見たり保存したりできるようにします。 もっとも典型的には、この情報は /boot/kernel.conf ファイルに書き込まれて、 /boot/loader.rc で ("load -t userconfig_script /boot/kernel.conf" として) 読み込まれます。これにより、 システムがブートする度にユーザが入力しなければいけない、 という手間を省くことができます。 .Pp .Nm はカーネルからデータを取り寄せるために .Xr sysctl 3 インタフェースを使います。 とにかく -.Ar machdep.uc_devlist +.Va machdep.uc_devlist シンボルがないといけません。 もしないのであれば、このユーティリティを使う前に カーネルを更新する必要があるのでしょう。 .Pp 使用法: .Nm .Ar filename .Pp .Ar filename は通常のファイル (上書きされます) か、もしくは - です。 後者の場合は標準出力を使用します。 .Sh バグ きっといくつかあるでしょう。 .Sh 関連項目 .Xr sysctl 3 .Sh 歴史 .Nm コマンドは .An Andrzej Bialecki による PicoBSD 配布の一部として .Fx 3.1 に登場しました。 diff --git a/ja_JP.eucJP/man/man8/kldload.8 b/ja_JP.eucJP/man/man8/kldload.8 index e8dc37ed22..d37425823d 100644 --- a/ja_JP.eucJP/man/man8/kldload.8 +++ b/ja_JP.eucJP/man/man8/kldload.8 @@ -1,72 +1,72 @@ .\" .\" Copyright (c) 1997 Doug Rabson .\" 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. .\" -.\" %FreeBSD: src/sbin/kldload/kldload.8,v 1.7.2.2 2000/12/18 15:38:24 ru Exp % +.\" %FreeBSD: src/sbin/kldload/kldload.8,v 1.7.2.3 2001/03/05 19:33:43 ru Exp % .\" jpman %Id: kldload.8,v 1.3 1998/10/08 15:17:26 horikawa Stab % .\" .Dd April 25, 1997 .Dt KLDLOAD 8 .Os FreeBSD .Sh 名称 .Nm kldload .Nd カーネルにファイルをロードする .Sh 書式 .Nm .Op Fl v .Ar filename .Sh 解説 .Nm はカーネルリンカを用いてファイル -.Ar filename.ko +.Ar filename Ns Pa .ko をカーネルにロードします。 .Pp 以下のオプションが利用できます : .Bl -tag -width indent .It Fl v 出力を冗長にします。 .El .Sh 関連ファイル .Bl -tag -width /modules -compact .It Pa /modules ローダブルモジュールを格納するディレクトリ。 モジュールの拡張子は .ko である必要があります。 .El .Sh 診断 .Nm ユーティリティは、成功時には状態 0 で、 エラー発生時には 0 以外の状態で終了します。 .Sh 関連項目 .Xr kldload 2 , .Xr kldstat 8 , .Xr kldunload 8 .Sh 歴史 .Nm コマンドは .Fx 3.0 に初めて登場し、 .Xr lkm 4 インタフェースを置き換えました。 .Sh 作者 .An Doug Rabson Aq dfr@FreeBSD.org diff --git a/ja_JP.eucJP/man/man8/ldconfig.8 b/ja_JP.eucJP/man/man8/ldconfig.8 index b07fd95e9c..45b0ff97a7 100644 --- a/ja_JP.eucJP/man/man8/ldconfig.8 +++ b/ja_JP.eucJP/man/man8/ldconfig.8 @@ -1,210 +1,210 @@ .\" .\" Copyright (c) 1993 Paul Kranenburg .\" 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 Paul Kranenburg. .\" 3. 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. .\" -.\" %FreeBSD: src/sbin/ldconfig/ldconfig.8,v 1.19.2.4 2001/01/28 20:55:09 jdp Exp % +.\" %FreeBSD: src/sbin/ldconfig/ldconfig.8,v 1.19.2.5 2001/03/05 19:33:44 ru Exp % .\" jpman %Id: ldconfig.8,v 1.3 1997/07/22 16:49:42 horikawa Stab % .\" .Dd October 3, 1993 .Dt LDCONFIG 8 .Os FreeBSD .Sh 名称 .Nm ldconfig .Nd 共有ライブラリのキャッシュを設定する .Sh 書式 .Nm .Op Fl aout | Fl elf .Op Fl Rimrsv .Op Fl f Ar hints_file -.Op Ar directory | file Ar ... +.Op Ar directory | Ar .Sh 解説 .Nm は、ダイナミックリンカ が、複数のディレクトリから利用可能な共有ライブラリを素早く捜し出すために 使う .Dq ヒント の集合を準備するために使われます。 コマンドは、組み込みのシステムディレクトリと コマンドラインで指定された任意の .Ar ディレクトリ (を指定された順番) で共有ライブラリを探し、 その結果を システムファイル に保存します。 これは、 ダイナミックリンカ が要求された共有ライブラリを読み込む際のディレクトリ検索操作 オーバヘッドをあらかじめ払っていることになります。 .Pp コマンドラインにて指定するファイル名は共有ライブラリを検査するディレクトリ を含むことが期待されます。 各ディレクトリのパス名は行の先頭から始まる必要があります。 空行およびコメント文字 .Ql \&# から始まる行は無視されます。 .Pp セキュリティ上の理由から、 誰でも書き込み可能またはグループ書き込み可能なディレクトリと、 root が所有しないディレクトリに対しては、 警告メッセージを生成してスキップします。 ただし、 .Fl i オプションが存在する場合は、例外です。 .Pp 共有ライブラリは、実行されようとするプログラムによって必要とされる ならば、利用可能なものが自動的に読み込まれることになります。 これは、実行形式に検索パスを保存する必要性を無くします。 .Pp .Ev LD_LIBRARY_PATH 環境変数は、キャッシュから使用するディレクトリ (や、その順序関係) を 上書きしたり、共有ライブラリを探す追加のディレクトリを 指定するために使われます。 .Ev LD_LIBRARY_PATH は、共有ライブラリを読み込む必要がある時、 ダイナミックリンカ によって検索されるディレクトリパスのリストを コロン .Sq \&: で区切って指定します。 これは、 .Xr ld 1 における .Fl L オプションと、実行時点では等価です。 .Pp .Nm は典型的にはブート時の手続きのひとつとして実行されます。 .Pp 以下のオプションが .Nm で認識されます。 .Bl -tag -width indent .It Fl aout a.out 形式の共有ライブラリに対するヒントを生成します。 .It Fl elf ELF 形式の共有ライブラリに対するヒントを生成します。 .It Fl R 以前に設定したディレクトリを再度検索します。 以前作成したヒントファイルをオープンし、 ヘッダからディレクトリリストを取り出します。 コマンドラインに指定したパス名も処理します。 これが、パラメータ無指定時のデフォルト動作です。 .It Fl f Ar hints_file 標準のファイルの代りに、 特定のヒントファイルを読み込んだり、更新したり、その両方を 行ったりします。 このオプションは、テストのために提供されています。 .It Fl i 安全ではないモードで実行します。 セキュリティチェックは実行されません。 .It Fl m ヒントファイルの内容を指定されたディレクトリで見付かったものに 置き換える代りに、新しいディレクトリの内容を .Dq 併合 (merge) します。 以前の .Nm の実行によってヒントファイル内に記録されているディレクトリも、 新しい共有ライブラリのために再び検索されます。 .It Fl r 現在のヒントファイルの中身について、標準出力に表示します。 ヒントファイルは変更されません。 ヒントファイル中のディレクトリリストが組み込まれます。 .It Fl s 共有ライブラリのために、システムの組み込みディレクトリ .Pq Dq /usr/lib を検索しません。 .It Fl v 冗長モードに切り替えます。 .El .Sh セキュリティ .Ev セット uid (set-user-Id) プログラムのアドレス空間に共有ライブラリを読み込む時には、 特別の注意をしなければなりません。 そのようなプログラムが実行される時はいつでも、 ダイナミックリンカ はヒントファイルからだけ共有ライブラリを読み込みます。 特に、 .Ev LD_LIBRARY_PATH は、ライブラリを探すためには使われません。 従って、ldconfig の役割には 2 つあります。 素早い検索のためにヒント集合を作成することに加えて、 共有オブジェクトが共有ライブラリを安全に読み込むことができる ディレクトリの集まりを特定することも、その役割です。 .Sh 環境変数 .Bl -tag -width OBJFORMATxxx -compact .It Ev OBJFORMAT .Pa /etc/objformat (後述) に優先し、 .Fl aout と .Fl elf のどちらがデフォルトであるかを決定します。 設定されている場合、値は .Ql aout もしくは .Ql elf のいずれかである必要があります。 .El .Sh 関連ファイル .Bl -tag -width /var/run/ld-elf.so.hintsxxx -compact .It Pa /var/run/ld.so.hints a.out ダイナミックリンカの標準ヒントファイル。 .It Pa /var/run/ld-elf.so.hints ELF ダイナミックリンカの標準ヒントファイル。 .It Pa /etc/ld.so.conf 伝統的な設定ファイルであり、 .Fl aout 付きで起動した場合のためにディレクトリ名を格納します。 .It Pa /etc/ld-elf.so.conf 伝統的な設定ファイルであり、 .Fl elf 付きで起動した場合のためにディレクトリ名を格納します。 .It Pa /etc/objformat .Fl aout と .Fl elf のどちらがデフォルトであるかを決定します。 存在する場合、 .Ql OBJFORMAT=aout か .Ql OBJFORMAT=elf のいずれかの 1 行から成る必要があります。 .Sh 関連項目 .Xr ld 1 , .Xr link 5 .Sh 歴史 .Nm ユーティリティは SunOS 4.0 で初めて現れました。 現在の形は、 .Fx 1.1 からです。 .Sh バグ .Fl aout 指定時には、実行されないセキュリティチェックがあります (例えば、追加されたディレクトリの root の所有権)。 diff --git a/ja_JP.eucJP/man/man8/loader.4th.8 b/ja_JP.eucJP/man/man8/loader.4th.8 index 2fdca282d1..b493d1538b 100644 --- a/ja_JP.eucJP/man/man8/loader.4th.8 +++ b/ja_JP.eucJP/man/man8/loader.4th.8 @@ -1,191 +1,200 @@ .\" Copyright (c) 1999 Daniel C. Sobral .\" 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. .\" -.\" %FreeBSD: src/sys/boot/forth/loader.4th.8,v 1.5.2.2 2001/01/16 10:37:42 ru Exp % +.\" %FreeBSD: src/sys/boot/forth/loader.4th.8,v 1.5.2.3 2001/03/04 04:59:44 obrien Exp % .\" .\" jpman %Id: loader.4th.8,v 1.2 1999/05/07 11:24:51 horikawa Stab % .Dd April 25, 1999 .Dt LOADER.4TH 8 .Os .Sh 名称 .Nm loader.4th .Nd loader.conf の処理ツール .Sh 解説 .Nm の名前で知られるファイルは、 .Xr loader.conf 5 ファイルを操作するためにデザインされたコマンドの集合です。 デフォルトの .Pa /boot/loader.rc は、 .Nm を組み込み、そのコマンドのうちのひとつを使用することにより、標準の .Xr loader.conf 5 ファイルを自動的に読み込んで処理します。 他のコマンドは、ユーザが別の設定を指定することを助けるために存在しています。 .Pp .Nm のコマンド自身は、 ほとんど全部の用途に間に合う程には十分ではありません。 最もありふれた状況における使用例については、 後述の使用例を参照してください。 追加のコマンドについては、 .Xr loader 8 を参照してください。 .Pp .Nm で提供されるコマンドを使用する前に、 .Nm を次のコマンドで組み込む必要があります: .Pp .Dl include loader.4th .Pp この行は、デフォルトの .Pa /boot/loader.rc ファイルにありますので、標準の設定では不要です (し、再発行してはなりません)。 .Pp これにより提供されるコマンドは、次の通りです: .Bl -tag -width disable-module_module -offset indent .It Ic boot-conf 読み込んだ .Xr loader.conf 5 ファイルに指定される通りにブートへ進みます。 .Ic autoboot を使用しますので、止めることが可能です。 +.Pp .It Ic start .Pa /boot/defaults/loader.conf と、ここで指定される他のすべての .Xr loader.conf 5 ファイルを読み込み、これらに指定される通りにブートへ進みます。 これはデフォルトの .Pa /boot/loader.rc ファイルで指定されるコマンドであり、 .Pa autoboot コマンド ( .Xr loader 8 参照) を使用しますので、更に .Xr loader 8 と対話するために止めることが可能です。 +.Pp .It Ic initialize サポートライブラリを初期化します。これにより、最初に .Ic start を実行することなくコマンドを使用可能となります。 .Ic start のように、 .Pa /boot/defaults/loader.conf とそこで指定される他の .Xr loader.conf 5 ファイルを読み込みます。 スタック上にフラグを返し、 なんらかの設定ファイルを成功裏にロードできたかを示します。 +.Pp .It Ic read-conf Ar filename .Xr loader.conf 5 ファイルを読み込み、処理します。ブートへは進みません。 +.Pp .It Ic enable-module Ar module .Ar module のロードを有効にします。 +.Pp .It Ic disable-module Ar module .Ar module のロードを無効にします。 +.Pp .It Ic toggle-module Ar module .Ar module のロードのオンオフを切り替えます。 +.Pp .It Ic show-module Ar module モジュール .Ar module に関して .Xr loader.conf 5 ファイル中で収集した情報を表示します。 +.Pp .It Ic retry .Xr loader.conf 5 ファイル中で使用され、モジュールのロードに失敗した後の動作を指定します。 +.Pp .It Ic ignore .Xr loader.conf 5 ファイル中で使用され、モジュールのロードに失敗した後の動作を指定します。 .El .Sh 関連ファイル .Bl -tag -width /boot/loader.4th -compact .It Pa /boot/loader .Xr loader 8 です。 .It Pa /boot/loader.4th .Nm 自身です。 .It Pa /boot/loader.rc .Xr loader 8 ブートストラップスクリプトです。 .It Pa /boot/defaults/loader.conf .Ic start コマンドによってロードされるファイルです。 .El .Sh 使用例 標準の .Pa /boot/loader.rc は次のようになっています: .Pp .Bd -literal -offset indent -compact include /boot/loader.4th start .Ed .Pp 標準の設定で別のカーネルをロードするには、次のようにします: .Pp .Bd -literal -offset indent -compact set kernel="kernel.old" unload boot-conf .Ed .Pp 追加の設定ファイルを読み込み、ブートへ進みます: .Pp .Bd -literal -offset indent -compact unload read-conf /boot/special.conf boot-conf .Ed .Pp 起動画面モジュールとビットマップの読み込みを無効化し、ブートへ進みます: .Pp .Bd -literal -offset indent -compact unload disable-module splash_bmp disable-module bitmap boot-conf .Ed .Pp .Sh 関連項目 .Xr loader.conf 5 , .Xr loader 8 .Sh 歴史 .Nm が最初に登場したのは .Fx 3.2 です。 .Sh 作者 .Nm は .An Daniel C. Sobral Aq dcs@freebsd.org が記述しました。 .Sh バグ 英国のスパイ活動シリーズです (A british espionage series)。 diff --git a/ja_JP.eucJP/man/man8/loader.8 b/ja_JP.eucJP/man/man8/loader.8 index 1b69afab55..b8c7dd1101 100644 --- a/ja_JP.eucJP/man/man8/loader.8 +++ b/ja_JP.eucJP/man/man8/loader.8 @@ -1,796 +1,808 @@ .\" Copyright (c) 1999 Daniel C. Sobral .\" 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. .\" -.\" %FreeBSD: src/sys/boot/common/loader.8,v 1.18.2.5 2000/12/27 16:39:21 ru Exp % +.\" %FreeBSD: src/sys/boot/common/loader.8,v 1.18.2.6 2001/03/04 04:52:00 obrien Exp % .\" .\" Note: The date here should be updated whenever a non-trivial .\" change is made to the manual page. .\" .\" jpman %Id: loader.8,v 1.2 1999/05/07 11:24:21 horikawa Stab % .Dd March 14, 1999 .Dt LOADER 8 .Os .Sh 名称 .Nm loader .Nd カーネルブートストラップの最終段階 .Sh 解説 .Nm と呼ばれるプログラムは、 .Fx のカーネルブートストラップにおける、最終段です。 IA32 (i386) アーキテクチャでは、これは .Pa BTX クライアントです。 .Xr libstand 3 に静的にリンクされ、通常はディレクトリ .Pa /boot に置かれます。 .Pp また、作業自動化、事前設定、回復処理の補助に使用可能な、 スクリプト言語を提供します。 このスクリプト言語はおおまかに 2 つの主たる部分に分類されます。 小さな方は、通常のユーザが直接使用するようデザインされたコマンドの集合で、 歴史的な事情により「組み込みコマンド」と呼ばれます。 これらのコマンドを提供した背景には、 主としてユーザの使い勝手を改善する目的があります。 大きな部品は .Tn ANS Forth 互換の Forth インタプリタであり、 .An John Sadler の ficl をベースにしています。 .Pp 初期化において、 .Nm はコンソールを検出して .Va console 変数を設定します。 直前のブートステージにシリアルコンソールを使用した場合には、 この変数をシリアルコンソール .Pq Dq comconsole に設定します。 その後、デバイスをプローブし、 .Va currdev と .Va loaddev を設定し、 .Va LINES を 24 に設定します。 次に .Tn FICL が初期化され、組み込み語が語彙に追加され、存在する場合には .Pa /boot/boot.4th が処理されます。 このファイルが読み込まれるまで、ディスクの交換はできません。 .Nm が .Tn FICL とともに使用する内部インタプリタは .Ic interpret に設定されます。これは .Tn FICL のデフォルトです。 この後、使用可能な場合 .Pa /boot/loader.rc が処理され、そうでない場合には歴史的な理由で .Pa /boot/boot.conf が読み込まれます。 これらのファイルは .Ic include コマンドを介して処理されます。 このコマンドは、 処理前にファイル内容すべてをメモリに読み込みますので、 ディスク交換が可能となります。 .Pp この時点で、 .Ic autoboot が試されていない場合でかつ .Va autoboot_delay が .Dq NO (大文字小文字は区別しません) に設定されていない場合、 .Ic autoboot が試されます。 システムがこの時点まで到達した場合、 .Va prompt が設定され、 .Nm は対話モードになります。 .Sh 組み込みコマンド .Nm の組み込みコマンドは、パラメータをコマンドラインから受け取ります。 現在、スクリプトからの呼び出し方法は、文字列上で .Pa evaluate を使用することだけです。 エラー状態が発生すると、 .Tn ANS Forth 例外操作語でインタセプト可能な例外が生成されます。 インタセプトされない場合、エラーメッセージが表示され、 インタプリタの状態がリセットされます。 これにより、スタックが空になりインタプリタのモードが元に戻ります。 .Pp 使用可能な組み込みコマンドは次の通りです: .Pp .Bl -tag -width Ds -compact .It Ic autoboot Op Ar seconds ユーザが割り込まない場合には、 指定した秒数の後にシステムのブートストラップへ進みます。 キーが押されて割り込まれるまで、 カウントダウンプロンプトを表示し、 ユーザに対してシステムがブートするところであることを警告します。 必要であれば、最初にカーネルがロードされます。 デフォルトは 10 秒です。 .Pp .It Ic bcachestat ディスクキャッシュの使用状況を表示します。 デバッグのためだけにあります。 .Pp .It Ic boot .It Ic boot Ar kernelname Op Cm ... .It Ic boot Fl flag Cm ... システムのブートストラップへすぐに進み、 必要であればカーネルをロードします。 すべてのフラグまたは引数はカーネルに渡されますが、 カーネル名が指定された場合、これらはカーネル名の後にある必要があります。 .Pp +.Em 警告 : +この組み込みコマンドの動作は、 +.Xr loader.4th 8 +がロードされると、変ります +.Pp .It Ic echo Xo .Op Fl n .Op Aq message .Xc 画面にテキストを表示します。 .Fl n を指定しない場合、改行が表示されます。 .Pp .It Ic heap メモリ使用状況が表示されます。デバッグ目的のためだけにあります。 .Pp .It Ic help Op topic Op subtopic ヘルプメッセージを .Pa /boot/loader.help から読み込んで表示します。 特殊トピック .Em index は、使用可能なトピックを表示します。 .Pp .It Ic include Ar file Op Ar スクリプトファイルを処理します。 各ファイルは、順番がまわって来たところで完全にメモリに読み込まれ、 各行がコマンドラインインタプリタに渡されます。 インタプリタがエラーを返すと、 他のファイルは読み込まずに include コマンドは即時に異常終了し、 自身にエラーを返します ( .Sx エラー 参照)。 .Pp .It Ic load Xo .Op Fl t Ar type .Ar file Cm ... .Xc カーネル、カーネルローダブルモジュール (kld)、内容を問わず .Ar type とタグ付けされているファイルのいずれかをロードします。 カーネルとモジュールは、a.out または elf のどちらの形式であってもかまいません。 ロードされるファイルの後で渡される引数は、 そのファイルに対する引数として渡されます。 現在のところ、これはカーネルに対しては動作しないことに注意してください。 .Pp .It Ic ls Xo .Op Fl l .Op Ar path .Xc ディレクトリ .Ar path 、または .Ar path を指定しなかった場合にはルートディレクトリのファイル一覧を表示します。 .Fl l を指定すると、ファイルの大きさも表示します。 .Pp .It Ic lsdev Op Fl v モジュールのロード元となりうるデバイスをすべて表示します。 .Fl v を指定すると、更なる詳細を表示します。 .Pp .It Ic lsmod Op Fl v ロード済のモジュールを表示します。 .Fl v を指定すると、更なる詳細を表示します。 .Pp .It Ic more Ar file Op Ar .Va LINES 行を表示するごとに停止しながら、指定したファイルを表示します。 .Pp .It Ic pnpscan Op Fl v プラグアンドプレイデバイスをスキャンします。 現在のところ動作しません。 .Pp .It Ic read Xo .Op Fl t Ar seconds .Op Fl p Ar prompt .Op Va variable .Xc 入力行を端末から読み込み、 .Va variable が指定された場合にはこれに読み込み結果を格納します。 タイムアウトは .Fl t で指定可能ですが、これは最初に押されるキーにより打ち消されます。 プロンプトもまた .Fl p フラグにより表示可能です。 .Pp .It Ic reboot 即時にシステムをリブートします。 .Pp .It Ic set Ar variable .It Ic set Ar variable Ns = Ns Ar value ローダの環境変数を設定します。 .Pp .It Ic show Op Va variable 指定した変数の値を表示します。 .Va variable を指定しないと、すべての変数とその値を表示します。 .Pp .It Ic unload 全モジュールをメモリから取り除きます。 .Pp .It Ic unset Va variable .Va variable を環境から取り除きます。 .Pp .It Ic \&? .Dq help index と同じです。 .Pp .El .Ss 組み込みの環境変数 .Nm は実際のところ、異なった 2 種類の .Sq 環境 変数を持ちます。 それは、ANS Forth の .Em 環境問い合わせ と、別の空間であり組み込みコマンドが使用する環境変数です。 後者は Forth の語としては直接使用できません。 この節で説明するのは、後者です。 .Pp 環境変数の設定および設定解除は、 .Ic set と .Ic unset の組み込みコマンドを介して行います。これらの値は、 .Ic show 組み込みコマンドを使用して対話的に検査できます。 これらの値は、 .Sx 組み込みパーザ で説明する方法でもまたアクセス可能です。 .Pp この環境変数は、システムブート後にシェルに継承されないことに注意してください。 .Pp 数個の変数が .Nm により自動的に設定されます。 他の変数は、 .Nm またはブート時のカーネル動作に影響し得ます。 これらのうち値を要求するものがある一方、 設定されるだけで動作を定義するものもあります。 これらを以下に示します。 .Bl -tag -width bootfile .It Va autoboot_delay .Ic autoboot がブート前に待つ秒数です。この変数が定義されていない場合、 .Ic autoboot はデフォルトの 10 秒になります。 .Pp .Dq NO に設定すると、 .Pa /boot/loader.rc の処理の後に .Ic autoboot を自動的には試みなくなります。 しかし、明示的に .Ic autoboot を指定すると、デフォルトの 10 秒の遅延の後に通常通り処理されます。 .It Va boot_askname カーネルブート時にルートデバイス名をユーザに尋ねるように、 カーネルに指示します。 .It Va boot_ddb ブート時に初期化に進むのではなく DDB デバッガを開始するように、 カーネルに指示します。 .It Va boot_gdb gdb リモートモードを、カーネルデバッガのデフォルトとして選択します。 .It Va boot_single カーネルがマルチユーザスタートアップを開始することを防ぎ、 カーネルがデバイスプローブを完了したときにはシングルユーザモードになります。 .It Va boot_userconfig カーネルブート時に カーネルの対話的なデバイス設定プログラムを実行するよう要求します。 .It Va boot_verbose この変数を設定すると、 ブートフェーズ中に追加のデバッグ情報をカーネルが表示します。 .It Va bootfile セミコロンで区切った検索パスのリストであり、 ここからブート可能なカーネルを探します。 デフォルトは .Li Dq kernel;kernel.old です。 .It Va console 現在のコンソールを定義します。 .It Va currdev デフォルトデバイスを選択します。デバイスの文法は奇妙なものです。 .It Va init_path カーネルが初期プロセスとして実行しようとすべきバイナリのリストを指定します。 デフォルトは .Li Dq /sbin/init:/sbin/oinit:/sbin/init.bak:/stand/sysinstall です。 .It Va interpret Forth の現在の状態がインタプリタの場合、 .Li Dq ok という値を持ちます。 .It Va LINES 画面上の行数を定義します。ページャが使用します。 .It Va module_path モジュールを検索するディレクトリのリストを設定します。 モジュール名は、load コマンドまたは依存関係により暗黙的に指定されます。 この変数のデフォルト値は .Li Dq /;/boot;/modules です。 .It Va num_ide_disks IDE ディスクの数を設定します。 これは、ブート時にルートディスクを見つけることに関する問題への対処です。 .Va root_disk_unit により価値が低下しています。 .It Va prompt .Nm のプロンプトの値です。 デフォルトは .Li Dq "${currdev}>" です。 .It Va root_disk_unit ルートディスクのディスクユニット番号を検出するコードが混乱する場合、 この変数を設定することでユニット番号を強制可能です。 混乱するのは、例えば SCSI と IDE のディスクを両方持つ場合や、 IDE ディスクの並びに隙間がある場合 (プライマリスレーブが無い場合など) です。 .It Va rootdev デフォルトでは、カーネルブート時にルートファイルシステムの設定には .Va currdev が使用されます。 これは .Va rootdev を明示的に設定することによりオーバライド可能です。 .El .Pp 他の変数を使用することにより、 カーネルの調整可能なパラメータをオーバライド可能です。 次の調整可能な変数が使用可能です: .Bl -tag -width Va .It Va kern.ipc.nmbclusters 割り当てられる mbuf クラスタ数を設定します。 カーネルコンパイル時に決定されたデフォルト値より小さくは、設定できません。 .Va NMBCLUSTERS を変更します。 .It Va kern.vm.kmem.size カーネルメモリの大きさ (バイト) を設定します。 カーネルコンパイル時に決定された値に、完全に優先します。 .Va VM_KMEM_SIZE を変更します。 .It Va machdep.pccard.pcic_irq 通常時に PCCARD コントローラに割り当てられる IRQ をオーバライドします。 典型的には、最初に利用可能な割り込みが割り当てられてしまい、 他のハードウェアと衝突してしまうかもしれません。 この値を 0 に設定すると、割り込みは割り当てられず、 コントローラはポーリングモードのみで動作します。 .It Va net.inet.tcp.tcbhashsize .Va TCBHASHSIZE のコンパイル時の設定値をオーバライドするか、 デフォルトの 512 にプリセットします。 2 のべき乗である必要があります。 .El .Ss 組み込みパーザ 組み込みコマンドが実行されるとき、 行の残りはコマンドが引数として受け取り、 通常の Forth コマンドには使用されない特別なパーザがコマンドを処理します。 .Pp この特別なパーザは、解析したテキストに対して次のルールを適用します: .Pp .Bl -enum .It すべてのバックスラッシュ文字は前処理されます。 .Bl -bullet .It \eb , \ef , \er , \en, \et は C で扱われるように処理されます。 .It \es は空白文字に変換されます。 .It \ev は .Tn ASCII の 11 に変換されます。 .It \ez は単にスキップされます。 .Dq \e0xf\ez\e0xf のように使用すると便利です。 .It \e0xN と \e0xNN は 16 進数の N と NN に変換されます。 .It \eNNN は 8 進数 NNN の .Tn ASCII 文字に変換されます。 .It \e" , \e' , \e$ は、これらの文字をエスケープし、 後述するステップ 2 における特殊な意味を与えられないようにします。 .It \e\e は単一の \e に変換されます。 .It 他の場合、バックスラッシュは単に取り除かれます。 .El .It エスケープされていないクォートまたはダブルクォートの間のすべての文字列は、 後続するステップにおいて単一の語として扱われます。 .It .Li $VARIABLE または .Li ${VARIABLE} は、環境変数 .Va VARIABLE の値に変換されます。 .It 空白で区切られた複数の引数を、呼び出した組み込みコマンドへ渡します。 空白は \e\e を使用することによりエスケープ可能です。 .El .Pp 解析ルールには例外があり、これは .Sx 組み込み語と FORTH で説明します。 .Ss 組み込み語と FORTH すべての組み込み語は、状態を意識する即時実行語です。 インタプリトされると、これらは前述の通りに振舞います。 一方コンパイルされると、 引数をコマンドラインからではなくスタックから取り出します。 .Pp コンパイルされると、 実行時に組み込み語は、スタック上で次のパラメータを見付けられると期待します: .D1 Ar addrN lenN ... addr2 len2 addr1 len1 N ここで .Ar addrX lenX は文字列であり、組み込み語の引数として解釈されるコマンドラインを構成します。 内部的には、おのおのの間に空白を狭んで、 これらの文字列は 1 から N まで結合されます。 .Pp 引数が渡されない場合、組み込み語が引数を受け付けない場合であっても、 単一の 0 を渡す .Em 必要 があります。 .Pp この動作には利点がありますが、それ自身にはトレードオフがあります。 組み込み語の実行トークンが ( .Ic No ' または .Ic No ['] を通して) 得られて、 .Ic catch または .Ic execute に渡された場合、組み込み語の動作は .Bf Em .Ic catch または .Ic execute が実行されるときの .Ef システムの状態に依存します ! これは、 例外を扱いたいまたは扱う必要があるプログラムにとっては、特に悩ましいものです。 この場合、代理 (proxy) を使用することをお勧めします。 例えば次のようにします: .Dl : (boot) boot ; .Sh FICL .Tn FICL は C で記述された Forth インタプリタであり、 C の関数などとして呼び出し可能な forth 仮想マシンライブラリの形式です。 .Pp .Nm では、対話的に読み込まれた各行は .Tn FICL に与えられます。 .Tn FICL は、組み込み語を実行するために .Nm を呼び戻します。 組み込みの .Ic include もまた、1 度に 1 行ずつを .Tn FICL へ与えます。 .Pp .Tn FICL へ使用可能な語は 4 グループへ分類可能です。それは、 .Tn ANS Forth 標準語、追加の .Tn FICL 語、追加の .Fx 語、そして組み込みコマンドです。 最後のものは既に説明しました。 .Tn ANS Forth 標準語は、 .Sx 規格 の節に列挙しています。 別の 2 グループの語については、以降の小節において説明します。 .Ss FICL 追加語 .Bl -tag -width wid-set-super .It Ic .env .It Ic .ver .It Ic -roll .It Ic 2constant .It Ic >name .It Ic body> .It Ic compare This is the STRING word set's .Ic compare . .It Ic compile-only .It Ic endif .It Ic forget-wid .It Ic parse-word .It Ic sliteral This is the STRING word set's .Ic sliteral . .It Ic wid-set-super .It Ic w@ .It Ic w! .It Ic x. .It Ic empty .It Ic cell- .It Ic -rot .El .Ss FREEBSD 追加語 .Bl -tag -width XXXXXXXX .It Ic \&$ Pq -- 最初に入力バッファを表示した後、入力バッファの残りを評価します。 .It Ic \&% Pq -- .Ic catch 例外ガード下の、入力バッファの残りを評価します。 .It Ic .# .Ic . と同様に動作しますが、後続の空白を表示しません。 .It Ic fopen Pq Ar addr len -- fd ファイルをオープンします。ファイル記述子を返します。 失敗時には -1 を返します。 .It Ic fclose Pq Ar fd -- ファイルをクローズします。 .It Ic fkey Pq Ar fd -- char ファイルから 1 文字読み込みます。 .It Ic fload Pq Ar fd -- ファイル .Em fd を処理します。 .It Ic fopen Pq Ar addr len -- fd ファイルをオープンします。 ファイルディスクリプタを返すか、失敗時には -1 を返します。 .It Xo .Ic fread .Pq Ar fd addr len -- len' .Xc ファイル .Em fd から .Em len バイトを、バッファ .Em addr へ読み込もうとします。 実際に読み込んだバイト数を返します。 エラー時またはファイルの終了の場合には -1 を返します。 .It Ic heap ディレクトリヒープ中に残された空間を、セル数の単位で返します。 これは、動的なメモリ割り当ての意味で使われるヒープとは無関係です。 .It Ic inb Pq Ar port -- char ポートからバイトを読み込みます。 .It Ic key Pq -- Ar char コンソールから 1 文字読み込みます。 .It Ic key? Pq -- Ar flag コンソールから読み込み可能な文字がある場合、 .Ic 真 を返します。 .It Ic ms Pq Ar u -- .Em u マイクロ秒待ちます。 .It Ic outb Pq Ar port char -- ポートへバイトを書き込みます。 .It Ic seconds Pq -- Ar u 深夜 0 時からの秒数を返します。 .It Ic tib> Pq -- Ar addr len 入力バッファの残りを、スタック上の文字列として返します。 .It Ic trace! Pq Ar flag -- トレースを有効または無効にします。 .Ic catch とともには動作しません。 .El .Ss FREEBSD で定義される環境問い合わせ .Bl -tag -width Ds .It arch-i386 アーキテクチャが IA32 の場合 .Ic 真 です。 .It arch-alpha アーキテクチャが AXP の場合 .Ic 真 です。 .It FreeBSD_version コンパイル時の .Fx バージョンです。 .It loader_version .Nm のバージョンです。 .El .Ss システム文書 .Sh 関連ファイル .Bl -tag -width /boot/defaults/loader.conf -compact .It Pa /boot/loader .Nm 自身。 .It Pa /boot/boot.4th 追加の .Tn FICL の初期化。 .It Pa /boot/boot.conf .Nm のブートストラップスクリプト。価値が低下しています。 +.It Pa /boot/defaults/loader.conf +.It Pa /boot/loader.conf +.It Pa /boot/loader.conf.local +.Nm +設定ファイル。 +.Xr loader.conf 5 +で解説されています。 .It Pa /boot/loader.rc .Nm のブートストラップスクリプト。 .It Pa /boot/loader.help .Ic help がロードします。 ヘルプメッセージを含みます。 .El .Sh 使用例 シングルユーザモードでブートします: .Pp .Dl boot -s .Pp カーネルのユーザ設定ファイルをロードします。 他の .Ic load コマンドを試みる前にカーネルをロードする必要があることに注意してください。 .Pp .Bd -literal -offset indent load kernel load -t userconfig_script /boot/kernel.conf .Ed .Pp カーネルと起動画面をロードし、5 秒以内に自動ブートします。 .Bd -literal -offset indent load kernel load splash_bmp load -t splash_image_data /boot/chuckrulez.bmp autoboot 5 .Ed .Pp ルートデバイスのディスクユニットを 2 に設定し、ブートします。 IDE ディスクが 2 台のシステムで、 2 台目の IDE が wd1 ではなく wd2 に固定されているシステムにおいて、 必要となるでしょう。 .Pp .Bd -literal -offset indent -compact set root_disk_unit=2 boot /kernel .Ed .Pp 次を参照してください: .Bl -tag -width /usr/share/examples/bootforth/X .It Pa /boot/loader.4th 追加の組み込み的な語について。 .It Pa /boot/support.4th .Pa loader.conf が処理する語について。 .It Pa /usr/share/examples/bootforth/ 分類された使用例。 .El .Sh エラー 次の値を .Nm は返します: .Bl -tag -width XXXXX -offset indent .It 100 組み込みコマンド処理において任意のタイプのエラーが発生しました。 .It -1 .Ic Abort が実行されました。 .It -2 .Ic Abort" が実行されました。 .It -56 .Ic Quit が実行されました。 .It -256 インタプリトするテキストがありません。 .It -257 成功するためには更なるテキストが必要です -- 次の実行で終了します。 .It -258 .Ic Bye が実行されました。 .It -259 未定義エラー。 .El .Sh 関連項目 .Xr libstand 3 , .Xr loader.conf 5 , .Xr boot 8 , .Xr btxld 8 .Sh 規格 ANS Forth 互換性の観点では、loader は .Bf Em 環境に制限がある ANS Forth System です。 Core Extensions 語集合からは、 .Ef .Bf Li .No .( , .No :noname , .No ?do , parse, pick, roll, refill, to, value, \e, false, true, .No <> , .No 0<> , compile\&, , erase, nip, tuck, maker .Ef .Bf Em を提供しています。 Exception Extensions 語集合を提供しています。 Locals Extensions 語集合を提供しています。 Memory-Allocation Extensions 語集合を提供しています。 Programming-Tools 拡張語集合からは .Ef .Bf Li \&.s , bye, forget, see, words, \&[if] , \&[else] , \&[then] .Ef .Bf Em を提供しています。 Search-Order 拡張語集合を提供しています。 .Ef .Sh 歴史 .Nm が最初に登場したのは .Fx 3.1 です。 .Sh 作者 .An -nosplit .Nm は .An Michael Smith Aq msmith@FreeBSD.org が記述しました。 .Pp .Tn FICL は .An John Sadler Aq john_sadler@alum.mit.edu が記述しました。 .Sh バグ .Ic expect と .Ic accept の語は、コンソールからではなく入力バッファから読み込みます。 後者については修正されますが、前者は修正されません。 diff --git a/ja_JP.eucJP/man/man8/mergemaster.8 b/ja_JP.eucJP/man/man8/mergemaster.8 index 9a683b89e3..396abc89fe 100644 --- a/ja_JP.eucJP/man/man8/mergemaster.8 +++ b/ja_JP.eucJP/man/man8/mergemaster.8 @@ -1,333 +1,340 @@ -.\" Copyright (c) 1998-2000 Douglas Barton +.\" Copyright (c) 1998-2001 Douglas Barton .\" 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. .\" -.\" %FreeBSD: src/usr.sbin/mergemaster/mergemaster.8,v 1.5.2.4 2000/12/27 16:23:16 ru Exp % +.\" %FreeBSD: src/usr.sbin/mergemaster/mergemaster.8,v 1.5.2.5 2001/03/05 20:33:28 dougb Exp % .\" .\" jpman %Id: mergemaster.8,v 1.3 1999/12/05 08:25:49 horikawa Stab % -.Dd October 30, 2000 +.Dd February 5, 2001 .Dt MERGEMASTER 8 .Os FreeBSD .Sh 名称 .Nm mergemaster .Nd アップグレード中の設定ファイルその他のマージ .Sh 書式 .Nm .Op Fl scrvahi .Op Fl m Ar /path/to/sources .Op Fl t Ar /path/to/temp/root .Op Fl d .Op Fl u Ar N .Op Fl w Ar N .Op Fl D Ar /path .Sh 解説 .Nm は、様々な設定や .Fx に関連したファイルをアップデートする作業を 補助するために作られた Bourne シェルスクリプトです。 この作業を始める前に .Pa /etc ディレクトリをバックアップしておくことを .Sy 強く 勧めます。 .Pp このスクリプトは .Pa /usr/src/etc/Makefile を使って .Pa / から下の仮のルート環境を作成し、そこに様々なファイルを格納します。 .Op Fl m コマンドラインオプションで違うソースディレクトリを指定することや、 .Op Fl D コマンドラインオプションで違う宛先ディレクトリを指定することもできます。 そしてその環境中のそれぞれのファイルを、 インストールされているものと比較します。 スクリプトが新しいファイルに変更点を見つけた場合や、 新しいファイルに対応するインストールされているファイルがない場合には、 それを処理するための 4 つの選択肢を示します。 新しいファイルをそのままインストールする、 新しいファイルは消す、 新旧のファイルを .Xr sdiff 1 を使って適切にマージする、 後で手でマージするためにファイルを仮のルート環境に残しておく、 のいずれかを選べます。 .Pp デフォルトでは、 .Pa /var/tmp/temproot に仮のルートを作り、 .Xr cvs 1 バージョン文字列 %Id/%FreeBSD があるファイルについてはそれを比較して、 もし同じであれば仮のファイルを削除します。 $Id 文字列がない時や、あっても一致しない場合には、 ファイルそのものを比較します。 $Id 文字列を無視して全てのファイルを比較するように指定することもできます。 .Pp .Nm は umask を調べて、022 以外であれば警告を出します。 ほとんどの設定ファイルは world read パーミッションを与えることが 強制されているわけではありませんが、 そうしないと問題になるかもしれません。 もし 022 以外 の umask を選び、あとで何らかのトラブルが生じた場合、 その原因がこれかもしれません。 .Pa /etc/master.passwd は特例として扱います。 このファイルないしマージしたファイルをインストールすることを選択すると、 このファイルのパーミッションはセキュリティ上の理由から 常に 600 (rw-------) になります。 このファイルのアップデート版をインストールした後は、 .Xr pwd_mkdb 8 を -p オプション付きで実行して、 パスワードデータベースの再構築と .Pa /etc/passwd の作り直しをさせる必要があります。 .Pp スクリプトは、 .Pa /usr/src/etc/Makefile が作成したファイルに付けた所有者 ID およびグループ ID と、 umask によって指定されたファイルパーミッションを用います。 context diff を選ばない限り、 デフォルトで unified diff を使って差分を表示します。 .Pp .Nm は、比較開始直前と実行完了前に、指定したスクリプトを読み込みます。 最も簡単な方法は、 .Pa .mergemasterrc において、スクリプトへのパスを適切な変数へ設定することです。 比較前に読み込まれるスクリプトは .Ev MM_PRE_COMPARE_SCRIPT で指定し、スクリプト完了後に実行するものは .Ev MM_EXIT_SCRIPT で指定します。 これが、 ローカルでの修正および特別な処理を行うファイルを指定するための推奨方法です。 これには、比較せずに削除したいファイルも含みます。 指定したスクリプトは、 .Nm 内部から読み込まれますので、 スクリプトの全変数がカスタムスクリプト中で使用可能です。 +.Pa /etc/mergemaster.rc +も使用可能です。 +これは、 +.Pa .mergemasterrc +の前に読み込まれます。 +コマンドラインで指定されたオプションが最後に更新されますので、 +両方のファイルに優先します。 .Pp オプションは以下の通りです: .Bl -tag -width Fl .It Fl s 全てのファイルの対について diff をとり、厳密な比較をします。 .It Fl c unified diff の代わりに context diff を用います。 .It Fl r 仮のルート環境を新規に作ることをせずに、 以前掃除したディレクトリで再実行します。 このオプションは他の全てのオプションと一緒に使えます。 .It Fl v 処理についてより冗長に出力します。 あなたが初めて .Nm mergemaster を実行する時には、おそらくこのオプションを付けるべきでしょう。 さらにこのオプションは、 インストールされている方の .Pa /etc にしかないファイルの一覧を提供します。 .It Fl a 自動実行。 このオプションはインストールされているものと食い違う全てのファイルを、 手で処理するために仮のディレクトリに残しておきます。 もしすでに .Pa temproot ディレクトリがある場合には、 以前はなかったディレクトリに新しく作ります。 このオプションは冗長フラグを解除しますが、 他の全てのオプションと一緒に使えます。 -a オプションを使うと、-w オプションは無意味になります。 .It Fl h 使用法とヘルプ情報を表示します。 .It Fl i 宛先ディレクトリに存在しないファイルは、自動的にインストールします。 .It Fl m Ar /path/to/sources .Xr make 1 を実行するディレクトリのパスを指定します。 (言い替えるとソースの場所です。-s がもう使われているので) .It Fl t Ar /path/to/temp/root 仮のルート環境をデフォルトの .Pa /var/tmp/temproot の代わりに .Pa /path/to/temp/root に作ります。 .It Fl d 仮のルートディレクトリの名前に、日付と時間を足します。 -t オプションを指定しているときに日付も足したいなら、 このオプションは -t の後に置く必要があります。 .It Fl u Ar N umask を数字で指定します。デフォルトは 022 です。 .It Fl w Ar N .Xr sdiff 1 コマンドに画面幅を桁数で指定します。 デフォルトは 80 です。 .It Fl D Ar /path ファイルをインストールする、宛先ディレクトリを指定します。 .El .Sh 環境変数 .Nm スクリプトは、 .Ev PAGER 環境変数がセットされていればそれを使い、さもなくば .Xr more 1 を使います。 もし .Ev PAGER に、フルパスではなく、 .Ev PATH の範囲にないプログラムを指定している場合には、 .Nm は選択肢とともにどう続行するのかを催促します。 .Ev MM_PRE_COMPARE_SCRIPT と .Ev MM_EXIT_SCRIPT の変数は、前述のように使用します。 スクリプト内部で使用する他の変数は、後で詳述するように、 .Pa .mergemasterrc で指定可能です。 .Sh 使用例 大抵の場合、あなたがする必要があるのは、 プロンプトで .Nm と打つことだけで、あとはスクリプトがあなたに代わって全ての作業をします。 .Pp context diff を使い、かつ .Nm が処理が進むにつれ、よりたくさんの説明をするようにするには: .Pp .Dl # mergemaster -cv .Pp .Nm が仮のルート環境を .Pa /usr/tmp/root に作るように指定するには: .Pp .Dl # mergemaster -t /usr/tmp/root .Pp 110 桁の画面と、厳密な比較を指定するには: .Pp .Dl # mergemaster -sw 110 .Sh 関連ファイル .Bl -ohang .It Pa $HOME/.mergemasterrc .Nm はこのファイルがあれば読み込みます。 コマンドラインオプションは rc ファイルオプションを上書きします。 全ての値をコメントアウトした例を示します: .Pp .Bd -literal # mergemaster のオプションが、デフォルト値とともに一覧してあります # 以下のオプションはコマンドラインが上書きします # # 仮のルート環境をインストールするディレクトリ #TEMPROOT='/var/tmp/temproot' # # CVS $Id の検査を省略して全てのファイルを比較する厳密な比較 #STRICT=no # # ファイルが食い違った時に差分を表示するための diff に使うフラグ #DIFF_FLAG='-u' # # より詳細な出力とチェックの追加を含める冗長モード #VERBOSE= # # システム上に存在しないファイルは自動的にインストールする #AUTO_INSTALL= # # 'make' を実行するディレクトリ (新しいファイルがある場所) #SOURCEDIR='/usr/src/etc' # # mergemaster がデフォルトのファイルモードとの比較に使う umask #NEW_UMASK=022 # # ファイルをインストールする、宛先ディレクトリを指定する #DESTDIR= # # 以下のオプションはコマンドラインから上書きできません # PAGER にフルパスを含めたくない人用 #DONT_CHECK_PAGER= # # 上を 'yes' にしたら、ページャへの PATH が含まれているか確認してください #PATH=/bin:/usr/bin:/usr/sbin # # 新旧の motd ファイルを比較しない #IGNORE_MOTD=yes # # 比較開始前に実行するスクリプトやスクリプト完了後に実行するスクリプト # のパスを指定する #MM_PRE_COMPARE_SCRIPT= #MM_EXIT_SCRIPT= .Ed .El .Sh 関連項目 .Xr cvs 1 , .Xr diff 1 , .Xr make 1 , .Xr more 1 , .Xr sdiff 1 , .Xr pwd_mkdb 8 .Pp .Pa /usr/src/etc/Makefile .Pp http://www.FreeBSD.org/handbook/makeworld.html , .Pa The Cutting Edge (using make world) , by Nik Clayton .Pp .\" 関連項目更新に伴い、訳注も更新した .\" horikawa@jp.FreeBSD.org 2000/08/22 (訳注: 日本語版は http://www.jp.FreeBSD.org/www.FreeBSD.org/ja/handbook/makeworld.html ) .Sh 診断 成功終了、ないしユーザが実行中に手動で脱出した場合には、 終了ステータスは 0 です。 .Pp 以下に挙げるいずれかの理由で失敗した場合には、終了ステータスは 1 です: .Pp コマンドラインオプションが不正 .Pp 仮のルート環境を作成するのに失敗 .Pp 仮のルートにファイルを格納するのに失敗 .Pp .Sh 歴史 .Nm スクリプトは、 1998 年 3 月 13 日に 私のウェブページの中で もっと単純な形で .Pa comproot という名前で最初に公開されました。 仮のルート環境を作るというアイデアは、 上で参照した Nik Clayton の make world tutorial から来ています。 .Pp .Sh 作者 このマニュアルページとスクリプトは .An Douglas Barton Aq DougB@FreeBSD.org が書きました。 .Sh バグ 今のところわかっているバグはありません。 なにか問題や、コメントや、提案があれば、どうか作者まで報告してください。 このプログラムになされた改良のいくつかは ユーザからの提案によるものです。ありがとう。 diff --git a/ja_JP.eucJP/man/man8/mknod.8 b/ja_JP.eucJP/man/man8/mknod.8 index 2a0607612d..224f6ceb47 100644 --- a/ja_JP.eucJP/man/man8/mknod.8 +++ b/ja_JP.eucJP/man/man8/mknod.8 @@ -1,134 +1,138 @@ .\" Copyright (c) 1980, 1991, 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. .\" .\" @(#)mknod.8 8.2 (Berkeley) 12/11/93 -.\" %FreeBSD: src/sbin/mknod/mknod.8,v 1.11.2.3 2000/12/18 15:38:27 ru Exp % +.\" %FreeBSD: src/sbin/mknod/mknod.8,v 1.11.2.4 2001/03/05 19:33:44 ru Exp % .\" .\" jpman %Id: mknod.8,v 1.2 1997/03/31 13:37:12 horikawa Stab % .\" .Dd December 11, 1993 .Dt MKNOD 8 .Os BSD 4 .Sh 名称 .Nm mknod .Nd 特殊ファイルを作成する .Sh 書式 .Nm .Ar name .Op Cm c | Cm b .Ar major minor .Op Ar owner : Ns Ar group .Sh 解説 .Nm はデバイス特殊ファイルを作成します。通常、シェルスクリプト .Pa /dev/MAKEDEV で、よく知られている特殊ファイルを作成することができます。 このスクリプトは、 .Nm に適当な引数を渡して実行し、必要なすべてのデバイスファイルの作成をします。 .Pp .Nm の引数としては、以下の 4 つが必要です。 .Bl -tag -width indent .It Ar name デバイスファイル名です。たとえば .Dq sd は SCSI ディスクで、 .Dq pty は疑似デバイスです。 .It Cm b | Cm c デバイスのタイプを指定します。 ブロック型のデバイスは、 .Cm b を指定します。 テープやディスク等がこれに該当しますが、 ブロック型特殊デバイス (cooked) とキャラクタ型特殊デバイス (raw) の 両方の特殊ファイルが必要です。 キャラクタ型のデバイスは、 .Cm c を指定します。 端末や疑似デバイス等がこれに該当します。 .It Ar major メジャーデバイス番号を指定します。 メジャーデバイス番号は、 どのデバイスドライバエントリを使用すべきをカーネルに示します。 メジャーデバイス番号とデバイスの対応を知るには、 .Ar /dev/MAKEDEV +を見るか、システム依存のデバイス設定ファイル +.Bd -ragged -offset indent +.Dq Pa /usr/src/sys/conf/device. Ns Aq Ar architecture +.Ed を見てください。 .It Ar minor -マイナーデバイス番号を指定します。 -マイナーデバイス番号は、 +マイナデバイス番号を指定します。 +マイナデバイス番号は、 デバイスのどのサブユニットが 特殊ファイルに対応するのかをカーネルに示します。 例えば、サブユニットは ファイルシステムのパーティションだったり端末ラインだったりします。 .It Ar owner : Ns Ar group .Ar owner .Ar group オペランドの組はオプションですが、 どちらかが指定された場合には両方の指定が必要です。 .Ar owner は数値のユーザ ID でもユーザ名でも良いです。 そのユーザ名が数値のユーザ ID にもある場合には、 オペランドはユーザ名として使用されます。 .Ar group は数値のグループ ID でもグループ名でも良いです。 ユーザ名と同様、 そのグループ名が数値のグループ ID にもある場合には、 オペランドはグループ名として使用されます。 .El .Pp -メジャーデバイス番号およびマイナーデバイス番号とも +メジャーデバイス番号およびマイナデバイス番号とも .Xr strtoul 3 が受け付ける任意の形式で指定可能です。 .Ql 0x で始めることにより 16 進数と、 .Ql 0 で始めることにより 8 進数であると解釈させる事が出来ます。 .Sh 互換性 .Xr chown 8 のような機能は .Fx 固有であり、 .Pa /usr がマウントされていることに .Pa /dev/MAKEDEV が依存しないようにするために追加されました。 .Sh 関連項目 .Xr mkfifo 1 , .Xr mknod 2 , .Xr MAKEDEV 8 , .Xr chown 8 .Sh 歴史 .Nm コマンドは .At v6 から登場しました。 diff --git a/ja_JP.eucJP/man/man8/mount.8 b/ja_JP.eucJP/man/man8/mount.8 index e1b3ed2767..368922caf0 100644 --- a/ja_JP.eucJP/man/man8/mount.8 +++ b/ja_JP.eucJP/man/man8/mount.8 @@ -1,391 +1,399 @@ .\" Copyright (c) 1980, 1989, 1991, 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. .\" .\" @(#)mount.8 8.8 (Berkeley) 6/16/94 -.\" %FreeBSD: src/sbin/mount/mount.8,v 1.31.2.4 2000/12/18 15:38:27 ru Exp % +.\" %FreeBSD: src/sbin/mount/mount.8,v 1.31.2.5 2001/03/05 19:33:45 ru Exp % .\" .\" jpman %Id: mount.8,v 1.2 1997/05/03 11:26:50 horikawa Stab % .\" .Dd June 16, 1994 .Dt MOUNT 8 .Os BSD 4 .Sh 名称 .Nm mount .Nd ファイルシステムをマウントする .Sh 書式 .Nm .Op Fl adfpruvw .Op Fl t Ar ufs | lfs | external_type .Nm .Op Fl dfpruvw .Ar special | node .Nm .Op Fl dfpruvw .Op Fl o Ar options .Op Fl t Ar ufs | lfs | external_type .Ar special node .Sh 解説 .Nm コマンドは .Xr mount 2 システムコールを使用して、 .Ar "スペシャルデバイス" かリモートノード (rhost:path) を ファイルシステムツリーの .Ar node へ接合します。 もし .Ar special または .Ar node が指定されなかった場合には、 .Xr fstab 5 ファイルから適切な情報を取得します。 .Pp システムは、現在マウントしているファイルシステムのリストを管理しています。 .Nm コマンドを引数を与えずに実行すると、このリストが表示されます。 .Pp オプションとしては以下のものがあります: .Bl -tag -width indent .It Fl a .Xr fstab 5 に記述されているファイルシステムを すべてマウントします。 -例外は、``noauto'' が指定されているもの、 +例外は、 +.Dq noauto +が指定されているもの、 .Fl t フラグにて除外されているもの (後述)、 既にマウントされているもの (ルートファイルシステムは伝統的なシングルユーザモードの動作を保つ ために除外されます) です。 通常、これはシステムの起動時に実行されます。 .It Fl d システムコールの実行以外のすべてのことを行ないます。 このオプションを .Fl v とともに指定することで、 .Nm コマンドが何をしようとしているのかを確認することができます。 .It Fl f ファイルシステムのマウント状態を読み書き可能から読み込み専用へ 変更しようとするときに、 すでにオープンされているファイルへの書き込み許可を強制的に取り消します。 また、正常かどうか不明なファイルシステムも強制的に読み書き可能に マウントします (危険なため注意して使って下さい)。 .It Fl o オプションは .Fl o の後にコンマで区切って指定します。 衝突するオプションが指定された場合、最も右側のオプションが効果があります。 以下のオプションが指定できます: .Bl -tag -width indent -.It async +.It Cm async 指定したファイルシステムのすべての .Tn I/O を非同期に行います。 このフラグを指定することは非常に .Em 危険 ですので、 システムクラッシュ時にファイルシステムを 作り直す用意ができていないかぎりは使うべきではありません。 -.It current +.It Cm current .Fl u フラグとともに使用された場合、 マウントされているファイルシステムに対する現在の効果を指定することと同じです。 -.It force +.It Cm force .Fl f オプションと同じです。 ファイルシステムのマウント状態を読み書き可能から読み込み専用へ 変更しようとするときに、 すでにオープンされているファイルへの書き込み許可を強制的に取り消します。 また、正常かどうか不明なファイルシステムも強制的に読み書き可能に マウントします (危険なため注意して使って下さい)。 -.It fstab +.It Cm fstab .Fl u フラグとともに使用された場合、 ファイルシステムに対して .Xr fstab 5 に列挙されている全オプションを指定することと同じです。 -.It noasync +.It Cm noasync メタデータ I/O を同期に行い、データ I/O を非同期に行います。 これがデフォルトです。 -.It noatime +.It Cm noatime ファイル読み取り時に、ファイルアクセス時刻を更新しません。 このオプションが便利なのは、 多くのファイルを持ち、(ほとんどの場合重要ではない) ファイルアクセス時刻 を更新するよりも性能が重要であるファイルシステムです。 このオプションは現在ローカルファイルシステムでのみサポートされています。 -.It noauto -mount が +.It Cm noauto +.Nm +が .Fl a フラグ付きで動作しているときに、このファイルシステムをスキップします。 -.It noclusterr +.It Cm noclusterr リード時のクラスタリングを無効にします。 -.It noclusterw +.It Cm noclusterw ライト時のクラスタリングを無効にします。 -.It nodev +.It Cm nodev ファイルシステム上のキャラクタスペシャルデバイスや ブロックスペシャルデバイスを解釈しません。 このオプションは、サーバが自分自身以外のアーキテクチャ用の スペシャルデバイスを含むファイルシステムを持っている場合に有用です。 -.It noexec +.It Cm noexec マウントしているファイルシステム上のバイナリの 実行を許可しません。 このオプションは、サーバが自分自身以外のアーキテクチャ用の バイナリを含むファイルシステムを持っている場合に有用です。 -.It nosuid +.It Cm nosuid 実効ユーザ ID (set-user-ID) セット、 実効グループ ID (set-group-ID) セットビットの 効果をなくします。 -注意: +注意: .Xr suidperl 1 のような suid/sgid ラッパが 誰でも使えるようにシステムにインストールされている場合には、価値がありません。 -.It nosymfollow +.It Cm nosymfollow マウントされたファイルシステムにおいては、シンボリックリンクを追跡しません。 -.It rdonly +.It Cm rdonly .Fl r と同じく、マウントするファイルシステムを読み込み専用とします (スーパユーザでも書き込みできなくなります)。 -.It sync +.It Cm sync ファイルシステムのすべての .Tn I/O を同期的に行います。 -.It suiddir +.It Cm suiddir マウントされたファイルシステムにおけるディレクトリに SUID ビットがセットされると、 新規ファイルの所有者をディレクトリの所有者に設定します。 新規ディレクトリは親ディレクトリのビットを継承します。 実行ビットはファイルから取り除かれ、 ファイルは root の所有とはなりません。 .Pp この機能は PC ユーザに対して ftp, SAMBA, netatalk のサービスを行う ファイルサーバのためにデザインされました。 これはシェルユーザに対してセキュリティホールとなりますので、 特にホームディレクトリを持つシェルマシンでは使用すべきではありません。 このオプションが動作するためには、カーネルの SUIDDIR オプションが必要です。 UFS ファイルシステムのみがこのオプションをサポートします。 詳細は .Xr chmod 2 を参照してください。 -.It update +.It Cm update .Fl u と同じく、すでにマウントされているファイルシステムの状態を変化させることを 指示します。 -.It union +.It Cm union マウントポイント以下の名前空間に、マウントされたファイルシステムのルートと マウントポイントに元から存在するディレクトリの両方が見えるようにします。 名前を検索するときは、マウントしたファイルシステムが先に検索されます。 ファイルが存在しない ために検索が失敗した場合は、既存のディレクトリがアクセスされます。 ファイル等の作成は、すべて マウントしたファイルシステム上に対して行われます。 .El .Pp .Nm が内部で知っているファイルシステムタイプ .Pf ( Fl t オプションを参照) 以外の、ファイルシステムタイプに固有のオプションは、 コンマで区切って指定します。このオプションは、オプションの前に .Dq \&- (ダッシュ記号) をつけて区別します。値を持つオプションは、 -option=valueの形で指定します。 たとえば、 .Bd -literal -offset indent mount -t mfs -o nosuid,-N,-s=4000 /dev/dk0b /tmp .Ed .Pp では、 .Nm コマンドは以下と同じものを実行します: .Bd -literal -offset indent /sbin/mount_mfs -o nosuid -N -s 4000 /dev/dk0b /tmp .Ed .Pp ファイルシステムタイプに固有な追加オプションで、 内部的には分からないもの (下記 .Fl t オプションを参照してください) は、関連する .Pa /sbin/mount_ Ns Sy XXX ユーティリティのマニュアルページに記述されているかもしれません。 .It Fl p -マウント情報を fstab の形式で表示します。暗黙的に +マウント情報を +.Xr fstab 5 +の形式で表示します。暗黙的に .Fl v オプションを指定します。 .It Fl r ファイルシステムをリードオンリーで マウントします (スーパユーザでも書き込みは行えません)。 これは、 .Fl o オプションで -.Dq rdonly +.Cm rdonly を指定するのと同じです。 .It Fl t Ar "ufs \\*(Ba lfs \\*(Ba external type" .Fl t のあとの引数にはファイルシステムタイプを指定します。 デフォルトは、 .Ar ufs です。 .Fl t オプションによって、 .Nm コマンドの操作が、指定した特定のタイプのファイルシステムに対してのみ 行われるように指示することができます。 2つ以上のタイプを指定するにはコンマで区切ります。 ファイルシステムリスト の先頭に .Dq no という文字をつけることに よって、 .Nm コマンドの操作の対象と .Em しない ファイルシステムタイプを指定することができます。 以下に例を示します: .Bd -literal -offset indent mount -a -t nonfs,mfs .Ed .Pp は、 .Tn NFS と .Tn MFS を除いた、すべてのファイルシステムをマウントします。 .Pp type を内部で解釈できない場合、 .Nm は .Pa /sbin/mount_ Ns Sy XXX というプログラムを実行しようとします。 .Sy XXX の部分が type になります。たとえば nfs ファイルシステムは、 .Pa /sbin/mount_nfs というプログラムによってマウント されます。 .Pp ほとんどのファイルシステム用モジュールは -カーネル中にない場合、ファイルシステム別のマウントプログラム +カーネル中にない場合、ファイルシステム別の +.Nm +プログラム によって動的に読み込まれます。 そこでは .Xr vfsload 3 サブルーチンが使われます。 この機構には書き込み可能な作業領域が必要なため、 -.Pa /tmp +.Pa /tmp があるファイルシステムタイプのモジュールはカーネルに 組み込まれている必要があります。さらに .Pa /etc/fstab において、 -.Pa /tmp +.Pa /tmp や -.Pa /usr/bin/ld +.Pa /usr/bin/ld があるファイルシステムは 動的に読み込まれるファイルシステムよりも前に 記述されていなければいけません。 .It Fl u .Fl u フラグは、すでにマウントしているファイルシステム の状態の変更を指示します。 ファイルシステムを読み込み専用から読み書き可能へ、またその逆へも変更することを 含めて、すでに説明したすべてのオプション .Pf ( Fl o オプション) の内容を変更することができます。 読み書き可能なファイルシステムを読み出し専用に変更する場合、 書き込みのためにオープンしているファイルがあるときには、 .Fl f オプションを指定しなければ変更に失敗します。 どのオプションを適用するかを決定する際、最初に .Fl o オプションの引数を適用し、最後に .Fl r , .Fl w オプションが適用されます。 .It Fl v 詳細なメッセージを表示します。 .It Fl w ファイルシステムを読み書き可能とします。 .Sh 関連ファイル .Bl -tag -width /etc/fstab -compact .It Pa /etc/fstab ファイルシステムテーブル .El .Sh 診断 多岐に渡りますが、ほぼ全てが自明です。 .Pp .Dl XXXXX filesystem is not available .Pp カーネルはそのファイルシステムタイプをサポートしていません。 ファイルシステムのサポートは、 静的 (カーネルコンパイル時) もしくは動的 ( .Xr kldload 8 によってカーネルモジュールとしてロードされる) です。 通常、 .Nm もしくはそのサブプロセスは、 ファイルシステムモジュールが静的に組み込まれていない場合は、 .Xr vfsload 3 を使用して動的にそのファイルシステムモジュールをロードしようとします。 この場合上記エラーメッセージは、 モジュールをロードするパーミッションを持たないことも意味する場合があります。 .Sh 関連項目 .Xr mount 2 , .Xr vfsload 3 , .Xr fstab 5 , .Xr kldload 8 , .Xr mount_cd9660 8 , .Xr mount_devfs 8 , .Xr mount_fdesc 8 , .Xr mount_kernfs 8 , .Xr mount_mfs 8 , .Xr mount_msdos 8 , .Xr mount_nfs 8 , .Xr mount_null 8 , .Xr mount_portal 8 , .Xr mount_procfs 8 , .Xr mount_umap 8 , .Xr mount_union 8 , .Xr umount 8 .Sh バグ 異常なファイルシステムをマウントすると、 システムクラッシュを引き起こすことがあります。 .Sh 警告 -マウントに成功した後にマウントされたファイルシステムから -.Pa ".." +.Nm +に成功した後にマウントされたファイルシステムから +.Pa ..\& がアクセス可能かどうかは、 元のマウントポイントのパーミッションが決定します。 全ユーザが双方向にマウントポイントを行き来可能とするために最低限必要な パーミッションは 0111 (全員が実行可能) です。 .Sh 歴史 .Nm コマンドは .At v1 から登場しています。 diff --git a/ja_JP.eucJP/man/man8/mount_nfs.8 b/ja_JP.eucJP/man/man8/mount_nfs.8 index 6151a91a65..39bb12f1ba 100644 --- a/ja_JP.eucJP/man/man8/mount_nfs.8 +++ b/ja_JP.eucJP/man/man8/mount_nfs.8 @@ -1,326 +1,328 @@ .\" Copyright (c) 1992, 1993, 1994, 1995 .\" 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. .\" .\" @(#)mount_nfs.8 8.3 (Berkeley) 3/29/95 .\" -.\" %FreeBSD: src/sbin/mount_nfs/mount_nfs.8,v 1.18.2.3 2000/12/08 14:03:59 ru Exp % +.\" %FreeBSD: src/sbin/mount_nfs/mount_nfs.8,v 1.18.2.4 2001/03/05 19:33:45 ru Exp % .\" .\" jpman %Id: mount_nfs.8,v 1.3 1997/05/19 17:04:14 horikawa Stab % .\"" .Dd March 29, 1995 .Dt MOUNT_NFS 8 .Os BSD 4.4 .Sh 名称 .Nm mount_nfs .Nd NFS (ネットワークファイルシステム) をマウントする .Pp .Sh 書式 .Nm .Op Fl 23KNPTUbcdilqs .Op Fl D Ar deadthresh .Op Fl I Ar readdirsize .Op Fl L Ar leaseterm .Op Fl R Ar retrycnt .Op Fl a Ar maxreadahead .Op Fl g Ar maxgroups .Op Fl m Ar realm .Op Fl o Ar options .Op Fl r Ar readsize .Op Fl t Ar timeout .Op Fl w Ar writesize .Op Fl x Ar retrans -.Ar rhost:path node +.Ar rhost : Ns Ar path node .Sh 解説 .Nm は、ファイルシステムツリー上の指定された .Ar node -にリモートの NFS ファイルシステム (rhost:path) をマウントするために、 +にリモートの NFS ファイルシステム +.Pq Ar rhost : Ns Ar path +をマウントするために、 .Xr mount 2 システムコールを呼び出します。このコマンドは通常、 .Xr mount 8 によって実行されます。このプログラムは、RFC 1094 の Appendix. A および .%T "NFS: Network File System Version 3 Protocol Specification" , Appendix I. に記述されているマウントプロトコルを実装しています。 .Pp オプションを以下に示します: .Bl -tag -width indent .It Fl 2 NFS バージョン 2 プロトコルを使用します (デフォルトはバージョン 3 をまず試した後にバージョン 2 を用います)。 NFS バージョン 2 では、 ファイルサイズは 2 ギガバイトに制限されることに注意してください。 .It Fl 3 NFS バージョン 3 プロトコルを使用します。 .It Fl D NQNFSにおいて .Dq "停止サーバ閾 (dead server threshold)" をタイムアウト (round trip timeout) 回数で指定します。 再送タイムアウト回数が .Dq 停止サーバ閾 に達した後は、無応答なサーバに関するキャッシュデータをいまだ有効な ものと見倣します。 値は 1 から 9 までで、9 は .Dq "無限停止閾 (infinite dead threshold)" です (キャッシュデータを有効と見倣す事はありません)。 このオプションは一般に薦められるものではなく実験的なものです。 .It Fl I readdir での読み取りサイズを指定した値にします。 値は通常 BIRBLKSIZ の倍数であり、マウントの読み取りサイズ以下です。 .It Fl K クライアント - サーバ間のユーザ認証用に Kerberos 認証書をサーバへ渡します。 カーネルが NFSKERB オプションにて構築されている必要があります。 適切な Kerberos 暗号化ルーチンを NFS ソース内に組み込まない場合、 このオプションを使用すると、カーネルコンパイルが出来なくなります (インターネットドラフト .%T "Authentication Mechanisms for ONC RPC" を御覧下さい)。 .It Fl L NQNFS において、リース期間を指定した秒数にします。 応答遅延 (round trip delay) が大きな場合だけ使って下さい。 値は通常、10 秒から 30 秒の間です。 .It Fl N 予約されたソケットポート番号を使用し .Em ません (後述)。 .It Fl P 予約されたソケットポート番号を使います。 このフラグは廃れたものであり、互換性のためだけにあります。 現在、予約されたソケットポート番号をデフォルトで使用します。 NFS がより安全になるとの考え方 (これは誤りです) に基づいて クライアントが予約ポートを使用しないとマウントさせないサーバ をマウントするのに役立ちます。 (クライアントの root が信頼でき、ネットワークケーブルも安全な場所にあ るが、クライアントのユーザは信頼できないという、まれな場合には 役に立つでしょうが、通常のデスクトップクライアントには当てはまりません。) .It Fl R マウントする際のリトライ回数を、指定された値にします。 .It Fl T UDP の代わりに TCP を使います。これは、サーバがクライアントと 同じ LAN ケーブル上にない場合に使うことをお勧めします (注意: この機能は大抵の非 BSD サーバではサポートされていません)。 .It Fl U TCP NFS マウントであっても、マウントプロトコルに UDP を強制します。 (古い BSD サーバにて必要です。) .It Fl a 先読みブロック数を指定した値に設定します。値は 0 から 4 までの範囲で、 サイズの大きなファイルをシーケンシャルに読む場合、 何ブロック先読みするかを決定します。 帯域幅×遅延が大きな状況でマウントする場合に 1 より大きな値をお勧めします。 .It Fl b 最初にサーバの接続に失敗した場合、子プロセスを起動して、 バックグラウンドでマウントを続けようとします。 マルチユーザモードで起動する際、重要でないファイルシステムを .Xr fstab 5 に書いておく場合に役に立ちます。 .It Fl c .Tn UDP マウントポイントに対しては、 .Xr connect 2 を使いません。 これは、標準のポート番号 2049 からのリクエストに答えないサーバ に対しては使う必要があります。 .It Fl d 再送タイムアウト時間を動的に予測しません。これは、 動的に予測される再送タイムアウト時間が非常に短いために、 UDP マウントが高いリトライレートを示しているような場合に有効です。 .It Fl g 認証用のグループリストの最大サイズを、指定した値に設定します。 RFC 1057 ではグループリストのサイズは 16 と記述されていますが、これを 扱えない古いサーバをマウントするときに使うべきです。 多くのグループに属しているユーザに対してマウントポイントから 応答がない場合は、8 を指定してみて下さい。 .It Fl i マウントを割り込み可能とします。これは、応答しないサーバがあるために ファイル関連のシステムコールが遅れるような場合、 プロセスに終了シグナルが送られると、EINTR で システムコールが失敗することを意味します。 .It Fl l NQNFS と NFSV3 において、\fBReaddir_and_Lookup\fR RPCを使うことを 指定します。 このオプションは .Dq "ls -l" するようなときに RPC のトラフィックを減らしますが、 属性と名前のキャッシュをプリフェッチエントリで溢れさせる傾向があります。 このオプションを指定して性能が良くなるのか悪くなるのかを確認して下さい。 バンド幅と遅延の積が大きなネットワークにて最も有用でしょう。 .It Fl m Kerberos の管理領域を文字列で指定します。 他の管理領域にマウントする場合に .Fl K オプションと共に使います。 .It Fl o .Fl o フラグの後に、オプションをコンマで区切って並べ指定します。 指定可能なオプションとその意味は .Xr mount 8 を参照してください。 以下の NFS 固有のオプションを使用可能です: .Bl -tag -width indent .It port= 指定したポート番号を NFS 要求に使用します。 デフォルトでは portmapper に問い合わせます。 .It acregmin= .It acregmax= .It acdirmin= .It acdirmax= ファイル属性がキャッシュされたときに、 キャッシュエントリをエクスパイアするためにタイムアウトを計算します。 これらの 4 つの値は、``ディレクトリ'' および ``通常'' (ディレクトリ以外) の 上限および下限を決定します。 デフォルトでは、 通常ファイルは 3 から 60 秒、 ディレクトリは 30 から 60 秒です。 タイムアウトの算出アルゴリズムはファイルの古さを元にするものです。 ファイルが古くなると、キャッシュが有効であると見倣す期間も長くなり、 上記限界に近付きます。 .El .Pp .Bl -tag -width "dumbtimerXX" \fB歴史的な \&-o オプション\fR .Pp これらのオプションを使用する事は勧められません。 歴史的な .Nm との互換性のためにここに記述してあります。 .It bg .Fl b と同じ。 .It conn .Fl c を指定しない場合と同じ。 .It dumbtimer .Fl d と同じ。 .It intr .Fl i と同じ。 .It kerb .Fl K と同じ。 .It nfsv2 .Fl 2 と同じ。 .It nfsv3 .Fl 3 と同じ。 .It rdirplus .Fl l と同じ。 .It mntudp .Fl U と同じ。 .It resvport .Fl P と同じ。 .It seqpacket .Fl p と同じ。 .It nqnfs .Fl q と同じ。 .It soft .Fl s と同じ。 .It tcp .Fl T と同じ。 .El .It Fl q キャッシュの一貫性を保つためにプロトコルのリース拡張を NFS バージョン 3 プロトコルにて使います。 このプロトコルのバージョン 2 は Not Quite Nfs (NQNFS) と呼ばれ、 最新の NFS コードでのみサポートされています。 (4.4BSD-Lite における NQNFS のリリースとは互換性がありません。 4.4BSD-Lite NFS システムを混在させて使用する場合には、 4.4BSD-Lite ベースシステムの NFS コードをアップグレードするまで、 このオプションを使用してはなりません。) .It Fl r データのリードサイズを指定した値にします。この値は通常 1024 以上の 2 のべき乗でなければなりません。これはマウントポイント を頻繁に使っている間に、 .Dq タイムアウトで消失したフラグメント数 が大きくなっていくときに、UDP マウントに対して使います .Pf ( Xr netstat 1 を .Fl s オプション付きで使う ことで、 .Dq タイムアウトで消失したフラグメント数 の値を見ることができます)。 .Fl w オプションも参照 してください。 .It Fl s ソフトマウントを行います。これは、 タイムアウトが決められた\fBリトライ\fR回数に達すると、 システムコールが失敗することを意味します。 .It Fl t 指定した値に初期再送タイムアウト時間を設定します。パケット の消失レートの高いネットワークや負荷の高いサーバで行う UDP マウントを チューニングするときに役立ちます。 ファイルシステムがアクティブなときに .Xr nfsstat 1 が高い再送レートを示す場合には、この値を増やしてみて下さい。 一方、再送レートは低いが、応答遅延が長い場合はこの値を減らします。 (通常、-d オプションをこのオプションとともに使い、 手動でタイムアウトインターバルを調整します。) .It Fl w 指定した値にライトデータサイズを設定します。解説は .Fl r オプションと同様ですが、 .Dq タイムアウトで消失したフラグメント数 は、クライアントのかわりにサーバの値を使います。 .Fl r や .Fl w のオプションは、マウントするサーバが TCP マウントをサポートしていない場合にパフォーマンスを向上させる 最後の手段であることに注意してください。 .It Fl x ソフトマウントの再送タイムアウト回数を設定します。 .El .Sh 関連項目 .Xr mount 2 , .Xr unmount 2 , .Xr fstab 5 , .Xr mount 8 , .Xr nfsd 8 , .Xr nfsiod 8 , .Xr showmount 8 .Sh バグ Sun RPCは UDP (信頼性のないデータグラム) トランスポート層上に 実装されているため、マウントの性能をチューニングしても 限界があります。サーバが同じ LAN ケーブル上にない場合や、 サーバの負荷が高い場合には、 .Tn TCP トランスポートを使うことを強くすすめますが、 残念なことに、ほぼ 4.4BSD サーバに限られています。 diff --git a/ja_JP.eucJP/man/man8/mount_nwfs.8 b/ja_JP.eucJP/man/man8/mount_nwfs.8 index 0ba2768581..b8bc49a206 100644 --- a/ja_JP.eucJP/man/man8/mount_nwfs.8 +++ b/ja_JP.eucJP/man/man8/mount_nwfs.8 @@ -1,224 +1,225 @@ -.\" %FreeBSD: src/sbin/mount_nwfs/mount_nwfs.8,v 1.7.2.3 2000/12/14 12:12:30 ru Exp % +.\" %FreeBSD: src/sbin/mount_nwfs/mount_nwfs.8,v 1.7.2.4 2001/03/05 19:33:46 ru Exp % .Dd October 14, 1999 .\" jpman %Id: mount_nwfs.8,v 1.3 2000/04/19 02:39:20 horikawa Stab % .Dt MOUNT_NWFS 8 .Os FreeBSD .Sh 名称 .Nm mount_nwfs .Nd NetWare ファイルサーバから NetWare ボリュームをマウントする .Sh 書式 .Nm .Op Fl Chv .Fl S Ar server .Fl U Ar user .Op Fl connection\ options .Fl V Ar volume .Op Fl M Ar mode .Op Fl c Ar case .Op Fl d Ar mode .Op Fl f Ar mode .Op Fl g Ar gid .Op Fl l Ar locale .Op Fl n Ar os2 .Op Fl u Ar uid .Op Fl w Ar scheme .Ar node .Nm .Op Fl options .Ar /server:user/volume[/path] .Ar node .Sh 解説 .Nm コマンドは NetWare サーバのボリュームをマウントすることを可能にします。 既にあるコネクションを使用することも新しくコネクションを作成することも 可能であり、もし使用可能なコネクションが見つからなければ新しいコネクションを 作成しようとします。コネクションはそれを参照しているものを数えているので、 最後のマウントボリュームが解放されるとコネクションは閉じられます。また、 .Xr ncplogin 1 を用いて、なにもマウントせずに、コネクションを作成可能です (マウント用に、このコネクションを後から使用可能です)。 .Pp コマンドラインのふたつの形式に注意してください。ひとつ目の形式では、サーバと ユーザは .Fl S 及び .Fl U オプションによって指定されます。ふたつ目の形式では、サーバとユーザは .Xr mount 8 コマンドの引数の .Ar special の部分で指定されます ( .Fl S , .Fl U , .Fl V はこの場合には使われません)。これにより、 .Xr fstab 5 ファイルを使用可能になります ( .Sx 使用例 を参照してください)。 .Pp オプションは以下の通りです。 .Bl -tag -width indent .It Fl S Ar server 接続する NetWare サーバ名を指定します。ネイティブ IP を使用する場合は同様に .Fl A オプションが必要です。 .It Fl U Ar user ログインに使用するユーザ名を指定します。 -.It Fl "[connection options]" +.It Fl connection\ options 詳細は .Xr ncplogin 1 を参照してください。 .It Fl V Ar volume マウントするボリューム名を指定します。 ボリューム名は、すべてのオプションの後かつ .Ar mount-point の手前で、指定することもできます。 .It Ar node マウントボリュームへのパスを指定します。 .It Fl c Ar case .Ar case オプションは名前の表記に作用します。 .Ar case は以下のどれかひとつを使用します。 .Bl -tag -width "ValueXX" .It Em 値 .Em 意味 .It l すべての既存のファイル名を小文字に変換します。 OS2 の名前空間で新しく作られたファイルは小文字の名前 になります。これは DOS 名前空間でボリュームをマウント するときのデフォルトです。 .It L 'l' と同じですが、ファイルシステムを大文字小文字に 敏感でないようにしようとします。うまく動作しないかも しれません。 .It n 大文字小文字の変換を行ないません。 -注意! DOS 名前空間でこのオプションを使用するのは、 +.Em 注意 ! +DOS 名前空間でこのオプションを使用するのは、 最終手段にしてください。DOS 名前空間で小文字の ファイル名を作成すると、予期しない結果になります。 これは OS2 名前空間をマウントするときのデフォルト です。 .It u すべての既存のファイル名を大文字に変換します。 OS2 の名前空間で新しく作られたファイルは大文字の名前 になります。 .It U 'u' と同様ですが、ファイルシステムを大文字小文字に 敏感でないようにしようとします。うまく動作しないかも しれません。 .El .It Fl f Ar mode , Fl d Ar mode ファイルやディレクトリにつけられるパーミッションを指定します。 値は 8 進数で指定される必要があります。ファイルモードの既定値はマウント ポイントのものが用いられ、ディレクトリの場合は読み込みパーミッションがある 場合に実行パーミッションが付加されます。 .Pp これらの許可情報は NetWare サーバが認めるものとは異なったものでありうる ということに注意してください。 .It Fl n Ar namespace .Ar namespace で指定した名前空間を使用しません。 現在のところ .Ar OS2 だけをここに指定可能です。 .It Fl v バージョン番号を表示します。 .It Fl u Ar uid , Fl g Ar gid ファイルにつけられる所有者 ID とグループ ID を指定します。 既定値ではボリュームがマウントされているディレクトリの 所有者 ID とグループ ID が使用されます。 .It Fl l Ar locale 文字の変換に使用するロケールを設定します。 .Nm は既定値として、環境変数 .Ev LC_* を参照します。 .It Fl w Ar scheme NetWare と .Fx の間でファイル名を変換するための .Ar scheme を指定します。現在は、 .Ar koi2cp866 と .Ar asis だけをここに指定可能です。変換方法はコンパイル時に .Pa config.mk ファイルで許可されていることが必要であることに注意してください。 .It Fl M Ar mode 詳細は .Xr ncplogin 1 を参照してください。 このオプションが省略されると、コネクションのパーミッションには ディレクトリモード -.Pf ( Fl d Ns ) +.Pq Fl d オプションが仮定されます。 .El .Sh 関連ファイル .Bl -tag -width /var/log/wtmp -compact .It Pa ~/.nwfsrc はコネクションその他に関して静的なパラメータを保持します。 詳細は .Pa /usr/share/examples/nwclient/dot.nwfsrc を参照してください。 .El .Sh 注 NCP コネクションが確立される前に、カーネルは IPX サポートを含むように 設定され、IPXrouted と KLD nwfs.ko が読み込まれていることが必要です。 .Sh 使用例 次の例は NetWare サーバ .Em nwserv に、ユーザ名 .Em GUEST として接続し、ボリューム .Em SYS と .Em VOL1 をマウントすることを説明しています。 .Bd -literal -offset indent mount_nwfs -S nwserv -U guest -V sys /nw/s1/sys mount_nwfs /nwserv:guest/sys /nw/s1/sys mount -t nwfs /nwserv:guest/vol1 /nw/s1/vol1 mount -t nwfs /nwserv:boris/sys/home/boris /home/boris/nw/home .Ed .Pp 最後の例はボリュームのサブディレクトリだけをマウントし、 NetaWare の 'map root' コマンドと等価です。 .Pp また .Xr fstab 5 を、nwfs でのマウントに使用することもできます。 .Bd -literal -offset indent /nwserv:guest/sys /nw/s1/sys nwfs rw,noauto 0 0 /nwserv:guest/vol1 /nw/s1/vol2 nwfs rw,noauto 0 0 .Ed .Sh 歴史 .Nm ユーティリティが最初に登場したのは .Fx 4.0 です。 .Sh バグ 若干存在します。 .Sh CREDITS .Fx での NetWare クライアントの開発では、下記のソースを使用しました。 .Pp NetWare NDK に関する文書 .Pp Ncpfs for Linux - .An Volker Lendecke Aq lendecke@math.uni\-goettingen.de が書きました。 彼のコードの一部を、BSD スタイルのライセンスで公開することを認めてくれました。 .Pp "Interrupt List" は .An Ralf Brown からのものです。 .Pp また、 .Pa /sys のたくさんのファイルを使用しています。 .Sh 作者 .An Boris Popov Aq bp@butya.kz , .Aq rbp@chat.ru diff --git a/ja_JP.eucJP/man/man8/natd.8 b/ja_JP.eucJP/man/man8/natd.8 index d678fab1ec..1a2e4c692f 100644 --- a/ja_JP.eucJP/man/man8/natd.8 +++ b/ja_JP.eucJP/man/man8/natd.8 @@ -1,608 +1,609 @@ -.\" manual page [] for natd 1.4 -.\" %FreeBSD: src/sbin/natd/natd.8,v 1.27.2.6 2000/12/08 14:04:03 ru Exp % +.\" %FreeBSD: src/sbin/natd/natd.8,v 1.27.2.7 2001/03/05 19:33:48 ru Exp % .\" jpman %Id% .Dd June 27, 2000 .Dt NATD 8 .Os FreeBSD .Sh 名称 .Nm natd .Nd ネットワークアドレス変換デーモン .Sh 書式 .Nm .Bk -words .Op Fl unregistered_only | u .Op Fl log | l .Op Fl proxy_only .Op Fl reverse .Op Fl deny_incoming | d .Op Fl use_sockets | s .Op Fl same_ports | m .Op Fl verbose | v .Op Fl dynamic .Op Fl in_port | i Ar port .Op Fl out_port | o Ar port .Op Fl port | p Ar port .Op Fl alias_address | a Ar address .Op Fl target_address | t Ar address .Op Fl interface | n Ar interface .Op Fl proxy_rule Ar proxyspec .Op Fl redirect_port Ar linkspec .Op Fl redirect_proto Ar linkspec .Op Fl redirect_address Ar linkspec .Op Fl config | f Ar configfile .Op Fl log_denied .Op Fl log_facility Ar facility_name .Op Fl punch_fw Ar firewall_range .Ek .Sh 解説 このプログラムは、 .Fx における .Xr divert 4 ソケットと共に用いることによって、ネットワークアドレスの変換を 行います。 このプログラムは、複数の NIC とともに使用することを意図しています - PPP リンク上で NAT を行いたい場合、 .Xr ppp 8 の .Fl nat スイッチを使用してください。 .Pp .Nm natd は通常、デーモンとしてバックグラウンドで実行します。 .Nm はマシンに入ってくるパケット、またはマシンから出て行くパケットを 生 (raw) のまま扱い、場合により IP パケットストリームに 再び送り出す前に手を加えます。 .Pp .Nm natd は他のホストへ向かうすべてのパケットについて、発信元 IP アドレスを 現在のマシンのものにする、という変換を行います。 このように変換された各パケットについて、変換内容を記録するために 内部テーブルエントリが作成されます。 発信元ポート番号も、パケットに適用したテーブルエントリを示すように 変更されます。 現在のホストの、対象となる IP アドレスを使ったパケットが受信されると、 この内部テーブルがチェックされます。 エントリが見つかると、パケットに正しい対象 IP アドレスとポート番号を 入れるのに利用されます。 .Pp 以下のコマンドラインオプションが利用できます。 .Bl -tag -width Fl .It Fl log | l 様々なエイリアスの統計や情報をファイル .Pa /var/log/alias.log に記録します。このファイルは .Nm が起動されるたびに切りつめられます。 .It Fl deny_incoming | d 入力パケットのうち、内部変換テーブルに エントリの無いものを渡しません。 .Pp 本オプションを使用しないと、このようなパケットは下記の .Fl target_address ルールを使用して変更され、内部変換テーブルにエントリが作成されます。 .It Fl log_denied 拒否した入力パケットを .Xr syslog 3 を介してログします .Po .Fl log_facility を参照してください .Pc 。 .It Fl log_facility Ar facility_name .Xr syslog 3 を介して情報をログするときに、指定したログファシリティを使用します。 引数 .Ar facility_name は .Xr syslog.conf 5 に記述されているキーワードのうちのひとつです。 .It Fl use_sockets | s FTP data コネクションや IRC DCC send コネクションを確立するのに .Xr socket 2 を割り当てます。このオプションはよりシステムリソースを消費しますが、 ポート番号が衝突する場合でもコネクションが成功することを保証します。 .It Fl same_ports | m 出て行くパケットを変換する時に、できるだけポート番号を同じまま 保つようにします。このオプションにより、RPC のようなプロトコルが うまく働く可能性があがります。ポート番号を維持することができない時には、 暗黙のうちに通常と同じ方法で変換されます。 .It Fl verbose | v 起動時に .Xr daemon 3 を呼び出しません。よって、制御端末から切り離されずに、標準出力に すべてのパケット変換を表示します。このオプションはデバッグの目的に のみ用いるべきです。 .It Fl unregistered_only | u .Em 登録されていない 発信元アドレスを伴う出て行くパケットのみを変換します。 RFC 1918 によれば、登録されていない発信元アドレスは 10.0.0.0/8 と 172.16.0.0/12 と 192.168.0.0/16 となっています。 .It Fl redirect_port Ar proto Xo .Ar targetIP Ns : Ns Xo .Ar targetPORT Ns Op - Ns Ar targetPORT Xc .Op Ar aliasIP Ns : Ns Xo .Ar aliasPORT Ns Op - Ns Ar aliasPORT Xc .Oo Ar remoteIP Ns Oo : Ns .Ar remotePORT Ns Op - Ns Ar remotePORT .Oc Oc .Xc 指定されたポートに入ってくるコネクションを別のホストとポートに リダイレクトします。 引数 .Ar proto は .Ar tcp または .Ar udp 、 .Ar targetIP は希望する対象 IP 番号、 .Ar targetPORT は希望する対象ポート番号か範囲、 .Ar aliasPORT は要求するポート番号か範囲、 .Ar aliasIP はエイリアスを行うアドレスです。 引数 .Ar remoteIP と .Ar remotePORT は、必要な場合により正確なコネクションを 指定するのに利用できます。 .Ar targetPORT と .Ar aliasPORT は数値的に同じである必要はありませんが、 大きさは同じであることが必要です。 .Ar remotePORT が指定されないと、全ポートが仮定されます。 .Ar remotePORT が指定されると、 .Ar targetPORT の大きさに適合するか、 0 (全ポート) であることが必要です。 例えば、 .Pp .Dl Ar tcp inside1:telnet 6666 .Pp という引数は、このマシンのポート 6666 に向けられた tcp パケットが マシン inside1 の telnet ポートに送られることを示しています。 .Pp .Dl Ar tcp inside2:2300-2399 3300-3399 .Pp は、 ホスト inside2 のポート 2300-2399 に向けられた入力コネクションを ポート 3300-3399 へリダイレクトします。 .It Fl redirect_proto Ar proto localIP Oo .Ar publicIP Op Ar remoteIP .Oc .Ar publicIP に向けられたプロトコル .Ar proto .Po Xr protocols 5 を参照 .Pc の入力 IP パケットを、 .Ar localIP アドレスへリダイレクトし、その逆も行います。 .Pp .Ar publicIP が指定されないと、デフォルトのエイリアスアドレスが使用されます。 .Ar remoteIP が指定されると、 .Ar remoteIP から/へ向けて到着したパケットのみがルールにマッチします。 .It Fl redirect_address Ar localIP publicIP 公式な IP アドレスへのパケットの流れを、ローカルネットワーク内の マシンにリダイレクトします。この機能は .Em 静的 NAT (static NAT) と 呼ばれています。 静的 NAT はあなたの ISP が IP アドレスの小さなブロックをあなたに 割り当てた時に、単一のアドレスとして用いるのにも利用できます: .Pp redirect_address 10.0.0.8 0.0.0.0 .Pp 上記のコマンドは入ってくすべてのパケットをマシン 10.0.0.8 に リダイレクトします。 .Pp 下記のように、いくつかのアドレスエイリアスが同一の公式アドレスを 示すように指定すると、 .Pp .Bd -literal -offset indent .Ar redirect_address 192.168.0.2 public_addr .Ar redirect_address 192.168.0.3 public_addr .Ar redirect_address 192.168.0.4 public_addr .Ed .Pp 入ってくるパケットの流れは最後に変換されたローカルアドレス (192.168.0.4) に向けられますが、最初の二つのアドレスへの出力 パケットの流れは、指定された .Ar public_addr からのエイリアスのままになります。 .It Fl redirect_port Ar proto Xo .Ar targetIP Ns : Ns Xo .Ar targetPORT Ns Oo , Ns .Ar targetIP Ns : Ns Xo .Ar targetPORT Ns Oo , Ns -.Ar ... +.Ar ...\& .Oc Oc .Xc .Xc .Op Ar aliasIP Ns : Ns Xo .Ar aliasPORT .Xc .Oo Ar remoteIP Ns .Op : Ns Ar remotePORT .Oc .Xc .It Fl redirect_address Xo .Ar localIP Ns Oo , Ns .Ar localIP Ns Oo , Ns -.Ar ... +.Ar ...\& .Oc Oc .Ar publicIP .Xc 書式 .Fl redirect_port および .Fl redirect_address は、単一サーバのネットワーク負荷をオフロードし、 負荷をサーバプールへ分散します。 この機能は .Em LSNAT (RFC 2391) として知られています。 例えば、引数 .Pp .Dl Ar tcp www1:http,www2:http,www3:http www:http .Pp は、ホスト www への入力 HTTP 要求を、 www1, www2, www3 のいずれかへ、透過的にリダイレクトします。 ここで、ホストの選択は、ネットの負荷にかかわらず、 単純にラウンドロビンで行われます。 .It Fl dynamic .Fl n オプションや .Fl interface オプションが用いられると、 .Nm は 指定された .Ar interface へルーティングする変換ソケットを監視します。 .\" (訳注) kuriyama@opt.phys.waseda.ac.jp (Nov 29 1997) .\" 上の訳はどうも意味が通らない。原文は以下の通り。誰か直して。 .\" .Nm .\" will monitor the routing socket for alterations to the .\" .Ar interface .\" passed. .\" (訳注2) kuriyama@opt.phys.waseda.ac.jp (Jan 4 1998) .\" ちょっと直してみたけどまだ不満。 インタフェースの IP アドレスが変化すると、 .Nm はエイリアスアドレスを動的に変更します。 .It Fl in_port | i Ar port すべてのパケットを .Dq 入力 として扱い、 .Xr divert 4 ポート .Ar port から読み込み .Ar port へ書き出します。 .It Fl out_port | o Ar port すべてのパケットを .Dq 出力 として扱い、 .Xr divert 4 ポート .Ar port から読み込み、 .Ar port へ書き出します。 .It Fl port | p Ar port .Xr divert 4 によって指定されたルールを用いてパケットを識別し、 .Dq 入力 パケットを .Xr divert 4 ポート .Ar port から読み、 .Dq 出力 パケットを .Ar port へ書き出します。 .Ar port が数字でない場合、 データベースが検索されます。 このフラグが指定されない時には、デフォルトとして .Ar natd という名前の divert ポートが用いられます。 .It Fl alias_address | a Ar address エイリアスアドレスとして .Ar address を用います。このオプションが指定されない場合は、 .Fl n オプションか .Fl interface オプションが指定されなければなりません。 指定されたアドレスは、 .Dq 公開された ネットワークインタフェースに割当てられたアドレスである 必要があります。 .Pp .Em 出力される 全データのソースアドレスは .Ar address に書換えられます。 .Em 到着する 全データは、 既にエイリアスされた外向け接続にマッチするかどうかチェックされます。 マッチする場合、パケットはそれぞれ変換されます。 マッチしない場合、 .Fl redirect_port , .Fl redirect_proto , .Fl redirect_address の割り当てをチェックしそれぞれの動作を行います。 他の動作が行えない場合かつ .Fl deny_incoming が指定されていない場合、後述の .Fl target_address オプションに指定された通りに、 このパケットはローカルのマシンに配送されます。 .It Fl t | target_address Ar address 対象アドレスを設定します。 既存のリンクとは関連付けられていない入力パケットがホストマシンに到着した時、 そのパケットは指定された .Ar address へ送られます。 .Pp 対象アドレスは .Ar 255.255.255.255 に設定可能です。 この場合、すべての新規入力パケットは、 .Fl alias_address または .Fl interface で設定されるエイリアスアドレスへ行きます。 .Pp このオプションを使用しない場合、または引数 .Ar 0.0.0.0 で呼ばれた場合、 すべての新規入力パケットはパケット中で指定されるアドレスへ行きます。 これにより、パケットの経路が可能な場合には、 外部のマシンが内部のマシンと直接通信可能になります。 .It Fl interface | n Ar interface エイリアスアドレスを決めるのに、 .Ar interface を用います。 .Ar interface に関連づけられた IP アドレスが変化する可能性がある場合には、 .Fl dynamic オプションも指定されるべきです。 このオプションが指定されない場合、 .Fl alias_address オプションを使用する必要があります。 .Pp 指定された .Ar interface は、通常、 .Dq 公開された (または .Dq 外部 の) ネットワークインタフェースです。 .It Fl config | f Ar file .Ar file から設定を読み込みます。 .Ar file はオプションのリストを含み、上記のコマンドラインフラグの長い表記と 同じ物が 1 行ずつ入ります。例えば、 .Pp .Dl alias_address 158.152.17.1 .Pp という行はエイリアスアドレスに 158.152.17.1 を指定します。 設定ファイル内では、引数を持たないオプションは .Ar yes か .Ar no を伴って指定されます。例えば、 .Pp .Dl log yes .Pp は .Fl log と同じ意味になります。 .Pp 後続する空白と空行は無視されます。 .Ql \&# 記号は、行の残りがコメントである印です。 .It Fl reverse このオプションを指定すると .Nm は .Dq 入力 パケットと .Dq 出力 パケットを逆に扱い、 .Dq 外部 インタフェースの代りに .Dq 内部 インタフェース上で動作します。 .Pp 出力トラフィックがローカルマシンにリダイレクトされ、 .Nm が入力インタフェースで走行している (通常は出力インタフェースで走行します) といった、透過プロキシを実行している状況で有用な場合があります。 .It Fl proxy_only .Nm が透過プロキシのみを実行するよう強制します。 通常のアドレス変換は実行されません。 .It Fl proxy_rule Xo .Op Ar type encode_ip_hdr | encode_tcp_stream .Ar port xxxx .Ar server a.b.c.d:yyyy .Xc 透過プロキシを有効にします。 指定したポートのパケットでこのホストから他のホストへ向かう出力 TCP パケットは、 指定したサーバのポートへリダイレクトされます。 オプションとして、元の宛先アドレスがパケットにエンコードされます。 .Ar encode_ip_hdr は、この情報を IP オプションフィールドに置きます。 .Ar encode_tcp_stream は、このデータを TCP ストリームの先頭に挿入します。 .It Fl punch_fw Xo .Ar basenumber Ns : Ns Ar count .Xc このオプションは、FTP/IRC DCC コネクション用に、 .Xr ipfirewall 4 -ベースの防火壁に穴を開けるよう、 +ベースのファイアウォールに穴を開けるよう、 .Nm に指示します。 これは、 -特定のコネクション (このコネクションのみ) の防火壁の通り抜けを許すという、 -一時的な防火壁ルールを、動的にインストールすることで実現されます。 +特定のコネクション (このコネクションのみ) の +ファイアウォールの通り抜けを許すという、 +一時的なファイアウォールルールを、動的にインストールすることで実現されます。 このルールは、対応するコネクションが終了すると、自動的に削除されます。 .Pp .Ar basenumber から開始する最大 .Ar count -個のルールが使用され、防火壁に穴を開けます。 +個のルールが使用され、ファイアウォールに穴を開けます。 すべてのルールに対する範囲は、起動時にクリアされます。 .El .Sh NATD の実行 .Nm natd を走らせようとする前には以下の手順が必要となります: .Bl -enum .It 自分のカーネルを以下のオプションを付けて構築します: .Bd -literal -offset indent options IPFIREWALL options IPDIVERT .Ed .Pp 自分のカーネルを構築する方法については、ハンドブックに詳しい説明が あるのでそちらを参照してください。 .It あなたのマシンがゲートウェイとして働くようにします。これは .Pa /etc/rc.conf に .Pp .Dl gateway_enable=YES .Pp と指定するか、 .Pp .Dl sysctl -w net.inet.ip.forwarding=1 .Pp というコマンドを用いることで機能するようになります。 .It .Fl interface オプションを使いたい場合は、そのインタフェースがすでに設定済みとなるように します。例えば、 .Ar interface として .Ql tun0 を指定しようとし、そのインタフェースで .Xr ppp 8 を使っている場合には、 .Nm natd を起動する前に .Nm ppp を起動するようにしなければなりません。 .El .Pp .Nm の実行は至って簡単です。 .Pp .Dl natd -interface ed0 .Pp という行でほとんどの場合充分です (正しいインタフェース名に置き換えて ください)。 ブート時に自動的に開始するように設定する方法については .Xr rc.conf 5 を参照してください。 .Nm が起動されたら、パケットの流れの方向が .Nm natd の方に変わる (divert される) ようにしなければなりません: .Bl -enum .It .Pa /etc/rc.firewall -スクリプトをうまく調整する必要があります。防火壁 (firewall) に +スクリプトをうまく調整する必要があります。ファイアウォールに 興味が無ければ、以下のようにすれば良いでしょう: .Bd -literal -offset indent /sbin/ipfw -f flush /sbin/ipfw add divert natd all from any to any via ed0 /sbin/ipfw add pass all from any to any .Ed .Pp 2 番目の行はあなたのインタフェースに依ります ( .Ql ed0 を適切に変更してください)。 .Pp -この防火壁の設定では、 +このファイアウォールの設定では、 ローカルネットワーク上の誰もがソースアドレスをあなたのホストに 偽装可能であることを認識してください。 ローカルネットワーク上に他にホストがある場合、 -信頼するホストへ/からのトラフィックのみを許可する防火壁ルールを作成することを +信頼するホストへ/からのトラフィックのみを許可する +ファイアウォールルールを作成することを 強く勧めます。 .Pp -本物の防火壁ルールを指定する場合、スクリプトの先頭で上記の 2 行目を +本物のファイアウォールルールを指定する場合、スクリプトの先頭で上記の 2 行目を 指定すると良いでしょう。 -そうすることによって、防火壁により排除されてしまう前に、 +そうすることによって、ファイアウォールにより排除されてしまう前に、 .Nm がすべてのパケットを見ることができるようになります。 .Pp .Nm natd の変換後、転換を生じさせたルール番号の次のルール番号から、 -パケットは防火壁に再入します +パケットはファイアウォールに再入します (同じ番号に複数のルールがある場合には、次のルールからにはなりません)。 .It .Pa /etc/rc.conf で .Pp .Dl firewall_enable=YES .Pp -と設定し、防火壁を作動させます。これはシステムの起動時のスクリプトに +と設定し、ファイアウォールを作動させます。これはシステムの起動時のスクリプトに .Pa /etc/rc.firewall スクリプトを実行するように伝えます。 今すぐ再起動したくない場合には、コンソールから手で実行してください。 バックグラウンドで実行させるのでない限り、これは決して仮想セッションから 行ってはいけません。もし実行させてしまうと、flush が行われた後に あなたは締め出されてしまい、すべてのアクセスを永久に遮断するために この地点で .Pa /etc/rc.firewall の実行は止まってしまいます。スクリプトをバックグラウンドで実行すれば、 この災害を避けることができます。 .El .Sh 関連項目 .Xr divert 4 , .Xr protocols 5 , .Xr rc.conf 5 , .Xr services 5 , .Xr syslog.conf 5 , .Xr ipfw 8 , .Xr ppp 8 .Sh 作者 このプログラムは、多くの人々の細切れの努力の結果です: .Pp .An Archie Cobbs Aq archie@whistle.com (divert ソケット) .An Charles Mott Aq cmott@scientech.com (パケットエイリアス) .An Eivind Eklund Aq perhaps@yes.no (IRC サポートとその他の追加) .An Ari Suutari Aq suutari@iki.fi (natd) .An Dru Nelson Aq dnelson@redwoodsoft.com (初期の PPTP サポート) .An Brian Somers Aq brian@awfulhak.org (まとめ役) .An Ruslan Ermilov Aq ru@FreeBSD.org (natd とパケットエイリアシングと糊) diff --git a/ja_JP.eucJP/man/man8/newfs_msdos.8 b/ja_JP.eucJP/man/man8/newfs_msdos.8 index d023b00307..2b94faa286 100644 --- a/ja_JP.eucJP/man/man8/newfs_msdos.8 +++ b/ja_JP.eucJP/man/man8/newfs_msdos.8 @@ -1,183 +1,183 @@ .\" Copyright (c) 1998 Robert Nordier .\" 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(S) ``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(S) 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. .\" -.\" %FreeBSD: src/sbin/newfs_msdos/newfs_msdos.8,v 1.7.2.4 2000/12/18 15:38:28 ru Exp % +.\" %FreeBSD: src/sbin/newfs_msdos/newfs_msdos.8,v 1.7.2.5 2001/03/04 07:33:22 kris Exp % .\" jpman %Id: newfs_msdos.8,v 1.3 1998/10/10 09:07:02 yohta Stab % .\" .Dd July 6, 1998 .Dt NEWFS_MSDOS 8 .Os .Sh 名称 .Nm newfs_msdos .Nd 新規の MS-DOS (FAT) ファイルシステムを作成する .Sh 書式 .Nm .Op Fl N .Op Fl B Ar boot .Op Fl F Ar FAT-type .Op Fl I Ar volid .Op Fl L Ar label .Op Fl O Ar OEM .Op Fl S Ar sector-size .Op Fl a Ar FAT-size .Op Fl b Ar block-size .Op Fl c Ar cluster-size .Op Fl e Ar dirents .Op Fl f Ar format .Op Fl h Ar heads .Op Fl i Ar info .Op Fl k Ar backup .Op Fl m Ar media .Op Fl n Ar FATs .Op Fl o Ar hidden .Op Fl r Ar reserved .Op Fl s Ar total .Op Fl u Ar track-size .Ar special .Op Ar disktype .Sh 解説 .Nm ユーティリティは、FAT12, FAT16, FAT32 のいずれかのファイルシステムを、デバイス .Ar special 上に作成します。この際、必要ならば .Xr disktab 5 の .Ar disktype を使用して、ジオメトリを決定します。 .Pp オプションを以下に示します: .Bl -tag -width indent .It Fl N ファイルシステムを作成しません: パラメータを表示するだけです。 .It Fl B Ar boot ブートストラップをファイルから取得します。 .It Fl F Ar FAT-type FAT タイプ (12, 16, 32 のいずれか)。 .It Fl I Ar volid ボリューム ID。 .It Fl L Ar label ボリュームラベル (11 文字まで)。 ラベルを構成する文字は、 通常の DOS (8+3) ファイル名に許される文字のみにする必要があります。 .It Fl O Ar OEM OEM 文字列 (8 文字まで)。 デフォルトは \&"BSD 4.4" です。 .It Fl S Ar sector-size セクタあたりのバイト数。受け付ける値は、128 から 32768 までの、2 のべき乗です。 .It Fl a Ar FAT-size FAT あたりのセクタ数。 .It Fl b Ar block-size ファイルシステムのブロックサイズ (クラスタあたりのバイト数)。 この値は、受け付け可能なクラスタあたりのセクタ数 (後述) に、 分解可能である必要があります。 .It Fl c Ar cluster-size クラスタあたりのセクタ数。受け付ける値は、1 から 128 までの、2 のべ乗です。 .It Fl e Ar dirents ルートディレクトリのエントリ数 (FAT12 と FAT16 のみ)。 .It Fl f Ar format 標準 (フロッピディスク) フォーマットを指定します。 -標準フォーマットは 8 つあり、(それぞれキロバイトでの容量で表現して) +標準フォーマットは、(それぞれキロバイトでの容量で表現して) 160, 180, 320, 360, 640, 720, 1200, 1232, 1440, 2880 のいずれかです。 .It Fl h Ar heads ドライブのヘッド数。 .It Fl i Ar info ファイルシステム情報セクタの位置 (FAT32 のみ)。 値 0xffff は、情報セクタが無いことを意味します。 .It Fl k Ar backup バックアップブートセクタの位置 (FAT32 のみ)。 値 0xffff は、バックアップセクタが無いことを意味します。 .It Fl m Ar media メディア記述子 (受け付ける値は、0xf0 から 0xff まで)。 .It Fl n Ar FATs FAT 数。受け付ける値は 1 から 16 までで、両端を含みます。デフォルトは 2 です。 .It Fl o Ar hidden 隠しセクタの数。 .It Fl r Ar reserved 予約セクタの数。 .It Fl s Ar total ファイルシステムサイズ。 .It Fl u Ar track-size トラックあたりのセクタ数。 .El .Sh 注 FAT ファイルシステムパラメータは、 実際のファイルシステムの前にある「予約」セクタの始めの、 「ブートセクタの BPB (BIOS パラメータブロック)」に置かれます。 参照のために、この構造を以下に示します。 .Bd -literal struct bsbpb { u_int16_t bps; /* [-S] セクタあたりのバイト数 */ u_int8_t spc; /* [-c] セクタあたりのセクタ数 */ u_int16_t res; /* [-r] 予約セクタ数 */ u_int8_t nft; /* [-n] FAT 数 */ u_int16_t rde; /* [-e] ルートディレクトリのエントリ数 */ u_int16_t sec; /* [-s] 総セクタ数 */ u_int8_t mid; /* [-m] メディア記述子 */ u_int16_t spf; /* [-a] FAT あたりのセクタ数 */ u_int16_t spt; /* [-u] トラックあたりのセクタ数 */ u_int16_t hds; /* [-h] ドライブヘッド数 */ u_int32_t hid; /* [-o] 隠しセクタ数 */ u_int32_t bsec; /* [-s] ビッグ総セクタ数 */ }; /* FAT32 拡張 */ struct bsxbpb { u_int32_t bspf; /* [-a] FAT あたりのビッグセクタ数 */ u_int16_t xflg; /* 制御フラグ */ u_int16_t vers; /* ファイルシステムバージョン */ u_int32_t rdcl; /* ルートディレクトリの開始クラスタ */ u_int16_t infs; /* [-i] ファイルシステムの情報セクタ */ u_int16_t bkbs; /* [-k] バックアップブートセクタ */ }; .Ed .Sh 使用例 .Bd -literal -offset indent newfs_msdos /dev/ad0s1 .Ed .Pp デフォルトパラメータを使用し、 .Pa /dev/ad0s1 にファイルシステムを作成します。 .Bd -literal -offset indent newfs_msdos -f 1440 -L foo fd0 .Ed 標準 1.44M ファイルシステムを、ボリュームラベル "foo" にて、 .Pa /dev/fd0 に作成します。 .Sh 関連項目 .Xr disktab 5 , .Xr disklabel 8 , .Xr fdisk 8 , .Xr newfs 8 .Sh 診断 終了状態は、成功時には0 に、エラー時には 1 になります。 .Sh 歴史 .Nm コマンドは、最初に .Fx 3.0 に登場しました。 .Sh 作者 .An Robert Nordier Aq rnordier@FreeBSD.org diff --git a/ja_JP.eucJP/man/man8/nologin.8 b/ja_JP.eucJP/man/man8/nologin.8 index ae3d419825..409d77b36f 100644 --- a/ja_JP.eucJP/man/man8/nologin.8 +++ b/ja_JP.eucJP/man/man8/nologin.8 @@ -1,58 +1,62 @@ .\" Copyright (c) 1993 .\" The Regents of the University of California. All rights reserved. .\" .\" Redistribution and use in source and binary forms, with or without .\" modification, are permitted provided that the following conditions .\" are met: .\" 1. Redistributions of source code must retain the above copyright .\" notice, this list of conditions and the following disclaimer. .\" 2. Redistributions in binary form must reproduce the above copyright .\" notice, this list of conditions and the following disclaimer in the .\" documentation and/or other materials provided with the distribution. .\" 3. All advertising materials mentioning features or use of this software .\" must display the following acknowledgement: .\" This product includes software developed by the University of .\" California, Berkeley and its contributors. .\" 4. Neither the name of the University nor the names of its contributors .\" may be used to endorse or promote products derived from this software .\" without specific prior written permission. .\" .\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND .\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE .\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE .\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE .\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL .\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS .\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) .\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT .\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" .\" @(#)nologin.8 8.1 (Berkeley) 6/19/93 -.\" %FreeBSD: src/sbin/nologin/nologin.8,v 1.4.2.1 2000/12/08 14:04:07 ru Exp % +.\" %FreeBSD: src/sbin/nologin/nologin.8,v 1.4.2.2 2001/03/05 19:33:53 ru Exp % .\" .\" jpman %Id: nologin.8,v 1.2 1997/03/31 14:54:31 horikawa Stab % .Dd June 19, 1993 .Dt NOLOGIN 8 .Os BSD 4.4 .Sh 名称 .Nm nologin .Nd 丁寧に login を断る .Sh 書式 .Nm .Sh 解説 .Nm は、 そのアカウントが利用出来ない旨のメッセージを表示して、 0 でない値を返して終了します。 このコマンドは、利用不可能とするアカウントの shell フィールドを 置き換えるという用途を想定しています。 +.Pp +すべてのログインを無効にするには、 +.Xr nologin 5 +を調べてください。 .Sh 関連項目 .Xr login 1 , .Xr nologin 5 .Sh 歴史 .Nm コマンドは .Bx 4.4 から登場しています。 diff --git a/ja_JP.eucJP/man/man8/pstat.8 b/ja_JP.eucJP/man/man8/pstat.8 index 449c5f9225..0eaf8a418a 100644 --- a/ja_JP.eucJP/man/man8/pstat.8 +++ b/ja_JP.eucJP/man/man8/pstat.8 @@ -1,389 +1,409 @@ .\" Copyright (c) 1980, 1991, 1993, 1994 .\" 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. .\" .\" @(#)pstat.8 8.5 (Berkeley) 5/13/94 -.\" %FreeBSD: src/usr.sbin/pstat/pstat.8,v 1.19.2.4 2001/01/17 09:10:48 ru Exp % +.\" %FreeBSD: src/usr.sbin/pstat/pstat.8,v 1.19.2.5 2001/03/04 07:14:26 assar Exp % .\" jpman %Id: pstat.8,v 1.2 1997/03/31 14:56:46 horikawa Stab % .\" .Dd October 7, 1995 .Dt PSTAT 8 .Os BSD 4 .Sh 名称 .Nm pstat , .Nm swapinfo .Nd システムデータ構造体を表示する .Pp .Sh 書式 .Nm .Op Fl Tfiknstv .Op Fl M Ar core .Op Fl N Ar system .Pp .Nm swapinfo .Op Fl k .Op Fl M Ar core .Op Fl N Ar system .Sh 解説 .Nm は、オープンしているファイルのエントリ・ スワップ領域の利用状況・端末の状態・vnode データ構造体 を表示します。 .Pp .Nm swapinfo という名前で起動されると .Fl s オプションが指定されたことになり、このときは .Fl k オプションだけを指定することができます。 .Pp オプションは以下の通りです: .Bl -tag -width indent .It Fl n デバイスを表示するときに、名前ではなくデバイスのメジャー番号と マイナ番号を使用します。 .It Fl k .Ev BLOCKSIZE 環境変数での設定に関わらず、容量の表示をキロバイト単位 で行います。 .It Fl T 種々のシステムテーブルについて使用スロットと空きスロットの 数を表示します。システムの負荷が非常に重いとき、 システムテーブルがどれくらいの大きさになっているかを調べる のに役立ちます。 .It Fl f 次のようなヘッダとともに、オープンしているファイルのテーブル を表示します: .Bl -tag -width indent .It LOC このテーブルエントリの core 中における位置 .It TYPE このテーブルエントリが指すオブジェクトの型 .It FLG その他の状態。以下のように記号化されています: .Pp .Bl -tag -width indent -compact .It R 読み込み用にオープンされている .It W 書き込み用にオープンされている -.It A -追加用にオープンされている .It S 共有ロックが存在している .It X 排他的ロックが存在している .It I データの準備ができたらプロセスグループにシグナルを送る +.It D +.Dv VDOOMED +.It F +.Dv VFREE +.iT b +.Dv VTBFREE +.It O +.Dv VONWORKLST +.It M +.Dv VMOUNT .El .It CNT オープンされたこのファイルのことを知っているプロセスの数 .It MSG このファイルに向けられているメッセージの数 .It DATA このファイルに関する vnode テーブルエントリもしくはソケット構造体の位置 .It OFFSET ファイルオフセット .Pf ( Xr lseek 2 参照) .El .It Fl s カーネルに登録されたすべてのスワップ領域について、 利用状況に関する情報を表示します。第 1 の欄はパーティションのデバイス名 です。次の欄はそのパーティションで利用できる領域全体の大きさです。 .Ar Used の欄は、現在使われているブロックの合計の大きさを示しています。 .Ar Available の欄は、各パーティションに残っている領域の大きさを示しています。 .Ar Capacity は領域の何%が使われているかを示します。 .Pp 2 つ以上のパーティションをスワップ領域としてシステムに 設定している場合は、すべての項目について最後の行に合計が 報告されます。 .Pp .Fl ss のようにオプションを再度指定すると、 スワップのビットマップ/ラディックスツリーの詳細を、システムは表示します。 .It Fl t 次のようなヘッダとともに、端末のテーブルを表示します。 .Bl -tag -width indent .It RAW raw な入力キューにある文字数 .It CAN 正規化された入力キューにある文字数 .It OUT 出力キューにある文字数 .It MODE .Xr tty 4 を参照 .It ADDR 物理デバイスアドレス .It DEL 正規化された入力キューにある区切り文字(改行)の数 .It COL 端末の計算した列の位置 .It STATE その他の状態。以下のように記号化されています: .Pp .Bl -tag -width indent -compact .It T delay がタイムアウトしようとしている -.It W -オープンが完了するのを待っている .It O オープンしている .It F DMA 中に出力キューがフラッシュされた .It C キャリアがオン .It c 接続している .It B 出力中のためビジー .It A プロセスは出力キューに空きができるのを待っている .It a プロセスは出力の完了を待っている .It X 排他的な利用のためにオープンしている .It S 出力が停止した (ixon フロー制御の場合) .It m 出力が停止した (carrier フロー制御の場合) .It o 出力が停止した (CTS フロー制御の場合) .It d 出力が停止した (DSR フロー制御の場合) .It K 入力が停止した .It Y 入力イベントの際に SIGIO を送る .It D 小文字 (lowercase) の .Ql \e が動作する状態 .It E PRTRUBのため .Ql \e.../ の中にいる .It L 次の文字はリテラルである .It P 中断された入力を再タイプしている (PENDIN) .It N タブ幅を数えている、FLUSHO を無視する .It l ブロックモード入力ルーチンは使用中 .It s i/o が snoop された .It Z 接続が失われた .El .It SESS セッション構造体のカーネル内アドレス .It PGID この端末を制御端末としているプロセスグループ .It DISC 回線規約; .Ql term (TTYDISC の場合), .Ql ntty (NTTYDISC の場合), .Ql tab (TABLDISC の場合), .Ql slip (SLIPDISC の場合), .Ql ppp (PPPDISC の場合) のいずれか .El .It Fl v アクティブな vnode を表示します。あるファイルシステムに対応する 一連のvnodeには 2 行のヘッダが付いています。1 行目は以下のように 構成されています: .Bd -filled -offset indent .No *** MOUNT Em fstype from on .Em on fsflags .Ed .Pp ここで .Em fstype には、 .Em ufs , nfs , mfs , pc のいずれかが入ります。 .Em from にはどのファイルシステムがマウント されているか、 .Em on にはファイルシステムがどこにマウントされ ているか、 .Em fsflags にはマウントで適用されるオプション .Pf ( Xr mount 8 を参照) が列挙されます。 2 行目は各フィールドを説明するヘッダです。 最初の部分は固定で、2 番目の部分はファイルシステムのタイプによります。 すべての vnode で共通なヘッダは以下の通りです: .Bl -tag -width indent .It ADDR この vnode の位置 .It TYP ファイルタイプ .It VFLAG vnode のフラグを表す文字のリスト: .Pp .Bl -tag -width indent -compact .It R .Dv VROOT .It T .Dv VTEXT .It S .Dv VSYSTEM .It t .Dv VISTTY .It L .Dv VXLOCK .It W .Dv VXWANT .It B .Dv VBWAIT .It A .Dv VALIASED .It V .Dv VOBJBUF .It a .Dv VAGE .It l .Dv VOLOCK .It w .Dv VOWANT .El .It USE この vnode への参照数 .It HOLD この vnode が確保している I/O バッファの数 .It FILEID vnode フィールド。 .Em ufs の場合は inode 番号 .It IFLAG ファイルシステムに固有なその他の状態。 以下のように記号化されています: .Pp .Bl -tag -width indent .It "ufsの場合:" .Bl -tag -width indent -compact .It L ロックされている .It U 更新時間 .Pf ( Xr fs 5 参照) は修正されなければならない .It A アクセス時刻は修正されなければならない .It W 別のプロセスに要求されている (L フラグがオン) .It C 変更時刻は修正されなければならない -.It S -共有ロックが適用されている -.It E -排他的ロックが適用されている -.It Z -ロックを待っているものがいる +.It U +修正時刻は修正されなければならない .It M 変更がある .It R リネーム中 +.It S +共有ロックが適用されている +.It E +排他的ロックが適用されている +.It H +inode がハッシュリスト上にある +.It L +修正されたが、キーは書かない .El .It "nfsの場合:" .Bl -tag -width indent -compact .Pp .It W I/O バッファのフラッシュが完了するのを待っている .It P I/O バッファがフラッシュされている最中 .It M ローカルで変更されたデータがある .It E 以前の書き込みに失敗したものがある .It X キャッシュを行わないリース (lease)(nqnfs) .It O 書き込みリース (lease)(nqnfs) .It G リース (lease) が破棄された (nqnfs) +.It A +特殊ファイルがアクセスされた +.It U +特殊ファイルが更新された +.It C +特殊ファイルの時刻が変わった +.It L +ノードがロックされた +.It w +誰かがロックを要求している .El .El .It SIZ/RDEV 通常のファイルの場合はバイト数、特殊ファイルの場合は メジャーデバイスとマイナーデバイス .El .It Fl i .Fl v と同じですが、バックワードコンパチビリティのためにあります。 .It Fl M デフォルトの .Pa /dev/kmem の代りに、指定したコアから名前リストに関連する値を取得する。 .It Fl N デフォルトの .Pa /kernel の代りに、指定したシステムから名前リストを取得する。 .El .Sh 関連ファイル .Bl -tag -width /dev/memxxx -compact .It Pa /kernel 名前リスト .It Pa /dev/mem デフォルトのテーブル情報源 .El .Sh 関連項目 .Xr ps 1 , .Xr systat 1 , .Xr stat 2 , .Xr fs 5 , .Xr iostat 8 , .Xr vmstat 8 .Rs .%T UNIX Implementation .%A K. Thompson .Re .Sh バグ .Pp .Tn NFS スワップサーバはサポートしていません。 .Sh 歴史 .Nm コマンドは .Bx 4.0 から登場しました。 diff --git a/ja_JP.eucJP/man/man8/pxeboot.8 b/ja_JP.eucJP/man/man8/pxeboot.8 index bed1db0d88..21024fafc0 100644 --- a/ja_JP.eucJP/man/man8/pxeboot.8 +++ b/ja_JP.eucJP/man/man8/pxeboot.8 @@ -1,127 +1,127 @@ .\" Copyright (c) 1999 Doug White .\" 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. .\" -.\" %FreeBSD: src/sys/boot/i386/pxeldr/pxeboot.8,v 1.1.2.4 2000/12/08 15:03:35 ru Exp % +.\" %FreeBSD: src/sys/boot/i386/pxeldr/pxeboot.8,v 1.1.2.5 2001/03/04 05:07:22 obrien Exp % .\" .\" Note: The date here should be updated whenever a non-trivial .\" change is made to the manual page. .Dd May 1, 2000 .\" jpman %Id: pxeboot.8,v 1.3 2000/07/20 02:26:23 horikawa Stab % .Dt PXEBOOT 8 .Os .Sh 名称 .Nm pxeboot .Nd プリブート実行環境 (PXE) ブートローダ .Sh 解説 .Nm は、システムの第 3 段階ブートストラップ .Xr loader 8 の修正バージョンであり、 Intel のプリブート実行環境 (Preboot Execution Environment, PXE) システムで 動作するように構築されたものです。 PXE は、スマートなブート ROM の形態をとり、 Intel EtherExpress Pro/100 や 3Com 3c905c イーサネットカード、 それにイーサネットを装備した Intel マザーボードに組み込まれています。 PXE は、DHCP コンフィギュレーションをサポートし、 低レベルの NIC アクセスサービスを提供します。 .Nm は、カーネルやモジュールそれに他のファイル群を、 UDP 上の NFS または TFTP 経由で (これはコンパイル時オプションで選択します) 取り出します。 .Nm とメモリファイルシステムイメージ あるいは NFS マウントしたルートファイルシステムと組み合わせることで、 ディスクレスマシンを容易に、EEPROM 焼き器なしで構築することができます。 .Pp .Nm バイナリは、DHCP サーバのコンフィギュレーションファイル中に指定することで、 他のブートファイルと同様にロードされます。 .\" 1.1.2.3 対応にともない削除 .\" しかし、PXE がサーバ応答を認識するには特別な DHCP オプションが必要です。 ISC DHCP v2 サーバ向けのコンフィギュレーションのサンプルを以下に示します: .Bd -literal -offset indent option domain-name "example.com"; option routers 10.0.0.1; option subnet-mask 255.255.255.0; option broadcast-address 10.0.0.255; option domain-name-servers 10.0.0.1; server-name "DHCPserver"; server-identifier 10.0.0.1; default-lease-time 120; max-lease-time 120; subnet 10.0.0.0 netmask 255.255.255.0 { filename "pxeboot"; range 10.0.0.10 10.0.0.254; } .Ed .Nm は、ディレクティブ .Va next-server および .Va option root-path を、サーバおよびファイル要求の NFS マウントパスとしてそれぞれ認識するか、 あるいは TFTP 要求を送るサーバとして認識します。 .Nm は、他のファイルをロードする前に、指定したサーバから .Pa /boot/loader.rc を読み込むことを想定していることに注意してください。 .Pp その他の点では、 .Nm は .Xr loader 8 と同じように振舞います。 .Pp PXE はまだ成熟したものではないため、ファームウェアのバージョンによっては 正常に動作しない可能性があります。 .Nm は Intel ファームウェア version 0.99 上で綿密にテストされましたが、 より新しい 2.0 ファームウェアのプレリリースバージョンでは 問題があることが判明しています。 デバイス製造者の最新の安定リリースをチェックしてください。 .Pp Intel の PXE 仕様および Wired for Management (WfM) システムに関する 更に詳細な情報については、 .Li http://developer.intel.com/ial/wfm/ を参照してください。 .Sh 関連項目 .Xr loader 8 .Sh 歴史 .Nm は .Fx 4.1 に初めて登場しました。 .Sh 作者 .An -nosplit .Nm の作者は .An John Baldwin Aq jhb@FreeBSD.org および .An Paul Saab Aq ps@FreeBSD.org です。このマニュアルページの著者は .An Doug White Aq dwhite@FreeBSD.org です。 diff --git a/ja_JP.eucJP/man/man8/quotacheck.8 b/ja_JP.eucJP/man/man8/quotacheck.8 index 4365c17c77..904be3a0bd 100644 --- a/ja_JP.eucJP/man/man8/quotacheck.8 +++ b/ja_JP.eucJP/man/man8/quotacheck.8 @@ -1,161 +1,164 @@ .\" Copyright (c) 1983, 1990, 1991, 1993 .\" The Regents of the University of California. All rights reserved. .\" .\" This code is derived from software contributed to Berkeley by .\" Robert Elz at The University of Melbourne. .\" .\" 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. .\" .\" @(#)quotacheck.8 8.1 (Berkeley) 6/5/93 -.\" %FreeBSD: src/sbin/quotacheck/quotacheck.8,v 1.6.2.1 2000/12/08 14:04:09 ru Exp % +.\" %FreeBSD: src/sbin/quotacheck/quotacheck.8,v 1.6.2.2 2001/03/05 19:33:54 ru Exp % .\" jpman %Id: quotacheck.8,v 1.2 1997/05/19 05:05:46 mitchy Stab % .\" .Dd June 5, 1993 .Dt QUOTACHECK 8 .Os BSD 4.2 .Sh 名称 .Nm quotacheck .Nd ファイルシステムの割り当て制限の一貫性の検査を行う .Sh 書式 .Nm .Op Fl g .Op Fl u .Op Fl v .Ar filesystem .Ar .Nm .Op Fl g .Op Fl u .Op Fl v .Fl a .Sh 解説 .Nm は各ファイルシステムを調べ、現在のディスク使用量のテーブルを作成し、こ れをディスクに保存されている割り当て制限情報ファイルと比較します。違い が発見された場合、割り当て制限情報ファイルとシステムが持っている割り当 て制限情報のコピー(アクティブなファイルシステムを検査した場合)を更新し ます。デフォルトでは、ユーザ割り当て制限とグループ割り当て制限の両方が 検査されます。 .Pp 使用可能なオプションは以下の通りです: .Bl -tag -width indent .It Fl a ファイルシステム名の代りに 指定されると、 .Nm は、 .Pa /etc/fstab に読み書き可能で割り当て制限ありと設定されているファイルシステムをすべ て検査します。デフォルトでは、 .Pa /etc/fstab に書かれている種類の割り当て制限のみを検査します。 .It Fl g .Pa /etc/fstab にグループ割り当て制限が指定してあるもののみ検査します。 .It Fl u .Pa /etc/fstab にユーザ割り当て制限が指定してあるもののみ検査します。 .It Fl v 計算した値と記録されていた割り当て制限ファイルとの違いを報告します。 .El .Pp .Fl g と .Fl u の両方を指定すると、デフォルトの動作と同じになります。 ファイルシステム上では、 .Xr fsck 8 と同様に .Pa /etc/fstab の中のパス番号を使って、並行して複数のファイルシステムを検査します。 .Pp 通常 .Nm は何も表示しません。 .Pp .Nm は、チェックされるファイルシステムのルートディレクトリに割り当て制限を 書いたファイル .Pa quota.user と .Pa quota.group があるものとして動作します。このデフォルトのファイル名は .Pa /etc/fstab により変更することができます。もし、割り当て制限を書いたファイル がなければ、 .Nm が作成します。 +これらのファイルは、 +.Xr edquota 8 +ユーティリティで編集すべきです。 .Pp .Nm は、通常 .Pa /etc/rc からブート時に、 .Xr quotaon 8 が割り当て制限を開始する前に実行されます ( .Xr rc 8 参照)。 rc 起動手続きは、 .Pa /etc/rc.conf 変数 .Ar check_quotas で制御されます。 .Pa /etc/rc でこの機能を有効にすると、 .Pa /etc/rc.conf 中の .Ar enable_quotas 変数で、クォータ手続きも有効にすることが必要なことに注意してください。 .Pp .Nm は、各ユーザごとのディスク使用量を計算するために、rawデバイス をアクセスします。そのため、 .Nm の実行中にチェックされるファイルシステムを使用してはいけません。 .Sh 関連ファイル .Bl -tag -width quota.group -compact .It Pa quota.user ファイルシステムのルートにあるユーザ割り当て制限に関するデータ .It Pa quota.group ファイルシステムのルートにあるグループ割り当て制限に関するデータ .It Pa /etc/fstab ファイルシステムの名前と位置を読み取る .El .Sh 関連項目 .Xr quota 1 , .Xr quotactl 2 , .Xr fstab 5 , .Xr edquota 8 , .Xr fsck 8 , .Xr quotaon 8 , .Xr repquota 8 .Sh 歴史 .Nm は .Bx 4.2 で追加されました。 diff --git a/ja_JP.eucJP/man/man8/rbootd.8 b/ja_JP.eucJP/man/man8/rbootd.8 index e49cf1272b..3aa8f2178e 100644 --- a/ja_JP.eucJP/man/man8/rbootd.8 +++ b/ja_JP.eucJP/man/man8/rbootd.8 @@ -1,159 +1,158 @@ .\" Copyright (c) 1988, 1992 The University of Utah and the Center .\" for Software Science (CSS). .\" Copyright (c) 1992, 1993 .\" The Regents of the University of California. All rights reserved. .\" .\" This code is derived from software contributed to Berkeley by .\" the Center for Software Science of the University of Utah Computer .\" Science Department. CSS requests users of this software to return .\" to css-dist@cs.utah.edu any improvements that they make and grant .\" CSS redistribution rights. .\" .\" 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: @(#)rbootd.8 8.2 (Berkeley) 12/11/93 -.\" %FreeBSD: src/libexec/rbootd/rbootd.8,v 1.9.2.2 2000/12/20 13:31:18 ru Exp % +.\" %FreeBSD: src/libexec/rbootd/rbootd.8,v 1.9.2.3 2001/03/05 18:21:59 ru Exp % .\" .\" Utah $Hdr: rbootd.man 3.1 92/07/06$ .\" Author: Jeff Forys, University of Utah CSS .\" jpman %Id: rbootd.8,v 1.2 1997/03/31 14:57:40 horikawa Stab % .\" .Dd "December 11, 1993" .Dt RBOOTD 8 .Os .Sh 名称 .Nm rbootd .Nd HP 社製ワークステーションのブート要求に対応するブートサーバ .Sh 書式 .Nm .Op Fl ad .Op Fl i Ar interface .Op config_file .Sh 解説 .Nm ユーティリティは、LAN 上の Hewlett-Packard 社製ワークステーションからの ブート要求に対するサービスを行います。 全てのブートファイルはブートファイル用のディレクトリになければならず、 さらに、もしクライアントがブートリクエスト中にパス情報をつけていた場合は、 処理する前にそのパスは取り除かれます。デフォルトでは、 .Nm は, その設定ファイル中にリストされているマシンからの リクエストにのみ応答します。 .Pp オプションとしては以下のものがあります: .Bl -tag -width indent .It Fl a どのようなマシンからのブート要求にも応えます。このオプションが設定された 場合は、設定ファイルは無視されます。 .It Fl d .Nm をデバッグモードで起動します。受信および送信 されたパケットが端末に表示されるようになります。 .It Fl i Ar interface 指定したインタフェースに対してサービスを行います。 もし指定されていない場合には、 .Nm はループバック以外のもっとも小さい番号の使用可能なインタフェースを システムインタフェースリストから探します。 早いもの順で選ぶので、組み合わせはバラバラになります。 .El .Pp .Ar config_file を指定すれば、 .Nm はデフォルトの設定ファイルではなく、こちらのファイルを 使用するようになります。 .Pp 設定ファイルは、各行に個々のマシンの設定を記述した テキストファイルです。行の先頭は各マシンの Ethernet アドレスで始め、 そのあとにブートファイルの名前をオプションとして記述します。 Ethernet アドレスは 6 オクテッドの値を 16 進数で記述し、 各間を ``:'' で区切ります。 ブートファイルの名前は、ブートファイルディレクトリにあるファイルの名前です。 Ethernet アドレスとブートファイルの名前の間は、空白もしくはコンマで区切ら なければなりません。 行中の ``#'' より後は無視します。 .Pp 設定ファイルの例を以下に示します: .Bl -column 08:00:09:0:66:ad SYSHPBSD,SYSHPUX .It # .It "# ethernet addr boot file(s) comments .It # .It "08:00:09:0:66:ad SYSHPBSD # snake (4.3BSD) .It "08:00:09:0:59:5b # vandy (anything) .It "8::9:1:C6:75 SYSHPBSD,SYSHPUX # jaguar (either) .El .Pp .Nm のログやエラーメッセージは .Xr syslog 3 を使っています。スタートアップメッセージはつねにログに記録され、 致命的なエラー(もしくは .Nm を殺すようなシグナル) が起こった場合にはサーバの終了メッセージもログに残します。 一般的には、致命的ではないエラーはそれによってひき起こされる動作を 無視するといった形で扱われます。 (例えば設定ファイル中の無効な Ethernet アドレスは その行が無効になる原因となります)。 .Pp 以下のシグナルを .Xr kill 1 コマンドを使ってサーバプロセスに送ることで、 サーバプロセスに影響を与えることができます: .Bl -tag -width SIGUSR1 -offset -compact .It SIGHUP アクティブな接続を切り、リコンフィグします。 .It SIGUSR1 デバッグモードをオンにします。すでにオンであれば何もしません。 .It SIGUSR2 デバッグモードをオフにします。すでにオフであれば何もしません。 .El .Sh 関連ファイル .Bl -tag -width /usr/libexec/rbootd -compact -.It /dev/bpf# +.It Pa /dev/bpf# パケットフィルタのデバイス -.It /etc/rbootd.conf +.It Pa /etc/rbootd.conf 設定ファイル -.It /tmp/rbootd.dbg +.It Pa /tmp/rbootd.dbg デバッグ出力 -.It /usr/mdec/rbootd +.It Pa /usr/mdec/rbootd ブートファイルを置くディレクトリ -.It /var/run/rbootd.pid -.Nm -のプロセス ID +.It Pa /var/run/rbootd.pid +プロセス ID .El .Sh 関連項目 .Xr kill 1 , .Xr socket 2 , .Xr signal 3 , .Xr syslog 3 .Sh バグ 同一インタフェース上に複数のサーバが走った場合、 同一のパケットに対して各サーバが応答してしまいます。 diff --git a/ja_JP.eucJP/man/man8/restore.8 b/ja_JP.eucJP/man/man8/restore.8 index 47a63ea777..87b1050c74 100644 --- a/ja_JP.eucJP/man/man8/restore.8 +++ b/ja_JP.eucJP/man/man8/restore.8 @@ -1,444 +1,444 @@ .\" Copyright (c) 1985, 1991, 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. .\" .\" @(#)restore.8 8.4 (Berkeley) 5/1/95 -.\" %FreeBSD: src/sbin/restore/restore.8,v 1.20.2.5 2001/01/16 10:36:37 ru Exp % +.\" %FreeBSD: src/sbin/restore/restore.8,v 1.20.2.6 2001/03/05 19:33:55 ru Exp % .\" .\" jpman %Id: restore.8,v 1.2 1997/03/31 14:58:10 horikawa Stab % .Dd May 1, 1995 .Dt RESTORE 8 .Os BSD 4 .Sh 名称 .Nm restore , .Nm rrestore .Nd "dump コマンドで作ったバックアップからファイルやファイルシステムをリストアする" .Sh 書式 .Nm .Fl i .Op Fl chkmNuvy .Op Fl b Ar blocksize .Op Fl f Ar file .Op Fl s Ar fileno .Nm .Fl R .Op Fl ckNuvy .Op Fl b Ar blocksize .Op Fl f Ar file .Op Fl s Ar fileno .Nm .Fl r .Op Fl ckNuvy .Op Fl b Ar blocksize .Op Fl f Ar file .Op Fl s Ar fileno .Nm .Fl t .Op Fl chkNuvy .Op Fl b Ar blocksize .Op Fl f Ar file .Op Fl s Ar fileno -.Op file ... +.Op Ar .Nm .Fl x .Op Fl chkmNuvy .Op Fl b Ar blocksize .Op Fl f Ar file .Op Fl s Ar fileno -.Op file ... +.Op Ar .Pp .in \" XXX ( .Bx 4.3 オプション文法はバックワードコンパチビリティのために実装されていますが、 ここには記載していません。) .Sh 解説 .Nm は .Xr dump 8 と逆の動作を行います。 ファイルシステムの完全なリストアを行うには、 まず、フルバックアップのリストアから始め、 続いてその上にインクリメンタルバックアップをリストアします。 フルまたは部分バックアップから、単一のファイルやディレクトリの部分ツリー のみをリストア することも可能です。 .Nm は、ネットワークを介した動作も可能です。これを行うには、以下で説明されている .Fl f フラグを参照してください。 コマンドに与えるその他の引数は、リストアされるファイルを指定するための ファイルやディレクトリ名です。 .Fl h フラグを指定していない限り (下記参照)、ディレクトリ名を指定することで、 そのディレクトリ中のファイルや (再帰的に) サブディレクトリを指定することになります。 .Pp 以下のいずれか 1 つ (複数指定不可) のフラグが必要です: .Bl -tag -width Ds .It Fl i バックアップからの対話的なリストアを行います。バックアップからディレクトリ情報 を読み取ると、 .Nm はユーザに展開すべきファイルを選択させるために、 シェルに似たインタフェースでコマンドを受け付けます。 以下のコマンドが使用可能です。引数が必要なコマンドにおいて引数を省略すると、 デフォルトとしてカレントディレクトリが使われます。 .Bl -tag -width Fl .It Ic add Op Ar arg カレントディレクトリまたは指定した引数のファイルを、リストアするファイルの リストに付け加えます。ディレクトリ名を指定した場合には、そのディレクトリの下の すべてのファイルが展開リストに加えられます (コマンドラインに .Fl h フラグが指定されなかった場合)。 .Ic ls でファイルのリストを表示するときに、展開リストに含まれているファイルの頭 には ``*'' がつけられています。 .It Ic \&cd Ar arg カレントディレクトリを指定したディレクトリに移動します。 .It Ic delete Op Ar arg カレントディレクトリまたは引数で指定したファイル名のファイルを、展開する ファイルのリストから削除します。 ディレクトリ名を指定した場合には、そのディレクトリの下のすべてのファイルが 展開リストから削除されます (コマンドラインに .Fl h フラグが指定されなかった場合)。 ディレクトリ中のほとんどのファイルを展開する場合には、 ディレクトリ全体を展開リストに加えたあとで不要なファイルだけを 削除するのが一番便利なやりかたです。 .It Ic extract 展開ファイルリストにあるすべてのファイルをバックアップから展開します。 .Nm は、どのボリュームをマウントしたいかをユーザにたずねます。 数個のファイルのみを展開するのにもっとも早い方法は、最終ボリュームから開始して 最初のボリュームへと戻ることです。 .It Ic help 利用できるコマンドの簡単な説明を表示します。 .It Ic \&ls Op Ar arg カレントディレクトリまたは指定されたディレクトリのリストを表示します。 ディレクトリ名の後ろには ``/'' が付け加えられ、展開リストにあるファイルの前に は ``*'' が加えられます。冗長フラグがセットされていた場合には、 各ディレクトリエントリにあわせて inode 番号も表示されます。 .It Ic pwd カレントディレクトリのフルパス名を表示します。 .It Ic quit .Nm コマンドを中断します。展開リストに何かファイルがあったとしても終了します。 .It Ic setmodes 展開リストにあるすべてのディレクトリの所有者、モード、時刻がセットされる のみで、バックアップからはなにも展開されません。 これは、リストアを途中で中断してしまった時の後始末に有用です。 .It Ic verbose 冗長フラグ .Fl v の意味を反転します。冗長フラグがセットされている場合には、 .Ic ls コマンドは、すべてのエントリに対してその inode 番号を表示します。 また、 .Nm コマンドは、ファイルを展開するたびにその情報を表示します。 .El .It Fl R .Nm は、 フルリストアを再開するために、マルチボリュームのテープのうち特定のものを リストアすることを要求します (下記 .Fl r フラグを参照)。 これはリストア動作を中断したときに使われます。 .It Fl r リストア (ファイルシステムの再構築) を行います。 レベル 0 バックアップのリストアの前には、リストア先となるファイルシステムは .Xr newfs 8 で初期化しておき、マウントして、そのディレクトリへ .Xr cd で移動しておく必要があります。 レベル 0 バックアップのリストアに成功したら、 .Fl r フラグを指定することで、 それに加えて必要なインクリメンタルバックアップをリストアすることができます。 .Fl r フラグは対話的なファイルリストアを行わないため、注意して扱わないと 損害を与えることがあります (ディスクは言うに及ばず、精神的にも)。 次のように実行します: .Bd -literal -offset indent newfs /dev/da0s1a mount /dev/da0s1a /mnt cd /mnt restore rf /dev/rsa0 .Ed .Pp .Nm は、インクリメンタルリストアのための情報を、ルートディレクトリの .Pa restoresymtable に記録します。このファイルは、すべての増分をリストアしたあとで削除すべきです。 .Pp .Nm を、 .Xr newfs 8 や .Xr dump 8 と組み合わせることで、ファイルシステムのサイズやブロックサイズといった パラメータを変更するのに使うことができます。 .It Fl t 指定したファイル名のファイルがバックアップ中にあれば、その名前を表示します。 ファイル名引数がない場合にはルートディレクトリを表示するため、 .Fl h フラグを指定していない限り、バックアップ中のすべてのファイルを表示することに なります。 このフラグは、古くからあった .Xr dumpdir 8 のかわりの機能を持つことに注意してください。 .It Fl x メディアから、指定したファイルが読み出されます。 指定ファイルがディレクトリで、そのディレクトリの内容がバックアップ中に存在し、 かつ .Fl h フラグが指定されていないときには、ディレクトリの内容が再帰的に展開されます。 (可能であれば) ファイルの所有者、修正日時、モードもリストアされます。 もし引数が与えられていなければルートディレクトリを展開するため、 .Fl h フラグを指定していない限り、結果的にバックアップ全体が展開されます。 .El .Pp 以下の追加オプションを指定可能です: .Bl -tag -width Ds .It Fl b Ar blocksize ダンプレコードあたりのキロバイト数です。 .Fl b が指定されないときは、 .Nm はメディアのブロックサイズを動的に求めようとします。 .It Fl c 通常 .Nm は、ダンプ対象のファイルシステムフォーマットが 新しいか古い (4.4 以前) かを動的に決定します。 .Fl c フラグはこのチェックを無効にし、 古いフォーマットのダンプからのみ読み込むことを許します。 .It Fl f Ar file バックアップを .Ar file から読み込みます; .Ar file は、 .Pa /dev/rsa0 (テープドライブ) や .Pa /dev/da1c (ディスクドライブ) といったスペシャルデバイスファイル、 通常のファイル、 .Ql Fl (標準入力) のいずれかです。 ファイル名が .Dq host:file や .Dq user@host:file という形式である場合は、 .Nm は .Xr rmt 8 を用いて指定したファイルを指定のホストから読み取ります。 .Pp .It Fl k リモートテープサーバとの通信時に Kerberos 認証を使用します ( .Nm のコンパイル時に有効にされている場合のみ使用可能です。) .Pp .It Fl h ディレクトリ名を指定された場合に、その中のファイルではなく、 ディレクトリそのものを展開するようにします。 これによって、ダンプからディレクトリのサブツリーを階層的に 展開してしまうことを防ぎます。 .It Fl m 展開を、ファイル名ではなく inode 番号によって行います。 これは数個のファイルのみを展開したい場合で、ファイルの完全なパス名を 再生することを防ぎたい場合に有用です。 .It Fl N 通常通り展開しますが、実際には変更をディスクへ書き込みません。 ダンプメディアの完全性の確認や他のテスト目的に使用可能です。 .It Fl s Ar fileno マルチファイルテープの .Ar fileno から読みます。 ファイル番号は 1 から始まります。 .It Fl u 特定のタイプのファイルを作成する時に、 リストア先ディレクトリに既に同名のファイルが存在する場合には、 リストアは警告診断を生成し得ます。 この動作を抑制するために、 .Fl u (アンリンク) フラグを指定すると、リストアは古いエントリを削除してから 新しいエントリを作成しようとします。 .It Fl v 普通、 .Nm は何も表示せずにリストア動作を行います。 .Fl v (verbose, 冗長) フラグを指定すると、 扱うファイルのタイプとファイル名が表示されます。 .It Fl y エラーが発生したときに、リストア動作を中断するかどうかの問い合わせを 行いません。 これによって、不良ブロックをスキップして、可能なかぎり動作を継続します。 .El .Sh 診断 リードエラーが発生するとメッセージを表示します。 もし、 .Fl y が指定されているか、あるいはユーザが .Ql y の応答をしたならば、 .Nm はリストアを続行しようとします。 .Pp バックアップが 1 巻より多くのテープボリュームに格納されていたならば、 .Nm は次のボリュームをマウントすべき時点でそれをユーザに知らせます。 もし、 .Fl x あるいは .Fl i フラグが指定されていたら、 .Nm は、ユーザがマウントしたいのはどのボリュームであるかを問い合わせます。 少数のファイルを最も早く展開する方法は、最終ボリュームから開始して、 最初のボリュームへ向けて作業を進めることです。 .Pp .Nm は数多くの一貫性検査を行っていて、それを表示します。 ほとんどの検査結果の表示は自明であるか、あるいは「決して起こらない」ものです。 良くあるエラーを以下に示します。 .Pp .Bl -tag -width Ds -compact .It Converting to new file system format. 古い形式のファイルシステムで作られたダンプテープがロードされました。 その場合、自動的に新しいファイルシステムの形式に変換されます。 .Pp .It : not found on tape 指定したファイル名はテープのディレクトリには記録されていましたが、 テープのなかに本体が見当たりませんでした。 このような事態が起きるのは、ファイルを探している間にテープのリードエラー が発生した場合や、稼働中のファイルシステムにおいて作成したダンプテープ を使った場合です。 .Pp .It expected next file , got ディレクトリに記録されていなかったファイルが示されます。 稼働中のファイルシステムにおいて作成したダンプを使った場合に発生することが あります。 .Pp .It Incremental dump too low インクリメンタルリストアを行う際に、ダンプが直前のインクリメンタルダンプ よりも以前に書かれたものであったり、増分レベルが低すぎるダンプがロード された場合に表示されます。 .Pp .It Incremental dump too high インクリメンタルリストアを行う際に、ダンプが直前のインクリメンタルダンプ の続きの範囲から開始していなかったり、あるいは増分レベルが高すぎる ダンプがロードされた場合に表示されます。 .Pp .It Tape read error while restoring .It Tape read error while skipping over inode .It Tape read error while trying to resynchronize テープ (あるいはその他の媒体) のリードエラーが発生しました。 ファイル名が表示されていたならば、その内容はおそらく部分的に不正なものに なっているでしょう。 もし inode がスキップされたり、テープの resynchronize (再同期) が試みら れていたならば、展開されたファイルには問題はありません。しかし、テープ 上からいくつかのファイルを見付けることができないかもしれません。 .Pp .It resync restore, skipped blocks ダンプのリードエラーが発生した後に、おそらく .Nm は自分自身で再同期をとらなければなりません。 このメッセージはスキップしたブロックの個数を表示します。 .El .Sh 関連ファイル .Bl -tag -width "./restoresymtable" -compact .It Pa /dev/rsa0 デフォルトのテープドライブ .It Pa /tmp/rstdir* テープ中のディレクトリを保持するファイル .It Pa /tmp/rstmode* ディレクトリの所有者、モード、タイムスタンプ .It Pa \&./restoresymtable インクリメンタルリストア間で渡される情報 .El .Sh 関連項目 .Xr dump 8 , .Xr mount 8 , .Xr newfs 8 , .Xr rmt 8 .Sh バグ 使用中のファイルシステムから作成されたダンプから インクリメンタルリストアを行うと、誤動作を起こすことがあります。 .Pp フルリストアの終了後にはレベル 0 ダンプを行う必要があります。 .Nm はユーザコードで動作するので、inode の割り当てを制御することができません。 したがって、ファイルの内容が変更されていない場合でも、新しい inode 割り当てを 新しいディレクトリ集合に反映させるためには、 フルダンプを行わなければなりません。 .Pp ネットワークを介したリストアを行う場合、 root 権限で restore を実行する必要があります。 これは、以前の dump と restore のセキュリティ上の歴史によるものです。 (restore は root に setuid されて使われるように書かれていますが、 restore のコードから全てのバグが取れているとは思わないので、 setuid にて使用する場合は自己の責任において行って下さい。) .Pp 一時ファイル .Pa /tmp/rstdir* と .Pa /tmp/rstmode* は、ダンプの日付とプロセス ID に基づいて、ユニークに生成されます ( .Xr mktemp 3 を参照してください)。ただし .Fl r または .Fl R が使用された場合は例外です。 これは、中断された .Fl r の動作を .Fl R によって再開可能とするためであり、 別々の処理において同一の一時ファイルを使用することが必要であるためです。 他の場合には、ファイルはユニークです。 これは、同時に 2 個の異なったダンプが開始する可能性があるためであり、 別々の処理が衝突しないようにすべきだからです。 .Sh 歴史 .Nm コマンドは .Bx 4.2 から登場しました。 diff --git a/ja_JP.eucJP/man/man8/rlogind.8 b/ja_JP.eucJP/man/man8/rlogind.8 index 9433d71ecf..7b50772fcc 100644 --- a/ja_JP.eucJP/man/man8/rlogind.8 +++ b/ja_JP.eucJP/man/man8/rlogind.8 @@ -1,207 +1,205 @@ .\" Copyright (c) 1983, 1989, 1991, 1993 .\" The Regents of the University of California. All rights reserved. .\" .\" Redistribution and use in source and binary forms, with or without .\" modification, are permitted provided that the following conditions .\" are met: .\" 1. Redistributions of source code must retain the above copyright .\" notice, this list of conditions and the following disclaimer. .\" 2. Redistributions in binary form must reproduce the above copyright .\" notice, this list of conditions and the following disclaimer in the .\" documentation and/or other materials provided with the distribution. .\" 3. All advertising materials mentioning features or use of this software .\" must display the following acknowledgement: .\" This product includes software developed by the University of .\" California, Berkeley and its contributors. .\" 4. Neither the name of the University nor the names of its contributors .\" may be used to endorse or promote products derived from this software .\" without specific prior written permission. .\" .\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND .\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE .\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE .\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE .\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL .\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS .\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) .\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT .\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" .\" from: @(#)rlogind.8 8.1 (Berkeley) 6/4/93 -.\" %FreeBSD: src/libexec/rlogind/rlogind.8,v 1.13.2.1 2000/12/08 13:52:30 ru Exp % +.\" %FreeBSD: src/libexec/rlogind/rlogind.8,v 1.13.2.2 2001/03/05 18:22:00 ru Exp % .\" jpman %Id: rlogind.8,v 1.2 1997/05/23 00:50:03 mutoh Stab % .\" .Dd June 4, 1993 .Dt RLOGIND 8 .Os BSD 4.2 .Sh 名称 .Nm rlogind .Nd リモートログインのサーバ .Sh 書式 .Nm .Op Fl Daln .Sh 解説 .Nm は、 .Xr rlogin 1 のためのサーバです。サーバは信頼できるホストからの 特権ポート番号に基づいた認証を用いて、リモートログイン機能を提供します。 .Nm では、以下のオプションが使用可能です。 .Bl -tag -width indent .It Fl D TCP_NODELAY ソケットオプションを設定します。これは、いくつかの ネットワークトラフィックの増大に対して、応答性を向上します。 .It Fl a 検証のために、ホスト名を問い合わせます。 .It Fl l ユーザがスーパユーザとしてログインしない限り、 一般ユーザの .Dq Pa .rhosts による、あらゆる認証を禁止します。 .It Fl n キープアライブメッセージを禁止します。 .El .Pp Kerberos を使っている時には、以下のようなオプションが利用可能です。 .Bl -tag -width indent .It Fl k Kerberos 認証を利用可能にします。 .It Fl v vacuous モードを利用可能にします。 .It Fl x .Xr rlogin 1 セッションで流される全てのデータに .Tn DES 暗号化を施します。このオプションを利用すると、応答性や .Tn CPU に負荷がかかりますが、機密性は向上します。 .El .Pp .Nm は、 .Dq login サービスの仕様に基づく番号のポートで、要求を受け付けます。 詳しくは .Xr services 5 を参照してください。 サービスの要求を受け取ると、以下のプロトコルを開始します。 .Bl -enum .It サーバはクライアントの要求元ポート番号を調べます。 もしポート番号が512〜1023の範囲外であれば、サーバは接続を切断します。 .It サーバはクライアントの要求元アドレスを調べ、それに対応するホスト名を 求めます ( .Xr gethostbyaddr 3 , .Xr hosts 5 , .Xr named 8 を参照してください)。 ホスト名を決定できなければ、ドット表記法によるホストアドレスを 用います。 ホスト名がサーバと同じドメインに属しているか (ドメイン名の最後の二つの 構成要素に基づいて判断します)、あるいは .Fl a オプションが指定されていたら、 ホスト名に対するアドレスを調べて、ホスト名とアドレスが一致しているか どうかを検証します。 アドレスの検証に失敗した場合は、通常の認証作業は行いません。 .El .Pp 要求元ポートの番号を調べ終えたら、 .Nm は、 .Xr rshd 8 で説明している認証作業を開始します。 そして、疑似端末 ( .Xr pty 4 を参照のこと) を割り当てると共に、 ファイルディスクリプタを操作して、 この疑似端末のスレーブ側がログインプロセスの .Em stdin , .Em stdout , .Em stderr になるようにします。 認証作業が成功した場合には、 .Xr login 1 プログラムに .Fl f オプションを指定してログインプロセスを生成します。 自動認証作業に失敗した場合には、 通常の端末回線からのログインの場合と同様に、 ユーザに問い合わせをします。 .Pp ログインプロセスの親プロセスは、疑似端末のマスタ側を操作します。 すなわちログインプロセスと、クライアント側の .Xr rlogin 1 プログラムを実体化したものとの間で処理を行います。 通常の処理においては、 .Ql ^S/^Q のような機能を提供したり、割り込み信号をリモートプログラムへと伝えるために .Xr pty 4 で説明しているパケットプロトコルを起動します。 ログインプロセスは、クライアントの端末の通信速度や 環境変数 .Ql Ev TERM で指定されている端末タイプを伝えます。 .Xr environ 7 を参照してください。 クライアント側に端末の画面、あるいはウィンドウの大きさを問い合わます。 また、クライアント側からウィンドウサイズの変更が疑似端末へ 伝えられます。 .Pp トランスポートレベルのキープアライブメッセージは、オプション .Fl n が指定されていない限り出力されます。 キープアライブメッセージを利用すると、クライアントがクラッシュしたり、 通信不能になってしまった時に、セッションをタイムアウトで 終了することが可能になります。 .Sh 診断 すべての診断メッセージは、ネットワーク接続が切断された後に、最初に 1 の値 のバイトが付加されて通知されます。 .Xr login 1 が起動された後にエラーが発生しない場合、 処理成功の通知のために、NULL バイトを返します。 .Bl -tag -width Ds .It Sy Try again. サーバが .Xr fork 2 に失敗したことを表します。 .El .Sh 関連項目 .Xr login 1 , .Xr ruserok 3 , .Xr hosts.equiv 5 , .Xr hosts 5 , .Xr login.conf 5 , .Xr nologin 5 , .Xr services 5 , .Xr rshd 8 .Sh 関連ファイル .Bl -tag -width /etc/hostsxxxxxxxx -compact .It Pa /etc/hosts .It Pa /etc/hosts.equiv -.Sm off -.It Pa Ev $HOME /.rhosts -.Sm on +.It Ev $HOME Ns Pa /.rhosts .It Pa /var/run/nologin .El .Sh バグ このコマンドが用いている認証手続きは、それぞれのクライアントマシンと 接続媒体が完全であるということを仮定したものです。これはセキュリティホールに なりやすいのですが、 .Dq オープン な環境においては有用な方針です。 .Pp 全てのデータについて暗号化を行なう機能が実装されるべきです。 .Pp もっと発展性のあるプロトコルが用いられるべきです。 .Sh 歴史 .Nm コマンドは .Bx 4.2 から登場しました。 .Pp IPv6 サポートは、WIDE/KAME プロジェクトが追加しました。 diff --git a/ja_JP.eucJP/man/man8/route.8 b/ja_JP.eucJP/man/man8/route.8 index 787f3e36c4..72fb4d75cd 100644 --- a/ja_JP.eucJP/man/man8/route.8 +++ b/ja_JP.eucJP/man/man8/route.8 @@ -1,379 +1,379 @@ .\" Copyright (c) 1983, 1991, 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. .\" .\" @(#)route.8 8.3 (Berkeley) 3/19/94 -.\" %FreeBSD: src/sbin/route/route.8,v 1.17.2.3 2000/12/08 14:04:10 ru Exp % +.\" %FreeBSD: src/sbin/route/route.8,v 1.17.2.4 2001/03/05 19:33:56 ru Exp % .\" .\" jpman %Id: route.8,v 1.3 1997/07/28 05:33:13 konuma Stab % .\" .Dd March 19, 1994 .Dt ROUTE 8 .Os BSD 4.4 .Sh 名称 .Nm route .Nd マニュアルでルーティングテーブルを操作する .Sh 書式 .Nm .Op Fl dnqtv .Ar command .Oo .Op Ar modifiers .Ar args .Oc .Sh 解説 .Nm はネットワークルーティングテーブルを マニュアルで操作するユーティリティです。 通常は、 .Xr routed 8 のようなシステムルーティングテーブル管理デーモンが 保守をしているので、マニュアルでの操作は必要ありません。 .Pp .Nm ユーティリティは指定できるオプションは少数ですが、 強力なコマンド言語をサポートしています。ユーザは .Xr route 4 において解説されているプログラム可能なインタフェイスを通して、 任意の要求を指定することができます。 .Pp 以下のオプションを使用可能です: .Bl -tag -width indnent .It Fl n レポートの出力において、ホスト名とネットワーク名のシンボル名での表示を 抑止します。 (シンボル名と数字によるアドレスの変換処理には時間がかかり、 またネットワークが正常に動作している必要があります。 そのため、特にネットワークの動作の修正中には、 変換処理を行なわない方が好都合かもしれません。) .It Fl v (冗長モード) 詳細な情報を出力します。 .It Fl q 全ての出力を行ないません。 .El .Pp .Nm ユーティリティでは以下の 6 つのコマンドを提供しています。 .Pp .Bl -tag -width Fl -compact .It Cm add ルートを追加します。 .It Cm flush 全てのルートを削除します。 .It Cm delete 指定されたルートを削除します。 .It Cm change ルートの属性 (ゲートウェイなど) を変更します。 .It Cm get ある宛先に対するルートを検索し、表示します。 .It Cm monitor ルーティング情報ベースの変更、ルーティング検索の失敗、 ネットワーク分割の疑いなどの情報を継続的に報告します。 .El .Pp monitor コマンドは以下の書式です。 .Pp -.Bd -filled -offset indent -compact +.Bd -ragged -offset indent -compact .Nm .Op Fl n .Cm monitor .Ed .Pp flush コマンドは以下の書式です。 .Pp -.Bd -filled -offset indent -compact +.Bd -ragged -offset indent -compact .Nm .Op Fl n .Cm flush .Op Ar family .Ed .Pp .Cm flush コマンドが指定されると、 .Nm は全てのゲートウェイのエントリにおけるルーティングテーブルを削除します。 アドレスファミリが .Fl osi , .Fl xns , .Fl atalk , .Fl inet6 , .Fl inet のいずれかの修飾子によって指定されている場合、 そのアドレスファミリの宛先を持つルートだけが削除されます。 .Pp その他のコマンドは以下の書式です。 .Pp -.Bd -filled -offset indent -compact +.Bd -ragged -offset indent -compact .Nm .Op Fl n .Ar command .Op Fl net No \&| Fl host .Ar destination gateway .Op Ar netmask .Ed .Pp ここで .Ar destination は宛先のホストもしくはネットワークです。 .Ar gateway はパケットがルートされるべき次の中継点です。 ある特定のホストへのルートは、 .Ar destination で指定されたインターネットアドレスを解釈することによって、 ネットワークへのルートと区別されます。 オプションの修飾子 .Fl net , .Fl host が指定されると、 .Ar destination をそれぞれネットワークもしくはホストとして強制的に解釈します。 これらの修飾子がないなら、 .Ar destination に INADDR_ANY .Pq Li 0.0.0.0 の .Dq ローカルアドレス部 が含まれるか .Ar destination がネットワークのシンボル名である場合はネットワークへのルート、 その他の場合はホストへのルートと想定します。 .Ar destination は、 .Ar host Ns / Ns Ar bits の書式でも指定可能です。 .Pp 例えば、 .Li 128.32 は .Fl host Li 128.0.0.32 として解釈されます。 .Li 128.32.130 は .Fl host Li 128.32.0.130 として、 .Fl net Li 128.32 は .Li 128.32.0.0 として、 .Fl net Li 128.32.130 は .Li 128.32.130.0 として解釈されます。 .Li 192.168.0.0/16 は .Li 192.168.0.0 Fl netmask Li 255.255.0.0 として解釈されます。 .Pp .Ar destination に対する .Ar default 指定は、 .Fl net Li 0.0.0.0 と同じ意味であり、デフォルト経路です。 .Pp 宛先がゲートウェイとして動作する中継点なしで、 あるインタフェイスから直接到達可能な場合、 .Fl interface 修飾子を指定しなければなりません。 この場合、指定されたゲートウェイは共通なネットワーク上の ローカルホストのアドレスとなり、 そのインタフェイスが転送に使用されることを示します。 また、インタフェイスが point to point 接続の場合、 インタフェイスをその名前で指定できます。 この場合、ローカルやリモートのアドレスが変更されても そのルートは有効のまま残ります。 .Pp オプションの修飾子 .Fl xns , .Fl osi , .Fl atalk , .Fl link はそれに続いて指定されるアドレスが、それぞれ .Tn XNS , .Tn OSI , .Tn AppleTalk アドレスファミリである、もしくはリンクレベルのアドレスであることを指定します。 これらの場合、名前はシンボル名ではなく、 数字によって指定をおこなわなければなりません。 .Pp オプションの修飾子 .Fl netmask はネットマスクオプションつきの .Tn OSI .Tn ESIS プロトコルによるリダイレクトの効果を実現するためのものです。 つまり、ネットワークインタフェイスの暗黙のネットマスクとは異なる ネットマスクをもつサブネットを手動で追加します。 (この方法によらない場合は、OSPF や ISIS ルーティングプロトコルによって 通信します。) この修飾子に続いて、アドレスパラメータ (これはネットワークマスクとして解釈されます) を指定します。 AF_INET の場合に生成される暗黙のネットワークマスクは、 このオプションを .Ar destination パラメータに続いて指定することによって、上書きすることができます。 .Pp .Dv AF_INET6 では、 .Fl mask 修飾子の代りに .Fl prefixlen 修飾子が使用可能です。IPv6 では非連続なマスクが許されないためです。 例えば .Fl prefixlen Li 32 はネットワークマスク .Li ffff:ffff:0000:0000:0000:0000:0000:0000 の使用を指定します。 prefixlen のデフォルト値は 64 であり、 集約可能 (aggregatable) アドレスと共に動作可能となっています。 ただし、 .Cm default 指定時には 0 が仮定されます。 この修飾子は .Dv AF_INET6 アドレスファミリのみで動作可能なことに注意してください。 .Pp ルートにはいくつかのフラグがあり、 そのルートを使う宛先にデータを送信する時のプロトコルの動作に 影響をおよぼします。 これらのフラグは以下の修飾子によってセット (もしくはクリア) できます。 .Bd -literal -cloning RTF_CLONING - 使用中のルートを新たにひとつ生成する。 -xresolve RTF_XRESOLVE - (外部からの検索に対して) 使用中である旨のメッ セージを発行する。 -iface ~RTF_GATEWAY - 宛先が直接到達可能。 -static RTF_STATIC - 手動でルートを追加する。 -nostatic ~RTF_STATIC - カーネルかデーモンによってルートが追加された ように振舞う。 -reject RTF_REJECT - マッチした場合に ICMP unreachable を出力する。 -blackhole RTF_BLACKHOLE - (更新中に) 何も報告せずにパケットを捨てる。 -proto1 RTF_PROTO1 - プロトコルに特有のフラグ #1 をセットする。 -proto2 RTF_PROTO2 - プロトコルに特有のフラグ #2 をセットする。 -llinfo RTF_LLINFO - プロトコルアドレスからリンクアドレスへの変換の 正当性をチェックする。 .Ed .Pp オプションの修飾子 .Fl rtt , .Fl rttvar , .Fl sendpipe , .Fl recvpipe , .Fl mtu , .Fl hopcount , .Fl expire , .Fl ssthresh によって TCP や TP4 のトランスポートレベルのプロトコルによる ルーティングのエントリ中でメインテナンスされる値の初期値を指定します。 これらは各々の修飾子の前に .Fl lock メタ修飾子を指定することによって、個別にその値をロックすることができます。 また .Fl lockrest メタ修飾子をつけることによって、 その後に続く全ての値をロックすることもできます。 .Pp .Cm change もしくは .Cm add コマンドにおいて、 .Ar destination もしくは .Ar gateway がルートを特定するのに不十分であった場合 (たとえば .Tn ISO のケースにおいて、複数のインタフェイスが同じアドレスを持っているような場合)、 .Fl ifp や .Fl ifa 修飾子を使うことによって、 インタフェイスやインタフェイスアドレスを特定することができます。 .Pp .Ar destination や .Ar gateway で指定された全てのシンボル名は、まずホスト名として .Xr gethostbyname 3 を使用して検索されます。検索に失敗した場合は、その名前をネットワーク名と見なし .Xr getnetbyname 3 によって検索されます。 .Pp .Nm はルーティングソケットと新しいメッセージタイプである RTM_ADD, RTM_DELETE, RTM_GET, RTM_CHANGE を使います。 ルーティングテーブルの変更はスーパユーザのみがおこなうことができます。 .Sh 診断 .Bl -tag -width Ds .It Sy "add [host \&| network ] %s: gateway %s flags %x" 指定されたルートがテーブルに追加されました。 出力された値は .Xr ioctl 2 の呼出しの中で使われたルーティングテーブルのエントリからのものです。 指定されたゲートウェイアドレスがそのゲートウェイのプライマリアドレス ( .Xr gethostbyname 3 によって返される最初のもの) でなかった場合、 ゲートウェイアドレスがシンボル名に加えて、数字でも表示されます。 .It Sy "delete [ host \&| network ] %s: gateway %s flags %x" 指定されたルートがテーブルから削除されました。 .It Sy "%s %s done" .Cm flush コマンドが指定された場合、削除された各ルーティングテーブルエントリが この形式のメッセージで報告されます。 .It Sy "Network is unreachable" 指定されたゲートウェイが直接到達可能なネットワーク上にないために、 ルートの追加に失敗しました。 hop 数が 1 であるゲートウェイを指定しなければなりません。 .It Sy "not in table" テーブルにないエントリを削除しようとしました。 .It Sy "routing table overflow" ルートの追加を試みましたが、システムの資源が少なく、 新しいエントリを作成するためのメモリを割り当てられませんでした。 .El .Sh 関連項目 .Xr netintro 4 , .Xr route 4 , .Xr IPXrouted 8 , .Xr routed 8 .\" .Xr XNSrouted 8 .\" Xr esis 4 , .Sh 歴史 .Nm コマンドは .Bx 4.2 から登場しました。 .Sh バグ 最初の段落は多少 .Xr routed 8 の能力を大げさに書いています。 diff --git a/ja_JP.eucJP/man/man8/rshd.8 b/ja_JP.eucJP/man/man8/rshd.8 index c7f8617f27..5fac824ee5 100644 --- a/ja_JP.eucJP/man/man8/rshd.8 +++ b/ja_JP.eucJP/man/man8/rshd.8 @@ -1,235 +1,242 @@ .\" Copyright (c) 1983, 1989, 1991, 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. .\" .\" @(#)rshd.8 8.1 (Berkeley) 6/4/93 -.\" %FreeBSD: src/libexec/rshd/rshd.8,v 1.18.2.1 2000/12/08 13:52:31 ru Exp % +.\" %FreeBSD: src/libexec/rshd/rshd.8,v 1.18.2.3 2001/03/05 18:22:00 ru Exp % .\" .\" jpman %Id: rshd.8,v 1.4 1997/08/10 18:35:56 horikawa Stab % .\" .Dd June 4, 1993 .Dt RSHD 8 .Os BSD 4.2 .Sh 名称 .Nm rshd .Nd リモートシェルのサーバ .Sh 書式 .Nm -.Op Fl alnDL +.Op Fl \&?DLaln .Sh 解説 .Nm は、 .Xr rcmd 3 ルーチンのためのサーバであり、結果として .Xr rsh 1 の実行のために必要となるサーバです。 .Nm は、信頼できるホストからの特権ポート番号に基づいた 認証を行なうことによって、プログラムのリモート実行機能を提供します。 .Pp .Nm サーバは、 .Dq cmd サービスに割り当てられたポート ( .Xr services 5 参照) でサービス要求を受け付けます。サービス要求を受信すると、 サーバは以下の手順を開始します: .Bl -enum .It サーバは、クライアントの要求元ポート番号のチェックをおこないます。 要求元ポート番号 が 512 から 1023 の範囲にない場合、サーバは接続を強制切断します。 .It サーバは、ソケットから .Tn ヌル バイト (`\e0') を検出するまで文字を読みます。 受信文字列は、 .Tn ASCII コードによる 10 進数の数値に変換します。 .It ステップ 2 で受信した数値が 0 でない場合、その数値を .Em 標準エラー出力 で使用する 2 番目のストリームのポート番号として解釈します。 そしてクライアントマシン上でも指定されたポート番号の 2 番目の接続を生成します。 この 2 番目の接続の要求元ポート番号も、512 から 1023 の範囲で指定します。 .It サーバは、クライアントの要求元アドレスをチェックし、該当するホスト名を要求し ます ( .Xr gethostbyaddr 3 , .Xr hosts 5 , .Xr named 8 を参照してください)。ホスト名が特定できない場合、 または確認したホスト名とアドレスとが一致しない場合、 ドット表記法によるホストアドレスを用います。 .It 最初のソケットを介して、ヌル終端された最大 16 文字の ユーザ名を取得します。ユーザ名は、 .Em クライアント マシン上のユーザ識別に使用します。 .It 最初のソケットを介して、ヌル終端された最大 16 文字の ユーザ名を取得します。ユーザ名は、 .Em サーバ マシン上のユーザ認証に使用します。 .It 最初のソケットを介して、シェルに渡されるべき、ヌル終端された コマンドを取得します。コマンド長の制限は、システムの引数リスト サイズの上限に依存します。 .It .Nm は、 .Pa /etc/hosts.equiv および当該ユーザのホームディレクトリ上に存在する .Pa .rhosts ファイルを用いる .Xr ruserok 3 を使用して、ユーザ認証を行います。 .Fl l オプションは、ユーザがスーパユーザでない限り、 .Pa .rhosts ファイルに基づいた .Xr ruserok 3 のすべての認証をおこなわないようにします。 .It .Pa /var/run/nologin ファイルが存在し、ユーザがスーパユーザでない場合、接続を 切断します。 nologin ファイルの名前に関しては、 .Pa login.conf にて ローカルユーザのログインクラスに関する nologin ケーパビリティが優先します。 ログインクラスは、ログイン時間(times.allow と times.denny ケーパビリティ) およびリモートホスト(hosts.allow と hosts.denny ケーパビリティ)による .Xr rsh 1 アクセスの制限にも使われます。 .It 最初のソケットを用いて .Tn ヌル バイトを返し、コマンドライン を、ユーザの通常のログインシェルに渡します。シェルは .Nm によって確立されたネットワーク接続を継承します。 .El .Pp -.Fl n -オプションが与えられないかぎり、トランスポートレベルの keepalive メッセージが -有効になります。keepalive メッセージを使用することによって、 -クライアントプロセスが異常終了するか、もしくはネットワーク到達不可に -なった場合にセッションをタイムアウトで終了させることができます。 -.Pp -.Fl D -オプションは TCP_NODELAY ソケットオプションを設定します。 +オプションは次の通りです: +.Bl -tag -width indent +.It Fl \&? +使用方法のメッセージを表示し、終了します。 +.It Fl D +TCP_NODELAY ソケットオプションを設定します。 小さな連続する (back-to-back) 書き込みの性能を向上させますが、 ネットワークトラフィックは増えてしまいます。 -.Pp -.Fl L -オプションを用いることで、すべての正常なアクセスを +.It Fl L +すべての成功したアクセスを .Xr syslogd 8 を経由して .Li auth.info メッセージとして、ログします。 +.It Fl a +このフラグは無視されます。 +互換性のためにあります。 +.It Fl l +ユーザがスーパユーザでない限り、ユーザの +.Pa .rhosts +ファイルを認証に使用しません。 +.It Fl n +トランスポートレベルの keepalive メッセージを無効にします。 +これにより、クライアントがクラッシュしたり到達不能になった場合に、 +セッションがタイムアウトするのを防ぎます。 +.El .Sh 診断 以下に示す例のうち最後のものを除き、 すべての診断メッセージを最初のソケットを用いて返した後、 すべての接続をクローズします。 エラーは、先行する 1 バイトとして値 1 が返されるこ とでわかります (ログインシェル実行の前のすべてのステップが正常に完了した場合、 上記のステップ 10 の処理で 0 を返します)。 .Bl -tag -width indent .It Sy Locuser too long. クライアントマシン上のユーザ名が、16 文字を超えています。 .It Sy Ruser too long. リモートマシン上のユーザ名が、16 文字を超えています。 .It Sy Command too long. 渡されたコマンドラインの長さが、引数リストの大きさを超えています (システムに依存します)。 .It Sy Login incorrect. 当該ユーザに関するエントリが、パスワードファイルに登録されていないか、 上述の認証手続きに失敗しました。 .It Sy Remote directory. ホームディレクトリへの .Xr chdir 2 関数が失敗しました。 .It Sy Logins not available right now. ローカルユーザのログインクラスに対する .Pa login.conf において、許された時間以外で .Xr rsh 1 が試されました。 .It Sy Can't make pipe. .Em 標準エラー出力 に必要なパイプを作成できませんでした。 .It Sy Can't fork; try again. サーバによる .Xr fork 2 が失敗しました。 .It Sy : ... ユーザのログインシェルを起動できませんでした。本メッセージの出力は .Em 標準エラー出力 に関連づけられたコネクションを介して返されますので、 フラグバイトは先行しません。 .El .Sh 関連項目 .Xr rlogin 1 , .Xr rsh 1 , .Xr gethostbyaddr 3 , .Xr rcmd 3 , .Xr ruserok 3 , .Xr auth.conf 5 , .Xr hosts.equiv 5 , .Xr hosts 5 , .Xr login.conf 5 , .Xr nologin 5 , .Xr services 5 , .Xr named 8 , .Xr rlogind 8 , -.Xr syslogd 8 . +.Xr syslogd 8 .Sh 関連ファイル .Bl -tag -width /etc/hosts -compact .It Pa /etc/hosts .It Pa /etc/hosts.equiv .It Pa /etc/login.conf -.Sm off -.It Pa Ev $HOME /.rhosts -.Sm on +.It Ev $HOME Ns Pa /.rhosts .It Pa /var/run/nologin .El .Sh バグ ここで用いられているユーザ認証手順は、各クライアントマシンおよび接続媒体が 信頼できるものと仮定しています。 これは安全ではないですが、 .Dq オープン な環境下では便利です。 .Pp 全てのデータについて暗号化を行なう機能が実装されるべきです。 .Pp TELNET のような、もっと拡張性のあるプロトコルが用いられるべきです。 .Sh 歴史 IPv6 サポートは、WIDE/KAME プロジェクトが追加しました。 diff --git a/ja_JP.eucJP/man/man8/savecore.8 b/ja_JP.eucJP/man/man8/savecore.8 index 95946403ce..2195afbe73 100644 --- a/ja_JP.eucJP/man/man8/savecore.8 +++ b/ja_JP.eucJP/man/man8/savecore.8 @@ -1,130 +1,132 @@ .\" Copyright (c) 1980, 1991, 1993 .\" The Regents of the University of California. All rights reserved. .\" .\" Redistribution and use in source and binary forms, with or without .\" modification, are permitted provided that the following conditions .\" are met: .\" 1. Redistributions of source code must retain the above copyright .\" notice, this list of conditions and the following disclaimer. .\" 2. Redistributions in binary form must reproduce the above copyright .\" notice, this list of conditions and the following disclaimer in the .\" documentation and/or other materials provided with the distribution. .\" 3. All advertising materials mentioning features or use of this software .\" must display the following acknowledgement: .\" This product includes software developed by the University of .\" California, Berkeley and its contributors. .\" 4. Neither the name of the University nor the names of its contributors .\" may be used to endorse or promote products derived from this software .\" without specific prior written permission. .\" .\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND .\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE .\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE .\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE .\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL .\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS .\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) .\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT .\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" .\" From: @(#)savecore.8 8.1 (Berkeley) 6/5/93 -.\" %FreeBSD: src/sbin/savecore/savecore.8,v 1.8.2.2 2001/01/16 10:36:38 ru Exp % +.\" %FreeBSD: src/sbin/savecore/savecore.8,v 1.8.2.3 2001/03/05 02:00:50 des Exp % .\" jpman %Id: savecore.8,v 1.3 1997/08/16 13:41:03 horikawa Stab % .\" .Dd September 23, 1994 .Dt SAVECORE 8 .Os BSD 4 .Sh 名称 .Nm savecore .Nd オペレーティングシステムのコアダンプを保存する .Sh 書式 .Nm .Fl c .Nm -.Op Fl fvz +.Op Fl fkvz .Op Fl N Ar system .Ar directory .Sh 解説 .Nm は現在動作中のカーネルおよびそのコアダンプをディレクトリ .Fa directory 内にコピーし、 リブートメッセージとコアダンプ情報をシステムログに書き出します。 .Pp オプションは以下の通りです: .Bl -tag -width indent .It Fl c ダンプをクリアし、これ以降起動される .Nm でそれが用いられないようにします。 .It Fl f ダンプが正しくないと思われる場合や、ディスク容量が不足している場合でも、 強制的にダンプをとります。 +.It Fl k +ダンプを保存した後、クリアしません。 .It Fl N ( .Xr getbootfile 3 で決定される) 動作中のカーネルの代わりに、 .Ar system をカーネルとして用います。 .It Fl v より詳しいデバッグ情報を出力します。 .It Fl z コアダンプとカーネルを圧縮します( .Xr compress 1 参照)。 .El .Pp .Nm は様々な方法を用いてコアダンプが最新であること、 およびそのコアダンプが現在動作しているシステムに対応するものであることを 確認します。 このチェックにパスすると、 .Nm はコアイメージを .Ar directory Ns Pa /vmcore.# に保存し、システムを .Ar directory Ns Pa /kernel.# に保存します。 ``#'' はファイル .Ar directory Ns Pa /bounds 先頭からの行数で、 .Nm が正常に実行されるたびにインクリメントされてファイルに書き戻されます。 .Pp .Nm はまた、コピーを作る前にディスク容量が足りているかどうかチェックします。 .Ar directory を含むファイルシステムのディスク容量が不足している場合、 あるいは、 .Ar directory Ns Pa /minfree が存在し、ファイル生成後のそのファイルシステムの (非スーパユーザに対する)残りキロバイト数が このファイル先頭行の数値より小さい場合、 コピー作成は試みられません。 .Pp .Nm がカーネルとコアダンプのコピーに成功すると、 コアダンプはクリアされ、その後の .Nm では用いられないようになります。 .Pp .Nm は初期化ファイル .Pa /etc/rc の最終段階付近で呼び出されることを想定しています( .Xr rc 8 参照)。 .Sh バグ minfree コードは圧縮の効果を考慮していません。 .Sh 関連項目 .Xr compress 1 , .Xr getbootfile 3 , .Xr syslogd 8 .Sh 歴史 .Nm コマンドは .Bx 4.1 で登場しました。 diff --git a/ja_JP.eucJP/man/man8/sysctl.8 b/ja_JP.eucJP/man/man8/sysctl.8 index 06bec1dea0..61d90c8bd0 100644 --- a/ja_JP.eucJP/man/man8/sysctl.8 +++ b/ja_JP.eucJP/man/man8/sysctl.8 @@ -1,251 +1,253 @@ .\" Copyright (c) 1993 .\" The Regents of the University of California. All rights reserved. .\" .\" Redistribution and use in source and binary forms, with or without .\" modification, are permitted provided that the following conditions .\" are met: .\" 1. Redistributions of source code must retain the above copyright .\" notice, this list of conditions and the following disclaimer. .\" 2. Redistributions in binary form must reproduce the above copyright .\" notice, this list of conditions and the following disclaimer in the .\" documentation and/or other materials provided with the distribution. .\" 3. All advertising materials mentioning features or use of this software .\" must display the following acknowledgement: .\" This product includes software developed by the University of .\" California, Berkeley and its contributors. .\" 4. Neither the name of the University nor the names of its contributors .\" may be used to endorse or promote products derived from this software .\" without specific prior written permission. .\" .\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND .\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE .\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE .\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE .\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL .\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS .\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) .\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT .\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" .\" From: @(#)sysctl.8 8.1 (Berkeley) 6/6/93 -.\" %FreeBSD: src/sbin/sysctl/sysctl.8,v 1.23.2.5 2000/12/19 15:42:46 ru Exp % +.\" %FreeBSD: src/sbin/sysctl/sysctl.8,v 1.23.2.6 2001/03/05 19:33:58 ru Exp % .\" jpman %Id: sysctl.8,v 1.2 1997/05/30 00:57:58 yugawa Stab % .\" .Dd September 23, 1994 .Dt SYSCTL 8 .Os .Sh 名称 .Nm sysctl .Nd カーネル状態の取得や設定 .Sh 書式 .Nm .Op Fl bn .Ar name ... .Nm .Op Fl bn .Fl w -.Ar name=value ... +.Ar name Ns = Ns Ar value ... .Nm .Op Fl bn .Fl aAX .Sh 解説 .Nm はカーネル状態を取り出し、適切な権限があれば プロセスがカーネル状態を設定することを許します。取り出され たり、設定されたりした状態は、``Management Information Base''(``MIB'') 形式を使って記述されます。この形式では、要素はドット ``.'' で 接続されます。 .Pp 以下のオプションを使用可能です: .Bl -tag -width indent .It Fl a 現在有効な文字列や整数値をすべて表示します。 .It Fl A データ形式を知らないもの(以下、形式不明の変数と称する) を含めて、 存在している全ての MIB を表示します。 .Fl a フラグ同様、文字列や整数値も表示されます。 形式不明の変数に関しては、 そのフォーマットおよび長さに関する情報と、その変数の内容の最初の数バイトを 16 進数でダンプします。 .It Fl X フラグは、形式不明の変数の全ての内容が 16 進数でダンプされる以外は .Fl A と同じです。 .It Fl n フィールド名の出力は抑制されて、値 だけが表示されます。これはシェル変数を設定するのに役に 立ちます。たとえば、ページサイズを変数 psize に保存する には、以下のようにします: .Bd -literal -offset indent -compact set psize=`sysctl -n hw.pagesize` .Ed .Pp .It Fl b 変数の値を加工せずに、バイナリ形式で表示します。 変数名や、最後の改行文字は出力されません。これは、単一の変数に対して 操作する際に便利でしょう。 -.It Fl w Ar name=value ... +.It Fl w Xo +.Ar name Ns = Ns Ar value ... +.Xc MIB の .Ar name を新しい値 .Ar value に設定します。 MIB 形式 .Ar name だけが指定された場合、その名前に対応する値が得られます。 .El .Nm で得られる情報は、整数、文字列、形式不明の変数です。 .Nm はいくつかの形式不明の変数の形式を知っているだけで、それ以外のものに 対しては 16 進ダンプに頼ります。 形式不明の変数の情報は、 .Nm ps や .Nm systat , .Nm netstat などの特別な目的のプログラムによって取得された場合に、より効果的です。 .Pp 文字列と整数の情報を簡単にまとめて以下に示します。これらの 変数の詳細な説明は、 .Xr sysctl 3 を参照してください。 .Pp changeable の列は、適切な権限を持つプロセスがその値を変更 できるかどうかを示しています。 .Bl -column net.inet.ip.forwardingxxxxxx integerxxx .It Sy "名称 型 変更可能 .It "kern.ostype 文字列 no .It "kern.osrelease 文字列 no .It "kern.osrevision 整数 no .It "kern.version 文字列 no .It "kern.maxvnodes 整数 yes .It "kern.maxproc 整数 no .It "kern.maxprocperuid 整数 yes .It "kern.maxfiles 整数 yes .It "kern.maxfilesperproc 整数 yes .It "kern.argmax 整数 no .It "kern.securelevel 整数 増やすのみ .It "kern.hostname 文字列 yes .It "kern.hostid 整数 yes .It "kern.clockrate struct no .It "kern.posix1version 整数 no .It "kern.ngroups 整数 no .It "kern.job_control 整数 no .It "kern.saved_ids 整数 no .It "kern.boottime struct no .It "kern.domainname 文字列 yes .It "kern.filedelay 整数 yes .It "kern.dirdelay 整数 yes .It "kern.metadelay 整数 yes .It "kern.osreldate 文字列 no .It "kern.bootfile 文字列 yes .It "kern.corefile 文字列 yes .It "kern.logsigexit 整数 yes .It "vm.loadavg struct no .It "hw.machine 文字列 no .It "hw.model 文字列 no .It "hw.ncpu 整数 no .It "hw.byteorder 整数 no .It "hw.physmem 整数 no .It "hw.usermem 整数 no .It "hw.pagesize 整数 no .It "hw.floatingpoint 整数 no .It "hw.machine_arch 文字列 no .It "machdep.console_device dev_t no .It "machdep.adjkerntz 整数 yes .It "machdep.disable_rtc_set 整数 yes .It "user.cs_path 文字列 no .It "user.bc_base_max 整数 no .It "user.bc_dim_max 整数 no .It "user.bc_scale_max 整数 no .It "user.bc_string_max 整数 no .It "user.coll_weights_max 整数 no .It "user.expr_nest_max 整数 no .It "user.line_max 整数 no .It "user.re_dup_max 整数 no .It "user.posix2_version 整数 no .It "user.posix2_c_bind 整数 no .It "user.posix2_c_dev 整数 no .It "user.posix2_char_term 整数 no .It "user.posix2_fort_dev 整数 no .It "user.posix2_fort_run 整数 no .It "user.posix2_localedef 整数 no .It "user.posix2_sw_dev 整数 no .It "user.posix2_upe 整数 no .It "user.stream_max 整数 no .It "user.tzname_max 整数 no .El .Pp .Sh 使用例 たとえば、システム中で許されている最大のプロセス数を知りたい ときは、以下のようにします: .Bd -literal -offset indent -compact sysctl kern.maxproc .Ed .Pp システム中で許されている最大のプロセス数を 1000 に設定する には、以下のようにします: .Bd -literal -offset indent -compact sysctl -w kern.maxproc=1000 .Ed .Pp システムのクロックレートに関する情報を得るには、以下の ようにします: .Bd -literal -offset indent -compact sysctl kern.clockrate .Ed .Pp システム負荷(ロード・アベレージ)の履歴に関する情報を 得るには、以下のようにします: .Bd -literal -offset indent -compact sysctl vm.loadavg .Ed .Pp ここに挙げたもの以外の変数も存在します。それらに関するより深い意味を知る もっとも良く、かつ、おそらく唯一の方法は、それらを定義しているソースコードを みる事であることは疑いのない事実でしょう。 .Sh 関連ファイル .Bl -tag -width -compact .It Pa トップレベルの識別子、第 2 レベルのカーネル/ハードウェア識別子、 そしてユーザレベル識別子の定義 .It Pa 第 2 レベルのネットワーク識別子の定義 .It Pa 第 3 レベルのプロファイル識別子の定義 .It Pa 第 2 レベルの仮想メモリ識別子の定義 .It Pa 第 3 レベルのインターネット識別子と 第 4 レベルの IP 識別子の定義 .It Pa 第 4 レベルの ICMP 識別子の定義 .Xr blackhole 4 .It Pa 第 4 レベルの UDP 識別子の定義 .El .Sh 関連項目 .Xr sysctl 3 , .Xr blackhole 4 , .Xr sysctl.conf 5 .Sh バグ 現状では .Nm は、sysctl ツリーの追跡、および、形式と名前の情報を得る際に、 文書化されていないカーネルの sysctl 機能へのインタフェースを使用しています。 この方法に関する正しいインタフェースは、現在検討中です。 .Sh 歴史 .Nm は .Bx 4.4 ではじめて登場しました。 .Pp .Fx 2.2 の .Nm は著しく改良されています。 diff --git a/ja_JP.eucJP/man/man8/telnetd.8 b/ja_JP.eucJP/man/man8/telnetd.8 index 0104be01b4..9eade3acee 100644 --- a/ja_JP.eucJP/man/man8/telnetd.8 +++ b/ja_JP.eucJP/man/man8/telnetd.8 @@ -1,599 +1,599 @@ .\" Copyright (c) 1983, 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. .\" .\" @(#)telnetd.8 8.3 (Berkeley) 3/1/94 -.\" %FreeBSD: src/libexec/telnetd/telnetd.8,v 1.16.2.4 2001/01/16 10:39:23 ru Exp % +.\" %FreeBSD: src/libexec/telnetd/telnetd.8,v 1.16.2.5 2001/03/05 18:22:01 ru Exp % .\" .\" jpman %Id: telnetd.8,v 1.2 1997/05/12 08:14:57 yugawa Stab % .\" .Dd March 1, 1994 .Dt TELNETD 8 .Os BSD 4.2 .Sh 名称 .Nm telnetd .Nd DARPA .Tn TELNET プロトコルサーバ .Sh 書式 .Nm /usr/libexec/telnetd .Op Fl Uhlkns .Op Fl D Ar debugmode .Op Fl I Ns Ar initid .Op Fl S Ar tos .Op Fl X Ar authtype .Op Fl a Ar authmode .Op Fl edebug .Op Fl p Ar loginprog .Op Fl r Ns Ar lowpty-highpty .Op Fl u Ar len .Op Fl debug Op Ar port .Sh 解説 .Nm コマンドは、 .Tn DARPA 標準 .Tn TELNET 仮想端末プロトコルをサポートするサーバです。 .Nm は、通常は .Pa /etc/services ファイル ( .Xr services 5 参照) に記述されている .Tn TELNET ポートへの接続要求を受けて、インターネットサーバ ( .Xr inetd 8 参照) から起動されます。 .Fl debug オプションは、 .Xr inetd 8 の代わりに .Nm を手動で起動するために用いられます。 このように手動で起動された場合には、代わりの .Tn TCP ポート番号で .Nm を動かすために .Ar port を指定する事ができます。 .Pp .Nm コマンドには以下のオプションがあります: .Bl -tag -width indent .It Fl a Ar authmode このオプションは、どのモードが認証に使われるかを指定するために用いられます。 このオプションは、 .Nm が .Dv AUTHENTICATION オプションをサポートする設定で構築された場合においてのみ役に立つことに 注意して下さい。 以下に示すようないくつかの .Ar authmode があります: .Bl -tag -width debug .It Cm debug 認証のデバッグコードを有効にします。 .It Cm user リモートユーザは、自分自身であること示すための有効な認証情報を 提供した時にのみ接続が許可されます。 この場合、指定されたアカウントに対しては、パスワードの提供なしに接続が 許可されます。 .It Cm valid リモートユーザが自分自身であることを示すための有効な認証情報を 提供した時にのみ接続が許可されます。 リモートユーザが指定されたアカウントに対する自動的な接続が許可されて いなければ .Xr login 1 コマンドは、必要となるユーザ認証を実施します。 .It Cm other ある種の認証情報を提供した場合のみ接続を許可します。 現在このオプションはすべての認証方法でサポートされていないため .Fl a .Cm valid オプションを指定した時と同じ動作をします。 .It Cm none デフォルトではこの状態です。 認証情報は要求されません。 もし認証情報がなかったり不十分であれば、 .Xr login 1 プログラムによって必要となるユーザ認証を実施します。 .It Cm off 認証コードを無効にします。 すべてのユーザ証明が .Xr login 1 プログラムによって行われます。 .El .It Fl D Ar debugmode このモードはデバックのために用いられます。 これによって .Nm がデバッグ情報を表示し、ユーザは .Nm が何をしているのかを見ることが許されます。 以下に示すようないくつかの .Ar debugmode があります: .Bl -tag -width exercise .It Cm options .Tn TELNET オプションのネゴシエーションについての情報が表示されます。 .It Cm report .Cm options で表示される情報に加えて、 どのような操作が行われているのかという、いくつかの付加的な情報が 表示されます。 .It Cm netdata .Nm が受け取ったデータストリームを表示します。 .It Cm ptydata pty に書かれたデータを表示します。 .It Cm exercise まだ実装されていません。 .El .It Fl debug .Nm によって作られたソケットについてのデバッグを可能にします ( .Xr socket 2 の .Dv SO_DEBUG 参照)。 .It Fl edebug .Nm がデータの暗号化をサポートする設定で構築されている場合に、 .Fl edebug オプションは、暗号化デバッグコードを有効にするために使われます。 .It Fl p Ar loginprog ログインを完了する際に実行されるコマンドとして .Xr login 1 以外のコマンドを指定します。指定されたコマンドは通常の login と同じ引数を 解釈できる必要があります。 .It Fl h ログインが完了するまでホストに特有の情報を表示しないようにします。 .It Fl I Ar initid このオプションは、バージョン 7.0 以前の .Tn UNICOS システムでのみ有効です。 init がログインセッションを開始したときに、 .Pa /etc/inittab から .Dv ID を特定します。デフォルトの .Dv ID は .Dv fe です。 .It Fl k このオプションは、 .Nm が linemode と kludge linemode をサポートする設定で構築されている ときにのみ有効です。 .Fl k オプションが指定されている場合で、もしリモートのクライアントが .Dv LINEMODE オプションをサポートしていなければ、 .Nm は、 character at a time mode で動きます。 この様な状態でも kludge linemode をサポートしますが、リモートのクライアントが 要求した場合のみ kludge linemode になります (これは、クライアントが .Dv DONT SUPPRESS-GO-AHEAD と .Dv DONT ECHO を送信することによって行われます)。 .Fl k オプションは kludge linemode をサポートしていないリモートクライアントが あるが、(もしクライアントが .Dv DO TIMING-MARK に対して .Dv WILL TIMING-MARK を応答する事で) 自己発見的に kludge linemode をサポートすると認められる 様な場合にとても便利です。 .It Fl l line mode を指定します。クライアントを強制的に line-at-a-time mode に なるよう試みます。 もし .Dv LINEMODE オプションがサポートされてなければ、kludge linemode になります。 .It Fl n .Dv TCP keep-alives を行いません。通常、 .Nm は .Tn TCP keep-alive を有効にしています。なぜなら、クラッシュしたり、すでに接続 出来ないようなマシンからのアイドルコネクションを解消するために、 ある期間アイドルだった場合にクライアントとの接続がまだ存在するかどうかを 調べる必要があるからです。 .It Fl r Ar lowpty-highpty このオプションは、 .Nm が .Dv UNICOS 用に構築されている場合にのみ有効です。 使用する仮想端末デバイスの包括的な範囲を指定します。 システムが sysconf 変数 .Dv _SC_CRAY_NPTY を使用するように設定されている場合、デフォルトでの pty の検索範囲は 0から .Dv _SC_CRAY_NPTY までになります。そうでなければ、デフォルトでの検索範囲は 0 から 128 に なります。検索範囲のどちらか一方だけを変更したい場合は、 .Ar lowpty あるいは .Ar highpty は省略する事が出来ます。 .Ar lowpty を省略した場合でも文字 - を省略する事は出来ません。 文字 - を省略してしまうと .Nm はそれが .Ar highpty であることを判断できずに .Ar lowpty であると判断してしまうからです。 .It Fl s このオプションは、 .Nm が .Tn SecurID カードをサポートする設定で構築されている時にのみ有効です。 このオプションを指定すると、 .Fl s オプションはそのまま .Xr login 1 に渡され、 .Xr login 1 が .Fl s オプションをサポートしていて .Tn SecurID によって認証されたログインのみを許可するような場合に有効です。 これは、ファイアウォールの外側からのリモートログインを制御するような 場合に有意義でしょう。 .It Fl S Ar tos .It Fl u Ar len このオプションは、リモートホスト名を保持している .Dv utmp 構造体のフィールドの大きさを指定するために使われます。 もし解決されたホスト名が .Ar len よりも長ければ、ホスト名の代わりにドットで区切られたアドレスが使われます。 これによりフィールドを超えるようなとても長いホスト名を 一意に特定できるようにします。 .Fl u0 を指定することによって、ドットで区切られたアドレスだけが .Pa utmp ファイルに書き込まれるようにします。 .It Fl U このオプションは .Nm が、 .Xr gethostbyaddr 3 ルーチンを通してシンボルでの名前にマップされないようなアドレスからの コネクションを拒絶するようにします。 .It Fl X Ar authtype このオプションは .Nm が認証オプションをサポートする設定で構築されたときにのみ有効です。 .Ar authtype 認証を使用不能にし、 .Nm を再コンパイルすることなしに 特定の認証タイプを一時的に使用不能にする事が出来ます。 .El .Pp .Nm は仮想端末デバイス ( .Xr pty 4 参照) をクライアントに割り当てます。 そして、 .Dv stdin , .Dv stdout , .Dv stderr として仮想端末のスレーブ側を使用する login プロセスを生成します。 .Nm は、 .Tn TELNET プロトコルを実装し、 リモートクライアントと login プロセスとの間の キャラクタを通過させることにより、仮想端末のマスター側を操作します。 .Pp .Tn TELNET セッションが開始されると .Nm は以下の .Tn TELNET オプションをクライアント側に送信して、これらの .Tn TELNET オプションの使用を希望している事を伝えます。 これらのオプションの詳細はついては以下に説明されています。 .Bd -literal -offset indent DO AUTHENTICATION WILL ENCRYPT DO TERMINAL TYPE DO TSPEED DO XDISPLOC DO NEW-ENVIRON DO ENVIRON WILL SUPPRESS GO AHEAD DO ECHO DO LINEMODE DO NAWS WILL STATUS DO LFLOW DO TIMING-MARK .Ed .Pp クライアントに割り当てられた仮想端末は、 .Dq cooked モードで動作し、 .Dv XTABS と .Dv CRMOD ( .Xr tty 4 参照) が有効な状態で操作するように設定されます。 .Pp .Nm は、ローカル側で有効な以下に示す .Tn TELNET オプションをサポートしています: .Bl -tag -width "DO AUTHENTICATION" .It "WILL ECHO" .Dv LINEMODE オプションが設定されている時に 端末エコーの現在の状態を示すためにクライアントに .Dv WILL ECHO あるいは .Dv WONT ECHO が送信されます。 端末エコーが不要な場合は、 .Tn telnetd がエコーが必要なデータに対する エコーを処理する事を示すために .Dv WILL ECHO が送信され、何もエコーされません。 端末エコーが必要な場合は、 .Tn telnetd がいかなる端末エコーも 行わない事を示すために .Dv WONT ECHO が送信されるので、必要な時は端末エコーをクライアント側が 行わなければなりません。 .It "WILL BINARY" クライアントが、通常のネットワーク仮想端末が用いる 7 ビットのデータ ではなく、8 ビットのデータを送信するように指定します。 .It "WILL SGA" .Dv IAC GA すなわち go ahead コマンドを送信しないように指定します。 .It "WILL STATUS" クライアントから要求があった時に、全ての .Tn TELNET オプションの現在の状況を送信するように指定します。 .It "WILL TIMING-MARK" .Dv DO TIMING-MARK コマンドが受信された場合に、常にそれに対して .Dv WILL TIMING-MARK を返答します。 .It "WILL LOGOUT" .Dv DO LOGOUT が受信されると .Dv WILL LOGOUT を返答し、 .Tn TELNET セッションはシャットダウンされます。 .It "WILL ENCRYPT" .Nm がデータの暗号化をサポートする設定で構築された場合のみ送信され、 データ列に対して暗号を復号するように指定します。 .El .Pp .Nm はリモート側で有効な以下に示す .Tn TELNET オプションをサポートしています: .Bl -tag -width "DO AUTHENTICATION" .It "DO BINARY" .Nm telnetd が 8 ビットのデータ列を受信するように指定します。 .It "DO LFLOW" クライアントがフロー制御文字をリモート側で処理するように指定します。 .It "DO ECHO" このコマンドは実際にはサポートされませんが、クライアントが 4.2BSD .Xr telnet 1 クライアント ( .Dv WILL ECHO に正しく応答しない) であるかを判断するために送信されます。 もし、 .Dv WILL ECHO が受信された場合は、それに対して .Dv DONT ECHO が送信されます。 .It "DO TERMINAL-TYPE" 接続のクライアント側に割り当てられた端末タイプの名前を 要求できるように指定します。 .It "DO SGA" .Dv IAC GA すなわち go ahead コマンドを受信する必要がないように指定します。 .It "DO NAWS" ウィンドウ (ディスプレイ) のサイズが変わった場合に、クライアントが それをサーバに知らせる事を要求します。 .It "DO TERMINAL-SPEED" クライアントに割り当てられたシリアルラインの速度に関する情報を 要求できるように指定します。 .It "DO XDISPLOC" telnet クライアントが使用している X ウィンドウのディスプレイの名前を 要求できるように指定します。 .It "DO NEW-ENVIRON" RFC 1572 に示されている環境変数に関する情報を 要求できるように指定します。 .It "DO ENVIRON" RFC 1408 に示されている環境変数に関する情報を 要求できるように指定します。 .It "DO LINEMODE" .Nm が linemode をサポートする設定で構築された場合のみ送信され、 クライアントに行単位の処理を行う事を要求します。 .It "DO TIMING-MARK" .Nm が linemode および kludge linemode の両方をサポートする設定で 構築され、クライアントが .Dv WONT LINEMODE を返信した場合のみ送信されます。 クライアントが .Dv WILL TM を返信した場合は、クライアントが kludge linemode を サポートしていると判断されます。 .Op Fl k オプションによりこの機能を無効にする事ができます。 .It "DO AUTHENTICATION" .Nm が認証機能をサポートする設定で構築された場合のみ送信され、 自動ログインに使用する認証情報を受信するようにします。 .It "DO ENCRYPT" .Nm がデータの暗号化をサポートする設定で構築された場合のみ送信され、 データ列に対して暗号を復号するように指定します。 .El .Sh 注 デフォルトでは、 .Nm は .Pa /etc/gettytab から .Em \&he , .Em \&hn , .Em \&im のケーパビリティを読み、(存在するならば) この情報を使用して login: プロンプトの前に何を表示すべきかを決定します。 .Em \&im ケーパビリティに優先する .Em \&if ケーパビリティを使用して、System V スタイルの .Pa /etc/issue ファイルを使うこともできます。 .Em \&im または .Em \&if に指定される情報は、コンソールとリモートログインの両方で表示されます。 .\" .Sh 環境変数 .Sh ファイル .Bl -tag -width /usr/ucb/bftp -compact .It Pa /etc/services .It Pa /etc/gettytab .It Pa /etc/inittab (UNICOS システムのみ) .It Pa /etc/iptos (サポートされている場合) .It Pa /usr/ucb/bftp (サポートされている場合) .El .Sh "関連項目" .Xr bftp 1 , .Xr login 1 , .Xr gettytab 5 , .Xr telnet 1 (サポートされている場合) .Sh 標準 .Bl -tag -compact -width RFC-1572 .It Cm RFC-854 .Tn TELNET PROTOCOL SPECIFICATION .It Cm RFC-855 TELNET OPTION SPECIFICATIONS .It Cm RFC-856 TELNET BINARY TRANSMISSION .It Cm RFC-857 TELNET ECHO OPTION .It Cm RFC-858 TELNET SUPPRESS GO AHEAD OPTION .It Cm RFC-859 TELNET STATUS OPTION .It Cm RFC-860 TELNET TIMING MARK OPTION .It Cm RFC-861 TELNET EXTENDED OPTIONS - LIST OPTION .It Cm RFC-885 TELNET END OF RECORD OPTION .It Cm RFC-1073 Telnet Window Size Option .It Cm RFC-1079 Telnet Terminal Speed Option .It Cm RFC-1091 Telnet Terminal-Type Option .It Cm RFC-1096 Telnet X Display Location Option .It Cm RFC-1123 Requirements for Internet Hosts -- Application and Support .It Cm RFC-1184 Telnet Linemode Option .It Cm RFC-1372 Telnet Remote Flow Control Option .It Cm RFC-1416 Telnet Authentication Option .It Cm RFC-1411 Telnet Authentication: Kerberos Version 4 .It Cm RFC-1412 Telnet Authentication: SPX .It Cm RFC-1571 Telnet Environment Option Interoperability Issues .It Cm RFC-1572 Telnet Environment Option .El .Sh バグ いくつかの .Tn TELNET コマンドは部分的にしか実装されていまいません。 .Pp オリジナルの 4.2 BSD の .Xr telnet 1 のバグに対処するため、 .Nm は、ある種のあいまいなプロトコル変換を行うことにより、 リモートクライアントが実際に 4.2 BSD の .Xr telnet 1 であるかどうかを判断しようとします。 .Pp バイナリモードは よく似たオペレーティングシステム (この場合 Unix) 間以外では 互換性がありません。 .Pp リモートクライアントから受け取った端末タイプの名前は小文字に変換されます。 .Pp .Nm は、 .Tn TELNET .Dv IAC GA (go ahead) コマンドを絶対に送りません。 .Sh 歴史 IPv6 サポートは、WIDE/KAME プロジェクトが追加しました。 diff --git a/ja_JP.eucJP/man/man8/tftpd.8 b/ja_JP.eucJP/man/man8/tftpd.8 index 39bbb1c6ae..37076db4a2 100644 --- a/ja_JP.eucJP/man/man8/tftpd.8 +++ b/ja_JP.eucJP/man/man8/tftpd.8 @@ -1,169 +1,196 @@ .\" Copyright (c) 1983, 1991, 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. .\" .\" @(#)tftpd.8 8.1 (Berkeley) 6/4/93 -.\" %FreeBSD: src/libexec/tftpd/tftpd.8,v 1.6.2.2 2000/12/08 13:52:32 ru Exp % +.\" %FreeBSD: src/libexec/tftpd/tftpd.8,v 1.6.2.3 2001/03/04 09:15:27 kris Exp % .\" jpman %Id: tftpd.8,v 1.3 1997/07/22 17:00:36 horikawa Stab % .\" .Dd September 14, 2000 .Dt TFTPD 8 .Os BSD 4.2 .Sh 名称 .Nm tftpd .Nd インターネット TFTP (Trivial File Transfer Protocol) サーバ .Sh 書式 .Nm /usr/libexec/tftpd -.Op Fl ln +.Op Fl cCln .Op Fl s Ar directory .Op Fl u Ar user .Op Ar directory ... .Sh 解説 .Nm は、インターネット TFTP プロトコル .Pq Tn RFC 1350 を提供するサーバです。 .Tn TFTP サーバは、 .Ql tftp サービス定義で指示されたポートを操作します。 .Xr services 5 を参照してください。 このサーバは普通 .Xr inetd 8 によって起動されます。 .Pp .Xr tftp 1 の利用には、リモートシステムのアカウントやパスワードを必要としません。 認証情報がありませんので、 .Nm はパブリックに読み込み可能なファイルだけしかアクセスを許可しません。 文字列 ``/\|\fB.\|.\fP\|/'' を含んだファイル、もしくは ``\|\fB.\|.\fP\|/'' から始まるファイルのアクセスは許可されません。 ファイルは、既に存在してパブリックに書き込み可能な場合だけ 書き込まれます。 .Dq パブリック (public) という概念は、ネットワークを通して到達可能な全てのホストの全てのユーザ を含むように拡張されている点に注意してください。 これは全てのシステムにおいて適当ではないかも知れないし、 そのことは tftp サービスを有効にする前に考慮すべきです。 サーバは、もっとも可能な限り小さな権限を持ったユーザ ID を 持たねばなりません。 .Pp ファイルへのアクセス制限は、 .Nm 起動時のディレクトリリストを、 .Pa /etc/inetd.conf にサーバプログラムへの引数として 20 までのパス名を指定することにより可能です。 この場合、アクセスは、ファイル名がそこで与えられたディレクトリを 頭に付けたものに制限されます。 与えられたディレクトリは、相対ファイル指定要求に対しての探索パスと しても利用されます。 .Pp .Fl s オプションは、 .Nm tftpd のルートディレクトリを変更し、指定した .Ar directory 外へのアクセスを禁止することにより、さらなる安全性を提供します。 .Xr chroot 2 はスーパユーザの権限が必要ですから、 .Nm は root で実行することが必要です。 しかしながら .Fn chroot を実行した後では、 .Nm は自己のユーザ ID を、指定された .Ar user か、 .Fl u オプションが指定されない場合には .Dq nobody に設定します。 .Pp 以下のようなオプションがあります。 .Bl -tag -width Ds +.It Fl c +接続ホストのデフォルトのルートディレクトリを、 +接続 IP アドレスに基き、chroot を用いて変えます。 +これにより、複数のクライアントが同じファイルへ同時に書き込むことを防ぎます。 +ディレクトリが存在しない場合、クライアントの接続は拒否されます。 +.Fl c +には、 +.Fl s +オプションが必須であり、指定された +.Ar directory +が基点として使用されます。 +.It Fl C +.Fl c +と同様に動作しますが、クライアントの IP 用のディレクトリが存在しない場合、 +.Fl s +のディレクトリを使うことになります。 .It Fl l 全ての要求を、 .Xr syslog 3 のファシリティ .Dv LOG_FTP を使って、ログ保存します。 注: syslog 設定ファイル .Xr syslog.conf 5 においても、 .Dv LOG_FTP メッセージのログ機能を有効とする必要があります。 .It Fl n 存在しない相対ファイル名に対する要求の否定応答を抑止します。 .It Fl s Ar directory .Pa directory へと、 .Nm のルートディレクトリを変更させます。 ルートディレクトリの変更後、コマンドを受け付ける前に、 .Nm は非特権ユーザの権限へ移行します。 .It Fl u Ar user .Fl s オプション使用時に、 権限を .Ar user (デフォルトでは .Dq nobody です) へ切り替えます。 user は、名前で指定することが必要であり、数値の UID では駄目です。 .El .Sh 関連項目 .Xr tftp 1 , .Xr chroot 2 , .Xr inetd 8 , .Xr syslogd 8 .Rs .%A K. R. Sollins .%T The TFTP Protocol (Revision 2) .%D July 1992 .%O RFC 1350, STD 33 .Re .Sh 歴史 .Nm コマンドは、 .Bx 4.2 から導入されました。 .Fl s オプションは .Fx 2.2 から導入され、 .Fl u オプションは .Fx 4.2 +から導入され、 +.Fl c +オプションは +.Fx 4.3 から導入されました。 +.Sh バグ +33488896 オクテット (65535 ブロック) を越えるファイルは、 +クライアントとサーバがブロックサイズのネゴシエーション (RFC1783) を +サポートしていなければ、転送不可能です。 +.Pp +多くの tftp クライアントが、 +16744448 オクテット (32767 ブロック) を越えて転送できません。 diff --git a/ja_JP.eucJP/man/man8/uucpd.8 b/ja_JP.eucJP/man/man8/uucpd.8 index 78431b0b25..ccad019427 100644 --- a/ja_JP.eucJP/man/man8/uucpd.8 +++ b/ja_JP.eucJP/man/man8/uucpd.8 @@ -1,68 +1,68 @@ .\" Copyright (c) 1983, 1989, 1991, 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. .\" .\" @(#)rshd.8 8.1 (Berkeley) 6/4/93 -.\" %FreeBSD: src/libexec/uucpd/uucpd.8,v 1.7.2.1 2000/12/12 09:56:26 ru Exp % +.\" %FreeBSD: src/libexec/uucpd/uucpd.8,v 1.7.2.2 2001/03/05 18:22:01 ru Exp % .\" .\" jpman %Id: uucpd.8,v 1.3 1997/09/04 16:43:12 horikawa Stab % .Dd February 18, 1996 .Dt UUCPD 8 .Os BSD 4.4 .Sh 名称 .Nm uucpd .Nd uucp ネットワークサーバ .Sh 書式 .Nm /usr/libexec/uucpd .Sh 解説 .Nm は、ネットワーク経由での uucp 接続をサポートするサーバです。 .Nm は、``uucp'' サービスとして定められたポート( .Xr services 5 参照)を監視し、リクエストが来るのを待ちます。 サーバは、ログイン名とパスワードによる認証を行った後、実際の転送を行う .Nm uucico を起動します。 .Sh 関連項目 .Xr inetd.conf 5 , .Xr services 5 , .Xr inetd 8 , .Xr uucico 8 .Sh 関連ファイル .Bl -tag -width /etc/hosts -compact .It Pa /etc/services .It Pa /etc/inetd.conf .El .Sh 歴史 .Nm ユーティリティは、 .Bx 4.3 から登場しました。