コマンドによるシステムの操作

今ではコンピュータの操作はGUI(グラフィカル・ユーザ
インターフェース)が標準的であり,ウィンドウシステムを
マウスとキーボードで操作することが当然のことになっています.

GUIが普及する以前は,ディスプレイは文字のみを表示
するもので,ユーザはコマンドと呼ばれる文字列をキーボード
から入力することでシステムの操作をしていました.

コマンドによる操作はGUIに比べると煩雑な感じがしますが,
GUIを用いた場合よりも柔軟で高度な処理を実行できる場合も
あり,情報処理技術者は今でもコマンドを用いてシステムを
操作することがあります.

ここではMicrosoft Windowsにおけるコマンドついて
説明します.


■ コマンド操作のためのウィンドウの起動
スタートボタンをクリックすると「ファイル名を
指定して実行」という項目がある場合はそれを
クリックします.そのような項目が表示されない
場合はキーボードのWindowsボタン を押した
まま,アルファベットの"R"のボタンを押してくだ
さい.すると次のようなウィンドウが表示されます.

このウィンドウの「名前(O)」のフィールドに
"cmd"と入力してOKボタンをクリックしてください.
すると次のようなウィンドウが表示されます.

これがコマンドウィンドウで,ここにコマンド
を入力してEnterボタンを押すと処理結果が文字で
表示されます.

ウィンドウの左端に "C:¥>" と表示されていますが,
これを「コマンドプロンプト」といいます.

コマンドプロンプトに続いて各種の処理を実行
するためのコマンドを入力してEnterボタンを
押すと処理が実行され,処理が終わると再び
コマンドプロンプトが表示されます.


(コマンドの実行例)
コマンドプロンプトに続いて "dir" とタイプして
Enterを押すと,次のようにファイルやフォルダの
一覧が表示されます.

通常はWindowsのエクスプローラでフォルダを
開くと,特に何の操作をしなくてもそのフォルダの
内容が表示されますが,コマンドウィンドウでは
「内容を表示せよ」という命令である"dir"を
コマンドとして入力する必要があるわけです.

いちいちコマンドを入力しなければならないことが,
「煩わしい」と感じる原因かもしれません.しかし
複数のコマンドを組み合わせて複雑な処理を実行する
といったことが可能であり,やはりコマンドならでは
の長所も多いわけです.


■ ディレクトリに関する基礎知識
Windowsのエクスプローラで開くフォルダですが,
コマンドの世界では「ディレクトリ」と呼びます.

ここで,Microsoft Windowsにおけるディスクと
ディレクトリについて説明しておきます.

パーソナルコンピュータにはハードディスク装置が
内蔵されており,基本的には各種データはここに
保存します.もちろんOSやアプリケーション
ソフトウェアもハードディスク装置に格納されて
います.

また,1台のコンピュータに複数のハードディスク
装置を搭載することも可能です.

OSから見るとディスク装置は「ドライブ」として
存在しています.例えばエクスプローラで
「コンピュータ」の中を表示すると,次のように表示
されます.

この例では,2台のディスクが搭載されている様子が
表示されています.また,それぞれのディスクには
ドライブ名として"OS","DATA"というものが与え
られており,その後ろに"(C:)"や"(D:)"という
ものが表示されています.

この"C:"や"D:"は「ドライブ文字」と呼ばれる記号で,
ディスクを指し示す重要な情報です.

例えば,コマンドウィンドウの左端に,"C:¥>"という
コマンドプロンプトが表示されていれば,それは
エクスプローラウィンドウで例えていうと,
  「今,Cドライブを開いて見ている」
ということを意味するわけです.


「パス」(path)について

フォルダ(ディレクトリ)はその中にまた別の
フォルダを含むことができるという階層構造に
なっています.

コマンドの世界の良い点の1つに,ファイルや
フォルダの位置を正確に示すための表記法が存在
していることがあります.

例えば
  "C:¥p¥q¥r¥s"
と書けばそれは
  「Cドライブにあるpというフォルダの
    中にあるqというフォルダの中にある
      rというフォルダの中にある
        sというフォルダ」
を意味します.

つまりこの長い包含関係を手短に表現
できるわけです.この「C:¥p¥q¥r¥s」という
表現を「パス」といいます.

"¥"はフォルダ(ディレクトリ)の上下関係
を表す区切り文字です.また最上位のディレクトリ
を「ルートディレクトリ」といい,パスの一番左に
書かれている "¥" は区切りの意味ではなく,
ルートディレクトリを意味します.

コマンドプロンプトには通常,現在開いている
フォルダ(ディレクトリ)のパスが表示されて
います.

この「現在開いているディレクトリ」を
「カレントディレクトリ」といいます.


ディレクトリを移動するコマンド
現在開いているディレクトリ(カレント
ディレクトリ)をを切り替えて,別のディレクトリ
を開くには "cd" コマンド発行します.

例えば,ルートディレクトリに移動したければ,
コマンドウィンドウで "cd ¥" とタイプして
Enterを押します.するとコマンドプロンプトの
表示が "C:¥>" となって,移動したことが確認
できます.

さて,下の図のようなディレクトリの上下関係が
あったとします.

現在ルートディレクトリを開いているとします.
(カレントディレクトリが "¥")
この状態で "a" のディレクトリに移動したい場合は
コマンド "cd a" とタイプしてEnterを押します.

また1つ上のディレクトリに移動する場合はコマンド
"cd .."
を発行します.この ".." はカレントディレクトリの
1つ上のディレクトリを意味します.

ちょっと意地悪なクイズ
カレントディレクトリが上の図の c だったとします.
ここから b のディレクトリに移動するにはどの
ようなコマンドを発行すればよいかわかりますか?

1つの答えは "cd ..¥..¥b" でEnterです.
理由はわかりますか?

理由は「上の上にある b に移動する」からです.

このようにカレントディレクトリを起点にした
行き先のパスの指定を「相対パス」といいます.

実はもっと便利な方法があって,
カレントディレクトリがどこであっても,それとは
無関係にいきなり好きな場所にジャンプする方法が
あります.

例えば "cd ¥b" とコマンド発行すると,
カレントディレクトリがいきなり "¥b" になります.

このように "¥" からディレクトリの場所を
書き始めると,最上位から(ルートディレクトリから)
の位置(パス)を指定することができます.
このようなパスの指定を「絶対パス」といいます.