基本コマンドの続きです。まだまだ、基本が続きます.....
md(mkdir) はディレクトリを作成するコマンドです。MS-DOS ではまるポイントの一つがこのディレクトリではないでしょうか?最近話題の Linux などでも、ディレクトリの考え方は重要です。実は MS-DOS がディレクトリ構造を受け継いだ大本は、UNIX だったりします。
ディレクトリとは、ディスク内の区切られた空間のことです。ハードディスクを一つの引き出しだと考えると、ディレクトリは仕切りにあたります。広い引き出しもうまく区切ることで、効率よく活用できるように、広大なハードディスクをうまく活用する一つのポイントがディレクトリだと言えるでしょう。
ディレクトリは、ディレクトリの中にも作成できます(これを入れ子にするといいます)。入れ子構造になると、新たに作成されたディレクトリは、元のディレクトリの子になります。たとえば iromono というディレクトリの中に aryarya というディレクトリを作成すると、aryarya は iromono の子ディレクトリであるとよび、iromono は aryarya の親ディレクトリであるといいます。
どのようなディレクトリにも、必ず親ディレクトリがあります。大本になるディレクトリはルートディレクトリと呼ばれ、¥で表現されます。そして、ディレクトリの区切りも¥で表現されます。このあたりが区別できるかどうかが、最初の難問になります。例をあげましょう。先程の iromono ディレクトリがルートディレクトリの子であったとすると、aryarya は次のように表現されます。
c:¥iromono¥aryarya
C: が C ドライブを示し、最初の ¥ がルートディレクトリを示します。しかし、二つめの¥はディレクトリの区切りとなっています。ディレクトリは親子関係があるので、通常は次のような枝葉構造で示されます。
C:¥
|
|
|
-------
iromono
|
|
|
---------
aryarya
|
|
|
--------- koryarya
ルートディレクトリを句点として、枝葉のついた樹に見立てて、ツリー構造とよばれたりします。このイメージをきちんと把握しておくと、後々役にたちます。
---------------------
さて、実際の mkdir の使い方は、下記のとおりです。
A:\>mkdir 作成するディレクトリ名
mkdir で作成できるディレクトリは、一度に一つだけです。たとえば、C:\anna\conna\sonna\bakana などというディレクトリを作成する場合は、
C:\>mkdir anna
C:\>mkdir anna\conna
C:\>mkdir
anna\conna\sonna
C:\>mkdir anna\conna\sonna\bakana
と四回にわけて実行しなければなりません。最初のうちはあまり深い階層構造は作成しないでしょうが、使いつづけて行くうちに、知らず知らずと階層が深くなっていくので、ご注意ください。深い階層にあるファイルは、必然的にタイプ数が増えて、過ちを引き越しやすくなります。かといって、全く階層化しないと、区別がつかない区なるので、どこまで分岐させればよいか、が腕の見せ所ともいえます。
ディレクトリを使うようになると、引数が長くなりやすくなります。ファイル名にディレクトリ名が付加されるためですが、ディレクトリ名を書かないですませつ方法はないのか、と考えるようになるのは、当然の話です。MS-DOS は、指定されたファイルを探すときに、今自分がいるディレクトリだけを対象とするため、別のディレクトリにあるファイルをしていするときには、いちいちディレクトリ名を付加したファイル名(これをフルパスと呼びます)を使う必要があります。
この cd は指定したディレクトリへ移動するコマンドです。ただし、基本的に移動できるのは、今いるディレクトリの下の階層へとなります。
C:¥
|
|
-----
iromono
|
|
|
---------
aryarya
|
|
|
--------- koryarya
先程の例でいいますと、カレントディレクトリが C:¥であった場合に、C:\iromono へ移動する場合は、
C:\>cd iromono
C:\iromono>
となります。下がってばかりでは、戻れなくなりますので、一つ上に戻る場合はどうするのでしょうか?
C:\iromono>cd ..
C:\>
となります。.. は自分の親ディレクトリを示す特別な意味です。それでは、深い階層に入ってしまい、一気にルートディレクトリまで戻る場合は、どのようにしたらよいのでしょう
C:\iromono\aryarya>cd \
C:\>
とします。ルートディレクトリに移動する時は、\ と移動先に指定すれば良いのです。ディレクトリの散歩ができるようになりました。一つ以上の階層のディレクトリを移動する場合はどうするのでしょう?それは次のようになります。
C:\>cd iromono\aryarya
C:\iromono\aryarya>
このように、二階層以上のディレクトリを移動するときは、移動先を直接指定すると、移動ができます。
CD コマンドを使って、いくつかのディレクトリを移動していると、今自分がどこにいるかを確認し直したくなることがあります。気づいていたかもしれませんが、これまではカレントディレクトリがどこか、ということは、コマンド入力を促す『>』の左側に表示されていました。この『>』で示される、入力を促す表示をプロンプトと呼びます。
Windows 95 移行では、標準でプロンプトにカレントディレクトリが表示されていますが、MS-DOS の全盛期には、カレントドライブしか表示されない『C>』が標準でした。このため、多くのユーザーは、プロンプトを変更して、カレントディレクトリを表示させるようにしていたものでした。さすがに、Microsoft も、Windows 95 では、カレントディレクトリ表示をデフォルトにするようになりました。
さて、プロンプトはユーザーカスタマイズができます。たとえば次のように入力してみましょう。
C:\>prompt
$e[36m$p$g$e[0m
C:\>
おや、色がつきましたね。次はこんなふうにしてみましょう。
C:\>prompt
$e[0m$d$g$e
C>
おや、シンプルな表示になりましたね。このように、プロンプトは自由にカスタマイズできます。それでは、元に戻しましょう。
C>prompt $p$g
C:\>
プロンプトに設定できる文字列はつぎのようになります。
$e[ ------------------ エスケープシーケンス
$p ------------------- カレントディレクトリ
$g ------------------- 『>』(不等号マーク)
エスケープシーケンスは、いろいろな機能があります。なかでも色指定は、自分らしさを出す上で、結構重要です。色を指定する文字は、30m 〜 38m でいろいろ変わりますので、試してみましょう。たとえば次のように指定すると、面白いことになります。
C:\>Prompt
ご主人様、命令をお与えください$g
ご主人様、命令をお与えください>