ftp

ftpとは、ネットワークで接続された他のコンピュータとの間でファイルを転送するFTPクライアントである。

構文

ftp [options] host
host

FTPサーバ(リモートホスト)のホスト名又はIPアドレスを指定する。

optionsには、次のオプションを指定できる。

-i

複数ファイルの転送中に、対話形式のプロンプトを出力しない。

-n

ログインを行わない。

-v

FTPサーバ(リモートホスト)からのすべての応答を出力する。

指定したリモートホスト(相手のコンピュータ)に接続し、ファイルを転送します。リモートホストには、ftpd(サーバ)が設定されていることと、ユーザ名が登録されていなければなりません。ftpでログインが完了すると、ftp> というプロンプトが現れますので、そこからftpのコマンドを実行することで、ファイルの転送が行えます。

ftp のコマンドを次に示します。

open host [port]

hostで指定したFTPサーバ(リモートホスト)と接続する。

pwd
リモートホスト上の作業ディレクトリを表示します。
ls
ディレクトリ内のファイルの情報を表示します。
cd ディレクトリ名
リモートホスト上の作業ディレクトリを変更します。
lcd ディレクトリ名
ローカルマシン上の作業ディレクトリを変更します。
ascii
転送モードを「ASCII転送モード」に変更します。
binary
転送モードを「バイナリ転送モード」に変更します。
get ファイル名
ファイルをローカルマシンに転送します。
mget ファイル名
ファイルをローカルマシンに転送します。ワイルドカードが使えます。
put ファイル名
ファイルをリモートホストに転送します。
mput ファイル名
ファイルをリモートホストに転送します。ワイルドカードが使えます。
prompt
mput, mget で複数のファイルを転送するとき、個別に確認するかしないかを設定します。
quit
接続を終了します。
bye
接続を終了します。
user user [passwd]

FTPサーバ(リモートホスト)に対してユーザ名を通知する。

リモートホストへの接続

リモートホストに接続するには、2通りの方法がある。

ftpを実行すると、ftp> というプロンプトが現れる。リモートホストへ接続するには、openコマンドを使用する。openコマンドの引数には、接続するリモートホストのホスト名かIPアドレスを指定する。

C:\>ftp
ftp> open ultra28
Connected to ultra28.
220 ultra28 FTP server (SunOS 5.8) ready.
User (ultra28:(none)): umeda
331 Password required for umeda.
Password:
230 User umeda logged in.
ftp>

ftpの実行と同時にリモートホストへ接続するには、接続するリモートホストのホスト名かIPアドレスをftpコマンドの引数に指定する。

C:\>ftp 202.217.161.204
Connected to 202.217.161.204.
220 ultra28 FTP server (SunOS 5.8) ready.
User (202.217.161.204:(none)): umeda
331 Password required for umeda.
Password:
230 User umeda logged in.
ftp>

転送モードの切り替え

ファイルの転送には「ASCII転送モード」と「バイナリ転送モード」の2種類の転送モードがあります。「ASCII転送モード」はテキストファイルを転送するためのモードであり、「バイナリ転送モード」はテキストファイル以外を転送するための転送モードです。通常、ftp は「ASCII転送モード」になっています。

転送モードを「バイナリ転送モード」に変更するには、binaryコマンドを使用する。

ftp> binary
200 Type set to I.

転送モードを「ASCII転送モード」に変更するには、asciiコマンドを使用する。

ftp> ascii
200 Type set to A.

ファイルの転送

リモートホストからローカルホストへファイルを転送するには、getコマンドを使用する。

ftp> get ar505jpn.exe
200 PORT command successful.
150 Binary data connection for ar505jpn.exe (202.217.161.212,5003) (10361792 bytes).
226 Binary Transfer complete.
ftp: 10361792 bytes received in 10.56Seconds 980.95Kbytes/sec.
ftp>

ローカルホストからリモートホストへファイルを転送するには、putコマンドを使用する。

ftp> put SourceExit.java
200 PORT command successful.
150 ASCII data connection for SourceExit.java (202.217.161.212,5001).
226 Transfer complete.
ftp: 1944 bytes sent in 0.03Seconds 60.75Kbytes/sec.
ftp>

リモートホストとの接続の終了

リモートホストとの接続を終了するには、closeコマンドを使用する。

ftp> close
221 Goodbye.
ftp>

ftpの終了

ftpを終了するには、quitコマンドまたはbyeコマンドを使用する。

ftp> bye

C:\>

リモートホストと接続中にquitコマンドまたはbyeコマンドを実行すると、リモートホストと切断してからftpを終了する。

ftp> quit
221 Goodbye.

C:\>

使用例

C:\>ftp 202.217.161.204
Connected to 202.217.161.204.
220 ultra28 FTP server (SunOS 5.8) ready.
User (202.217.161.204:(none)): scott
331 Password required for scott.
Password:
230 User scott logged in.
ftp> binary
200 Type set to I.
ftp> get ar505jpn.exe
200 PORT command successful.
150 ASCII data connection for ar505jpn.exe
(202.217.161.212,1041) (10361792 bytes).
226 ASCII Transfer complete.
ftp: 10399500 bytes received in 10.70Seconds 972.28Kbytes/sec.
ftp> quit
221 Goodbye.

C:\>

関連記事