ftp

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

構文

ftp [option]... [host]
tnftp [option]...  [host]

ftp と tnftp という2つのコマンドがあるが、どちらも機能は同じである。

引数

次の引数を ftp および tnftp コマンドに指定できる。

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

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

オプション

以下に示すオプションを ftp および tnftp コマンドに指定できる。

-i
複数ファイルの転送中に、対話形式のプロンプトを出力しない。
-n
ログインを行わない。
-v
FTPサーバ(リモートホスト)からのすべての応答を出力する。

コマンド

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

ascii
ファイルの転送には「ASCII転送モード」と「バイナリ転送モード」の2種類の転送モードがある。「ASCII転送モード」はテキストファイルを転送するためのモードであり、「バイナリ転送モード」はテキストファイル以外を転送するための転送モードである。通常、ftp は「ASCII転送モード」になっている。転送モードを「ASCII転送モード」に変更するには、asciiコマンドを使用する。
ftp> ascii
200 Type set to A.
binary
ファイルの転送には「ASCII転送モード」と「バイナリ転送モード」の2種類の転送モードがある。「ASCII転送モード」はテキストファイルを転送するためのモードであり、「バイナリ転送モード」はテキストファイル以外を転送するための転送モードである。通常、ftp は「ASCII転送モード」になっています。転送モードを「バイナリ転送モード」に変更するには、binaryコマンドを使用する。
ftp> binary
200 Type set to I.
bye
ftp コマンドを終了する。
ftp> bye

$

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

ftp> bye
221 Goodbye.
$
close
リモートホストとの接続を終了する。
ftp> close
221 Goodbye.
ftp>
delete filename
リモートホスト上のファイルを削除する。ファイル名にワイルドカードは使えない。ファイル名を複数指定することはできない。
ftp> delete example.html
mdelete filename...
リモートホスト上のファイルを削除する。ファイル名にワイルドカードを使うことができる。空白で区切って、ファイル名を複数指定することができる。
ftp> mdelete example.*
get filename
リモートホストからローカルホストへファイルを転送する。ファイル名にワイルドカードは使えない。
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>
mget ファイル名
ファイルをローカルマシンに転送します。ワイルドカードが使えます。
open host [port]
hostで指定したFTPサーバ(リモートホスト)と接続する。
$ ftp
ftp> open ftp.example.com
Connected to ftp.example.com
220 FTP OK
Name (ftp.example.com): tsuka
331 Password required for tsuka.
Password: 
230 User ftp.example.com logged in.
ftp>
pwd
リモートホスト上の作業ディレクトリを表示します。
ls
ディレクトリ内のファイルの情報を表示します。
cd ディレクトリ名
リモートホスト上の作業ディレクトリを変更します。
lcd ディレクトリ名
ローカルマシン上の作業ディレクトリを変更します。
put filename
ローカルホストからリモートホストへファイルを転送する。ファイル名にワイルドカードは使えない。
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>
mput ファイル名
ファイルをリモートホストに転送します。ワイルドカードが使えます。
prompt
mput, mget で複数のファイルを転送するとき、個別に確認するかしないかを設定します。
quit
ftp コマンドを終了する。
ftp> quit
$

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

ftp> quit
221 Goodbye.
$
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>

使用例

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:\>

関連記事