www ブラウザを用いてネット上の「いろいろなもの」(以下ひっくるめてファ イルと呼ぶ)をダウンロード(転送)する場合はとても簡単です. 皆さん良くご 存知のように, クリック一発です.
このようにファイルの転送が行われていると, ブラウザさんが何もかもやって くれていると思いがちですが, 実際はちょっと違います. 実はブラウザさんは ftp と呼ばれるプロトコルでもってファイルを公開しているサーバーと会話し ています. つまり, www ブラウザの下請けとして ftp さんが働いているわけ です. 今回はこの ftp についてちょっと勉強します.
% ftp (リモートホスト名)実際にこれを実行するとリモートホストのアカウント, パスワードを要求され ます.
% ftp (リモートホスト名) Name (リモートホスト名:アカウント名): hogehoge(アカウント名を入力) 331 Password required for hogehoge. Password:********(パスワードを入力) 230 User hogehoge logged in. Remote system type is UNIX. Using binary mode to transfer files. ftp>最後の ftp> というプロンプトが返って来ると接続成功です.
基本的なコマンドは以下の通り.
ls : ファイルのリスト pwd: リモート上の現在のディレクトリ cd : リモート上のディレクトリ変更 get: リモートにファイルを取って来る put: ローカルにファイルを置く mget: 複数のファイルを取って来る mput: 複数のファイルを置く prompt: on/off でインタラクティブモードの切替え binary: ファイルをバイナリモードで転送 ascii: ファイルを ascii モード転送 exit: 終了 quit: exit に同じとりあえず使う場合は以上のコマンドで十分です. 詳細は % man ftp として 調べて下さい.
そこで登場するのが「anonymous ftp」です. これはファイルを公開している システム上に「anonymous(だれでもない)」なユーザをファイル転送用に用意 します. ネットワーク上からの不特定多数のアクセスは anonymous な人とし て扱います. このときパスワードは必要ありません.
このようなシステム(anonymous ftp サーバー)から ftp を用いてファイル転 送を行う場合は以下のようにします.
% ftp (anonymous ftp サーバー名) Name (anonymous ftp サーバー名:アカウント名): anonymous 331 Guest login ok, send your complete e-mail address as password. Password:********(hogehoge@ローカルホスト名を入力) 230 Guest login ok, access restrictions apply. Remote system type is UNIX. Using binary mode to transfer files. ftp>これで接続成功です. あとの使い方はほとんど同じです. 注意しなければなら ないのは Password と聞かれる所でローカルシステム上の「アカウント名@ロー カルホスト名」を入力することです. 例えば www-ep.sci.hokudai.ac.jp 上の hogehoge さんがアクセスする場合には hogehoge@www-ep.sci.hokudai.ac.jp と入力します.
まとめますと,「クリック一発の裏側は anonymous ftp」ということです.
そんなときに役に立つのが archie コマンドです. これはあちこちにある(と いってもそんなにありませんが) anonymous ftp サーバーとそのサーバーに置 いてあるファイル名のデータを持つシステム(archie サーバー)と通信し, 必 要なファイルがどの ftp サーバーに置いてあるかを調べるコマンドです.
使い方は
% archi -h (archie サーバー名) (ファイル名)です. 例えば g77 (GNU の Fortran コンパイラ)の置いてあるサーバーが知り たいときには
% archi -h archie.iij.ad.jp g77 Host ftp.media.kyoto-u.ac.jpという結果を得ることができます.Location: /pub/FreeBSD/FreeBSD-CVS/ports/lang DIRECTORY drwxr-xr-x 512 Sep 9 14:48 g77 Location: /pub/FreeBSD/FreeBSD-current/ports/lang DIRECTORY drwxr-xr-x 512 Sep 9 14:33 g77 Location: /pub/Linux/Slackware-3.5/source/contrib FILE -rwxrwxrwx 9 Jun 10 06:53 g77 Location: /pub/NetBSD/NetBSD-current/src/gnu/usr.bin/egcs DIRECTORY drwxr-xr-x 512 Sep 9 19:28 g77Host ftp.tut.ac.jpLocation: /NetBSD/NetBSD-current/src/gnu/usr.bin/egcs DIRECTORY drwxrwxr-x 1024 Aug 18 11:07 g77Host ftp.fujixerox.co.jpLocation: /mirror/.1/ftp.netbsd.org/NetBSD/NetBSD-current/src/gnu/usr.bin/egcs DIRECTORY drwxrwxr-x 512 Apr 3 12:11 g77