diff --git a/ja_JP.eucJP/man/man1/bzip2.1 b/ja_JP.eucJP/man/man1/bzip2.1 index 2db85c8cb8..6dbc17528b 100644 --- a/ja_JP.eucJP/man/man1/bzip2.1 +++ b/ja_JP.eucJP/man/man1/bzip2.1 @@ -1,432 +1,432 @@ .\" $FreeBSD$ .PU .TH bzip2 1 .SH 名称 bzip2, bunzip2 \- ブロックソーティングによるファイル圧縮器, v1.0.2 .br bzcat \- ファイルを伸長して標準出力へ書き出す .br bzip2recover \- 破損した bzip2 ファイルからデータを復元 .SH 書式 .ll +8 .B bzip2 .RB [ " \-cdfkqstvzVL123456789 " ] [ .I "filenames \&..." ] .ll -8 .br .B bunzip2 .RB [ " \-fkvsVL " ] [ .I "filenames \&..." ] .br .B bzcat .RB [ " \-s " ] [ .I "filenames \&..." ] .br .B bzip2recover .I "filename" .SH 解説 .I bzip2 は Burrows-Wheeler ブロックソーティングテキスト圧縮アルゴリズムと Huffman 符号を使ってファイルを圧縮します。圧縮率は大抵、より一般的な LZ77/LZ78 をベースとした圧縮器より大変良く、性能は 統計的圧縮器の PPM ファミリに迫っています。 コマンドラインオプションは意図的に .I GNU gzip のものに似せてありますが、同一ではありません。 .I bzip2 はコマンドラインフラグを伴ったファイル名のリストを受け取ります。 各ファイルは "original_name.bz2" という名前の 圧縮済みファイルで置き換えられます。 圧縮された各ファイルは、元のファイルと同じ更新時刻およびパーミッションを 持ち、そして可能なら同じ所有者となります。 これによりこれらの属性は伸長時に正しく復元可能となります。 ファイル名の扱いは単純で、 元ファイルの名前、パーミッション、所有者、日付の概念が無いファイルシステムや、 MS-DOS のようにファイル名の長さに大きな制限があるファイルシステム では、それらを保存する機構はありません。 .I bzip2 と .I bunzip2 は、デフォルトでは既存のファイルを上書きしません。 上書きしたい場合は \-f フラグを指定してください。 ファイル名が指定されない場合、 .I bzip2 は標準入力を圧縮して標準出力へ書き出します。この場合 .I bzip2 は圧縮された結果を端末へ書き出しません。それは全く読むことができず、 出力することは無意味だからです。 .I bunzip2 (または .I bzip2 \-d) は指定されたすべてのファイルを伸長します。 .I bzip2 で生成されたのではないファイルを検知・無視し、 さらに警告を発します。 .I bzip2 は以下のようにして圧縮済みファイルの名前から 伸長後のファイル名を推測します: filename.bz2 は filename とします filename.bz は filename とします filename.tbz2 は filename.tar とします filename.tbz は filename.tar とします anyothername は anyothername.out とします ファイル名が .I .bz2, .I .bz, .I .tbz2 または .I .tbz のような、認識できる名前で終わっていない場合、 .I bzip2 は元のファイル名が推測できない旨を通知して .I .out を付加した名前を元のファイル名として使います。 圧縮の場合と同様に、ファイル名が指定されない場合は 標準入力を伸長して標準出力へ書き出します。 .I bunzip2 は 2 つ以上の圧縮済みファイルを連結したファイルを正しく伸長します。 得られるファイルは、伸長後のファイルを連結したものです。 連結した圧縮ファイルに対しても健全性のテスト (\-t) がサポートされています。 \-c フラグを与えることで、ファイルを圧縮または伸長した結果を 標準出力へ書き出すことができます。このフラグを与えて、 複数のファイルを圧縮または伸長することができます。結果は 標準出力へ順番に書き出されます。この方式による複数ファイルの圧縮では、 複数の圧縮ファイルからなるストリームが生成されます。 このストリームは、バージョン 0.9.0 以降の .I bzip2 でしか正しく伸長できません。これより前のバージョンの .I bzip2 では、ストリーム中の最初のファイルを伸長した後に停止します。 .I bzcat (または .I bzip2 -dc) は指定された全てのファイルを伸長し、標準出力に書き出します。 .I bzip2 は引数として環境変数 .I BZIP2 と .I BZIP を順番に読み、 コマンドラインから読んだ引数より先に処理します。 これはデフォルトの引数を与えるのに便利です。 圧縮後のファイルが元のファイルよりも少し大きくなる場合でも、 常に圧縮は行われます。 圧縮機構には常に 50 バイトのオーバヘッドがあるので、 約 100 バイトよりも小さなファイルは大きくなる傾向があります。 ランダムなデータ (ほとんどのファイル圧縮器の出力も) は 1 バイト当たり約 8.05 ビットで符号化され、約 0.5% 大きくなります。 保護のための自己チェックとして、 .I bzip2 は、伸長後のファイルと元のファイルとの同一性を確かめる ために 32 ビット CRC を使います。 これにより、圧縮済みデータの破損や .I bzip2 のまだ見つかっていないバグ (ほとんど無いはすです) から守ります。 データの破壊が検出できない確率は極めて小さく、各ファイルの処理 40 億回あたり 1 回程度です。 ただし、このチェックは伸長の時にしか行われず、したがって 何か間違いが発生したことしか分かりません。 圧縮前の元データを復元するのには役に立ちません。 破損したファイルからデータを復元するのに .I bzip2recover を試みることはできます。 戻り値: 正常終了の場合は 0 が返されます。 実行環境の問題 (ファイルが見つからない、無効なフラグ、入出力エラーなど) の場合は 1 が戻ります。圧縮ファイルが破損している場合は 2 が戻ります。 .I bzip2 にパニックを引き起こす内部整合性エラー (例えばバグ) の場合は 3 が戻ります。 .SH オプション .TP .B \-c --stdout 圧縮または伸長した結果を標準出力に書き出します。 .TP .B \-d --decompress 伸長を強制します。 .I bzip2, .I bunzip2, .I bzcat は実際には同じプログラムで、どの動作をするのかは、 どの名前が使われたかに基づいて決められます。 このフラグはそれよりも優先され、 .I bzip2 に伸長を強制させます。 .TP .B \-z --compress \-d の反対: 起動時の名前にかかわらず、圧縮を強制します。 .TP .B \-t --test 指定されたファイルの健全性チェックをしますが、伸長はしません。 実際には伸長を試み、その結果は捨てています。 .TP .B \-f --force 出力ファイルの上書きを強制します。通常 .I bzip2 は既存の出力ファイルを上書きしません。さらに .I bzip2 にファイルへのハードリンクを切断させます。この オプションが指定されていない場合は、ハードリンクの切断はされません。 bzip2 は通常、正しいマジックヘッダバイトを持たないファイルの伸長を拒否します。 強制 (-f) すると、そのようなファイルを修正せずにそのまま通過させます。 これは GNU gzip の動作と同じです。 .TP .B \-k --keep 圧縮または伸長後でも入力ファイルを保存します (削除しません)。 .TP .B \-s --small 圧縮、伸長、テストの際のメモリ使用量を減らします。 ブロックバイトあたり 2.5 バイトしか必要としないように変更された アルゴリズムを使って、ファイルの伸長やテストが行われます。 全てのファイルが 2300k のメモリで伸長できますが、 通常の約半分の速度になってしまいます。 圧縮時に \-s を使うと 200k のブロックサイズが選択されます。 メモリ使用量はほぼ同じ大きさに制限されますが、圧縮率が犠牲になります。 つまり、マシンに搭載されているメモリが少なければ (8 メガバイト以下) つねに \-s フラグを使ってください。後述するメモリ管理の項目を参照してください。 .TP .B \-q --quiet 本質的でない警告メッセージは出力しません。入出力エラーと 致命的なイベントに関連するメッセージは出力されます。 .TP .B \-v --verbose 詳細表示モードです。処理されたファイル毎に圧縮率を表示します。 さらに \-v を与えると詳細表示のレベルが上がり、主に診断を目的とする 多くの情報が出力されます。 .TP .B \-L --license -V --version ソフトウェアのバージョン、ライセンス条項とその条件が表示されます。 .TP .B \-1 (または \-\-fast) から \-9 (または \-\-best) 圧縮時のブロックサイズを 100 k, 200 k .. 900 k に設定します。 伸長時には何も影響がありません。下のメモリ管理の項目を参照してください。 \-\-fast と \-\-best という別名は、 第一義的には GNU gzip との互換性のためです。 特に、\-\-fast は非常に高速になるわけではありません。 また、\-\-best は単にデフォルト動作を選択するだけです。 .TP .B \-- これ以降の引数についてはダッシュで始まるものでもファイル名として 扱われます。これによりダッシュで始まるファイル名も扱うことが できます。例えば次のように使います: bzip2 \-- \-myfilename .TP .B \--repetitive-fast --repetitive-best これらのフラグは、バージョン 0.9.5 以降では冗長です。 これらは以前のバージョンで整列アルゴリズムの動作を大雑把に 制御するために提供されたもので、時々は役立っていたものでした。 -0.9.5 以降でこれらのフラグが無関係になる改良されたアルゴズムが使われています。 +0.9.5 以降でこれらのフラグが無関係になる改良されたアルゴリズムが使われています。 .SH メモリ管理 .I bzip2 は大きなファイルをブロック毎に圧縮します。ブロックサイズは 達成される圧縮率と、圧縮または伸長に要するメモリの量に影響します。 \-1 から \-9 までのフラグは、それぞれブロックサイズを 100,000 バイトから 900,000 バイト (デフォルト) に指定します。伸長時には、 圧縮時に使われたブロックサイズが圧縮ファイルのヘッダから読まれ、 .I bunzip2 はファイルを伸長するのに十分なだけのメモリを確保します。 ブロックサイズは圧縮ファイルに格納されているので、 伸長時にはフラグ \-1 から \-9 は無関係であり、無視されます。 圧縮と伸長に必要なメモリ量は次のように見積もることができます: 圧縮: 400k + ( 8 x ブロックサイズ ) 伸長: 100k + ( 4 x ブロックサイズ ), または 100k + ( 2.5 x ブロックサイズ ) ブロックサイズを大きくするにしたがい、効果は急速に減少していきます。 大部分の圧縮は最初の 200k あるいは 300k のブロックサイズで得られます。 この事実を覚えておけば、小規模なマシンで .I bzip2 を使うときに役立つでしょう。 また、圧縮時に選択されたブロックサイズにより 伸長に必要なメモリ量が設定されることを知っておくのも重要です。 ブロックサイズがデフォルトの 900k で圧縮されたファイルを .I bunzip2 が伸長する時は 3700 キロバイト必要です。 4 メガバイトしかメモリを搭載していないマシンであらゆるファイルを 伸長するために、 .I bunzip2 には、約半分の 2300 キロバイトの量のメモリを使うオプションがあります。 伸長速度も半分になるので、このオプションは必要な場合にのみ使うべきです。 そのフラグは -s です。 一般にはメモリ量が許す限り大きなブロックサイズを試して使ってください。 こうすることで最も高い圧縮率を達成できます。 ブロックサイズは、圧縮と伸長の速度にほとんど影響しません。 単一のブロックに収まっているファイルに関しては、もう一つの 重要なポイントがあります。これは大きなブロックサイズにした場合に ほとんどのファイルがあてはまります。 この場合、ファイルはブロックより小さいので、 利用される実メモリの量はファイルの大きさに比例します。 例えば、長さが 20,000 バイトのファイルを -9 というフラグを 与えて圧縮する場合、圧縮器は約 7600k のメモリを割り当てますが、 そのうち 400k + 20000 * 8 = 560 キロバイトしか使いません。 同様に伸長器は 3700k を割り当てますが、 100k + 20000 * 4 = 180 キロバイトしか使いません。 異なるブロックサイズにおける最大メモリ使用量をまとめた表を示します。 また全部で 14 ファイル、合計 3,141,622 バイトからなる カルガリーテキスト圧縮文献集を圧縮した後のサイズも示します。 このカラムから、ブロックサイズによって圧縮がどのように変わるかを 知ることができます。文献集は比較的小さなファイルが多いので、 この表は大きなファイルに対して大きなブロックサイズを使った場合の利点を 過小評価する傾向にあります。 圧縮時 伸長時 伸長時 文献集の フラグ 使用量 使用量 使用量 (-s) サイズ -1 1200k 500k 350k 914704 -2 2000k 900k 600k 877703 -3 2800k 1300k 850k 860338 -4 3600k 1700k 1100k 846899 -5 4400k 2100k 1350k 845160 -6 5200k 2500k 1600k 838626 -7 6100k 2900k 1850k 834096 -8 6800k 3300k 2100k 828642 -9 7600k 3700k 2350k 828642 .SH 破損したファイルからデータを復元する .I bzip2 はファイルを大抵 900 キロバイトのブロック毎に圧縮します。 それぞれのブロックは独立に扱われます。 メディアや転送時の誤りにより、 複数ブロックからなる .bz2 ファイルが破壊された場合でも、 ファイル中の破損していないブロックからデータを復元できる 可能性があります。 各ブロックの圧縮された表現は 48 ビットのパターンで区切られており、 これを使ってブロックの境界を十分確実に見つけることができます。 各ブロックは 32 ビットの CRC を持ち、破損したブロックを 破損していないブロックと区別することができます。 .I bzip2recover は .bz2 ファイル中のブロックを探し、 それぞれのブロックを別々の .bz2 ファイルへ書き出す 単純なプログラムです。その後で .I bzip2 \-t を使って得られた各ファイルの健全性をテストし、破損していない ファイルを伸長することができます。 .I bzip2recover は単一の引数として破損したファイルの名前をとり、 抽出されたブロックを含む "rec00001file.bz2", "rec00002file.bz2" … という大量のファイルを書き出します。出力されるファイル名は その後の処理でワイルドカードが使えるように設計されています。 例えば "bzip2 -dc rec*file.bz2 > recovered_data" とすれば、 ファイルを正しい順番で処理できます。 .I bzip2recover は大きな .bz2 ファイルを扱うときに最も役に立ちます。 大きな .bz2 ファイルには大量のブロックが含まれているからです。 破損したブロックの復旧はできないため、 単一のブロックだけで構成されている破損ファイルに対しては 役に立たないのは明らかです。 メディアや転送時の誤りで発生するデータの損失の可能性を 最小にしたい場合には、小さなブロックサイズで圧縮することが 考えられます。 .SH 性能に関する注釈 圧縮におけるソート段階では、ファイル中の類似した文字列を集めます。 このため、"aabaabaabaab ..." のように記号が何回も長く (数百回) 繰り返されているファイルを圧縮する場合は通常より遅くなります。 バージョン 0.9.5 以降では、以前のバージョンに比べてこの点が かなり改善されています。 圧縮時間の最も悪い場合と平均的な場合の比は 10:1 の範囲です。 以前のバージョンでは 100:1 というような比でした。 オプション \-vvvv を与えることで、進行状況を大変詳しく見ることができます。 伸長の速度はこれらの現象に影響されません。 .I bzip2 は動作のために大抵数メガバイトのメモリを確保し、全くランダムに その領域を変更します。 これは、マシンがキャッシュミスに対してどれだけの速度で対処できるかが、 圧縮や伸長の性能を大きく決定するということを意味します。 このため、キャッシュミスの割合を減らすようにコードを少し変更 することにより、性能が大きく向上することがわかっています。 .I bzip2 はとても大きなキャッシュを持つマシンで最高の性能を出すと考えられます。 .SH 警告 入出力エラーのメッセージはそれほど役立ちません。 .I bzip2 はできるだけ入出力エラーを検知し、正しく終了するように試みますが、 何が問題なのかの詳細は、時々かなり間違ったものになることがあります。 このマニュアルページは .I bzip2 のバージョン 1.0.2 について述べています。 このバージョンが生成する圧縮データは、前方互換性と、以前の公開リリースである バージョン 0.1pl2, 0.9.0, 0.9.5, 1.0.0, 1.0.1 に対する後方互換性があります。 ただし、次の例外があります: 0.9.0 以降は複数の圧縮ファイルを連結した ファイルを伸長できますが、0.1pl2 はできません。 ストリームの先頭にあるファイルを伸長した後に停止します。 バージョン 1.0.2 以前の .I bzip2recover では、圧縮ファイル中のビットの位置を表現するために 32 ビット整数を 使っているので、512 メガバイトより長い圧縮ファイルを扱うことが できませんでした。 バージョン 1.0.2 以上では、 64 ビット整数をサポートするプラットフォーム (GNU がサポートするものと Windows) の一部で、 64 ビット整数を使用しています。 bzip2recover にこの制限が有るか無いかを確認するには、 引数無しで実行してください。 MaybeUInt64 を符号無し 64 ビット整数にして再コンパイルすれば、 制限無しバージョンを作成可能です。 .SH 作者 Julian Seward, jseward@acm.org http://sources.redhat.com/bzip2 .I bzip2 に含まれるアイディアは (少なくとも) 以下の人々によるものです: Michael Burrows と David Wheeler (ブロックソート変換)、 David Wheeler (再掲、Huffman 符号化器)、 Peter Fenwick (オリジナルの .I bzip における構造化コーディングモデルと多くの改良)、 Alistair Moffat, Radford Neal そして Ian Witten (オリジナルの .I bzip における算術符号化器)。私は、彼らの助けや支援そしてアドバイスに 感謝しています。 ドキュメントの情報源については、ソース配布中のマニュアルを 参照してください。 Christian von Roques は、圧縮速度の向上のために より速いソートアルゴリズムを探すことを勧めてくれました。 Bela Lubkin は、圧縮速度が最も遅い場合の改良を勧めてくれました。 bz* スクリプトは、GNU gzip 由来です。 多くの人がパッチを送り、移植性の問題について助けの手を差しのべ、 マシンを貸し、アドバイスをくれました。これらは概ね助けになるものでした。 diff --git a/ja_JP.eucJP/man/man1/cut.1 b/ja_JP.eucJP/man/man1/cut.1 index 2879d4baa6..b8c8796035 100644 --- a/ja_JP.eucJP/man/man1/cut.1 +++ b/ja_JP.eucJP/man/man1/cut.1 @@ -1,171 +1,171 @@ .\" %NetBSD: cut.1,v 1.5 1995/03/26 20:51:25 glass Exp % .\" .\" Copyright (c) 1989, 1990, 1993 .\" The Regents of the University of California. All rights reserved. .\" .\" This code is derived from software contributed to Berkeley by .\" the Institute of Electrical and Electronics Engineers, Inc. .\" .\" 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. .\" %FreeBSD: src/usr.bin/cut/cut.1,v 1.23 2003/05/03 15:55:23 keramida Exp % .\" .\" @(#)cut.1 8.1 (Berkeley) 6/6/93 .\" $FreeBSD$ .\" .Dd June 6, 1993 .Dt CUT 1 .Os .Sh 名称 .Nm cut .Nd ファイルの各行の、指定した部分を取り出す .Sh 書式 .Nm cut .Fl b Ar list .Op Fl n .Op Ar .Nm cut .Fl c Ar list .Op Ar .Nm cut .Fl f Ar list .Op Fl d Ar delim .Op Fl s .Op Ar .Sh 解説 .Nm は、 .Ar file から行を読み込み、 .Ar list の指定に従って選択した部分を取り出して標準出力に出力します。 .Ar file 引数が指定されない場合もしくはこれが単一のダッシュ .Pq Sq Fl の場合、 .Nm は標準入力から読み込みます。 .Ar list には、カラム番号、もしくはフィールド番号を指定します。 フィールドは特定の文字で区切られた領域です。 カラム番号およびフィールド番号は 1 から始まります。 .\" フィールド番号が 1 から始まるという記述はオリジナルには無いですが、 .\" 分かりやすくするために補足しました。 .\" By horikawa@isrd.hitachi.co.jp (Nov 9 1996) .Pp .Ar list オプション引数には、コンマもしくは空白で区切られた 複数の増加方向の番号もしくは番号範囲を指定することができます。 番号範囲は、1 番目の番号、ダッシュ .Pq Sq \- 、2 番目の番号の 3 つの組から構成され、 1 番目の番号から 2 番目の番号までの複数のフィールドもしくは複数のカラムを 選択します。 範囲には 1 番目の番号および 2 番目の番号も含まれます。 番号もしくは番号範囲の前にダッシュをつけた場合には、 1 番目の番号までのすべてのフィールドもしくはカラムも選択します。 番号もしくは番号範囲の後にダッシュをつけた場合には、 最後の番号以降のすべてのフィールドもしくはカラムも選択します。 番号もしくは番号範囲は、 繰り返しても、重なっても、いかなる順番であっても構いません。 また、入力行に指定のフィールドやカラムがない場合、 エラーとはなりません。 .Pp オプションとしては以下のものがあります: .Bl -tag -width indent .It Fl b Ar list バイト単位で指定します。 .It Fl c Ar list 文字単位で指定します。 .It Fl d Ar delim フィールドを区切る文字として .Ar delim を使用します。デフォルトではタブが使用 されます。 .It Fl f Ar list タブで区切られたフィールド単位で指定します。 出力フィールドはタブで区切られます。 .It Fl n マルチバイト文字を分割しません。 .It Fl s 区切り文字のない行を出力しないようにします。このオプションが 指定されてない場合、区切り文字がない行はそのまま出力されます。 .El .Sh 環境変数 .Fl n オプションが指定された場合、 .Ev LANG , .Ev LC_ALL , .Ev LC_CTYPE の環境変数が、 .Xr environ 7 の記述通りに、 .Nm の動作に影響します。 .Sh 使用例 ユーザのログイン名とシェルを、システムの .Xr passwd 5 ファイルから .Dq name:shell という組で取り出します: .Pp .Dl "cut -d : -f 1,7 /etc/passwd" .Pp 現在ログインしているユーザに対し、名前とログイン時刻を表示します: .Pp .Dl "who | cut -c 1-16,26-38" .Sh 診断 .Ex -std .Sh 関連項目 .Xr paste 1 .Sh 規格 .Nm ユーティリティは .St -p1003.2 準拠です。 .Sh 歴史 .Nm コマンドは .Tn AT&T System III .Ux に登場しました。 .Sh バグ .Fl c オプションは .Fl b オプションの同義語ですが、 -マルチバイト文字をサポートするローケルでは正しく動作しません。 +マルチバイト文字をサポートするロケールでは正しく動作しません。 .Pp フィールドに対する動作では .Fl ( f オプション指定時には)、 .Nm はマルチバイト文字を認識しませんし、マルチバイトシーケンス中の .Ar delim 文字は認識されてしまいます。 diff --git a/ja_JP.eucJP/man/man1/ee.1 b/ja_JP.eucJP/man/man1/ee.1 index efb041eeb6..05bc0d802d 100644 --- a/ja_JP.eucJP/man/man1/ee.1 +++ b/ja_JP.eucJP/man/man1/ee.1 @@ -1,593 +1,593 @@ .\" .\" %FreeBSD: src/usr.bin/ee/ee.1,v 1.15 2003/04/30 19:18:50 schweikh Exp % .\" .\" $FreeBSD$ .Dd August 30, 1995 .Dt EE 1 .Os .Sh 名称 .Nm ee .Nd 簡単エディタ .Sh 書式 .Nm ee .Op Fl eih .Op +# .Op Ar .Nm ree .Op Fl eih .Op +# .Op Ar .Sh 解説 .Nm ユーティリティはシンプルなスクリーンエディタで、 端末の下部にプロンプトがあるか、 (端末中央の箱の中に) メニューがあるとき以外は、 常にテキスト挿入モードになっています。 .Nm ree ユーティリティは .Nm -と同じものですが、指定されたファイルの編集しかできない (ファィル操作やシェル +と同じものですが、指定されたファイルの編集しかできない (ファイル操作やシェル を使うことができない) ように機能が制限されています。 .Pp .Nm を正常に動作させるためには、使用する端末のタイプに合わせて、環境変数 .Ev TERM を正しく設定しなければなりません。例えば、 .Tn HP 700/92 端末の場合は、 .Ev TERM 変数を "70092" に設定する必要があります。 更に詳しい情報が必要な場合は、システム管理者にお尋ねください。 .Pp 下記のオプションが使用可能です: .Bl -tag -width indent .It Fl e タブからスペースへの展開を禁止します。 .It Fl i 端末上部に情報ウィンドウを表示しません。 .It Fl h ウィンドウとメニューの縁の強調表示を止めます (一部の端末で 表示速度が向上します)。 .It Sy +# スタート時のカーソルを行番号 '#' で指定される行に置きます。 .El .Ss "コントロールキー" テキストの挿入以外の操作では、コントロールキー ( .Li Control キーは "^" で表示され、例えば ^a のように、 アルファベットキーと組み合わせて使われます) や、 キーボード上にあるファンクションキー ( .Em "Next Page" , .Em "Prev Page" , 矢印キー等) を使わなければなりません。 .Pp すべての端末がファンクションキーを持っているわけではありませんから、 .Nm ではコントロールキーに割り当てられた基本的なカーソル移動は、 キーボードに装備された、より直感的なキーでも扱えるようにしてあります。例えば、 カーソルの上方移動は、上向き矢印キーと .Em ^u のいずれでも可能です。 .Bl -tag -width indent .It ^a 挿入文字を ASCII の 10 進数で指定。 .It ^b テキストの終わりに移動。 .It ^c コマンド入力。 .It ^d カーソルを下に移動。 .It ^e 検索文字列を入力。 .It ^f 最後に削除した文字の復元。 .It ^g 行の先頭に移動。 .It ^h バックスペース。 .It ^i タブ。 .It ^j 改行を挿入。 .It ^k カーソル上の文字を消去。 .It ^l カーソルを左に移動。 .It ^m 改行を挿入 .It ^n 次ページに移動。 .It ^o 行末に移動。 .It ^p 前ページに移動。 .It ^r カーソルを右に移動。 .It ^t テキスト先頭に移動。 .It ^u カーソルを上に移動。 .It ^v 最後に削除した単語を復元。 .It ^w カーソル位置以降の単語を削除。 .It ^x 文字列検索。 .It ^y カーソル位置から行末まで削除。 .It ^z 最後に削除した行の復元。 .It ^[ (ESC) メニュー表示。 .El .Ss "EMACS キーモード" 多くのシェルは (カーソル移動その他の編集操作で) Emacs モードを 用意していますから、それらのキー割当に慣れた利用者のために、 いくつかのキー割当が別途用意されています。これは .Em 設定 メニューないしは初期化ファイル (下記を参照) から利用することができ、 その内容は次のとおりです: .Bl -tag -width indent .It ^a 行の先頭に移動。 .It ^b 1 文字後退。 .It ^c コマンド入力。 .It ^d カーソル位置の文字を消去。 .It ^e 行末に移動。 .It ^f 1 文字前進。 .It ^g 1 ページ戻る。 .It ^h バックスペース。 .It ^i タブ。 .It ^j 最後に削除した文字の復元。 .It ^k 行の削除。 .It ^l 最後に削除した行の復元。 .It ^m 改行の挿入。 .It ^n 次行に移動。 .It ^o 挿入文字を ASCII の 10 進数で指定。 .It ^p 前行に戻る。 .It ^r 最後に削除した後の復元。 .It ^t テキストの先頭に移動。 .It ^u テキストの最後に移動。 .It ^v 次ページに移動。 .It ^w カーソル以降の単語を削除。 .It ^y 検索文字列の入力。 .It ^z 次の単語。 .It ^[ (ESC) メニュー表示。 .El .Ss "ファンクションキー" .Bl -tag -width indent .It Next Page 次ページに移動。 .It Prev Page 前ページに移動。 .It Delete Char カーソル位置の文字を消去。 .It Delete Line カーソル位置から行末まで消去。 .It Insert line カーソル位置に改行を挿入。 .It Arrow keys 表示された方向にカーソルを移動。 .El .Ss コマンド ある種の操作では単一のキー操作で得られる以上の情報を必要とします。 基本的な操作のほとんどには、 .Tn ESC キーで表示されるメニューが用意されていますが、 それらに加え、いくつかの操作は、コマンド入力 (^c) に続いて 下記のうち一つをタイプすることで実行できます。 .Bl -tag -width indent .It ! Ns Ar cmd シェルを使って .Ar cmd を実行。 .It 0-9 指定された行番号に移動。 .It case 文字列検察で大文字と小文字を区別。 .It character カーソル位置の文字の ASCII 値を表示。 .It exit 編集したテキストを保存して終了。 .It expand タブをスペースに展開。 .It file ファイル名を表示。 .It help ヘルプ画面を表示。 .It line 現在行の行番号を表示。 .It nocase 文字列検索で大文字と小文字を区別しない (デフォルト)。 .It noexpand TAB キーが押されたとき、タブをスペースに展開しない。 .It quit テキストに加えられた変更を保存せずに終了。 .It read Ar file 指定されたファイル .Ar file を読み込む。 .It write Ar file 指定されたファイル .Ar file にテキストを書き込む。 .El .Ss "メニュー操作" .Em escape キー (存在しない場合は .Em ^[ ) を押すとメニューがでてきます。 メニューの中で escape キーを押すと、何もしないでメニューから抜け出すことが できます。上向き矢印と下向き矢印ないしは、上なら .Em ^u 下なら .Em ^d で希望する項目に移動して、 .Em return キーを押せば、その処理が実行されます。 .Pp メニュー項目の左側の文字のキーを押すと、そのメニューエントリを 選択することになります。 .Pp .Nm のメインメニューは次のとおりです: .Bl -tag -width indent .It leave editor 終了。 変更されている場合は、変更後のテキストを保存するかどうかの問い合わせ メニューが出ます。 .It help ヘルプ。 すべてのキー操作とコマンドを含むヘルプ画面を表示。 .It file operations ファイル操作。 ファイルの読み込み、書き込み、保存に加え、 編集内容の印刷コマンドへの送信メニュー ( .Sx "ファイルによる ee の初期化" を参照)。 .It redraw screen 画面再描画。 画面が乱れたとき画面を再描画するための手段。 .It settings 設定。 現在の操作モードと右マージンを表示。特定の項目上で return キーを押すと、 その値を変更できます。 このメニューから抜ける場合は .Em escape キーを押します。(下記の .Sx モード を参照。) .It search 検索。 新しい検索文字列ないしは既に設定した検索文字列で検索するためのメニュー。 .It miscellaneous その他。 現在の段落の整形、シェルコマンドの実行、編集中のテキストのスペルチェック を行うためのメニュー。 .El .Ss "段落整形" .Nm の段落 (paragraph) は、下記のいずれかで囲まれた部分を意味します: .Bl -bullet -width indent .It ファイルの先頭と終わり。 .It 文字を含まない行、ないしは、スペースとタブのみの行。 .It ピリオド ('.') か 大なり記号 ('>') で始まる行。 .El .Pp 段落整形を行う方法としては、メニューの .Em 段落整形(format paragraph) を選択して明示的に行う方法と、段落の自動整形を行うように .Nm を設定する方法の二つがあります。 自動モードはメニューからでも、初期化ファイルからでも設定可能です。 .Pp .Nm のテキスト操作には、自由形式 (free-form)、マージン (margins)、 自動整形 (automatic formatting) の3つの状態があります: .Pp 「自由形式」はプログラミングのような仕事に最適で、行の長さの制限がなく、 整形も行われません。 .Pp 「マージン」を使うと、右マージン (これは .Em 設定 (settings) メニューで指定しますが、 デフォルトは端末の右縁になっています) を越えていないかどうかを気にせずに テキストをタイプすることができます。 このモードでは .Em 段落整形 (format paragraph) メニュー項目が動作します。 .Pp 「自動整形」はワードプロセッサのようなふるまいをします。 ユーザがテキストを入力する一方で、 空白文字が入力されるかテキストを削除するたびに、 .Nm は段落全体が端末の幅を越えないように調整します。 自動整形を使う場合は、マージンも有効にしておかなければなりません。 .Ss モード .Nm そのものは「モードなし」(modeless) エディタ (常にテキスト挿入モードに なっています) ですが、その動作の中には次のようなモードをもつものもあります: .Bl -tag -width indent .It タブ拡張 タブ文字として挿入するか、空白文字に置換するかを決めます。 .It 大文字と小文字の区別 文字列検索では、大文字と小文字を区別することもできますし、 同一視させることもできます。 .It マージン監視 行の長さを右マージンまでに制限することもできますし、 無限に長くすることもできます。 .It 段落の自動整形 テキストの入力中、うまく画面の幅に収まるように、 エディタに調整させることができます。 .It 8 ビット文字 8 ビット文字をそのまま表示させるか、 その値を山括弧で囲んで表示 ("<220>" 等) させるかの切り替えです。 .It 情報ウィンドウ 実行可能なキー操作を表示するウィンドウを出すか出さないかを選択します。 .It emacs キー割り当て コントロールキーの割り当てを emacs 方式にするかどうかを決めます。 .It 16 ビット文字 16 ビット文字を 1 個の 16 ビット量として扱うのか、2 個の 8 ビット量として 扱うのかを切り替えます。 主として、Chinese Big 5 コードセットで動作します。 .El .Pp これらのモードは初期化ファイル (下記を参照) とメニュー (上記を参照) の いずれでも設定可能です。 .Ss "スペルチェック" .Nm でテキストに含まれる単語のスペルをチェックする方法には、 伝統的な .Xr spell 1 コマンドを使う方法と、オプションの .Nm ispell コマンドを使う方法の二つがあります。 .Pp .Nm spell を使う場合は、認識できない単語はファイルの先頭に置かれます。 .Nm ispell -の場合は、ファィルをいったんディスクに書き出し、 +の場合は、ファイルをいったんディスクに書き出し、 .Nm ispell にそのファイルを処理させてから、 .Nm ispell が書き換えたファイルを再度読み込みます。 .Ss "編集内容の印刷" メニューの中に編集内容を印刷する項目があります。 .Nm ユーティリティは初期化コマンドの .Em printcommand (下記の .Sx "ファイルによる ee の初期化" を参照) で指定されたコマンドに編集中のテキストをパイプで転送します。 デフォルトでは .Xr lp 1 コマンドに転送します。 .Pp .Em printcommand で指定されたコマンドは、標準入力からテキストを読み込むものでなければ なりません。詳細はシステム管理者に聞いてください。 .Ss "シェルの操作" .Em その他 (miscellaneous) のメニューで .Em シェルコマンド (shell command) を選ぶか、 .Em command: プロンプトで感嘆符 ("!") に続けて実行したいコマンドを書くことで、 .Nm の中からシェルにコマンドを実行させることができます。さらに、"!' の前に 「大なり記号」(">") を書くことで、編集バッファの内容をシェルコマンドに リダイレクトすることができます。 同様に、感嘆符の前に「小なり記号」("<") を書くと、 シェルコマンドの実行結果を編集バッファに取り込みます。 これらを同時に指定することで、シェルコマンドに出力した後、コマンドの 実行結果を読み直すことも可能です。 従って、エディタで編集中の単語のリストをソートしたい場合は、 コマンド入力で次のようにタイプすることができます: .Dl >" のように山括弧で囲まれた数値 で表示します)。 .It 16bit 16 ビット文字を扱います。 .It no16bit 16 ビット文字を扱いません。 .It emacs emacs のキー割り当てにします。 .It noemacs emacs のキー割り当てをやめます。 .El .Ss "エディタの設定の保存" .Em settings メニューからこのエントリを使用すると、 ユーザは現在のエディタの設定 (前記 .Sx "ファイルによる ee の初期化" 参照) を現在のディレクトリもしくはユーザのホームディレクトリのファイル .Pa .init.ee に保存できます。 既に存在するファイル .Pa .init.ee は .Pa .init.ee.old にリネームされます。 .Sh 警告 (原文) .\" こういう部分は日本語訳により細かなニュアンスが変わって問題になる .\" かもしれないので、原文のままにしてあります。 sakai@jp.freebsd.org 1997.6.19 THIS MATERIAL IS PROVIDED "AS IS". THERE ARE NO WARRANTIES OF ANY KIND WITH REGARD TO THIS MATERIAL, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. Neither Hewlett-Packard nor Hugh Mahon shall be liable for errors contained herein, nor for incidental or consequential damages in connection with the furnishing, performance or use of this material. Neither Hewlett-Packard nor Hugh Mahon assumes any responsibility for the use or reliability of this software or documentation. This software and documentation is totally UNSUPPORTED. There is no support contract available. Hewlett-Packard has done NO Quality Assurance on ANY of the program or documentation. You may find the quality of the materials inferior to supported materials. .Pp Always make a copy of files that cannot be easily reproduced before editing. Save files early, and save often. .Pp (上記段落の日本語訳 −参考−) .br このプログラムはこのままの状態 (AS IS) で供給されるもので、実用性や特定用途 に対する適合性を含む、いかなる保証もありません。Hewlett-Packard と Hugh Mahon のいずれも、このプログラムの間違い、あるいは、設置や使用に付随ないしは結果と して生ずるいかなる問題についても責任を負いません。Hewlett-Packard と Hugh Mahon のいずれも、このプログラムとドキュメントの信頼性に対する責任を負いませ ん。このプログラムとドキュメントに対するサポートはありませんし、サポートの窓 口もありません。Hewlett-Packard はプログラムとドキュメントの品質検査行ってい ません。サポートのある製品にくらべて品質が劣る可能性もあります。 .Pp 編集前の状態に戻すのが困難なファイルについては、常にコピーを残してください。 早めにファイルに保存し、小刻みに保存操作を行ってください。 .Ss "国際コードセットのサポート" .Nm ユーティリティは 8 ビット文字コード (8 ビットクリーン) または Chinese Big-5 コードセットをサポートしています (他のマルチバイトコードセットも動作するかもしれませんが、 Big-5 が動作する理由は、2 バイト文字は画面上で 2 桁を占めるためです)。 .Sh 警告 低速システムでは、段落自動整形は極端に遅くなります。 .Sh 関連ファイル .Bl -tag -width /usr/share/misc/init.ee -compact .It Pa /usr/share/misc/init.ee .It Pa $HOME/.init.ee .It Pa .init.ee .El .Sh 作者 ソフトウェア .Nm は .An Hugh Mahon が開発しました。 .Pp .\" 以下の部分も原文を残し、和訳併記としてあります。 .\" sakai@jp.freebsd.org 1997.6.19 This software and documentation contains proprietary information which is protected by copyright. All rights are reserved. .Pp (上記段落の日本語訳 −参考−) .br このプログラムとドキュメントは著作権法により保護されており、 すべての権利は著作者が有します。 .Pp Copyright (c) 1990, 1991, 1992, 1993, 1995, 1996 Hugh Mahon. .Sh "関連項目" .Xr ispell 1 , .Xr lpr 1 , .Xr spell 1 , .Xr termcap 5 , .Xr terminfo 5 , .Xr environ 7 .Sh 日本語マニュアル 平林浩一 (kh@mogami-wire.co.jp) による ee 日本語化キットに含まれている 日本語化 ee の日本語マニュアルをベースに、 酒井淳嗣 (sakai@jp.freebsd.org) が一部修正。 diff --git a/ja_JP.eucJP/man/man1/gdb.1 b/ja_JP.eucJP/man/man1/gdb.1 index ac481fe77f..8a42cb6ea2 100644 --- a/ja_JP.eucJP/man/man1/gdb.1 +++ b/ja_JP.eucJP/man/man1/gdb.1 @@ -1,381 +1,381 @@ .\" Copyright (c) 1991 Free Software Foundation .\" See section COPYING for conditions for redistribution .\" %FreeBSD: src/gnu/usr.bin/binutils/gdb/gdb.1,v 1.7 1999/08/27 23:34:49 peter Exp % .\" $FreeBSD$ .TH gdb 1 "4nov1991" "GNU Tools" "GNU Tools" .SH 名称 gdb \- GNU デバッガ .SH 書式 .na .TP .B gdb .RB "[\|" \-help "\|]" .RB "[\|" \-nx "\|]" .RB "[\|" \-q "\|]" .RB "[\|" \-batch "\|]" .RB "[\|" \-cd=\c .I dir\c \|] .RB "[\|" \-f "\|]" .RB "[\|" \-k "\|]" .RB "[\|" \-wcore "\|]" .RB "[\|" "\-b\ "\c .IR bps "\|]" .RB "[\|" "\-tty="\c .IR dev "\|]" .RB "[\|" "\-s "\c .I symfile\c \&\|] .RB "[\|" "\-e "\c .I prog\c \&\|] .RB "[\|" "\-se "\c .I prog\c \&\|] .RB "[\|" "\-c "\c .I core\c \&\|] .RB "[\|" "\-x "\c .I cmds\c \&\|] .RB "[\|" "\-d "\c .I dir\c \&\|] .RB "[\|" \c .I prog\c .RB "[\|" \c .IR core \||\| procID\c \&\|]\&\|] .ad b .SH 解説 GDB をはじめとするデバッガは、プログラムが実行中もしくはクラッシュした時にその プログラムの ``内部'' で何が行なわれているか/行われていたかを調べるのに 使用されます。 GDB は、4 つの機能 (加えてこれらをサポートする機能) によって 実行中にバグを見つけることを手助けします。 .TP \ \ \ \(bu プログラムの動作を詳細に指定してプログラムを実行させる。 .TP \ \ \ \(bu 指定した条件でプログラムを停止させる。 .TP \ \ \ \(bu プログラムが止まった時に、何が起こったか調べる。 .TP \ \ \ \(bu バグによる副作用を修正し、別のバグを調べるためプログラムの状態を変更する。 .PP GDB では C, C++, Modula-2 などで書かれたプログラムのデバッグが行なえます。 GNU Fortran コンパイラが完成すれば Fortran もサポートされます。 GDB はシェルコマンド\c .B gdb\c \&で起動されます。いったん起動すると、GDB コマンド\c .B quit\c \&を実行して終了するまで、端末からコマンドを読み続けます。 .B gdb\c \&のオンラインヘルプは(\c .B gdb\c の中で) .B help\c \&コマンドを実行すれば表示されます。 .B gdb\c \& は引数やオプション無しで起動できますが、 たいてい、1 つか 2 つの引数を付けて起動します。実行プログラムを 引数にする場合は以下のようになります: .sp .br gdb\ program .br .sp また実行プログラムと core ファイルの両方を指定することもできます: .sp .br gdb\ program\ core .br .sp もし実行中のプロセスのデバッグを行ないたい場合には、 第 2 引数として core の代わりにプロセス ID を指定します: .sp .br gdb\ program\ 1234 .br .sp これは GDB をプロセス ID \c .B 1234\c \& のプロセスに接続します(このとき`\|\c .B 1234\c \&\|'という名前のファイルが存在してはいけません。 GDB はまず core ファイルを最初にチェックしにいくからです)。 よく利用される GDB コマンドには以下のようなものがあります: .TP .B break \fR[\|\fIfile\fB:\fR\|]\fIfunction \& -プレークポイントを \c +ブレークポイントを \c \& (\c .I file\c \&内の) .I function\c に設定します。 .TP .B run \fR[\|\fIarglist\fR\|] プログラムの実行を開始します(もしあれば .I arglist\c \&を\c 引数として)。 .TP .B bt バックトレース: プログラムのスタックを表示します。 .TP .BI print " expr"\c \& 式の値を表示します。 .TP .B c プログラムの実行を再開します。(たとえばブレークポイントで実行を中断した後で) .TP .B next 次のプログラム行を実行します。 その行内の全ての関数は 1 ステップで実行されます。 .TP .B step 次のプログラム行を実行します。 もしその行に関数が含まれていれば、その関数内をステップ実行していきます。 .TP .B help \fR[\|\fIname\fR\|] GDB コマンド \c .I name\c \&についての情報や、 GDB を使う上での一般的な情報を表示します。 .TP .B quit GDB を終了します。 .PP GDB の詳細については\c .I Using GDB: A Guide to the GNU Source-Level Debugger\c \&, by Richard M. Stallman and Roland H. Pesch. を参照して下さい。 同じテキストは、 .B info\c \& プログラム内の .B gdb\c \& エントリからオンラインで参照できます。 .SH オプション オプション以外の引数は、実行ファイルと core ファイル (もしくはプロセス ID) を表します。つまりオプションフラグでもオプションフラグの引数でもない最初の 引数は `\|\c .B \-se\c \&\|' オプションで指定するファイルと同じになり、(もしあれば)次の 2 番目の引数は `\|\c .B \-c\c \&\|' オプションで指定するファイルと同じになります。 オプションの多くは、長い表記法と短い表記法の両方で指定することができま すが、ここではその両方を示します。 長い表記法は、どのオプションであるのかが明確であれば、短く切り詰めても 構いません。 (好みにより `\|\c .B \-\c \&\|' の代わりに `\|\c .B +\c \&\|' が使用できますが、ここではよく用いられる表記で記します。) 全てのオプションとコマンドライン引数は指定した順番に処理されます。 `\|\c .B \-x\c \&\|' オプションが使用されると、この順番は変わってきます。 .TP .B \-help .TP .B \-h 短い説明つきで、全てのオプションを表示します。 .TP .BI "\-symbols=" "file"\c .TP .BI "\-s " "file"\c \& シンボルテーブルをファイル \c .I file\c \&から読みます。 .TP .BI "\-exec=" "file"\c .TP .BI "\-e " "file"\c \& ファイル \c .I file\c \& を実行可能ファイルとして利用します。 core dump と連係して pure data を調べるのにも用いられます。 .TP .BI "\-se=" "file"\c \& ファイル \c .I file\c \& からシンボルテーブルを読み、同時にそれを実行可能ファイルとして利用します。 .TP .BI "\-core=" "file"\c .TP .BI "\-c " "file"\c \& ファイル \c .I file\c \& を core dump として利用します。 .TP .BI "\-command=" "file"\c .TP .BI "\-x " "file"\c \& ファイル \c .I file\c \&から GDB のコマンドを読み込み、実行します。 .TP .BI "\-directory=" "directory"\c .TP .BI "\-d " "directory"\c \& ソースファイルを探すサーチパスに \c .I directory\c \& を追加します。 .PP .TP .B \-nx .TP .B \-n 初期化ファイル `\|\c .B .gdbinit\c \&\|' からコマンドを読み込みません。 通常は、 全てのコマンドオプションと引数が処理された後で、 初期化ファイル内のコマンドが実行されます。 .TP .B \-quiet .TP .B \-q 起動時のメッセージおよび copyright を表示しません。 これらのメッセージはバッチモードでも抑制されます。 .TP .B \-batch バッチモードで動作します。`\|\c .B \-x\c \&\|' で指定したファイル(および、-nx か -n で抑制されていなければ `\|\c .B .gdbinit\c \&\|') 内の全てのコマンドを 処理した後、戻り値として \c .B 0\c \& を返して終了します。 コマンドファイル内の GDB コマンドの実行中にエラーが生じた場合は、 0 以外の値で終了します。 バッチモードは GDB をフィルタとして実行する場合、 たとえばプログラムをダウンロードして別のコンピュータ上で実行したりする場合 に便利です。 以下のメッセージ .sp .br Program\ exited\ normally.(プログラムは正常に終了しました。) .br .sp は通常、GDB の制御端末上で実行されるプログラムが終了するたびに 出力されるものですが、 バッチモードではこのようなメッセージは出力されません。 .TP .BI "\-cd=" "directory"\c \& カレントディレクトリの代わりに \c .I directory\c \& を GDB の作業用ディレクトリとして実行します。 .TP .B \-fullname .TP .B \-f Emacs が GDB をサブプロセスとして実行する際にこのオプションを付加します。 このとき GDB は、スタックフレームが表示される度(プログラムが中断する度を 含みます)に、完全なファイル名と行番号を標準的な認識しやすい形式で表示します。 この表示書式は 2 つの `\|\c .B \032\c \&\|' 文字、ファイル名、コロンで区切られた行番号と文字位置、改行の順になっ ています。これは Emacs→GDB インタフェースプログラムにおいて、 フレームに対応するソースコードを表示するために 2 つの `\|\c .B \032\c \&\|' 文字を使うことになっているからです。 .TP .B \-kernel .TP .B \-k gdb をカーネルデバッグモードで使用します。 プロンプトは ``(kgdb)'' になります。 .TP .B \-wcore このオプションはカーネルデバッグモードで 「動作中の」カーネルをデバッグしている時のみ使用可能であり、 コアファイル (/dev/mem) を書き込み可能にします。 .TP .BI "\-b " "bps"\c \& リモートデバッグ用に GDB が利用するシリアルインタフェースの転送速度を (ボーレートまたはビット/秒で)セットします。 .TP .BI "\-tty=" "device"\c \& プログラムの標準入出力に \c .I device\c \& を利用します。 .PP .SH "関連項目" .B info\c 内の .RB "`\|" gdb "\|'" エントリ \&; .I Using GDB: A Guide to the GNU Source-Level Debugger\c , Richard M. Stallman and Roland H. Pesch, July 1991. .SH COPYING Copyright (c) 1991 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/m4.1 b/ja_JP.eucJP/man/man1/m4.1 index 3fd7cfb134..2c29c1d5fc 100644 --- a/ja_JP.eucJP/man/man1/m4.1 +++ b/ja_JP.eucJP/man/man1/m4.1 @@ -1,433 +1,433 @@ .\" @(#) $OpenBSD: m4.1,v 1.24 2002/04/18 18:57:23 espie Exp % .\" %FreeBSD: src/usr.bin/m4/m4.1,v 1.24 2003/12/10 10:52:48 maxim Exp % .\" .\" $FreeBSD$ .\" .Dd April 17, 2002 .Dt M4 1 .Os .Sh 名称 .Nm m4 .Nd マクロ言語プロセッサ .Sh 書式 .Nm .Op Fl d Ar flags .Op Fl t Ar name .Op Fl gs .Op Fl D Ar name Ns Op = Ns Ar value .Op Fl U Ar name .Op Fl I Ar dirname .Op Ar .Sh 解説 .Nm ユーティリティは、さまざまな言語 (たとえば C, ratfor, fortran, lex, yacc など) のフロントエンドとして 利用できるマクロプロセッサです。 .Nm ユーティリティは、標準入力から読み込みます。 また、処理結果のテキストを標準出力へ書き出します。 .Pp マクロの呼び出しは .Ic name Ns Pq Ar argument1 Ns Op , Ar argument2 , ... , argumentN の 形式を取っています。 .Pp マクロ名とそれに続く開き括弧 .Pq Ql \&( との間にはスペースがあってはいけません。 もしマクロ名の直後に開き括弧が続いていなければ引数なしのマクロ呼び出しとして 処理されます。 .Pp マクロ名として先頭はアルファベットまたはアンダスコアが、2 文字目以降は 英数字またはアンダスコアが使えます。 よって正しいマクロ名にマッチする正規表現は .Dq Li [a-zA-Z_][a-zA-Z0-9_]* となります。 .Pp マクロの引数のうちで、先頭のクォートされていない空白、タブ、 改行文字 .Pq Ql \en は無視されます。 文字列をクォートするためには、左、および右シングルクォートを使用して ください (例: .Sq "\ this is a string with a leading space" ) 。 組み込みマクロ .Ic changequote を使ってクォート文字を変更することができます。 .Pp 大抵の組み込みマクロは、引数がないと意味をなしませんので、 開き括弧が後に続かない場合、特別のものとして認識されません。 .Pp オプションは以下の通りです: .Bl -tag -width indent .It Fl s .Xr cpp 1 用に、 .Ic #line ディレクティブを出力します。 .It Fl D Ar name Ns Op = Ns Ar value シンボル .Ar name の値を value (無指定時は .Dv NULL ) と定義します。 .It Fl U Ar name シンボル .Ar name を未定義にします。 .It Fl I Ar dirname include パスに ディレクトリ .Ar dirname を追加します。 .It Fl d Ar flags トレースフラグをセットします。 .Ar flags 引数は、以下の通りです: .Pp .Bl -tag -width indent -compact .It Cm a マクロの引数を表示します。 .It Cm c マクロの展開を複数行で表示します。 .It Cm e マクロの展開結果を表示します。 .It Cm f ファイル名の場所を表示します。 .It Cm l 行数を表示します。 .It Cm q 引数と現在のクォートの結果を引用します。 .It Cm t すべてのマクロをトレースします。 .It Cm x マクロを展開する時に番号を付けます。 .It Cm V すべてのオプションフラグをオンにします。 .El .Pp デフォルトでは、トレースは .Cm eq にセットしています。 .It Fl t Ar macro .Ar macro をトレーシングします。 .It Fl g GNU-m4 互換モードを有効にします。 このモードでは .Ic changequote に 2 つの空のパラメータをつけることで クォートの使用をやめられます。 .Ic translit は、 単一の文字範囲 (例えば .Li a-z ) を扱い、 正規表現で .Xr emacs 1 のように動作します。 変換の数は無制限です。 .El .Sh 文法 .Nm ユーティリティには以下に示す組み込みマクロが実装されています。 これらのマクロは再定義可能であり、その場合には元の定義は失われます。 特に記述のない限り戻り値は NULL です。 .\" 原文 NULL -> null .Bl -tag -width ".Ic changequote" .It Ic builtin 指定した組み込みマクロを呼び出します。 名前が再定義されていたとしても名前の持つ本来の機能を呼び出します。 .It Ic changecom コメントの開始文字列と終了文字列を変更します。 デフォルトでは、ポンド記号 .Pq Ql # と改行文字です。 引数を指定しなかった場合はコメントシーケンスがリセットされます。 GNU モードの .Nm では、コメントはオフです。 設定できる文字列の長さは最大で 5 文字です。 .It Ic changequote 第 1、第 2 引数をクォートシンボルとして定義します。 シンボルは、長さ 5 文字以内にしてください。 引数が与えられなかった場合にはデフォルトの左右シングルクォートに 設定されます。 .It Ic decr 引数の値を 1 だけ減少させます。 引数は正しく数値を表現する文字列でなければなりません。 .It Ic define 第 1 引数で指定した名前の新しいマクロを定義します。 定義内容は第 2 引数で与えます。 定義中での .Sq Li $ Ns Ar n ( .Ar n は 0 から 9 まで) は それぞれそのマクロに与えられる 第 .Ar n 引数に置換されます。 .Ql $0 はマクロ名そのものです。 指定されなかった引数は NULL 文字列に置換されます。 .\" 原文 NULL -> null また .Ql $# は引数の数を表し、 .Ql $* はコンマで区切られた全引数になります。 .Ql $@ は .Ql $* と同様ですが、更なる置換が行われないように全部の引数が クォートされます。 .It Ic defn 各引数で指定されたマクロの定義内容をクォートして返します。 これはマクロ定義の名称変更 (組み込みマクロであっても) に利用できます。 .It Ic divert .Nm には 10 本の出力キューが用意されています (0 から 9 までの番号がついています)。 処理の最後に、全てのキューは番号順に連結されて最終的な出力を 生成するようになっています。 初期状態では出力キューは 0 番に設定されています。 .Ic divert マクロを使って新しい出力キューを選ぶことが出来ます ( .Ic divert に不正な引数を与えると出力が破棄されてしまいます)。 .It Ic divnum 現在の出力キューの番号を返します。 .It Ic dnl 改行文字を含めた行末までの入力文字を破棄します。 .It Ic dumpdef 引数で指定した項目に関して、その名前と定義を出力します。 引数が与えられなかった場合は全てのマクロについて出力します。 .It Ic errprint 第 1 引数を標準エラー出力ストリームへ出力します。 .It Ic esyscmd その最初の引数をシェルへ渡し、シェルの標準出力を返します。 シェルはその標準入力および標準エラー出力を .Nm と共有することに注意してください。 .It Ic eval 第 1 引数を計算式とみなして 32-bit 幅の算術演算を用いて計算します。 演算子としては標準の C で用いられるもの、すなわち 3 項、 算術、論理、シフト、関係、ビットの各演算子、および括弧が 利用可能です。 また数値も C と同様に 8 進、10 進、16 進で記述できます。 第 2 引数で (もしあれば) 演算結果の基数を指定でき、 第 3 引数で (もしあれば) 演算結果の最小桁数を指定できます。 .It Ic expr .Ic eval の別名です。 .It Ic ifdef 第 1 引数で指定した名前のマクロが定義されていれば第 2 引数を返し、 定義されていなければ第 3 引数を返します。 第 3 引数が省略されていた場合は、その値は .Dv NULL になります。 ちなみに .Ic unix という単語があらかじめ定義されています。 .It Ic ifelse 第 1 引数が第 2 引数とマッチしたら第 3 引数を返します。 .Ic マッチしなかった場合 (ifelse)、 その 3 個の引数は捨てられて次の 3 引数を 用いて同様の検査を繰り返します。 この処理は引数がなくなるか あるいは 1 つだけ残るまで繰り返され、 どれにもマッチしなかった場合には その最後に残った引数または .Dv NULL (引数がなくなった場合) が返されます。 .It Ic include 第 1 引数で指定されたファイルの内容を返します。 指定通りの名前のファイルが見つからなかった場合は、 include パスを探します。 最初にまず コマンドラインで .Fl I 指定されたディレクトリを順に、 次に 環境変数 .Ev M4PATH に設定されたコロン区切りのディレクトリリストを順に探します。 ファイルを include できない場合は、 エラーメッセージを表示して異常終了します。 .It Ic incr 引数を 1 だけ増加させます。 引数は正しく数値を表現する文字列でなければいけません。 .It Ic index 第 2 引数が、第 1 引数の中で、何文字目に出現するかを返します (たとえば .Fn index "the quick brown fox jumped" fox では 16 が返ります)。 第 2 引数が第 1 引数の中に含まれていなかった場合には .Ic index は -1 を返します。 .It Ic indir 第 1 引数として渡される項目のマクロを間接的に呼びます。 それ以降は、第 1 引数のマクロに対する引数です。 .It Ic len 第 1 引数の文字数を返します。余分な引数は無視されます。 .It Ic m4exit 第 1 引数 (指定されなかった場合は 0) を終了コードとして即座に終了します。 .It Ic m4wrap 入力が最後の .Dv EOF に達したときに、どのような動作を行うかを設定します。 一般には種々の後始末を行うマクロを設定します (たとえば、 .Fn m4wrap cleanup(tempfile) ) とすると他の全ての処理が終了した 後に .Ic cleanup マクロが呼び出されます)。 .It Ic maketemp 第 1 引数の中の文字列 .Dq Li XXXXX を現在のプロセス ID に置換します。 その他の部分はそのままです。 これはユニークなテンポラリファイル名の生成に利用できます。 .It Ic paste 第 1 引数で指定されたファイルの内容をマクロ処理を一切行わずに include します。 もしファイルが読み込めない場合にはエラーメッセージを出力して処理を 中断します。 .It Ic patsubst 文字列のうち、正規表現にマッチする部分が置換文字列で置き換えられます。 通常は次の代入規則が適用されます: アンパサンド .Pq Ql & は、正規表現にマッチした文字列で置き換えられます。 文字列 .Sq \e Ns Ar # .Ns ( Ar # は数値) は、一致する後方参照と置き換えられます。 .It Ic popdef 各引数へ .Ic pushdef されている定義を戻します。 .It Ic pushdef .Ic define と同様の引数をとってマクロを定義しますが元の定義をスタックへ 保存しておきます。 保存された定義は後で .Ic popdef で戻すことができます。 .It Ic regexp 正規表現に基づき、文字を見つけます。 第 2 引数までの場合は 最初にマッチする文字位置を、 マッチする文字がない場合は -1 を返します。 第 3 引数がある場合、 その中に含まれるパターンを置き換えた文字列を返します。 .It Ic shift 第 1 引数を除いた全ての引数を返します。 残りの引数はクォートされてコンマで区切られます。 クォートすることによって以降の処理で置換が行われないようにしています。 .It Ic sinclude エラーが起きても無視される点を除いて .Ic include と同じです。 .It Ic spaste エラーが起きても無視される点を除いて .Ic paste と同じです。 .It Ic substr 第 1 引数の文字列のうちの、第 2 引数で指定されるオフセットから始まり 第 3 引数で指定される文字数の範囲の部分文字列を返します。 第 3 引数が省略された場合は残りの文字列全てを返します。 .It Ic syscmd 第 1 引数をシェルに渡します。戻り値はありません。 .It Ic sysval 最後に実行した .Ic syscmd の戻り値を返します。 .It Ic traceon 引数がある場合はそのマクロの展開をトレースをオンにします。 引数がない場合はすべてのマクロをトレースをオンにします。 .It Ic traceoff 引数がある場合はそのマクロの展開をトレースをオフにします。 引数がない場合はすべてのマクロをトレースをオフにします。 .It Ic translit 第 1 引数の中の文字を、第 2 引数で指定された文字集合から第 3 引数で 指定された文字集合へ書き直します。ただし .Xr tr 1 式の省略指定を用いることはできません。 .It Ic undefine 引数で指定されたマクロを未定義にします。 .It Ic undivert 指定された出力キュー (引数がない場合は全てのキュー) の内容を掃き出します。 .It Ic unix OS プラットフォームを調べるために予め定義されているマクロです。 .It Ic __line__ 現在のファイルの行番号を返します。 .It Ic __file__ 現在のファイル名を返します。 .El .Sh 診断 .Ex -std .Pp 入力ファイルから終了状態を変更するために、 .Ic m4exit マクロを使用することができます。 .Sh 互換性 .Nm ユーティリティは、GNU-m4 から加えられた少々の拡張に加えて、 .St -susv2 に追従しています。 フラグ .Fl I , d , t は非標準です。 .Pp トレースと .Ic dumpdef の出力フォーマットは、 どの標準でも規定されていませんので 変更される可能性があります。 これらに依存するべきではありません。 現在のトレース出力フォーマットは、 .Nm autoconf が機能できるよう GNU-m4 に基づいて厳密に作成されています。 .Pp 移植性のためには、 .Ic builtin , .Ic esyscmd , .Ic expr , .Ic indir , .Ic paste , .Ic patsubst , .Ic regexp , .Ic spaste , .Ic unix , .Ic __line__ , および .Ic __file__ のマクロは、使用しないほうがよいです。 .Pp 他の多くの .Nm の実装では、 すべての組み込みマクロは引数なしでも展開されます。 .Pp 他の多くの .Nm の実装は、 バッファサイズに関して、きびしい制限があります。 .Sh 規格 .Nm -ユーティリィティは +ユーティリティは .St -p1003.1-2001 に適合します。 .Sh 歴史 .Nm コマンドは、PWB UNIX から登場しました。 .Sh 作者 .An -nosplit .An Ozan Yigit Aq oz@sis.yorku.ca および .An Richard A. O'Keefe Aq ok@goanna.cs.rmit.OZ.AU . .br .An Marc Espie Aq espie@cvs.openbsd.org による GNU-m4 互換性拡張 diff --git a/ja_JP.eucJP/man/man1/vi.1 b/ja_JP.eucJP/man/man1/vi.1 index 88aa24458f..f662aa8014 100644 --- a/ja_JP.eucJP/man/man1/vi.1 +++ b/ja_JP.eucJP/man/man1/vi.1 @@ -1,1586 +1,1586 @@ .\" Copyright (c) 1994 .\" The Regents of the University of California. All rights reserved. .\" Copyright (c) 1994, 1995, 1996 .\" Keith Bostic. All rights reserved. .\" .\" This document may not be republished without written permission from .\" Keith Bostic. .\" .\" See the LICENSE file for redistribution information. .\" .\" @(#)vi.1 8.51 (Berkeley) 10/10/96 .\" %FreeBSD: src/contrib/nvi/docs/USD.doc/vi.man/vi.1,v 1.5 2001/01/03 18:32:10 ben Exp % .\" .\" $FreeBSD$ .\" .TH VI 1 "October 10, 1996" .UC .SH 名称 ex, vi, view \- テキストエディタ .SH 書式 .B ex [\c .B -eFGRrSsv\c ] [\c .BI -c " cmd"\c ] [\c .BI -t " tag"\c ] [\c .BI -w " size"\c ] [file ...] .br .B vi [\c .B -eFGlRrSv\c ] [\c .BI -c " cmd"\c ] [\c .BI -t " tag"\c ] [\c .BI -w " size"\c ] [file ...] .br .B view [\c .B -eFGRrSv\c ] [\c .BI -c " cmd"\c ] [\c .BI -t " tag"\c ] [\c .BI -w " size"\c ] [file ...] .SH ライセンス vi プログラムは自由に再配布できます。ライセンスファイルに挙げた条件の 下で、コピー、改変、他者との共有は自由にして下さい。どこかの会社 (個人ではありません!) で vi が購入を希望するほど十分有用であると認めた場合、 または会社で再配布を希望する場合、作者へ寄付をいただければ幸いです。 .SH 解説 .I \&vi はスクリーン指向のテキストエディタです。 .I \&ex は行指向のエディタです。 .I \&ex と .I \&vi は同じプログラムで別のインタフェースを提供し、 エディット中に切り替えることが可能です。 .I view は .IR \&vi に .B \-R (読み込み専用) オプション をつけて実行した場合と同じです。 .PP このマニュアルは .I ex/vi テキストエディタから派生した .I nex/nvi 用として提供されています。 .I nex/nvi は Fourth Berkeley Software Distribution (4BSD) オリジナルの .I \&ex と .I \&vi のバグひとつひとつの互換性も含めて置き換えたつもりです。 このマニュアルでは、以後、伝統的な .IR ex/vi の実装と区別する必要がある時だけ、 .I nex/nvi という表現を使います。 .PP このマニュアルページは、 .IR ex/vi を既に良く知っているユーザのためのものです。それ以外の人は、このマニュアルを 読む前に良いチュートリアルをしっかりと読んでおくべきです。あなたが不慣れな 環境のもとで、否応無く、しかも直ちに仕事を片付けなければならないなら、 オプションの一覧の後にある、``ファーストスタートアップ'' という タイトルのセクションを読んで下さい。 あなたがその仕事をこなすには、おそらくこれで十分でしょう。 .PP 以下のオプションが利用できます: .TP .B \-c エディットセッションがスタートした後ですぐに .B cmd を実行します。特にファイル中の最初の位置を決定するのに非常に役立ちますが、 .B cmd -はポジジョニングコマンドに限定されません。これは、伝統的な ``+cmd'' +はポジショニングコマンドに限定されません。これは、伝統的な ``+cmd'' 構文に代わる、POSIX 1003.2 で規定されたインタフェースです。 .I nex/nvi は新旧どちらの構文もサポートしています。 .TP .B \-e コマンド名が .IR \&ex であるかのように、ex モードで編集を開始します。 .TP .B \-F 編集を開始する時にファイル全体のコピーを作成しません (デフォルトでは、あなたの編集作業中に他の誰かがファイルを変更 する場合に備えてコピーを作成します)。 .TP .B \-l lisp オプションと showmatch オプションをセットして編集を始めます。 .TP .B \-G gtagsmode オプションがセットされている時と同じように、 gtags モードで編集を開始します。 .TP .B \-R コマンド名が .IR view , であるかのように、もしくは .B readonly オプション付きで起動されたかのように、 読み込み専用モードで編集を開始します。 .TP .B \-r 指定したファイルの復旧を行ないます。もしファイルが指定されなかった場合は、 復旧可能なファイルの一覧を表示します。もし、復旧可能なファイルの中に 指定した名前のものがなかった場合は、 .B \-r オプションが指定されなかったかのように、そのファイルの編集を行ないます。 .TP .B \-S 外部プログラムへのすべてのアクセスを許さない .B secure エディットオプションをセットして起動します。 .TP .B \-s バッチモードに入ります。バッチモードは .I \&ex エディットセッションの時しか使えません。バッチモードは .I \&ex スクリプトを実行する時に便利です。このモードでは、プロンプトや、 情報を伝えるメッセージや、その他のユーザ向けのメッセージは出力されず、 スタートアップファイルや環境変数は読み込まれません。これは、伝統的な ``\-'' 引数に代わる、POSIX 1003.2 で規定されたインタフェースです。 .I \&nex/nvi は新旧どちらの構文もサポートしています。 .TP .B \-t 指定したタグの位置でエディットを開始します。 ( .IR ctags (1) 参照) .TP .B \-w 起動時のウィンドウの大きさを指定した行数にします。 .TP .B \-v コマンド名が .I \&vi か .IR view であるかのように、 vi モードでエディットを開始します。 .PP .I ex/vi へのコマンド入力は、標準入力から行なわれます。 .I \&vi のインタフェースは、標準入力が端末でない場合にはエラーになります。 .I \&ex のインタフェースでは、 .I \&ex は、標準入力が端末でなくても、 ちょうど .B \-s オプションが指定されている場合のようにセッションがバッチモード であっても、とにかく読み込みます。 .PP .I ex/vi は成功時に 0 を、エラーが起こった時には 0 より大きな値を返します。 .SH ファーストスタートアップ このセクションは、 .IR \&vi を使って簡単な編集作業を行なうのに必要な最低限のことを教えてくれるでしょう。 あなたが以前に一度もスクリーンエディタを使ったことがないなら、この簡単な紹介 の章でさえも問題になるかも知れません。この場合は、すでに .I \&vi を知っている人を探して、その人と一緒にこのセクションを読むべきです。 .PP .I \&vi はスクリーンエディタです。つまり、 .I \&vi は常に画面全体を使い、ファイルの一部分を画面上の (最終行以外の) それぞれの行に表示します。 画面の最終行は、あなたが .IR \&vi にコマンドを与えたり、 .I \&vi があなたに情報を与えたりするのに使われます。 .PP もうひとつ知っておくべきこととして、 .I \&vi はモードを持ったエディタであることがあります。 つまり、テキストを入力したり、コマンドを実行したりするには、 それぞれの作業を正しいモードで実行しなければなりません。 ファイル編集の最初はコマンドモードになっています。入力モードにする コマンドが幾つかあります。入力モードから抜けるキーはただひとつ、 それは キーです。 (キーの名前は、<,> ではさんで書くことにします。 例えば、 は ``エスケープ'' キーのことを示し、 通常キーボードでは、``esc'' と表示してあります。) どのモードにいるのかが判らなくなったならば、 .I \&vi が、ビープ音を出すまで、 キーを押し続けて下さい。 (一般的に、 .I \&vi は、許されていないことを何か試みたり、行なったりするとビープ音を鳴らします。 エラーメッセージも表示します。) .PP ファイルの編集を始めるには、``vi file_name'' という具合に、コマンドを入れます。 編集を始めると、まず直ちに、 ``:set verbose showmode'' とコマンドを入れましょう。 そうすることによって、エディタは、 画面の最終行に詳細なエラーメッセージを出すようになりますし、 現在のモードも表示するようになります。 .PP ファイル内を移動するコマンド : .TP .B h カーソルを 1 文字左へ動かす。 .TP .B j カーソルを 1 行下へ動かす。 .TP .B k カーソルを 1 行上へ動かす。 .TP .B l カーソルを 1 文字右へ動かす。 .TP .B カーソルを矢印が示す方へ動かす。 .TP .B /text ファイル中の ``text'' を検索し、その最初の文字へカーソルを移動します。 .PP 新しく文書入力するコマンド : .TP .B a 入力した文書カーソルの .I 後ろへ 追加します。 .TP .B i 入力した文書カーソルの .I 前に 挿入します。 .TP .B o カーソルの下に新しい行を設けて、文書の入力を開始します。 .TP .B O カーソルの上に行を設けて、文書の入力を開始します。 .TP .B 一旦、 .BR \&a , .BR \&i , .BR \&O ないし .B \&o などのコマンドで入力モードに入ってからは、 文書の入力を終了しコマンドモードへ戻るためには、 .B コマンドを用います。 .PP 文書をコピーするコマンド : .TP .B yy カーソルのある行をコピーします。 .TP .B p カーソルのある行の下にコピーした行を追加します。 .PP 文書を削除するコマンド : .TP .B dd カーソルのある行を削除します。 .TP .B x カーソルのある文字を削除します。 .PP ファイルに書き込むコマンド : .TP .B :w もともと .I \&vi のコマンドラインで指定したファイルに、ファイルの内容を書き戻します。 .TP .B ":w file_name" 指定された ``file_name'' に、ファイルの内容を書き出します。 .PP 編集を終了し、エディタを抜けるコマンド : .TP .B :q エディットを終了し、 vi から抜けます。 (ファイル内容が変更されていてまだ保存されていなければ、 .I \&vi は、終了指示を拒否します) .TP .B :q! 変更した内容を放棄し、終了します。 .PP 最後に注意していただきたいこととして、 通常の文字ではない文字は、画面上で複数カラムを占めることがあります。また、 長い行は、画面上の 1 行に収まらないこともあります。 上記のコマンドは、``物理的な'' 行や文字に対して作用します。 つまり、行関係のコマンドはその行が画面上で 何行になろうと行全体に影響を及ぼしますし、文字関係のコマンドはその文字が 画面上で何カラムを占めていても、その文字全体に影響を及ぼします。 .SH VI コマンド 以下の章では、 .I \&vi のコマンドモードで現れるコマンドについて説明します。 それぞれの記述では、見出し行にコマンドの使用書式を一覧表示します。 .PP .TP .B "[count] " .I count で指定した回数だけ、前方へ現在の単語を検索します。 .TP .B "[count] " .I count で指定した回数だけ、画面を後方へ戻します。 .TP .B "[count] " .I count で指定した行数だけ、画面を前方へスクロールします。 .TP .B "[count] " .I count で指定した行数だけ、画面を前方へスクロールします。 カーソルは現在行から離れますが、可能な場合は元のカラムに留まります。 .TP .B "[count] " .I count で指定した回数だけ、画面を前方へスクロールします。 .TP .B "" ファイル情報を表示します。 .TP .B "" .TP .B "[count] h" .I count で指定した文字数だけ、カーソルを現在行中で戻します。 .TP .B "[count] " .TP .B "[count] " .TP .B "[count] j" .I count で指定した行数だけ、カラム位置を変えずにカーソルを 下へ移動します。 .TP .B "" .TP .B "" 画面を再表示します。 .TP .B "[count] " .TP .B "[count] +" .I count で指定した行数だけ下の行の、 最初の空白以外の文字の位置へカーソルを 移動します。 .TP .B "[count] " .TP .B "[count] k" .I count で指定した行数だけ、 カラム位置を変えずにカーソルを上へ移動します。 .TP .B "" 最近のタグの状態へと戻ります。 .TP .B "" .I count で指定した行数だけ、画面を後方へスクロールします。 .TP .B "" 編集中の次の下位のスクリーンに切り替わります。 編集中の下位のスクリーンが他に無い場合には、最初のスクリーンへ切り替えます。 .TP .B "" .I count で指定した行数だけ、画面を後方にスクロールします。 できるかぎり現在の行、カラムにカーソルを残します。 .TP .B "" 現在の処理を中断 (suspend) します。 .TP .B "" .I \&ex コマンドを実行します。もしくは、実行中のコマンドを部分的にキャンセルします。 .TP .B "" タグ参照の内容をタグスタックへプッシュします。 gtagsmode では、行の最初のカラムにいる時は関数の参照位置を探し、 そうでない時は関数の定義位置を探します。 .TP .B "" 最後に編集したファイルへ切り替えます。 .TP .B "[count] " .TP .B "[count] l" .I count で指定した文字数だけ、カーソルを前方へ行を変えずに移動します。 .TP .B "[count] ! motion shell-argument(s)" シェルコマンドの結果を用いて文書を置き換えます。 .TP .B "[count] # #|+|-" カーソルが指す場所の数を増減します。 .TP .B "[count] $" カーソルを現在の行の末尾に移動します。 .TP .B "%" 対となる文字へカーソルを移動します。 .TP .B "&" 現在行で、前回実行した置換コマンドを再び実行します。 .TP .B "'" .TP .B "`" マークした文字 の場所へ戻ります。 .IR . .TP .B "[count] (" .I count で指定された数だけ、前の文へ戻ります。 .TP .B "[count] )" .I count で指定された数だけ、後ろの文へ移動します。 .TP .B "[count] ," .I count で指定された回数だけ、逆方向へ文字を検索します。 .TP .B "[count] -" .I count で指定された回数だけ、 直前の行で最初に現れる空白でない文字への移動を行ないます。 .TP .B "[count] ." 直前の .I \&vi 編集コマンドを繰り返します。 .TP .B "/RE" .TP .B "/RE/ [offset]" .TP .B "?RE" .TP .B "?RE? [offset]" .TP .B "N" .TP .B "n" 前方/後方に向かって、正規表現による検索を行ないます。 .TP .B "0" 現在行の最初の文字に移動します。 .TP .B ":" ex コマンドを実行します。 .TP .B "[count] ;" 文字検索を .I count で指定された回数だけ繰り返します。 .TP .B "[count] < motion" .TP .B "[count] > motion" 現在行を、左/右にシフトします。 .TP .B "@ buffer" バッファに保存されたコマンドを実行します。 .TP .B "[count] A" 入力モードに入り、文書を行の最後に追加します。 .TP .B "[count] B" .I count で指定された回数だけ、大単語 (bigword) の先頭文字への移動を繰り返します。 .TP .B "[buffer] [count] C" 現在位置から行末までを変更します。 .TP .B "[buffer] D" 現在位置から行末まで削除します。 .TP .B "[count] E" .I count で指定された回数だけ、大単語の末尾の文字への移動を繰り返します。 .TP .B "[count] F " .I count で指定された回数だけ、行の先頭から逆方向に文字 .IR を検索/移動を繰り返します。 .TP .B "[count] G" ファイルの最初から数えて .IR count 行目へ、もしくは .I count を指定しなかったときはファイルの末尾の行へ、カーソルを移動します。 .TP .B "[count] H" 画面の最初から数えて .I "count - 1" 行目に移動します。 .TP .B "[count] I" 入力モードに入り、行の先頭へ文書を挿入します。 .TP .B "[count] J" 現在行と次の行を結合します。 .TP .B "[count] L" 画面の下から数えて .I "count - 1" 行目に移動します。 .TP .B " M" 画面中央の行へ移動します。 .TP .B "[count] O" 入力モードに入ります。現在行の直前に新しい行を作り、文書を追加します。 .TP .B "[buffer] P" バッファに保存した文書を挿入します。 .TP .B "Q" .I \&vi (もしくは visual) モードを終了し、 .I \&ex モードへ切り替わります。 .TP .B "[count] R" 入力モードに入り、現在行の内容を置き換えます。 .TP .B "[buffer] [count] S" .I count で指定した行数だけ、行を置き換えます。 .TP .B "[count] T " .I count で指定した回数だけ、現在行で逆方向に検索し、指定された文字 .IR の .I 後ろ の文字に移動します。 .TP .B "U" 現在行を、カーソルが最後に入ってきた時の直前の状況に復元します。 .TP .B "[count] W" .I count で指定した回数だけ、大単語単位で移動します。 .TP .B "[buffer] [count] X" .I count で指定した回数だけ、カーソルの前の文字を削除します。 .TP .B "[buffer] [count] Y" 行のコピー、(もしくは ``ヤンク'') を .I count で指定した行数だけ、指定したバッファに取り込みます。 .TP .B "ZZ" ファイルに書き込み、 .IR \&vi を終了します。 .TP .B "[count] [[" .I count で指定した回数だけ、後方のセクションの先頭へ移動します。 .TP .B "[count] ]]" .I count で指定した回数だけ、前方のセクションの末尾へ移動します。 .TP .B "\&^" 現在行の空白でない最初の文字へ移動します。 .TP .B "[count] _" .I "count - 1" で指定した行数だけ、下の行の最初の空白でない文字へ移動します。 .TP .B "[count] a" 入力モードに入り、カーソルの後ろに文書を追加します。 .TP .B "[count] b" .I count で指定した回数だけ、後方へ単語単位で移動します。 .TP .B "[buffer] [count] c motion" 範囲指定した文書を変更します。 .TP .B "[buffer] [count] d motion" 範囲指定した文書を削除します。 .TP .B "[count] e" .I count で指定した数だけ前方の単語の終りに移動します。 .TP .B "[count] f" 現在行の中で、行末まで .I count で指定した回数だけ、 .IR を検索します。 .TP .B "[count] i" 入力モードに入り、カーソルの前に文書を挿入します。 .TP .B "m " 現在の状態 (行とカラム) を .IR へ、保存します。 .TP .B "[count] o" 入力モードに入ります。現在行の下に新しい行を作り、文章を追加します。 .TP .B "[buffer] p" バッファから文章を取り出し、追加します。 .TP .B "[count] r " .I count で指定した文字数だけ、文字を置換します。 .TP .B "[buffer] [count] s" 現在行の中で、カーソルのある文字から .I count で指定する回数だけ、文字を入れ換えます。 .TP .B "[count] t " 現在行の中で、前方へ .I count で指定する回数だけ、 .IR を検索し、その文字の .I 直前 へ移動します。 .TP .B "u" ファイルに最後に行なった変更を取り消します。 .TP .B "[count] w" .I count で指定した回数だけ、前方へ単語単位で移動します。 .TP .B "[buffer] [count] x" .I count で指定した回数だけ、文字を削除します。 .TP .B "[buffer] [count] y motion" .I count と motion で指定された範囲をバッファへコピー (もしくは ``yank'') します。 .TP .B "[count1] z [count2] -|.|+|^|" 画面を再表示します。あわせてカーソル位置や画面のサイズを変更することも できます。 .TP .B "[count] {" .I count で指定した回数だけ、後方へ段落単位で移動します。 .TP .B "[count] |" 現在行の中で .I count で指定した .I column 位置に移動します。 .TP .B "[count] }" .I count で指定した回数だけ、前方へ段落単位で移動します。 .TP .B "[count] ~" .I count で指定した回数だけ、文字 (列) の大文字、小文字を入れ換えます。 .TP .B "[count] ~ motion" .I count と .IR motion で指定された範囲の文字列の大文字小文字を入れ換えます。 .TP .B "" 現在の作業を中断します。 .SH VI の文書入力コマンド 以下のセクションでは、 .I \&vi エディタの文書入力に用するコマンドに関して記します。 .PP .TP .B "" 直前の入力を繰り返します。 .TP .B "" 直前の .B shiftwidth のカラム境界まで消去します。 .TP .B "^" オートインデント文字を全部消し、インデント状態を解除します。 .TP .B "0" オートインデント文字を全部消します。 .TP .B "" カーソルが .B shiftwidth オプションの偶数倍のカラム数の直後に来るまで、適当な数の .I と .I 文字を挿入します。 .TP .B " .TP .B "" 最後に入力した文字を消します。 .TP .B "" 次の文字を引用します。 .TP .B " 文書を全部ファイルに格納し、コマンドモードへ戻ります。 .TP .B "" 現在行を消します。 .TP .B "" .TP .B "" 最後に入力した単語を消します。 単語の定義は、 .B altwerase と .B ttywerase のオプションに依存します。 .TP .B "[0-9A-Fa-f]+" 指定した 16 進の値を持つ文字を挿入します。 .TP .B "" 文書入力モードを中断し、コマンドモードへと戻ります。 .SH EX コマンド 以下のセクションでは、 .I \&ex エディタで用いられるコマンドに関して記します。 以下のエントリのうち、見出し行にはコマンドの使用書式を記載してあります。 .PP .TP .B "" 画面をスクロールします。 .TP .B "! argument(s)" .TP .B "[range]! argument(s)" シェルコマンドを実行するか、もしくはシェルコマンドを用いて 指定範囲の行にフィルタをかけます。 .TP .B \&" コメントです。 .TP .B "[range] nu[mber] [count] [flags]" .TP .B "[range] # [count] [flags]" 指定行を、その行番号を前に付けて表示します。 .TP .B "@ buffer" .TP .B "* buffer" バッファの中身を実行します。 .TP .B "[line] a[ppend][!]" 指定行の後に、入力文字を追加します。 .TP .B "[range] c[hange][!] [count]" .I range で指定した範囲を入力文字で置き換えます。 .TP .B "cs[cope] add | find | help | kill | reset" cscope コマンドを実行する。 .TP .B "[range] d[elete] [buffer] [count] [flags]" ファイルから行を削除します。 .TP .B "di[splay] b[uffers] | c[onnections] | s[creens] | t[ags]" バッファ、cscope 接続、画面、タグを表示します。 .TP .B "[Ee][dit][!] [+cmd] [file]" .TP .B "[Ee]x[!] [+cmd] [file]" 別のファイルを編集します。 .TP .B "exu[sage] [command]" 指定した .I \&ex コマンドの使い方を表示します。 .TP .B "f[ile] [file]" ファイル名を表示し、指定があればファイル名を変更します。 .TP .B "[Ff]g [name]" .I \&vi モードのみ。 指定した画面をフォアグラウンドに表示します。 .TP .B "[range] g[lobal] /pattern/ [commands]" .TP .B "[range] v /pattern/ [commands]" パターンに合致した (しない) 行にコマンドを適用します。 .TP .B "he[lp]" ヘルプメッセージを表示します。 .TP .B "[line] i[nsert][!]" 入力文書を指定した行の前に挿入されます。 .TP .B "[range] j[oin][!] [count] [flags]" 行を結合します。 .TP .B "[range] l[ist] [count] [flags]" 行を曖昧さがないように表示します。 .TP .B "map[!] [lhs rhs]" マップを定義もしくは表示します。( .I \&vi のみ) .TP .B "[line] ma[rk] " .TP .B "[line] k " 行を .IR としてマークします。 .TP .B "[range] m[ove] line" 指定した行を目標行の後ろに移動します。 .TP .B "mk[exrc][!] file" 略語、エディタのオプション、マップを指定したファイルに書き込みます。 .TP .B "[Nn][ext][!] [file ...]" 引数リストで指定した次のファイルの編集に移行します。 .TP .B "[line] o[pen] /pattern/ [flags]" オープンモードに入ります。 .TP .B "pre[serve]" 後で .I \&ex .B \-r オプションを用いてファイルを復元できる形式にして保存します。 .TP .B "[Pp]rev[ious][!]" 引数リストで指定した 1 つ前のファイルを編集します。 .TP .B "[range] p[rint] [count] [flags]" 指定した行を表示します。 .TP .B "[line] pu[t] [buffer]" バッファの内容を現在行に追加します。 .TP .B "q[uit][!]" 編集を終了します。 .TP .B "[line] r[ead][!] [file]" ファイルを読み込みます。 .TP .B "rec[over] file" 事前に保存されている場合に、 .I file を復元します。 .TP .B "res[ize] [+|-]size" .I \&vi モードのみ。 現在の画面を大きくするか、もしくは小さくします。 .TP .B "rew[ind][!]" 引数リストを巻き戻し、最初の引数のファイルの編集に移行します。 .TP .B "rta[g][!] tagstring" 指定したタグを参照しているファイルを編集します。(gtagsmode でのみ有効) .TP .B "se[t] [option[=[value]] ...] [nooption ...] [option? ...] [all]" エディタのオプションを表示、もしくは設定します。 .TP .B "sh[ell]" シェルプログラムを実行します。 .TP .B "so[urce] file" ファイルから .I \&ex コマンドを読み込み、実行します。 .TP .B "[range] s[ubstitute] [/pattern/replace/] [options] [count] [flags]" .TP .B "[range] & [options] [count] [flags]" .TP .B "[range] ~ [options] [count] [flags]" 置換を行ないます。 .TP .B "su[spend][!]" .TP .B "st[op][!]" .TP .B 編集を一時中断します。 .TP .B "[Tt]a[g][!] tagstring" 指定のタグを含むファイルを編集します。 .TP .B "tagn[ext][!]" 現在のタグの次のタグを含むファイルを編集します。 .TP .B "tagp[op][!] [file | number]" スタックから指定したタグを取り出します。 .TP .B "tagp[rev][!]" 現在のタグの前のタグを含むファイルを編集します。 .TP .B "unm[ap][!] lhs" 指定した文字列のマップ定義を解除します。 .TP .B "ve[rsion]" .I \&ex/vi のバージョンを表示します。 .TP .B "[line] vi[sual] [type] [count] [flags]" .I \&ex モードのみ。 .IR \&vi モードに入ります。 .TP .B "[Vi]i[sual][!] [+cmd] [file]" .I \&vi モードのみ。 新しいファイルを編集します。 .TP .B "viu[sage] [command]" .I \&vi コマンドの使い方を表示します。 .TP .B "[range] w[rite][!] [>>] [file]" .TP .B "[range] w[rite] [!] [file]" .TP .B "[range] wn[!] [>>] [file]" .TP .B "[range] wq[!] [>>] [file]" ファイルに書き出します。 .TP .B "[range] x[it][!] [file]" 修正されていれば、ファイルに書きだします。 .TP .B "[range] ya[nk] [buffer] [count]" 指定行をバッファにコピーします。 .TP .B "[line] z [type] [count] [flags]" ウィンドウのサイズを調節します。 .SH SET オプション set (または unset) することによりエディタの動作を変更することができる オプションが非常にたくさんあります。このセクションでは、 これらのオプションとその短縮形とデフォルト値を説明します。 .PP 以下の各項目では、最初にオプションをフルネームで、 その次に同じ意味を持つ短縮形が続きます。 角括弧の部分は、デフォルト値です。 ほとんどのオプションは on または off のようなブール値で、 関連する値は持ちません。 .PP これらのオプションは、特に断りがない場合は .I \&ex と .I \&vi の両方のモードに適用されます。 .PP .TP .B "altwerase [off]" .I \&vi のみ。 別の単語削除アルゴリズムを選択します。 .TP .B "autoindent, ai [off]" 改行時に自動的にインデントします。 .TP .B "autoprint, ap [off]" .I \&ex のみ。 自動的に現在の行を表示します。 .TP .B "autowrite, aw [off]" 別のファイルに切り替える際に、 ファイルが変更されているなら自動的にセーブします。 .\" I cannot get a double quote to print between the square brackets .\" to save my life. The ONLY way I've been able to get this to work .\" is with the .tr command. .tr Q" .ds ms backup [QQ] .TP .B "\*(ms" .tr QQ ファイルが上書きされる前にバックアップファイルを作成します。 .TP .B "beautify, bf [off]" コントロール・キャラクタを切り捨てます。 .TP .B "cdpath [環境変数 CDPATH、またはカレントディレクトリ]" .B cd コマンドのパス接頭子として使われるディレクトリパスです。 .TP .B "cedit [no default]" コロンコマンドライン履歴を編集する文字をセットします。 .TP .B "columns, co [80]" 画面のカラム数をセットします。 .TP .B "comment [off]" .I \&vi のみ。 シェルスクリプト、C、C++言語ファイル先頭のコメントの読み込みをスキップします。 .TP .B "directory, dir [環境変数 TMPDIR、または /tmp]" テンポラリファイルを作成するディレクトリです。 .TP .B "edcompatible, ed [off]" .B 置換 コマンドの接尾子の ``c'' と ``g'' の値を記憶するようにします。 通常は新しくコマンドを実行するたびに初期化します。 .TP .B "errorbells, eb [off]" .I \&ex のみ。 エラーメッセージをベルとともに知らせます。 .TP .B "exrc, ex [off]" ローカルディレクトリのスタートアップファイルを読み込みます。 .TP .B "extended [off]" 正規表現を .IR egrep (1)\-\c スタイルに拡張します。 .TP .B "filec [no default]" コロンコマンドライン上のファイルパス補完を行なう文字をセットします。 .TP .B "flash [on]" エラー時にビープを鳴らすのではなく、画面をフラッシュします。 .TP .B "gtagsmode, gt [off]" tags の代わりに GTAGS と GRTAGS を使います。 .TP .B "hardtabs, ht [8]" スペースをハードウェアタブ設定に合わせて設定します。 .TP .B "iclower [off]" 検索文字列に大文字が現れなければ、すべての正規表現を大文字小文字の 区別なく行なうようにします。 .TP .B "ignorecase, ic [off]" 正規表現検索で大文字小文字の違いを無視します。 .TP .B "keytime [6]" .I ex/vi は、後に続くキーを先のキーに続けて解釈しキーマッピングを行ないますが、 後に続くキー入力の待ち時間を1/10秒単位で指定します。 .TP .B "leftright [off]" .I \&vi のみ。 左右のスクロールを行ないます。 .TP .B "lines, li [24]" .I \&vi のみ。 画面の行数を設定します。 .TP .B "lisp [off]" .I \&vi のみ。 さまざまなサーチコマンドとオプションの動作を Lisp 言語編集用に 修正します。 .I "このオプションはまだ実装されていません。" .TP .B "list [off]" 行を曖昧でない形式で表示します。 .TP .B "lock [on]" どのファイルの編集、読み込み、書き込みに関しても、排他的ロックをする ように試みます。 .TP .B "magic [on]" ある種の文字を正規表現中で特殊扱いします。 .TP .B "matchtime [7]" .I \&vi のみ。 .B showmatch オプションが設定されている場合、 .I ex/vi は対になる括弧の上で一時停止しますが、その停止時間を 1/10 秒単位で指定します。 .TP .B "mesg [on]" 他のユーザからのメッセージ着信を許可します。 .TP .B "modelines, modeline [off]" それぞれのファイルの最初と最後の数行を .I ex コマンドとして読み込みます。 .I "このオプションが実装されることは決してありません。" .\" I cannot get a double quote to print between the square brackets .\" to save my life. The ONLY way I've been able to get this to work .\" is with the .tr command. .tr Q" .ds ms noprint [QQ] .TP .B "\*(ms" .tr QQ 表示可能な文字として扱われない文字を指定します。 .TP .B "number, nu [off]" 各行先頭に行番号を付けて表示します。 .TP .B "octal [off]" 表示出来ない文字を 8 進数で表示します。デフォルトでは 16 進表示です。 .TP .B "open [on]" .I \&ex のみ。 このオプションが設定されていなければ、 .B open と .B visual コマンドは許されません。 .TP .B "optimize, opt [on]" .I \&vi のみ。 ダム端末へのテキスト出力速度を最適化します。 .I "このオプションはまだ実装されていません。" .TP .B "paragraphs, para [IPLPPPQPP LIpplpipbp]" .I \&vi のみ。 .B \&{ と .B \&} コマンドで使用する段落境界の定義を追加します。 .TP .B "path []" 編集するファイルを探すディレクトリの追加分を定義します。 .\" I cannot get a double quote to print between the square brackets .\" to save my life. The ONLY way I've been able to get this to work .\" is with the .tr command. .tr Q" .ds ms print [QQ] .TP .B "\*(ms" .tr QQ 常に表示可能な文字として扱われる文字を指定します。 .TP .B "prompt [on]" .I \&ex のみ。 コマンドプロンプトを表示します。 .TP .B "readonly, ro [off]" ファイルとそのセッションを読み込み専用とします。 .TP .B "recdir [/var/tmp/vi.recover]" 復元用のファイルを置くディレクトリです。 .TP .B "redraw, re [off]" .I \&vi のみ。 ダム端末上で、インテリジェント端末をシミュレートします。 .I "このオプションはまだ実装されていません。" .TP .B "remap [on]" 解決されるまで、キーマップを解釈します。 .TP .B "report [5]" 変更ないしヤンクについて、エディタが報告する行数を設定します。 .TP .B "ruler [off]" .I \&vi のみ。 最下行に行/カラムを示す罫を表示します。 .TP .B "scroll, scr [window / 2]" スクロールする行数を設定します。 .TP .B "searchincr [off]" .B \&/ と .B \&? コマンドをインクリメンタルにセットします。 .TP .B "sections, sect [NHSHH HUnhsh]" .I \&vi のみ。 .B \&[[ と .B \&]] コマンドで使用するセクション境界の定義を追加します。 .TP .B "secure [off]" 外部プログラムへのすべてのアクセスを止めます。 .TP .B "shell, sh [環境変数 SHELL、または /bin/sh]" エディタ上から使われるシェルを選択します。 .\" I cannot get a double quote to print between the square brackets .\" to save my life. The ONLY way I've been able to get this to work .\" is with the .tr command. .tr Q" .ds ms shellmeta [~{[*?$`'Q\e] .TP .B "\*(ms" .tr QQ ファイル名の拡張が必要なとき、その決定をするメタキャラクタを セットします。 .TP .B "shiftwidth, sw [8]" オートインデント、シフトコマンドで用いる幅を設定します。 .TP .B "showmatch, sm [off]" .I \&vi のみ。 ``{'' と ``('' に対し ``}'' と ``)'' の括弧の対応を表示します。 .TP .B "showmode, smd [off]" .I \&vi のみ。 現在のエディタのモードと ``変更'' フラグを表示します。 .TP .B "sidescroll [16]" .I \&vi のみ。 左右スクロールで動く幅を設定します。 .TP .B "slowopen, slow [off]" 文書を入力中、画面更新を遅らせて表示します。 .I "このオプションはまだ実装されていません。" .TP .B "sourceany [off]" 現在のユーザの所有でないスタートアップファイルを読み込みます。 .I "このオプションが実装されることは決してありません。" .TP .B "tabstop, ts [8]" このオプションは、表示で使用されるタブの幅を設定します。 .TP .B "taglength, tl [0]" タグの名前を判別可能な最大文字数を設定します。 .TP .B "tags, tag [tags /var/db/libc.tags /sys/kern/tags]" タグファイルのリストを設定します。 .TP .B "term, ttytype, tty [環境変数 TERM]" 端末の型を設定します。 .TP .B "terse [off]" このオプションは伝統的にエディタの示すメッセージをより簡潔なものにする ために作られています。 この実装では何の影響も与えません。 .TP .B "tildeop [off]" .B \&~ コマンドが連係動作をするように修正します。 .TP .B "timeout, to [on]" キーをマップする際のタイムアウト。 .TP .B "ttywerase [off]" .I \&vi のみ。 別の削除アルゴリズムを選択します。 .TP .B "verbose [off]" .I \&vi のみ。 エラーが起こる度にエラーメッセージを表示します。 .TP .B "w300 [no default]" .I \&vi のみ。 転送レートが 1200 ボー以下の場合に設定するウィンドウサイズ。 .TP .B "w1200 [no default]" .I \&vi のみ。 転送レートが 1200 ボーの場合に設定するウィンドウサイズ。 .TP .B "w9600 [no default]" .I \&vi のみ。 転送レートが 1200 ボー以上の場合に設定するウィンドウサイズ。 .TP .B "warn [on]" .I \&ex のみ。 このオプションは、 ファイルが最後に書き込まれた後でファイルが修正されている場合、 .B \&! コマンドが実行される前に端末に警告メッセージ を出すようにします。 .TP .B "window, w, wi [環境変数 LINES]" 画面のウィンドウサイズを設定します。 .TP .B "windowname [off]" アイコン名、ウィンドウ名を、たとえエディタ終了時に戻すことができなく なるとしても、現在作業中のファイル名に変えます。 .TP .B "wraplen, wl [0]" .I \&vi のみ。 左マージンから指定したカラム数で、行を自動的に折り返します。 もし、 .B wraplen と .B wrapmargin の両方の編集オプションがセットされると、 .B wrapmargin の値が使われます。 .TP .B "wrapmargin, wm [0]" .I \&vi のみ。 右マージンから指定したカラム数で、行を折り返します。 .B wraplen と .B wrapmargin 編集オプションの両方が指定されると、 .B wrapmargin の値が使われます。 .TP .B "wrapscan, ws [on]" 検索が、ファイルの最後に達したら最初へと戻ります。 .TP .B "writeany, wa [off]" ファイルの上書きチェックを切り替えます。 .SH 環境変数 .TP .I COLUMNS 画面のカラム数。 この値は、システムや端末固有のどの値をも上書きします。 .I ex/vi の起動時に環境変数 .I COLUMNS が設定されていない場合、または .B columns オプションによりユーザが明示的に値をリセットした場合は、 .I ex/vi は環境変数 .I COLUMNS にこの値を設定します。 .TP .I EXINIT .I \&ex のスタートアップコマンドのリスト。 .I NEXINIT が設定されていない場合に読み込まれます。 .TP .I HOME ユーザのホームディレクトリ。 起動時に ``$\fIHOME\fP/.nexrc'' と ``$\fIHOME\fP/.exrc'' を読み込むための初期ディレクトリパスとして使われます。 この値は、 .I \&vi の .B \&cd コマンドのデフォルトディレクトリとしても使われます。 .TP .I LINES 画面の行数。 この値は、システムや端末固有のどの値をも上書きします。 .I ex/vi 起動時に、環境変数 .I LINES が設定されていないか、 .B lines オプションによりユーザが明示的に値をリセットした場合は、 .I ex/vi は環境変数 .I LINES にこの値を設定します。 .TP .I NEXINIT .I \&ex のスタートアップコマンドのリスト。 .TP .I SHELL ユーザが選んだシェル。 ( .B shell オプションを参照) .TP .I TERM ユーザの端末の型。デフォルトの型は ``unknown'' です。 .I ex/vi 起動時に環境変数 .I TERM の値が設定されていないか、または、 .B term オプションによりユーザが明示的に値をリセットした場合は、 .I ex/vi は環境変数 .I TERM にこの値を設定します。 .TP .I TMPDIR テンポラリファイルの作成される場所。 ( .B directory オプションを参照) .SH 非同期イベント .TP SIGALRM .I \&vi/ex は、ファイル編集時の定期的なバックアップを行なうためと、 処理に長い時間がかかりそうな時に画面に ``busy'' のメッセージを 表示するために、このシグナルを使います。 .TP SIGHUP .TP SIGTERM 最後にファイル全体を書き込んだ後、現在のバッファを変更した場合、 後に復旧できるように編集中のファイルを保存しようと試みます。 詳細は、 .I \&vi/ex リファレンスマニュアルの ``Recovery'' のセクションを参照して下さい。 .TP SIGINT この割り込みが発生した場合、現在の操作は停止され、コマンドレベルに戻ります。 テキスト入力中にこの割り込みが発生した場合は、テキスト入力を正常に終了させた かのように、ファイルに入力中のテキストを書き込みます。 .TP SIGWINCH スクリーンのサイズ変更を行ないます。 詳しくは、 .I \&vi/ex リファレンスマニュアルの ``Sizing the Screen'' のセクションを参照して下さい。 .TP SIGCONT .TP SIGQUIT .TP SIGTSTP .I \&vi/ex はこれらのシグナルを無視します。 .SH 関連ファイル .TP /bin/sh デフォルトのユーザシェル。 .TP /etc/vi.exrc システム全体における vi のスタートアップファイル。 .TP /tmp テンポラリファイルのディレクトリ。 .TP /var/tmp/vi.recover デフォルトの復元ファイルのディレクトリ。 .TP $HOME/.nexrc ユーザのホームディレクトリにあるスタートアップファイルで、 1 番最初に読まれるファイル。 .TP $HOME/.exrc ユーザのホームディレクトリにあるスタートアップファイルで、 2 番目に読まれるファイル。 .TP \&.nexrc ローカルディレクトリにあるスタートアップファイルで、 1 番最初に読まれるファイル。 .TP \&.exrc ローカルディレクトリにあるスタートアップファイルで、 2 番目に読まれるファイル。 .SH 関連項目 .IR ctags (1), .IR more (1), .IR curses (3), .IR dbopen (3) .sp ``Vi Quick Reference'' カード。 .sp ``An Introduction to Display Editing with Vi'' のセクション。 4.3BSD と 4.4BSD のマニュアルセットの ``UNIX User's Manual Supplementary Documents'' の中で見つかります。 これは、手に入るものの中で .I \&vi スクリーンエディタの入門書にもっとも近いものです。 .sp ``Ex Reference Manual (Version 3.7)'' のセクション。 4.3BSD と 4.4BSD のマニュアルセットの ``UNIX User's Manual Supplementary Documents'' の中で見つかります。 これは、 .I \&ex エディタのドキュメントで、伝統的な 4BSD と System V で配布された 最終的なリファレンスです。 .sp ``Edit: A tutorial'' セクション。 4.3BSD のマニュアルセットの ``UNIX User's Manual Supplementary Documents'' の中で見つかります。 これは、 .I \&ex スクリーンエディタの単純な版の入門用ドキュメントです。 .sp ``Ex/Vi Reference Manual'' セクション。 4.4BSD のマニュアルセットの ``UNIX User's Manual Supplementary Documents'' の中で見つかります。 これは、 .I \&nex/nvi テキストエディタのために 4.4BSD と 4.4BSD-Lite で配布された 最終的なリファレンスです。 .PP .I nex/nvi ドキュメントの .I roff ソース。 これらは .I nex/nvi のソースコードが置かれているディレクトリの .I nvi/USD.doc ディレクトリの中に一緒に配布されています。 .sp .I nex/nvi のソースコードが置かれている .I nvi/docs/internals ディレクトリの ``autowrite'', ``input'', ``quoting'', ``structures'' といったファイル群。 .SH 歴史 .I ex/vi エディタに代わる .I nex/nvi コマンドは、4.4BSD から登場しました。 .SH 規格 .I \&nex/nvi は、IEEE Std1003.2 (``POSIX'') に近いです。 この文書は、幾つかの点で従来の .I ex/vi の実際の動作とは異なります。 .I \&nex/nvi には、両方の面に則って作られたという違いがあります。 diff --git a/ja_JP.eucJP/man/man4/daic.4 b/ja_JP.eucJP/man/man4/daic.4 index 0e3629df77..7e969f9007 100644 --- a/ja_JP.eucJP/man/man4/daic.4 +++ b/ja_JP.eucJP/man/man4/daic.4 @@ -1,104 +1,104 @@ .\" Copyright (c) 1997 Martin Husemann .\" 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. The name of the author may not be used to endorse or promote products .\" derived from this software withough 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. .\" .\" %Id: daic.4,v 1.1 1998/12/27 21:47:13 phk Exp % .\" $FreeBSD$ .\" .\" last edit-date: [Fri Jan 30 22:49:48 1998] .\" .\" -mh writing manual pages .\" .\" .Dd January 30, 1998 .Dt daic 4 .Sh 名称 .Nm daic .Nd EICON.Diehl active isdn カード用 isdn4bsd ドライバ .Pp .Nm ドライバは古い Diehl active カード: .Em S, SX, SXn, SCOM そして .Em QUADRO をサポートします。 .Sh 書式 .Pp 以下のような設定行を用います .Cd "daic0 at isa? iomem 0xd8000 irq 10" .Pp .Em QUADRO カードについても同じ設定を用います。ドライバはボードの種類を検出して 4 つのポート全てを、ISDN4BSD システムのコントローラとして アタッチします。 アタッチされた各々のポートは、isdnctl ユーティリティを使って表示できます。 .Sh 解説 .Nm ドライバは isdn カードを ISDN4BSD カーネルサブシステムへ インタフェースします。 それ以下のレイヤは全てカードによって扱われます。 このドライバは EICON.Diehl によって作られた、どこの国の isdn プロトコルにおいても、あなたのカードが動作すると 思われますが、ドライバは DSS1 プロトコルにおいてしかテストされておらず、 -カードインタフェースのある部分は isdn プロコトルに依存しています。 +カードインタフェースのある部分は isdn プロトコルに依存しています。 .Pp .Nm ドライバは 1992 年より文書化されている Diehl の .Nm ISDN-Karten Benutzerhandbuch に準拠するよう作られています。 .Sh マイクロコードのダウンロード どの active カードも使用する前にそれぞれのカードに適合した オペレーティングソフトウェアを必要としますので、 ISDN4BSD を使用する前にダウンロードをしてください。 ダウンロードには isdnctl ユーティリティを用います。 例えばコントローラ番号 1 にファイル .Nm te_etsi.sx をダウンロードするには .Nm "isdnctl -d te_etsi.sx 1" とします。 使用可能なコントローラ (とポート) を全て表示するには、 .Nm "isdnctl -l" としてください。 あなたの isdn インタフェースに合った正しい isdn プロトコルファイルを 選択する必要があります。詳細は Diehl の資料を参照してください。 .Pp カードの起動プロセスでは、カード種別や使用するプロトコルに依存しない、 それ以外のファイルも処理します。 現在の Diehl によるソフトウェアの配布では、このファイルは .Nm download.bin と呼ばれており、 .Nm dev/ic/microcode/daic 以下のカーネルコンパイル用ディレクトリにコピーしておく必要があり、 またそのディレクトリで .Nm make を行なって、カーネルをコンパイルする際に必要となる ヘッダファイルに変換しておく必要があります。 この操作を忘れると、カーネルのコンパイルに失敗するので、 忘れたことがわかるでしょう。 著作権による制限のため、このファイルを統合してドライバを配布することは できません。しかしカードを持っていればファイルも持っています (または Diehl のウェブサーバから取得できます)。 .Sh バグ このドライバはまだ完成していません。NetBSD でのみこのドライバを コンパイルすることが可能ですが、そこでさえも動いていません。 この問題は近いうちに修正され、ドライバは FreeBSD に移植されるでしょう。 .Sh 関連項目 .Xr isdnctl 1 diff --git a/ja_JP.eucJP/man/man5/acct.5 b/ja_JP.eucJP/man/man5/acct.5 index 0262889f70..4a9de6d532 100644 --- a/ja_JP.eucJP/man/man5/acct.5 +++ b/ja_JP.eucJP/man/man5/acct.5 @@ -1,116 +1,116 @@ .\" Copyright (c) 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. .\" .\" @(#)acct.5 8.1 (Berkeley) 6/5/93 .\" %FreeBSD: src/share/man/man5/acct.5,v 1.10 2001/10/01 16:09:23 ru Exp % .\" .\" $FreeBSD$ .\" .\" WORD: account アカウント[acct.5] .\" WORD: accounting file アカウンティングファイル[acct.5] .\" WORD: structure 構造体(C言語の)[C] .\" .Dd June 5, 1993 .Dt ACCT 5 .Os .Sh 名称 .Nm acct .Nd 実行アカウントファイル .Sh 書式 .In sys/types.h .In sys/acct.h .Sh 解説 カーネルは、下記の .Fa acct 情報構造を、全プロセスに対して管理します。 プロセスが終了すると、アカウンティングが有効になっている場合には、 カーネルは .Xr acct 2 関数呼び出しを行い、アカウンティングファイルに記録を追加します。 .Bd -literal /* * アカウンティング構造体; これらは、基底値 8 の 3 ビット指数部および * 13 ビット小数部の ``浮動小数点数'' である comp_t 型を使用します。 * 単位は 1/AHZ 秒です。 */ typedef u_short comp_t; #define AC_COMM_LEN 16 struct acct { char ac_comm[AC_COMM_LEN]; /* コマンド名 */ comp_t ac_utime; /* ユーザ時間 */ comp_t ac_stime; /* システム時間 */ comp_t ac_etime; /* 経過時間 */ time_t ac_btime; /* 開始時刻 */ uid_t ac_uid; /* ユーザ ID */ gid_t ac_gid; /* グループ ID */ short ac_mem; /* 平均メモリ使用量 */ comp_t ac_io; /* 入出力ブロック数 */ dev_t ac_tty; /* 制御 tty */ #define AFORK 0x01 /* fork したが exec されていない */ #define ASU 0x02 /* スーパユーザ権限を使用した */ #define ACOMPAT 0x04 /* 互換モードを使用した */ #define ACORE 0x08 /* コアダンプした */ -#define AXSIG 0x10 /* シクナルにより kill された */ +#define AXSIG 0x10 /* シグナルにより kill された */ char ac_flag; /* アカウンティングフラグ */ }; /* * 1/AHZ の粒度で、データは comp_t フィールドにエンコードされます。 * 必ずしも周波数と同一となるとは限りません。 */ #define AHZ 64 .Ed .Pp 終了したプロセスが .Xr execve 2 により生成されたものだった場合、 実行されたファイルのファイル名 (最大 10 文字まで) が .Fa ac_comm フィールドに保存され、その状態は .Fa ac_flag の次のフラグの 1 つ以上を設定することにより保存されます: .Dv AFORK , .Dv ACOMPAT , .Dv ACORE , .Dv ASIG 。 .Dv ASU はもはやサポートされていません。 .Sh 関連項目 .Xr acct 2 , .Xr execve 2 , .Xr sa 8 .Sh 歴史 .Nm ファイルフォーマットは .At v7 から登場しました。 diff --git a/ja_JP.eucJP/man/man5/bootptab.5 b/ja_JP.eucJP/man/man5/bootptab.5 index 4909ba9a9b..0c42ab7918 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.8 2001/08/10 13:45:21 ru Exp % .\" .\" $FreeBSD$ .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 機構を介して他のエントリにデフォルト値を提供します。 ほとんどのタグの後には、上記のように等号と値を続ける必要があります。 value (i.e.\& .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 を行うように、 .Nm 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/utmp.5 b/ja_JP.eucJP/man/man5/utmp.5 index 5ca4cad75e..a2fccbdd11 100644 --- a/ja_JP.eucJP/man/man5/utmp.5 +++ b/ja_JP.eucJP/man/man5/utmp.5 @@ -1,257 +1,257 @@ .\" 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. .\" .\" @(#)utmp.5 8.2 (Berkeley) 3/17/94 .\" %FreeBSD: src/share/man/man5/utmp.5,v 1.21 2003/09/08 19:57:20 ru Exp % .\" .\" $FreeBSD$ .Dd November 14, 2001 .Dt UTMP 5 .Os .Sh 名称 .Nm utmp , .Nm wtmp , .Nm lastlog .Nd ログイン記録 .Sh 書式 .In sys/types.h .In utmp.h .Sh 解説 .In utmp.h ファイルは、 .Nm ファイルでの現在のユーザについての情報や .Nm wtmp ファイル中でのログインやログアウトの情報、 .Nm lastlog ファイル中での最終ログイン情報の記録のために使われる構造体を 宣言しています。 時刻の変更やシャットダウンおよびリブートのタイムスタンプは、同じように .Nm wtmp ファイルに記録されます。 .Bd -literal -offset indent #define _PATH_UTMP "/var/run/utmp" #define _PATH_WTMP "/var/log/wtmp" #define _PATH_LASTLOG "/var/log/lastlog" #define UT_NAMESIZE 16 #define UT_LINESIZE 8 #define UT_HOSTSIZE 16 struct lastlog { int32_t ll_time; /* ユーザが何時ログインしたか */ char ll_line[UT_LINESIZE]; /* 端末線名 */ char ll_host[UT_HOSTSIZE]; /* ユーザの出身ホスト */ }; struct utmp { char ut_line[UT_LINESIZE]; /* 端末線名 */ char ut_name[UT_NAMESIZE]; /* ユーザのログイン名 */ char ut_host[UT_HOSTSIZE]; /* ユーザの出身ホスト */ int32_t ut_time; /* ユーザが何時ログインしたか */ }; .Ed .Pp .Nm lastlog ファイルは、 .Vt lastlog 構造体の線型配列であり、ユーザの .Tn UID でインデックスされています。 .Nm ファイルは、 .Vt utmp 構造体の線型配列であり、端末線番号 ( .Xr ttyslot 3 参照) でインデックスされています。 .Nm wtmp ファイルは、 .Vt utmp 構造体から成るバイナリログファイルであり、 ファイルの終端に追記されていきます。 .Pp デフォルトでは、ユーザがログインするたびに、 .Xr pam_lastlog 8 プログラムは .Nm lastlog ファイル中のユーザの .Tn UID を検索します。 もし見つかった場合、ユーザが最後にログインした時刻のタイムスタンプ、 端末線、ホスト名が標準出力に書き出されます。 .Xr pam_lastlog 8 プログラムは、その後 .Nm lastlog ファイルに新しいログイン時刻を記録します。 .Pp 新しい .Vt lastlog への記録が書き出された後で、 .\" the .\" .Xr libutil 3 .\" routine .Nm ファイルがオープンされ、ユーザに対する .Vt utmp 記録が挿入されます。 この記録は、ユーザがログアウトして削除される時まで保持されます。 .Nm ファイルは、 .Xr rwho 1 , .Xr users 1 , .Xr w 1 , .Xr who 1 プログラムで使われます。 .Pp 次に、 .Xr pam_lastlog 8 プログラムは .Nm wtmp ファイルをオープンし、ユーザの .Vt utmp 記録を追加します。 -その後ユーザが端末線からログアウントすると、特別な +その後ユーザが端末線からログアウトすると、特別な .Vt utmp レコードが記録されます。 すなわち .Va ut_line が適切に設定され、 .Va ut_time が更新されますが、 .Va ut_name と .Va ut_host は空であるものが記録されます ( .Xr init 8 参照)。 .Nm wtmp ファイルは、 .Xr last 1 と .Xr ac 8 プログラムで使われます。 .Pp 時刻変更やシャットダウン・リブートの際には、 以下の項目が .Nm wtmp ファイルに記録されます。 .Pp .Bl -tag -width ".Li shutdown" -compact .It Li reboot .It Li shutdown システムのリブートやシャットダウンが開始された。 .Va ut_line フィールドに .Ql \&~ と言う文字が、 .Va ut_name フィールド中に .Li reboot もしくは .Li shutdown が記録されます ( .Xr shutdown 8 と .Xr reboot 8 参照)。 .Pp .It Li date システム時刻が手動もしくは自動で更新された ( .Xr date 1 参照)。 コマンド名 .Li date がフィールド .Va ut_name に記録されます。 .Fa ut_line フィールド中の .Ql \&| 文字は、変更前の時刻を示し、 .Ql \&{ 文字は新しい時刻を示しています。 .El .Sh 注 .Nm wtmp ファイルは、忙しいシステムでは急速に大きくなりますので、 毎日もしくは毎週ローテションすることを推奨します。 このファイルは、 .Xr newsyslog 8 によって管理されます。 .Pp これらのファイルが存在しない場合、 .Xr pam_lastlog 8 はこれらを作成しません。 これらのファイルは、手動で作成する必要があります。 .Pp .Nm および .Nm wtmp のファイルに対する通常の操作は、提供された .Xr login 3 , .Xr logout 3 , .Xr logwtmp 3 ユーティリティ関数で行い、 これらのファイルの書式が異なるシステム間での互換性を維持すべきです。 .Sh 関連ファイル .Bl -tag -width ".Pa /var/log/lastlog" -compact .It Pa /var/run/utmp .Nm ファイル。 .It Pa /var/log/wtmp .Nm wtmp ファイル。 .It Pa /var/log/lastlog .Nm lastlog ファイル。 .El .Sh 関連項目 .Xr last 1 , .Xr w 1 , .Xr who 1 , .Xr login 3 , .Xr logout 3 , .Xr logwtmp 3 , .Xr ttyslot 3 , .Xr ac 8 , .Xr init 8 , .Xr pam_lastlog 8 .Sh 歴史 .Nm と .Nm wtmp ファイル書式は .At v6 から登場しました。 .Nm lastlog ファイル書式は .Bx 3.0 から登場しました。 diff --git a/ja_JP.eucJP/man/man8/inetd.8 b/ja_JP.eucJP/man/man8/inetd.8 index 009490b29f..6199359dfb 100644 --- a/ja_JP.eucJP/man/man8/inetd.8 +++ b/ja_JP.eucJP/man/man8/inetd.8 @@ -1,878 +1,878 @@ .\" Copyright (c) 1985, 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. .\" .\" from: @(#)inetd.8 8.3 (Berkeley) 4/13/94 .\" %FreeBSD: src/usr.sbin/inetd/inetd.8,v 1.78 2004/02/29 15:49:26 charnier Exp % .\" .\" $FreeBSD$ .Dd February 7, 1996 .Dt INETD 8 .Os .Sh 名称 .Nm inetd .Nd インターネット .Dq スーパサーバ .Sh 書式 .Nm .Op Fl d .Op Fl l .Op Fl w .Op Fl W .Op Fl c Ar maximum .Op Fl C Ar rate .Op Fl s Ar maximum .Op Fl a Ar address | hostname .Op Fl p Ar filename .Op Fl R Ar rate .Op Ar configuration file .Sh 解説 .Nm ユーティリティは、ブート時に .Pa /etc/rc の中で起動されます ( .Xr rc 8 参照)。起動されると、 .Nm は定められたインターネットソケットを監視し、接続要求を待ちます。 監視しているソケットに対して接続要求が出されると、 .Nm はそのソケットに対応したサービスを 判定し、サービスを提供するプログラムを起動します。 サーバプログラムはサービスソケットを標準入力・標準出力・ エラー出力として起動されます。 サービスプログラムが完了すると、 .Nm は再びソケットの監視を行ないます (後述するような例外もあります)。 .Nm を用いれば 1 つのデーモンで 複数のサービスプログラムを起動することができるので、 システムの負荷を軽減することができます。 .Pp .Nm は、起動時に以下のオプションを指定できます。 .Bl -tag -width indent .It Fl d デバッグモードにします。 .It Fl l 成功した接続のログをとります。 .It Fl w 外部サービスに対して TCP Wrapping をオンにします。 TCP Wrappers サポートについての更なる情報については、 .Sx "実装に関する注" の節を参照してください。 .It Fl W .Nm 組み込みの内部サービスに対して TCP Wrapping をオンにします。 .It Fl c Ar maximum 同時に起動可能なサービスの、デフォルトにおける最大値を指定します。 デフォルトでは、無制限です。 サービスごとに指定される "max-child" パラメータによって上書きされ得ます。 .It Fl C Ar rate 1 分間に単一の IP アドレスから起動されるサービスのデフォルトにおける最大値 を指定します。 デフォルトは未設定です。 サービスごとに指定される "max-connections-per-ip-per-minute" パラメータによって上書きされ得ます。 .It Fl R Ar rate 1 分間に起動できる最大のサービス数を指定します。デフォルトは 256 です。 rate に 0 を指定すると、起動可能な数は無制限になります。 .It Fl s Ar maximum 単一 IP アドレスに対して同時起動可能な各サービスの最大数のデフォルト値です。 デフォルトは無限です。 「IP あたりの子の数の最大」パラメータを使用して、サービス毎に上書き可能です。 .It Fl a バインドする IP アドレスを 1 個指定します。 代りに、ホスト名を指定可能です。 この場合、ホスト名に対応する IPv4 または IPv6 のアドレスが使用されます。 通常、 .Nm が .Xr jail 8 内で起動される時点で、ホスト名が指定されます。 この場合、ホスト名は .Xr jail 8 環境に対応するものです。 .Pp ホスト名指定が使用され、IPv4 および IPv6 両方のバインドを望む場合、 .Pa /etc/inetd.conf の各サービスに対して、 各バインドに対する適切な .Em プロトコル のエントリが必要です。 例えば TCP ベースのサービスは 2 エントリが必要であり、 ひとつは .Em プロトコル に .Dq tcp4 を使用し、もうひとつは .Dq tcp6 を使用します。 後で説明する .Pa /etc/inetd.conf の .Em プロトコル フィールドを参照してください。 .It Fl p デフォルトとは異なるプロセス ID を保持するファイルを指定します。 .El .Pp .Nm は実行時に設定情報を設定ファイルから読み込みます。 デフォルトでは設定ファイルは .Pa /etc/inetd.conf です。 設定ファイルの各フィールドにはエントリが 1 つなければなりません。 各フィールドのエントリはタブやスペースで区切ります。 コメントは行頭に .Dq # をつけます。 設定ファイルのフィールドは以下のものからなります: .Pp .Bd -unfilled -offset indent -compact サービス名 ソケットタイプ プロトコル {wait|nowait}[/最大子プロセス数[/IPあたりの分あたりの最大接続数[/IPあたりの子の数の最大]]] -ユーザ名[:クループ名][/ログインクラス名] +ユーザ名[:グループ名][/ログインクラス名] サーバプログラム名 サーバプログラム引数 .Ed .Pp .Tn "ONC RPC" ベースのサービスを記述する場合には、以下のエントリを記述します。 .Pp .Bd -unfilled -offset indent -compact サービス名/バージョン ソケットタイプ RPC/プロトコル ユーザ名 サーバプログラム名 サーバプログラム引数 .Ed .Pp .Nm が起動することのできるサービスは 2 種類あります。 1 つは標準で、もう 1 つは TCPMUX です。 標準サービスには割り当てられた well-known ポートがあります。 これは公式のインターネット標準を実装したサービスや .Bx 特有のサービスです。 .Tn RFC 1078 に書かれているように、TCPMUX は非標準サービスであり、 well-known ポートが割り当てられていません。 そういった非標準サービスは、あるプログラムが .Dq tcpmux well-known ポートに接続してそのサービス名を指定したとき、 .Nm によって起動されます。 この機能はローカルに開発されたサーバを追加するときに 便利です。 TCPMUX リクエストが受理されるのは、 TCPMUX ベースのサーバに至るまでにおいて、 マルチプレクササービス自身が有効にされているときのみです。 後述の内部サービスに関する議論を参照してください。 .Pp .Em サービス名 のエントリには、 .Pa /etc/services ファイルに記述されているサービス名か、 .Ux ドメインソケット (後述) の指定が記述されます。 .Dq 内部 サービス (後述) については、 名前としてそのサービスのオフィシャル名 (すなわち .Pa /etc/services 内の最初のエントリ) を指定すべきです .Tn "ONC RPC" ベースのサービスを指定するためには、このフィールドは .Pa /etc/rpc に書かれた有効な RPC サービス名でなければなりません。 .Dq / の右の部分が RPC のバージョン番号です。バージョン番号は、 数字もしくは、バージョンの幅 (レンジ) で指定します。 幅を指定する場合は低い番号から高い番号を指定します。たとえば .Dq rusers/1-3 のように記述します。 TCPMUX サービスでは、 .Em サービス名 のフィールドは、文字列 .Dq tcpmux 、スラッシュ、そしてローカルに選ばれたサービス名から なります。 .Pa /etc/services に書かれたサービス名と .Dq help は予約済であり、ローカルなサービス名には使用できません。 TCPMUX サービスのためにユニークな名前をつけるには、 頭に組織名をつけ、末尾にバージョン番号をつけるとよいでしょう。 .Pp .Em ソケットタイプ のエントリは、 .Dq stream , .Dq dgram , .Dq raw , .Dq rdm , .Dq seqpacket のいずれかである必要があります。それぞれ、ソケットが stream, datagram, raw, reliably delivered message, sequenced packet socket である場合に対応しています。 TCPMUX サービスは .Dq stream を使わなければなりません。 .Pp .Em プロトコル のエントリには、 有効なプロトコル名か .Dq unix が記述されます。 例えば .Dq tcp や .Dq udp などです。 この場合、後方互換性のため、暗黙的に本エントリは IPv4 を意味します。 名前 .Dq tcp4 , .Dq udp4 は、IPv4 のみを指定します。 名前 .Dq tcp6 , .Dq udp6 は、IPv6 のみを指定します。 名前 .Dq tcp46 , .Dq udp46 は、エントリに IPv4 とワイルドカード .Dv AF_INET6 ソケット経由の IPv6 の両方を受理させます。 サービスが T/TCP 経由で到達可能とするためには、 .Dq tcp/ttcp を指定する必要があります。 後方互換性のため、暗黙的に本エントリは IPv4 を意味します。 名前 .Dq tcp4/ttcp は、IPv4 のみを指定し、 名前 .Dq tcp6/ttcp は、IPv6 のみを指定します。 名前 .Dq tcp46/ttcp は、エントリに IPv6 とワイルドカード .Dv AF_INET6 ソケット経由の IPv6 の両方を受理させます。 RPC ベースのサービスの場合、 .Dq rpc/tcp や .Dq rpc/udp のような指定になります。 IPv4 と IPv6 を、4, 6, 46 のいずれかのサフィックスを使用して指定可能です。 例えば .Dq rpc/tcp6 や .Dq rpc/udp46 とします。 TCPMUX サービスは .Dq tcp , .Dq tcp4 , .Dq tcp6 , .Dq tcp46 のいずれかを使用する必要があります。 .Pp .Em wait/nowait エントリは、 .Nm によって起動されたサーバがサービスアクセスポイントに 関連付けられたソケットを引き継ぐかどうか、すなわちサーバが終了するまで .Nm が新しいサービス要求を監視するのを待つ必要があるか否かを 指定します。 datagram サーバは、特定のサービスアドレスと結び付いた datagram ソケットで毎回起動されるため、 .Dq wait を使わなければなりません。こういったサーバは、終了する前に少なくとも 1 データグラムをソケットから読まなければなりません。 もし datagram サーバが相手に接続したときソケットを 解放するなら、 .Nm はソケットに対するメッセージをさらに受けることができます。 このようなサーバは .Dq マルチスレッド サーバと呼ばれます。 サーバはソケットから datagram を 1 つ読み込み、相手に接続する新しい ソケットをつくります。 サーバは fork() を行い、親プロセス側は終了しなければいけません。 これにより .Nm は新しいサービス要求をチェックし、新しいサーバを起動することが できるようになります。 入って来る全ての datagram を処理し、 時間切れまで動作する datagram サーバは、 .Dq シングルスレッド サーバと呼ばれます。 .Xr comsat 8 , .Pq Xr biff 1 , .Xr talkd 8 のユーティリティは、後者のタイプの datagram サーバの例です。 .Xr tftpd 8 ユーティリティは、マルチスレッドで動く datagram サーバの例です。 .Pp stream ソケットを使うサーバは一般にマルチスレッドで動き .Dq nowait エントリを使います。 こういったサーバへの接続要求は .Nm で受け付けられ、新たに受理し、クライアントにつながった ソケットのみがサーバに与えられます。 多くの stream ベースのサービスはこのように行われます。 .Dq wait エントリを使う stream ベースのサーバは、 サービスのソケットを監視し、少なくとも 1 つの接続要求を受け入れてから 終了しなければなりません。 そういったサーバは通常、時間切れとなるまで、入って来る要求を 受け付け処理します。 TCPMUX サービスは .Dq nowait を使わなければなりません。 .Pp .Dq nowait サービスの子プロセス (あるいは .Dq スレッド ) の最大数は、 .Dq nowait キーワードの後に .Dq / と数字を付け加えることで指定できます。 通常 (あるいは 0 が指定された場合)、子プロセスの数に制限はありません。 一方、最大数に達すると、それ以降の接続要求は、存在する子プロセスが終了するまで 待ち行列に蓄えられます。これは、 .Dq wait モードでも同様ですが、通常は 1 (デフォルトの値) 以外は意味がありません。 指定した IP アドレスからの 1 分あたりの最大接続数を指定することも可能です。 この場合、 .Dq / および最大子プロセス数を指定します。 最大値に達した場合、指定した IP アドレスからの接続は、 この 1 分が経過するまで、落とされます。 さらに、単一 IP アドレスに対して同時起動可能な各サービスの最大数の指定が、 .Dq / に続けて未完了の子プロセスの最大数を追加することで可能です。 最大値に達した場合、指定した IP アドレスからの接続は、 落とされます。 .Pp .Em ユーザ名 エントリには、サーバを実行するユーザ名を書きます。 これによりサーバを root よりも低い権限で実行できます。 オプションの .Em グループ名 部分は .Dq \&: で分けられ、 このユーザのデフォルトグループ以外のグループ名を指定可能です。 オプションの .Em ログインクラス名 部分は .Dq / で分けられ、 デフォルトの .Dq daemon 以外のログインクラス名を指定可能です。 .Pp .Em サーバプログラム名 のエントリには、ソケットに要求があったとき .Nm が起動し、当該エントリのサービスを提供する サーバプログラムのパス名を指定します。 .Nm 内部にすでに実装されているサービスを提供する場合には、サーバプログラムとして .Dq internal を指定します。 .Pp .Em サーバプログラム引数 のエントリは、サーバを起動する際の引数を、サーバプログラムの起動文字列 である argv[0] を含めて記述します。 .Nm 内部に実装されているサービスを提供する場合には、サーバプログラム引数 として、サービスの .Em サービス名 (と引数) または語 .Dq internal を指定します。 .Pp 現在、引数を取る内部サービスは .Dq auth のみです。 オプション無しだと、このサービスは常に .Dq ERROR\ : HIDDEN-USER を返します。 このサービスの動作を変更するために使用可能な引数は次の通りです: .Bl -tag -width indent .It Fl d Ar fallback .Ar fallback ユーザ名を指定します。 本物の .Dq auth サービスが (後述の .Fl r オプションで) 有効になっている場合、 ソケットの credential 取得またはユーザ名検索に失敗したときに、 エラーを返す代りにこのユーザ名を返します。 本物の .Dq auth サービスが無効になっている場合、 すべての要求に対してこのユーザ名を返します。 主に、本サービスを NAT マシン上で実行しているときに有用です。 .It Fl g ident 要求者にユーザ名を返す代りに、 アルファベットと数字からなるランダムなユーザ名を報告します。 例えば .Dq c0c993 です。 .Fl g フラグは、ユーザ名に優先するだけでなく、 .Pa .fakeid や .Pa .noident のファイルにも優先します。 .It Fl t Xo .Ar sec Ns Op . Ns Ar usec .Xc サービスのタイムアウトを指定します。 デフォルトのタイムアウトは 10.0 秒です。 .It Fl r RFC 1413 にある、真の .Dq auth サービスを提供します。残りのすべてのフラグが使用されるのは、この場合のみです。 .It Fl i ユーザ名の代りに数値のユーザ ID を返します。 .It Fl f 識別されるユーザのホームディレクトリに .Pa .fakeid というファイルがある場合、 本当のユーザ名の代りにそのファイル中のユーザ名を報告します。 .Pa .fakeid 中のユーザ名が実在するユーザのものの場合、本当のユーザ名を報告します。 .Fl i が共に指定されると、 .Pa .fakeid 中のユーザ名が既存のユーザ ID の代りにチェックされます。 .It Fl F .Fl f と同じですが、 .Pa .fakeid が実在するユーザ名にマッチしてはならないという制約が除外されます。 .It Fl n 識別されるユーザのホームディレクトリに .Pa .noident というファイルがある場合、 .Dq ERROR\ : HIDDEN-USER を返します。 これは、 .Pa fakeid ファイルに優先します。 .It Fl o Ar osname .Xr uname 3 が報告するシステム名の代りに、 .Ar osname を使用します。 .El .Pp .Nm ユーティリティはまた、内部ルーチンを用いて簡単なサービスを自身で提供します。 これらのサービスとは .Dq echo , .Dq discard , .Dq chargen (文字生成), .Dq daytime (人間が読む形式で時間を出力します), .Dq time (機械可読形式の時間。1900 年 1 月 1 日 0 時からの経過秒数を出力します) です。 これらのサービスは TCP と UDP バージョンのいずれでも利用できます。 UDP バージョンは返事のポートとして内部サービスに相当するポートを 要求されたとき、サービスを拒否します。 (これはループ攻撃に対する防護です。リモート IP アドレスは記録されます。) これらのサービスの詳細については適当な .Tn RFC ドキュメントを参照して下さい。 .Pp TCPMUX のデマルチプレクスサービスもまた内部サービスとして実装されています。 TCPMUX ベースのサービスを動作させるためには、以下の行を .Pa inetd.conf に含む必要があります: .Bd -literal -offset indent tcpmux stream tcp nowait root internal .Ed .Pp .Fl l オプションが指定された場合、 .Nm は接続を受け付けるたび、エントリを syslog に記録します。 この際、利用可能であれば、 選択されたサービスと要求を発したリモートの IP 番号を記録します。 設定ファイルで他に指定しておらず、 .Fl W と .Fl w のオプションを指定していないと、 .Nm は .Dq daemon ファシリティに対してログ出力します。 .Pp .Dv SIGHUP を受けとると、 .Nm ユーティリティは、設定ファイルを再度読み込みます。設定ファイルを 再読み込みするとき、サービスを追加、削除、変更できます。 デバッグモードで起動された場合をのぞき、 .Nm は再設定を容易にするために、プロセス ID を .Pa /var/run/inetd.pid に記録します。 .Sh 実装に関する注 .Ss TCP Wrappers .Fl w オプションが指定されたとき、 .Dq stream nowait または .Dq dgram と指定さた全サービスのうち .Dq 内部 サービス以外を、 .Nm はラッピングします (包みます)。 .Fl W オプションが指定されると、 前述の条件の .Dq 内部 サービスがラッピングされます。 両方のオプションが指定された場合、 内部サービスと外部サービスの両方をラッピングするようになります。 どちらのラッピングオプションも、失敗した接続を .Dq auth syslog ファシリティでログします。 ラッピングオプションに .Fl l フラグを追加すると、成功した接続も .Dq auth ファシリティへのログに含めるようになります。 .Pp .Dq wait サービスに対する要求は、 サービス要求に対するサーバが無い間のみ .Nm はラッピングすることに注意してください。 このようなサービスに対してひとたび接続が許されると、 接続要求に対して listen するサーバが無くなるまで、 このサービスに対する後続の接続を .Nm は制御できません。 .Pp ラッピングが有効にされた場合、この機能は組み込みであるため、 .Pa tcpd デーモンは不要です。 .Pp TCP Wrappers についての更なる情報は、関連する文書 .Pq Xr hosts_access 5 を参照してください。 この文書を読むときには、 .Dq 内部 サービスに対しては、関連するデーモン名は無いことを覚えておいてください。 このような理由で、 .Dq 内部 サービスのデーモン名としては、 .Pa inetd.conf で指定されるサービス名を使用すべきです。 .Ss TCPMUX .Tn RFC 1078 は TCPMUX プロトコルについて述べています。 「 TCP クライアントは他のホストに TCP ポート番号 1 で接続します。 クライアントは、サービス名にを付加して送ります。 サービス名は大文字/小文字を区別しません。 サーバは、肯定 (+) もしくは否定 (\-) を表す 1 文字を返します。 + あるいは \- のすぐ後にメッセージが続く場合があります。 返答は で終わります。もし返答が肯定で あれば、選択されたプロトコルが開始されます。 そうでなければ接続は切られます。」 プログラムにはファイルディスクプリタ 0 と 1 で TCP コネクションが 渡されます。 .Pp TCPMUX サービス名が .Dq + で始まっているとき、 .Nm は、プログラムに肯定返答 (+) を返します。 これによって、 特別なサーバコードを追加することなく 標準入出力を使うプログラムを起動することができます。 .Pp 特別なサービス名である .Dq help により、 .Nm は .Pa inetd.conf にある TCPMUX サービスの一覧を出力します。 .Ss IPsec 本実装は、各ソケットに対する IPsec ポリシ設定のサポートのための ちょっとしたハックを含みます。 .Dq Li #@ から開始する特別な形式のコメント行が、ポリシ指示子として解釈されます。 .Dq Li #@ の後のすべてが、 .Xr ipsec_set_policy 3 に記述されているように、IPsec ポリシ文字列として使用されます。 各ポリシ指定子は、 .Pa inetd.conf 中で後続するすべての行に適用され、 これは次のポリシ指定子が登場するまで続きます。 空のポリシ指定子は、IPsec ポリシをリセットします。 .Pp 不正な IPsec ポリシ文字列が .Pa inetd.conf にあると、 .Nm は .Xr syslog 3 インタフェースを使用して エラーメッセージを残し、終了します。 .Ss Ux ドメインソケット サービスを IP ソケット上で動作させることに加え、 .Nm は .Ux ドメインソケットも扱えます。 このためには .Em プロトコル に .Dq unix を指定し、 .Ux ドメインソケットを .Em サービス名 として指定します。 .Em サービスタイプ は .Dq stream か .Dq dgram のいずれかです。 ソケットの指定は、絶対パス名であることが必要であり、 .Em :user:group:mode: の形式で所有者とモードを前に付けることが可能です。 .Pp .Dl ":news:daemon:220:/var/run/sock" .Pp という指定は、所有者が .Dq news でグループが .Dq daemon で所有者とグループのみに接続を許可するソケットを作成します。 デフォルトの所有者は、 .Nm を実行しているユーザです。 デフォルトのモードは、 ソケットの所有者のみに接続を許可するというものです。 .Pp .Sy 警告 : .Ux ドメインソケットの作成中に、 .Nm はソケットの所有者とパーミッションを変更する必要があります。 これが安全に行われるのは、 ソケットが作成されるディレクトリが root のみ書き込み可能な場合だけです。 .Nm を使用して、 .Pa /tmp 等の誰でも書き込み可能なディレクトリにソケットを作成し .Em ない でください。 代りに、 .Pa /var/run 等のディレクトリと使用してください。 .Pp 内部サービスは、通常通り、 .Ux ドメインソケットでも実行可能です。 この場合、ソケットのパス名の最後の部分から内部サービス名が判定されます。 .Sh 関連ファイル .Bl -tag -width /var/run/inetd.pid -compact .It Pa /etc/inetd.conf 設定ファイル .It Pa /etc/rpc サービス名を RPC プログラム番号に変換するテーブル .It Pa /etc/services サービス名をポート番号に変換するテーブル .It Pa /var/run/inetd.pid 現在実行中の .Nm の pid .El .Sh 使用例 次に、いくつかのサービスについて サービスエントリの 例を挙げておきます。 .Bd -literal ftp stream tcp nowait root /usr/libexec/ftpd ftpd -l ntalk dgram udp wait root /usr/libexec/ntalkd ntalkd telnet stream tcp6 nowait root /usr/libexec/telnetd telnetd shell stream tcp46 nowait root /usr/libexec/rshd rshd tcpmux/+date stream tcp nowait guest /bin/date date tcpmux/phonebook stream tcp nowait guest /usr/local/bin/phonebook phonebook rstatd/1-3 dgram rpc/udp wait root /usr/libexec/rpc.rstatd rpc.rstatd /var/run/echo stream unix nowait root internal #@ ipsec ah/require chargen stream tcp nowait root internal #@ .Ed .Sh エラーメッセージ .Nm サーバは、 .Xr syslog 3 を使ってエラーメッセージを記録します。 重要なエラーメッセージと その説明は以下の通りです。 .Pp .Bl -ohang -compact .It Xo .Ar service Ns / Ns Ar protocol .No "server failing (looping), service terminated." .Xc 直前の 1 分間に、そのサービスについての要求数が制限に達しました。 不完全なプログラムや悪意のあるユーザがシステムを ハングアップさせないために、このような制限が設けられています。 このメッセージが出力される理由はいくつかあります。 .Bl -enum -offset indent .It 短時間の間に多くのホストがこのサービスを要求している。 .It 不完全なクライアントプログラムがサービスを 頻繁に要求しすぎている。 .It 悪意あるユーザがあるプログラムを起動し、 サービスが '拒否' されるように攻撃している。 .It 起動されたサービスプログラムにエラーがあり、 クライアントがすぐにリトライを起こしてしまう。 .El .Pp .Fl R Ar rate オプションを使うと、制限を変えることができます。 制限に達したとき、10 分経つとサービスは自動的に 再許可されます。 .Pp .It Xo .Ar service Ns / Ns Ar protocol : .No \&No such user .Ar user , .No service ignored .Xc .It Xo .Ar service Ns / Ns Ar protocol : .No getpwnam : .Ar user : .No \&No such user .Xc .Xr passwd 5 データベースに .Ar user のエントリがありません。 最初のメッセージは .Nm が設定ファイルを (再度) 読み込むときに出されます。 2 つ目のメッセージは、サービスが呼び出されたときに 出されます。 .Pp .It Xo .Ar service : .No can't set uid .Ar uid .Xc .It Xo .Ar service : .No can't set gid .Ar gid .Xc .Ar user フィールドのユーザ ID もしくは グループ IDが 無効です。 .Pp .It "setsockopt(SO_PRIVSTATE): Operation not supported" .Nm ユーティリティはそのソケットに設定されている特権状態を放棄しようとしましたが、 失敗しました。 .El .Sh 関連項目 .Xr ipsec_set_policy 3 , .Xr hosts_access 5 , .Xr hosts_options 5 , .Xr login.conf 5 , .Xr passwd 5 , .Xr rpc 5 , .Xr services 5 , .Xr comsat 8 , .Xr fingerd 8 , .Xr ftpd 8 , .Xr rexecd 8 , .Xr rlogind 8 , .Xr rpcbind 8 , .Xr rshd 8 , .Xr telnetd 8 , .Xr tftpd 8 , .Rs .%A Michael C. St. Johns .%T Identification Protocol .%O RFC1413 .Re .Sh 歴史 .Nm ユーティリティは .Bx 4.3 から登場しました。 TCPMUX は Mark Lottor によるコードとドキュメントを元にしています。 .Tn "ONC RPC" ベースのサービスのサポートは、 .Tn SunOS 4.1 が供給されてから、 それにならって作られました。 IPsec のハックは、1999 年に KAME プロジェクトが提供しました。 .Fx の TCP Wrappers サポートが最初に登場したのは .Fx 3.2 です。