gFTP――多機能で便利なLinuxファイル転送の万能ナイフ

 gFTPはLinuxデスクトップ用に開発されたファイル転送ツールで、優れた操作性と完成度の高さをその特徴としている。その名称からgFTPでは標準的なFile Transfer Protocolしか扱えないという印象を受けるかもしれないが、gFTPは単なるFTPクライアントではない。gFTPの実態は、多種多様な操作に対応した汎用ファイル転送ソフトウェアなのである。

 gFTPのインタフェースは大きく3つのセクションに分かれており、上から順に、ツール/接続バー、ファイル転送ウィンドウ、進行状況/ログの表示領域という構成になっている。接続バーはその名が示す通りに、接続用の設定を行う領域である。転送ウィンドウでは、ファイルの管理と転送のすべてを処理する。進行状況/ログの表示領域では、ファイル転送の進行状況および現在のセッションで行われたアクションのログが表示される。

 デフォルトの設定でgFTPを起動すると、左側の転送ウィンドウにはユーザのホームディレクトリが表示され、右側の転送ウィンドウは空欄状態とされる。リモートホストとの接続を確立するには、接続バーで必要な設定を行ってから、接続/切断ボタン(接続バーの左端にあるアイコン)をクリックすればいい。設定に問題がなければ、gFTPによるホストとの接続が実行され、接続したファイルシステムの内容が右側のウィンドウに表示される。ホストとの接続設定をgFTPに記憶させておきたければ、Bookmarks → Add Bookmarkを選択すればよく、必要であればパスワードも含めてブックマークに登録しておくことができる。

 接続確立後のファイル転送は簡単で、対象となるファイルを選択してから、転送ウィンドウの間にある矢印ボタンをクリックすればいい。転送ウィンドウのファイル操作では、ドラッグアンドドロップによるディレクトリ単位の移動をさせることもできる。

gFTP
gFTPの操作ウィンドウ(クリックで拡大)

 転送が始まると処理すべきファイルが一覧され、転送処理の進み具合が進行状況ペインに表示される。この間、gFTPが具体的にどのような操作を行ってきたかのログも逐次表示されていく。ファイル転送に関しては、転送の停止、特定ファイルのスキップ、ファイル順の変更をすることが可能で、こうした操作については進行状況ペインを右クリックするかツールバーのTransfersメニューを選択することで、実行可能なオプションが一覧される。

 gFTPではローカルおよびリモートのシステムに対して、新規ディレクトリの作成、パーミッションの変更(chmod)、ディレクトリの移動、ファイル/ディレクトリ名の変更、ファイルの閲覧と編集といったファイル管理タスクを実行することもできる。これらのタスクは、転送ウィンドウの右クリックメニューか、ツールバーのLocalおよびRemoteメニューから実行すればいい。

 またこれらのメニューには、ファイルの選択およびフィルタリング用のツールも用意されている。たとえばChange Filespecを使うと正規表現を使ったファイルのフィルタリングを施して、指定条件に一致したファイルだけを転送ウィンドウに表示させることができる。残りのツールはウィンドウ内部でのファイル操作に関するもので、Show selectedで選択ファイル以外の非表示化、Select Allで各ウィンドウにおけるファイルおよびディレクトリの全選択、Select Filesで各ウィンドウにおけるファイルのみの全選択、Deselect Allで選択の解除が行える。なおこうした操作に関しても、個々のタスクを実行するごとに該当するメッセージがウィンドウ下部のログ表示領域に追加されていく。

その他の転送プロトコル

 gFTPが対応しているのはFTPだけではなく、その他にも様々な転送プロトコルを扱うことができる。

 HTTP/HTTPS(Hypertext Transfer Protocol)は、Web関連で使われているプロトコルである。gFTPではこのプロトコルに関する操作として、Webサイトへの接続とブラウジングおよびファイルのダウンロードが行える。ただしgFTPのHTTP転送ツールはディレクトリブラウジングに対応するサイトのみを想定しているため、各種の制限も存在する。たとえば、デフォルトページが設定されていたり、ディレクトリブラウジングが無効化されていたりするサイトでは、ファイル転送ウィンドウに何もファイルが表示されない。またHTTP転送を使用する際にはホストアドレスの前にhttp://と付ける必要はなく、セキュアサイトにアクセスする際には当該サーバのSSL証明書を手動でインストールしなければならない(詳細に関しては各自のOpenSSL設定を参照して頂きたい)。

 SSH(Secure Shell)は、コマンドシェル経由でセキュアなサーバ接続をするためのプロトコルである。SSH転送が有用なケースとしては、FTPが利用できないかその安全性に問題のある環境などが考えられる。

 FSP(File Service Protocol)はファイル転送に用いるUDP(User Datagram Protocol)プロトコルの一種で、主に匿名FTPの代用として使用される。

オプションと設定

 gFTPの実行オプションおよび各種設定については、オプション設定ダイアログ(FTP → Options)で設定できる。このダイアログで行える設定項目は、下記のようにタブ単位で整理されている。

  • Generalタブ:gFTPの基本設定を行う。ここでの設定内容の大部分は自明なものであり、特に変更する必要はない。変更する必要があるのはView programおよびEdit programで、ここにはLocalおよびRemoteメニューのEditおよびViewオプションの選択時に実行させるプログラムを指定しておく。特に好みのものがなければ、GNOMEのデフォルトテキストエディタであるgeditを指定しておけばいい
  • Networkタブ:ここではタイムアウト、再試行、転送速度など、ネットワーク関連の設定を行う
  • FTPタブ:ここではプロキシ、匿名FTP、転送モードの設定を行う。このタブで重要なのはパッシブモードおよびASCII転送モードの設定である
  • HTTPタブ:ここではHTTPプロキシを使用する場合の設定を行う
  • SSHタブ:ここではSSH接続の確立時に使用する設定およびカスタムプログラムの指定を行う
  • Local Hostsタブ:ここではネットワークのホストおよびドメインに関するカスタム情報の設定を行う

有用な各種の付加機能

 gFTPには、2つのホスト間で直接ファイルを移動させるなど、有用な追加機能も各種装備されている。たとえばこうしたホスト間転送を行うには、右側のウィンドウで一方のホストに接続してから左側のウィンドウに切り換え(ツールバーのFTP → window 1)、そこで他方のホストに接続する。両者の接続が確立されると、これら2つのホスト間でのファイル転送を行えるようになる。

 先に触れておいたようにgFTPでは編集用のエディタを指定できるが、こうして登録した外部アプリケーションに対して、選択ファイルを右クリックして直接開かせることができる。またリモートホストにあるファイルの内容を変更して保存した場合は、編集後のファイルをgFTPが自動的にアップロードしてくれる。こうした機能は、設定ファイルをその場で変更したい時などに便利だ。

 その他の特長としては、2つのホスト間で比較操作をする機能も紹介しておくべきだろう。gFTPによる比較結果は、2つの転送ウィンドウ間におけるファイルとフォルダの相違箇所を選択することで表示される。ただしここで言う相違箇所とは各ファイルの内容ではなく、単に同名ファイルが存在するか否かの比較なので、その点は注意が必要だ。

 gFTPにはコマンドライン操作用のインタフェースも装備されている。この点、多くのディストリビューションにおいて、コマンドライン形式で操作するバージョンは別パッケージ扱いとされているのとは対照的だ。gFTPの場合、コマンドライン操作バージョンと標準バージョンとでFTPユーティリティとしての機能はほぼ共通しており、目立った相違点を挙げるとすれば、SSH転送およびディレクトリの再帰的ダウンロードに関するものくらいである。コマンドライン操作用のインタフェースについては、gFTPのWebサイトに詳しい説明が掲載されている。

 gFTPはリモートホストに対してサイトコマンドを送信することもできる。サイトコマンドとは、FTP標準に含まれないサーバ固有のFTPコマンドのことである。サイトコマンドを送信するには、どちらかの転送ウィンドウを右クリックしてSend SITE Commandを選択すればいい。あるいはツールバーのLocalないしRemoteメニューから実行することもできる。

 gFTPの多機能性と有用性を一言で示すなら、Linuxでのファイル転送における万能ナイフだと表現できるだろう。Linuxユーザであれば知っておいて損はないアプリケーションのはずだ。

Chad Filesは、10年以上のアプリケーション構築経験を有するソフトウェア開発者兼ライターであり、現在は様々なオープンソース系プロジェクトに開発者として参加している。今回紹介したgFTPは常用ツールの1つであり、その使用歴は5年近くに及んでいる。

NewsForge.com 原文