第 10 章
10.2 ftp コマンド
自分が使っているコンピュータから他のコンピュータへファイルを転送する時に使うコマン ド で、\FileTransfer Protocol"の略です。10.1節(p.131)で紹介した\telnet"は離れた所にあ るコンピュータにアクセス(ログ イン)をして、そこで何か作業をする時に使いますが、ここ で説明する\ftp" は、単にファイルを転送するだけです。なお、\telnet"コマンド でファイル を転送することはできません。
ここでは自分が今アクセスしているコンピュータを\ローカルホスト"、これからアクセス しようとしている(遠方の)コンピュータを\リモートホスト"と呼ぶことにします。
コマンド 形式
sophia% ftp リモートホスト名 3201
\telnet"コマンド と同様に、「 リモートホスト名」の部分には「 IPアド レス」、「ホスト名+ ド メイン名」の指定もできます。ただし、\telnet"コマンド と同様、IPアド レス指定の際には
十分な注意が必要です(詳しくは10.1節(p.132)を参照してください)。
10.2.1
コマンド の起動
例として、『ローカルホスト名\dahlman" からリモートホスト名 \tazawa"にアクセスして ファイルを取ってくる場合』について説明します。
まずはアクセス方法についてです。
例1 リモートホスト名に「ホスト名」を指定した場合
sophia% ftp tazawa 3 0
2 1
Connected to tazawa.
220 tazawa FTP server (Digital UNIX Version 5.60) ready.
Name (tazawa:t-jouchi): ( ログ イン名を入力
331 Password required for t-jouchi.
Password: ( パスワード の入力
例2 リモートホスト名に「ホスト名+ド メイン名」を指定した場合
sophia% ftp tazawa.cc.sophia.ac.jp 3 0
2 1
Connected to tazawa.
220 tazawa FTP server (Digital UNIX Version 5.60) ready.
Name (tazawa:t-jouchi): ( ログ イン名を入力
331 Password required for t-jouchi.
Password: ( パスワード の入力
システムへのアクセスが完了するとプロンプトが次のようになります。
230 User t-jouchi logged in.
Remote system type is UNIX.
Using binary mode to transfer files.
ftp>
ここで、\230"という数字ではじまっている行がありますが、これは\ftp"から利用者への
メッセージです。注意深く読んでください。
アクセスに失敗した場合は、次のようなメッセージが表示されます。
失敗例1 パスワード 入力を間違えた場合
530 Login incorrect.
Login failed.
ftp>
この状態で、\user"コマンド を使って再度ログインを試みます。
ftp> user t-jouchi 3 0
2 1
331 Password required for t-jouchi.
Password: ( パスワード を入力。
失敗例2 アクセスするホスト名を間違えた(\sophia"を\sopiha"と入力してしまった)場合
sophia% ftp tazawa.cc.sopiha.ac.jp 3 0
2 1
tazawa.cc.sopiha.ac.jp: unknown host
ftp>
この状態で、\open"コマンド を使って再度ホストとの接続を試みます。
ftp> open tazawa.cc.sophia.ac.jp 3 0
2 1
Connected to tazawa.cc.sophia.ac.jp.
220 tazawa FTP server (Digital UNIX Version 5.60) ready.
Name (tazawa:t-jouchi): (ログイン名を入力。
331 Password required for t-jouchi.
Password: ( パスワード を入力。
それでは実際にファイル転送してみましょう。転送するファイルは、リモートホスト\tazawa"
にある\/usr/local/mule/etc/README"ファイルです。
1. カレントデ ィレクトリを変更します。コマンド は\cd"です。
ftp> cd /usr/lo cal/mule/etc 3 0
2 1
250 CWD command successful.
ftp>
2. ファイルの存在を確認します。コマンド は\dir"です。
ftp> dir 3 0
2 1
200 PORT command successful.
150 Opening ASCII mode data connection for /bin/ls.
.
.
.
.
.
.
-rw-r--r-- 1 root arbeit 272 Apr 15 README
drwxr-x--- 4 root arbeit 30516 May 25 SERVICES
.
.
.
.
.
.
226 Transfer complete.
ftp>
3. 転送するファイルがASCII形式かバイナリ形式かわからない場合は、次のようにファイ ル転送モード を\バイナリモード"に変更しておく必要があります5。
ftp> binary 3 0
2 1
200 Type set to I.
ftp>
4. ファイルを取ってきます。コマンド は\get"です。
ftp> get README 3 0
2 1
200 PORT command successful.
150 Opening BINARY mode data connection for README (272 bytes).
226 Transfer complete.
272 bytes received in 0.0088 seconds (30 Kbytes/s)
ftp>
5. \ftp"コマンド を終了します。コマンド は\quit" あるいは\bye""です。
ftp> quit 3 0
2 1
221 Goodbye.
sophia%
あるいは
ftp> bye 3 0
2 1
221 Goodbye.
sophia%
6. UNIXの\ls"コマンド でファイルが転送されたかどうかを確認します。
sophia% ls 3 0
2 1
README
sophia%
以上でファイル転送は終了です。
10.2.2 ftp
のサブコマンド
\ftp"で使われる代表的なサブコマンド を紹介します。
コマンド 名 説 明
cd rdirectory リモート・マシンのカレントデ ィレクト リをrdirectory
に変更します。
ls リモート・マシンのカレントディレクトリの内容を短縮 形で表示します。
lcd ldirectory ローカル・マシンのカレントデ ィレクト リをldirectory
に変更します。
dir リモート・マシンのデ ィレクトリの内容を表示します。
lsより詳しい情報が得られます。
get remote-le remote-leをローカル・マシンに同じファイル名で転送
します。
get remote-le local-le remote-leをローカル・マシン上にlocal-le名として転 送します。
mget remote-les ローカル・マシン上に複数のremote-lesを転送します。
remote-lesにはワイルド カード (*, ?) が使えます。
(*注)
put local-le local-leをリモート・マシンに転送します。
put local-le remote-le local-leをリモート・マシンにremote-le名として転送 します。
mput local-les リモート・マシン上に複数の local-les を転送します。
local-lesには ワイルド カード (*, ?)が使えます。
(*注)
pwd リモート・マシン上の現在のカレントディレクトリ名を 表示します。
prompt mget, mput で複数のファイルを転送する場合、個々の
ファイルの転送の確認を抑制します。
binary 転送モード をASCIIからバイナリに変更します。
ascii 転送モード をバイナリからASCI Iに変更します。通常
はこのモード です。
quitまたはbye ftpを終了する。
? ftpで使用できるコマンド 一覧を表示します。
! !command で ローカル・マシン上のcommand が使え
ます。
(*注) ファイル1つ1つについて転送するかどうかの確認が行なわれます。`y'と答えると
10.2.3
転送モード
ファイルの形式には大きく分けて次の2種類あります。
1. ASCII形式(アスキー形式)
2. BINARY形式(バイナリ形式)
ASCI I形式ファイルとは、英字、数字、特殊文字など、人が目で見て理解できる文字列か
らなっているファイルで、エディタ等を使って書かれたものがほとんどです。この形式のファ イルは\cat", \more"等のコマンド を使ってファイルの中身を普通に表示することができます。
バイナリ形式ファイルとは、画像(写真や絵画)を取り扱ったもの、\tar"コマンド で複数の ファイルを一つにまとめたもの、\gzip"コマンド 等を使って圧縮したもの、プログラムをコンパ イルして作成した実行形式のプログラムファイルなどです。この形式のファイルは\cat",\more"
コマンド で内容を表示しようとしても、正常に表示できないか、表示されたものを人が見ても 内容を理解できる文字列にはなっていません。
\ftp"でファイルを転送する際には、転送するファイルがどちらの形式に属するかによって転
送するモード が異なります。\ftp"には「ASCIIモード 」と「バイナリモード 」の二つのモー ド があります。\ftp を起動した時の転送モード は通常「ASCIIモード 」ですが、機種によっ てはバイナリモード が標準となっています。したがって、転送したいファイルがバイナリ形式
なのか ASCII形式なのかをまず確認してから、モード を設定しなければなりません。もしバ
イナリファイルをASCIIモード で転送すると、ファイルを転送してきても役に立ちません。逆
にASCII 形式のファイルをバイナリーモード で転送すると、基本的には問題はありませんが、
場合によっては変な文字が入ったりすることがあります。どちらのモード にして良いか自信が ないような場合は、バイナリモード にしておけばとりあえずは安心です。
10.2.4
コマンド の終了
\ftp"を終了するには\ftp>"という状態から\quit" あるいは \bye" と入力します。
ftp> quit 3 0
2 1
221 Goodbye.
sophia%
ftp> bye 3 0
2 1
221 Goodbye.
sophia%
10.3 anonymous FTP
サービス
今までネットワークニュース等で配布されたツール、ド キュメント、ソフト等を集めている 組織があります。その組織は一般の人がそれらのファイルを\ftp"で入手できるように公開し ています。\ftp"はファイルのあるコンピュータにアクセス権がないとファイルを転送できませ ん。そこで、それらの組織ではアクセス権がなくてもファイル転送ができるanonymous FTP という方法を用いています。このサービスは国内外数多くの組織が行なっていますが、国内で は主に次のような組織が行なっています6。
大学 研究所 企業など
ftp.riken.go.jp ftp.iij.ad.jp
ftp.hiroshima-u.ac.jp ftp.sra.co.jp
ftp.u-aizu.ac.jp ftp.lab.kdd.co.jp
ftp.jaist.ac.jp
ftp.nuie.nagoya-u.ac.jp
ftp.dna.affrc.go.jp
ftp.iamas.ac.jp
ftp.st.ryukoku.ac.jp
ftp.eos.hokudai.ac.jp
ftp.media.kyoto-u.ac.jp
anonymous FTPでもログ イン名とパスワード が必要になります。ただし、この場合のログ
イン名とパスワード は、通常の場合と異なり、ログイン名には\anonymous " あるいは\ftp" と 入力し、パスワード には自分の電子メールアド レスを入力します。
パスワード について
anonymous FTP