14.3.3 ftpにおけるコマンド

前項(ftpでのリモートコンピュータへの接続)のようにして, リモートコンピュータに接続したところまでいったとしましょう.

ftp>

というプロンプトが表示されていることでしょう. ここから打ち込めるコマンドについて解説します.

ftpは二つのコンピュータ(ローカルコンピュータとリモートコンピュータ)間のファイルのやりとりをするものなので, ディレクトリの移動も, ローカルコンピュータのディレクトリの移動とリモートコンピュータのディレクトリの移動と二つのコマンドがあります. それぞれ, lcd (local cd) と cd です. UNIXコマンドの cd とほぼ同じように使うことができます (review_s13.4.3 カレントディレクトリの変更). たとえば, リモートコンピュータの .public_html というディレクトリに移動したいとすると, 次のように打ちます.

ftp> cd .public_html return2 250 CWD command successful.

lspwd などのいくつかのUNIXコマンドと同名のものも使うことができます. そのまま実行するとリモートコンピュータにおいて実行されます. 「!」を頭につけて,「!pwd」のように使うとローカルコンピュータにおいて実行されます.

ファイルをリモートコンピュータからローカルコンピュータへファイルを転送するときは get というコマンドを用います. getのあとに転送したいファイル名を書きます. 逆にローカルコンピュータからリモートコンピュータへファイルを転送するには, put というコマンドを用います. しかし, get や put というコマンドは一つのファイルずつしか転送できません.

一度にたくさんのファイルを転送したい場合には, mget (multiple get) や mput というコマンドを用います. たとえば,

ftp> mput *.html return2

というコマンドを入力することにより, htmlという拡張子がついたファイルをすべて送ることができます. その際にいちいち転送してよいか聞かれるのが面倒な人は, 事前に

ftp> prompt off return2

と打っておくとよいでしょう.

advanced

ftp には ASCII とバイナリの二つの転送モードがあります. バイナリモードはファイルをそのまま転送し, ASCII モードはテキストの改行コードを転送元システムのものから転送先システムのものに変換します. ASCII モードは, Mac OS X と Windows など, 転送元と転送先で改行コードが異なる場合に使用します. 改行コードが同じ場合および気にしない場合は, テキストファイルでもバイナリモードで転送して構いません. 逆にバイナリファイルを ASCII モードで転送すると,ファイルが壊れることがあります. バイナリファイルとテキストファイルの違いについては, review_s13.5.1 バイナリファイルの項目を参照してください.

Mac OS X の ftp では,初期状態ではバイナリモードになっています. ASCII モードに切り換えるには, ascii というコマンドを入力します. 逆にバイナリモードに切り換えるには, binary というコマンドを入力します.

ftpプロンプトから打ち込めるコマンドをまとめると以下のようになります.

lsリモートコンピュータのカレントディレクトリにあるファイル名を表示する.
!lsローカルコンピュータのカレントディレクトリにあるファイル名を表示する.
pwdリモートコンピュータのカレントディレクトリ名を表示する.
!pwdローカルコンピュータのカレントディレクトリ名を表示する.
cd ディレクトリ名リモートコンピュータのカレントディレクトリを変更する.
lcd ディレクトリ名ローカルコンピュータのカレントディレクトリを変更する.
get ファイル名ファイルをリモートコンピュータから受け取る.
put ファイル名ファイルをリモートコンピュータへ転送する.
delete ファイル名ファイルをリモートコンピュータから削除する.
mget ファイル名複数のファイルをリモートコンピュータから受け取る.
mput ファイル名複数のファイルをリモートコンピュータへ転送する.
quitftpを終了する.
asciiASCII 転送モードにする.
binaryバイナリ転送モードにする.