WEB管理やレンタルサーバー運用に欠かせないFTPに関して解説します。

更新: 06/07/21 | FTP | FTP

FTP

FTPはインターネットのプロトコルでも代表的なものなので、既にご存じの方も多いと思いますが、File Transfer Protocolの略からも分かるとおりファイル転送を目的としたプロトコルです。
そのため、FTPが解釈するコマンドには通常Windows上で処理をするときに行っている複製、削除、移動など様々なものが存在しファイル操作を簡単に行えるように作られています。

元々、ローカルPCとリモートPC間でネットワークを介してファイル転送するために用意されたプロトコルであるため、例えばWEBサーバーへHTMLファイルをアップロードしたり、Vector等のサイトからフリーソフトをダウンロードしたりするときに使われます。

最近ではレンタルサーバーも手頃な価格帯で利用できるようになり、そのメンテナンスを行う場合にFTPが活躍することも少なくありません。

GUIによるFTP

Windows上で単純にファイルを必要に応じて扱う場合にはGUIを用いて行う方が簡単です。
エクスプローラーの様なユーザーインターフェイスでローカルPCとリモートPC間のファイル転送を簡単に行えるフリーソフトウェアが幾つか存在していますが、中でも有名なソフトウェアと言えばFFFTPです。
有名メーカーや官公庁系の商用サイトなどでも利用されていたりと、フリーソフトウェアながらも長年の実績が買われて商用ベースの環境でも活用されているようです。

コマンドラインによるFTP

本当に便利で柔軟性があるのが、このコマンドラインからの利用です。
どんな風に柔軟性があるのでしょうか?
例えば私の場合、レンタルサーバーを利用しているため毎日数MB〜数十MBのログがリモートのサーバー上に生成されます。これを放置しておくと折角有料で借りているサーバーの限られたディスク容量がログ情報だけで埋め尽くされてしまいかねません。
そのため、定期的に(毎日)しかも繁忙時を外して(深夜)ログをFTPでローカルサーバーに移動する作業が必要になります。
こんな時に、バッチファイル(〜.BAT)で簡単にFTPの処理を記述してあげるだけで、タスク機能と組み合わせて定期的に特定の種類のファイルだけを移動させることを実現できるわけです。
こうした、バッチ処理やワイルドカードを使った移動などはGUIツールを使うよりも標準のFTPコマンドを使った方が簡単で便利というわけです。

実はFTPコマンドについてはWindowsXPなどのローカルヘルプファイルに細かく記載されています。取り敢えずは一通りのコマンドを以下に掲載したいと思います。

コマンド 書式 備考・詳細
!   FTP を終了せずにコマンドを実行できます。
一時的にコマンド プロンプトに戻ります。FTP サブシステムに戻るには、コマンド プロンプトで「exit」と入力します。
?(help) ? [Command] ftp サブコマンドの説明を表示します。説明を表示するコマンドの名前を指定します。
append append LocalFile [RemoteFile] 現在のファイルの種類の設定を使って、ローカル ファイルLocalFile をリモート コンピュータのファイルRemoteFile にアペンドします。
ascii   ファイル転送の種類を ASCII に設定します。ファイル転送の既定の種類は ASCII です。
binary   ファイル転送の種類をバイナリに設定します。
bell   ファイル転送コマンドが完了するたびに音を鳴らすかどうかを切り替えます。
Bye   リモート コンピュータとの FTP セッションを終了して、ftp を終了します。
cd cd RemoteDirectory リモート コンピュータの作業ディレクトリをRemoteDirectoryに変更します。
ChangeDirectoryの頭文字でcd。
close   リモート サーバーとの FTP セッションを終了し、そのまま ftp> プロンプトにとどまります。
Byeと違ってプロンプトから再度接続作業を開始できます。
debug   デバッグ モードを切り替えます。既定では、デバッグ機能は無効になっています。
デバッグ機能が有効のときは、不等号 (>) に続いて、リモート コンピュータに送信される各コマンドが表示されます。
delete delete RemoteFile リモート コンピュータにあるファイルRemoteFileを削除します。
dir
mdir
ls
mls
dir [RemoteDirectory] [LocalFile] リモート コンピュータのディレクトリRemoteDirectory 内のファイルとサブディレクトリの一覧を表示します。一覧を格納するローカル ファイルを指定できます。ローカル ファイルLocalFileを指定しない場合は、結果は画面に表示されます。
lsの場合、省略形式の一覧を表示します。
mdir、mlsの場合、複数のRemoteDirectoryを指定できます。
disconnect   リモート コンピュータから切断し、ftp> プロンプトにとどまります。
get(recv)
mget
get RemoteFile [LocalFile] 現在のファイル転送の種類で、リモート ファイルRemoteFileをローカル コンピュータLocalFileにコピーします。get コマンドは recv コマンドと同じです。
mgetの場合、複数のRemoteFileを指定できます。(promptも参照のこと)
put(send)
mput
put LocalFile [RemoteFile] 現在のファイル転送の種類で、ローカル ファイルLocalFile をリモート コンピュータにコピーします。RemoteFile を指定しない場合は、LocalFile の名前が使用されます。
mputの場合、複数のファイルを指定できます。(promptも参照のこと)
glob   ローカル ファイル名のワイルドカード拡張を切り替えます。既定では、glob は有効になっています。
glob は、ローカル ファイル名およびパス名で、アスタリスク (*) と疑問符 (?) をワイルドカード文字として使えるようにします。
hash   転送されるデータ ブロックごとにハッシュ記号 (#) の出力機能を切り替えます。
既定では、hash は無効になっています。
lcd lcd [Directory] ローカル コンピュータの作業ディレクトリをDirectoryに変更します。既定では、ftp を開始したディレクトリが作業ディレクトリになります。
literal
quote
  引数を文字どおりにそのままリモート FTP サーバーに送信します。単一の FTP 応答コードが返されます。
mdelete mdelete RemoteFiles [...] リモート コンピュータにある複数のファイルを削除します。
mkdir mkdir Directory リモート コンピュータにディレクトリを作成します。
open open Computer [Port] 指定した FTP サーバーCumputer に接続します。
既定では、TCP ポート 21 が使用されます。
prompt   prompt モードの有効と無効を切り替えます。既定では、prompt は有効になっています。
複数のファイルを転送するときに、ファイルを選択して取得または格納できるように、プロンプトが表示されます。prompt が無効になっている場合、mgetmput ではすべてのファイルが転送されます。
pwd   リモート コンピュータの現在のディレクトリを表示します。
quit   リモート コンピュータとの FTP セッションを終了し、ftp を終了して、コマンド プロンプトに戻ります。
remotehelp remotehelp [Command] リモート コマンドCommand のヘルプを表示します。
rename rename FileName NewFileName リモート ファイルの名前FileNameNewFileNameに変更します。
rmdir rmdir Directory リモート ディレクトリDirectoryを削除します。
status   FTP 接続の現在の状態を表示します。
trace   パケット トレース機能を切り替えます。trace により一連の内部 FTP 関数呼び出しが表示されます。
type type [TypeName]

ファイル転送の種類 ascii または binary を設定または表示します。
TypeName を指定しない場合は、現在の種類が表示されます。

user user UserName [Password] [Account] リモート コンピュータに対してユーザーを指定します。
verbose   verbose モードを切り替えます。
verbose は有効になっています。verbose モードが有効になっていると、ftp のすべての応答が表示されます。ファイル転送が完了すると、転送効率に関する統計情報も表示されます。

実用例

準備中です。

 ◆ ◆ ◆


自己紹介 新しい更新 リンク 相互リンク集 ダウンロード 掲示板 婦人体温計
カウビ バイク ローバーミニ 音楽 アフィリエイト 自転車 ゲーム
ワイン 通販日記 神楽坂 DIY ラーメン DOS/V MacBook
キャプチャ LavieJ Printer 開発TIPS ShurikenPRO 万能リモコン X68000
Copyright (c)1998-2006
Fujigoma Project Presents.
 CNXGROUP All Rights Reserved.