local - みる会図書館


検索対象: UNIX MAGAZINE 1991年5月号
13件見つかりました。

1. UNIX MAGAZINE 1991年5月号

ミ車載 / 匸 i 眈 l—anguage リストー operl. # ! /usr/bin/perl # $Header: operl. pl ,v 1.10 91 / 02 / 22 18 : 25 : 49 sakoh Locked $ # An experimental obj ect-oriented package for perl. # written by H. Sakoh package operl ; require ) dumpvar. pl ' $root . $salt ; # an obJect id $root ) operl- # Obj ect id root $salt = 'a # object id salt; # &defclass(class, superclass ) sub maln'defclass local($class) shift; # class name local ($super) shift; # super class name if (defined($superclass{$super})) { $superclass{$class} = $super; return $class ; } else { print SD "no such super class: return. undef ; $super # &defmethod(class , method , body) sub main ' defmethod local($class) 10C 訌 ($method) local($body) local($defs) ; local($result) ; if ( !defined($superclass{$class})) { print SI の "no such class: return undef ; $methods{$class} : $method : $defs = qq! sub $class'$method { ! q! local($context) shift ; q ! eval package $context ; qq! . q \ 001 ! $body . qq ! \ 001 ; } : ! ; $result = eval $defs ; print SDERR. $@ . " \ Ⅱ” unless $ eq $result; 1 亠 O O O E E CQ C•Q $class t$context; " ! '$self = # &neV0bJect(c1ass) sub main'newobject { local($class) local($newobj) ; if ( !defined($superclass{$class})) { print SI つ "no such CIass: return undef ; shift; # class name $class $newobj $root $salt + + ; $myclas s{$newobj } $class ; &main ' s end ( $newobj , init ' # call init with args return $newobJ ; # &send(object, method, 矼 gl , 矼 g2 , 98 UNIX MAGAZINE 1991.5

2. UNIX MAGAZINE 1991年5月号

連載 /UNIX Communication Notes— ファイルシステムを NFS で共有することがしばしはおこ 己述が容易になります。シンポリック・リンクを巧みに使 なわれます。これによってバージョンアッフ。作業が容易に えばこのような環境か構築できますが、 amd を利用すると なり、複数のワークステーションに同し環境を提供できる 比較的簡単に実現できます。これは、以下のような手順で ようになります。 おこないます。 各種のワークステーションが混在する環境でこのような サーバーを構築する場合、 1 つのサーバーで複数のアーキ 【手順 1 】ファイルサーバーは jupiter とします。ファイル テクチャをサポートすることがあります。 サーバーでは、前述したように / share 以下に ' X と X の環境を提供するファイルサーバーがあったとし GNUEmacs のディレクトリが用意され、アーキテクチャ ましよう。 X では、フォントやマクロはアーキテクチャ 間で共有できないものはアーキテクチャの名前をつけたサ に無関係に共有できますが、実行形式のファイルは各アー プディレクトリにまとめられているとします。さらに キテクチャごとに異なります。この場合、サーバーでは実 れ以外の非標準ツールの環境として、 行形式のファイルはアーキテクチャ別にディレクトリを分 /share/bin/sun3 け、共有できるものは 1 つのディレクトリにしておきます。 /share/bin/sun4 /share/bin/vax /share/Iib/sun3 /share/tex /share/ 1 ib/ sun4 /share/tex/lib / share/l ib/vax /share/tex/fonts /share/etc/sun3 / share/tex/bin/ sun3 /share/etc/sun4 / share/t ex/bin/sun4 / share/et c/vax / share/t ex/bin/vax /share/man 同様に、 GNU Emacs でも 1bXinfo ファイルと が用意されているとします。 Emacs Lisp ファイルはアーキテクチャに無関係に共有で 【手順 2 】次に、リスト 4 に示すマップを用意します。この き、それ以外のファイルは共有できないので、 マッフのファイル名を amd. 10Ca1 とします。このマップ ファイルでは、 tex と emacs のエントリに注意する必要 /share/emacs があります。これらのディレクトリを automount filesys- /share/emacs/bin/sun3 tem として定義し、サプディレクトリも amd で管理でき /share/emacs/bin/sun4 /share/emacs/bin/vax るようにしています。これらのエントリでは、 /share/emacs/info /share/emacs/lisp fs : =${map} ;pref : =${key}/ /share/emacs/etc/sun3 /share/emacs/etc/sun4 という設定をしています。 /share/emacs/etc/vax fs の再設定は、マウントボイントを変更するために使用 というディレクトリ構成にすればファイルサーバーが構成 します。ここで示したマップを使って / usr / 1 。 cal を amd できます。 で管理する場合、マウントボイントは / usr / 1 。 cal になりま このようにサーバーを構築した場合でも、クライアント す。しかし、 /usr/local/tex 以下にアクセスがおよんだ場 側ではアーキテクチャに関係なく、 合には /usr/local/tex がマウントボイントでなければな りません。 /usr/local/tex にアクセスが発生したとき、変 /usr/local/tex/bin 数 $ { map} には /usr/local/tex が入っているので、これを /usr/local/emacs/bin 利用してマウントボイントの再設定をおこなっているわけ /usr/local/emacs/etc です。さらに、 pref を再設定し、必要なファイルシステム に現在使用しているワークステーションで動く実行形式フ がすでにマウントされているか否かを調べる処理が適切に ァイルを置いておけは、各ューサーの . cs c や . log ⅲの おこなわれるようにします。 一三ロ 71 UNIX MAGAZINE 1991.5

3. UNIX MAGAZINE 1991年5月号

連載 / Li 社 sub main'send { 10Ca1 ( $obj ect ) local($method) l-anguage shift ; # method name shift ; # obj ec local($class , $result, $xyz) ; if ($main'msgtrace ! = の { $msglevel + + ; print STD 田 . " [$msglevel] :&send($object , $method, @ ) " ・ if ( !defined($myclass{$object})) { . $ ob 」 ect print STD 丑 " Ⅱ 0 such object : $msglevel if $main'msgtrace ! = 0 ; return undef ; $class = $myclass{$object}; while (index($methods{$class}, :$method:") くの { if ($class eq 'root' ) { . $method print STDERR " Ⅲ】 10W Ⅱ message : $msglevel if $main'msgtrace ! = 0 ; return undef ; $class = $superclass{$class} ; # chaxn to super class $xyz 'i$class'$method't ; # subroutine to be invoked $result = do $xyz($object, @ー ) ; # subroutine ca11 if ($main'msgtrace ! = 0 ) { (defined ($result) ? $result : print SDERR 'undef' ) $msglevel defined($result) ? $result : (wantarray ? ( ) # &dumpclass() sub main ' dumpclass { while (($key, $val) = each %superclass) { : undef) ; print $key # important built—in $superclass{'root'} &main'defmethod( 'root' unain'defmethod( 'root' . $val iS a subclass Of CIass root # 'root ' is the super class of itself. ' ' ) ・ # do nothing init ' 'class' , く 0 日ー OF 」化 IHOD ー ' ) ; $operl'myclass{$self}; _END_OF METHOD_ &main ' defmethod ( ' root ' ' show-parents ' , くぐ END OF - M ビⅡ旧 D ゞ ) ; local($class) = $operl 'myclass{$self}; while ($class ne 'root ' ) { print $class $class = $operl 'superclass{$class} ; # chain to the super class print "methods : . $operl ' methods {$operl ' myclass {$self}} print "class : $operl ) myclass{$self } ) show self' , くく ' ー END ー OF ート鼈Ⅱ旧 D 」 ) ; &main ' defmethod ( ' root ' END_OF_MEI ・ HOD_ print " root \ が &main'dunpvar($self) ; 日の一 OF ート鼈 IYOD ー perl ですから、次のような書き方も可能です。 &defmethod( ) cl ) ' + + ' くく ' END_OF トⅡ { OD $counter 十十 ; END_OF_I ・ ETHOD_ UNIX MAGAZINE 1991.5 この書き方は、メソッドの内容が複雑になったときに有 効です。メソッドに対する引数は、 @ - 配列を使って参照で きます。たとえは、 &defmethod ( ' c 1 ' くぐ日の一 OF 」 rHOD ー ' ) ; 99

4. UNIX MAGAZINE 1991年5月号

UN Ⅸへの招待⑩ マンドとして実行され、コマンドの検索は終了します ( 残 りのディレクトリは検索されません ) 検索パスに入ってい ないディレクトリにある実行可能ファイルは、パス名など を記してそのファイルの位置を明確に指定しなければ実行 できません。言い換えれば、 / bin に存在するファイルでも / bin が検索パスに入っていなければ、ファイル名 ( コマン ド名 ) を入力しても実行できないということです。 bin は binary を略してつけられた名前で、 UNIX が誕 生したばかりのころはすべてのコマンドがこのディレクト リに置かれていたそうです。現在ではコマンドの数が多く なり、 / bin 以外のディレクトリ /usr/bim /usr/ucb 、 /usr/local などにもコマンドが置かれています。また、 SunOS の新しいバージョンでは、もともと /bin に存在し ていたコマンドがすべて /usr/bin に置かれています。これ らについては後述することにして、ひとますアトラクショ ン : ー ) /bin の探索を終ることにしましよう。 ションは、、、ファイルをアーカイプファイルにまとめなさ い〃という指定です。この a11. tar という名前のアーカイプ ファイルからファイルを取り出すときには、 % tar xf a11. t 矼 を実行します。 x はいアーカイプファイルからファイルを 取り出しなさい〃という指定です。これを実行すると、 a11. tar に格納されているすべてのファイルがカレントディレ クトリの下に復元されます。 この tar コマンドの名前は、 Tape Archiver を略して つけられたものです。その名のとおり、実際にはテーフ。へ アーカイプファイルを作成する、つまりテープにファイル をバックアップしたり、テープ上のファイルをディスクに 復元したりするために用います。このようなときは、 tar の /usr/ucb /bin /usr/bin /usr/new /usr/local/bin /usr/bin/XII /usr/hosts % echo $path この例では、 ます。そこで、ユーザーがコマンドを入力すると、 8 つのディレクトリが検索バスに入ってい 4 ) /usr/new 3 ) /usr/bin 2 ) /bin 1 ) /usr/ucb 8 ) . ( カレントディレクトリ ) 7 ) /usr/hosts 6 ) /usr/bin/X11 5 ) /usr/local/bin の順でディレクトリか調べられます。途中、調べているデ ィレクトリにコマンド名と同しファイル名で、しかも実行 権 ( rwx のうちの x ) をもつファイルの有無が調べられま す。条件に合うファイルが存在すれは、そのファイルがコ / dev ディレクトリ 次は、 / dev ディレクトリに行ってみます。 UNIX では、 端末、プリンタ、ディスク、ストリーマなどの周辺装置が ファイルとして扱えます。このため、たとえば入出力用の システムコールを使ったプログラムは、通常のファイルの 入出力にも、装置の入出力にも使用できます。これをユー ザー側からみれは、あるコマンドを使うときに、周辺装置 に対しても通常のファイルに対しても同し方法でコマン ドが使えるということになります。周辺装置への入出力だ からといって、とくに意識しなくてもすみます。その典型 的な例が tar コマンドです。 tar は、たくさんのファイルを アーカイプ形式と呼ばれる 1 つのファイルにまとめてし まうコマンドです。たとえば、 % tar cf 訌1. tar * では、カレントディレクトリのすべてのファイル ( * で指 定 ) が、 f の後ろで指定した all.tar というアーカイプファ イルにまとめられます。ここで使用している c というオプ UNIX MAGAZINE 1991.5 % tar cf /dev/rstO * f の後ろでテープのファイル名を指定します。 155

5. UNIX MAGAZINE 1991年5月号

ernacs 入門 l//\v/ N 図 33 . eggrc の例 (set-default-sys-dic-directory "/usr/local/lib/wnn/dic/pubdic/") (set-default-usr-dic-directory "/usr/10caI/1ib/wnn/dic/usr/$USER/" ) (setsysdic "koyuu. dic" (setsysdic (setsysdic (setsysdic ' Private (setusrdlc (setusrdic "mydic" 5 t) 'private" 5 t) Dictionary JInmei. (setsysdic "computer. . dIC" "kihon. dic" "kihon. frq" 5 t) "koyuu. frq" 3 t) "chimei. frq't 3 t) 'computer. frq" 3 t) Jinmei. frq" 3 t) ーマ字かな変換のためのキーマップはまったく別のものな ので、混同しないでください。 辞書や頻度ファイルの設定もやはり wnn-egg. el に記 述されていますが、もともとカスタマイズのために Egg 用 の設定ファイルが読み込める仕組みになっています。 Egg では、 jserver と接続した直後に辞書ファイルや頻 度ファイルを jserver に対して指定します。このとき、ユ ーサーのホームディレクトリの下にある、 ~ / ・ eggrc の設定を読み込みます。図 33 は . eggrc の例です。詳しい 説明は Egg のドキュメントに任せますが、辞書のあるディ レクトリのパスを変更する程度なら、この例からなんとか 類推できるでしよう。また、システムのデフォルトの設定 ファイルも用意されているはすです。 /usr/10ca1/1ib/nemacs/1isp/eggrc—v4 などを参考にしてください。 すいぶん大雑把な説明で、、、もひとつよくわかんない〃と いう方もきっといらっしやることでしよう。嬉しいことに Egg には日本語のドキュメントがついています。もっと細 かく知りたい人は、 M-x infO コマンドを利用してドキュメントを読んでください。ただ し、 info コマンドの使い方についてはまだ説明していませ んのでいとりあえす、ドキュメントの断片だけでも読みた UNIX MAGAZINE 1991.5 い〃という人は、 /usr/local/lib/nemacs/info/egg を覗いてみてください。きっと、役立つ情報が満載されて いることでしよう。ただし、サイトによっては /usr/local/ lib/nemacs ディレクトリが微妙に違うかもしれません。 もし見つからなけれは、あなたのサイトのシステム管理者 に問い合わせてください。 V 次回は下準備がです 普通の日本語の文書の書き方を覚えたところで、次回は キ未な ( ? ) 日本語の文書ーー X ( い X ) ーーの書き方 をお勉強しましよう。ふだんから X を使っているなら すでに環境ができているでしようから、なんの下準備もい りません。強いて言うなら、簡単な X の使い方を予習し てもらうことかな ? 一方、 用の環境がない X を使ったことがない なんて読者にとっては、きっとチンプンカンプンなお話に なってしまいそうなので予備知識を蓄えておいてくださ い。本誌のバックナンバーを持っていれば、「てくてく 」のまとめ読みなんていいかもしれません。もちろ ん、クヌース先生の「青 X 本」やランポート氏の「い X 本」などもありますが、とくに青 X 本はちょっと長大す ぎて途中で Give Up ! してしまう可能性が大です。かくい う私も、しつは 10 章くらいで挫折して・・・ ( あらい・みちこ ASTEC) 133

6. UNIX MAGAZINE 1991年5月号

ースー 図 8 /etc/printcap の例 # This is a sample of printcap entries used by various printers/plotters sjlbp llp ー g509sj1bp lLBP-8 AJ-2: \ : lp=/dev/ttya: \ : px # 2336 : py # 3300 : \ : fc # 06300 : fs # 022 : xs # 040 : \ : b て # 19200 : \ : sd=/usr/spool/lpd/sjlbp : \ : lf=/usr/adm/lpd—errs : \ : pl # 66 : p # 116 : sh: \ : if=/usr/local/lib/lpf—shot : \ : df=/usr/10ca1/tex/dvi21bp—g24g40 : \ : tf=/usr/local/lib/lpf-vshot : 、 : vf=/usr/local/lib/lpf-popi : jlbp ー LBP—8 AJ—2 : \ : lp= : rm=neptune :rp=jlbp : sd=/usr/SP001/1pd/J1bp: lf=/usr/adm/lpd-errs : ユーザーへの道 1 を挙げておきます。フロッピーディスクを取り出すコマン ドは Sun では eject ですが、フロッピーディスクをファイ ルシステムとして使っているときは取り出す前にアンマウ ントしてください 24 。 テープテパイス テーフ。デバイスにも、オープンリールの MT から最新の 8mm あるいは DAT までさまざまなものがあります。 れらのテープデバイスも、最近では SCSI 対応のものが多 くなっています。テープデバイスは OS などのパッケージ ソフトを配布するメディアとして、あるいはハードディス クなどのバックアップをとる手段として使われる場合が 大半です。 現在、いちはんよく使われているテープデバイスはスト リーマでしよう。最近ではストリーマのテーブドライプも SCSI 対応のものが多くなってきており、ワークステーシ ョンとの接続は SCSI インターフェイスを利用します。ス トリーマには、テープの磁気密度などによっていくっかの 種類があります。テープの幅は、たいていは 1/4inch のも のが使われます。ストリーマへの記録フォーマットについ ても QIC-16 、 QIC-24 、 QIC ー 120 、 QIC-150 など、記録 密度によって何種類かあります。 ストリーマの使用法は、次号以降の「バックアップ」の 項で説明する予定です。 24 実際には eject コマンドを実行すると、アンマウントされていなくても自動的 にアンマウントされてからディスクが飛び出してきます。また、 eject コマンド の代わりに mt イ ( デバイス名 ) offhne を使うものもあります。 UNIX MAGAZINE 1991.5 瓰広 SCSI が普及したこともあって、 MT やストリー によくあるセントロニクス準拠のインターフェイスを利 インターフェイスを使ったものやパーソナルコンピュータ RS232C ポートを介したものです。そのほかにも、独自の 方法がありますが、もっともよく使われているのが プリンタとワークステーションの接続にはいくつかの 質、高性能なものも使われるようになっています。 Script が出力可能でアウトライン・フォントを備えた咼品 は、レーザープリンタが一般的でしよう。も匠では、 Post- スですね。ワークステーションに接続するプリンタとして プリンタは、いうまでもなくデータ出力のためのデバイ プリンタ れます。 状もすっと小型ですから今後ますます普及していくと思わ 百 MB から数 GB という大容量のデータが記録でき、形 量が 150MB ほどなのに比べて、これらのデバイスには数 テープなどがあります。従来の MT やストリーマの記憶容 とえば、もともと音楽用の DAT 、 8mm ビデオ用の 8mm マ以外のテーフ。デバイスが使われるようになりました。た 用するものなどがあります。 た点をプリンタごとに設定してやらないと、プリンタは田 タ転送速度やデータピット長などが異なります。こういっ と、プリンタにはいろいろな種類があって、それぞれデー 、 ( オイ、オイ ) すいません、冗談です。えー ません。ます、コンセントをつなぎ、電源スイッチを ON プリンタは、計算機本体と接続しただけでは動いてくれ 59

7. UNIX MAGAZINE 1991年5月号

連載 / LittIe Language # N 次元配列 require ' operl. pl ' # operl'< ッケージを口 リスト 5 narray. op &defclass ( 'narray' , 'root ' ) ; &defmethod( 'narray' , ' init ' , くく ' END OF_METHOD_ ' ) ; # インスタンスを作るときに次元を指定する $dimension = $ ー [0] ; END_OF METHOD_ # 次元を間い合わせる &defmethod( 'narray' , 'dimension' $dimens ; 日ー OF ートⅡ旧 D くく ' 日↓ D OF_METHOD_ ' ) ; # 値 value を位置 indexO index(n-l) に人れる &defmethod ( ' narray local ($value ) 10ca1($indexO) 10Ca1 (@rest ) if ($dimens ion , 'put ' , くく ' END-OF METHOD_' ) ; $e1ements{$index0} = $value; } else { if ( !defined($elements{$index()})) { $e1ements{$index0} = tmain'newobject( 'narray' , $dimension—l) ; unain'send($elements{$index()} , 'put' , $value, @rest) ; . index(n-l) の値を取り出す # 位置 index0 日↓ D ー OF EI'HOD_ if ($dimension ー 10Ca1 (@rest) 10ca1($indexO) = shift(@-) ; &defmethod ( ' narray get' , くく ' 日 OF トⅡ旧 D ー ' ) ; (defined($elements{$index()})) ? $e1ements{$index0} } else { if (defined($elements{$index()}) ) { tmain'send($elements{$index()} , 'get' , @rest) ; } else { undef ; END_OF_PIEI*HOD_ 動的に新しい配列や変数を導入することはできません。し かし、叩 erl を使えは同様な性質 ( クラス ) をもつ独立した 実体 ( インスタンス ) を、メモリの許すかぎり生成できるの です。 組込みクラス root について 組込みクラス、、 root 〃は SmaIItaIk などにおける Object クラスに相当し、すべての継承の根として使われま す。ですから、このクラスのインスタンス・メソッドは、 102 undef; 利用者が定義するすべてのクラスのインスタンスで利用で きます。叩 erl. pl の最後のほうに定義が書かれています こでそれぞれの意味を簡単に記しておきます。 が、 ・ class そのインスタンスのクラスを返す。 ・ show- parents そのインスタンスのクラスが、どのような継承をしてい るかを標準出力に出力する。 ・ show-self UNIX MAGAZINE 1991.5

8. UNIX MAGAZINE 1991年5月号

連載 IJN Ⅸ Communication Notes リスト 4 複数アーキテクチャをサポートするサーバー /defaults bin lib etc man tex tex/fonts tex/lib tex/bin emacs emacs/info emacs/lisp emacs/bin emacs/etc rfs :=/share; sublink: =${key};rhost :=jupiter;type : -sublink : =${key}/${arch} type : =nfs -sublink :=${key}/${arch} type : =nfs -sublink: =${key}/${arch} type : =nfs type :=nfs type :=auto ; fs : =${map};pref :=${key}/ type :=nfs type :=nfs -sublink :=${key}/${arch} type : =nfs type :=auto ;fs :=${map} ;pref :=${key}/ =link type :=nfs type :=nfs -sublink :=${key}/${arch} type : -sublink :=${key}/${arch} type : 【手順 3 】ここまでの設定が終了したら、以下のように amd を起動します。 # amd /usr/local amd. 10Ca1 RepIicated Server の利用 NFS を利用した環境における最大の問題点は、サーバ ーに障害が発生したときの処置です。 NFS 環境でサーバーが障害で停止してしまったときは、 管理者がクライアント側の処置を手動でおこなわなけれは いけません。ー殳に、クライアント側のワークステーショ るまで待つ ンの管理者は、 2 ) サーバーが二重化されている場合、・舸蒲のサーバーから 1 ) サーバーが二重化されていない場合、サーバーが復旧す amd では、複数のロケーションが指定されると、それら ばなりません。 場合、サーバーの切替えは管理者が手動でおこなわなけれ のどちらかを選択するようです。 1 ) は論外としても、 2 ) の マウントしなおす 72 =nf s =nf s UNIX MAGAZINE 1991.5 照 ) 。これによって、利用中のサーバーがダウンしても自動 という処理をしますにの処理の詳細については前号を参 マウントが可能であるかを調べ、マウントをおこなう ・ダウンしたと判定した場合は、残りのサーバーについて クは定期的におこなわれる 芯がない場合にはダウンしたと判定する。このチェッ ・利用中のサーバーに対して NULLPROC をおこない、 ーを使う 用いて調べ、これらのなかでもっとも早く応答をしたサ neptune 、 pluto 、 mercury を NFS の NULLPROC を ・はしめて /usr/man にアクセスがあったときには、 ると、 pluto 、 mercury が指定されています。このように指定す この場合、 /usr/man のロケーションとして neptune 、 スト 5 のマップを用意したとします。 たとえは、 /usr/man を amd で管理することにして、リ ります。 は、自動的にほかのサーバーに利用を切り替える機能もあ さらに、現在利用中のサーバーが障害などで停止した際に のうち利用可能なサーバーを適当に選択して利用します。

9. UNIX MAGAZINE 1991年5月号

/dev/sdOa /dev/sd0g /dev/sdOh icspub : /pub/sun3/10ca1 icspub : /x am—home a m ー 1 C S neptune : /home/neptune 連載 リスト 9 1 s up IS up up IS up IS up IS up IS up IJNIX Communication Notes amq - m " の出力 jupiter: (pid116) /usr /am/home/jupiter /usr/local /xwin /hom e /iCS /src /am/home/neptune /am/pluto/ics/tex /am/pluto/ics/emacs aUtO uf s uf s uf s nfs nfs aut 0 autO autO nf s nf s nf s 1 1 1 1 1 1 1 1 1 1 1 1 localhost localhost localhost localhost icspub is up icspub iS localhost localhost localhost p1utO is up p1utO is up neptune is up p1ut0 : /pub/tex pluto : /pub/emacs リスト田 "amq - s " の出力 requests stale deferred fhandles 2 0 mount ok 4 mOUIlt failed 0 unmount failed 0 ・マウントマップ名、あるいはどこからマウントしている ・ファイルシステムの種類 ・マウントホイント トマウント・ポイント ・マウントされているファイルシステム、あるいは、オー この場合は左から、 力されます。リスト 9 に出力例を示します。 amq に一 m オプションをつけると、より詳しい情報が出 です。 ・実際にマウントされているディレクトリ かという情報 UNIX MAGAZINE 1991.5 オプションを使ってホストを指定します。 リモートのホストの情報を得たい場合は、次のように一 h のように働いているかを推測できます。 となります。 amq から得られる情報から、現在 amd がど いての情報も出力される ) ・サーバーの状態 ( 工ラーが発生した場合には、エラーにつ ・ファイルシステムがローカルで何回参照されているか % amq —h neptune -m ファイルシステムのアンマウント amd に管理されているファイルシステムをアンマウン トする場合も amq を用います。 たとえは、 amd が / home をオートマウント・ポイント して管理しており、 /home/jupiter にマウントされている ファイルシステムをアンマウントしたいとします。これは、 # amq -u /home/jupiter とします。これによって、ファイルシステムを使用してい るか否かの判断に使われているタイマをタイムアウトさせ ることができるので、結果的に amd がアンマウントを実 行することになります。マウントされているファイルシス テムのオフションとして nounmount が指定されている ときには、アンマウントされません。 統計情報 amq に一 s フラグを与・えると、 amd の処理に関する統計 情報が得られます。出力例をリスト 10 に示します。 75

10. UNIX MAGAZINE 1991年5月号

ースー ノヾー ユーサーへの道 1 し、もちろん画面上にも表示されます。人に訊ねたり、本を ゝ・ DESCRIPTION そのコマンドに関する詳しい解説です。 NAME のところ 捜すために席を離れなくてもマニュアルカ毓めますから、た だけではよく分からないというときには、 ーをめばた いへん便利な機能といえるでしよう。 いてい理解できます。 使い方は、 ・ FILES man コマンド名 そのコマンドに関連するファイル名です。コマンドの実行 時に参照するファイル名などが、辛寸パス名で書かれてい とします。たとえは・、 ls というコマンドについて知りたいと ます。 きには、 ・ OPTIONS madoka% man IS 指定できるオプションとその働きです。 とすればいいですね。ますは、 man 自体のマニュアルを見て ・ SEE ALSO 関連項目です。そのマニュアルだけではよく分からないと ください。どうですか、ちゃんと表示されましたか ? 表示に いうような場合には、ここに挙げられているコマンドのマ ついて、すこしだけ解説しておきましよう。 ニュアルを併読すると理解しやすくなります。 行頭に、インデントされすに大文字で書かれているタイト ルがいくつかありますれこのタイトルには、おもに以下の ・ BUGS ようなものがあります。 コマンドに関する注意事項です。コマンドによっては、あ る条件のもとでは正常に動作しないことがあります。そう いった点についての注意です。 ・ NAME コマンド名とその働きか書かれています。 こを見るだけ これらの項目はどの UNIX でもほば共通ですから、それ でも概要は分かります。 ぞれの部分にどのようなことか書かれているかを把握してお ・ SYNOPSIS そのコマンドの使い方です。 [ ] で囲まれている部分は、、、必 くとマニュアルを読むのも楽になるでしよう ( 英語が苦手な 〃は、 人にとって、、、英語を読む〃という苦痛は変わりませんが : ー ) 要に応して指定 / 省略が可能〃という意味です。 もっとも、最近は日本語のマニュアルも増えてきました ) 。 その直前に書かれている引数がそこで繰り返して指定でき ところで先頭の行には、 ることを表しています。 MAN(I) MAN(I) US ERCO MMANDS 各種のファイル形式に関するもの と書かれていますね。この 1) 〃って何でしようか。 しつは、オンライン・マニュアルは 8 つの章から構成され 第 6 章 (man6) : games and demos ています。この ( I) 〃は、ゞそのうちの第 1 章ですよ〃とい そのマシンに搭載されているゲームやデモに関するもの うことを表しているのです。事実、 man のマニュアルは第 7 第 7 章 (man7) : miscellaneous 章にもあります。ここで、各章にそれぞれどのようなコマン その他いろいろ ドが収められているのかをざっと見ておきましよう。 第 8 章 (man8) : system maintainance and operation commands システム管理用のコマンド ( 管理者になると、この章とお友 第 1 章 (manl) : publicly accessible commands 達になる ) 准でも利用できるコマンド その他 (manl 、 mann) : 10Ca1 and new manual 第 2 章 (man2) : system calls システムに付属していたものではなく、あとからインスト システムコールに関するもの ールされたもの (PDS など。 /usr/local/man の下にも置 第 3 章 (man3) : user-level library routines かれている ) C 言語のライプラリ関数に関するもの 第 4 章 (man4) : device and network interface たとえば、第 7 章の man について調べたいときには、 計算機の周辺装置に関するもの 第 5 章 (man5) : formats of files 1 = ロ 55 UNIX MAGAZINE 1991.5