open リモートホストに接続
close リモートホストへの接続を切断
user パスワードを間違った場合は、user コマンドで再度ログインし直すことができる。
ls ファイル・ディレクトリ一覧を表示
メタキャラクタを使って、
ftp> ls *.txt
などと、拡張子が txt のファイル一覧だけを表示することもできる。
cd リモートホストのカレントディレクトリを指定したディレクトリに変更。
引数なしで実行すると、(リモートの) ホームディレクトリに移動する
lcd ローカルホストのカレントディレクトリを指定したディレクトリに変更。
引数なしで実行すると、(ローカルの) ホームディレクトリに移動する
pwd リモートホストのカレントディレクトリを表示
bye ftpを終了
get ファイルをリモートホストからローカルホストに転送する
put ファイルをローカルホストからリモートホストに転送する
ftp> pwd (リモートのカレントディレクトリは /home/remote)
257 "/home/remote" is current directory.
ftp> !pwd (ローカルのカレントディレクトリは /home/local)
/home/local
ftp> get file1
⇒ /home/remote/file1 を /home/local/file1 に転送する。
ftp> get file1 new-file1
⇒ /home/remote/file1 を /home/local/new-file1 に転送する。
ftp> get dir/file1
⇒ /home/remote/dir/file1 を /home/local/dir/file1 に転送する。この際、ローカルにも /home/local/dir/ というディレクトリが存在しないとエラーになる。
ftp> get dir/file1 new-file1
⇒ /home/remote/dir/file1 を /home/local/new-file1 に転送する。
mget 複数ファイルをget (メタキャラクタ使用可)
mput 複数ファイルをput (メタキャラクタ使用可)
get/putコマンドは、一度に1つのファイルしか転送できないが、mget/mput を使うと、一度に複数のファイルを転送できる。デフォルトでは、ファイルを1つ転送する前に、ユーザに確認を求めてくる。
ftp> ls *.gz
-rw-r--r-- 1 user group 2151 Jun 28 00:20 file1.tar.gz
-rw-r--r-- 1 user group 1716 Jun 28 00:20 file2.tar.gz
-rw-r--r-- 1 user group 3828 Jun 22 23:19 file3.gz
ftp> mget *.gz
mget file1.tar.gz? (ここでyかEnterを押すと転送する)
mget file2.tar.gz? (ここでyかEnterを押すと転送する)
mget file3.gz? (ここでyかEnterを押すと転送する)
毎回の確認にいちいち答えるのが面倒な場合は、prompt コマンドを使えばよい。
ftp> ls *.gz
-rw-r--r-- 1 user group 2151 Jun 28 00:20 file1.tar.gz
-rw-r--r-- 1 user group 1716 Jun 28 00:20 file2.tar.gz
-rw-r--r-- 1 user group 3828 Jun 22 23:19 file3.gz
ftp> prompt
Interactive mode off.
⇒ ユーザに確認しないモードになった
ftp> mget *.gz
⇒ 確認なしで3つのファイルが転送される
prompt mget,mput 使用時に各ファイルを転送するかどうか、毎回ユーザの確認を求める/求めない (トグル)。
glob mget,mput使用時にメタキャラクタを展開する/展開しない (トグル)
hash ファイルの転送状況を表示/非表示 (トグル)。
大きなファイルを転送する際は、hashをONにして、どこまで転送が終ったかがわかるようにするとよい。
ascii テキストモードで転送。改行コードを適切に変更する。
binary バイナリモードで転送。扱うファイルがテキスト以外ならこれが必要
なお、ローカルもリモートも UNIX ならば、自動的に binary モードに設定されるので、ascii/binary を気にする必要はない。
status 現在の設定を表示 (prompt など)
passive パッシブモードに切り替え
-p オプションの項を参照。
!command ローカルホストでコマンドを実行
例えば !pwd とすることで、ローカルのカレントディレクトリを表示させることができる。