3 Minutes NetWorking
No.60

3Minutes NetWorking

第60回FTP(5) その他コマンド

■ ワーキングディレクトリ

インター博士

さて、重要なFTPコマンドはほとんど前回まででやってしまったわけだ。

ネット助手

前回までというと、USER、PASS、QUIT、PORT、TYPE、PASV、RETR、STOR、でしたっけ。

インター博士

うむ。今回は、これら以外でよく使われるコマンドを説明しよう。

ネット助手

え〜っと。ユーザ認証に、データ転送でしたよね、いままでのコマンド。
他は何があるんですか?

インター博士

まず、ディレクトリの操作だな。

ネット助手

でぃれくとりの操作?

インター博士

一般的、というかWindowsではディレクトリのことをフォルダと言うな。つまり、接続しているFTPサーバの保存先のことだ。この保存先に対しファイルをアップロードしたり、保存先のファイルをダウンロードしたりする。

ネット助手

ははぁ。ファイルを置いたり、取ってきたりする対象のフォルダってことですね。

インター博士

うむ。このディレクトリ(フォルダ)のことを、ワーキングディレクトリという。

ネット助手

わーきんぐでぃれくとり。
働くディレクトリ?

インター博士

まぁ、働くといえばそうなんだが。普通は作業用ディレクトリと言うな。もしくは今使っているディレクトリなのでカレントディレクトリとも言う。
ともかく、このワーキングディレクトリを変更するコマンドがある。

  • CWD ディレクトリ名
  • CDUP
インター博士

役割的には、CWDはDOSコマンドの「cd」。CDUPは「cd ..」だ。

CWDとCDUP

[Figure60-01:CWDとCDUP]

ネット助手

CWDで今のフォルダの指定した下のフォルダヘ。CDUPで1つ上のフォルダへ、ですね。

インター博士

そういうことだ。
他にもフォルダ関連のコマンドはいくつかある。

  • PWD
  • MKD ディレクトリ名
  • RMD ディレクトリ名
インター博士

PWDは「ワーキングディレクトリ名表示」。MKDは「ディレクトリ作成」。RMDは「ディレクトリ削除」だな。

ネット助手

ははぁ。なんか普通にフォルダをいじれちゃうんですねぇ。

インター博士

そうだな。
CUI環境のMS-DOSやUNIXでディレクトリを操作しているのと同じ感覚でディレクトリを操作できるな。

ネット助手

なるほど。

インター博士

ポイントは、DTPだ。FTPのDTPがOS間の差異を吸収するおかげで、サーバがWindowsなのかUNIXなのか全く関係なく、ディレクトリをCWDやMKDなどのコマンドで操作できる、ということだ。

ネット助手

ファイルマウントしない、クライアント・サーバ型の利点、ってやつでしたっけ。

インター博士

うむ。ちなみにサーバ側で一番上のディレクトリはFTPサーバソフトで設定される。
例えば、MicorsoftのIISでは以下の画面で設定される。

IISでのホームディレクトリの設定

[Figure60-02:IISでのホームディレクトリの設定]

インター博士

例えば、上の画像では「C:\inetpub\ftproot」が最上位のディレクトリになる。
カレントディレクトリがこの「C:\inetpub\ftproot」で、「CDUP」コマンドを行った場合。

ネット助手

行った場合?

インター博士

そのまま、「C:\inetpub\ftproot」になる。そこから上へは上がれない。

ネット助手

え? 「C:\inetpub」になるんじゃないんですか?

インター博士

ならない。設定したディレクトリが最上位だ。例えローカルのハードディスク上でそれより上のディレクトリがあったとしても、それ以上はあがらない。

ネット助手

ははぁ。なんでです?

インター博士

それにより、FTPでアクセスできるディレクトリの範囲を限定できるわけだな。
むやみやたらにアクセスできたら困るだろう。

ネット助手

なるほど。

■ リスト

インター博士

さて、ネット君。データコネクションで転送するデータはファイル以外にもう1つあったな?

ネット助手

ありましたっけ?

インター博士

…。

ネット助手

…。

インター博士

…。

ネット助手

…。

インター博士

…わかった。私の負けだ。

ネット助手

やりぃ。

インター博士

威張るな
データコネクションが転送するもう1つのデータは、ワーキングディレクトリのファイル一覧だ。

ネット助手

あ〜、そういえばそんな話をどこかで聞いたような。

インター博士

FTPサーバにファイル一覧を要求するコマンドは次のコマンドだ。
役割的にはMS-DOSの「dir」コマンドと同じだ。

  • LIST
  • NLST
ネット助手

「LIST」と「NLST」。
どう違うんです?

インター博士

LISTはファイル名とその情報を、NLSTは名前のみだ。
例えば、同じワーキングディレクトリでも「LIST」と「NLST」ではこのように違う。

LISTとNLST

[Figure60-03:LISTとNLST]

ネット助手

なんか、「LIST」は色々表示されますね。「NLST」は本当に名前だけなんだ。

インター博士

うむ。確かにそうだが、「NLST」でもオプションを使えば、「LIST」と同じ情報を得ることができる。

ネット助手

じゃあ、オプションを使えばどっちでも変わらない、ってことですね。

インター博士

そういうことになるな。
LISTはデータコネクションで転送する、さらにデータタイプはASCIIということを忘れないように。

ネット助手

了解です。

■ FTPによるデータ転送

インター博士

主要なコマンドは大体上の説明で終わりだ。
最後に、FTPの流れをもう一度おさらいといこう。

[Figure60-04:FTPの流れ]

ネット助手

なんというか。キッチリとコマンドとレスポンスを交換しあってますよね。

インター博士

そうだな。はっきりいって、FTPは複雑なプロトコルだ。
ほとんどのTCP/IPプロトコルと違い、2本のコネクションを使用するからな。

ネット助手

そうなんですか?
他は複数のコネクションを使うことはないんですか?

インター博士

うむ、ない。FTPは2本のコネクションを使うことにより、柔軟なデータ転送を行うことが可能だ。
その分、複雑にならざるをえないため、制御コネクションでキッチリと制御を行っているのだよ。

ネット助手

そうですよね。コマンドには必ずレスポンスがついてくるし、データ転送にも必ず始めと終わりにはレスポンスがつきますよね。

インター博士

うむ。さらにOSに全く依存しない形でのデータ転送という役割も担う。
現在の新しいプロトコルもやはりOSに依存しない形のデータ転送が多いが、FTPはその先駆けとなったプロトコルなのだよ。

ネット助手

なるほど。重要なプロトコルですね。

インター博士

うむ。発表されてから長い月日がたっていても、いまだにFTPの役割は変わっていない。
やはりファイル転送といえばFTPなのだよ。

ネット助手

ですね。

インター博士

さて、今回でFTPはお終いにしよう。

ネット助手

了解です。

インター博士

次回は、さて何のプロトコルにするかな?

ネット助手

決めてないんですか?

インター博士

ふふふ、さてな。
ではまた次回。

ネット助手

いぇっさ〜。
3分間ネットワーキングでした〜♪

ディレクトリ
[Directory]
「登録簿」。ディスク上に保存されるファイルなどの情報が記載される。ディレクトリを読み出すことにより、保存されているファイルの一覧を入手できる。
Windowsなどでは「フォルダ」と呼ばれる。
ワーキングディレクトリ
[Working Directory]
カレントディレクトリ
[Current Directory]
[Current]は「現在の」「今の」。
一番上のディレクトリ
ホーム[home]もしくはルート[root]ディレクトリと呼ばれる。
オプション
「NLST -al」で「LIST」と同じ表示。
ネット助手ネット君の今日のポイント
  • サーバ側の現在ファイルの受け渡しが可能なフォルダをワーキングディレクトリという。
    • CWDやCDUPでワーキングディレクトリを変更できる。
    • MKDやRMDでディレクトリの追加削除ができる。
  • LISTかNLSTでワーキングディレクトリのファイル一覧を取得する。

3 Minutes NetWorking No.60

管理人:aji-ssz(at)selene.is.dream.jp