diff --git a/ja_JP.eucJP/man/man1/at.1 b/ja_JP.eucJP/man/man1/at.1 index dd7e94d008..1827862ac6 100644 --- a/ja_JP.eucJP/man/man1/at.1 +++ b/ja_JP.eucJP/man/man1/at.1 @@ -1,266 +1,266 @@ -.\" %FreeBSD: src/usr.bin/at/at.man,v 1.13.2.4 2001/03/06 12:52:35 ru Exp % -.\" $FreeBSD: doc/ja_JP.eucJP/man/man1/at.1,v 1.15 2001/05/14 01:07:21 horikawa Exp $ +.\" %FreeBSD: src/usr.bin/at/at.man,v 1.13.2.5 2001/08/16 13:16:41 ru Exp % +.\" $FreeBSD: doc/ja_JP.eucJP/man/man1/at.1,v 1.16 2001/07/29 05:14:49 horikawa Exp $ .Dd April 12, 1995 .Dt "AT" 1 -.Os FreeBSD +.Os .Sh 名称 .Nm at , .Nm batch , .Nm atq , .Nm atrm .Nd あとでジョブを実行させるためのキューの設定、確認、ジョブの削除を行なう .Sh 書式 .Nm at .Op Fl V .Op Fl q Ar queue .Op Fl f Ar file .Op Fl mldbv .Ar time .Nm at .Op Fl V .Fl c Ar job Op Ar job ... .Pp .Nm atq .Op Fl V .Op Fl q Ar queue .Op Fl v .Pp .Nm atrm .Op Fl V .Ar job .Op Ar job ... .Pp .Nm batch .Op Fl V .Op Fl q Ar queue .Op Fl f Ar file .Op Fl mv .Op Ar time .Sh 解説 .Nm at と .Nm batch は、標準入力もしくは指定したファイルからコマンドを読み 込み、あとで .Xr sh 1 を使って実行します。 .Bl -tag -width indent .It Nm at コマンドを、引数で指定した時間に実行します。 .It Nm atq ユーザの、実行待ち状態のジョブのリストを表示します。 スーパユーザが実行した場合は全員のジョブが表示されます。 .It Nm atrm 指定したジョブを削除します。 .It Nm batch ロードアベレージが特定の値以下になったときにジョブを実行 します。この値は、デフォルトでは 1.5 です。 この値は .Nm atrun によって指定可能です。 .El .Pp .Nm at では、様々な形式の時間を .Ar time として受け付けます。 時刻は .Ar HHMM もしくは .Ar HH:MM の形で指定します (もしこの時刻が過ぎていた場合は、次の日のその時刻に設定されます)。また、 .Em midnight , .Em noon , .Em teatime (4pm) も受け付けますし、時刻の後ろに .Em AM もしくは .Em PM をつけた時間も受け付けます。日付は、 .Ar \%month-name day およびオプションの .Ar year の形で受け付けます。 .Ar MMDDYY や .Ar MM/DD/YY や .Ar DD.MM.YY も受け付けます。 日付の指定は時刻の指定の後に記述します。 .Op Em now .Em + Ar count \%time-units のような形式で時間を指定することも可能です。time-units は時間の単位で、 .Em minutes , .Em hours , .Em days , .Em weeks のいずれかです。時間のサフィックスの .Em today はジョブを今日に設定すること、 .Em tomorrow はジョブを明日に設定することを意味します。 .Pp 例えば、今から 3 日後の午後 4 時にジョブを走らせるためには .Nm at Ar 4PM + 3 days とします。7 月 31 日の午前 10 時の場合は .Nm at Ar 10am Jul 31 とします。明日の午前 1 時は .Nm at Ar 1am tomorrow です。 .Pp .Nm at と .Nm batch はどちらも、標準入力または .Fl f オプションで指定したファイルからコマンドを読み込み、実行します。 ワーキングディレクトリと環境変数 ( .Ev TERM , .Ev TERMCAP , .Ev DISPLAY および .Em _ は除く)、umask は実行時のものが保持されます。 .Nm at もしくは .Nm batch が .Xr su 1 で起動されたシェルから実行された場合は、カレントの userid を保持します。 出力結果が得られた場合は、 その標準出力と標準エラー出力がメールで送られます。メールは .Xr sendmail 8 を使って送られます。もし .Nm at が .Xr su 1 で起動されたシェルから実行された場合は、そのログインシェルの所有者が メールを受けることになります。 .Pp スーパユーザはどんな場合でもこれらのコマンドを実行できます。 その他のユーザは .Pa /var/at/at.allow と .Pa /var/at/at.deny のファイルによって実行できるか決められます。 .Pp もし .Pa /var/at/at.allow が存在するならば、その中にユーザ名を記述されたユーザだけが .Nm at の実行を許可されます。 .Pp もし .Pa /var/at/at.allow が存在しなければ、 .Pa /var/at/at.deny がチェックされ、その中にユーザ名が記述されていないすべてのユーザが .Nm at の実行を許可されます。 .Pp もし両方ともなければ、スーパーユーザだけが .Nm at を実行できます。 これがデフォルトの設定です。 .Pp 空の .Pa /var/at/at.deny は全てのユーザがこれらのコマンドを使用できることを意味します。 .Sh オプション .Bl -tag -width indent .It Fl V 標準エラー出力にバージョン番号を出力します。 .It Fl q Ar queue 指定したキューを用います。キューの名称は単一の文字からなります。 有効なキューの名前は .Ar a から .Ar z と .Ar A から .Ar Z です。 .Nm at のデフォルトのキューは .Ar c で、 .Nm batch のデフォルトのキューは .Ar E です。 キューの文字が後の方であればあるほど nice 値が上がります。 もし大文字のキューがジョブに対して指定されたならば、時間を指定して batch が実行されたものとして扱われます。 もし .Nm atq でキューが指定されたときは、そのキューだけの実行待ちのジョブを表示します。 .It Fl m 出力がなかった場合でも、ジョブの完了時にメールをユーザに送ります。 .It Fl f Ar file 標準入力のかわりにファイルからジョブを読み込みます。 .It Fl l .Nm atq のエイリアス。 .It Fl d .Nm atrm のエイリアス。 .It Fl b .Nm batch のエイリアス。 .It Fl v .Nm atq の場合は、キューの中の実行されたがまだ削除されていないジョブを 表示します。さもなければジョブが実行される時間を表示します。 .It Fl c コマンドラインにリストされたジョブを標準出力に出力します。 .El .Sh 関連ファイル .Bl -tag -width /var/at/jobs/.lockfile -compact .It Pa /var/at/jobs ジョブファイルを保管しておくディレクトリ .It Pa /var/at/spool 出力ファイルを保管しておくディレクトリ .It Pa /var/run/utmp ログインレコード .It Pa /var/at/at.allow 許可属性の設定 .It Pa /var/at/at.deny 不許可属性の設定 .It Pa /var/at/jobs/.lockfile ジョブ作成のロックファイル .El .Sh 関連項目 .Xr nice 1 , .Xr sh 1 , .Xr umask 2 , .Xr atrun 8 , .Xr cron 8 , .Xr sendmail 8 .Sh バグ .Pa /var/run/utmp が利用できないか不正であった場合、もしくは .Nm at が実行された時にユーザがログインしていない場合、 環境変数 .Ev LOGNAME で表される userid にメールが送られます。 もし定義されていないか空ならばカレントの userid になります。 .Pp ユーザ同士でリソースの競合がある場合は現実装の .Nm at と .Nm batch は適当ではありません。 もしあなたのサイトがこのような場合にあてはまるのなら、 .Em nqs のような他のバッチシステムを検討してください。 .Sh 作者 at のほとんどの部分は .An Thomas Koenig Aq ig25@rz.uni-karlsruhe.de によって作成されました。 時間の構文解析部分は .An David Parsons Aq orc@pell.chi.il.us によって作成されました。 diff --git a/ja_JP.eucJP/man/man1/file.1 b/ja_JP.eucJP/man/man1/file.1 index 5758aa2257..f1cb3e644f 100644 --- a/ja_JP.eucJP/man/man1/file.1 +++ b/ja_JP.eucJP/man/man1/file.1 @@ -1,503 +1,527 @@ -.\" %FreeBSD: src/usr.bin/file/file.1,v 1.16.2.6 2001/08/02 22:49:29 obrien Exp % +.\" %FreeBSD: src/usr.bin/file/file.1,v 1.16.2.7 2001/08/16 13:16:47 ru Exp % +.\" $Id: file.1,v 1.19 2001-08-17 05:42:08 horikawa Exp $ .\" -.\" $FreeBSD: doc/ja_JP.eucJP/man/man1/file.1,v 1.17 2001/07/29 05:14:50 horikawa Exp $ -.Dd December 8, 2000 +.\" $FreeBSD: doc/ja_JP.eucJP/man/man1/file.1,v 1.18 2001/08/06 03:01:42 horikawa Exp $ +.Dd April 4, 2001 .Dt FILE 1 "Copyright but distributable" .Os .Sh 名称 .Nm file .Nd ファイルの種類を判定する .Sh 書式 .Nm .Op Fl bciknsvzL .Op Fl f Ar namefile .Op Fl m Ar magicfiles .Ar +.Nm +.Fl C +.Op Fl m Ar magicfile .Sh 解説 このマニュアルは .Nm -コマンドのバージョン 3.33 について記載しています。 +コマンドのバージョン 3.36 について記載しています。 +.Pp .Nm は、引数で指定されたファイルの種類を判定するプログラムです。判定の ために、ファイルシステムテスト、マジックナンバテスト、言語テストの 3 つのテストをこの順に実行し、 .Em 最初に 判定できた結果からファイルの種類を表示します。 .Pp ファイルの種類として表示されるのは、 -.Em text +.Dq Li text (印字可能文字と少数の制御文字だけのファイルで、 .Tn ASCII 端末に表示した場合、 問題が起こらないもの)、 -.Em executable +.Dq Li executable ( .Ux カーネル等に理解可能な形にコンパイルされたプログラムを 含むファイル)、その他のものを意味する -.Em data +.Dq Li data (data は、通常 .Sq バイナリ か表示不能なもの) のうちの 1 つです。 例外は、内部フォーマットがよく知られた、 バイナリデータを含むファイル (コアファイルや tar アーカイブ) です。 ファイル .Pa /usr/share/misc/magic やプログラムそのものを変更するときは、 .Em "これらのキーワードを残して下さい" 。 ディレクトリ内のすべての可読なファイルは、 単語 -.Dq text +.Dq Li text を表示することが期待されています。 Berkeley で行われたように、 -.Dq shell commands text +.Dq Li "shell commands text" を -.Dq shell script +.Dq Li "shell script" と変更するようなことはしないで下さい。 ファイル .Pa /usr/share/misc/magic は、 .Nm のソース配布中の .Pa Magdir サブディレクトリ中の大量の小さなファイルから機械的に構築されることに 注意してください。 .Pp ファイルシステムテストは、 .Xr stat 2 システムコールからの戻り値を調べることに基づいています。 このプログラムは、ファイルが空であるかどうか、ある種の 特殊ファイルであるかどうかを調べます。 使っているシステムに合った既知のファイルの種類 (システムに実装されたソケット、シンボリックリンク、 名前付きパイプ (FIFO)) は、システムヘッダファイル .Aq Pa sys/stat.h で定義されていれば表示されます。 .Pp マジックナンバテストは、ファイルが固定フォーマットのデータであるか どうかをチェックするために使われます。 よい例が、実行可能なバイナリ実行形式 (コンパイルされたプログラム) .Pa a.out ファイルです。このフォーマットは標準インクルードディレクトリ内の -.Pa a.out.h +.Aq Pa a.out.h や場合により -.Pa exec.h +.Aq Pa exec.h で定義されています。 実行ファイルは、 ファイルの先頭近くの特定の場所に、 .Sq マジックナンバ を持ちます。 これは .Ux オペレーティングシステムに対し、 ファイルがバイナリ実行形式であり、 どのタイプの実行可能ファイルであるかを知らせます。 .Sq マジックナンバ の概念は拡張され、データファイルにも適用されています。 ファイルの先頭に近い固定位置に固定識別子があるファイルは、 このように記述できます。 -これらのファイル識別情報は、マジックファイル +これらのファイル識別情報は、組み込みのマジックファイル +.Pa /usr/share/misc/magic.mgc +または組み込みファイルが存在しない場合は .Pa /usr/share/misc/magic から読み込まれます。 .Pp ファイルがマジックファイルのどのエントリにもマッチしない場合、 text ファイルに見えるかどうか検査されます。 .Tn ASCII , .Tn ISO-8859-x , 非 ISO 8-bit 拡張 ASCII 文字集合 (Macintosh および IBM PC システムで使用), .Tn UTF-8-encoded Unicode , .Tn UTF-16-encoded Unicode , .Tn EBCDIC の文字集合が区別可能であり、 これには各文字集合における印字可能 text を構成する バイトの範囲およびシーケンスを使用します。 ファイルがこれらのテストのいずれかを通過した場合、文字集合が報告されます。 .Tn ASCII , .Tn ISO-8859-x , .Tn UTF-8 , extended-ASCII ファイルは .Dq text として識別されます。 なぜなら、ほとんどどのような端末においても読めるからです。 .Tn UTF-16 および .Tn EBCDIC は -.Dq character data +.Dq Li "character data" でしかありません。 これらは text を含みますが、読む前に変換が必要だからです。 さらに、 .Nm は text タイプファイルの他の特性も判定しようとします。 -ファイルの行の終端が、UNIX 標準の LF ではなく、 +ファイルの行の終端が、 +.Ux +標準の LF ではなく、 CR, CRLF, NEL のいずれかである場合、そのことが報告されます。 組み込みのエスケープシーケンスや重ね打ちを含むファイルについても、 識別されます。 .Pp text タイプファイルで使用されている文字集合を判定した後、 その言語を推定しようとします。 言語テストは、ファイルの始めの数ブロックに 特定の文字列 ( .Pa Inames.h を参照) があるかどうかを探します。たとえばキーワード -.Em \&.br +.Ic .br があればそれはおそらく .Xr troff 1 の入力ファイルであり、 -struct +.Ic struct というキーワードは、C 言語のプログラムであることを示しています。 こうした推定方法は、前述の 2 つのテストより信頼性が低いため、 最後に行われます。言語テストルーチンは ( .Xr tar 1 アーカイブのような) その他のファイルもチェックします。 .Pp 上記の文字集合のいずれで記述されているとも識別できなかったファイルは、 単に -.Dq data +.Dq Li data と呼ばれます。 .Sh オプション .Bl -tag -width indent .It Fl b 出力行の前にファイル名を付けません (短縮モード)。 .It Fl c マジックファイルを解析した形式を、調査できるように表示します。 通常、 新しいマジックナンバファイルを使う前にデバッグするために、 .Fl m オプションとともに用います。 +.It Fl C +.Pa magic.mgc +出力ファイルを書きます。 +これには構文解析される前のバージョンのファイルが含まれます。 .It Fl f Ar namefile 引数の前に .Ar name_file から調べるべきファイル名を (1 行に 1 つ) 読み込みます。 .Ar name_file もしくは引数の filename は少なくとも 1 つは指定しなければなりません。 標準入力のファイルの種類を判定させる場合は、 ファイル名として、 -.Dq Ar - +.Dq Fl を指定します。 .It Fl i .Nm に、伝統的な人間が読める形式の代りに、 mime タイプ文字列を出力させます。 よって、 -.Dq ASCII text +.Dq Li "ASCII text" の代りに -.Dq text/plain; charset=us-ascii +.Dq Li "text/plain; charset=us-ascii" となります。 本オプションが動作するようにするために、 .Nm はファイル認識方法 (例えば、多くの text ファイルタイプやディレクトリ等) を変え、 別の -.Dq Pa マジック +.Pa magic ファイルを使用します (後述の -.Sx FILES +.Sx 関連ファイル 節を参照してください)。 .It Fl k 最初にマッチしても停止せずに、処理を継続します。 .It Fl m Ar list マジックナンバを含む別のファイルの -.Ar list +list を指定します。 これは、1 つのファイルか、コロン (:) で分けられたファイルのリストです。 .It Fl n 各ファイルのチェック後に、標準出力をフラッシュします。 ファイルの一覧をチェックしているときのみ、有用です。 ファイルタイプをパイプから出力するプログラムにおいて使用することを意図します。 +.It Fl v +プログラムのバージョンを表示して、終了します。 +.It Fl z +compress で圧縮されたファイルの中身を見ようとします。 +.It Fl L +オプションは(システムがシンボリックリンクを提供していれば)、 +.Xr ls 1 +コマンドの +.Fl L +オプションと同様にシンボリックリンクをたどって実際のファイルの中 +身の種類を判定します。 .It Fl s 通常、 .Nm が引数のファイルの読み込みとタイプの判定を行うのは、 .Xr stat 2 が通常ファイルであると報告した場合のみです。 これにより問題を回避しています。 なぜなら、特殊ファイルの読み込みは、 特定の結果を発生させる場合があるからです。 .Fl s オプションを指定すると、 .Nm は、ブロックおよびキャラクタの特殊ファイルも読み込みます。 これは、raw ディスクパーティション中のデータに存在する ファイルシステムタイプの判定に有用です。 なぜなら、raw ディスクパーティションはブロック型特殊ファイルであるからです。 本オプションはまた、 .Nm が .Xr stat 2 が報告するファイルの大きさを無視するようにさせます。 なぜなら、システムによっては、 raw ディスクパーティションの大きさは 0 であると報告するものがあるからです。 -.It Fl v -プログラムのバージョンを表示して、終了します。 -.It Fl z -compress で圧縮されたファイルの中身を見ようとします。 -.It Fl L -オプションは(システムがシンボリックリンクを提供していれば)、 -.Xr ls 1 -コマンドの -.Fl L -オプションと同様にシンボリックリンクをたどって実際のファイルの中 -身の種類を判定します。 .El .Sh 関連ファイル -.Bl -tag -width /usr/share/misc/magic.mime -compact +.Bl -tag -width ".Pa /usr/share/misc/magic.mime" -compact +.It Pa /usr/share/misc/magic.mgc +デフォルトの組み込まれたマジックナンバのリスト .It Pa /usr/share/misc/magic デフォルトのマジックナンバのリスト .It Pa /usr/share/misc/magic.mime .Fl i が指定されて mime タイプを出力する場合に使用する、 デフォルトのマジックナンバのリスト .El .Sh 環境変数 環境変数 .Ev MAGIC は、デフォルトのマジックナンバファイルを指定するために 使うことができます。 .Sh 関連項目 +.Xr hexdump 1 , .Xr od 1 , .Xr strings 1 , .Xr magic 5 .Sh 標準適合性 -FILE(CMD) の System V Interface Definition の曖昧な記述から +FILE(CMD) の +.St -svid4 +の曖昧な記述から 判断する限りにおいては、 このプログラムはこの仕様を越えていると思われます。 同名の System V のプログラムと、ほとんど動作は同じです。 しかし、このバージョンはより多くのマジックを知っているので、多くの場合に 異なった (より正確な) 出力を出します。 .Pp このバージョンと System V のものとの大きな違いは、 このバージョンは全ての空白を区切り文字として扱うため パターン内の空白はエスケープしなければならないということです。 たとえば、 -.Bd -literal -compact ->10 string language impress (imPRESS data) -.Ed +.Pp +.Dl ">10 string language impress\ (imPRESS data)" +.Pp とマジックファイルに書かれていた場合は、次のように 変更せねばなりません。 -.Bd -literal -compact ->10 string language\e impress (imPRESS data) -.Ed +.Pp +.Dl ">10 string language\e impress (imPRESS data)" .Pp またこのバージョンでは、バックスラッシュを含んでいる パターンもエスケープしなくてはいけません。たとえば、 -.Bd -literal -compact -0 string \ebegindata Andrew Toolkit document -.Ed +.Pp +.Dl "0 string \ebegindata Andrew Toolkit document" +.Pp とマジックファイルに書かれていた場合は、次のように 変更せねばなりません。 -.Bd -literal -compact -0 string \e\ebegindata Andrew Toolkit document -.Ed +.Pp +.Dl "0 string \e\ebegindata Andrew Toolkit document" .Pp Sun Microsystems の SunOS リリース 3.2 もしくはそれ以降には、 System V 由来の .Xr file 1 コマンドが含まれていますが、拡張がなされています。 このバージョンは SUN のものとは、細かい点でしか異なりません。 -このバージョンには `&' 演算子の拡張が含まれています。 +このバージョンには +.Sq Ic & +演算子の拡張が含まれています。 使い方は、次のようなものです。 -.Bd -literal -compact ->16 long&0x7fffffff >0 not stripped -.Ed +.Pp +.Dl ">16 long&0x7fffffff >0 not stripped" .Sh マジックディレクトリ マジックファイルのエントリは様々なソース (主に USENET) から集められたり、様々な作者から提供されました。 .An Chirstos Zoulas (下記のアドレス) が、 マジックファイルエントリをさらに集めたり訂正するでしょう。 統合したマジックファイルエントリは、定期的に配布されるでしょう。 .Pp マジックファイルにおけるエントリの順序は 重要です。 使っているシステムによって、エントリの順序が正しくなくなることが あります。 もし、あなたの古い .Nm コマンドがマジックファイルを使っているのなら、 比較のため古いマジックファイルを保存して下さい (たとえば、 .Pa /usr/share/misc/magic.orig という名前に変更します) 。 .Sh 使用例 .Bd -literal $ file file.c file /dev/hda file.c: C program text file: ELF 32-bit LSB executable, Intel 80386, version 1, dynamically linked, not stripped /dev/hda: block special $ file -s /dev/hda{,1,2,3,4,5,6,7,8,9,10} /dev/hda: x86 boot sector /dev/hda1: Linux/i386 ext2 filesystem /dev/hda2: x86 boot sector /dev/hda3: x86 boot sector, extended partition table /dev/hda4: Linux/i386 ext2 filesystem /dev/hda5: Linux/i386 swap file /dev/hda6: Linux/i386 swap file /dev/hda7: Linux/i386 swap file /dev/hda8: Linux/i386 swap file /dev/hda9: empty /dev/hda10: empty $ file -i file.c file /dev/hda file.c: text/x-c file: application/x-executable, dynamically linked (uses shared libs), not stripped /dev/hda: application/x-not-regular-file .Ed .Sh 歴史 .Nm コマンドは、少なくとも Research Version 6 -(マニュアルページの日付は、1975 年 1 月) +(マニュアルページの日付は、1975 年 1 月 16 日) からはどの .Ux にもありました。 System V バージョンはある重要な変更、 すなわち外部マジックナンバリストを導入しました。 これによってプログラムのスピードはわずかに低下しましたが、 更にまた柔軟になりました。 .Pp このプログラムは、System V バージョンを基づいており、 .An Ian Darwin Aq ian@darwinsys.com によって、他の誰かのソースコードを見ることなく 書かれました。 .Pp .An John Gilmore は、コードを拡張し、最初の版よりもよいものにしました。 .An Geoff Collyer は、不適当なところが数箇所あるのを発見し、 いくつかマジックファイルエントリを提供しました。 .An Rob McMahon Aq cudcv@warwick.ac.uk は、1989 年に、 -.Sq \&& +.Sq Ic & 演算子を寄贈しました。 .Pp .An Guy Harris Aq guy@netapp.com は、1993 年から現在に至り、多くの変更を行っています。 .Pp 基本開発と 1990 年から現在に至るメンテナンスを、 .An Christos Zoulas Aq christos@astron.com が行っています。 .Pp 2000 年に .An Chris Lowth Aq chris@lowth.com が修正を行い、 .Fl i オプションが mime タイプ文字列を出力し、 別のマジックファイルと内部ロジックを使用するようになりました。 .Pp 2000 年 7 月に .An Eric Fischer Aq enf@pobox.com が修正を行い、 -文字コードを識別し、非 ASCII ファイルの原語を識別しようとするようになりました。 +文字コードを識別し、非 +.Tn ASCII +ファイルの原語を識別しようとするようになりました。 .Pp .Pa Magdir ディレクトリ ( .Pa /usr/share/misc/magic ファイルのソース) に対する寄贈者は、ここに含めるには長過ぎます。 ご了承ください。 .Sh 法律上の注意 Copyright (c) Ian F. Darwin, Toronto, Canada, 1986-1999. -Covered by the standard Berkeley Software Distribution -copyright; see the file LEGAL.NOTICE in the source distribution. +Covered by the standard Berkeley Software Distribution copyright; see the file +.Pa LEGAL.NOTICE +in the source distribution. .Pp The files .Pa tar.h and .Pa is_tar.c were written by .An John Gilmore from his public-domain .Nm tar -program, and are not covered by the above restrictions. +program, and are not covered by the above license. .Sh バグ .Pa Pagicdir から .Pa Magic ファイルを自動的に作成するよりよい方法があるはずです。 それは何なのでしょうか。より起動を速くするため マジックファイルをバイナリにコンパイルするとよいでしょう。 (たとえば .Xr ndbm 3 あるいは、異機種ネットワーク環境では固定長の .Tn ASCII 文字)。 そうすれば、同名の バージョン 7 のプログラムと同じぐらいの速さで System V バージョンの柔軟性を持ったプログラムとなるでしょう。 .Pp .Nm には、正確さよりも 速度を重視したアルゴリズムが いくつかあるので text ファイルの内容については 間違うことがあります。 .Pp text ファイルのサポート (元々はプログラミング言語のため) は 単純で、不十分であり、更新には再コンパイルが必要です。 .Pp 複数の行に渡るものをサポートするため -.Dq else +.Ic else 項があるべきです。 .Pp マジックファイルと キーワードの正規表現を サポートするべきです。 -ASCII TAB +.Tn "ASCII TAB" をフィールドの識別子にすることは醜く、 ファイルの編集を難しくしていますが、残されています。 .Pp キーワードに大文字を許すことが勧められます。たとえば、 .Xr troff 1 コマンドと man page マクロの区別です。 正規表現のサポートで、このことは簡単になるでしょう。 .Pp -FORTRAN に対してプログラムが働きません。 +.Tn FORTRAN +に対してプログラムが働きません。 行の先頭にインデントされているキーワードを見ることにより -FORTRAN だと判別すべきです。 +.Tn FORTRAN +だと判別すべきです。 正規表現のサポートによりこれは簡単になるでしょう。 .Pp -.Em ascmagic +.Pa ascmagic に入っている キーワードのリストは、おそらく .Pa Magic ファイルに 入れるべきものです。 -これはオフセットの値として `*' のようなキーワードを +これはオフセットの値として +.Sq Ic * +のようなキーワードを 使うことで可能でしょう。 .Pp 最初の文字、最初の語、最初の long などに関する テストを 最初に読み込んだときに全て行うことができるよう マジックファイルを並べ直す最適化法はないだろうか。 マジックファイルの矛盾について述べるようにならないか。 エントリーの順序を マジックファイル上の位置ではなく、 ファイルオフセット順にすることはできないだろうか。 .Pp プログラムは、推定が .Dq どれぐらいよい のかを知る方法を 提供すべきです。ファイルの最初の 5 文字が -.Dq From\ \& +.Dq Li "From " であるときに推測をしても、 -.Dq Newsgroups: +.Dq Li "Newsgroups:" や -.Dq Return-Path: +.Dq Li "Return-Path:" といった文字による推測ほどよくはないので、推測結果を 捨てることになります。しかし、もしそういった文字が 現れなければ最初の推定を使わなければなりません。 .Pp このプログラムは、いくつかの商用の .Nm コマンドより遅いです。 複数の文字コードのサポートにより、より遅くなっています。 .Pp このマニュアルページ、特にこの節が長過ぎます。 .Sh 入手性 オリジナル作者の最新のバージョンを anonymous FTP で、 .Pa ftp.deshaw.com の .Pa /pub/file/file-X.YY.tar.gz から手に入れることができます。 diff --git a/ja_JP.eucJP/man/man1/gtar.1 b/ja_JP.eucJP/man/man1/gtar.1 index 82998698da..b8ce4a7ab4 100644 --- a/ja_JP.eucJP/man/man1/gtar.1 +++ b/ja_JP.eucJP/man/man1/gtar.1 @@ -1,588 +1,596 @@ .\" Copyright (c) 1991, 1992, 1993 Free Software Foundation -*- nroff -*- .\" See /usr/src/gnu/COPYING for conditions of redistribution .\" .\" Written by John F. Woods .\" Updated by Robert Eckardt .\" -.\" %FreeBSD: src/gnu/usr.bin/tar/tar.1,v 1.22.2.10 2001/03/05 18:17:26 ru Exp % +.\" %FreeBSD: src/gnu/usr.bin/tar/tar.1,v 1.22.2.11 2001/08/16 10:14:58 ru Exp % .\" -.\" $FreeBSD: doc/ja_JP.eucJP/man/man1/tar.1,v 1.20 2001/05/14 01:07:29 horikawa Exp $ +.\" $FreeBSD: doc/ja_JP.eucJP/man/man1/tar.1,v 1.21 2001/07/29 05:14:52 horikawa Exp $ .Dd December 23, 2000 -.Os FreeBSD +.Os .Dt TAR 1 .Sh 名称 .Nm tar .Nd "テープアーカイバ; ""tar"" アーカイブファイルの操作" .Sh 書式 .Nm .Op Oo Fl Oc Ns Ar bundled-options Ar Args .Op Ar gnu-style-flags .Op Ar filenames | Fl C Ar directory-name .Ar ... .Sh 解説 .Nm は、歴史的な理由により .Dq tape archiver を省略して名付けられました。 .Nm プログラムは、 .Ar tarfile と呼ばれる .Nm フォーマットのアーカイブファイルを作成し、アーカイブにファイルを追加したり、 またアーカイブからファイルを抽出したりします。 .Ar tarfile は通常磁気テープを指しますが、フロッピディスケットや 通常のファイルでも構いません。 .Pp 通常、 .Nm コマンドラインの最初の引数は、機能文字および機能変更文字からなる単語であり、 その前に ダッシュ (-) を付けても付けなくてもいいようになっています。 単語には、次の機能文字のうち丁度 1 つを含んでいる必要があります: .Cm A , .Cm c , .Cm d , .Cm r , .Cm t , .Cm u , .Cm x , これらはそれぞれ、 .Em 追加 (append) 、 .Em 作成 (create) 、 .Em 差分 (difference) 、 .Em 置換 (replace) 、 .Em リスト表示 (table of contents) 、 .Em 更新 (update) 、 .Em 抽出 (extract) を意味しています (下記に詳細があります)。 これらの他に、以下に詳細を述べる機能変更文字を、コマンド単語に 含めることができます。それらのいくつかは、コマンド単語内と同じ順で コマンドライン引数を要求します ( .Sx 使用例 の節を参照)。 機能文字と機能変更文字は、GNU 形式の引数で指定することもできます (2 つのダッシュを最初に付け、1 つのコマンド単語ごとに機能文字か 機能変更文字を 1 つだけ指定する)。 アーカイブへの追加、アーカイブからの抽出、そしてリスト表示のために コマンドライン指定するファイル名には、 シェルのパターンマッチ文字列を使用することができます。 .Sh 機能 以下の機能のいずれか 1 つだけを必ず指定する必要があります。 .Pp .Bl -tag -width "--concatenate" -compact .It Fl A .It Fl -catenate .It Fl "-concatenate" 指定された ( .Nm アーカイブ形式の) ファイルを tar アーカイブの末尾 に追加します (追加する前の古い end-of-archive ブロックは削除さ れます)。 これは、指定されたファイルがアーカイブの中の 1 ファイルとなるので はなく、指定したファイルの中に含まれているファイルを、最初に指定 したアーカイブに追加するという効果を持ちます。 .Em 注 : このオプションは .Ar tarfile を再書き込みする必要があるため、1/4 インチカートリッジテープでは動作しません。 .It Fl c .It Fl -create 新しいアーカイブを作成して (もしくは古い内容を切り捨てて)、指定 されたファイルをアーカイブに書き込みます。 .It Fl d .It Fl -diff .It Fl -compare アーカイブの中のファイルと、それに相当するファイルシステム内の ファイルとの違いを調査します。 .It Fl -delete 指定されたファイルをアーカイブから削除します (1/4 インチテープでは動作しません)。 .It Fl r .It Fl -append アーカイブの末尾にファイルを追加します (1/4 インチテープでは動作しません)。 .It Fl t .It Fl -list アーカイブ内容のリスト表示をします。もし引数として .Ar filename が指定されていれば、そのファイルだけがリスト表示されます。 そうでなければ、アーカイブに含まれるすべてのファイルリストが表示されます。 .It Fl u .It Fl -update 指定したファイルのうち、アーカイブ内のファイルよりもディスク上の ファイルの変更時刻が新しいものだけを追加します。1/4 インチテープ では動作しません。 .It Fl x .It Fl -extract .It Fl -get アーカイブからファイルを抽出します。可能ならば、所有者、 変更時刻、ファイル属性はリストアされます。もし .Ar file 引数が指定されていなければ、アーカイブ内の全ファイルが抽出されます。 もし .Ar filename 引数がテープ上のディレクトリ名にマッチしていれば、そのディレクトリと ディレクトリ内のファイルが抽出されます (ディレクトリ内の すべてのディレクトリについても同様に抽出されます)。 もしアーカイブ内に、相当する同じファイルが複数含まれていれば (上記の .Fl -append コマンドを参照)、最後に含まれているものが他のすべてのファイルを 上書きする形で抽出されます。 .Sh オプション .Nm の他のオプションは、組み合わせて使用することができます。 1 文字オプションは、コマンド単語の中で指定することができます。 引数を与えるべきオプションの場合、オプションに続けて引数を指定し ます。1 文字オプションであれば、これに続くコマンドライン引数を 使用します (以下の .Sx 使用例 を参照してください)。 .Pp .Bl -tag -width "--preserve-permissions" -compact .It Fl -help .Nm のすべてのコマンドオプションについて一覧と解説を表示します。 .It Fl -atime-preserve テープに書かれている、ファイルのアクセス時刻をリストアします。 (inode の変更時刻が変更されることに注意してください!) .It Fl b .It Fl -block-size Ar number 読み書きするブロックサイズを .Ar number * 512-byte ブロック に設定します。 .It Fl B .It Fl -read-full-blocks 短い読みだしブロックを、完全なブロックに再組み立てします ( .Bx 4.2 パイプの読み込み用)。 .It Fl C Ar directory .It Fl -directory Ar directory 残りの引数を処理する前に .Ar directory へ移動します。 .It Fl -checkpoint アーカイブを読み書きする間に読み書きしたバッファの数を表示します。 .It Fl f Xo .Oo Ar hostname : Oc Ns Ar file .Xc .It Fl -file Xo .Oo Ar hostname : Oc Ns Ar file .Xc 指定された .Ar file (デフォルトは .Pa /dev/sa0 ) を読み書きします。 もし .Ar hostname が指定されていれば、 .Nm は .Xr rmt 8 を使って、リモートマシン上の .Ar file を読み書きします。 .Dq Ar - はファイル名として使用されることもありますが、 これは標準入力から読み出したり、標準出力へ書き出したりするために使用されます。 .It Fl -force-local コロンがある時でさえ、アーカイブファイルはローカルのものとします。 .It Fl F Ar file .It Fl -info-script Ar file .It Fl -new-volume-script Ar file それぞれのアーカイブが終ると、スクリプトを実行します (暗黙の .Fl M 指定が行なわれます)。 .It Fl -fast-read ワイルドカードで指定されていないすべての抽出ターゲットが アーカイブ内に見つかったら、その時点で終了します。 .It Fl G .It Fl -incremental 古い GNU-format インクリメンタルバックアップファイルを作成/リスト/抽出します。 .It Fl g Ar file .It Fl -listed-incremental Ar file 新しい GNU-format インクリメンタルバックアップファイルを 作成/リスト/抽出します。 .It Fl h .It Fl -dereference シンボリックリンクをシンボリックのまま書き込みません。シンボリックリンクが 指しているデータを書き込みます。 .It Fl i .It Fl -ignore-zeros アーカイブの中のゼロブロック (通常、End-Of-File を意味する) を無視します。 .It Fl -ignore-failed-read ファイルが読めなくても、非 0 のステータスで exit しません。 .It Fl j .It Fl y .It Fl -bzip .It Fl -bzip2 .It Fl -bunzip2 アーカイブを .Xr bzip2 1 でフィルタリングします。 .It Fl k .It Fl -keep-old-files ディスク上に既にあるファイルを保持します。つまり、アーカイブから 抽出するファイルは、ディスク上のファイルへ上書きしません。 .It Fl K Ar file .It Fl -starting-file Ar file アーカイブの中の .Ar file から (抽出、リストなどを) 始めます。 .It Fl l .It Fl -one-file-system あるファイルシステム内にあるファイルだけでアーカイブを作成します (他ファイルシステムへのマウントポイントを跨ぎません)。 .It Fl L Ar number .It Fl -tape-length Ar number .Ar number * 1024 バイト書き込んだ後でテープの交換を要求します。 .It Fl m .It Fl -modification-time ファイルの変更時刻を抽出しません。 .It Fl M .It Fl -multi-volume マルチボリュームアーカイブを作成/リスト/抽出します。 .It Fl n .It Fl -norecurse 作成時に再帰的にサブディレクトリを走査しません。 .It Fl -volno-file Ar file ボリューム番号付きのファイル名です。 .It Fl N Ar date .It Fl -after-date Ar date .It Fl -newer Ar date 作成時間が .Ar date より新しいファイルだけを抽出します。 .It Fl -newer-mtime Ar date 変更時間が .Ar date より新しいファイルだけを抽出します。 .It Fl o .It Fl -old-archive .It Fl -portability POSIX フォーマットではなく、V7 フォーマットのアーカイブを作成します。 .It Fl O .It Fl -to-stdout ファイルを標準出力に抽出します。 .It Fl p .It Fl -same-permissions .It Fl -preserve-permissions 保護情報を完全に抽出します。 .It Fl -preserve .Fl p s の指定と同じ効果を持ちます。 .It Fl P .It Fl -absolute-paths ファイル名から先頭の .Ql / をとりません。 .It Fl R .It Fl -record-number メッセージ中にアーカイブ内のレコード番号を埋め込み表示します。 .It Fl -remove-files アーカイブに追加したファイルを、追加後に削除します。 .It Fl s .It Fl -same-order .It Fl -preserve-order アーカイブ内から抽出するファイルを、指定された順のままにします。 .It Fl -show-omitted-dirs アーカイブ作成中に除外されたディレクトリを表示します。 .It Fl S .It Fl -sparse .Dq 疎な ファイルを効率的に扱うようにします。 .It Fl T Ar file .It Fl I Ar file .It Fl -files-from Ar file .Ar file から抽出もしくは作成するファイル名を得ます (1 行 1 ファイル名)。 .It Fl -null null で終わっている名前を考慮し、 .Fl T の振舞を変更します。 これは .Fl C 指定を無効にします。 .It Fl -totals .Fl -create によって書かれた総バイト数を表示します。 .It Fl U .It Fl -unlink .It Fl -unlink-first ファイルを作成する前に、いったん削除します。 .It Fl v .It Fl -verbose .Fl -create でアーカイブに書くファイルや .Fl -extract でアーカイブから 取り出すファイル名をリスト表示します。 ファイルの保護情報をファイル名とともに表示させるには、 .Fl -list を使います。 .It Fl V Ar volume-name .It Fl -label Ar volume-name 指定された .Ar volume-name を持ったアーカイブを作成します。 .It Fl -version .Nm プログラムのバージョン番号を表示します。 .It Fl w .It Fl -interactive .It Fl -confirmation すべての動作に対して、確認を求めるようになります。 .It Fl W .It Fl -verify アーカイブを書き込んだ後、ベリファイを試みます。 .It Fl -exclude Ar pattern .Ar pattern にマッチするファイルを除外します (抽出しません。追加しません。リスト表示しません)。 .It Fl X Ar file .It Fl -exclude-from Ar file .Ar file に一覧されているファイルを除外します。 .It Fl Z .It Fl -compress .It Fl -uncompress アーカイブを .Xr compress 1 でフィルタリングします。 .It Fl z .It Fl -gzip .It Fl -gunzip アーカイブを .Xr gzip 1 でフィルタリングします。 .It Fl -use-compress-program Ar program アーカイブを .Ar program でフィルタリングします (これは、 .Fl d が指定されたときは .Dq decompress を意味しなければなりません)。 .It Fl -block-compress テープもしくはフロッピのために、圧縮プログラムの出力をブロック 化します (そうしないと、ブロック長がおかしくなり、デバイスドライバは そのブロックを拒絶するでしょう)。 .It Fl Xo .Op Cm 0 Ns - Ns Cm 7 Ns .Op Cm lmh .Xc テープドライブと密度を指定します。 .El .Sh 環境 環境変数 .Ev TAR_OPTIONS に .Nm のデフォルトオプションを保持させることが可能です。 これらのオプションは最初に解釈されますので、 明示的なコマンドラインパラメータで上書き可能です。 .Sh 使用例 .Pa bert と .Pa ernie というファイルを含む、 ブロックサイズが 20 ブロックのアーカイブを、 テープドライブ .Pa /dev/sa0 に作るには、 .Dl "tar cfb /dev/sa0 20 bert ernie" もしくは .Dl "tar --create --file /dev/sa0 --block-size 20 bert ernie" と入力します。 .Fl f および .Fl b フラグは両方とも引数を必要としていることに注意してください。 この引数は、コマンド単語に書かれているのと同じ順序でコマンドラインから 取得されます。 .Pp .Pa /dev/sa0 はデフォルトのデバイスであり、20 はデフォルトのブロック サイズですので、上記の例は次のように単純化できます。 .Dl "tar c bert ernie" \&"backup.tar" というアーカイブから、すべての C ソース及びヘッダを 抽出するには、次のようにタイプします。 .Pp .Dl tar xf backup.tar '*.[ch]' .Pp シェルがカレントディレクトリ内のファイル名に展開しないよう、パターンを クォートしなければならないことに注意してください (当然、 シェルはアーカイブ内のファイル一覧にアクセスすることはできません)。 .Pp ファイルを階層構造ごとコピーするには、このようにコマンドを使用してください: .Bd -literal tar cf - -C srcdir . | tar xpf - -C destdir .Ed .Pp ディスケットに、 .Xr gzip 1 を使った圧縮アーカイブを作成するには、次の ようなコマンドラインを使うといいでしょう。 .Dl "tar --block-compress -z -c -v -f /dev/fd1a -b 36 tar/" .Pp まとめ指定フラグと .Fl - スタイルのフラグを混在させることができない ことに注意してください。次のようにタイプしなければならないわけで はなく、上記のような書き方で 1 文字フラグを使うことができます。 .Dl "tar --block-compress --gzip --verbose --file /dev/fd1a --block-size 20 tar/" .Pp 上のようにして作成したディスクの内容は、次のようにすればリスト 表示できます。 .Pp .Dl "tar tvfbz /dev/fd1a 36" .Pp 2 つの .Nm アーカイブを 1 つのアーカイブにまとめるには、 .Dl "tar Af archive1.tar archive2.tar" を使います。こうすると、 .Pa archive2.tar に含まれているファイルが .Pa archive1.tar の末尾に追加されます (単純に .Dl "cat archive2.tar >> archive1.tar" とタイプしてもうまくいかないことに注意してください。なぜなら、 .Nm アーカイブの末尾には end-of-file ブロックがあるからです)。 .Pp .Pa srcdir ディレクトリから 1997 年 2 月 9 日 13:00 以降に変更をされた 全てのファイルをアーカイブするためには、以下の形式を使って下さい。 .Dl "tar -c -f backup.tar --newer-mtime 'Feb 9 13:15 1997' srcdir/" .Pp 他の時間指定形式としては、 .Sq "02/09/97 13:15" , .Sq "1997-02-09 13:15" , .Sq "13:15 9 Feb 1997" , .Sq "'9 Feb 1997 13:15" , .Sq "Feb. 9, 1997 1:15pm" , .Sq "09-Feb" , .Sq "3 weeks ago" , .Sq "May first Sunday" があります。 正しいタイムゾーンを指定するためには、 .Sq "13:15 CEST" や .Sq "13:15+200" を使用して下さい。 .Sh 環境変数 .Nm プログラムは、以下の環境変数を参照します。 .Bl -tag -width "POSIXLY_CORRECT" .It Ev POSIXLY_CORRECT 通常、 .Nm はファイル指定の中に混ざったフラグを処理します。 この環境変数を設定すると、 .Nm は最初のフラグ以外の引数を見つける とそれ以降の引数に対してフラグ処理を行なわないという、POSIX 仕様 に合わせた動作を行なうようになります。 .It Ev SHELL インタラクティブモードにおいて、サブシェルの起動が要求されたとき、 .Ev SHELL 変数が設定されていればそれが、設定されていなければ .Pa /bin/sh が使用されます。 .It Ev TAPE .Nm のデフォルトのテープドライブを変更します (これは、さらに .Fl f フラグによって変更することができます)。 .It TAR_RSH TAR_RSH 環境変数は、デフォルトシェルに優先して、 .Nm tar のデータ転送に使用されます。 .El .Sh 関連ファイル .Bl -tag -width "/dev/sa0" .It Pa /dev/sa0 デフォルトのテープドライブ .El .Sh 互換性 .Fl y は FreeBSD だけの機能です。 GNU .Nm メンテナは、 .Fl j を GNU .Nm 1.13.18 以降における公式な .Xr bzip2 1 圧縮オプションとして採用しました。 .Fl I オプションは、Solaris の .Nm との互換性のためにあります。 .Sh 関連項目 .Xr bzip2 1 , .Xr compress 1 , .Xr gzip 1 , .Xr pax 1 , .Xr rmt 8 .Sh 歴史 .Nm フォーマットは立派な歴史を持っていて、Sixth Edition UNIX に 原点があります。 この .Nm の実装は GNU 実装であり、 .An John Gilmore によって書かれた パブリックドメイン .Nm が元になっています。 .Sh 作者 .An -nosplit 次の人を含む、大変多くの人々。[ソースの中の .Pa ChangeLog ファイルに記述されている人々] .An John Gilmore (オリジナルのパブリックドメイン版の作者), .An Jay Fenlason (最初の GNU 作者), .An Joy Kendall , .An Jim Kingdon , .An David J. MacKenzie , .An Michael I Bushnell , .An Noah Friedman そして バグフィックスや追加を貢献してくれた無数の人々。 .Pp このマニュアルページは .Nx 1.0 release から、 .Fx グループが 取り込んだものです。 .Sh バグ 特徴的な .Fl C オプションの動作は、伝統的な .Nm プログラムのそれとは異なるので、 あまり頼りにはできません。 .Pp .Fl A コマンドで任意の数の .Nm アーカイブを結合できればいいのですが、それはできません。 これをやろうとしても、2 つ目以降のアーカイブの end-of-archive ブロックが削除されずに残ってしまいます。 +.Pp +.Nm +ファイルフォーマットは準固定幅フィールドフォーマットであり、 +デバイス番号用のフィールドは 16 ビット用 +(メジャー 8 ビットでマイナ 8 ビット) +にデザインされており、我々の 32 ビット番号 +(メジャー 8 ビットでマイナ 16+8 ビット) +を吸収できません。 diff --git a/ja_JP.eucJP/man/man1/make.1 b/ja_JP.eucJP/man/man1/make.1 index 77fc62cddf..1b5e00d20f 100644 --- a/ja_JP.eucJP/man/man1/make.1 +++ b/ja_JP.eucJP/man/man1/make.1 @@ -1,1202 +1,1209 @@ .\" Copyright (c) 1990, 1993 .\" The Regents of the University of California. All rights reserved. .\" .\" Redistribution and use in source and binary forms, with or without .\" modification, are permitted provided that the following conditions .\" are met: .\" 1. Redistributions of source code must retain the above copyright .\" notice, this list of conditions and the following disclaimer. .\" 2. Redistributions in binary form must reproduce the above copyright .\" notice, this list of conditions and the following disclaimer in the .\" documentation and/or other materials provided with the distribution. .\" 3. All advertising materials mentioning features or use of this software .\" must display the following acknowledgement: .\" This product includes software developed by the University of .\" California, Berkeley and its contributors. .\" 4. Neither the name of the University nor the names of its contributors .\" may be used to endorse or promote products derived from this software .\" without specific prior written permission. .\" .\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND .\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE .\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE .\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE .\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL .\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS .\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) .\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT .\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" .\" from: @(#)make.1 8.4 (Berkeley) 3/19/94 -.\" %FreeBSD: src/usr.bin/make/make.1,v 1.29.2.11 2001/07/22 12:40:25 dd Exp % +.\" %FreeBSD: src/usr.bin/make/make.1,v 1.29.2.12 2001/08/16 13:16:57 ru Exp % .\" .\" this file based on that translated to japanese on NetBSD Japanese Reference .\" Manual Project, and modefied to fit FreeBSD Reference Manual .\" by Mochida Shuji 1996/04/26 -.\" $FreeBSD: doc/ja_JP.eucJP/man/man1/make.1,v 1.23 2001/06/25 02:02:58 horikawa Exp $ +.\" $FreeBSD: doc/ja_JP.eucJP/man/man1/make.1,v 1.24 2001/07/29 05:14:51 horikawa Exp $ .\" .Dd March 19, 1994 .Dt MAKE 1 .Os .Sh 名称 .Nm make .Nd プログラムの依存関係をメンテナンスする .Sh 書式 .Nm .Op Fl BPSXeiknqrstv .Op Fl D Ar variable .Op Fl d Ar flags .Op Fl E Ar variable .Op Fl f Ar makefile .Op Fl I Ar directory .Bk -words .Op Fl j Ar max_jobs .Op Fl m Ar directory .Ek .Op Fl V Ar variable .Op Ar variable Ns No = Ns Ar value .Op Ar target ... .Sh 解説 .Nm は、プログラムのメンテナンスを単純化するためのツールです。 その入力はファイルの生成とプログラムとの間の依存関係を指定する リストが記述されています。 カレントディレクトリまたは特別なオブジェクトディレクトリ .Ql Va (.OBJDIR 参照) のどちらか一方において .Ql Pa makefile と .Ql Pa Makefile の最初に見つかった方から、この指定のリストが読み込まれます。 .Ql Pa .depend というファイルが見つかれば、それも読み込みます .Pq Xr mkdep 1 を参照 。 .Pp 本マニュアルはリファレンスのためのみのドキュメントです。 .Nm と makefile に関する詳しい紹介は .%T "Make \- A Tutorial" を参照してください。 .Pp オプションは以下のとおりです。 .Bl -tag -width Ds .It Fl B シーケンス中の依存行のソースを作成するために、各コマンドに対して 1 つのシェルを実行する、バックワード互換モードで実行しようとします。 このオプションは .Fl j が使用されない限り、デフォルトで有効になります。 .It Fl D Ar variable 大域変数 .Ar variable を 1 と定義します。 .It Fl d Ar flags デバッグモードを有効にし、 .Nm が表示するデバッグ情報の種類を指定します。 引数 .Ar flags には、以下のうち 1 つ以上を指定できます。 .Bl -tag -width Ds .It Ar A すべてのデバッグ情報を出力します。他のフラグをすべて指定したことと 等価です。 .It Ar a アーカイブ検索とキャッシュに関する情報を表示します。 .It Ar c 条件評価に関する情報を表示します。 .It Ar d ディレクトリ検索とキャッシュに関する情報を表示します。 .It Ar f for ループの実行に関するデバッグ情報を表示します。 今のところは何もしていません。 .It Ar "g1" 処理を行う前に、入力のグラフを表示します。 .It Ar "g2" すべての処理を行ったあと、あるいはエラーにより終了する前に入力のグラフを 表示します。 .It Ar j 複数のシェルを起動する場合の情報を表示します。 .It Ar l @ がコマンドに前置されていようといまいと、 また他の「静寂」フラグの有無に関わらず、Makefile のコマンドを表示します。 これは「やかましい」動作としても知られています。 .It Ar m ターゲットの作成と変更日付に関する情報を表示します。 .It Ar s 拡張子解釈に関する情報を表示します。 .It Ar t ターゲットリストのメンテナンスに関する情報を表示します。 .It Ar v 変数の値に関する情報を表示します。 .El .It Fl E Ar variable (存在すれば) 環境の値で上書きする、makefile の中の変数を指定します。 .It Fl e 環境の値で makefile 中のすべての変数の値を上書きするように指示します。 .It Fl f Ar makefile デフォルトの .Ql Pa makefile と .Ql Pa Makefile のかわりに、読み込むファイルを指定します。もし .Ar makefile が .Ql \- なら標準入力から読み込みます。複数のファイルが指定可能で、 指定した順に読み込まれます。 .It Fl I Ar directory makefile と、インクルードされる makefile を検索するためのディレクトリを 指定します。システムで定義してある makefile のあるディレクトリ (または、 複数のディレクトリ; .Fl m オプションを参照) は自動的にリストに含まれ、検索されます。 .It Fl i makefile から実行されたシェルコマンドが 0 でない終了ステータスを返し ても無視します。makefile 中でコマンドの先頭に .Ql \- を指定するのと同じです。 .It Fl j Ar max_jobs .Nm が同時に起動できるジョブの数を指定します。 .Ar B フラグを指定しなければ、互換性モードはオフになります。 .It Fl k エラーが発生しても処理を続行します。ただし、発生したエラーによって作成 が不能になったターゲットに依存したターゲットに関しては処理が中断されます。 .It Fl m Ar directory <...> 形式で読み込まれる sys.mk や makefile を検索するための ディレクトリを指定します。複数のディレクトリを検索パスに加えることが できます。このパスは、デフォルトのシステムインクルードパス .Pa /usr/share/mk を上書きします。 さらに、システムインクルードパスを "..." 形式のインクルードによって 追加することができます( .Fl I オプションを参照)。 .It Fl n make が実行するであろうコマンド内容の表示のみを行い、実行はしません。 .It Fl P 並行して動作するジョブを一緒に混ぜて出力するのでなく、 与えられたジョブの順番をそろえて、ジョブが終了するまで表示しません。 このオプションは .Fl j が使われた時のみ効果を持ちます。 .It Fl q いっさいのコマンドを実行せず、指定されたターゲットが最新のものであれば 0 を、そうでなければ 1 を終了ステータスとして返します。 .It Fl r システムの makefile で定義された組み込みのルールを使用しません。 .It Fl S エラーが起きた時に処理を中止します。 デフォルトの動作です。このオプションは 再帰的な構築の際に .Fl k オプションを打ち消すのに必要となります。 .It Fl s 実行するコマンドを表示しません。makefile のなかで、コマンドの先頭に .Ql Ic @ を指定するのと同じです。 .It Fl t makefile で指定されたターゲットを作り直すのではなく、ターゲットを作成 するか、あるいは最終更新日付を現在の時刻に設定することにより、 ターゲットが最新であるかのようにします。 .It Fl V Ar variable グローバルな文脈での .Nm の .Ar variable の値を表示します。如何なるターゲットも生成しません。 このオプションで複数のインスタンスを指定することができます。 変数は、各行毎に表示されます。未定義もしくは空の変数は、空行で 表現されます。 .It Fl v 特に冗長表示させます。 複数ジョブの make においては、ファイルバナーを生成させます。 .It Fl X .Fl V オプションを使用して変数の値を表示するときに、再帰的な値の展開をしません。 .It Ar variable Ns No = Ns Ar value 変数 .Ar variable の値を .Ar value に設定します。 .El .Pp makefile には 7 種類の行があります: 依存関係記述、シェルコマンド、変数 代入、インクルード文、条件命令、for ループ、コメントです。 .Pp 一般に、行は行末にバックスラッシュ .Pq Ql \e を置くことにより次行へ継続させることがで きます。この場合、バックスラッシュ直後の改行と、次の行の先頭の 空白部分は 1 つの空白に置き換えられます。 .Sh ファイル依存関係記述 入力ファイルにおける依存関係記述行は、1 つ以上のターゲット、オペレータ、 0 個 以上のソースからなります。 これは、ターゲットがソースに .Dq 依存 しているという関係を 定義しており、通常は、ソースからターゲットが作成されます。ターゲットと ソースとの厳密な関係はオペレータによって、両者間に指定します。 オペレータには以下の種類があります。 .Bl -tag -width flag .It Ic \&: ターゲットの最終更新日付が、いずれかのソースの最終更新日付よりも 古いものであれば、ターゲットは古いものであり、作り直されるべきものと 判断されます。 別の行でこのオペレータによる同じターゲットに関するソースの記述があれば、 それらはすべて 1 つにまとめられます。ターゲットの作成中に .Nm が中断されると、ターゲットは削除されます。 .It Ic \&! ターゲットはつねに作り直されます。ただし、作り直されるのは、 すべてのソースが検査され、必要と判断されたソースが作り直されたあとです。 このオペレータによる同じターゲットに関するソースの記述が別の行にもあれば、 それらはすべて 1 つにまとめられます。ターゲットの作成中に .Nm が中断されると、ターゲットは削除されます。 .It Ic \&:: ソースが指定されていなかった場合、つねにターゲットは作り直されます。 指定されていた場合にはソースのいずれかがターゲットよりも新しい時だけ ターゲットは作り直されます。本オペレータでは、別の行において同じ ターゲットに関するソースの記述があっても 1 つにまとめません。 ターゲットの作成中に .Nm が中断されても、ターゲットは削除されません。 .El .Pp ターゲットとソースは、シェルのワイルドカード表記として .Ql \&? , .Ql * , .Ql [] , .Ql {} を含むことができます。 .Ql \&? , .Ql * , .Ql [] の表記は、ターゲットまたはソースの最後の要素として記述でき、 存在するファイルを指定するものでなければなりません。 表記 .Ql {} はファイルが存在しなくてもかまいません。シェルのように辞書順に並べられて 展開されることはなく、ファイルシステム上に並んでいる順番のまま行われます。 .Sh シェルコマンド ターゲットは、シェルコマンドの列と関連付けることができ、通常はそれによって ターゲットを作成します。 これに含まれる各コマンドは、 .Em 必ず 行頭のタブに続けて記述します。同一のターゲットに 対して複数の依存記述行がある場合、 .Ql Ic :: オペレータを使用したのでなければ、それらのうちの 1 つにのみコマンド行を 続けることができます。 .Pp コマンドラインの先頭もしくは先頭 2 文字が .Ql Ic @ や .Ql Ic \- ならば、コマンドは特別な扱いを受けます。 .Ql Ic @ は、コマンドが実行前に、コマンド内容の表示を抑制します。 .Ql Ic \- は、コマンドの 0 ではない終了ステータスを無視するように指示します。 .Sh 変数代入 .Nm で使われる変数はシェルでの変数に類似しています。そして、歴史的な経緯から、 すべて大文字からなる名前が用いられます。変数代入には以下の 5 通りの オペレータを使用できます。 .Bl -tag -width Ds .It Ic \&= 変数に値を代入します。その時点までの値は失われます。 .It Ic \&+= 現在の変数の値に、右辺の値を追加します。 .It Ic \&?= 変数が未定義の場合のみ、値を代入します .It Ic \&:= 右辺を展開した値を代入します。つまり、変数に代入する前に値の展開を行います。 通常、値の展開は代入時には行われず、変数が参照されるときに行われます。 .It Ic \&!= 右辺を展開した値をシェルに実行させ、実行結果を左辺の変数に代入します。 結果のなかに含まれる改行は空白に置き換えられます。 .El .Pp いずれの場合も、値の前にある空白は無視されます。値が追加される場合、 変数の直前の値と追加する値との間に空白が挿入されます。 .Pp 変数は、ドル記号 .Pq Ql $ に続いて中括弧 .Pq Ql {} または小括弧 .Pq Ql () で囲まれた変数名を置くことにより展開されます。もし変数名が 1 文字な ら、変数名を囲む括弧は省略できますが、このような省略形は推奨できません。 .Pp 変数置換は、変数が用いられている場所により、 2 つの別々のタイミングで 行われます。依存関係記述行で用いられた変数は、その行が読み込まれたときに 展開されます。シェルコマンド内で用いられた変数は、シェルコマンド実行時に 展開されます。 .Pp 変数には、優先度に従って、4 つの異なるクラスがあります: .Bl -tag -width Ds .It 環境変数 .Nm の環境中で有効な変数 .It グローバル変数 makefile とインクルードされた makefile 内で有効な変数。 .It コマンドライン変数 コマンドラインで指定された変数。 .It ローカル変数 あるターゲットのみに対して定義される変数。ローカル変数には、 以下の 7 種類があります: .Bl -tag -width ".ARCHIVE" .It Va .ALLSRC このターゲットに対するすべてのソースのリスト。 .Ql Va \&> も同じです。 .It Va .ARCHIVE アーカイブファイル名。 .Ql Va \&! も同じです。 .It Va .IMPSRC ターゲット名に変換するのに使用するソースのファイル名またはパス名 ( .Dq 暗黙の ソース)。 .Ql Va \&< も同じです。 .It Va .MEMBER アーカイブのメンバ。 .Ql Va \&% も同じです。 .It Va .OODATE ターゲットよりも新しいソースのリスト。 .Ql Va \&? も同じです。 .It Va .PREFIX ターゲットのディレクトリ名と拡張子を取り除いた名前。 .Ql Va * も同じです。 .It Va .TARGET ターゲットの名前。 .Ql Va @ も同じです。 .El .Pp 短い形式 .Ql Va @ , .Ql Va \&! , .Ql Va \&< , .Ql Va \&% , .Ql Va ? , .Ql Va \&> , .Ql Va * は互換性のためのものですが、利用することは推奨できません。 また、 .Ql Va "@F" , .Ql Va "@D" , .Ql Va " .It Ic \&.include Ar \*qfile\*q 指定した makefile をインクルードします。 アングルブラケットが使用された場合は、 makefile はシステムの makefile ディレクトリにあるものを用います。 ダブルクォートが使用された場合は、 makefile が存在するディレクトリ、 .Fl I オプションで指定されたディレクトリ、システムの makefile ディレクトリの 順に検索します。 .It Ic \&.undef Ar variable 指定したグローバル変数を未定義とします。 グローバル変数のみ、未定義とすることができます。 .It Ic \&.error Ar message makefile の処理を即座に終了します。 makefile のファイル名と、どの行でエラーとなったかと、 指定したエラーメッセージとを、標準出力に表示し、 .Nm は終了コード 1 で終了します。 .El .Pp 条件文は Makefile のどの部分を処理するのかを判定するために使用します。 C プリプロセッサがサポートする条件文と同様に使用されます。 以下の条件文がサポートされています: .Bl -tag -width Ds .It Xo .Ic \&.if .Oo \&! Oc Ns Ar expression .Op Ar operator expression ... .Xc 式の値をテストします。 .It Xo .Ic .ifdef .Oo \&! Oc Ns Ar variable .Op Ar operator variable ... .Xc 変数の値をテストします。 .It Xo .Ic .ifndef .Oo \&! Oc Ns Ar variable .Op Ar operator variable ... .Xc 変数の値をテストします。 .It Xo .Ic .ifmake .Oo \&! Oc Ns Ar target .Op Ar operator target ... .Xc ターゲット .Ar target が作成中かどうかをテストします。 .It Xo .Ic .ifnmake .Oo \&! Oc Ns Ar target .Op Ar operator target ... .Xc ターゲット .Ar target が作成中かどうかをテストします。 .It Ic .else 最後に行った条件文の意味を逆にします。 .It Xo .Ic .elif .Oo \&! Oc Ns Ar expression .Op Ar operator expression ... .Xc .Ql Ic .else と直後の .Ql Ic .if を対にしたものです。 .It Xo .Ic .elifdef .Oo \&! Oc Ns Ar variable .Op Ar operator variable ... .Xc .Ql Ic .else と直後の .Ql Ic .ifdef を対にしたものです。 .It Xo .Ic .elifndef .Oo \&! Oc Ns Ar variable .Op Ar operator variable ... .Xc .Ql Ic .else と直後の .Ql Ic .ifndef を対にしたものです。 .It Xo .Ic .elifmake .Oo \&! Oc Ns Ar target .Op Ar operator target ... .Xc .Ql Ic .else と直後の .Ql Ic .ifmake を対にしたものです。 .It Xo .Ic .elifnmake .Oo \&! Oc Ns Ar target .Op Ar operator target ... .Xc .Ql Ic .else と直後の .Ql Ic .ifnmake を対にしたものです。 .It Ic .endif 条件文の本体を終了させます。 .El .Pp オペレータ .Ar operator は、以下のうちのいずれかです。 .Bl -tag -width "Cm XX" .It Cm \&|\&| 論理 OR。 .It Cm \&&& 論理 AND。 .Ql Ic || より優先順位が上です。 .El .Pp C 言語と同様、 .Nm は条件式を、式の値を決定するのに必要なところまでしか評価しません。 評価順序を変更するには括弧を使います。論理オペレータ .Ql Ic !\& は条件式全体の値を反転するのに使用します。 .Ql Ic !\& は .Ql Ic \&&& より優先順位が上です。 .Pp 式 .Ar expression は、以下のいずれかの形式です: .Bl -tag -width Ic .It Ic defined 引数として変数名をとり、変数が定義されていれば真となる。 .It Ic make 引数としてターゲット名をとり、そのターゲットが .Nm のコマンドライン引数に指定されているか、デフォルトのターゲット .Pq 明示的なものも暗黙的なものも含む。 Va .MAIN の項を参照 として宣言されている場合に真となる。 .It Ic empty 引数として変数名 .Pq と修飾子 をとり、展開した結果が空文字列ならば真となる。 .It Ic exists 引数としてファイル名をとり、ファイルが存在すれば真となる。 ファイルはシステム検索パス .Pq Va .PATH の項を参照 にそって検索される。 .It Ic target 引数としてターゲット名をとり、ターゲットが定義されているなら真となる。 .El .Pp 条件式 .Ar expression としては、数値あるいは文字列の比較を用いることもできます。比較オペレータの 両辺は、変数展開が適用されたあとに比較されます。値が 0x で始まるなら 16 進数 であると解釈し、さもなければ 10 進数と解釈します。8 進数はサポートして いません。標準的な C 言語の関係オペレータは全て利用可能です。 変数展開後、 .Ql Ic == または .Ql Ic "!=" の左辺値または右辺値のいずれかが数値とは認められない場合、文字列として 比較を行います。関係オペレータが指定されなかった場合、展開された変数と 0 とを 比較します。 .Pp 条件式を評価中に、評価できない単語が出現した場合は、条件式の形式によって、 .Dq make または .Dq defined オペレータを適用します。条件式が .Ql Ic .ifdef または .Ql Ic .ifndef ならば .Dq defined を、条件式が .Ql Ic .ifmake または .Ql Ic .ifnmake ならば .Dq make を、それぞれ適用します。 .Pp 条件式が真と評価されたなら、makefile の解析はそのまま続行されます。 偽と評価されたなら、 .Ql Ic .else または .Ql Ic .endif が見つかるまで makefile の解析をスキップします。 .Pp for ループは、いくつかのルールを一連のファイルに適用するのによく 用いられます。以下がループの形式です: .Pp .Bl -tag -width indent -compact .It Ic .for Ar variable Ic in Ar expression .It .It Ic \&.endfor .El .Pp .Ar expression は評価されたあとに単語に分解され、それぞれを .Ar variable に代入 しながら、 .Ic make-rules 部分を繰り返し展開します。 .Sh コメント コメントはハッシュ記号 .Pq Ql \&# から始まり、シェルコマンド行以外のどこにでも置くことができます。 コメントは改行で終わります。 .Sh 特殊ソース .Bl -tag -width Ic .It Ic .IGNORE 本ターゲットに関連したコマンドでのエラーを無視します。シェルコマンドの 先頭にダッシュ .Ql \- を指定したのと等価です。 .It Ic .MAKE たとえ、 .Fl n や .Fl t オプションが指定されていても、このターゲットに関連したシェルコマンドを 実行します。通常、再帰的な .Nm のために用いられます。 .It Ic .NOTMAIN 通常 .Nm は、最初に発見したターゲットをデフォルトのターゲットとみなします。 .Ic .NOTMAIN が指定されたターゲットはデフォルトのターゲットとはみなされなくなります。 .It Ic .OPTIONAL もし .Ic .OPTIONAL が指定されたターゲットの作り方がわからなくても、エラーとはせず、 そのターゲットは必要ないか、すでに存在しているものとみなします。 .It Ic .PRECIOUS 通常 .Nm が中断されたときは、作成途中のターゲットは削除されます。本ソースを 指定することで、そのターゲットを削除しなくなります。 .It Ic .SILENT 指定されたターゲットに関連づけられたシェルコマンドを実行するときに エコーを行いません。シェルコマンドの先頭に .Ql @ を指定したのと等価です。 .It Ic .USE 指定されたターゲットをマクロ的に扱います。 .Ic .USE をソースに持つターゲット .Pq 以下ではマクロと呼びます が別のターゲットのソースとなった場合、その ターゲットはコマンド、ソース、属性( .Ic .USE は除く) をマクロから受け取ります。もし、すでにターゲットにコマンドが指定されていた 場合は、マクロのコマンドが追加されます。 .It Ic .WAIT 特別な .Ic .WAIT ソースが依存関係行に現れた時には、ソースはその行中でソースが 作成されるまで待ちます。ループは検出されず、ループ形式のターゲットは 単に無視されます。 .El .Sh 特殊ターゲット 特殊ターゲットは、他のターゲットとともに使用してはいけません。すなわち、 依存関係記述行の唯一のターゲットとして指定する必要があります。 .Bl -tag -width Ic .It Ic .BEGIN 本ターゲットに指定されたシェルコマンドは他の処理に先立って実行されます。 .It Ic .DEFAULT これは、作成方法がわからないどんなターゲットにも適用される .Ic .USE ルールのようなものです。シェルスクリプトのみを使用します。 .Ic .DEFAULT に指定されたコマンド中の .Ic .IMPSRC 変数はターゲット自身の名前に置換されます。 .It Ic .END 本ターゲットに指定されたシェルコマンドは、他のすべての処理の終了後に 実行されます。 .It Ic .IGNORE 指定されたソースに .Ic .IGNORE 属性を付与します。もしソースが指定されていなければ、 .Fl i オプションを指定したのと同じ意味になります。 .It Ic .INCLUDES ソースファイル中で include される可能性のあるファイルの拡張子のリスト。 拡張子はあらかじめ .Ic .SUFFIXES で宣言されていなければなりません; このように宣言された拡張子は自身の検索パス( .Ic .PATH 参照) にそれぞれ .Fl I フラグを前に付けた状態で .Va .INCLUDES 特殊変数に設定されます。 .It Ic .INTERRUPT .Nm が中断されたとき、本ターゲットに指定されたコマンドを実行します。 .It Ic .LIBS .Ic .INCLUDES が include ファイルに対して行なうことと同じことを ライブラリに対して行ないます。ただし .Fl L フラグが使われます。 .It Ic .MAIN ターゲットを指定せずに .Nm が起動された場合、本ターゲットを処理します。 .Nm がデフォルトターゲットを選択した際に、 利用者がコマンドラインからデフォルトターゲットを指示できるようにするため、 明示的・暗黙的に関わらず必ず設定されます。 .It Ic .MAKEFLAGS ソースにおいて、 .Nm に指定するフラグを指定します。フラグはシェルでタイプしたのと同様に 渡されますが、 .Fl f オプションは無効になります。 .\" XXX: NOT YET!!!! .\" .It Ic .NOTPARALLEL .\" この名前のターゲットは、並列モードを使わすに実行されます。 .\" ターゲットが指定されていない時には、全てのターゲットが非並列モード .\" で実行されます。 .It Ic .NOTPARALLEL 並列モードを使いません。 .It Ic .NO_PARALLEL 上と同じですが、 pmake の変種のための互換性のためにあります。 .It Ic .ORDER シーケンス中の名前付きターゲットが作成されます。 .\" XXX: NOT YET!!!! .\" .It Ic .PARALLEL .\" 名前付きターゲットが並列モードで実行されます。 .\" ターゲットが指定されない時には、全てのターゲットが並列モードで実行 .\" されます。 .It Ic .PATH カレントディレクトリに発見できなかったときのファイルの検索パスを、 本ターゲットのソースとして指定します。ソースが指定されなかった場合、 以前に設定されていたディレクトリが無効になります。 可能であれば .Ic .PATH を利用する方が、 .Va VPATH 変数を利用するよりも好まれています。 .It Ic .PATH\fIsuffix\fR カレントディレクトリに発見できなかったときの suffix のついたファイルの検索パスをソースとして指定します。 .Nm はファイルが見つからなかった場合に、 デフォルトパスよりも先に、まず suffix の付いた検索パスで探します。 この形式は .Ic .LIBS と .Ic .INCLUDES が動作するために必要です。 .It Ic .PHONY .Ic .PHONY 属性を指定したソースに適用します。この属性を持ったターゲットは いつでも更新されていると考えられます。 .It Ic .PRECIOUS 指定されたソースに .Ic .PRECIOUS 属性を付与します。もし、ソースが指定されなかった場合、 すべてのターゲットに .Ic .PRECIOUS 属性を与えます。 .It Ic .SILENT 指定されたソースに .Ic .SILENT 属性を付与します。もし、ソースが指定されなかった場合、 ファイル中のすべてのコマンドに .Ic .SILENT 属性を与えます。 .It Ic .SUFFIXES ソースにおいて、 .Nm で用いる拡張子を指定します。ソースが指定されなかった場合は、 以前の指定が無効になります。 .El .Sh 互換性 .Nm の古いバージョンは .Ev MAKEFLAGS の代わりに .Ev MAKE を使っていました。 この機能は POSIX への互換性のために削除されました。 内部変数 .Va MAKE は .Va .MAKE と同じ値が代入されます ; この機能は将来削除されるかもしれません。 .Pp .Nm のたくさんの秘密にされいている機能の多くは、 より多くの互換性を保つために使用を避けるべきです。 .Sh 環境変数 .Nm は次の環境変数の値を用います: .Ev MACHINE , .Ev MAKE , .Ev MAKEFLAGS , .Ev MAKEOBJDIR , .Ev MAKEOBJDIRPREFIX , .Ev PWD .Sh 関連ファイル .Bl -tag -width /usr/share/doc/psd/12.make -compact .It Pa .depend 依存関係リスト .It Pa Makefile 依存関係リスト .It Pa makefile 依存関係リスト .It obj オブジェクトディレクトリ .It Pa sys.mk システム定義の makefile (他のすべてのファイルよりも前に処理されます。これには .Pa makefile と .Pa Makefile も含まれます) .It Pa /usr/share/mk システム定義の makefile が置かれるディレクトリ .It /usr/share/doc/psd/12.make PMake のチュートリアル .It Pa /usr/obj デフォルトの .Ev MAKEOBJDIRPREFIX ディレクトリ .El .Sh バグ .Va .OBJDIR の決定は不条理といっていいほどまで曲解されます。 .Pp 複数の .Ic .MAIN 特殊ターゲットが存在した場合、 .Nm は最初のもの以外は黙って無視します。 .Pp .Nm がターゲット名なしに起動された場合と .Ic .MAIN 特殊ターゲットが存在しなかった場合、 .Va .TARGETS は設定されません。 .Pp テスト時の .Ar expression の評価はあまり気が配られていません。今のところ、 .Ql .if ${VAR} op something という形式でしか動きません。 例えば、テストは .Ql .if ${VAR} = "string" のように書かなければなりません。 他の書き方では動きません。 .Pp for ループはテストされる前に展開されるため、 .Bd -literal \&.for TMACHINE in ${SHARED_ARCHS} \&.if ${TMACHINE} = ${MACHINE} ... \&.endif \&.endfor .Ed のような断片は動きません。他の方法を使って書き直す必要があります。 .Sh 関連項目 -.Xr mkdep 1 +.Xr mkdep 1 , +.Xr make.conf 5 .Rs .%T "PMake - A Tutorial" .Re .Pa /usr/share/doc/psd/12.make にあります。 .Sh 歴史 .Nm は .At v7 において追加されました。 diff --git a/ja_JP.eucJP/man/man1/tar.1 b/ja_JP.eucJP/man/man1/tar.1 index 82998698da..b8ce4a7ab4 100644 --- a/ja_JP.eucJP/man/man1/tar.1 +++ b/ja_JP.eucJP/man/man1/tar.1 @@ -1,588 +1,596 @@ .\" Copyright (c) 1991, 1992, 1993 Free Software Foundation -*- nroff -*- .\" See /usr/src/gnu/COPYING for conditions of redistribution .\" .\" Written by John F. Woods .\" Updated by Robert Eckardt .\" -.\" %FreeBSD: src/gnu/usr.bin/tar/tar.1,v 1.22.2.10 2001/03/05 18:17:26 ru Exp % +.\" %FreeBSD: src/gnu/usr.bin/tar/tar.1,v 1.22.2.11 2001/08/16 10:14:58 ru Exp % .\" -.\" $FreeBSD: doc/ja_JP.eucJP/man/man1/tar.1,v 1.20 2001/05/14 01:07:29 horikawa Exp $ +.\" $FreeBSD: doc/ja_JP.eucJP/man/man1/tar.1,v 1.21 2001/07/29 05:14:52 horikawa Exp $ .Dd December 23, 2000 -.Os FreeBSD +.Os .Dt TAR 1 .Sh 名称 .Nm tar .Nd "テープアーカイバ; ""tar"" アーカイブファイルの操作" .Sh 書式 .Nm .Op Oo Fl Oc Ns Ar bundled-options Ar Args .Op Ar gnu-style-flags .Op Ar filenames | Fl C Ar directory-name .Ar ... .Sh 解説 .Nm は、歴史的な理由により .Dq tape archiver を省略して名付けられました。 .Nm プログラムは、 .Ar tarfile と呼ばれる .Nm フォーマットのアーカイブファイルを作成し、アーカイブにファイルを追加したり、 またアーカイブからファイルを抽出したりします。 .Ar tarfile は通常磁気テープを指しますが、フロッピディスケットや 通常のファイルでも構いません。 .Pp 通常、 .Nm コマンドラインの最初の引数は、機能文字および機能変更文字からなる単語であり、 その前に ダッシュ (-) を付けても付けなくてもいいようになっています。 単語には、次の機能文字のうち丁度 1 つを含んでいる必要があります: .Cm A , .Cm c , .Cm d , .Cm r , .Cm t , .Cm u , .Cm x , これらはそれぞれ、 .Em 追加 (append) 、 .Em 作成 (create) 、 .Em 差分 (difference) 、 .Em 置換 (replace) 、 .Em リスト表示 (table of contents) 、 .Em 更新 (update) 、 .Em 抽出 (extract) を意味しています (下記に詳細があります)。 これらの他に、以下に詳細を述べる機能変更文字を、コマンド単語に 含めることができます。それらのいくつかは、コマンド単語内と同じ順で コマンドライン引数を要求します ( .Sx 使用例 の節を参照)。 機能文字と機能変更文字は、GNU 形式の引数で指定することもできます (2 つのダッシュを最初に付け、1 つのコマンド単語ごとに機能文字か 機能変更文字を 1 つだけ指定する)。 アーカイブへの追加、アーカイブからの抽出、そしてリスト表示のために コマンドライン指定するファイル名には、 シェルのパターンマッチ文字列を使用することができます。 .Sh 機能 以下の機能のいずれか 1 つだけを必ず指定する必要があります。 .Pp .Bl -tag -width "--concatenate" -compact .It Fl A .It Fl -catenate .It Fl "-concatenate" 指定された ( .Nm アーカイブ形式の) ファイルを tar アーカイブの末尾 に追加します (追加する前の古い end-of-archive ブロックは削除さ れます)。 これは、指定されたファイルがアーカイブの中の 1 ファイルとなるので はなく、指定したファイルの中に含まれているファイルを、最初に指定 したアーカイブに追加するという効果を持ちます。 .Em 注 : このオプションは .Ar tarfile を再書き込みする必要があるため、1/4 インチカートリッジテープでは動作しません。 .It Fl c .It Fl -create 新しいアーカイブを作成して (もしくは古い内容を切り捨てて)、指定 されたファイルをアーカイブに書き込みます。 .It Fl d .It Fl -diff .It Fl -compare アーカイブの中のファイルと、それに相当するファイルシステム内の ファイルとの違いを調査します。 .It Fl -delete 指定されたファイルをアーカイブから削除します (1/4 インチテープでは動作しません)。 .It Fl r .It Fl -append アーカイブの末尾にファイルを追加します (1/4 インチテープでは動作しません)。 .It Fl t .It Fl -list アーカイブ内容のリスト表示をします。もし引数として .Ar filename が指定されていれば、そのファイルだけがリスト表示されます。 そうでなければ、アーカイブに含まれるすべてのファイルリストが表示されます。 .It Fl u .It Fl -update 指定したファイルのうち、アーカイブ内のファイルよりもディスク上の ファイルの変更時刻が新しいものだけを追加します。1/4 インチテープ では動作しません。 .It Fl x .It Fl -extract .It Fl -get アーカイブからファイルを抽出します。可能ならば、所有者、 変更時刻、ファイル属性はリストアされます。もし .Ar file 引数が指定されていなければ、アーカイブ内の全ファイルが抽出されます。 もし .Ar filename 引数がテープ上のディレクトリ名にマッチしていれば、そのディレクトリと ディレクトリ内のファイルが抽出されます (ディレクトリ内の すべてのディレクトリについても同様に抽出されます)。 もしアーカイブ内に、相当する同じファイルが複数含まれていれば (上記の .Fl -append コマンドを参照)、最後に含まれているものが他のすべてのファイルを 上書きする形で抽出されます。 .Sh オプション .Nm の他のオプションは、組み合わせて使用することができます。 1 文字オプションは、コマンド単語の中で指定することができます。 引数を与えるべきオプションの場合、オプションに続けて引数を指定し ます。1 文字オプションであれば、これに続くコマンドライン引数を 使用します (以下の .Sx 使用例 を参照してください)。 .Pp .Bl -tag -width "--preserve-permissions" -compact .It Fl -help .Nm のすべてのコマンドオプションについて一覧と解説を表示します。 .It Fl -atime-preserve テープに書かれている、ファイルのアクセス時刻をリストアします。 (inode の変更時刻が変更されることに注意してください!) .It Fl b .It Fl -block-size Ar number 読み書きするブロックサイズを .Ar number * 512-byte ブロック に設定します。 .It Fl B .It Fl -read-full-blocks 短い読みだしブロックを、完全なブロックに再組み立てします ( .Bx 4.2 パイプの読み込み用)。 .It Fl C Ar directory .It Fl -directory Ar directory 残りの引数を処理する前に .Ar directory へ移動します。 .It Fl -checkpoint アーカイブを読み書きする間に読み書きしたバッファの数を表示します。 .It Fl f Xo .Oo Ar hostname : Oc Ns Ar file .Xc .It Fl -file Xo .Oo Ar hostname : Oc Ns Ar file .Xc 指定された .Ar file (デフォルトは .Pa /dev/sa0 ) を読み書きします。 もし .Ar hostname が指定されていれば、 .Nm は .Xr rmt 8 を使って、リモートマシン上の .Ar file を読み書きします。 .Dq Ar - はファイル名として使用されることもありますが、 これは標準入力から読み出したり、標準出力へ書き出したりするために使用されます。 .It Fl -force-local コロンがある時でさえ、アーカイブファイルはローカルのものとします。 .It Fl F Ar file .It Fl -info-script Ar file .It Fl -new-volume-script Ar file それぞれのアーカイブが終ると、スクリプトを実行します (暗黙の .Fl M 指定が行なわれます)。 .It Fl -fast-read ワイルドカードで指定されていないすべての抽出ターゲットが アーカイブ内に見つかったら、その時点で終了します。 .It Fl G .It Fl -incremental 古い GNU-format インクリメンタルバックアップファイルを作成/リスト/抽出します。 .It Fl g Ar file .It Fl -listed-incremental Ar file 新しい GNU-format インクリメンタルバックアップファイルを 作成/リスト/抽出します。 .It Fl h .It Fl -dereference シンボリックリンクをシンボリックのまま書き込みません。シンボリックリンクが 指しているデータを書き込みます。 .It Fl i .It Fl -ignore-zeros アーカイブの中のゼロブロック (通常、End-Of-File を意味する) を無視します。 .It Fl -ignore-failed-read ファイルが読めなくても、非 0 のステータスで exit しません。 .It Fl j .It Fl y .It Fl -bzip .It Fl -bzip2 .It Fl -bunzip2 アーカイブを .Xr bzip2 1 でフィルタリングします。 .It Fl k .It Fl -keep-old-files ディスク上に既にあるファイルを保持します。つまり、アーカイブから 抽出するファイルは、ディスク上のファイルへ上書きしません。 .It Fl K Ar file .It Fl -starting-file Ar file アーカイブの中の .Ar file から (抽出、リストなどを) 始めます。 .It Fl l .It Fl -one-file-system あるファイルシステム内にあるファイルだけでアーカイブを作成します (他ファイルシステムへのマウントポイントを跨ぎません)。 .It Fl L Ar number .It Fl -tape-length Ar number .Ar number * 1024 バイト書き込んだ後でテープの交換を要求します。 .It Fl m .It Fl -modification-time ファイルの変更時刻を抽出しません。 .It Fl M .It Fl -multi-volume マルチボリュームアーカイブを作成/リスト/抽出します。 .It Fl n .It Fl -norecurse 作成時に再帰的にサブディレクトリを走査しません。 .It Fl -volno-file Ar file ボリューム番号付きのファイル名です。 .It Fl N Ar date .It Fl -after-date Ar date .It Fl -newer Ar date 作成時間が .Ar date より新しいファイルだけを抽出します。 .It Fl -newer-mtime Ar date 変更時間が .Ar date より新しいファイルだけを抽出します。 .It Fl o .It Fl -old-archive .It Fl -portability POSIX フォーマットではなく、V7 フォーマットのアーカイブを作成します。 .It Fl O .It Fl -to-stdout ファイルを標準出力に抽出します。 .It Fl p .It Fl -same-permissions .It Fl -preserve-permissions 保護情報を完全に抽出します。 .It Fl -preserve .Fl p s の指定と同じ効果を持ちます。 .It Fl P .It Fl -absolute-paths ファイル名から先頭の .Ql / をとりません。 .It Fl R .It Fl -record-number メッセージ中にアーカイブ内のレコード番号を埋め込み表示します。 .It Fl -remove-files アーカイブに追加したファイルを、追加後に削除します。 .It Fl s .It Fl -same-order .It Fl -preserve-order アーカイブ内から抽出するファイルを、指定された順のままにします。 .It Fl -show-omitted-dirs アーカイブ作成中に除外されたディレクトリを表示します。 .It Fl S .It Fl -sparse .Dq 疎な ファイルを効率的に扱うようにします。 .It Fl T Ar file .It Fl I Ar file .It Fl -files-from Ar file .Ar file から抽出もしくは作成するファイル名を得ます (1 行 1 ファイル名)。 .It Fl -null null で終わっている名前を考慮し、 .Fl T の振舞を変更します。 これは .Fl C 指定を無効にします。 .It Fl -totals .Fl -create によって書かれた総バイト数を表示します。 .It Fl U .It Fl -unlink .It Fl -unlink-first ファイルを作成する前に、いったん削除します。 .It Fl v .It Fl -verbose .Fl -create でアーカイブに書くファイルや .Fl -extract でアーカイブから 取り出すファイル名をリスト表示します。 ファイルの保護情報をファイル名とともに表示させるには、 .Fl -list を使います。 .It Fl V Ar volume-name .It Fl -label Ar volume-name 指定された .Ar volume-name を持ったアーカイブを作成します。 .It Fl -version .Nm プログラムのバージョン番号を表示します。 .It Fl w .It Fl -interactive .It Fl -confirmation すべての動作に対して、確認を求めるようになります。 .It Fl W .It Fl -verify アーカイブを書き込んだ後、ベリファイを試みます。 .It Fl -exclude Ar pattern .Ar pattern にマッチするファイルを除外します (抽出しません。追加しません。リスト表示しません)。 .It Fl X Ar file .It Fl -exclude-from Ar file .Ar file に一覧されているファイルを除外します。 .It Fl Z .It Fl -compress .It Fl -uncompress アーカイブを .Xr compress 1 でフィルタリングします。 .It Fl z .It Fl -gzip .It Fl -gunzip アーカイブを .Xr gzip 1 でフィルタリングします。 .It Fl -use-compress-program Ar program アーカイブを .Ar program でフィルタリングします (これは、 .Fl d が指定されたときは .Dq decompress を意味しなければなりません)。 .It Fl -block-compress テープもしくはフロッピのために、圧縮プログラムの出力をブロック 化します (そうしないと、ブロック長がおかしくなり、デバイスドライバは そのブロックを拒絶するでしょう)。 .It Fl Xo .Op Cm 0 Ns - Ns Cm 7 Ns .Op Cm lmh .Xc テープドライブと密度を指定します。 .El .Sh 環境 環境変数 .Ev TAR_OPTIONS に .Nm のデフォルトオプションを保持させることが可能です。 これらのオプションは最初に解釈されますので、 明示的なコマンドラインパラメータで上書き可能です。 .Sh 使用例 .Pa bert と .Pa ernie というファイルを含む、 ブロックサイズが 20 ブロックのアーカイブを、 テープドライブ .Pa /dev/sa0 に作るには、 .Dl "tar cfb /dev/sa0 20 bert ernie" もしくは .Dl "tar --create --file /dev/sa0 --block-size 20 bert ernie" と入力します。 .Fl f および .Fl b フラグは両方とも引数を必要としていることに注意してください。 この引数は、コマンド単語に書かれているのと同じ順序でコマンドラインから 取得されます。 .Pp .Pa /dev/sa0 はデフォルトのデバイスであり、20 はデフォルトのブロック サイズですので、上記の例は次のように単純化できます。 .Dl "tar c bert ernie" \&"backup.tar" というアーカイブから、すべての C ソース及びヘッダを 抽出するには、次のようにタイプします。 .Pp .Dl tar xf backup.tar '*.[ch]' .Pp シェルがカレントディレクトリ内のファイル名に展開しないよう、パターンを クォートしなければならないことに注意してください (当然、 シェルはアーカイブ内のファイル一覧にアクセスすることはできません)。 .Pp ファイルを階層構造ごとコピーするには、このようにコマンドを使用してください: .Bd -literal tar cf - -C srcdir . | tar xpf - -C destdir .Ed .Pp ディスケットに、 .Xr gzip 1 を使った圧縮アーカイブを作成するには、次の ようなコマンドラインを使うといいでしょう。 .Dl "tar --block-compress -z -c -v -f /dev/fd1a -b 36 tar/" .Pp まとめ指定フラグと .Fl - スタイルのフラグを混在させることができない ことに注意してください。次のようにタイプしなければならないわけで はなく、上記のような書き方で 1 文字フラグを使うことができます。 .Dl "tar --block-compress --gzip --verbose --file /dev/fd1a --block-size 20 tar/" .Pp 上のようにして作成したディスクの内容は、次のようにすればリスト 表示できます。 .Pp .Dl "tar tvfbz /dev/fd1a 36" .Pp 2 つの .Nm アーカイブを 1 つのアーカイブにまとめるには、 .Dl "tar Af archive1.tar archive2.tar" を使います。こうすると、 .Pa archive2.tar に含まれているファイルが .Pa archive1.tar の末尾に追加されます (単純に .Dl "cat archive2.tar >> archive1.tar" とタイプしてもうまくいかないことに注意してください。なぜなら、 .Nm アーカイブの末尾には end-of-file ブロックがあるからです)。 .Pp .Pa srcdir ディレクトリから 1997 年 2 月 9 日 13:00 以降に変更をされた 全てのファイルをアーカイブするためには、以下の形式を使って下さい。 .Dl "tar -c -f backup.tar --newer-mtime 'Feb 9 13:15 1997' srcdir/" .Pp 他の時間指定形式としては、 .Sq "02/09/97 13:15" , .Sq "1997-02-09 13:15" , .Sq "13:15 9 Feb 1997" , .Sq "'9 Feb 1997 13:15" , .Sq "Feb. 9, 1997 1:15pm" , .Sq "09-Feb" , .Sq "3 weeks ago" , .Sq "May first Sunday" があります。 正しいタイムゾーンを指定するためには、 .Sq "13:15 CEST" や .Sq "13:15+200" を使用して下さい。 .Sh 環境変数 .Nm プログラムは、以下の環境変数を参照します。 .Bl -tag -width "POSIXLY_CORRECT" .It Ev POSIXLY_CORRECT 通常、 .Nm はファイル指定の中に混ざったフラグを処理します。 この環境変数を設定すると、 .Nm は最初のフラグ以外の引数を見つける とそれ以降の引数に対してフラグ処理を行なわないという、POSIX 仕様 に合わせた動作を行なうようになります。 .It Ev SHELL インタラクティブモードにおいて、サブシェルの起動が要求されたとき、 .Ev SHELL 変数が設定されていればそれが、設定されていなければ .Pa /bin/sh が使用されます。 .It Ev TAPE .Nm のデフォルトのテープドライブを変更します (これは、さらに .Fl f フラグによって変更することができます)。 .It TAR_RSH TAR_RSH 環境変数は、デフォルトシェルに優先して、 .Nm tar のデータ転送に使用されます。 .El .Sh 関連ファイル .Bl -tag -width "/dev/sa0" .It Pa /dev/sa0 デフォルトのテープドライブ .El .Sh 互換性 .Fl y は FreeBSD だけの機能です。 GNU .Nm メンテナは、 .Fl j を GNU .Nm 1.13.18 以降における公式な .Xr bzip2 1 圧縮オプションとして採用しました。 .Fl I オプションは、Solaris の .Nm との互換性のためにあります。 .Sh 関連項目 .Xr bzip2 1 , .Xr compress 1 , .Xr gzip 1 , .Xr pax 1 , .Xr rmt 8 .Sh 歴史 .Nm フォーマットは立派な歴史を持っていて、Sixth Edition UNIX に 原点があります。 この .Nm の実装は GNU 実装であり、 .An John Gilmore によって書かれた パブリックドメイン .Nm が元になっています。 .Sh 作者 .An -nosplit 次の人を含む、大変多くの人々。[ソースの中の .Pa ChangeLog ファイルに記述されている人々] .An John Gilmore (オリジナルのパブリックドメイン版の作者), .An Jay Fenlason (最初の GNU 作者), .An Joy Kendall , .An Jim Kingdon , .An David J. MacKenzie , .An Michael I Bushnell , .An Noah Friedman そして バグフィックスや追加を貢献してくれた無数の人々。 .Pp このマニュアルページは .Nx 1.0 release から、 .Fx グループが 取り込んだものです。 .Sh バグ 特徴的な .Fl C オプションの動作は、伝統的な .Nm プログラムのそれとは異なるので、 あまり頼りにはできません。 .Pp .Fl A コマンドで任意の数の .Nm アーカイブを結合できればいいのですが、それはできません。 これをやろうとしても、2 つ目以降のアーカイブの end-of-archive ブロックが削除されずに残ってしまいます。 +.Pp +.Nm +ファイルフォーマットは準固定幅フィールドフォーマットであり、 +デバイス番号用のフィールドは 16 ビット用 +(メジャー 8 ビットでマイナ 8 ビット) +にデザインされており、我々の 32 ビット番号 +(メジャー 8 ビットでマイナ 16+8 ビット) +を吸収できません。 diff --git a/ja_JP.eucJP/man/man5/magic.5 b/ja_JP.eucJP/man/man5/magic.5 index bc7162726f..03ed0b6ec6 100644 --- a/ja_JP.eucJP/man/man5/magic.5 +++ b/ja_JP.eucJP/man/man5/magic.5 @@ -1,247 +1,247 @@ .\" -.\" %FreeBSD: src/usr.bin/file/magic.5,v 1.11.2.6 2001/08/02 22:49:29 obrien Exp % +.\" %FreeBSD: src/usr.bin/file/magic.5,v 1.11.2.7 2001/08/16 13:16:47 ru Exp % .\" .\" install as magic.4 on USG, magic.5 on V7 or Berkeley systems. .\" -.\" $FreeBSD: doc/ja_JP.eucJP/man/man5/magic.5,v 1.11 2001/07/29 05:15:22 horikawa Exp $ +.\" $FreeBSD: doc/ja_JP.eucJP/man/man5/magic.5,v 1.12 2001/08/06 03:01:42 horikawa Exp $ .Dd December 8, 2000 .Dt MAGIC 5 "Public Domain" .Os .Sh 名称 .Nm magic .Nd file コマンドのマジック番号ファイル .Sh 解説 このマニュアルページでは .Xr file 1 -コマンド バージョン 3.22 で使用されるマジックファイルのフォーマットに +コマンド バージョン 3.26 で使用されるマジックファイルのフォーマットに ついて説明します。 .Nm file コマンドは、他のテストと共に、ファイルがある .Em "マジック番号" で始まっているかどうかをテストして、ファイルのタイプを識別します。 ファイル .Pa /usr/share/misc/magic では、どのマジック番号をテストするか、 あるマジック番号が見つかったときにどのようなメッセージを出力するか、 また、そのファイルから抽出するべき追加情報について指定しています。 .Pp このファイルの各行ではテストすべき項目について指定しています。 テストは、ファイル中のある特定のオフセットで始まるデータを 1 バイト、2 バイトもしくは 4 バイトの数値あるいは文字列と 比較して行います。 もしテストが成功するとメッセージが出力されます。 各行は以下のフィールドから構成されます。 .Bl -tag -width indent .It offset テストするファイルのデータのオフセットをバイト数で指定する数字です。 .It type テストするデータの型です。指定できる値は .Bl -tag -width indent .It byte 1 バイトの値。 .It short (ほとんどのシステムにおいて) 2 バイトの値。 そのマシンの固有のバイト順で指定します。 .It long (ほとんどのシステムにおいて) 4 バイトの値。 そのマシンの固有のバイト順で指定します。 .It string バイトの文字列。 文字列タイプの指定には、後ろに /[Bbc]* を付けることが可能です。 .Dq B フラグは、ターゲットの空白を圧縮します。 圧縮対象には、少なくともひとつの空白文字が含まれることが必要です。 マジックに "n" 個の連続する空白がある場合、 マッチするためには、 ターゲットには少なくとも "n" 個の連続する空白があることが必要です。 .Dq b フラグは、すべての空白を省略可能な空白として扱います。 最後に .Dq c は、大文字小文字を区別しないマッチングを指定します。 すなわち、マジック中の小文字は、 ターゲット中の小文字と大文字の両方にマッチします。 一方、マジック中の大文字は、ターゲット中の大文字にのみマッチします。 .It date UNIX 日時として解釈される 4 バイトの値。 .It beshort (ほとんどのシステムにおいて) 2 バイトの値。 ビッグエンディアンのバイト順です。 .It belong (ほとんどのシステムにおいて) 4 バイトの値。 ビッグエンディアンのバイト順です。 .It bedate UNIX 日時として解釈される (ほとんどのシステムにおいて) 4 バイトの値。 ビッグエンディアンのバイト順です。 .It leshort (ほとんどのシステムにおいて) 2 バイトの値。 リトルエンディアンのバイト順です。 .It lelong (ほとんどのシステムにおいて) 4 バイトの値。 リトルエンディアンのバイト順です。 .It ledate UNIX 日時として解釈される (ほとんどのシステムにおいて) 4 バイトの値。 リトルエンディアンのバイト順です。 .El .El .Pp 数字の型にはオプションとして .Em & と数値を続けることができ、 これにより比較を行う前に AND をとる数値を指定します。 型の前に .Em u を付加すると比較は符号なしで行なわれます。 .Bl -tag -width indent .It test ファイル中の値と比較される値。 型が数字の場合、この値は C 言語の形式で指定されます。 これが文字列の場合、 通常のエスケープ記法 (たとえば改行では\en) が可能な C 言語文字列として 指定されます。 .It "" 数値の前には実行される操作を示す文字を付加することができます。 その文字には ファイルの値が指定された値と等価であることを指定する .Em = 、ファイルの値が指定された値より小さいことを指定する .Em < 、ファイルの値が指定された値より大きいことを指定する .Em > 、指定された値の中でセットされているすべてのビットが ファイルでの値ですべてセットされていることを指定する .Em & 、指定された値の中でセットされているどれかのビットが ファイルでの値でオフであることを指定する .Em ^ 、何らかの値がマッチすることを指定する .Em x があります。 これらの文字がない場合は .Em = が指定されているものとみなされます。 .It "" 数値は C 言語の形式で指定されます。例えば .Em 13 は 10 進数、 .Em 013 は 8 進数、 .Em 0x13 は 16 進数となります。 .It "" 文字列値については、 ファイル中のバイト文字列は指定されたバイト文字列に マッチしなければなりません。 オペレータ .Em = と .Em < と .Em > ( .Em & を除く) が文字列に適用できます。 マッチングに使用される長さは マジックファイルでの文字列の引数の長さとなります。 これは .Em >\e0 とすることにより、 その行はどの文字列にもマッチすることが可能であり、 おそらくその文字列が出力されることを意味します (すべての文字列はヌル文字列より長いため)。 .It message 比較が成立したときに出力されるメッセージです。 文字列に .Xr printf 3 指定形式が含まれている場合は、ファイルから得た値 (指定されたマスクを 適用したもの) が、そのメッセージをフォーマット文字列として用いて出力さ れます。 .El .Pp いくつかのファイルフォーマットは、ファイルタイプと共に出力される追加情報 を含んでいます。文字 .Em > で始まる行は追加テストと出力されるメッセージを指定します。 その行での .Em > の数はテストのレベルを指定します。行頭に .Em > がない行はレベル 0 とみなされます。 レベル .Em n+1 の各行はマジックファイル中でその行より前にあるもっとも近いレベル .Em n の行の制御下にあります。レベル .Em n での行のテストが成功した場合、それに続く行で指定されたすべてのレベル .Em n+1 のテストが実施され、 それらのテストが成功するとメッセージが出力されます。 次のレベル .Em n の行でこれが終了します。 最後の .Em > に続く最初の文字が .Em \&( であれば、その括弧の後の文字列は間接オフセットとして解釈されます。 これは括弧の後の数字がそのファイル中のオフセットとして使用されることを 意味します。そのオフセットでの値が読み込まれ、再度ファイルのオフセット として使用されます。間接オフセットは .Em (x[.[bslBSL]][+-][y]) の形式をとります。値 .Em x はファイル中でのオフセットとして使われます。 型指定子 .Em [bslBSL] によりそれぞれバイト、short もしくは long として読み込まれます。 大文字の型は、値をビッグエンディアンとして解釈し、 小文字の型は、値をリトルエンディアンとして解釈します。 その数字に値 .Em y が加算され、その結果はファイルの中でのオフセットとして使用されます。型 指定子がない場合は long がデフォルトの型となります。 .Pp オフセットは、その前にあるフィールドの長さに依存するため、 正確な値が分からない場合があります。 そのような場合は最後の上位レベルのフィールドの最後からの 相対的なオフセットを指定することができます。 (もちろんこれは下位レベルのテスト、すなわち .Em > で始まるテストでのみ可能です。) この場合の相対オフセットは .Em & をオフセットのプレフィックスとして使用して指定します。 .Sh バグ フォーマット .Em long , .Em belong , .Em lelong , .Em short , .Em beshort , .Em leshort , .Em date , .Em bedate , .Em ledate はシステムに依存します。 テストされるファイルは通常それらの長さが不変であるシステムのものであり、 これらはおそらくバイト数 (2B とか 4B とか) として指定すべきででょう。 .Pp 間接オフセットで使用されるエンディアンを指定したデータは (現在は) サポートされていません。 .Sh 関連項目 .Xr file 1 .\" .\" From: guy@sun.uucp (Guy Harris) .\" Newsgroups: net.bugs.usg .\" Subject: /etc/magic's format isn't well documented .\" Message-ID: <2752@sun.uucp> .\" Date: 3 Sep 85 08:19:07 GMT .\" Organization: Sun Microsystems, Inc. .\" Lines: 136 .\" .\" Here's a manual page for the format accepted by the "file" made by adding .\" the changes I posted to the S5R2 version. .\" .\" Modified for Ian Darwin's version of the file command. diff --git a/ja_JP.eucJP/man/man7/groff_mdoc.7 b/ja_JP.eucJP/man/man7/groff_mdoc.7 index 496a86f052..ddfebdb2ab 100644 --- a/ja_JP.eucJP/man/man7/groff_mdoc.7 +++ b/ja_JP.eucJP/man/man7/groff_mdoc.7 @@ -1,4036 +1,4087 @@ .\" groff_mdoc.man .\" .\" A complete reference of the mdoc macro package for GNU troff. .\" .\" Based on NetBSD's mdoc.samples.7, version 1.21. .\" .\" .\" Warning: You can't format this file with the old mdoc macros! .\" .\" .\" Copyright (c) 1990, 1993 .\" The Regents of the University of California. All rights reserved. .\" .\" Redistribution and use in source and binary forms, with or without .\" modification, are permitted provided that the following conditions .\" are met: .\" 1. Redistributions of source code must retain the above copyright .\" notice, this list of conditions and the following disclaimer. .\" 2. Redistributions in binary form must reproduce the above copyright .\" notice, this list of conditions and the following disclaimer in the .\" documentation and/or other materials provided with the distribution. .\" 3. All advertising materials mentioning features or use of this software .\" must display the following acknowledgement: .\" This product includes software developed by the University of .\" California, Berkeley and its contributors. .\" 4. Neither the name of the University nor the names of its contributors .\" may be used to endorse or promote products derived from this software .\" without specific prior written permission. .\" .\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND .\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE .\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE .\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE .\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL .\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS .\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) .\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT .\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" .\" @(#)mdoc.samples.7 8.2 (Berkeley) 12/30/93 .\" .\" This reference invokes every macro in the package several .\" times and is guaranteed to give a worst case performance .\" for an already extremely slow package. .\" -.\" $FreeBSD: doc/ja_JP.eucJP/man/man7/groff_mdoc.7,v 1.1 2001/08/05 23:34:57 horikawa Exp $ +.\" $FreeBSD: doc/ja_JP.eucJP/man/man7/groff_mdoc.7,v 1.2 2001/08/08 04:08:11 horikawa Exp $ .\" Copyright (c) 2001 FreeBSD jpman project .\" This is for Japanese translation done by FreeBSD jpman project. .\" WORD: epoch 基準時点 (協定世界時 1970年1月1日 00:00:00) .\" WORD: display ディスプレイ .\" WORD: bracket 角括弧 [] .\" WORD: brace 中括弧 () -.\" WORD: angle bracket カギ括弧 <> +.\" WORD: angle bracket アングルブラケット <> .\" WORD: acronym 頭字語 .\" WORD: keep キープ .\" WORD: literal リテラル .\" WORD: content macro コンテントマクロ .\" WORD: command modifier コマンド修飾子 .\" WORD: enclosure 囲い .\" WORD: quoting クォート .\" WORD: nest 入れ子 .\" WORD: block ragged 凹凸ブロック .\" WORD: constant width character 定幅文字 .\" WORD: scale indicator スケール指示子 .\" WORD: hanging tag ぶら下がりタグ .\" WORD: overhanging tag オーバハングタグ . -.Dd April 10, 2001 +.Dd July 20, 2001 .Os .Dt GROFF_MDOC 7 . . .Sh 名称 . .Nm groff_mdoc .Nd groff mdoc の実装に関するリファレンス . . .Sh 書式 . .Nm groff Fl m Ns Cm doc Ar . . .Sh 解説 . .Tn GNU .Xr troff 1 用の .Em コンテントベース でかつ .Em 領域ベース な整形用パッケージである .Nm \-mdoc マクロパッケージを使って .Ux マニュアルページを書くための完全なリファレンスです。 前身である .Xr \-man 7 -パッケージは、フォントの操作や他の写植方法の詳細は個々の作者に任せた -ページレイアウトベースのものでした。 +パッケージは、フォントの操作や他の写植方法の詳細は個々の作者に任せ、 +ページのレイアウトを取り扱ってきました。 .Nm \-mdoc では、ページレイアウトマクロは タイトル、セクションのヘッダ、ディスプレイ、リストのマクロからなる .Em "ページ構造領域" -を形成しています。これらは、整形されたページでの -テキストの物理的位置に影響を与える要素です。 +を形成しています。本質的にこれらの要素は整形されたページにおける +テキストの物理的位置に影響を与えます。 ページ構造領域に加え、さらに .Em マニュアル 領域および .Em 一般 テキスト領域の 2 つの領域があります。 一般テキスト領域は、テキストの一部をクォートしたり強調したりと いったような作業を実行するマクロとして定義されています。 マニュアル領域はコマンドやルーチン、それに .Ux の関連ファイルを記述するための日常使用されるインフォーマルな言葉の サブセットであるマクロとして定義されています。 マニュアル領域のマクロはコマンド名、コマンド行の引数とオプション、 関数名、関数のパラメータ、パス名、変数名、他のマニュアルページへの クロスリファレンスなどを扱います。 これらの領域の項目は作者とマニュアルページの将来のユーザの両者に とって価値のあるものです。 マニュアル間で一貫性を高めることによって将来のドキュメントツールへの -移行が容易になることが望まれます。 +移行が容易になることが期待されます。 .Pp .Ux マニュアルページ全体を通して、マニュアルのエントリは単純に -マニュアルページとしてみなされます。これは実際の長さに依りませんし、 -男女の区別をするような意図もないということです。 +マニュアルページ (a man page) とみなされます。 +これは実際のページ数と関係ありませんし、性差別をする意図もありません。 +.\" 訳注: a man page -- 1 ページ (a page) と男 (man) の意味 . . .Sh "さあ、始めよう" . このドキュメントの残りの部分で説明されている題材は以下のような構成に なっています。 . .Bl -enum -width 3n -offset indent . It . Tn "TROFF に特有な表現" . . Bl -tag -width 2n -compact . It "マクロの使用方法" . It "引数に空白文字を指定する" -. It "行末の空白文字 (警告)" +. It "行末の空白文字" . It "特殊文字のエスケープ" +. It "その他の注意点" . El . . It . Tn "マニュアルページのテンプレート" . . It . Tn "使用法" . . It . Tn "タイトルマクロ" . . It . Tn "マニュアル領域および一般テキスト領域の紹介" +. . Bl -tag -width 2n -compact -. It "この名前には何が" Ns ...? -. It "一般的な構文" +. It "この名前には何が" Ns ... +. It "一般的な構文" . El . . It . Tn "マニュアル領域" . . Bl -tag -width 2n -compact -. It "アドレスマクロ" -. It "作者名マクロ" -. It "引数マクロ" -. It "コンフィギュレーション宣言 (セクション 4 のみ)" -. It "コマンド修飾子" -. It "定義済みの変数" -. It "errno (セクション 2 のみ)" -. It "環境変数" -. It "フラグ" -. It "関数の宣言" -. It "関数 (ライブラリルーチン)" -. It "関数の引数" -. It "関数の型" -. It "戻り値" -. \" .It "ヘッダファイル (ソースコードを含む)" -. It "対話的なコマンド" -. It "ライブラリ名" -. It "名称" -. It "オプション" -. It "パス名" -. It "標準" -. It "変数" -. It "クロスリファレンス" +. It "アドレス" +. It "作者名" +. It "引数" +. It "コンフィギュレーション宣言 (セクション 4 のみ)" +. It "コマンド修飾子" +. It "定義済みの変数" +. It "errno (セクション 2 のみ)" +. It "環境変数" +. It "フラグ" +. It "関数の宣言" +. It "関数の型" +. It "関数 (ライブラリルーチン)" +. It "関数の引数" +. It "戻り値" +. It "終了ステータス" +. \" .It "ヘッダファイル (ソースコードを含む)" +. It "対話的なコマンド" +. It "ライブラリ名" +. It "リテラル" +. It "名称" +. It "オプション" +. It "パス名" +. It "標準" +. It "変数の型" +. It "変数" +. It "マニュアルページのクロスリファレンス" . El . . It . . Tn "一般テキスト領域" +. . Bl -tag -width 2n -compact -. It "AT&T マクロ" -. It "BSD マクロ" -. It "NetBSD マクロ" -. It "FreeBSD マクロ" -. It "OpenBSD マクロ" -. It "BSD/OS マクロ" -. It "UNIX マクロ" -. It "強調マクロ" -. It "フォントモード" -. It "囲い/クォート マクロ" -. It "no\-op もしくは通常テキストマクロ" -. It "空白なしマクロ" -. It "セクションのクロスリファレンス" -. It "記号" -. It "数式記号" -. It "参考文献と引用" -. It "商標名 (頭字語とタイプ名)" -. It "拡張引数" +. It "AT&T マクロ" +. It "BSD マクロ" +. It "NetBSD マクロ" +. It "FreeBSD マクロ" +. It "OpenBSD マクロ" +. It "BSD/OS マクロ" +. It "UNIX マクロ" +. It "強調マクロ" +. It "フォントモード" +. It "囲い/クォート マクロ" +. It "無操作もしくは通常テキストマクロ" +. It "空白なしマクロ" +. It "セクションのクロスリファレンス" +. It "記号" +. It "数学記号" +. It "参考文献と引用" +. It "商標名 (頭字語とタイプ名)" +. It "拡張引数" . El . . It . Tn "ページ構造領域" . . Bl -tag -width 2n -compact -. It "セクションヘッダ" -. It "サブセクションヘッダ" -. It "段落と行スペース" -. It "キープ" -. It "例示とディスプレイ" -. It "リストと列" +. It "セクションヘッダ" +. It "サブセクションヘッダ" +. It "段落と行スペース" +. It "キープ" +. It "例示とディスプレイ" +. It "リストとカラム" . El . . It . Tn "その他のマクロ" . . It . Tn "定義済みの文字列" . . It . Tn "診断" . . It . Tn "GROFF, TROFF および NROFF を使用した整形" . . It . Tn "関連ファイル" . . It . Tn "関連項目" . . It . Tn "バグ" .El . .\" XXX .ne 7 . . .Sh "TROFF に特有な表現" . .Nm \-mdoc パッケージは、マニュアルページを記述するプロセスを簡単にすることを 目的としています。 .Nm \-mdoc を使うために .Tn GNU .Xr troff 1 のゴタゴタした詳細を学ぶ必要がないのが理想ですが、 いくつか片付けるべき避けられない制限事項があります。 また、このパッケージは高速で .Em ない ということも予め警告しておきます。 . .Ss "マクロの使用方法" . .Tn GNU .Xr troff 1 のように、マクロは .Ql .\& -(ドット文字) +(ドット) を行頭に置き、それに続けて 2 文字 (または 3 文字) からなる マクロの名称を指定することによって呼び出されます。 -ドット文字とマクロの間にはスペースを置くことができます +ドットとマクロの間にはスペースを置くことができます (ただし、タブを置くことは .Em できません )。 引数はマクロの後にスペースで区切って指定することができます (やはり、タブは使用できません)。 -行頭にドット文字を指定することによって +行頭にドットを指定することによって .Tn GNU .Xr troff 1 にそれに続く 2 文字 (あるいはそれより多い文字) を マクロ名として解釈するよう指示しています。 -最初にドット文字 1 文字をとり、その後ろに何も来ない場合は +最初にドット 1 文字をとり、その後ろに何も来ない場合は 無視されます。 -マクロを起動せずに、ある文脈の行の先頭に + マクロを起動させたくないような文脈で、入力行の先頭に .Ql .\& -(ドット文字) -を置くためには、 +(ドット) +を置く必要があるときには、 .Ql .\& (ドット) の前にエスケープシーケンス .Ql \e& を指定します。 .Ql \e& は文字通りスペース幅が 0 として解釈され、出力には現れません。 .Pp 一般的に .Tn GNU .Xr troff 1 マクロは取り得る引数の数に制限はありません (9 つ以上の 引数を扱うことのできない他のバージョンの troff とは違います)。 -限られた場合ですが、引数を次の行に続けたり、拡張したり -することができます ( +限られた場合ではありますが、引数を次の行に続けたり、拡張したり +することができます +(後述の .Sx 拡張引数 -セクションを参照)。 +のセクションを参照)。 ほとんどすべてのマクロで引用符に囲まれた引数を扱うことができます -(下の -.Sx 拡張引数 -セクションを参照)。 +(後述の +.Sx 引数に空白文字を指定する +のセクションを参照)。 .Pp .Nm \-mdoc での一般テキスト領域とマニュアル領域のほとんどのマクロは、 -その引数のリストは呼び出し可能なマクロ名として +その引数のリストが呼び出し可能なマクロ名として .Em 解析 されるという点で特別なものです。 これはつまり、一般テキスト領域またはマニュアル領域のマクロ名に一致し、 -呼び出し可能であると判断された引数リスト中の引数は +かつ、呼び出し可能であると判断された引数リスト中の引数は、 処理される時に実行されるか、もしくは呼び出されるということです。 -この場合、引数はマクロ名にも関わらず、 +この場合、引数はマクロ名に関わらず、 .Ql .\& (ドット) で前置されません。 このようにしてたくさんのマクロを入れ子にすることができます。 例えばオプションマクロ .Ql .Op はフラグマクロおよび引数マクロ .Ql \&Fl と .Ql \&Ar を -.Em 呼び出して -、オプションのフラグを引数とともに指定することができます: +.Em 呼び出し +て、オプションのフラグを引数とともに指定することができます: . -.Bl -tag -xwidth ".Op Fl s Ar bytes" -offset indent +.Bl -tag -width ".Op Fl s Ar bytes" -offset indent .It Op Fl s Ar bytes は .Ql ".Op Fl s Ar bytes" で生成されます。 .El . .Pp 文字列がマクロ名と解釈されないようにするには、 その文字列の前にエスケープシーケンス .Ql \e& を指定します。 . -.Bl -tag -xwidth ".Op \&Fl s \&Ar bytes" -offset indent +.Bl -tag -width ".Op \&Fl s \&Ar bytes" -offset indent .It Op \&Fl s \&Ar bytes は .Ql ".Op \e&Fl s \e&Ar bytes" で生成されます。 .El . .Pp ここで文字列 .Ql \&Fl と .Ql \&Ar はマクロとして解釈されていません。 -このドキュメントを通して、 +このドキュメントを通じて、 引数リストが呼び出し可能な引数として解析されるマクロは .Em 解析される と表現し、 引数リストから呼び出されることができるマクロは .Em 呼び出し可能 と表現します。 .Nm \-mdoc -のマクロはほとんどすべて解析されるのですから、これは技術的には -.Em 不謹慎な -言い分ですが、常にマクロを「呼び出し可能である」とか「他のマクロを +のマクロはほとんどすべてが解析されるのですから、これは技術的には +.Em 適当でない +表現ですが、常にマクロを「呼び出し可能である」とか「他のマクロを 呼び出すことができる」と表現するのは面倒なことであるため、 「解析される」という用語が使われています。 . .Ss "引数に空白文字を指定する" . 1 つ以上の空白文字を含む文字列を引数として指定したい 場合があります。 -引数リスト中の要素が特殊な並び方をしていることを +引数リスト中の要素が特定の並びをしていることを 期待しているマクロに引数を指定する時に必要になることがあります。 さらに、こうすると .Nm \-mdoc が速く実行されるようになるのです。 例えば、関数マクロ .Ql .Fn では第 1 引数は関数名であり、残りの引数が関数のパラメータであると 想定されています。 .Tn ANSI\~C -では、関数のパラメータ宣言は括弧で囲まれたパラメータリスト中に -明示されているので、各パラメータは最低でも 2 語の文字列となります。 +では、関数のパラメータ宣言を括弧で囲まれたパラメータリスト中に +明示することを規定しているので、 +各パラメータは最低でも 2 語の文字列となります。 例えば、 .Fa int foo のようになります。 .Pp 空白を含む引数を指定するには 2 通りの方法があります。 -空白を含む文字列を渡すのに、固定空白、すなわち詰め込まれない空白文字 +1 つは、空白を含む文字列を渡すのに、固定の空白、 +つまりパディングされない空白文字 .Ql \e\ -を使う方法があります。すなわち、空白の前にエスケープ文字 +を使う方法です。すなわち、空白の前にエスケープ文字 .Ql \e -を指定する方法です。 -この方法はどのマクロでも使うことができますが、1 行を超える -長さのテキストの調整の邪魔になるという副作用があります。 +を指定します。 +この方法はどのマクロでも使うことができますが、1 行が長くなり過ぎた +テキストを調整するときの邪魔になるという副作用があります。 .Xr troff -では、固定空白は他の印刷可能文字と同様に扱われ、通常期待されるように -そこで文字列を空白や改行で分けることを行わなくなります。 -この方法は、文字列が行の境界をまたがないと思われる場合に有用です。 +では、固定の空白は他の印刷可能な文字と同様に扱われ、通常期待されるように +その箇所で文字列を空白や改行で分けることは行われなくなります。 +この方法は文字列が行の境界にまたがることが好ましくない場合に有用です。 代替案としては、 -詰め込み可能 (すなわち \& 伸長可能) で、かつ分割不可能な空白 +パディング可能 (すなわち伸長可能) で分割不可能な空白 .Ql \e~ を使うことがあります (これは、 .Tn GNU .Xr troff 1 拡張です)。 2 つ目の方法は、文字列をダブルクォートで括ることです。 .Pp 例えば、次のようにします: . -.Bl -tag -xwidth ".Fn fetch char\ *str" -offset indent +.Bl -tag -width ".Fn fetch char\ *str" -offset indent .It Fn fetch char\ *str は .Ql ".Fn fetch char\e *str" で生成されます。 .It Fn fetch "char *str" も .Ql ".Fn fetch \*[q]char *str\*[q]" で生成することができます。 .El . .Pp もし、空白およびダブルクォートの前の .Ql \e が省略されていた場合には .Ql .Fn -は引数を 3 つ取り、その結果は +は引数が 3 つであるとみなし、その結果は .Pp .Dl Fn fetch char *str .Pp となります。 .\" For an example of what happens when the parameter list overlaps a newline .\" boundary, see the .\" .Sx BUGS .\" section. . .Ss "行末の空白文字" . .Xr Troff は行末に空白文字があると混乱してしまうことがあります。 .Ao 空白 Ac Ns Ao 行末 Ac -の文字シーケンスからすべての空白文字を取り除くのは良い予防策です。 +の文字の並びからすべての空白文字を取り除くのは良い予防策です。 どうしても行末に空白文字をおく必要性が出てきた場合は、 -詰め込まれない空白とエスケープ文字 +パディングされない空白とエスケープ文字 .Ql \e& を使用することによって対応できます。 例えば、 .Ql string\e\ \e& のようにします。 . -.Ss 特殊文字のエスケープ +.Ss "特殊文字のエスケープ" . 改行 .Ql \en -のような特殊文字は +のような特殊文字は、バックスラッシュを保存するために .Ql \e を .Ql \ee で置き換え (たとえば .Ql \een -とする) 、バックスラッシュを残して扱います。 +とする) て扱います。 . .Ss "その他の注意点" . 表示領域外で空の入力行が見つかった場合には警告が発生します -(下記参照)。 +(後述)。 代わりに .Ql .sp を使用してください ( .Nm \-mdoc マクロを使用して、低レベルコマンドを使用しないようにすると ずっと良いです)。 .Pp 先頭に空白を置くと行分割が生じ、そのまま出力されてしまいます。 可能ならばこうなることを避けてください。 同様に、通常のテキスト行において単語間に 2 つ以上の空白文字を 使用しないでください。これは、他のテキストフォーマッタとは 対照的です。空白文字を 2 つ以上置いても 1 つの空白文字に .Em 置き換わりません 。 .Pp 引数として .Ql \*[q] を直接渡すことはできません。 代わりに .Ql \e*[q] (あるいは .Ql \e*q ) を使用してください。 .Pp デフォルトでは、 .Xr troff 1 は文を終了させる句読点の後に空白文字を 2 つ挿入します。 つまり、 .Ql \&) あるいは .Ql \&' などの文字はそのまま扱われ、文の終了には影響を与えません。 この動作を変更するには、 ドットの前あるいは後に .Ql \e& を挿入してください。 . .Bd -literal -offset indent +The \&.Ql . -文字 +character. \&.Pp +The \&.Ql \e&. -文字 +character. \&.Pp -\&.No テスト 。 -テスト +\&.No test . +test \&.Pp -\&.No テスト。 -テスト +\&.No test. +test .Ed .Pp . は、 . .Bd -filled -offset indent +The .Ql . -文字 +character. .Pp +The .Ql \&. -文字 +character. .Pp -.No テスト 。 -テスト +.No test . +test .Pp -.No テスト。 -テスト +.No test. +test .Ed +.Pp となります。 .Pp . 1 行目および 3 行目にみられるように、 .Nm \-mdoc はマクロ引数の中では句読点を特別に扱います。 これについては、後述の .Sx 一般的な構文 の節で述べます。 同様の方法で、幅 0 の空白を続けることで、 -省略形の後に続いたピリオドを保存しなくてはなりません。 -.Ql 例えば\e& . -です。 +省略形の後に続いたピリオドを保護しなくてはなりません。 +例えば +.Ql e.g.\e& +のようにします。 .Pp マニュアルページのソースファイル中のコメントは、 -1 行内では +独立した行では .Ql .\e" 、何らかの入力があった後では .Ql \e" を、あるいはどのような場所でも使いたい場合は .Ql \e# を使うことができます (後者は .Tn GNU .Xr troff 1 拡張です)。このような行の残りの部分は無視されます。 . . .Sh "マニュアルページのテンプレート" . マニュアルページの中身は次のような基本的なテンプレートから 簡単に作成できます。 . .Bd -literal -offset indent \&.\e" 以下の項目はすべてのマニュアルページで必要な項目です。 -\&.Dd 月\ 日, 年 +\&.Dd 月 日, 年 \&.Os [オペレーティングシステム] [バージョン/リリース] \&.Dt ドキュメントタイトル [セクション番号] [アーキテクチャ/ボリューム] \&.Sh NAME \&.Nm 名称 -\&.Nd 名称の 1 行での説明 +\&.Nd 名称についての 1 行での説明 +\&.\e" 次の項目はセクション 2, 3 でのみ必要なものです。 +\&.\e" .Sh LIBRARY \&.Sh SYNOPSIS \&.Sh DESCRIPTION \&.\e" 以下の項目については、必要に応じてコメントをはずして使用してく \&.\e" ださい。 \&.\e" .Sh IMPLEMENTATION NOTES \&.\e" この次の項目はセクション 2, 3, 9 でのみ必要な、関数の \&.\e" 戻り値です。 \&.\e" .Sh RETURN VALUES \&.\e" 次の項目はセクション 1, 6, 7, 8, 9 でのみ必要なものです。 \&.\e" .Sh ENVIRONMENT \&.\e" .Sh FILES \&.\e" .Sh EXAMPLES \&.\e" 次の項目はセクション 1, 6, 7, 8, 9 でのみ必要なものです。 -\&.\e" ((シェルへの)コマンドの戻り値と fprintf/stderr の型の診断 -\&.\e" です。) +\&.\e" ((シェルへの)コマンドの戻り値と +\&.\e" fprintf/stderr タイプの診断です) \&.\e" .Sh DIAGNOSTICS \&.\e" .Sh COMPATIBILITY -\&.\e" 次の項目はセクション 2, 3, 9 でのみ必要な、エラーハンドリングと -\&.\e" シグナルハンドリングです。 +\&.\e" 次の項目はセクション 2, 3, 9 でのみ必要な、 +\&.\e" エラーハンドリングとシグナルハンドリングです。 \&.\e" .Sh ERRORS \&.\e" .Sh SEE ALSO \&.\e" .Sh STANDARDS \&.\e" .Sh HISTORY \&.\e" .Sh AUTHORS \&.\e" .Sh BUGS .Ed .Pp . このテンプレートにおける最初の項目はマクロ .Ql .Dd , .Ql .Os , および .Ql .Dt であり、それぞれドキュメントの日付、 マニュアルページもしくは題材となっているソースの開発や変更の -ベースとなったオペレーティングシステム、そして +対象となったオペレーティングシステム、そして マニュアルページのタイトルを属するマニュアルのセクション番号と ともに ( .Em 大文字で ) 指定したもの、となっています。 これらのマクロはそのページを識別するものであり、後述の .Sx タイトルマクロ で議論されています。 .Pp テンプレート中の残りの項目はセクションのヘッダ .Pf ( Li .Sh ) であり、それらのうち .Sx NAME , .Sx SYNOPSIS , および .Sx DESCRIPTION は必須項目です。 これらのヘッダについては .Sx "マニュアル領域" を説明した後、 .Sx "ページ構造領域" -で議論されます。 +で解説されます。 いくつかのコンテントマクロはページレイアウトマクロの説明に 使用されていますので、ページレイアウトマクロの前にコンテントマクロに ついて読むことを推奨します。 . . .Sh 使用法 . 次に説明するマクロはすべて、オプションの引数は 角括弧 ([]) で括られます。 省略符号 .Pf ( Sq ... ) はさらに 0 個以上の引数があることを表しています。 パラメータの代替値は .Ql | で区切って示します。 必須パラメータに代替値がある場合は、 ( .Ql | と一緒に) 中括弧 ({}) を用い、値の組を括ります。 -メタ変数はカギ括弧 (<>) の中で指定されます。 +メタ変数はアングルブラケット (<>) の中で指定されます。 .Pp 例: . .Bl -tag -width 6n -offset indent .It Li .Xx Xo .Aq foo .Brq bar1 | bar2 .Op \-test1 Op \-test2 | \-test3 .No ... .Xc .El . .Pp -最初に明示されていない限り、すべてのマクロは +とくに明示しない限り、すべてのマクロは 解析され、呼び出し可能なものです。 .Pp -大部分のマクロには、デフォルトの幅があり、これを +大部分のマクロはデフォルトの幅の値を持っており、これを .Ql .Bl および .Ql .Bd マクロ用にラベル width .Pf ( Fl width ) あるいは offset .Pf ( Fl offset ) を指定するのに使用することができます。 .Nm \-mdoc -パッケージの各自の変更に依存することのないように、 +パッケージのローカルな変更に依存することのないように、 このとても曖昧な機能は使わないことを推奨します。 . . .Sh "タイトルマクロ" . タイトルマクロはページ構造領域の一部ですが、 -マニュアルページを前日に書き始めたいという人のために -最初に記述されています。 +マニュアルページを昨日書き始めようと思ったという人のために、 +最初に、他のとは別に記述されています。 3 つのヘッダマクロでドキュメントまたはマニュアルページのタイトル、 オペレーティングシステム、および原著の日付を指定します。 これらのマクロはドキュメントの最初で一度だけ呼び出されるもので、 ヘッダとフッタを構成するためだけに使用されます。 . .Bl -tag -width 6n .It Li .Dt Xo .Op Aq ドキュメントタイトル .Op Aq セクション番号 .Op Aq ボリューム .Xc ドキュメントタイトルはマニュアルページの主題であり、 troff の制限により .Tn 大文字 でなければいけません。 省略された場合、 .Sq Tn UNTITLED が使われます。 セクション番号は .No 1,\~ Ns ... Ns ,\~9 の範囲の番号もしくは .Ql unass , .Ql draft , .Ql paper のいずれかを取ることができます。 セクション番号が指定されており、ボリューム名が与えられていない 場合には、デフォルトのボリューム名が使用されます。 . .Pp .Tn \*[operating-system] では、次のセクションが定義されています: .Pp .Bl -column LOCAL -offset indent -compact .It Li 1 Ta "\*[volume-ds-1]" .It Li 2 Ta "\*[volume-ds-2]" .It Li 3 Ta "\*[volume-ds-3]" .It Li 4 Ta "\*[volume-ds-4]" .It Li 5 Ta "\*[volume-ds-5]" .It Li 6 Ta "\*[volume-ds-6]" .It Li 7 Ta "\*[volume-ds-7]" .It Li 8 Ta "\*[volume-ds-8]" .It Li 9 Ta "\*[volume-ds-9]" .El .Pp . ボリューム名は任意であるか、もしくは次のものを 取ることができます: . .Pp .Bl -column LOCAL -offset indent -compact .It Li USD Ta "\*[volume-ds-USD]" .It Li PS1 Ta "\*[volume-ds-PS1]" .It Li AMD Ta "\*[volume-ds-AMD]" .It Li SMM Ta "\*[volume-ds-SMM]" .It Li URM Ta "\*[volume-ds-URM]" .It Li PRM Ta "\*[volume-ds-PRM]" .It Li KM Ta "\*[volume-ds-KM]" .It Li IND Ta "\*[volume-ds-IND]" .It Li LOCAL Ta "\*[volume-ds-LOCAL]" .It Li CON Ta "\*[volume-ds-CON]" .El .Pp . 互換性を保つため、 .Ql IND の代わりに .Ql MMI を使用することができ、 .Ql LOCAL の代わりに .Ql LOC を使用できます。 先の表の値は、新しいボリューム名を指定します。 第 3 パラメータがコンピュータアーキテクチャを表すキーワードで ある場合、その値は第 2 パラメータで指定したようにボリューム名に 追加されます。デフォルトでは次のアーキテクチャに関するキーワードが 定義されています: . \# we use `No' to avoid hyphenation .Bd -ragged -offset indent .No alpha , amiga , arc , arm26 , arm32 , atari , bebox , cobalt , evbsh3 , .No hp300 , hpcmips , i386 , luna68k , m68k , mac68k , macppc , mips , .No mmeye , mvme68k , news68k , newsmips , next68k , ofppc , pc532 , pmax , .No powerpc , prep , sgimips , sh3 , sparc , sparc64 , sun3 , tahoe , vax , .No x68k .Ed .Pp . 次の例では、マニュアルページのヘッダの左側 (これは右側と同じものです) と 中央に書かれる文字列を示しています。 . .Bd -ragged -.Bl -tag -xwidth ".Li .Dt\ FOO\ 2\ mac68k" -compact -offset indent +.Bl -tag -width ".Li .Dt\ FOO\ 2\ mac68k" -compact -offset indent .It Li ".Dt FOO 7" .Ql FOO(7) .Ql System Reference Manual .It Li ".Dt FOO 2 mac68k" .Ql FOO(2) .Ql System Programmer's Manual (mac68k Architecture) .It Li ".Dt FOO \*[q]\*[q] bar" .Ql FOO .Ql bar .El .Ed .Pp . -ローカルマシンや OS に特化した追加項目は、ファイル +ローカルな追加項目や OS に特化した追加項目が、ファイル .Pa mdoc.local -で見つかるでしょう。このファイル中で +にあるかもしれません。このファイル中で .Ql volume-ds-XXX (前者のタイプについて) および .Ql volume-as-XXX (後者のタイプについて) という名前の文字列を検索してください。ここで .Ql XXX は .Ql .Dt マクロで使用されるキーワードを表しています。 .Pp このマクロは呼び出し不可能であり、解析されることもありません。 . .It Li .Os Xo .Op Aq オペレーティングシステム .Op Aq リリース番号 .Xc 第 1 パラメータが空の場合、 デフォルト値 .Sq Tn "\*[operating-system]" が使用されます。 これは、ローカルの設定ファイル .Pa mdoc.local で上書きできます。一般的には、 オペレーティングシステムの名称には一般的な頭字語 (略称) を 使わなければなりません。 -例えば\& +例えば .Tn BSD や .Tn ATT といったものです。 リリース番号は、各システムでの標準のリリースの命名法を使用します。 次の表では、いくつか事前に定義されているオペレーティングシステムに 対して取り得る第 2 引数をリストしています。 .Ql .Dt -と同じように、ローカルマシンでの追加項目は +と同じように、ローカルな追加項目が .Pa mdoc.local -で定義されているでしょう。このファイル中で +に定義されているかもしれません。このファイル中で .Ql operating-system-XXX-YYY という名前の文字列を検索してください。ここで .Ql XXX はオペレーティングシステムの頭字語 (略称) そして .Ql YYY がリリース ID です。 . .Bd -ragged -compact -.Bl -tag -xwidth ".No FreeBSD" -offset indent +.Bl -tag -width ".No FreeBSD" -offset indent .It ATT 7th, 7, III, 3, V, V.2, V.3, V.4 .It BSD 3, 4, 4.1, 4.2, 4.3, 4.3t, 4.3T, 4.3r, 4.3R, 4.4 .It NetBSD 0.8, 0.8a, 0.9, 0.9a, 1.0, 1.0a, 1.1, 1.2, 1.2a, 1.2b, 1.2c, 1.2d, 1.2e, 1.3, 1.3a, 1.4, 1.5 .It FreeBSD 1.0, 1.1, 1.1.5, 1.1.5.1, 2.0, 2.0.5, 2.1, 2.1.5, 2.1.6, 2.1.7, 2.2, 2.2.1, 2.2.2, 2.2.5, 2.2.6, 2.2.7, 2.2.8, 3.0, 3.1, 3.2, 3.3, 3.4, 3.5, 4.0, 4.1, 4.2, 5.0 .El .Ed .Pp . .Tn ATT に関しては、判別できない第 2 パラメータがある時には それを文字列 .Tn UNIX に置き換えます。事前に定義されているその他の頭字語 (略称) に ついては、そのようなパラメータは無視され、警告メッセージが 出力されます。 認識できない引数は、ページフッタ中に記述された通りに 表示されます。例えば、典型的なフッタは次のようになるでしょう: .Pp .Dl .Os BSD 4.3 .Pp は .Ql 4.3\~Berkeley Distribution となります。また、ローカルで作られたセットの例では、 .Pp .Dl .Os CS Department .Pp は .Ql CS\~Department となります。 .Pp .Ql .Os マクロがない場合、ページの左下角はみにくくなってしまうでしょう。 .Pp このマクロは呼び出し不可能であり、解析されることもありません。 . .It Li .Dd Oo -.Aq month -.Aq day , -.Aq year +.Aq 月 +.Aq 日 , +.Aq 年 .Oc .Ql Dd に引数がない場合は、日付には .Ql "基準時点 (協定世界時 1970年1月1日 00:00:00)" が使用されます。 ちょうど 3 つ引数がある場合には、それらは連結され、 分割できない空白で分けられたものになります。 .Pp .Dl .Dd January 25, 2001 .Pp それ以外の場合は現在の日付が使用され、パラメータは無視されます。 .Pp このマクロは呼び出し不可能であり、解析されることもありません。 .El . . .Sh "マニュアル領域および一般テキスト領域の紹介" . -.Ss "この名前には何が...?" +.Ss "この名前には何が" Ns ... . マニュアル領域のマクロ名はコマンドやサブルーチン、それに関連ファイルを 説明するために使われている日常のインフォーマルな言葉から取られています。 この言葉と少し違うバリエーションのものがマニュアルページを書く上での 3 つの異なった側面を記述するのに使われます。 最初のものは、 .Nm \-mdoc マクロ使用方法の説明です。2 番目は .Nm \-mdoc -マクロを用いた +マクロを +.Em 用いた .Ux コマンドの記述です。 3 番目はコマンドを通常の言葉の感覚でユーザに示したものです。 これはすなわち、マニュアルページのテキスト中でのコマンドの -議論となります。 +説明となります。 .Pp 最初のケースでは、 .Xr troff 1 マクロはそれ自身、一種のコマンドとなっています。 troff コマンドは一般的に以下のような形式をとります。 . .Bd -filled -offset indent .Li ".Xx argument1 argument2" ... .Ed .Pp . .Ql .Xx はマクロコマンドもしくは要求を示しており、それに続くものは すべて処理されるべき引数として処理されます。 2 番目のケースでは、コンテントマクロを使用する .Ux コマンドの記述がもう少し含まれます。 典型的な .Sx SYNOPSIS コマンド行はこのように表示されます。 . .Bd -filled -offset indent .Nm filter .Op Fl flag .Ao Ar infile Ac Ao Ar outfile Ac .Ed .Pp . ここで .Nm filter はコマンド名であり、角括弧で囲まれた文字列 .Fl flag は .Em フラグ 引数で、これは角括弧で囲むことによってオプションであることを 示しています。 .Nm \-mdoc の用語では、 .Ao Ar infile Ac および .Ao Ar outfile Ac は .Em メタ引数 と称されています。 -この例では、ユーザはカギ括弧の中で与えられたメタ引数を +この例では、ユーザはアングルブラケット (<>) の中で与えられたメタ引数を 実際のファイル名に置き換えなくてはなりません。 このドキュメントでは、メタ引数は .Nm \-mdoc コマンドを記述するのに使用していることに注意してください。 -多くのマニュアルページでは、メタ変数は特にカギ括弧を使って -書かれることはありません。 +多くのマニュアルページでは、メタ変数はわざわざアングルブラケットを使って +書かれていません。 上の例を整形したマクロは以下のものです。 . .Bd -literal -offset indent \&.Nm filter \&.Op Fl flag \&.Ao Ar infile Ac Ao Ar outfile Ac .Ed .Pp . 3 番目のケースでは、コマンドの説明や構文に上記の例の両方が使われ、 さらに細かい記述が追加されるでしょう。 上の例での引数 .Ao Ar infile Ac および .Ao Ar outfile Ac は .Em オペランド もしくは .Em ファイル引数 として参照されます。 コマンド行の引数のリストはかなり長くなる場合もあります。 . .Bd -ragged -.Bl -tag -xwidth ".Nm make" -offset indent -compact +.Bl -tag -width ".Nm make" -offset indent -compact .It Nm make .Op Fl eiknqrstv .Op Fl D Ar variable .Op Fl d Ar flags .Op Fl f Ar makefile .Op Fl I Ar directory .Op Fl j Ar max_jobs .Op Ar variable Ns = Ns Ar value .Bk .Op Ar target ... .Ek .El .Ed .Pp . ここではコマンド .Nm make について記述しており、 .Ar makefile をフラグ .Fl f の引数としています。 -またオプションのファイルオペランド +またオプションのファイルオペランドである .Ar target -についても議論しています。 +についても言及しています。 言葉での説明では、こういった詳細な記述が混乱を防いでくれますが、 .Nm \-mdoc パッケージにはフラグ .Em への 引数のためのマクロがありません。 その代わりに .Ar target のようなオペランドやファイル引数に使われる引数マクロ .Ql \&Ar が .Ar variable のようなフラグへの引数と同様に使われます。 この make コマンド行は次の指定により生成されています。 . .Bd -literal -offset indent \&.Nm make \&.Op Fl eiknqrstv \&.Op Fl D Ar variable \&.Op Fl d Ar flags \&.Op Fl f Ar makefile \&.Op Fl I Ar directory \&.Op Fl j Ar max_jobs \&.Op Ar variable Ns = Ns Ar value \&.Bk \&.Op Ar target ... \&.Ek .Ed .Pp . マクロ .Ql .Bk および .Ql .Ek は .Sx キープ セクションにおいて解説されています。 . .Ss "一般的な構文" . マニュアル領域のマクロと一般テキスト領域のマクロとはいくつか 小さな違いがあるものの、同様な構文を使用しています。とりわけ、 .Ql .Ar , .Ql .Fl , .Ql .Nm , および .Ql .Pa は引数なしで呼び出された時の違いしかありません。また、 .Ql .Fn および .Ql .Xr は引数のリストの順番が異なります。 すべてのコンテントマクロが句読点を認識し、それを正しく扱うには、 各々の句読点文字が先行する空白で分離されている必要があります。 次のように指定されている場合、 .Pp .Dl \&.Ar sptr, ptr), .Pp その結果は以下のようになります。 .Pp .Dl Ar sptr, ptr), .Pp ここでは句読点は認識されず、すべての出力は .Ql .Ar で使用されるフォントで行われています。 句読点が空白文字で区切られている場合、 .Pp .Dl \&.Ar "sptr , ptr ) ," .Pp 結果は以下のようになります。 .Pp .Dl Ar sptr , ptr ) , .Pp 今度は句読点が認識され、出力はデフォルトのフォントで行われ 引数文字列とは区別されています。 句読点文字の特別な意味を取り除くには、 .Ql \e& でエスケープしてください。 .Pp .Xr troff -はマクロ言語としての限界から、数学、論理学、もしくは以下の引用符の +はマクロ言語としての限界から、以下のような、数学、論理学、引用符の 集合のメンバを含んだ文字列を表現するのは困難です。 . .Bd -literal -offset indent-two {+,\-,/,*,%,<,>,<=,>=,=,==,&,`,',"} .Ed .Pp . -問題なのは、 +問題なのは、文字によって示唆されている操作もしくは評価が、 +実行されるべきであると .Xr troff -が文字によって示唆されている操作もしくは評価を実際に行って -いることです。 +が仮定する場合があることです。 これらの文字が予期しない形で評価されないようにするには、 .Ql \e& でこれらをエスケープしてください。 最初のコンテントマクロは、以下の .Ql .Ad において、その典型的な構文が示されています。 . . .Sh "マニュアル領域" . -.Ss アドレスマクロ +.Ss "アドレス" . -アドレスマクロはアドレス形式を識別します。 +アドレスマクロはアドレスの構成を識別します。 .Pp -.Dl 使い方: .Ad Ao address Ac ... +.Dl 使い方: .Ad Ao アドレス Ac ... .Pp -.Bl -tag -xwidth ".Li .Ad\ f1\ ,\ f2\ ,\ f3\ :" -compact -offset 15n +.Bl -tag -width ".Li .Ad\ f1\ ,\ f2\ ,\ f3\ :" -compact -offset 15n .It Li ".Ad addr1" .Ad addr1 .It Li ".Ad addr1 ." .Ad addr1 . .It Li ".Ad addr1 , file2" .Ad addr1 , file2 .It Li ".Ad f1 , f2 , f3 :" .Ad f1 , f2 , f3 : .It Li ".Ad addr ) ) ," .Ad addr ) ) , .El .Pp . デフォルトの文字幅は 12n です。 . -.Ss "作者名マクロ" +.Ss "作者名" . .Ql .An マクロは文書化されている項目の作者の名前、もしくは実際の マニュアルページの作者の名前を指定するために使われます。 .Pp -.Dl 使い方: .An Ao author name Ac ... +.Dl 使い方: .An Ao 作者名 Ac ... .Pp -.Bl -tag -xwidth ".Li .An\ \*[q]Joe\ Author\*[q]\ )\ )\ ," -offset 15n +.Bl -tag -width ".Li .An\ \*[q]Joe\ Author\*[q]\ )\ )\ ," -offset 15n .It Li ".An \*[q]Joe Author\*[q]" .An "Joe Author" .It Li ".An \*[q]Joe Author\*[q] ," .An "Joe Author" , .It Li ".An \*[q]Joe Author\*[q] Aq nobody@FreeBSD.org" .An "Joe Author" Aq nobody@FreeBSD.org .It Li ".An \*[q]Joe Author\*[q] ) ) ," .An "Joe Author" ) ) , .El .Pp . デフォルトの文字幅は 12n です。 .Pp .Sx AUTHORS セクションでは、 .Ql .An リクエストは改行を引き起こし、新しい名前がそれぞれの行に表示されます。 この動作が望ましくない場合、 . .Bd -literal -offset indent \&.An -nosplit .Ed .Pp . -呼び出しで無効にできます。 +を呼び出すことでで無効にできます。 それぞれの行に表示させる動作に戻したい場合は、 . .Bd -literal -offset indent \&.An -split .Ed -呼び出しを使用します。 +.Pp +. +と記述します。 . -.Ss "引数マクロ" +.Ss "引数" . 引数マクロ .Li .Ar はコマンド行の引数を参照する際にはいつでも使用することができます。 引数なしで呼ばれた場合、 .Sq Ar が出力になります。 .Pp -.Dl 使い方: .Ar Oo Ao argument Ac Oc ... +.Dl 使い方: .Ar Oo Ao 引数 Ac Oc ... .Pp -.Bl -tag -xwidth ".Li .Ar\ file1\ file2" -compact -offset 15n +.Bl -tag -width ".Li .Ar\ file1\ file2" -compact -offset 15n .It Li .Ar .Ar .It Li ".Ar file1" .Ar file1 .It Li ".Ar file1 ." .Ar file1 . .It Li ".Ar file1 file2" .Ar file1 file2 .It Li ".Ar f1 f2 f3 :" .Ar f1 f2 f3 : .It Li ".Ar file ) ) ," .Ar file ) ) , .El .Pp . デフォルト幅は 12n です。 . .Ss "コンフィギュレーション宣言 (セクション 4 のみ)" . .Ql .Cd マクロはセクション 4 のマニュアルにおいて、デバイスインタフェースの .Xr config 8 による宣言の説明に使われます。 .Pp -.Dl 使い方: .Cd Ao argument Ac ... +.Dl 使い方: .Cd Ao 引数 Ac ... .Pp -.Bl -tag -xwidth ".Li .Cd\ Xdevice\ le0\ at\ scode?X" -offset 15n +.Bl -tag -width ".Li .Cd\ Xdevice\ le0\ at\ scode?X" -offset 15n .It Li ".Cd \*[q]device le0 at scode?\*[q]" .Cd "device le0 at scode?" .El .Pp .Sx SYNOPSIS セクションでは .Ql .Cd リクエストはその引数が表示される前後で改行を入れます。 .Pp . デフォルト幅は 12n です。 . .Ss "コマンド修飾子" . コマンド修飾子は .Ql .Cm マクロがすべての引数の前にダッシュ文字を付けないことを除いて、 .Ql .Fl (フラグ) コマンドと同じです。 伝統的にフラグはダッシュ文字に引き続いて指定されますが、 この方法を使わないコマンドやコマンドのサブセットもあります。 コマンド修飾子はエディタコマンドのような対話的なコマンドでも 指定されることがあります。 .Sx フラグ セクションを参照してください。 .Pp デフォルト幅は 10n です。 . .Ss "定義済みの変数" . インクルードファイルにおいて定義されている変数 (もしくは定数) は マクロ .Ql .Dv によって指定します。 .Pp -.Dl 使い方: .Dv Ao defined variable Ac ... +.Dl 使い方: .Dv Ao 定義済みの変数 Ac ... .Pp -.Bl -tag -xwidth ".Li .Dv\ MAXHOSTNAMELEN" -compact -offset 15n +.Bl -tag -width ".Li .Dv\ MAXHOSTNAMELEN" -compact -offset 15n .It Li ".Dv MAXHOSTNAMELEN" .Dv MAXHOSTNAMELEN .It Li ".Dv TIOCGPGRP )" .Dv TIOCGPGRP ) .El .Pp . デフォルト幅は 12n です。 . .Ss errno . .Ql .Er errno マクロは、セクション 2, 3, 9 のライブラリルーチンにおける エラーの戻り値を指定します。 下記の 2 番目の例では .Ql .Er は一般テキスト領域マクロである .Ql .Bq (これはセクション 2 のマニュアルページで使われています) と共に 使われています。 .Pp -.Dl 使い方: .Er Ao errno type Ac ... +.Dl 使い方: .Er Ao errno のタイプ Ac ... .Pp -.Bl -tag -xwidth ".Li .Bq\ Er\ ENOTDIR" -compact -offset 15n +.Bl -tag -width ".Li .Bq\ Er\ ENOTDIR" -compact -offset 15n .It Li ".Er ENOENT" .Er ENOENT .It Li ".Er ENOENT ) ;" .Er ENOENT ) ; .It Li ".Bq Er ENOTDIR" .Bq Er ENOTDIR .El .Pp . デフォルト幅は 17n です。 . .Ss "環境変数" . .Ql .Ev マクロは環境変数を指定します。 .Pp -.Dl 使い方: .Ev Ao argument Ac ... +.Dl 使い方: .Ev Ao 引数 Ac ... .Pp -.Bl -tag -xwidth ".Li .Ev\ PRINTER\ )\ )\ ," -compact -offset 15n +.Bl -tag -width ".Li .Ev\ PRINTER\ )\ )\ ," -compact -offset 15n .It Li ".Ev DISPLAY" .Ev DISPLAY .It Li ".Ev PATH ." .Ev PATH . .It Li ".Ev PRINTER ) ) ," .Ev PRINTER ) ) , .El .Pp . デフォルト幅は 15n です。 . -.Ss フラグ +.Ss "フラグ" . .Ql .Fl マクロはコマンド行のフラグを扱います。 フラグの前にはダッシュ .Ql \- が挿入されます。 -対話的なコマンドのフラグでは、ダッシュがフラグの前には -挿入されませんが、 +ダッシュがつかない対話的なコマンドのために .Ql .Cm -(コマンド修飾子) マクロは、ダッシュを付けないことを除いて -同じ働きをします。 +(コマンド修飾子) +マクロが用意されています。 +これはダッシュを付けないことを除いて同じ働きをします。 .Pp -.Dl 使い方: .Fl Ao argument Ac ... +.Dl 使い方: .Fl Ao 引数 Ac ... .Pp -.Bl -tag -xwidth ".Li .Fl\ xyz\ )\ ," -compact -offset 15n +.Bl -tag -width ".Li .Fl\ xyz\ )\ ," -compact -offset 15n .It Li .Fl .Fl .It Li ".Fl cfv" .Fl cfv .It Li ".Fl cfv ." .Fl cfv . .It Li ".Cm cfv ." .Cm cfv . .It Li ".Fl s v t" .Fl s v t .It Li ".Fl \- ," .Fl \- , .It Li ".Fl xyz ) ," .Fl xyz ) , .It Li ".Fl |" .Fl | .El .Pp 引数なしで .Ql .Fl マクロを指定すると、標準入力/標準出力を意味するダッシュとなります。 .Ql .Fl -マクロにダッシュを 1 つ与えると、2 つダッシュとなることに +マクロにダッシュを 1 つ与えると、2 つのダッシュとなることに 注意して下さい。 .Pp デフォルト幅は 12n です。 . .Ss "関数の宣言" . .Ql .Fd マクロは .Sx SYNOPSIS セクションにおいて、セクション 2 または 3 の関数の説明で使われます。 このマクロは呼び出し不可能であり、解析されることもありません。 .Pp -.Dl 使い方: .Fd Ao argument Ac ... +.Dl 使い方: .Fd Ao 引数 Ac ... .Pp -.Bl -tag -xwidth ".Li .Fd\ X#include\ X" -compact -offset 15n +.Bl -tag -width ".Li .Fd\ X#include\ X" -compact -offset 15n .It Li ".Fd \*[q]#include \*[q]" .Fd "#include " .El .Pp .Sx SYNOPSIS セクションでは、 関数がすでに示されており、改行がまだされていない場合には .Ql .Fd リクエストは改行を入れます。 これによって前の関数呼び出しと次の関数の宣言の間に 最適な行間が設定されます。 . .Pp .Ql .In .Li ( #include -statement) +文) マクロは、以上の例を短く記述したものです。 このマクロは C プログラム中でインクルードされる C ヘッダファイルを指定します。 このマクロも改行を挿入し、 呼び出し不可能であり、解析されることもありません。 .Pp -.Dl 使い方: .In Ao header file Ac +.Dl 使い方: .In Ao ヘッダファイル Ac .Pp -.Bl -tag -xwidth ".Li .In\ stdio.h" -compact -offset 15n +.Bl -tag -width ".Li .In\ stdio.h" -compact -offset 15n .It Li ".In stdio.h" .In stdio.h .El . .Ss "関数の型" . このマクロは .Sx SYNOPSIS セクションで使うものです。 マニュアルページ中の他の場所でも問題なく使うことができますが、 セクション 2 と 3 の .Sx SYNOPSIS セクションにおいてカーネルの通常の形式で関数の型を示すことが このマクロの目的です (このマクロは関数名が次の行に置かれるように改行を挿入します)。 .Pp -.Dl 使い方: .Ft Ao type Ac ... +.Dl 使い方: .Ft Ao 型 Ac ... .Pp -.Bl -tag -xwidth ".Li .Ft\ struct\ stat" -compact -offset 15n +.Bl -tag -width ".Li .Ft\ struct\ stat" -compact -offset 15n .It Li ".Ft struct stat" .Ft struct stat .El . .Ss "関数 (ライブラリルーチン)" . .Ql .Fn マクロは .Tn ANSI\~C の記法を規範としています。 .Pp -.Dl 使い方: .Fn Ao function Ac Oo Ao parameter Ac Oc ... +.Dl 使い方: .Fn Ao 関数 Ac Oo Ao パラメータ Ac Oc ... .Pp -.Bl -tag -xwidth ".Li .Fn\ align\ Xchar\ *ptrX\ ," -compact -offset 15n +.Bl -tag -width ".Li .Fn\ align\ Xchar\ *ptrX\ ," -compact -offset 15n .It Li ".Fn getchar" .Fn getchar .It Li ".Fn strlen ) ," .Fn strlen ) , .It Li ".Fn align \*[q]char *ptr\*[q] ," .Fn align "char *ptr" , .El .Pp 他のマクロを呼び出すと .Ql .Fn 呼び出しの終了を意味することに注意してください -(閉じ括弧がその時点で挿入されます)。 +(閉じ括弧がその箇所に挿入されます)。 .Pp 多くのパラメータをとる関数 (これは滅多にないことですが) では、 .Ql .Fo -マクロ (関数オープン) と +マクロ (関数マクロの開始) と .Ql .Fc -マクロ (関数クローズ) を +マクロ (関数マクロの終了) を .Ql .Fa -(関数引数) と共に使って、この制限を回避することができます。 +(関数の引数) と共に使って、この制限を回避することができます。 .Pp 使用例: . .Bd -literal -offset indent \&.Ft int \&.Fo res_mkquery \&.Fa "int op" \&.Fa "char *dname" \&.Fa "int class" \&.Fa "int type" \&.Fa "char *data" \&.Fa "int datalen" \&.Fa "struct rrec *newrr" \&.Fa "char *buf" \&.Fa "int buflen" \&.Fc .Ed .Pp . 生成結果: . .Bd -ragged -offset indent .Ft int .Fo res_mkquery .Fa "int op" .Fa "char *dname" .Fa "int class" .Fa "int type" .Fa "char *data" .Fa "int datalen" .Fa "struct rrec *newrr" .Fa "char *buf" .Fa "int buflen" .Fc .Ed .Pp . .Sx SYNOPSIS セクションでは、関数は常に行の先頭から開始されます。 .Sx SYNOPSIS セクションにおいて複数の関数が示されており、関数の型が 示されない場合、改行が挿入され、現在の関数名とその前の 関数名の間に最適な改行量が設定されます。 .Pp .Ql .Fn および .Ql .Fo のデフォルト幅の値はそれぞれ 12n と 16n です。 . .Ss "関数の引数" . .Ql .Fa マクロは関数の引数 (パラメータ) を マニュアルの .Sx SYNOPSIS のセクション外で参照する場合、あるいは .Ql .Fn の代わりに .Ql .Fo および .Ql .Fc 囲いマクロを使用した場合には .Sx SYNOPSIS のセクション内で参照する場合にも使われます。 .Ql .Fa は構造体のメンバを参照する場合にも使われます。 .Pp -.Dl 使い方: .Fa Ao function argument Ac ... +.Dl 使い方: .Fa Ao 関数の引数 Ac ... .Pp -.Bl -tag -xwidth ".Li .Fa\ d_namlen\ )\ )\ ," -compact -offset 15n +.Bl -tag -width ".Li .Fa\ d_namlen\ )\ )\ ," -compact -offset 15n .It Li ".Fa d_namlen ) ) ," .Fa d_namlen ) ) , .It Li ".Fa iov_len" .Fa iov_len .El .Pp . デフォルト幅は 12n です。 . .Ss "戻り値" . .Ql .Rv マクロは .Sx RETURN VALUES のセクションで使うテキストを生成します。 .Pp -.Dl 使い方: .Rv Oo -std Oc Ao function Ac ... +.Dl 使い方: .Rv Oo -std Oc Op Ao 関数 Ac ... .Pp 例えば、 .Ql ".Rv -std atexit" は次のテキストを生成します。 . -.Bd -ragged -offset indent +.Bd -ragged -offset -indent \# a small hack to suppress a warning message .ds section-old "\*[section] -.ds section 2 +.ds section 3 .Rv -std atexit .ds section "\*[section-old] .Ed .Pp . .Fl std オプションはセクション 2 と 3 のマニュアルページでのみ有効です。 現在のところ、このマクロは .Fl std フラグなしで使用しても何も起こりません。 . +.Ss "終了ステータス" +. +.Ql .Ex +マクロは +.Sx DIAGNOSTICS +のセクションで使うテキストを生成します。 +.Pp +.Dl 使い方: .Ex Oo -std Oc Op Ao ユーティリティ Ac ... +.Pp +例えば +.Ql ".Ex -std cat" +は次のテキストを生成します。 +. +.Bd -ragged -offset -indent +\# a small hack to suppress a warning message +.ds section-old "\*[section] +.ds section 1 +.Ex -std cat +.ds section "\*[section-old] +.Ed +.Pp +. +.Fl std +オプションはセクション 1 と 6 と 8 のマニュアルページでのみ有効です。 +現在のところ、このマクロは +.Fl std +フラグなしで使用しても何も起こりません。 +. .Ss "対話的なコマンド" . .Ql .Ic マクロは対話的なコマンド、もしくは内部コマンドを指定します。 .Pp -.Dl 使い方: .Ic Ao argument Ac ... +.Dl 使い方: .Ic Ao 引数 Ac ... .Pp -.Bl -tag -xwidth ".Li .Ic\ setenv\ ,\ unsetenv" -compact -offset 15n +.Bl -tag -width ".Li .Ic\ setenv\ ,\ unsetenv" -compact -offset 15n .It Li ".Ic :wq" .Ic :wq .It Li ".Ic \*[q]do while {...}\*[q]" .Ic "do while {...}" .It Li ".Ic setenv , unsetenv" .Ic setenv , unsetenv .El .Pp . デフォルト幅は 12n です。 . .Ss "ライブラリ名" . .Ql .Lb マクロは、関数がどのライブラリに組み込まれるかを指定します。 .Pp -.Dl 使い方: .Lb Ao argument Ac ... +.Dl 使い方: .Lb Ao 引数 Ac ... .Pp .Ql .Lb マクロに対して使用可能な引数と結果は次の通りです: . .Pp -.Bl -tag -xwidth ".Li libossaudio" -compact -offset indent +.Bl -tag -width ".Li libossaudio" -compact -offset indent .It Li libarm32 .Lb libarm32 .It Li libc .Lb libc .It Li libcompat .Lb libcompat .It Li libcrypt .Lb libcrypt .It Li libcurses .Lb libcurses .It Li libedit .Lb libedit .It Li libi386 .Lb libi386 .It Li libipsec .Lb libipsec .It Li libkvm .Lb libkvm .It Li libm .Lb libm .It Li libmenu .Lb libmenu .It Li libossaudio .Lb libossaudio .It Li libposix .Lb libposix .It Li libresolv .Lb libresolv .It Li libtermcap .Lb libtermcap .It Li libutil .Lb libutil .It Li libz .Lb libz .El .Pp . -ローカルマシンや OS 特有の追加項目については、ファイル +ローカルな追加項目や OS 特有の追加項目が、ファイル .Pa mdoc.local -で見つかります。 +にあるかもしれません。 .Ql str-Lb-XXX -という名前の文字列を検索してください。そのため +という名前の文字列を検索してください。ここで .Ql XXX は .Ql .Lb -マクロとともに使用されるキーワードを示すことになります。 +マクロとともに使用されるキーワードを示しています。 . .Ss リテラル . リテラルマクロ .Ql .Li は特殊文字や変数定数、その他タイプされた通りに表示する必要があるものに 使用することができます。 .Pp -.Dl 使い方: .Li Ao argument Ac ... +.Dl 使い方: .Li Ao 引数 Ac ... .Pp -.Bl -tag -xwidth ".Li .Li\ cntrl-D\ )\ ," -compact -offset 15n +.Bl -tag -width ".Li .Li\ cntrl-D\ )\ ," -compact -offset 15n .It Li ".Li \een" .Li \en .It Li ".Li M1 M2 M3 ;" .Li M1 M2 M3 ; .It Li ".Li cntrl-D ) ," .Li cntrl-D ) , .It Li ".Li 1024 ..." .Li 1024 ... .El .Pp . デフォルト幅は 16n です。 . .Ss 名称 . .Ql .Nm マクロは文書のタイトルやサブジェクト名を指定するために使われます。 このマクロは呼び出された時の第 1 引数を覚えておくという 変わった特性を持っており、 それは常にそのページのサブジェクト名であるべきです。 引数なしで呼び出されると .Ql .Nm -は作者の作業を少なくするためだけの目的で、最初の名称を出力します。 +は作者のために最低限の仕事をするという意味で、 +この初期化された名称を出力します。 注: セクション 2 または 3 のドキュメントの関数名は .Sx NAME セクションにおいて .Ql .Nm で指定され、 .Sx SYNOPSIS セクションや残りのセクションでは .Ql .Fn で指定されます。 .Xr csh 1 での .Ql while コマンドのキーワードのような対話的なコマンドでは .Ql .Ic マクロを使う必要があります。 .Ql .Ic はほとんど .Ql .Nm と同一ですが、 それが使われたときの第 1 引数を記憶することはできません。 .Pp -.Dl 使い方: .Nm Oo Ao argument Ac Oc ... +.Dl 使い方: .Nm Oo Ao 引数 Ac Oc ... .Pp -.Bl -tag -xwidth ".Li .Nm\ groff_mdoc" -compact -offset 15n +.Bl -tag -width ".Li .Nm\ groff_mdoc" -compact -offset 15n .It Li ".Nm groff_mdoc" .Nm groff_mdoc .It Li ".Nm \e-mdoc" .Nm \-mdoc .It Li ".Nm foo ) ) ," .Nm foo ) ) , .It Li ".Nm :" .Nm : .El .Pp . デフォルト幅は 10n です。 . .Ss オプション . .Ql .Op マクロはコマンド行の残りのすべての引数を オプションであることを示す角括弧で囲み、 末尾の句読点は角括弧の外に置きます。 .Ql .Oo マクロと .Ql .Oc マクロ (それぞれ開き角括弧と閉じ角括弧を生成します) は 複数行に渡って使うことができ、また閉じ括弧の正確な位置を 指定するのに使うことができます。 .Pp -.Dl 使い方: .Op Oo Ao option Ac Oc ... +.Dl 使い方: .Op Oo Ao オプション Ac Oc ... .Pp -.Bl -tag -xwidth ".Li .Op\ Fl\ c\ Ar\ objfil\ Op\ Ar\ corfil\ ," -compact -offset 15n +.Bl -tag -width ".Li .Op\ Fl\ c\ Ar\ objfil\ Op\ Ar\ corfil\ ," -compact -offset 15n .It Li .Op .Op .It Li ".Op Fl k" .Op Fl k .It Li ".Op Fl k ) ." .Op Fl k ) . .It Li ".Op Fl k Ar kookfile" .Op Fl k Ar kookfile .It Li ".Op Fl k Ar kookfile ," .Op Fl k Ar kookfile , .It Li ".Op Ar objfil Op Ar corfil" .Op Ar objfil Op Ar corfil .It Li ".Op Fl c Ar objfil Op Ar corfil ," .Op Fl c Ar objfil Op Ar corfil , .It Li ".Op word1 word2" .Op word1 word2 .It Li ".Li .Op Oo Ao option Ac Oc ..." .Li .Op Oo Ao options Ac Oc ... .El .Pp これは、 .Ql .Oo マクロと .Ql .Oc マクロを使った典型的な例です: . .Bd -literal -offset indent \&.Oo \&.Op Fl k Ar kilobytes \&.Op Fl i Ar interval \&.Op Fl c Ar count \&.Oc .Ed .Pp . 出力結果: . .Bd -filled -offset indent .Oo .Op Fl k Ar kilobytes .Op Fl i Ar interval .Op Fl c Ar count .Oc .Ed .Pp . .Ql .Op マクロおよび .Ql .Oo マクロのデフォルト幅はそれぞれ 14n と 10n です。 . .Ss パス名 . .Ql .Pa マクロはパス名もしくはファイル名を整形します。 引数なしで呼ばれた場合、 .Sq Pa 文字列が出力となり、これは現在のユーザのホームディレクトリを 表しています。 .Pp -.Dl 使い方: .Pa Oo Ao pathname Ac Oc ... +.Dl 使い方: .Pa Oo Ao パス名 Ac Oc ... .Pp -.Bl -tag -xwidth ".Li .Pa\ /tmp/fooXXXXX\ )\ ." -compact -offset 15n +.Bl -tag -width ".Li .Pa\ /tmp/fooXXXXX\ )\ ." -compact -offset 15n .It Li .Pa .Pa .It Li ".Pa /usr/share" .Pa /usr/share .It Li ".Pa /tmp/fooXXXXX ) ." .Pa /tmp/fooXXXXX ) . .El .Pp . デフォルト幅は 32n です。 . .Ss 規格 . .Ql .St マクロは、規格の短縮名称を正式名称に置換します。 .Pp -.Dl 使い方: .St Ao abbreviation Ac ... +.Dl 使い方: .St Ao 短縮名称 Ac ... .Pp 使用可能な .Dq 短縮名称/正式名称 の組は次の通りです: . .Pp .Tn ANSI/ISO C .Pp -.Bl -tag -xwidth ".Li -iso9945-1-90" -compact -offset indent +.Bl -tag -width ".Li -iso9945-1-90" -compact -offset indent .It Li -ansiC .St -ansiC .It Li -ansiC-89 .St -ansiC-89 .It Li -isoC .St -isoC .It Li -isoC-99 .St -isoC-99 .El .Pp . .Tn POSIX パート 1: System API .Pp -.Bl -tag -xwidth ".Li -p1003.1g-2000" -compact -offset indent +.Bl -tag -width ".Li -p1003.1g-2000" -compact -offset indent .It Li -iso9945-1-90 .St -iso9945-1-90 .It Li -iso9945-1-96 .St -iso9945-1-96 .It Li -p1003.1 .St -p1003.1 .It Li -p1003.1-88 .St -p1003.1-88 .It Li -p1003.1-90 .St -p1003.1-90 .It Li -p1003.1-96 .St -p1003.1-96 .It Li -p1003.1b-93 .St -p1003.1b-93 .It Li -p1003.1c-95 .St -p1003.1c-95 .It Li -p1003.1g-2000 .St -p1003.1g-2000 .It Li -p1003.1i-95 .St -p1003.1i-95 .El .Pp . .Tn POSIX パート 2: シェルとユーティリティ .Pp -.Bl -tag -xwidth ".Li -p1003.1g-2000" -compact -offset indent +.Bl -tag -width ".Li -p1003.1g-2000" -compact -offset indent .It Li -iso9945-2-93 .St -iso9945-2-93 .It Li -p1003.2 .St -p1003.2 .It Li -p1003.2-92 .St -p1003.2-92 .It Li -p1003.2a-92 .St -p1003.2a-92 .El .Pp . X/Open -.Bl -tag -xwidth ".Li -p1003.1g-2000" -compact -offset indent +.Bl -tag -width ".Li -p1003.1g-2000" -compact -offset indent .Pp .It Li -susv2 .St -susv2 .It Li -svid4 .St -svid4 .It Li -xbd5 .St -xbd5 .It Li -xcu5 .St -xcu5 .It Li -xcurses4.2 .St -xcurses4.2 .It Li -xns5 .St -xns5 .It Li -xns5.2 .St -xns5.2 .It Li -xpg3 .St -xpg3 .It Li -xpg4 .St -xpg4 .It Li -xpg4.2 .St -xpg4.2 .It Li -xsh5 .St -xsh5 .El .Pp . その他 .Pp -.Bl -tag -xwidth ".Li -p1003.1g-2000" -compact -offset indent +.Bl -tag -width ".Li -p1003.1g-2000" -compact -offset indent .It Li -ieee754 .St -ieee754 .It Li -iso8802-3 .St -iso8802-3 .El . .Ss "変数の型" . .Ql .Vt マクロは型を参照するときにはいつでも使用することができます。 .Sx SYNOPSIS セクションでは改行が挿入されます (古いスタイルの変数宣言では便利です)。 .Pp -.Dl 使い方: .Vt Ao type Ac ... +.Dl 使い方: .Vt Ao 型 Ac ... .Pp -.Bl -tag -xwidth ".Li .Vt\ extern\ char\ *optarg\ ;" -compact -offset 15n +.Bl -tag -width ".Li .Vt\ extern\ char\ *optarg\ ;" -compact -offset 15n .It Li ".Vt extern char *optarg ;" .Vt extern char *optarg ; .It Li ".Vt FILE *" .Vt FILE * .El . .Ss 変数 . 一般的な変数への参照です。 .Pp -.Dl 使い方: .Va Ao variable Ac ... +.Dl 使い方: .Va Ao 変数 Ac ... .Pp -.Bl -tag -xwidth ".Li .Va\ Xchar\ sX\ ]\ )\ )\ ," -compact -offset 15n +.Bl -tag -width ".Li .Va\ Xchar\ sX\ ]\ )\ )\ ," -compact -offset 15n .It Li ".Va count" .Va count .It Li ".Va settimer ," .Va settimer , .It Li ".Va \*[q]int *prt\*[q] ) :" .Va "int *prt" ) : .It Li ".Va \*[q]char s\*[q] ] ) ) ," .Va "char s" ] ) ) , .El .Pp . デフォルト幅は 12n です。 . .Ss "マニュアルページのクロスリファレンス" . .Ql .Xr マクロは最初の引数にマニュアルページの名称をとります。 オプションである第 2 引数は、文字列 (マニュアルセクションを定義します) であれば 括弧で囲われます。 .Pp -.Dl 使い方: .Xr Ao man page name Ac Oo Ao section Ac Oc ... +.Dl 使い方: .Xr Ao マニュアルページの名称 Ac Oo Ao セクション Ac Oc ... .Pp -.Bl -tag -xwidth ".Li .Xr\ xinit\ 1x\ ;" -compact -offset 15n +.Bl -tag -width ".Li .Xr\ xinit\ 1x\ ;" -compact -offset 15n .It Li ".Xr mdoc" .Xr mdoc .It Li ".Xr mdoc ," .Xr mdoc , .It Li ".Xr mdoc 7" .Xr mdoc 7 .It Li ".Xr xinit 1x ;" .Xr xinit 1x ; .El .Pp . デフォルト幅は 10n です。 . . .Sh "一般テキスト領域" . .Ss "AT&T マクロ" . .Pp -.Dl 使い方: .At Oo Ao version Ac Oc ... +.Dl 使い方: .At Oo Ao バージョン Ac Oc ... .Pp -.Bl -tag -xwidth ".Li .At\ v6\ ." -compact -offset 15n +.Bl -tag -width ".Li .At\ v6\ ." -compact -offset 15n .It Li .At .At .It Li ".At v6 ." .At v6 . .El .Pp -.Ao version Ac +.Ao バージョン Ac には次の値をとることができます: .Pp .Dl 32v, v1, v2, v3, v4, v5, v6, v7, V, V.1, V.2, V.3, V.4 . .Ss "BSD マクロ" . .Pp .Dl "使い方: .Bx" Bro -alpha | -beta | -devel Brc ... -.Dl " .Bx" Oo Ao version Ac Oo Ao release Ac Oc Oc ... +.Dl " .Bx" Oo Ao バージョン Ac Oo Ao リリース Ac Oc Oc ... .Pp -.Bl -tag -xwidth ".Li .Bx\ -devel" -compact -offset 15n +.Bl -tag -width ".Li .Bx\ -devel" -compact -offset 15n .It Li .Bx .Bx .It Li ".Bx 4.3 ." .Bx 4.3 . .It Li ".Bx \-devel" .Bx -devel .El .Pp -.Ao version Ac +.Ao バージョン Ac が文字列 .Sq Bx の前につきます。 -.Ao release Ac +.Ao リリース Ac には次の値をとることができます: .Pp .Dl Reno, reno, Tahoe, tahoe, Lite, lite, Lite2, lite2 . .Ss "NetBSD マクロ" . .Pp -.Dl 使い方: .Nx Oo Ao version Ac Oc ... +.Dl 使い方: .Nx Oo Ao バージョン Ac Oc ... .Pp -.Bl -tag -xwidth ".Li .Nx\ 1.4\ ." -compact -offset 15n +.Bl -tag -width ".Li .Nx\ 1.4\ ." -compact -offset 15n .It Li .Nx .Nx .It Li ".Nx 1.4 ." .Nx 1.4 . .El .Pp -.Ao version Ac +.Ao バージョン Ac にとり得る値については前述の .Sx "タイトルマクロ" セクションの .Ql .Os リクエストの説明を参照してください。 . .Ss "FreeBSD マクロ" . .Pp -.Dl 使い方: .Fx Oo Ao version Ac Oc ... +.Dl 使い方: .Fx Oo Ao バージョン Ac Oc ... .Pp -.Bl -tag -xwidth ".Li .Fx\ 2.2\ ." -compact -offset 15n +.Bl -tag -width ".Li .Fx\ 2.2\ ." -compact -offset 15n .It Li .Fx .Fx .It Li ".Fx 2.2 ." .Fx 2.2 . .El .Pp -.Ao version Ac +.Ao バージョン Ac にとり得る値については前述の .Sx "タイトルマクロ" セクションの .Ql .Os リクエストの説明を参照してください。 . .Ss "OpenBSD マクロ" . .Pp -.Dl 使い方: .Ox Oo Ao version Ac Oc ... +.Dl 使い方: .Ox Oo Ao バージョン Ac Oc ... .Pp -.Bl -tag -xwidth ".Li .Ox\ 1.0" -compact -offset 15n +.Bl -tag -width ".Li .Ox\ 1.0" -compact -offset 15n .It Li ".Ox 1.0" .Ox 1.0 .El . .Ss "BSD/OS マクロ" . .Pp -.Dl 使い方: .Bsx Oo Ao version Ac Oc ... +.Dl 使い方: .Bsx Oo Ao バージョン Ac Oc ... .Pp -.Bl -tag -xwidth ".Li .Bsx\ 1.0" -compact -offset 15n +.Bl -tag -width ".Li .Bsx\ 1.0" -compact -offset 15n .It Li ".Bsx 1.0" .Bsx 1.0 .El . .Ss "UNIX マクロ" . .Pp .Dl 使い方: .Ux ... .Pp -.Bl -tag -xwidth ".Li .Ux" -compact -offset 15n +.Bl -tag -width ".Li .Ux" -compact -offset 15n .It Li .Ux .Ux .El . .Ss "強調マクロ" . テキストは .Ql .Em マクロを用いて強調することができます。 通常強調に用いられるフォントはイタリック体です。 .Pp -.Dl 使い方: .Em Ao argument Ac ... +.Dl 使い方: .Em Ao 引数 Ac ... .Pp -.Bl -tag -xwidth ".Li .Em\ vide\ infra\ )\ )\ ," -compact -offset 15n +.Bl -tag -width ".Li .Em\ vide\ infra\ )\ )\ ," -compact -offset 15n .It Li ".Em does not" .Em does not .It Li ".Em exceed 1024 ." .Em exceed 1024 . .It Li ".Em vide infra ) ) ," .Em vide infra ) ) , .El .Pp . デフォルト幅は 10n です。 . .Ss "フォントモード" . .Ql .Bf フォントモードは .Ql .Ef マクロで終了しなくてはなりません (後者のマクロは引数をとりません)。 フォントモードは別のフォントモード内に入れ子にできます。 .Pp .Ql .Bf は次の文法をもっています: .Pp -.Dl .Bf Ao font mode Ac +.Dl .Bf Ao フォントモード Ac .Pp -.Ao font mode Ac +.Ao フォントモード Ac は次の 3 種類のうちのいずれかでなくてはなりません。 .Pp -.Bl -tag -xwidth ".Sy \&Sy | Fl symbolic" -compact -offset indent +.Bl -tag -width ".Sy \&Sy | Fl symbolic" -compact -offset indent .It Sy \&Em | Fl emphasis .Ql .Em -マクロがテキスト全体のブロックに対して使用された場合と +マクロがテキストのブロック全体に対して使用された場合と 同じになります。 -.Ql .Em .It Sy \&Li | Fl literal .Ql .Li -マクロがテキスト全体のブロックに対して使用された場合と +マクロがテキストのブロック全体に対して使用された場合と 同じになります。 .It Sy \&Sy | Fl symbolic .Ql .Sy -マクロがテキスト全体のブロックに対して使用された場合と +マクロがテキストのブロック全体に対して使用された場合と 同じになります。 .El .Pp いずれのマクロも呼び出し不可能であり、解析もされません。 . .Ss "囲い/クォートマクロ" . 囲いの概念はクォートと似たものです。 1 つ以上の文字列が引用符や括弧のような文字のペアで囲まれている オブジェクトを指します。 クォートと囲いという用語はこの文書を通して同じ意味で使われます。 -ほとんどの 1 行の囲いマクロはクォートのヒントとするために、 +ほとんどの 1 行の囲いマクロはクォートであることをほのめかすために、 小文字の .Ql q -で終了しますが、いくつかの例外があります。 +で終了しますが、例外もいくつかあります。 各々の囲いマクロに対し、開始マクロと終了マクロのペアもあり、 それぞれ小文字の .Ql o と .Ql c で終了します。 .Pp \# XXX .if t \ . ne 10 . .Bd -filled -offset 4n -.Bl -column "クォート" "終了" "開始" "カギ括弧による囲い" "`文字列' もしくは 文字列" -.Em クォート Ta Em 開始 Ta Em 終了 Ta Em 機能 Ta Em 結果 -.No .Aq Ta .Ao Ta .Ac Ta "カギ括弧による囲い" Ta Ao 文字列 Ac -.No .Bq Ta .Bo Ta .Bc Ta "角括弧による囲い" Ta Bo 文字列 Bc -.No .Brq Ta .Bro Ta .Brc Ta "中括弧による囲い" Ta Bro 文字列 Brc -.No .Dq Ta .Do Ta .Dc Ta "2 重引用符" Ta Do 文字列 Dc -.No .Eq Ta .Eo Ta .Ec Ta "囲い文字列 (XX による)" Ta XX文字列XX -.No .Pq Ta .Po Ta .Pc Ta "括弧による囲い" Ta Po 文字列 Pc -.No .Ql Ta Ta Ta "クォートされたリテラル" Ta So 文字列 Sc もしくは Li 文字列 -.No .Qq Ta .Qo Ta .Qc Ta "まっすぐな 2 重引用符" Ta Qo 文字列 Qc -.No .Sq Ta .So Ta .Sc Ta "1 重引用符" Ta So 文字列 Sc +.Bl -column "クォート" "終了" "開始" "アングルブラケットによる囲い" "`string' もしくは string" +.Em クォート Ta Em 開始 Ta Em 終了 Ta Em 機能 Ta Em 結果 +.No .Aq Ta .Ao Ta .Ac Ta "アングルブラケットによる囲い" Ta Ao string Ac +.No .Bq Ta .Bo Ta .Bc Ta "角括弧による囲い" Ta Bo string Bc +.No .Brq Ta .Bro Ta .Brc Ta "中括弧による囲い" Ta Bro string Brc +.No .Dq Ta .Do Ta .Dc Ta "2 重引用符" Ta Do string Dc +.No .Eq Ta .Eo Ta .Ec Ta "囲い文字列 (XX による)" Ta XXstringXX +.No .Pq Ta .Po Ta .Pc Ta "括弧による囲い" Ta Po string Pc +.No .Ql Ta Ta Ta "クォートされたリテラル" Ta So string Sc もしくは Li string +.No .Qq Ta .Qo Ta .Qc Ta "まっすぐな 2 重引用符" Ta Qo string Qc +.No .Sq Ta .So Ta .Sc Ta "1 重引用符" Ta So string Sc .El .Ed .Pp .Sq q および .Sq o で終わるマクロはすべてデフォルト幅が 12n です。 . -.Bl -tag -xwidth ".Li .Ec , .Eo" +.Bl -tag -width ".Li .Ec , .Eo" .It Li .Eo , .Ec これらのマクロはそれぞれ第 1 引数に囲い始めに使う文字列と 囲い終わりに使う文字列をとります。 .It Li .Es , .En オリジナルの troff プログラムでは、引数の数が 9 つまでという -制限がありましたので、これらのマクロの他に 2 つマクロが +制限がありましたので、(Eo, Ec とは) 別の 2 つのマクロが 実装されています。現在は非推奨になっています。 .Ql .Es は第 1 引数と第 2 引数に左囲い文字列および右囲い文字列を とります。この文字列は、 .Ql .En の引数を囲うのに使用されます。 デフォルト幅は、どちらのマクロも 12n です。 .It Li .Eq このマクロの第 1、第 2 引数はそれぞれ囲い始めに使う文字列と 囲い終わりに使う文字列であり、この文字列の後に 囲われる引数が続きます。 .It Li .Ql クォートされたリテラルマクロは troff モードと nroff モードで 違った挙動をします。 .Xr nroff で整形された場合、 クォートされたリテラルは常にクォートされます。 -troff で整形された場合、その要素の幅が 3 固定幅文字の幅よりも +troff で整形された場合、その要素の幅が固定幅文字 3 文字分の幅よりも 小さいときのみクォートされます。 これにより、リテラル (固定幅) フォントへフォントを変更すると 目立たなくなってしまうような短い文字列がより見やすくなります。 .Pp デフォルト幅は 16n です。 .It Li .Pf プレフィックスマクロは第 1 引数と第 2 引数の間の ホワイトスペースをなくします: . -.Bl -tag -xwidth ".Li .Pf\ (\ Fa\ name2" -offset indent +.Bl -tag -width ".Li .Pf\ (\ Fa\ name2" -offset indent .It Li ".Pf ( Fa name2" .Pf ( Fa name2 .El .Pp . デフォルト幅は 12n です。 .Pp .Ql .Ns -マクロ (後述参照) はサフィックス機能と同等です。 +マクロ (後述参照) は同じようにサフィックスに働きます。 .It Li .Ap .Ql .Ap マクロはアポストロフィを追加し、特別なテキストモードから 抜けます。そして .Ql .No -を続けます。 +モードで続けます。 .El .Pp . クォートの例: . .Pp -.Bl -tag -xwidth ".Li .Bq\ Em\ Greek\ ,\ French\ ." -compact -offset indent +.Bl -tag -width ".Li .Bq\ Em\ Greek\ ,\ French\ ." -compact -offset indent .It Li .Aq .Aq .It Li ".Aq Pa ctype.h ) ," .Aq Pa ctype.h ) , .It Li .Bq .Bq .It Li ".Bq Em Greek , French ." .Bq Em Greek , French . .It Li .Dq .Dq .It Li ".Dq string abc ." .Dq string abc . .It Li ".Dq \'^[A-Z]\'" .Dq \'^[A-Z]\' .It Li ".Ql man mdoc" .Ql man mdoc .It Li .Qq .Qq .It Li ".Qq string ) ," .Qq string ) , .It Li ".Qq string Ns )," .Qq string Ns ), .It Li .Sq .Sq .It Li ".Sq string" .Sq string .It Li ".Em or Ap ing" .Em or Ap ing .El .Pp . 囲いマクロの入れ子についての良い例については、 オプションマクロ .Ql .Op を参照してください。 このマクロは上でリストされているような囲いマクロと同じベースの上に 作られています。 .Ql .Xo と .Ql .Xc 拡張引数リストマクロについては後で述べます。 . -.Ss "no\-op もしくは通常テキストマクロ" +.Ss "無操作もしくは通常テキストマクロ" . .Ql .No マクロは、マクロコマンド行において整形されては .Em ならない パラメータ用に使用できます。 -英単語 (かつ、マクロでないもの) をパラメータとして -本当に使いたい場合は、その単語 +この英単語 (マクロでなく) をパラメータとして +本当に使いたい場合は、この単語 .Ql \&No に .Ql \e& を足すように注意してください。 .Pp -.Dl 使い方: .No Ao argument Ac ... +.Dl 使い方: .No Ao 引数 Ac ... .Pp -.Bl -tag -xwidth ".Li .No\ test\ Ta\ with\ Ta\ tabs" -compact -offset 15n +.Bl -tag -width ".Li .No\ test\ Ta\ with\ Ta\ tabs" -compact -offset 15n .It Li ".No test Ta with Ta tabs" .No test Ta with Ta tabs .El .Pp . デフォルト幅は 12n です。 . .Ss "空白なしマクロ" . .Ql .Ns マクロは、現在の位置とマクロの第 1 パラメータとの間に 空白を挿入するのを抑止します。 例えば、フラグと引数の間に空白を含まない古いスタイルの 引数リストを使う場合に便利です: .Pp -.Dl "使い方:" ... Ao argument Ac \&Ns Oo Ao argument Ac Oc ... -.Dl " " .Ns Ao argument Ac ... +.Dl "使い方:" ... Ao 引数 Ac \&Ns Oo Ao 引数 Ac Oc ... +.Dl " " .Ns Ao 引数 Ac ... .Pp -.Bl -tag -xwidth ".Li .Op\ Fl\ I\ Ns\ Ar\ directory" -compact -offset 15n +.Bl -tag -width ".Li .Op\ Fl\ I\ Ns\ Ar\ directory" -compact -offset 15n .It Li ".Op Fl I Ns Ar directory" .Op Fl I Ns Ar directory .El .Pp 注: .Ql .Ns マクロは他のマクロ名が続かなければ、スペースを除去したあとに .Ql .No マクロを常に起動します。 リクエストとして使用される場合 (つまり、 .Sq 使い方 の行での 2 番目の形式です)、 .Ql .Ns マクロは .Ql .No と同一です。 . .Ss "セクションのクロスリファレンス" . .Ql .Sx マクロは同一文書内でのセクションのヘッダへの参照を指定します。 .Pp -.Dl 使い方: .Sx Ao section reference Ac ... +.Dl 使い方: .Sx Ao セクションの参照 Ac ... .Pp -.Bl -tag -xwidth ".Li .Sx\ FILES" -offset 15n +.Bl -tag -width ".Li .Sx\ FILES" -offset 15n .It Li ".Sx FILES" .Sx FILES .El .Pp . デフォルト幅は 16n です。 . .Ss 記号 . 記号体強調マクロは、記号の意味でも伝統的な英語の 使い方においても通常はボールド体マクロとなっています。 .Pp -.Dl 使い方: .Sy Ao symbol Ac ... +.Dl 使い方: .Sy Ao 記号 Ac ... .Pp -.Bl -tag -xwidth ".Li .Sy\ Important\ Notice" -compact -offset 15n +.Bl -tag -width ".Li .Sy\ Important\ Notice" -compact -offset 15n .It Li ".Sy Important Notice" .Sy Important Notice .El .Pp . デフォルト幅は 6n です。 . -.Ss 数式記号 +.Ss 数学記号 . -数式記号やそれに似たものについては、このマクロを使用して +数学記号やそれに似たものについては、このマクロを使用して ください。 .Pp -.Dl 使い方: .Ms Ao math symbol Ac ... +.Dl 使い方: .Ms Ao 数学記号 Ac ... .Pp -.Bl -tag -xwidth ".Li .Ms\ sigma" -compact -offset 15n +.Bl -tag -width ".Li .Ms\ sigma" -compact -offset 15n .It Li ".Ms sigma" .Ms sigma .El .Pp . デフォルト幅は 6n です。 . .Ss "参考文献と引用" . 次のマクロは多少なりとも参考文献を扱えるようにと意図したものです。 これらのマクロは、せいぜい .Xr refer 1 スタイルの参考文献のサブセットを手動で 作成しやすくする程度です。 .Pp .Bl -tag -width 6n -offset indent -compact .It Li .Rs 参考文献の開始 (引数はとりません)。 .Sx "SEE ALSO" セクションでは改行を挿入し、参考文献の終了マクロが 読み込まれるまで参考文献の情報を収集します。 .It Li .Re 参考文献の終了 (引数はとりません)。 参考文献が表示されます。 .It Li .%A 参考文献の作者名。1 回の呼び出しにつき、作者名をひとつ指定します。 .It Li .%B 書籍のタイトル。 .It Li .%C 市 / 場所 (まだ実装されていません)。 .It Li .%D 日付。 .It Li .%I 発行者/出版社名。 .It Li .%J 定期刊行物の名称。 .It Li .%N 発行番号。 .It Li .%O 追加情報。 .It Li .%P ページ番号。 .It Li .%Q 組織内部、あるいは外部の著者。 .It Li .%R 報告書の名称。 .It Li .%T 記事のタイトル。 .It Li .%V 巻数。 .El .Pp .Ql % で始まるマクロは呼び出し不可能ですが、 通常の方法で複数の引数をとることができます。 パラメータとしては .Ql .Tn マクロのみ扱います。その他のマクロを使うと 奇妙な出力が得られてしまいます。 .Ql .%B および .Ql .%T を .Ql .Rs/.Re 環境の外側では使用することができます。 .Pp 使用例: . .Bd -literal -offset indent \&.Rs \&.%A "Matthew Bar" \&.%A "John Foo" \&.%T "Implementation Notes on foobar(1)" \&.%R "Technical Report ABC-DE-12-345" \&.%Q "Drofnats College, Nowhere" \&.%D "April 1991" \&.Re .Ed .Pp 出力結果 . .Bd -ragged -offset indent .Rs .%A "Matthew Bar" .%A "John Foo" .%T "Implementation Notes on foobar(1)" .%R "Technical Report ABC-DE-12-345" .%Q "Drofnats College, Nowhere" .%D "April 1991" .Re .Ed . .Ss "商標名 (頭字語とタイプ名)" . 商標名マクロは、引数をより小さなフォントで出力します。 意図される使い方は、大文字の頭字語用に小さな大文字フォントを 似せて作ることです。 .Pp -.Dl 使い方: .Tn Ao symbol Ac ... +.Dl 使い方: .Tn Ao シンボル Ac ... .Pp -.Bl -tag -xwidth ".Li .Tn\ ASCII" -compact -offset 15n +.Bl -tag -width ".Li .Tn\ ASCII" -compact -offset 15n .It Li ".Tn DEC" .Tn DEC .It Li ".Tn ASCII" .Tn ASCII .El .Pp . デフォルト幅は 10n です。 . .Ss "拡張引数" . .Li .Xo と .Li .Xc マクロによって、 .Ql .It マクロ (後述) についてマクロ境界での引数リストを 拡張することができます。 .Li .Xo と .Li .Xc マクロは囲いを開いたり閉じたりする他のすべてのマクロに 対して同じように実装されている (もちろん文字は挿入しません) ということに注意してください。 つまり、次の例もこれらのマクロには当てはまります。 .Pp 次は、スペーシングをオフにするために 空白モードマクロを使った .Ql .Xo の使用例です。 . .Bd -literal -offset indent \&.Sm off \&.It Xo Sy I Ar operation \&.No \een Ar count No \een \&.Xc \&.Sm on .Ed .Pp . これは以下のような結果になります。 .Bd -filled -offset indent .Bl -tag -compact .Sm off .It Xo Sy I Ar operation .No \en Ar count No \en .Xc .Sm on .El .Ed .Pp . 例をもうひとつ: . .Bd -literal -offset indent \&.Sm off \&.It Cm S No / Ar old_pattern Xo \&.No / Ar new_pattern \&.No / Op Cm g \&.Xc \&.Sm on .Ed .Pp . これは以下のような結果になります。 . .Bd -filled -offset indent .Bl -tag -compact .Sm off .It Cm S No \&/ Ar old_pattern Xo .No \&/ Ar new_pattern .No \&/ Op Cm g .Xc .Sm on .El .Ed .Pp . 囲いマクロを使った .Ql .Xo の他の例: 変数の値をテストして下さい。 . .Bd -literal -offset indent \&.It Xo \&.Ic .ifndef \&.Oo \e&! Oc Ns Ar variable Oo \&.Ar operator variable ... \&.Oc Xc .Ed .Pp . 結果は以下の通りです。 . .Bd -filled -offset indent .Bl -tag -width flag -compact .It Xo .Ic .ifndef .Oo \&! Oc Ns Ar variable Oo .Ar operator variable ... .Oc Xc .El .Ed .Pp . . .Sh "ページ構造領域" . .Ss "セクションヘッダ" . 次の .Ql .Sh セクションヘッダマクロは、すべてのマニュアルページで必須のものです。 残りのセクションヘッダはマニュアルページの作者の裁量において、 推奨されているものです。 .Ql .Sh マクロは解析されますが、一般的には呼び出し不可能です。 .Ql .Sh を呼び出すときだけは、このマクロは引数として使用することができます。 この場合、 .Ql .Sh 用のデフォルトフォントを再度有効にします。 .Pp デフォルト幅は 8n です。 . -.Bl -tag -xwidth ".Li .Sh\ RETURN\ VALUES" +.Bl -tag -width ".Li .Sh\ RETURN\ VALUES" .It Li ".Sh NAME" -.Ql ".Sh NAME (訳注: 名称)" +.Ql ".Sh NAME" マクロは必須です。 これが指定されていないと、ヘッダとフッタ、それにデフォルトの ページレイアウトが設定されず、結果はかなり好ましくないものに なるでしょう。 .Sx NAME セクションは最低 3 つの項目からなります。 最初のものは名称マクロ .Ql .Nm であり、マニュアルページのサブジェクトとなります。 2 番目のものは名称説明マクロ .Ql .Nd であり、サブジェクト名を 3 つめの項目、 すなわちその名称の説明と分離します。 説明に割り当てられるスペースは小さいものですので、 できるだけ簡潔で分かりやすいものでなければなりません。 .Pp .Ql .Nd -最初の表示 +は全ての引数の頭に .Ql - , -そして引数すべて +を印字します。 . .It Li ".Sh LIBRARY" このセクションは、セクション 2 および 3 の関数呼び出しの ためにあります。 このセクションには、 .Ql .Lb マクロ呼び出し 1 つのみが含まれている必要があります。 .Sx "ライブラリ名" を参照してください。 . .It Li ".Sh SYNOPSIS" -.Sx SYNOPSIS (訳注: 書式) +.Sx SYNOPSIS セクションはそのマニュアルページのサブジェクトとなっている項目の 典型的な使用法を説明します。 .Ql .Nm , .Ql .Cd , あるいは .Ql .Fn です (他には .Ql .Fo , .Ql .Fc , .Ql .Fd , .Ql .Ft のマクロも必要な場合があります)。 関数名マクロ .Ql .Fn はセクション 2 と 3 のマニュアルページにおいて必須のもので、 コマンドと一般名称マクロ .Ql .Nm はセクション 1, 5, 6, 7, 8 で必須の項目です。 セクション 4 のマニュアルでは .Ql .Nm か .Ql .Fd 、もしくは設定デバイス使用法マクロ .Ql .Cd が必要です。 その他のいくつかのマクロが次に示すような書式行を生成するために 必要なことがあります: . .Bd -filled -offset indent .Nm cat .Op Fl benstuv .Op Fl .Ar .Ed .Pp . 次のマクロが使われています: .Pp .Dl ".Nm cat" .Dl ".Op Fl benstuv" .Dl ".Op Fl" .Dl .Ar . .It Li ".Sh DESCRIPTION" ほとんどの場合、 -.Sx "DESCRIPTION (訳注: 解説)" -での最初のテキストはそのコマンド、関数もしくは +.Sx "DESCRIPTION" +セクションでの最初のテキストはそのコマンド、関数もしくは ファイルについての短い段落で、オプションの構文リストと それぞれの説明がそれに続きます。 そのようなリストを作成するには .Ql .Bl (リスト開始マクロ)、 .Ql .It (リスト項目マクロ)、 .Ql .El (リスト終了マクロ) を使用します (後述の .Sx リストと列 セクションを参照)。 . -.It Li ".Sh IMPLEMENTATION NOTES (訳注: 実装上の注意)" -実装に特化した情報はここに置く必要があります。 +.It Li ".Sh IMPLEMENTATION NOTES" +特定の実装に関する情報はここに置く必要があります。 . -.It Li ".Sh RETURN VALUES (訳注: 戻り値)" +.It Li ".Sh RETURN VALUES" セクション 2, 3, 9 の関数の戻り値はここに来る必要があります。 .Ql .Rv を使用して、セクション 2 および 3 のライブラリ関数の .Sx RETURN VALUES セクションを生成することができます。 .Sx "戻り値" -を参照してください。 +の項を参照してください。 .El .Pp . 次の .Ql .Sh セクションヘッダはマニュアルページの好ましいレイアウトの一部であり、 一貫性を保つために適切に使われなければなりません。 これらは使われる順番にリストされています。 . -.Bl -tag -xwidth ".Li .Sh\ COMPATIBILITY (訳注: 互換性)" -.It Li ".Sh ENVIRONMENT (訳注: 環境変数)" +.Bl -tag -width ".Li .Sh\ COMPATIBILITY" +.It Li ".Sh ENVIRONMENT" .Sx ENVIRONMENT セクションでは関連する環境変数および それらの振るまいや使用方法に関する手がかりを明らかにする 必要があります。 . -.It Li ".Sh FILES (訳注: 関連ファイル)" +.It Li ".Sh FILES" マニュアルページのサブジェクトによって使用されるか生成されるファイルで、 .Sx FILES セクション中でマクロ .Ql .Pa によってリストする必要があります。 . -.It Li ".Sh EXAMPLES (訳注: 使用例)" +.It Li ".Sh EXAMPLES" 使用例を生成するにはいくつか方法があります。 詳細は後述の .Sx 使用例 セクションを参照してください。 . -.It Li ".Sh DIAGNOSTICS (訳注: 診断)" +.It Li ".Sh DIAGNOSTICS" コマンドからの診断メッセージはこのセクションに置く必要があります。 . -.It Li ".Sh COMPATIBILITY (訳注: 互換性)" +.It Li ".Sh COMPATIBILITY" 知られている互換性の問題 (例えば、非推奨になったオプションや パラメータ) をここにリストする必要があります。 . -.It Li ".Sh ERRORS (訳注: エラー)" +.It Li ".Sh ERRORS" 特定のエラーハンドリング、特にライブラリ関数 (マニュアルページのセクション 2, 3, 9) でのエラーハンドリングは ここで説明する必要があります。 .Ql .Er マクロはエラー (errno) を指定するのに使用されます。 . -.It Li ".Sh SEE ALSO (訳注: 関連項目)" +.It Li ".Sh SEE ALSO" .Sx "SEE ALSO" セクションには、そのマニュアルページの題材に関する資料への参照と 他の関連するマニュアルページへのクロスリファレンスが記載されます。 クロスリファレンスは .Ql .Xr マクロによって指定されます。 現在、 .Xr refer 1 スタイルのリファレンスには適合していません。 .Pp -クロスリファレンスはセクション番号順に並べ、 -同一セクション中ではカンマで区切ってアルファベット順に並べることを -推奨します。 +クロスリファレンスはセクション番号順、同一セクションにあるものは +アルファベット順に並べ、カンマで区切ることを推奨します。 以下に例を示します: .Pp .Xr ls 1 , .Xr ps 1 , .Xr group 5 , .Xr passwd 5 . -.It Li ".Sh STANDARDS (訳注: 規格)" +.It Li ".Sh STANDARDS" コマンドやライブラリ関数やファイルが、 .St -p1003.2 や .St -ansiC のような特定の実装によるものであれば、ここで記述します。 もしコマンドがどの規格にも基づいていなければ、その歴史は .Sx HISTORY のセクションで説明されなければなりません。 . -.It Li ".Sh HISTORY (訳注: 歴史)" +.It Li ".Sh HISTORY" 特定の規格に基づいていないコマンドは、 このセクションでその歴史の概要を説明する必要があります。 . -.It Li ".Sh AUTHORS (訳注: 作者)" +.It Li ".Sh AUTHORS" クレジットはここに置く必要があります。 人物名を指定するには .Ql .An マクロを使用する必要があります。 . -.It Li ".Sh BUGS (訳注: バグ)" +.It Li ".Sh BUGS" あきらかな問題はここで記述します。 .El .Pp . ユーザ指定の .Ql .Sh セクションを追加することができます。 例えば、このセクションは以下のように設定されています。 . .Bd -literal -offset 15n \&.Sh "ページ構造領域" .Ed . .Ss "サブセクションヘッダ" . サブセクションヘッダはセクションヘッダとまったく同じ文法を しています。 .Ql .Ss は解析されますが、一般的に呼び出し不可能です。 このマクロは、 .Ql .Ss の呼び出し時にのみ引数として使用できます。このとき、 .Ql .Ss のデフォルトフォントが再度有効になります。 .Pp デフォルト幅は 8n です。 . .Ss "段落と行スペース" . -.Bl -tag -xwidth ".Li .Pp" +.Bl -tag -width ".Li .Pp" .It Li .Pp .Ql .Pp 段落コマンドは必要な場合に行スペースを指定するために使われます。 このマクロは .Ql .Sh マクロや .Ql .Ss マクロの後、ならびに .Ql .Bl マクロや .Ql .Bd マクロの前では必要ありません (いずれのマクロも .Fl compact フラグが指定されていなければ垂直方向の距離を宣言します)。 .Pp このマクロは呼び出し不可能であり、解析もされません。そして 引数をとりません。別名は .Ql .Lp です。 .El . .\" XXX . .\" This worked with version one, need to redo for version three .\" .Pp .\" .Ds I .\" .Cw (ax+bx+c) \ is\ produced\ by\ \& .\" .\".Cw (ax+bx+c) \&.Va_by_) \&_and_\& \&[?/]m_b1_e1_f1[?/]\& .\" .Cl Cx \t\t .\" .Li \&.Cx\ ( .\" .Cx .\" .Cl Cx \t\t .\" .Li \&.Va ax .\" .Cx .\" .Cl Cx \t\t .\" .Li \&.Sy \+ .\" .Cx .\" .Cl Cx \&(\& .\" .Va ax .\" .Cx + .\" .Va by .\" .Cx + .\" .Va c ) .\" .Cx \t .\" .Em is produced by .\" .Cx \t .\" .Li \&.Va by .\" .Cx .\" .Cl Cx \t\t .\" .Li \&.Sy \+ .\" .Cx .\" .Cl Cx \t\t .\" .Li \&.Va c ) .\" .Cx .\" .Cl Cx \t\t .\" .Li \&.Cx .\" .Cx .\" .Cw .\" .De .\" .Pp .\" This example shows the same equation in a different format. .\" The spaces .\" around the .\" .Li \&+ .\" signs were forced with .\" .Li \e : .\" .Pp .\" .Ds I .\" .Cw (ax\ +\ bx\ +\ c) \ is\ produced\ by\ \& .\" .\".Cw (ax+bx+c) \&.Va_by_) \&_and_\& \&[?/]m_b1_e1_f1[?/]\& .\" .Cl Cx \t\t .\" .Li \&.Cx\ ( .\" .Cx .\" .Cl Cx \t\t .\" .Li \&.Va a .\" .Cx .\" .Cl Cx \t\t .\" .Li \&.Sy x .\" .Cx .\" .Cl Cx \t\t .\" .Li \&.Cx \e\ +\e\ \e& .\" .Cx .\" .Cl Cx \&(\& .\" .Va a .\" .Sy x .\" .Cx \ +\ \& .\" .Va b .\" .Sy y .\" .Cx \ +\ \& .\" .Va c ) .\" .Cx \t .\" .Em is produced by .\" .Cl Cx \t\t .\" .Li \&.Va b .\" .Cx .\" .Cl Cx \t\t .\" .Li \&.Sy y .\" .Cx .\" .Cl Cx \t\t .\" .Li \&.Cx \e\ +\e\ \e& .\" .Cx .\" .Cl Cx \t\t .\" .Li \&.Va c ) .\" .Cx .\" .Cl Cx \t\t .\" .Li \&.Cx .\" .Cx .\" .Cw .\" .De .\" .Pp .\" The incantation below was .\" lifted from the .\" .Xr adb 1 .\" manual page: .\" .Pp .\" .Ds I .\" .Cw \&[?/]m_b1_e1_f1[?/]\& is\ produced\ by .\" .Cl Cx \t\t .\" .Li \&.Cx Op Sy ?/ .\" .Cx .\" .Cl Cx \t\t .\" .Li \&.Nm m .\" .Cx .\" .Cl Cx Op Sy ?/ .\" .Nm m .\" .Ad \ b1 e1 f1 .\" .Op Sy ?/ .\" .Cx \t .\" .Em is produced by .\" .Cx \t .\" .Li \&.Ar \e\ b1 e1 f1 .\" .Cx .\" .Cl Cx \t\t .\" .Li \&.Op Sy ?/ .\" .Cx .\" .Cl Cx \t\t .\" .Li \&.Cx .\" .Cx .\" .Cw .\" .De .\" .Pp . .Ss キープ . 現在実装されているキープは単語に対するものだけです。 マクロは .Ql .Bk (キープ開始) と .Ql .Ek (キープ終了) です。 現在 .Ql .Bk が受け付けるオプションは .Fl words のみで (オプションを何も与えていなければこれがデフォルトでもあります) オプションの途中で改行が入らないようにするのに便利です。 make コマンド行の引数を生成する例 ( -.Sx この名前には何が...? -セクションを参照) において、キープは +.Sx この名前には何が +の項を参照) において、キープは .Xr nroff がフラグと引数を別の行に分けないように使われています。 .Pp いずれのマクロも呼び出し不可能であり、解析もされません。 .Pp -キープマクロについてはもっと仕事をする必要があります。 +キープマクロについてはもっと作業をする必要があります。 特に .Fl line オプションは追加する必要があるでしょう。 . .Ss "例示とディスプレイ" . ディスプレイには 7 つのタイプがあります。 .Pp -.Bl -tag -xwidth ".Li .D1" +.Bl -tag -width ".Li .D1" .It Li .D1 (D-いちです) インデントされたテキストを 1 行表示します。 このマクロは解析されますが、呼び出し不可能です。 .Pp .D1 Fl ldghfstru .Pp これは次の指定で生成されたものです: .Li ".D1 Fl ldghfstru" . .It Li .Dl (D-エルです) インデントされた .Em リテラル テキストを 1 行表示します。 .Ql .Dl マクロの例は本ファイル中にわたって使われています。 これによって 1 行のテキストのインデント (表示) が可能になります。 デフォルトフォントは固定幅 (リテラル) に設定されます。 .Ql .Dl は解析されますが、呼び出し不可能です。 .Pp .Dl % ls -ldg /usr/local/bin .Pp これは、次の指定で生成されたものです: .Li ".Dl % ls -ldg /usr/local/bin" . .It Li .Bd ディスプレイ開始。 .Ql .Bd ディスプレイは .Ql .Ed マクロで終了しなければなりません。 これは、次の書式をとります: .Pp -.Bl -tag -xwidth ".Li .Bd" -offset indent +.Bl -tag -width ".Li .Bd" -offset indent .It Li .Bd Xo .Bro \-literal | \-filled | \-unfilled | \-ragged | \-centered Brc -.Oo \-offset Ao string Ac Oc Oo \-file Ao file name Ac Oc Oo \-compact Oc Xc +.Oo \-offset Ao 文字列 Ac Oc Oo \-file Ao ファイル名 Ac Oc Oo \-compact Oc Xc .El .Pp . -.Bl -tag -xwidth ".Fl file Ao Ar file name Ac " -compact +.Bl -tag -width ".Fl file Ao Ar ファイル名 Ac " -compact .It Fl ragged 行詰めされますが、右マージンは調整しません (左マージンのみです)。 .It Fl centered 現在の左マージンと右マージン間の中央線です。 線それぞれが中央揃えになるということに注意してください。 .It Fl unfilled 行詰めしません。テキストのブロックを入力されたままの状態で 表示します。改行もユーザが指定した通りに使われます。 このため、何の警告メッセージも出さずに長過ぎる行を 生成する可能性があります。 .It Fl filled 行詰めされたブロックを表示します。 テキストブロックが整形されます (つまり、 テキストは左右どちら側にも揃えられます)。 .It Fl literal リテラルフォント (通常固定幅) でブロックを表示します。 ソースコードや、単純にタブもしくは空白で整えられた テキストには便利です。 .It Fl file Ao Ar ファイル名 Ac .Fl file フラグに続いた名前を持ったファイルが読み込まれ、 指定されたディスプレイタイプで .Ql .Bd と .Ql .Ed マクロで囲まれたデータよりも前に表示されます。 ファイル中の .Xr troff/ Ns Nm \-mdoc コマンドはどんなものでも処理されます。 .It Fl offset Ao Ar 文字列 Ac .Fl offset が以下の文字列のいずれかとともに指定されていると、 その文字列は次のテキストのブロックのインデントのレベルを示すものとして 解釈されます。 . .Pp -.Bl -tag -xwidth ".Ar indent-two" -compact +.Bl -tag -width ".Ar indent-two" -compact .It Ar left ブロックを現在の左マージンに揃えます。 これは .Ql .Bd のデフォルトのモードです。 .It Ar center ブロックを中央揃えにします。 残念ながら現時点では、 単にブロックの左側を仮想的な中央マージンに揃えるだけです。 .It Ar indent デフォルトのインデント値もしくはタブの分だけインデントします。 デフォルトのインデント値は .Ql .D1 および .Ql .Dl -マクロでも使われていますので、この 2 種類のディスプレイを -使った場合行が揃うことが保証されています。 -インデント値は通常 6n つまり約 2/3 インチ (定幅文字 6 つ分) です。 +マクロでも使われていますので、この 2 つのディスプレイと +行が揃うことが保証されています。 +インデント値は通常 6n つまり約 2/3 インチ (固定幅文字 6 つ分) です。 .It Ar indent-two デフォルトのインデント値の 2 倍分インデントします。 .It Ar right これはブロックをページの右端から約 2 インチ離して .Em 左 揃えします。 このマクロはちゃんと動作する必要があるのですが、 .Xr troff ではまったくちゃんと動作してくれていません。 .El .Pp . -その代わりに .Ao 文字列 Ac -が正しい数値表現をしている場合 +がそれ以外で正しい数値表現をしている場合 .Pf ( Sq Em u .Em 以外のスケール指示子を伴う)、 インデント用にその値を使用します。 スケール指示子のなかで最も役に立つものは .Sq m および .Sq n です。これらはいわゆる .Em \&Em と .Em "En square" を指定します。 これは、現在のフォントでの文字 .Sq m および文字 .Sq n の幅とほぼ同じです ( nroff の出力については、 どちらのスケール指示子でも同じ値が得られます )。 .Ao 文字列 Ac が数値表現をしていない場合、文字列は .Nm \-mdoc マクロ名であるかどうか検査され、このマクロに関連する デフォルトのオフセット値が使われます。 最終的にすべてのテストが失敗した場合 the width of .Ao 文字列 Ac の幅 (固定幅フォントでのタイプセット) がオフセットと見なされます。 .It Fl compact ディスプレイを開始するときに垂直方向の空白を挿入しないようにします。 .El . .It Li .Ed ディスプレイの終了 (引数はとりません)。 .El . -.Ss "リストと列" +.Ss "リストとカラム" . リスト開始マクロ .Ql .Bl で開始できるリストには何種類かあります。 リスト中の項目は項目マクロ .Ql .It で指定され、各リストは .Ql .El マクロで終了しなければなりません。 リストはリスト自身やディスプレイの中で入れ子にすることができます。 -リスト中で列を使ったり、列の中でリストを使ったりすることに +リスト中でカラムを使ったり、カラムの中でリストを使ったりすることに ついては検証されていません。 .Pp さらに、タグ幅、リストのオフセット、コンパクトの度合 (項目間の空白行が許されているかどうか) のような リストの属性をいくつか指定することができます。 本ドキュメントのほとんどはタグ .Pf ( Fl tag ) スタイルリストで整形されています。 .Pp このマクロは次の文法規則を持っています: . .Pp -.Bl -tag -xwidth ".Li .Bl" -offset indent -compact +.Bl -tag -width ".Li .Bl" -offset indent -compact .It Li .Bl Xo .Bro \-hang | \-ohang | \-tag | \-diag | \-inset Brc -.Oo \-width Ao string Ac Oc Oo \-xwidth Ao command Ac Oc -.Oo \-offset Ao string Ac Oc Oo \-compact Oc Xc +.Oo \-width Ao 文字列 Ac Oc +.Oo \-offset Ao 文字列 Ac Oc Oo \-compact Oc Xc .It Li .Bl Xo -.No \-column Oo \-offset Ao string Ac Oc -.Ao string1 Ac Ao string2 Ac ... Xc +.No \-column Oo \-offset Ao 文字列 Ac Oc +.Ao 文字列1 Ac Ao 文字列2 Ac ... Xc .It Li .Bl Xo .Bro \-item | \-enum Oo \-nested Oc | \-bullet | \-hyphen | \-dash Brc -.Oo \-offset Ao string Ac Oc Oo \-compact Oc Xc +.Oo \-offset Ao 文字列 Ac Oc Oo \-compact Oc Xc .El .Pp . 次に、このリストタイプの詳細な解説を行います。 . .Pp -.Bl -tag -xwidth ".Fl column" -compact +.Bl -tag -width ".Fl column" -compact .It Fl bullet ビュレットリストです。 . .Bd -literal -offset indent \&.Bl -bullet -offset indent -compact \&.It 1 つ目のビュレットはここにきます。 \&.It 2 つ目のビュレットはここにきます。 \&.El .Ed .Pp . 生成結果は次の通りです: . .Pp .Bl -bullet -offset indent -compact .It 1 つ目のビュレットはここにきます。 .It 2 つ目のビュレットはここにきます。 .El .Pp . .It Fl dash No ( または Fl hyphen ) -ハイフンによるリストです。 +ダッシュ文字によるリストです。 . .Bd -literal -offset indent \&.Bl -dash -offset indent -compact \&.It -1 つ目のハイフンはここにきます。 +1 つ目のダッシュはここにきます。 \&.It -2 つ目のハイフンはここにきます。 +2 つ目のダッシュはここにきます。 \&.El .Ed .Pp . 生成結果は次の通りです: . .Pp .Bl -dash -offset indent -compact .It -1 つ目のハイフンはここにきます。 +1 つ目のダッシュはここにきます。 .It -2 つ目のハイフンはここにきます。 +2 つ目のダッシュはここにきます。 .El .Pp . .It Fl enum 箇条書きリストです。 . .Bd -literal -offset indent \&.Bl -enum -offset indent -compact \&.It 1 つ目の項目はここにきます。 \&.It 2 つ目の項目はここにきます。 \&.El .Ed .Pp . 生成結果は次の通りです: . .Pp .Bl -enum -offset indent -compact .It 1 つ目の項目はここにきます。 .It 2 つ目の項目はここにきます。 .El .Pp . 箇条書きリストを入れ子にしたい場合、 .Fl nested フラグを使用してください (第 2 レベルのリストが開始されます): . .Bd -literal -offset indent \&.Bl -enum -offset indent -compact \&.It 1 つ目の項目はここにきます。 \&.Bl -enum -nested -compact \&.It 2 つ目の項目はここにきます。 \&.It 3 つ目の項目はここにきます。 \&.It \&.El \&.It 4 つ目の項目はここにきます。 \&.El .Ed .Pp . 生成結果は次の通りです: . .Pp .Bl -enum -offset indent -compact .It 1 つ目の項目はここにきます。 .Bl -enum -nested -compact .It 2 つ目の項目はここにきます。 .It 3 つ目の項目はここにきます。 .El .It 4 つ目の項目はここにきます。 .El .Pp . .It Fl item リストの印をつけない .Fl item タイプのリストです。 . .Bd -literal -offset indent \&.Bl -item -offset indent \&.It 1 つ目の項目はここにきます。 1 つ目の項目はここにきます。 1 つ目の項目はここにきます。 \&.It 2 つ目の項目はここにきます。 2 つ目の項目はここにきます。 2 つ目の項目はここにきます。 \&.El .Ed .Pp . 生成結果は次の通りです: . .Pp .Bl -item -offset indent .It 1 つ目の項目はここにきます。 1 つ目の項目はここにきます。 1 つ目の項目はここにきます。 .It 2 つ目の項目はここにきます。 2 つ目の項目はここにきます。 2 つ目の項目はここにきます。 .El .Pp . .It Fl tag タグつきリストです。 タグ幅を指定するには .Fl width -あるいは -.Fl xwidth を使用してください。 . .Pp .Bl -tag -width "PPID" -compact -offset indent .It SL プロセスが sleep している時間 (ブロックされた秒数) .It PAGEIN そのプロセスによって、まだメモリにロードされていないページへの参照が 起こることにより生じたディスク .Tn I/O の回数 .It UID 数値表記によるプロセス所有者のユーザ ID .It PPID 数値表記による親プロセスの ID、プロセスの優先度 (割り込み不可の待機状態のときには、正でない値になる) .El .Pp . 元のテキストは次の通りです: . .Bd -literal -offset indent \&.Bl -tag -width "PPID" -compact -offset indent \&.It SL プロセスが sleep している時間 (ブロックされた秒数) \&.It PAGEIN そのプロセスによって、まだメモリにロードされていないページへの参照が 起こることにより生じたディスク \&.Tn I/O の回数 \&.It UID 数値表記によるプロセス所有者のユーザ ID \&.It PPID 数値表記による親プロセスの ID、プロセスの優先度 (割り込み不可の待機状態のときには、正でない値になる) \&.El .Ed .Pp . -.It Fl diag (診断) +.It Fl diag 診断リストはセクション 4 の診断リストを生成するもので、 呼び出し可能なマクロが無視されることを除き、inset リストと似ています。 フラグ .Fl width -および -.Fl xwidth は、この文脈では意味がありません。 .Pp 使用例: . .Bd -literal -offset indent \&.Bl -diag \&.It ここで Sy を使うことはできません。 このメッセージはすべて出力されます。 \&.El .Ed .Pp . 生成結果 . .Bl -diag .It ここで Sy を使うことはできません。 このメッセージはすべて出力されます。 .El .Pp . .It Fl hang ぶら下がりタグつきリストです。 . .Bl -hang -offset indent +.It Em Hanged ラベル幅よりもラベルが小さい場合には -.It Em ぶら下げられた -ラベルはタグつきリストと同じように見えます。 -.It Em ラベル幅より長いぶら下がりリストのラベル -は、タグつき段落ラベルとは違い、段落に溶け込みます。 +ぶら下げられたラベルはタグつきリストと同じように見えます。 +.It Em Longer hanged list labels +ラベル幅より長いぶら下がりリストのラベルは、 +タグつき段落ラベルとは違い、段落に溶け込みます。 .El .Pp 以上の文章を生成した、整形前のテキストは 次の通りです: . .Bd -literal -offset indent \&.Bl -hang -offset indent +\&.It Em Hanged ラベル幅よりもラベルが小さい場合には -\&.It Em ぶら下げられた -ラベルはタグつきリストと同じようにみえます。 -\&.It Em ラベル幅より長いぶら下がりリストのラベル -は、タグつき段落ラベルとは違い、段落に溶け込みます。 +ぶら下げられたラベルはタグつきリストと同じようにみえます。 +\&.It Em Longer Hanged list labels +ラベル幅より長いぶら下がりリストのラベルは、 +タグつき段落ラベルとは違い、段落に溶け込みます。 \&.El .Ed .Pp . .It Fl ohang オーバハングタグ (overhanging tags) を用いたリストは 項目に対してインデントを使いません。 タグは別の行に出力されます。 .Pp .Bl -ohang -offset indent .It Sy SL プロセスが sleep している時間 (ブロックされた秒数) .It Sy PAGEIN そのプロセスによって、まだメモリにロードされていないページへの参照が 起こることで生じたディスク .Tn I/O の回数 .It Sy UID 数値表記によるプロセス所有者のユーザ ID .It Sy PPID 数値表記による親プロセスの ID、プロセスの優先度 (割り込み不可の待機状態のときには、正でない値になる) .El .Pp . 元のテキストは次の通りです: . .Bd -literal -offset indent \&.Bl -ohang -offset indent \&.It Sy SL プロセスが sleep している時間 (ブロックされた秒数) \&.It Sy PAGEIN そのプロセスによって、まだメモリにロードされていないページへの参照が 起こることで生じたディスク \&.Tn I/O の回数 \&.It Sy UID 数値表記によるプロセス所有者のユーザ ID \&.It Sy PPID 数値表記による親プロセスの ID、プロセスの優先度 (割り込み不可の待機状態のときには、正でない値になる) \&.El .Ed .Pp . .It Fl inset 次は、inset ラベルの例です: .Bl -inset -offset indent .It Em tag タグリスト (タグ段落とも呼びます) は バークレーのマニュアルで使われている最も一般的な 種類のリストです。 後で述べるように、 .Fl width 属性を使用してください。 -.It Em diag (診断) +.It Em diag 診断リストはセクション 4 の診断リストを生成し、 呼び出し可能なマクロを無視するという点を除けば inset リストと似ています。 -.It Em hang (ぶら下がり) +.It Em hang ぶら下がりラベルは気分の問題です。 .It Em ohang オーバハングラベルは空白に制限がある場合には良いです。 .It Em inset inset ラベルは段落ブロックを制御するのに便利で、 .Nm \-mdoc マニュアルを別のフォーマットに変換するのに有用です。 .El .Pp 上の例を生成したソーステキストはこうなっています: . .Bd -literal -offset indent \&.Bl -inset -offset indent \&.It Em tag タグリスト (タグ段落とも呼びます) は バークレーのマニュアルで使われている最も一般的な 種類のリストです。 後で述べるように、 \&.Fl width 属性を使用してください。 -\&.It Em diag (診断) +\&.It Em diag 診断リストはセクション 4 の診断リストを生成し、 呼び出し可能なマクロを無視するという点を除けば inset リストと似ています。 -\&.It Em hang (ぶら下がり) +\&.It Em hang ぶら下がりラベルは気分の問題です。 \&.It Em ohang オーバハングラベルは空白に制限がある場合には良いです。 \&.It Em inset inset ラベルは段落ブロックを制御するのに便利で、 \&.Nm \-mdoc マニュアルを別のフォーマットに変換するのに有用です。 \&.El .Ed .Pp . .It Fl column -この種類のリストは複数列を生成します。 -列の数および各列の幅は +この種類のリストは複数カラムを生成します。 +カラムの数および各カラムの幅は .Fl column リストへの引数、 .Aq Ar string1 , .Aq Ar string2 等によって決定されます。 .Aq Ar stringN が .Ql .\& (ドット) で開始し直後に有効な .Nm \-mdoc マクロ名が続く場合、 .Aq Ar stringN を解釈して結果の幅を使用します。 そうでない場合、 .Aq Ar stringN (固定幅フォントでのタイプセット) は .Ar N 番目の桁の幅になります。 .Pp .Ql .It 引数はそれぞれ解析され行を生成します。 行中の各列はタブや .Ql .Ta マクロで分けられた引数です。 .Pp 次の表、 . .Bl -column -offset indent ".Sy 文字列" ".Sy Nroff" ".Sy Troff" .It Sy 文字列 Ta Sy nroff Ta Sy troff .It Li <= Ta <= Ta \*(<= .It Li >= Ta >= Ta \*(>= .El .Pp . は次のようにして生成されています: . .Bd -literal \&.Bl -column -offset indent ".Sy 文字列" ".Sy Nroff" ".Sy Troff" \&.It Sy 文字列 Ta Sy nroff Ta Sy troff \&.It Li <= Ta <= Ta \e*(<= \&.It Li >= Ta >= Ta \e*(>= \&.El .Ed .El .Pp . その他のキーワード: . -.Bl -tag -xwidth ".Fl indent Ao Ar 文字列 Ac" +.Bl -tag -width ".Fl indent Ao Ar 文字列 Ac" .It Fl width Ao Ar 文字列 Ac .Aq Ar 文字列 が .Ql .\& (ドット) で開始し直後に有効な .Nm \-mdoc マクロ名が続く場合、 .Aq Ar 文字列 を解釈し、その結果の幅を使います。 本ドキュメントのほとんどすべてのリストは このオプションを使用しています。 .Pp 使用例: . .Bd -literal -offset indent -\&.Bl -tag -xwidth ".Fl test Ao Ar 文字列 Ac" +\&.Bl -tag -width ".Fl test Ao Ar 文字列 Ac" \&.It Fl test Ao Ar 文字列 Ac これは、 -\&.Fl xwidth +\&.Fl width フラグをタグリストと一緒に使うとどのように 働くかを見るためのもっと長い文です。 \&.El .Ed .Pp . 生成結果: . -.Bl -tag -xwidth ".Fl test Ao Ar 文字列 Ac" +.Bl -tag -width ".Fl test Ao Ar 文字列 Ac" .It Fl test Ao Ar 文字列 Ac これは、 -.Fl xwidth +.Fl width フラグをタグリストと一緒に使うとどのように 働くかを見るためのもっと長い文です。 .El .Pp . ( .Aq Ar 文字列 が解釈される前に現在の .Nm \-mdoc の状態が保存されることに注意してください。 文字列が解釈された後ですべての変数が再度復元されます。 しかし、ボックス (囲いに使用される) は .Tn GNU .Xr troff 1 では保存されません。結果としては、醜いエラーを防ぐためには 引数は常に .Em 平衡がとれて いなくてはなりません。 -例えば、本当に開きカギ括弧だけが必要である場合には +例えば、本当に開き山括弧だけが必要である場合には .Ql ".Ao Ar 文字列" と書いてはだめで、代わりに .Ql ".Ao Ar 文字列 Xc" と書かなくてはなりません)。 そうでない場合、 .Aq Ar 文字列 が正当な数値表現である場合 .Pf ( Sq Em u .Em 以外のスケール指示子を伴う )、 インデント用にその値を使用します。 最も有用なスケール指示子は .Sq m と .Sq n です。これらはいわゆる .Em \&Em および .Em "En square" を指定します。 これは、現在のフォントでの文字 .Sq m および文字 .Sq n の幅とほぼ同じです (nroff の出力については、 どちらのスケール指示子でも同じ値が得られます)。 .Aq Ar 文字列 が数値表現をしていない場合、文字列は .Nm \-mdoc マクロ名であるかどうか検査され、このマクロに関連する デフォルトのオフセット値が使われます。 最終的にすべてのテストが失敗した場合 .Aq Ar 文字列 の幅 (固定幅フォントでのタイプセット) がオフセットと見なされます。 .Pp タグリストタイプ用に幅が指定されていない場合、 .Ql .It が起動される度に適切な幅を決定しようと試みます。 .Ql .It の第 1 引数が呼び出し可能なマクロである場合、 そのマクロのデフォルト幅が使われます。 そうでなければ、 .Ql .No のデフォルト幅が使われます。 .Pp .It Fl offset Ao Ar 文字列 Ac .Aq Ar 文字列 が .Ar indent である場合、デフォルトのインデント値 (通常 6n に設定されており、 .Ql .Dl または .Ql .Bd で使われる値と似ています) が使われます。 .Aq Ar 文字列 が正当な数値表現である場合 .Pf ( Sq Em u 以外のスケール指示子を伴う )、 その値をインデントに使用します。 最も有用なスケール指示子は .Sq m と .Sq n であり、これらはいわゆる .Em \&Em および .Em "En square" です。 これは、それぞれ現在のフォントでの .Sq m と .Sq n の幅とほぼ同じです (nroff の出力については、 どちらのスケール指示子も同じ値をとります)。 .Aq Ar 文字列 が数値表現でない場合、その文字列が .Nm \-mdoc のマクロ名であるかどうか検査され、このマクロに関連する デフォルトのオフセット値が使われます。 最終的にすべてのテストが失敗した場合、 .Ao 文字列 Ac の幅 (固定幅フォントでのタイプセット) がオフセットとして とられます。 .It Fl compact リストの前およびリスト項目間に垂直方向の空白を挿入しないように します。 .El . . .Sh "その他のマクロ" . ここには、いままでのセクションにはうまく当てはまらなかった 残りのマクロのリストがあります。 次のマクロに対しては本物の使用例を見つけられませんでした。 それは .Ql .Me と .Ql .Ot です。この 2 つについても完璧を期するためにここに 文書化はしています。もしこの 2 つのマクロの 適切な使い方をご存知であれば .Mt bug-groff@gnu.org までメールを送ってください (例つきで)。 . -.Bl -tag -xwidth ".Li .Bt" +.Bl -tag -width ".Li .Bt" .It Li .Bt は . .Bd -ragged -offset indent .Bt .Ed +.Pp を表示します。 .Pp このマクロは呼び出し不可能であり、解析もされません。 また引数もとりません。 . .It Li .Fr .Pp -.Dl 使い方: .Fr Ao function return value Ac ... +.Dl 使い方: .Fr Ao 関数の戻り値 Ac ... .Pp このマクロは使わないでください。 このマクロは戻り値 (通常は数字 1 個) の直前での 改行を許してしまいます。 印刷時の振る舞いとしては悪いことです。 直前の単語と戻り値とを結合させるには .Ql \e~ を使用してください。 . .It Li .Hf (ヘッダ) ファイルをそのまま含めるにはこのマクロを 使ってください。 このマクロは、最初に .Ql File: とファイル名を表示し、その後で -.Ao file Ac +.Ao ファイル Ac の内容を表示します。 .Pp -.Dl 使い方: .Hf Ao file Ac +.Dl 使い方: .Hf Ao ファイル Ac .Pp このマクロは呼び出し不可能であり、解析もされません。 . .It Li .Lk 将来書かれる予定です。 . .It Li .Me 正確な使用方法は分かりません。 .Nm \-mdoc ソースファイル中の記述では .Dq "メニューエントリ" となっています。 .Pp デフォルト幅は 6n です。 . .It Li .Mt 将来書かれる予定です。 . .It Li .Ot 正確な使用方法は分かりません。 .Nm \-mdoc ソースファイル中の記述では .Dq "古い関数タイプ (fortran)" となっています。 . .It Li .Sm 空白モードを有効に (トグル) します。 .Pp .Dl 使い方: .Sm Oo on | off Oc ... .Pp 空白モードが off の場合、マクロ引数の間に空白は 挿入されません。引数なしで呼ばれた場合 (あるいは 次の引数が .Ql on でも .Ql off でもない場合) .Ql .Sm マクロは空白モードに入ります。 . .It Li .Ud マクロは . .Bd -ragged -offset indent .Ud .Ed +.Pp を表示します。 .Pp このマクロは呼び出し不可能であり解析もされません。 また引数もとりません。 .El . . .Sh "定義済み文字列" . 次の文字列が定義済みです: .Pp -.Bl -column 文字列 infinity "troff " "右向きダブルクォート" -offset indent +.Bl -column 文字列 infinity "troff " "まっすぐなダブルクォート" -offset indent .It Sy 文字列 Ta Sy nroff Ta Sy troff Ta Sy 意味 .It Li <= Ta <= Ta \*[<=] Ta "以下" .It Li >= Ta >= Ta \*[>=] Ta "以上" -.It Li Rq Ta '' Ta \*[Rq] Ta "右向きダブルクォート" -.It Li Lq Ta `` Ta \*[Lq] Ta "左向きダブルクォート" +.It Li Rq Ta '' Ta \*[Rq] Ta "右側のダブルクォート" +.It Li Lq Ta `` Ta \*[Lq] Ta "左側のダブルクォート" .It Li ua Ta ^ Ta \*[ua] Ta "上向き矢印" .It Li aa Ta \' Ta \*[aa] Ta "高アクセント" .It Li ga Ta \` Ta \*[ga] Ta "低アクセント" -.It Li q Ta \&" Ta \*[q] Ta "ダブルクォート" +.It Li q Ta \&" Ta \*[q] Ta "まっすぐなダブルクォート" .It Li Pi Ta pi Ta \*[Pi] Ta "ギリシャ語のパイ" .It Li Ne Ta != Ta \*[Ne] Ta "不等号" .It Li Le Ta <= Ta \*[Le] Ta "以下" .It Li Ge Ta >= Ta \*[Ge] Ta "以上" .It Li Lt Ta < Ta \*[Lt] Ta "小なり" .It Li Gt Ta > Ta \*[Gt] Ta "大なり" -.It Li Pm Ta +\- Ta \*[Pm] Ta "プラス/マイナス" -.It Li If Ta infinity Ta \*[If] Ta "無限大" -.It Li Na Ta \*[Na] Ta \*[Na] Ta "非数字" +.It Li Pm Ta +\- Ta \*[Pm] Ta "プラスマイナス" +.It Li If Ta infinity Ta \*[If] Ta "無限" +.It Li Na Ta \*[Na] Ta \*[Na] Ta "非数値" .It Li Ba Ta \*[Ba] Ta \*[Ba] Ta "垂直線" .El .Pp -列の名前 +カラムの名前 .Sy nroff と .Sy troff は少々誤解を招くものです。 .Sy nroff は .Tn ASCII 文字を表示しますが、 .Sy troff では利用可能なもののうち一番良いグリフ形式を 表示します。 -例えば、Unicode を有効にした +例えば、Unicode を使用可能にした .Tn TTY -デバイスではすべての文字列に対して適切なグリフ表現を +デバイスはすべての文字列に対して適切なグリフ表現を 持っていますが、それに対して Latin1 に対して機能を強化した .Tn TTY -デバイスではプラス/マイナス記号しかありません。 +デバイスはプラスマイナス記号しか持っていません。 .Pp 文字を 2 つ含んだ文字列名は .Ql \e*(xx として表記できます。 文字を 1 文字だけ含んだ文字列名は .Ql \e*x と表記できます。 どのような長さの文字列名に対しても、一般的な文法は .Ql \e*[xxx] となります ( これは .Tn GNU .Xr troff 1 拡張です)。 . . \# \#===================================================================== \# .Sh 診断 . 以前のバージョンの .Nm \-mdoc パッケージでは利用可能だったデバッグ用マクロ .Ql .Db は取り除かれました。なぜなら、 .Tn GNU .Xr troff 1 ではパラメータをチェックするのにもっと良いファシリティを 提供しているからです。さらに、このマクロパッケージには エラーや警告メッセージが多数追加されており、よりロバストで 饒舌なものになっています。 .Pp 唯一残ったデバッグ用マクロは .Ql .Rd であり、これはすべてのグローバルレジスタならびに文字列の レジスタダンプを出力するものです。 通常のユーザが使う必要は決してないでしょう。 . . .Sh "GROFF, TROFF, および NROFF を使用した整形" . デフォルトでは、このパッケージでは .Sq latin1 や .Sq unicode のような .Tn TTY デバイスで表示する場合には改ページやヘッダ、フッタは 禁止されており、マニュアルをオンラインで効率良く 見ることができるようになっています。 この振る舞いは、 .Xr groff を呼んでいるときにレジスタ .Ql cR に 0 を指定することで変更することができます (例えば、 .Tn TTY 出力のハードコピーを作成したいときなど)。 .Pp .Dl groff -Tlatin1 -rcR=0 -mdoc foo.man > foo.txt .Pp 両面印刷用には、レジスタ .Ql D を 1 に設定してください: .Pp .Dl groff -Tps -rD1 -mdoc foo.man > foo.ps .Pp ドキュメントのフォントサイズを 11pt や 12pt に変更したい 場合は、レジスタ .Ql S をそれに合わせて設定してください: .Pp .Dl groff -Tdvi -rS11 -mdoc foo.man > foo.dvi .Pp レジスタ .Ql S は .Tn TTY デバイスに対しては無視されます。 . . .Sh 関連ファイル . .Bl -tag -width mdoc/doc-ditroff -compact .It Pa doc.tmac 主なマニュアル用マクロパッケージです。 .It Pa mdoc.tmac .Pa doc.tmac を呼ぶラッパファイルです。 .It Pa mdoc/doc-common 共通する文字列、定義、および印刷出力に関連する項目です。 .It Pa mdoc/doc-nroff .Tn TTY 出力デバイス用に使用される定義です。 .It Pa mdoc/doc-ditroff その他すべてのデバイス用に使用される定義です。 .It Pa mdoc.local ローカルマシンでの追加項目およびカスタマイズ項目です。 .It Pa andoc.tmac このファイルは .Nm \-mdoc パッケージと .Nm \-man パッケージのどちらを使用すべきかをチェックします。 .El . . .Sh "関連項目" . .Xr groff 1 , .Xr man 1 , .Xr troff 1 , .Xr groff_man 7 . . .Sh バグ . セクション 3f はヘッダルーチンには追加されていません。 .Pp .Ql \&.Nm .Sx NAME セクションにおいては、フォントを変更するべきです。 .Pp 行の長さが短すぎる場合に行が分割されるのを防ぐために .Ql \&.Fn がチェックを行う必要があります。 ときどき、最後の括弧が分割されることがあり、 行詰めモードであるときにおかしな結果になることがあります。 .Pp リストマクロおよびディスプレイマクロは何のキープも 行いませんが、これはキープを行うべきです。 .\" Note what happens if the parameter list overlaps a newline .\" boundary. .\" to make sure a line boundary is crossed: .\" .Bd -literal .\" \&.Fn struct\e\ dictionarytable\e\ *dictionarylookup struct\e\ dictionarytable\e\ *tab[] .\" .Ed .\" .Pp .\" produces, nudge nudge, .\" .Fn struct\ dictionarytable\ *dictionarylookup char\ *h struct\ dictionarytable\ *tab[] , .\" .Fn struct\ dictionarytable\ *dictionarylookup char\ *h struct\ dictionarytable\ *tab[] , .\" nudge .\" .Fn struct\ dictionarytable\ *dictionarylookup char\ *h struct\ dictionarytable\ *tab[] . .\" .Pp .\" If double quotes are used, for example: .\" .Bd -literal .\" \&.Fn \*qstruct dictionarytable *dictionarylookup\*q \*qchar *h\*q \*qstruct dictionarytable *tab[]\*q .\" .Ed .\" .Pp .\" produces, nudge nudge, .\" .Fn "struct dictionarytable *dictionarylookup" "char *h" "struct dictionarytable *tab[]" , .\" nudge .\" .Fn "struct dictionarytable *dictionarylookup" "char *h" "struct dictionarytable *tab[]" , .\" nudge .\" .Fn "struct dictionarytable *dictionarylookup" "char *h" "struct dictionarytable *tab[]" . .\" .Pp .\" Not a pretty sight... .\" In a paragraph, a long parameter containing unpaddable spaces as .\" in the former example will cause .\" .Xr troff .\" to break the line and spread .\" the remaining words out. .\" The latter example will adjust nicely to .\" justified margins, but may break in between an argument and its .\" declaration. .\" In .\" .Xr nroff .\" the right margin adjustment is normally ragged and the problem is .\" not as severe. +. +.\" Local Variables: +.\" mode: nroff +.\" End: .\" .SH 履歴 .\" Yoshiteru Kageyama 2001/06/10 mdoc.samples.7 .\" を参考に翻訳 diff --git a/ja_JP.eucJP/man/man8/dmesg.8 b/ja_JP.eucJP/man/man8/dmesg.8 index 0772823e04..e2a2cda89d 100644 --- a/ja_JP.eucJP/man/man8/dmesg.8 +++ b/ja_JP.eucJP/man/man8/dmesg.8 @@ -1,89 +1,93 @@ .\" 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 acknowledgment: .\" This product includes software developed by the University of .\" California, Berkeley and its contributors. .\" 4. Neither the name of the University nor the names of its contributors .\" may be used to endorse or promote products derived from this software .\" without specific prior written permission. .\" .\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND .\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE .\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE .\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE .\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL .\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS .\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) .\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT .\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" .\" @(#)dmesg.8 8.1 (Berkeley) 6/5/93 .\" %FreeBSD: src/sbin/dmesg/dmesg.8,v 1.5.2.3 2001/08/08 21:04:31 sheldonh Exp % .\" -.\" $FreeBSD: doc/ja_JP.eucJP/man/man8/dmesg.8,v 1.9 2001/07/29 05:15:27 horikawa Exp $ +.\" $FreeBSD: doc/ja_JP.eucJP/man/man8/dmesg.8,v 1.10 2001/08/10 02:12:54 horikawa Exp $ .\" .Dd June 5, 1993 .Dt DMESG 8 -.Os BSD 4 +.Os .Sh 名称 .Nm dmesg .Nd システムメッセージバッファの表示 .Sh 書式 .Nm .Op Fl a .Op Fl M Ar core .Op Fl N Ar system .Sh 解説 .Nm はシステムメッセージバッファの内容を表示します。 .Pp +オプション +.Fl N +も +.Fl M +も指定されない場合、 +.Xr sysctl 3 +インタフェースを使用して、現在実行中のカーネルから、バッファが読み取られます。 +そうでない場合、指定したコアファイル (またはデフォルトのもの) +から、指定したカーネルイメージ (またはデフォルトのイメージ) +中の名前リストを使用して、バッファが読み取られます。 +.Pp オプションとしては、以下のものがあります: .Bl -tag -width indent .It Fl a メッセージバッファ中の全データを表示します。 これには、すべての syslog レコードと、 .Pa /dev/console 出力が含まれます。 .It Fl M 表示されるシステムメッセージバッファが含まれるファイルを指定します。 デフォルトは .Pa /dev/kmem です。 .It Fl N ネームリストが含まれるファイルを指定します。 -デフォルトは -.Pa /kernel -です。 +デフォルトはシステムがブートに使用したカーネルです。 .El .Sh 関連ファイル -.Bl -tag -width /var/run/dmesg.boot -compact +.Bl -tag -width ".Pa /var/run/dmesg.boot" -compact .It Pa /var/run/dmesg.boot 通常は、起動時にファイルシステムがマウントされたすぐ後の、 バッファ内容のスナップショット .El .Sh 関連項目 +.Xr sysctl 3 , .Xr syslogd 8 -.Sh 関連ファイル -.Bl -tag -width /etc/kmem -compact -.It Pa /dev/mem -.It Pa /dev/kmem -.It Pa /kernel -.El .Sh 歴史 .Nm コマンドは .Bx 4.0 から登場しました。 diff --git a/ja_JP.eucJP/man/man8/growfs.8 b/ja_JP.eucJP/man/man8/growfs.8 index 6d79f00337..9848f1413c 100644 --- a/ja_JP.eucJP/man/man8/growfs.8 +++ b/ja_JP.eucJP/man/man8/growfs.8 @@ -1,161 +1,184 @@ .\" Copyright (c) 2000 Christoph Herrmann, Thomas-Henning von Kamptz .\" Copyright (c) 1980, 1989, 1993 The Regents of the University of California. .\" All rights reserved. .\" .\" This code is derived from software contributed to Berkeley by .\" Christoph Herrmann and Thomas-Henning von Kamptz, Munich and Frankfurt. .\" .\" Redistribution and use in source and binary forms, with or without .\" modification, are permitted provided that the following conditions .\" are met: .\" 1. Redistributions of source code must retain the above copyright .\" notice, this list of conditions and the following disclaimer. .\" 2. Redistributions in binary form must reproduce the above copyright .\" notice, this list of conditions and the following disclaimer in the .\" documentation and/or other materials provided with the distribution. .\" 3. All advertising materials mentioning features or use of this software .\" must display the following acknowledgment: .\" This product includes software developed by the University of .\" California, Berkeley and its contributors, as well as Christoph .\" Herrmann and Thomas-Henning von Kamptz. .\" 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. .\" .\" $TSHeader: src/sbin/growfs/growfs.8,v 1.3 2000/12/12 19:31:00 tomsoft Exp $ -.\" %FreeBSD: src/sbin/growfs/growfs.8,v 1.6.2.2 2001/08/01 12:01:29 sheldonh Exp % +.\" %FreeBSD: src/sbin/growfs/growfs.8,v 1.6.2.3 2001/08/14 12:45:11 chm Exp % .\" -.\" $FreeBSD: doc/ja_JP.eucJP/man/man8/growfs.8,v 1.1 2001/08/05 22:17:47 horikawa Exp $ +.\" $FreeBSD: doc/ja_JP.eucJP/man/man8/growfs.8,v 1.2 2001/08/06 03:01:43 horikawa Exp $ .Dd September 8, 2000 .Dt GROWFS 8 .Os .Sh 名称 .Nm growfs .Nd 既存の UFS ファイルシステムのサイズを拡張する .Sh 書式 .Nm .Op Fl Ny .Op Fl s Ar size .Ar special .Sh 解説 .Nm は .Xr newfs 8 プログラムを拡張したものです。 .Nm を実行する前に、ディスクは .Xr disklabel 8 を用いて大きなサイズに設定されていなければなりません。 もしボリュームを使っている場合は、 .Xr vinum 8 を用いてディスクを大きくする必要があります。 .Nm は指定されたスペシャルファイル上のファイルシステムのサイズを拡張します。 現在 .Nm は、マウントされていないファイルシステムの拡張しかできません。 マウントされたファイルシステムを拡張しようとしないでください。 システムがパニックするかもしれませんし、 そうするとファイルシステムはもはや使えなくなるでしょう。 .Xr newfs 8 で使用したほとんどのオプションは変更できません。 実際、ファイルシステムのサイズを大きくすることしかできません。 その他の変更を行う場合は .Xr tunefs 8 を使用してください。 .Pp 以下のオプションが使用できます: .Bl -tag -width indent .It Fl N +.Dq テストモード 実際にファイルシステムを大きくすることなく、新しいファイルシステムの パラメータを表示します。 .It Fl y .Dq エキスパートモード 通常 .Nm は、データのバックアップを取ったかを尋ねたり、 .Ar special が現在マウントされているかどうかや、指定されたファイルシステムに アクティブなスナップショットがあるかどうかのテストを行います。 しかし、このモードではこれらが抑制されます。 このオプションは最大の注意を払って使って下さい。 .It Fl s Ar size 拡張後のファイルシステムの、セクタ単位の .Ar size を指定します。 この値のデフォルトは .Ar special 内で指定されている raw パーティションのサイズです (言い換えれば .Nm はファイルシステムのサイズを、パーティション全体まで拡張します)。 .El .Sh 使用例 .Dl growfs -s 4194304 /dev/vinum/testvol .Pp は、 .Pa /dev/vinum/testvol に十分な領域がある場合、2GB に .Pa /dev/vinum/testvol を拡張します。 .Sh バグ -時々 +.Nm +は .Fx -3.x において +3.x から動き始めました。 +.Fx +3.x のみにおいて .Nm は、ファイルシステムがマウントされているかどうかを正しく認識できずに エラーメッセージを出して終了することがあります。 その場合は、ファイルシステムがマウントされていないことを確認して、 .Nm .Fl y をしてください。 -安全のため、拡張した後、 +(安全のため、) 拡張した後、 .Xr fsck 8 をすることもお勧めします。 .Pp -ある場合、今まで移動されたこともないファイルシステムの内部構造の -置き場所を変える必要がありますので注意して下さい。 -ほとんどすべての場合、 -.Xr fsck 8 -ユーティリティを除いて、この構造の再配置を行っても問題なく動作します。 -.Xr fsck 8 -に対するパッチが出ています。 ある一定の制限以上に拡張するには、最初のシリンダグループに いくらかの空きブロックがあることが必要です。 +最初のシリンダグループに空きが無い場合、 +新規に使用可能なシリンダグループに重要なデータ構造が移動されます。 +.Fx +3.x では後で +.Xr fsck 8 +が問題となります。よって、 +.Fx +3.x +で +.Nm +を使用するには +.Xr fsck 8 +のパッチが必要となります。 +.Fx 4.4 +からはこのパッチは既に +.Fx +に組み込まれています。 この構造の再配置を避けるには、最初のシリンダグループに対して .Nm ffsinfo .Fl c Ar 0 を行って、CYLINDER GROUP の CYLINDER SUMMARY (内部 cs) 内の .Em nbfree に十分なブロックがあるかどうかを確認することを、現在ではお勧めします。 経験上、デフォルトのファイルシステムのパラメータに対して、 全ファイルシステムのサイズの 2GB 毎に 1 ブロック必要です。 +.Pp +通常、 +.Nm +はこの重要な構造をディスクに書き込んでから後で再度読み取り、 +更なる更新を行います。 +.Fl N +を使用すると、この読み取り操作は予期せぬデータを返してしまいます。 +このような理由で、この部分は実際にはシミュレートできないので、 +テストモードではスキップします。 .Sh 関連項目 .Xr disklabel 8 , .Xr dumpfs 8 , .Xr ffsinfo 8 , .Xr fsck 8 , .Xr newfs 8 , .Xr tunefs 8 , .Xr vinum 8 .Sh 作者 .An Christoph Herrmann Aq chm@FreeBSD.org .An Thomas-Henning von Kamptz Aq tomsoft@FreeBSD.org .An The GROWFS team Aq growfs@Tomsoft.COM .Sh 歴史 .Nm コマンドは .Fx 4.4 で初めて登場しました。