MAP15:FTPMAIL(FTPメール)                      パトリック・クリスペン                          藤原 祥三 訳  ”そもそも科学というものは、日常の思考を洗練したものに他ならない。”   −アルバート・アインシュタイン、「我が後半生より」 FTPmail の話を始める前に、お話したいことがいくつかあります。 昨日は、FTP を使ってテキストファイルを入手する方法をお教えしました。 けれども、IBM の上でかかれたテキストファイルは、マッキントッシュや UNIXワークステーション上では、どのようにして読めるのでしょうか?そ れは簡単なことなのです−ASCII というものがあるからです。 ASCII は American Standard Code for Information Interchange (米国規格情報交換用符号)で、テキストデータを伝送するための標準フォ ーマットです。*どの*コンピュータも、ASCII テキストファイルを読めま す。ASCII がどのように働くかについてはあまり深く立ち入らないで、次の ことだけ言っておきましょう。ASCII を使うことによって、ASCII テキスト ファイルのテキストは、コンピュータの商標名、オペレーティングシステム には関係なく、どのコンピュータの上でも、確実に同じ現われ方をするので す。 ASCII はテキストファイルを保存し、転送するのには都合がよいのですが、 テキストでないデータファイル−例えばコンピュータプログラムのような− では使えません。データファイルは ”バイナリ”(これは0と1とが集ま ったものです)で保存しなければなりません。 バイナリファイルは、一定のマシンあるいはプログラムの上でしか動かない ファイルです。バイナリファイルの好例としては、シェアウェアソフトウェ ア、Microsoft Wordファイル、Microsoft Powerpoint のプレゼンテーショ ンファイル 、衛星気象画像、音声ファイルなどがあります。 憶えておいていただきたいことは、ASCII ファイルはどのコンピュータの上 でも読める ’普通(plain)’ ファイルですが、バイナリファイルは一定 のコンピュータあるいはプログラムの上でしか動かないファイルなのです。 残念ながら、FTP クライアント(訳注1)用の汎用デフォルト転送モードは ありません。あるクライアントはデフォルトとしてASCII を使い、他のクラ イアントはバイナリを使います。このことは、あなたがあなたのFTP クライ アントに、他の転送モードに変更するように伝えないかぎり、あなたのファ イルは全てデフォルト転送モードで転送されることを意味します。 あなたのクライアントのデフォルト転送モードがASCII で、あなたが最初に 転送モードをリセットせずにバイナリファイルを入手しようとすると、その バイナリファイルはASCII で転送されてきて、あなたがそれを入手しても *動かない*のです。 幸いなことに、FTP では転送モードを容易に変更できます。FTP 転送モード をASCII からバイナリに変更するには、たいていの場合、そのファイルを入 手する直前に    binary と入力するだけで、ファイルはバイナリフォーマットであなたのところへ転 送されます。 ASCII 転送モードに戻すのには    ascii と入力すれば、FTP は転送モードをASCII にリセットします。 あなたが現在使用中の転送モードが何だったかを忘れたとしても−これは私 が*いつでも*やらかすことなのですが−ただ    status と入力するだけで、コンピュータは転送モードも含めて、やまほどの情報を 表示してくれます :) ところで、ファイルがASCII ファイルなのか、バイナリファイルなのか、ど のようにして見分けられるでしょうか? そうですね、拡張子を見てくださ い(憶えていますか、拡張子はファイル名の終わりにあるものです− CRISPEN.DOC の拡張子は .DOC ですし、 SQUIRREL.TXT の拡張子は、.TXT です)。そのファイルの拡張子が .doc または .txt であるか、あるいはそ のファイルに拡張子がなければ、そのファイルはASCII テキストファイルで あると考えてよいでしょう。ファイルが奇妙な拡張子−.gif とか .zipとか いった−を持っていれば、そのファイルはバイナリファイルだと考えてよい でしょう。もちろんこれには何時も例外があります。  ”アヒル理論(duck theory) ”は、あるファイルがASCII ファイルか、 バイナリファイルかを決める上でもかなり有効です。このアヒル理論によれ ば、それがアヒルのように見え、アヒルのようによたよた歩き、アヒルのよ うに泳ぎ、アヒルのようにガーガー鳴き、他のアヒル達と一緒にうろつきま わっていれば ... それは多分アヒルなのです。 あるファイルがASCII ファイルか、バイナリファイルかを決めるのにこのア ヒル理論を使うと、ASCII テキストファイルのように見えるファイルがあっ て、他のASCII テキストファイルと同じディレクトリの中にあるならば、あ なたが見ているファイルは、実際に「アヒル(すなわち、ASCII テキストフ ァイル)」と仮定して差し支えないのです :) (最初はリス.. 今度はアヒル.. このワークショップにはわくわくさせ られます。) 複数ファイルの転送: どうすれば複数のファイルを同時に転送できるでしょうか?いとも簡単です! ”mget”(multiple get)コマンドを使うのです! 特定のディレクトリの中にあるファイルで、その名前の中に語 ”duck "を 持ったものを全部ほしいとしましょう。次のように入力します    mget duck* *(別名 ”splat”)は ”ワイルドカード”で、クライアントに、語 "duck” で始まり、”duck”の後に追加の文字がある、すべてのファイルを 入手するように命じています。 ワイルドカードを説明する最もよい方法は、例を示すことでしょう。その中 に次のファイルが入っているディレクトリを私が持っているとしましょう:    duckreport.doc ducket.exe duck1.txt duck2.txt ducksoup duck.gif mgetコマンドのどこにワイルドカードを置くかによって、どのファイルを入 手するかが決まります:    mget コマンド:     それが入手するファイル:    mget duck* duckreport.doc;ducket.exe;duck1.txt; duck2.txt:ducksoup;duck.gif mget duck*.txt duck1.txt;duck2.txt mget duck.* duck.gif つぎに移る前に、ちょっと時間をとって、それぞれの mget コマンドが何故 違ったファイルを入手したかを理解するようにしてください。もし理解でき たら−みなさん、これはとても「やさしい」ことなのですよ−あなたは mgetコマンドの達人です :) FTPMAIL: あなたの所属するローカルのインターネットサービス提供者が、FTP クライ アントを持っていなくても、FTPmail というツールを使って、FTP ファイル を入手できます! FTPmail セッションの基本的手順はとてもやさしいのです: 1.あなたの近くのFTPmailサイトあてにEメールレターを書き、その「本   文」に必要な FTPmailコマンドをいれます。 2.そのFTPmail サイトは返事を返してきて、あなたのリクエストを受け取   ったことを知らせるとともに、あなたのリクエストの前に、リクエスト   の数を知らせてきます(知らせてくる数はランダムな大きい数に過ぎな   いと僕は今でも考えているのです(でも、多分僕が間違っているのでし   ょう))。 3.1日か2日たってから−そうです、僕は ”日”と言いました−FTPmail   システムは、リクエストしたファイルをあなたにEメールで送ってきま   す。また、FTPmail システムは、FTPmail と遠隔地のFTP サイトの間で   発生した”トランザクション”のコピーも送ってきます(このトランザ   クションは昨日のレッスンで示した例にとてもよく似ています)。 今日は、FTPmail を使って、ASCII テキストファイルをどのようにして入手 するかをお教えします。バイナリファイルについては、明日お話します。 先ず、あなたの近くのFTPmail サイトを見つけます。 FTPmail は Digital Western Research Laboratory で開発されたものです。そのFTPmail アド レス−ftpmail@decwrl.dec.com−は、世界中で最もよく知られた(そして広 く使われている)FTPmail アドレスです。残念なことに、このサイトに集中 する通信量のせいで、このdecwrlアドレスは、時によると、世界中で最も遅 いFTPmail サイトでもあります :(<--- しかめづらスマイリ− 世界にはこの他にもFTPmail サーバがあって、それらはあなたにより近いし、 実際に decwrl アドレスより速いかもしれません:    Australia ftpmail@cs.uow.edu.au France ftpmail@grsp.insa-lyon.fr Germany ftpmail@ftp.uni-stuttgart.de Great Britain ftpmail@doc.ic.ac.uk Ireland ftpmail@ieunet.ie Sweden ftpmail@lth.se USA ftpmail@sunsite.unc.edu USA ftpmail@ftp.uu.net USA ftpmail@decwrl.dec.com あなたに最も近いサイトが見つかったら、そのFTPmail アドレスにコマンド を送る準備が整いました! これらのコマンドは、このワークショップで以 前にあなたの頭に叩きこんだLISTSERV のコマンド全部によく似ていて、そ れらはあなたのEメールレターの「本文」中になければなりません。 FTPmail サイトへ送るレターの本文の中には、実際に、「いくつか」のコマ ンドを書きます。FTPmail の基本的コマンドは、その順番に従って、次のよ うになります:    reply < あなたのインターネットアドレス >      これはファイルをどこへ送るかを FTPmail に伝えます。    connect < ftp サイトのアドレス >      これはあなたが接続したいサイトをFTPmail に伝えます。    < 転送モード>      これはあなたがファイルをASCII にしたいか、バイナリにしたい      かをFTPmail に伝えます。    chdir < ディレクトリ >      これは希望するファイルがどのディレクトリの中にあるかを      FTPmail に伝えます。    get < ファイル名 >      これは特定のファイルを取ってくることを、FTPmail に伝えます。    quit      FTPmail セッションを終了します。 昨日は、ftp.sura.net に ftp して、/pub/articles ディレクトリにはい って、ファイル fall91.issue を取ってきました。 FTPmail を使ってこれと同じことをするためには、Eメールレターを ftpmail@sunsite.unc.edu (または他の任意のFTPmail サイト)に送ること が必要で、レターの本文は次のようになります:    reply pcrispe1@ua1vm.ua.edu connect ftp.sura.net ascii chdir /pub/articles quit ここで次のことに十分ご注意下さい:    もしあなたが、reply コマンドのアドレスを変えずに、これをFTPmail    サイトに送ると、FTPmail サイトはファイルを、あなたにではなく、    *私(訳注2)*に送ってきてしまいます。どうか、reply コマンド    のアドレスは変えておいてください:) このレターを上のFTPmail アドレスに送って1日か2日たったら、そのファ イルが自分のEメールボックスに届いているかどうか、調べる必要がありま す。私が ”必要がある”と言ったことに注意してください。いろいろな FTPmail サイトでの通信量はときおり信じ難いほどになって、しばしばリク エストが紛失することがあります。もしあなたのが紛失したとしても、リク エストを再送しさえすればよいのです :) ところで、”dir ”コマンドは、通常の FTP におけると同様に、FTPmailで もうまく働きます。”chdir ”コマンドの後に、コマンド”dir ”を付け加 えさえすればよいのです:    reply pcrispe1@ua1vm.ua.edu connect ftp.sura.net chdir /pub/articles dir quit 明日は:−FTP ファイルの compression/decompression(訳注3)     −FTPmail を介してのバイナリファイル     −FTPmail コマンドの追加(例えば chunksize ) 宿題: 1. あなたが、あなたの所属するローカルのインターネットサービス提供    者を通じてのFTP アクセスができない場合には、   a.上のリストから最も近いFTPmail サイトのアドレスを見つけなさい。   b.メールの本文にHELPと書いて、そのFTPmail サイトにレターを送り     なさい。   c.あなたの所属するローカルのインターネットサービス提供者に問い     合わせて、インターネットへの、また、からのメッセージの大きさ     に制限があるかをきいておきなさい。      2.あなたが、あなたの所属するローカルのインターネットサービス提供者   を通じてのFTP アクセスが*できる*場合には、次のことを確実にして   おいてください:     a.あなたのFTP クライアントにアクセスする方法の理解。     b.あなたのクライアントで使えるコマンドの調査。     c.MAP13と MAP14の復習。 −−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−− 訳注1.クライアントプログラムのこと。MAP13参照。 訳注2.ここの「私」は 「著者(クリスペン氏)」を指している。返信先     アドレスでいえば       pcrispe1@ua1vm.ua.net     である。 訳注3.compression はファイルを圧縮すること、decompression は圧縮し     たファイルを元に戻すこと。 Roadmap 原作著作権所有者   (c) 1994 Patrick Douglas Crispen                PCRISPE1@UA1VM.UA.EDU 翻訳者            藤原 祥三                fujiwara@anna.ics.teikyo-u.ac.jp Roadmap Lessons 日本語版著作権所有者     (c) 1995 Reiko Sekiguchi                sekiguch@ulis.ac.jp 本稿は、1995年3月19日、パトリック・クリスペン氏から関口が翻訳・ 配布の許可をいただいて、翻訳・配布しているものです。