サプコマンド - みる会図書館


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

1. UNIX MAGAZINE 1993年2月号

(dbx) run 1 3 Running : a. out 14 13 10 11 10 11 10 9 35 35 35 33 33 32 32 32 8 sum = i = 3 35 sum trace : sum = i = 2 十十 ) trace : sum i = 2 sum 1 十十 ) trace : sum = 1 trace: sum = 0 十十 ) trace: sum = 0 trace: sum = 32 1 0 trace : (dbx) program exited 1 3 first 1ast atoi (* + + argv) ; atoi(* + + argv) ; for for for (i (i first ; = first; first; 1 1 1 く く く 1ast ; 1ast ; last; printf ( "%d\n" sum) ; with 3 ドを実行してトレースの出力をする場合にも、 display サプコマンドの効果が表れます。とはいえ、 dbx から 出力が得られるときにいつでもこのサプコマンドが有 効になるわけではありません。 trace サプコマンドでは なく when サプコマンドを実行すれば、 display サプコ マンドからの出力はされません。 displ サプコマンド に関しては、 dbx のプロンプトが出る前に実行されると だけ憶えておくのがよいでしよう。 デバッガでの実行か遅くなる プログラムのトレースをおこなう場合は、引数なし の trace サプコマンドを乱用しないように注意しまし よう。引数なしで実行すると、すべての行が出力されて しまいます。このときデバッガは、いったんすべての 行にプレークポイントを設定して、デバッガに制御が 戻った段階で実行している行を出力し、実際にその位 サプコマンドでも同様の問題か起こることがあります。 これは trace サプコマンドに関するものですが、 stop り遅くなってしまいます。 に制御カ唳っています。この方法では、実行速度がかな 再開します。つまり、 1 行出力するたびに毎回デバッガ 置にプレークポイントが設定されていなければ実行を この出力をよく見ると、不思議な点が 2 つあります。 1 つは最初に display サプコマンドを実行している部 分で、 bad data address という見慣れない表示があ ります。これは、 display サプコマンドを発行した段階 でまだ関数 ma ⅲを実行していないため、変数の土や s Ⅷカ陏効なアドレスを指していないことを表します。 したがって、プログラムが実行されて、各変数が正しい アドレスを指すようになると、正しい出力がされていま す。同様なことは、 display サプコマンドの引数に使っ た変数が見えなくなる場合にも起こります。たとえば、 ある関数のなかで停止したときにその関数に局所的な 変数を使い、 display サプコマンドを発行してその関数 を抜けてしまったあとなどです。このときは、 ] " IS active J などといった表示がされ、 " ( クオート ) で括られた変数 か現在は有効ではない ( 使えない ) ことが示されます。 もう 1 つは、 dbx のプロンプトが出ていないのに変 数の値を出力している点です。しつは trace サプコマン 134 stop サプコマンドでは、 stop at 行番号 や、 stop if 条件 stop in 関数名 という形式のものを紹介しましたが、 stop 変数名 や、 このはかにも、 という形式のものも準備されています 1 。 stop 変数名 では、指定された変数の値が変更されたときにプログ ラムの実行は中断します。 stop if 条件も同様で、指 定された条件が真になったときにプログラムの実行は 中断します。 1 この stop if 条件という形式は、 1992 年 12 月号でもすこし説明 しました。 UNIX MAGAZINE 1993.2

2. UNIX MAGAZINE 1993年2月号

ただし、コマンドの並びには、プログラムの実行を制 御する cont 、 step 、 next サプコマンドなどは指定でき ません。 データをかならず表示する 変数の値や式の値を表示するには、これまでは print サプコマンドや、 dump サプコマンドを使っていまし た。 trace サプコマンドを使ってもある程度の表示は可 能です。しかし、データを頻繁に表示しなければならな いのに、毎回 print サプコマンドを起動するのも面倒で す。表示したい式が長いもののときはなおさらです。 こういう場合は、 dbx カワ。ロンプト待ちの状態のと きにかならす式の値を表示するように設定できる dis- play サプコマンドが便利です。このコマンドには、引 数にかならす表示させておきたい式を , ( カンマ ) で区 切って指定します。すると、 dbx カワ。ロンプトを出す 前に式の値を表示します。実際にやってみましよう。 (dbx) display i, sum first; 10 for (i stopped in main at line 10 in file "/tmp/a. c" Running : a ・ out 1 10 (dbx) run 1 10 ( 2 ) stop at "/tmp/a. C":10 (dbx) stop at 10 Read 44 symbols Reading symbolic information. % dbx a. out i = 0 sum = 32 (dbx) step 11 i 1 sum = 32 (dbx) step 10 1 sum = 33 (dbx) step (dbx) step 10 i 9 sum = 77 (dbx) step 13 10 stopped in main at 1ine 11 in stopped in main at line 10 in fo て (i = first; stopped in main at 1ine 10 in fi1e "/tmp/a. for (i = first; stopped in main at line 13 in file "/tmp/a ・ i く last ; i + + ) { file "/tmp/a. c" file "/tmp/a. c" i く last; i + + ) { i く last; i + + ) { printf ("%d\n" , sum) ; 77 (dbx) UNIX MAGAZINE 1993.2 IJN Ⅸ流プロクラミング 28 この例からも分かるように、 dbx のプロンプトが表 示される直前に変数 i と変数 s の値が出力されてい ます。実際にプログラムをデバッグしながら、注目し ている変数の値がどのように変化していくのかをみる ことがよくあります。これを使えば、同し変数名を何 度も入力せずにすむのて粳利でしよう。 さて、いったん display サプ、コマンドで設定しておく と、いつまでも指定した式の値を表示しようとします。 もちろん、必要がなくなれはその表示は中止できます。 st 。 p サプコマンドで設定したものは delete サプコマン ドなどで削除できましたが、 display サプコマンドで指 定したものは、専用に設計された undisplay サプコ マンドで削除します。 undisplay サプコマンドは、 , で区切って引数を並べ ることができます。各引数には式を指定します。この式 は、 display サプコマンドで表示するように指定したも のです。 1 つの display サプコマンドで複数の式を指定 すると式は別々に扱われるので、すべての式の表示を削 除したいときは、各式を引数として指定しなければなり ません。 display サプコマンドの式に複雑なものを指定した場 合は、その指定を削除するために再度その複雑な式を入 力しなければなりません。 undisplay サプコマンドに は delete サプコマンドと同様に削除する式を番号で指 定することもできます。この番号の表示には、 display サプコマンドを引数なしで実行します。すると現在設定 されている式が、先頭に番号を付けられてすべて表示さ れます。この番号を使って、 undisplay 番号 と指定することもできます。こちらのほうが簡単です ね。 display サプコマンドの使い方は理解していただけた でしようか ? では、次の実行例を見てください。 ( 2 ) trace (dbx) trace ( 2 ) sum ( 1 ) i (dbx) display sum = bad data address i = bad data address (dbx) display i , sum Read 44 symbols Reading symbolic information. % dbx a. out 133

3. UNIX MAGAZINE 1993年2月号

calling add(i = returning 35 from calling add(i returning 38 from add calling add(i = 4 returning 42 from add calling add(i = , 」 = 42 ) 5 returning 47 from add calling add(i = 6 returning 53 from add calling add(i = 7 returning 60 from calling add (i returning 68 from add calling add(i = returning 77 from 77 = 68 ) = 60 ) = 53 ) = 47 ) = 38 ) = 35 ) = 33 ) add add , J add from from f て om from from f て om f rom function function function function function function function function ma1n maln malli malli execution completed, exit code is 3 program exited vith 3 (dbx) 行番号を指定する trace サプコマンドと同様に関数 ばより便利になるでしよう。 を調べることがよくあるので、この機能をうまく使え のデバッグでは、いくつかの関数の引数と戻り値の組 るときには、関数の戻り値が出力されています。通常 から呼ばれたかが出力されています。また関数から戻 関数に制御が移る時点で、その引数と、それがどこ trace in 関数名 と、 trace 関数名 名を指定するものにも、 132 バッグはおこなえます。 どで予定していないところで値か書き換えられてもデ 値が変わったときに出力されるので、ポインタの使用な の位置と値を出力します。この機能を用いると、変数の です。これは指定された変数の値が変化したときに、そ trace 変数 あります。それが、 さらに、 trace サプコマンドにはもう 1 つ別の形式が ように気をつけてください。 つの関数に限定するものです。この 2 つを間違えない これは、引数を付けない trace サプコマンドの効果を 1 式は、指定された関数のなかだけがトレースされます。 という 2 つの形式があります。 trace in 関数名の形 検査したい変数が、ある関数のなかで使われている とすると、変数をトレースする関数を指定することもで trace 変数名 in 関数 場合は、 UNIX MAGAZINE 1993.2 ・ ( セミコロン ) で区切って並べることもできます。 という 3 種類か指定できます。 dbx のサプコマンドを 条件式指定された条件が成立したときに実行 in 関数名指定された関数を呼び出したときに実行 at 行番号指定された行に到達したときに実行 という形式で指定しますが、条件には、 vhen 条件 { コマンドの並び ; } す。このサプコマンドは、 せん。こういう場合に whe Ⅱサプコマンドを利用しま に when サプコマンドを仕掛けたりすることはできま レークポイントやトレースを設定したり、はかの位置 変数の値を出力するだけでなく、その時点で新たにプ プコマンドを使っても実現できます。しかし、単純に たんに変数や式の値を表示したいだけなら、 trace サ 合などに有効です。 で、変数の値を表示してプログラムの実行を続けたい場 れるコマンドを指定します。ある位置に到達したところ 定するのではなく、指定された位置に到達すると実行さ ます。 when サプコマンドは、プレークポイントを設 の実行は一時中断され、 dbx のプロンプトが表示され いるときにプレークポイントに遭遇するとプログラム イントを設定するものでした。プログラムを実行して stop サプコマンドは、指定された位置にプレークポ 条件にもとづくコマンドの実行 だけ出力がおこなわれます。 を指定できます。この場合は、その条件が成立したとき if 条件 trace サプコマンドの 6 つの形式には、すべて後ろ 数の値か書き換えられたときに画面に出力されます。 きます。この場合は、その関数のなかで使われている変

4. UNIX MAGAZINE 1993年2月号

IJN Ⅸへの招待① 226 Transfer complete . 10Ca1 : 9302. TEX remote : 9302. tex 19550 bytes received in 0.26 seconds ( 73 Kbytes/s) ftp> # 記号は、ファイルの転送にともなって ( たとえば 1 , 024 バイトごとに 1 つ ) 表示されるので、どのくらいのデータ が転送されているかが分かります。 ティレクトリとファイル操作 ftp には、ファイルの操作をおこなうものとして次のよ うなサプコマンドが用意されています ( 括弧内がサプコマ ンド名です ) 。 ・リモートマシンのカレントディレクトリを調べる (pwd) ・リモートマシンのディレクトリ位置を変更する (cd) ・リモートマシンのディレクトリ位置を親ディレクトリ に変更する (cdup) ・ローカルマシンのディレクトリ位置を変更する (lcd) ・リモートマシンのディレクトリの内容を表示する ( dir 、 ls 、 mls) ・リモートマシンにディレクトリを作成する (mkdir) ・リモートマシンのファイルを削除する (delete 、 ftp> help Commands may be abbreviated. Commands are : mdelete) ゝ ・リモートマシンのディレクトリを削除する (rmdir) ・リモートマシンのファイル名を変更する (rename) リモートマシンのファイルやディレクトリを操作するサ プコマンドが中心になっています。よく使うのは、ディレ クトリを変更する cd や、ディレクトリの内容を表示する dir 、 ls といったサプコマンドでしよう。使い方は通常の UNIX の cd や ls コマンド、 MS-DOS の dir コマンドと よく似ていますが、必要に応してマニュアルを参照してく ださい。 そのほかのコマンド 以上、 ftp のサプコマンドをかいつまんで紹介しました。 このほかにもたくさんのサプコマンドが用意されています が、これまでに説明したコマンドを使えば、たいていの操 作はおこなえます。これ以上の解説はマニュアルを参照し てもらうことにして、最後に help と、、 ? コマンド名〃を 紹介しておきましよう。 ac C ount append C 11 be11 binary bye case cd cdup close ftp> ? mdelete delete debug dir disconnect f 0 て m get glob has h help lcd 1s macdef mdelete mdir mge t mkdir mls mode mput nmap ntrans open prompt pro XY sendport put pwd quit quote recv remotehelp rename reset rmdi てⅡ n ユ send status struct tenex trace type verbose delete multiple files mdelete ftp> help では、 ftp のサプコマンドー覧が表示されます。ま ? コマンド名 UNIX MAGAZINE 1993.2 では、コマンド名で指定したコマンドの簡単な説明カ俵示 されます。、、どんなコマンドだったかなあ ? 〃と迷ったとき に使うと便利です。 151

5. UNIX MAGAZINE 1993年2月号

UN Ⅸへの招待① なります。ー i と一 n については後述します。 ホスト名では、リモートコピーの対象となるホスト名を 指定します。ここでは、 ・ホスト名 ・ホスト名 . ドメイン名 ・インターネット・アドレス ()P アドレス ) wife-% ftp baby Connected t0 baby. 、ゝのいすれかが指定できます。この引数は省略可能です。省 略した場合は、 ftp のコマンドモード ( 後述 ) で、ファイルの コピーをおこなうホスト名を指定します。 ftp の起動 ftp コマンドを実行してみましよう。最初は、ファイルの コピーをおこなうホスト名を引数で指定します。 220 baby FTP server (NEWS—OS Re1ease 4. (R) ready. Name (baby : aya) : ayasan 331 Password required for ayasan . Password: XXXX XX 230 User ayasan logged in ・ Remote system type is UNIX. ftp> ます、 ftp から数行のメッセージカ俵示されますが、 で ftp はリモートマシン ( 例では baby ) との接続をおこな っています。接続が完了すると、 Name (baby : aya) : というプロンプトが表示されます。ここでユーザーは、リ モートマシン baby における自分のログイン名を入力し ます。 ftp は括弧内にローカルマシンのログイン名 aya を表 示しています。もし、リモートマシンのログイン名が同し ときはリターンキーを押すだけでかまいません。 次に、パスワード入力を促すメッセージ、 Password : が表示されますので、リモートホストヘログインするとき に使用するパスワードを入力します。なお、ここで入力さ れた文字は画面上に表示 ( 工コーバック ) されません。 ログイン名とパスワードの双方を正しく入力すると、 モートマシンへのログインが完了します。次に ftp は、 230 User ayasan logged in. Remote system type is UNIX. リ ftp> などのメッセージを表示します。 ftp> こで最後の、 は、 ftp からのプロンプト ( コマンド入力促進記号 ) です。ュ ーザーは、このプロンプトに対してさまざまな ftp のサプ コマンドを入力し、ファイルのコピー、ディレクトリやフ ァイルの操作などがおこなえます。なお、リモートマシン へのログインが完了した時点で、ユーサーはリモートマシ ンでのホームディレクトリに位置しています。これは、フ ァイルをコピーする際のファイル名の指定に大きく関係す るので、憶えておいてください。 ftp のサフコマンド それでは、 ftp のサプコマンドの使い方を 1 っすつみて いきましよう。 リモートマシンとの接続 前述したように、 ftp コマンドは引数なしでも起動でき 146 ます。 wife-% ftp ftp> ftp を引数なしで実行すると、上のようにすぐにプロン プト ftp 〉カ俵示されます。この状態からファイルのコピー をおこなう場合には、まず最初に ftp のサプコマンド UNIX MAGAZINE 1993.2

6. UNIX MAGAZINE 1993年2月号

DZ—X 流プログラミング 流れがたどれると説明しました。しかしこれらのサプコ マンドを使うには、 dbx のプロンプトに戻るたびにサプ コマンドをキー入力しなおさなければなりません。 dbx には、プログラムをトレースする専用のサプコマンドが 用意されています。これが trace サプコマンドです。 trace サプコマンドは引数を指定しないで使うと、各 行を画面に表示しながら実行します。これまで使ってい た伊題プログラムを使って、このサプコマンドの動作を 見てみましよう。 % cat a. c main ( argc , argv ) int char int int argc ; **argv, 1 ; first , 1ast ; atoi(* + + argv) ; first last = atoi (* + + argv) ; first ; i く 1ast ; i + + ) { for (i sum 十 = i ; printf ("%d\n" , sum) ; % dbx a. out Reading symbolic information . Read 44 symbols (dbx) trace ( 2 ) trace (dbx) run 1 3 Running : a. out 1 3 8 trace : 9 10 trace : 十十 ) 11 trace: 10 trace: 十十 ) 11 trace: 10 ここ数回、 BSD 系の UNIX に搭載されている dbx trace: 十十 ) というデバッガを用いて、プログラムをテンヾッグする方 13 trace: 35 法について紹介してきました。これまでの知識でも十分 14 } trace : テンヾッグ作業はできますが、便利に使えるサプコマンド program exited with 3 (dbx) はまだまだあります。なかでも、プログラムの実行をト こでは、出力が長くなるのでプログラムに渡す引 レースする機能や、ある条件が成立したときにコマンド 数を 1 と 3 にしました。上の例からも分かるように、 を実行する機能などは重宝します。今回は、これらの機 trace サプコマンドはかなりたくさんの出力をおこない 能についてお話しします。 ます。コンピュータがこんなにも多くの行を処理して いたのか、と感動してしまうくらいです。しかし人間 プログラムのトレース にとっては、必要なデータがどこにあるかをみつける のが大変で、かならすしも読みやすいとはいえないで 前回、 step やⅡ ext サプコマンドについてお話しし すね。 trace サプコマンドは、このようにすべての行を たときに、ステップ実行をおこなうとプログラム実行の 28 今泉貴史 first = atoi(* 十十 argv) ; last = atoi(* + + argv) ; for (i first ; i く 1ast ; for (i = first; i く 1ast ; for (i first ; i く 1ast; printf ( "%d\n" sum) ; 130 UNIX MAGAZINE 1993.2

7. UNIX MAGAZINE 1993年2月号

open を用いてリモートマシンと接続します。引数には ( ftp のコマンド行で指定するホスト名と同様に ) 、 Connected tO baby . ftp> open baby wife—% ftp ・ホスト名 LJN Ⅸへの招待① 、ゝ・ホスト名 . ドメイン名 ・インターネット・アドレス ()P アドレス ) のいすれかを指定します。 220 baby FTP server (NEWS-OS ReIease 4. (R) ready. Name (baby : aya) : ロ このあとの操作は、すでに説明したとおりです。ログイ ン名とパスワードを入力し、リモートマシンにログインし てください。 リモートマシンへのロクイン リモートマシンにログインするためのログイン名やパス / 、ゝワードの入力を誤ってしまうこともあります。このような 場合 ftp からは、次のように、、ログインが失敗した〃という メッセージが出力されます。 wife-% ftp baby Connected to baby 220 baby FTP server (NEWS-OS Re1ease 4. (R) ready. Name (baby : aya) : aua 530 User aua access denied . Login failed. Remote system type is UNIX. ftp> ログインには失敗したものの、リモートマシンとの接続 は完了した状態になっています。そこでユーサーは、 ftp の サプコマンド user を使い、再度ログイン手続きがおこな Connected tO baby. wife—% ftp baby ftp> 230 User aya logged in. Password: XX X XXX 331 Password required for aya. ftp> user aya えます。 ftp の終了 断たれ、 ftp カ鮗了します。 れらのサプコマンドを使うと、リモートマシンとの接続が するには、 ftp のサプコマンド quit や bye を使います。 とにして、 ftp の終了方法をさきに説明します。 ftp を終了 ファイルのコピー方法はもうすこしあとで説明するこ 220 baby FTP server (NEWS-OS Re1ease 4. (R) ready. Name (baby: aya) : aya 331 Password required f0 て aya ・ Password : 230 User aya logged in ・ Remote system type is UNIX. ftp> quit 221 Goodbye. wife—% リモートマシンとの接続を断っ ftp のサプコマンドのなかに、 close 、 disconnect があ ります。これらは、リモートマシンとの接続を断っときに UNIX MAGAZINE 1993.2 使います。これらを実行しても、 ftp そのものは終了しませ ん。したがって、このサプコマンドでリモートマシンとの 接続を切り、 (ftp を終了せすに ) 叩 en サプコマンドを使っ て別のリモートマシンと接続できます。 147

8. UNIX MAGAZINE 1993年2月号

UN Ⅸへの招待① ftp> close 221 Goodbye. ftp> open snoopy Connected tO snoopy. 220 snoopy FTP server (NEWS-OS ReIease 4. (R) ready. Name (snoopy : aya) : これらのサプコマンドを使えば、リモートマシンからロゝらローカルマシンへコピーするときは、 ーカルマシンへファイルをコピーし、それをさらに別のリ モートマシンにコピーするような作業のとき、 1 回の ftp セッションですべてを処理できます。 ファイルのコピー では、 ( メインテーマである ) ファイルのコピーをおこな う ftp のサプコマンドを紹介しましよう。これらのサプコ マンドは、リモートマシンからコピーするのか、リモート マシンへコピーするのかによって異なります。 ローカルマシンからリモートマシンへコピーする場合は、 put ローカルファイル [ リモートファイル ] mput ローカノレファイル というサプコマンドを使います。一方、リモートマシンか / wife—% ls local—aya wife—% ftp baby Connected tO baby . get リモートファイル [ ローカルファイル ] mget リモートファイル というサプコマンドを使います。 put と get では 1 つのフ ァイルを、 mput や mget では複数のファイルが一度にコ ピーできます。 前述したように、 ftp でログイン手続きカ鮗了すると、リ モートマシンのカレントディレクトリは ( そのマシンの ) ホームディレクトリとなっています。また、ローカルマシ ンのカレントディレクトリは、 ( もちろん ) ftp を起動した ときのディレクトリです。コピーするファイル、あるいは コピーの結果作成されるファイルの位置に注意してくだ それぞれのサプコマンドを使ってみましよう。 さい。 220 baby FTP server (NEWS—OS Re1ease 4. (R) ready. Name (baby : aya) : aya 331 Password required for aya. Password: XXX X X X 230 User aya logged in. Remote system type is UNIX. ftp> get . cshrc CSHRC. baby 200 PORT command successful . 150 Opening data connection fo て . cshrc (ascii mode) 226 Transfer complete . 10Ca1 : CSHRC. baby remote : . cshrc 1556 bytes received in 0.07 seconds ( 22 Kbytes/s) ftp> put local—aya remote—aya 200 PORT command successful . ( 1556 bytes) . 150 Opening data connection fO て remote—aya (ascii mode) . 226 Transfer complete. 10Ca1 : local—aya remote : remote—aya 9 bytes sent in 0.03 seconds ( 0.29 Kbytes/s) ftp> この例では、最初に get サプコマンドを使い、リモート マシン ( baby ) のホームディレクトリに存在する . cs c をローカルマシンのカレントディレクトリへ CSHRC. baby というファイル名でコピーしました。次に、 put サプ 148 コマンドを使い、ローカルマシンのカレントディレクトリ のファイル 10Cd1 ー aya をリモートマシンのホームディレ クトリへ remote - aya という名則でコピーしています。 put や get では、コピー先のファイル名を省略することも UNIX MAGAZINE 1993.2

9. UNIX MAGAZINE 1993年2月号

変数名や条件式を指定したときは、ある位置にきた ときにその条件を調べるのではなく、変数の値や条件 式の値が変わる可能性のある場所、つまりすべての場 所で値の検査をおこなわなければなりません。この場合 も、引数なしで trace サプコマンドを実行するのと同様 のことか起こります。つまり、いったんすべての行に内 部的なプレークポイントを設定して、変数の値や条件式 の値を検査したあとで、停止する牛ならは実行を中断 し、変数の値に変化がなかったり条件が成立しなければ 実行を再開します。 このように人知れす数多くのプレークポイントを設 定するサプコマンドは、プログラムの実行速度を低下 させる原因になるので十分注意してください。そのよ ・ when 式 ・ trace 変数名 trace ・ stop if 条件 ・ stop 変数名 うなものには、 ごまとしたコマンドを紹介するつもりでしたが、まだま サプコマンドなどについてお話ししました。今回はこま display サプコマンド、その指定を削除する undisplay 毎回指定しなくても自動的に式の値を表示してくれる を実行する whe Ⅱサプコマンド、 print サプコマンドで ンド、なんらかの条件か成立したときに一連のコマンド 今回は、実行の流れをトレースする trace サプコマ いてください。 ぶんデバッガに対する負荷も大きいことを覚悟してお の形式には注意が必要です。便利な機能ですが、その if 条件 などか挙げられます。このほかにも、 ているコマンドはないだろうな・・ したコマンドを紹介したいと思っています。 さて、次回こそは前回予告したとおり、 だ残っていたのでこれらの説明をしました。 もう忘れ こまごまと UNIX MAGAZINE 1993.2 ( いまいすみ・たかし東京工業大学 ) MEMORY 談 ADE ECIA 。 各種ワークステーション 拡張メモリ ( 国産製使用 ) 1 。低価 弊社だからこそできるスペシャル価格サーピス。 面倒な社内稟議や予算申請もクリア / 大学・官庁 夂は各種研究所でもすぐにお見積もりいたします 対応機種 . SPARC ( SUN & 互換機 / OEM 機ー東芝、富士通、他 ) NeXT SONY NEWS.. その他の機種、別途お見積もりいたします。 H P-Vectra DECNA Xstation SiIicon Graphics-Iris Epson Equity Ⅱ e I BM-PS2 series 0 0 Compaq-Systempro/Deskpro AT&T-6386Series AST Research- Premium& Bravo Zenith-Z-386Series/SupersPORT * Laser Printer Memory HP-LaserJet/IBM-4019/Apple Laser-Writer Ⅱ NTX-J Epson-EPL6000/Canon LBP 8 Ⅲ aser Beam Printer 2 。信実繝 おかげさまて、大学官庁はじめ各企業等、数多くのユーザー 様へ納めさせていただいております 又弊社のメモリは国産パソコンメーカーへの OEM 供給を・ しており、製品には絶対の自信があります。 ( 製品保証 : 1 年間 ) ご希望により出張取り付け作業をお請けいたします ( 但し 都内近効 ) 135 資料請求 N 。 . WE ◎販売代理店募集中 ( お気軽にこ連絡下さい。 ) ( 担当 : 高山 ) 〒 101 東京都千代田区神田須田町 1 ー 5 ー 14 ディアマントビル 6 階 X. 03-3258-3890 TEL. 03-3258-3891 東京サーキット株式会社 お問い合わせは

10. UNIX MAGAZINE 1993年2月号

IJN Ⅸへの招待① できます。その場合は、コピー元のファイル名と同し名前、、ピー先のファイル名を指定できません。このため、コピー でファイルが作成されます。 前述したとおり、 mput や mget は、複数のファイルをコ ピーするのに使われます。これらのサプコマンドでは、コ / mput aya? ftp> mput aya* ftp> mput ftp> mget また、 ftp> mput ftp> mget 先のファイルは、コピー元と同し名前で作成されます。 コピー元のファイル名は、 takashi takahiro takaaki takanohana aya ayaka ayatarou ayanosuke の文字の働きは、オプション一 g のところで説明したとおり などのように、それぞれ個別に指定してもかまいません。、、など、 * や ? などの文字を利用することもできますにれら t aka* です ) 。では、実行例を見てみましよう。 150 Opening data connection fo て ayaka (ascii mode) . 200 PORT command successful . ftp> mput ayatarou? y 226 Transfer complete . 150 Opening data co ect 土 0 Ⅱ for ayaka (ascii mode) . 200 PORT command successful . mput ayaka? y 226 Transfer complete. 150 Opening data connection fo て aya (ascii mode) . 200 PORT command successful . ftp> mput や mget を使うと ( 省田翻は ) 、コピーするファイ ルごとにそれをコピーするかどうかを確認するプロンプト が表示されます。ューサーは、これに対して y あるいは n と返答し、ファイルのコピーを指示します ( もちろん y は コピーする、 n はコピーしないという意味 ) 。 * などを使っ たとき、 y や n でファイルを選択できるのは便利です。 方、すべてのファイルをコピーしたいときは、いちいち y と答えるのは面倒なので、 mput や mget を使う前に、次の サプコマンドを実行しておきます。 ftp> prompt lnteractive mode off . ftp> mput f00 bar 200 PORT command successful . ftp> prompt lnteractive mode off . ロンプトの表示をやめて、複数のファイルを一度に転送す と、プロンプトを表示するように設定されます。では、プ になります。逆に、プロンプトを表示しない状態で使う サプコマンドを実行すると、プロンプトを表示しないよう ます。つまり、 y/n のプロンプトを表示する状態で prompt 設定するサプコマンドです。この設疋はトグルになってい prompt は、 mput や mget で y/n のプロンプト表示を る例を見てみましよう。 150 Opening data connection fO て f00 (ascii mode) . 226 Transfer complete. 200 PORT command successful . 150 Opening data connection for bar (ascii mode) . 226 Transfer complete. 200 PORT command successful . ftp> UNIX MAGAZINE 1993.2 149