コマンドプロンプトを使う

はてさて、コマンドプロンプトMS-DOS プロンプト)とは何ぞや?という話です。
いつものように、用語辞典で調べてみます。

コマンドプロンプトとは、コマンドインタプリタが画面上に表示する「コマンド入力待ち状態であることを表す記号」の事を言い、利用者にコマンド(命令)入力を促すものである。単にプロンプトとも呼ぶ。Microsoft Windows NT系列のMicrosoft Windowsで動作する端末ウィンドウ兼シェル(cmd.exe)の名称でもある。

どうやら意味が2つあるようです。

  1. コマンド入力待ちを表す記号
  2. Windowsで動作する端末ウィンドウ兼シェルの名称

今回は、後者の意味でのコマンドプロンプトです。実際に起動して確認してみるのが速いでしょう。
コマンドプロンプトの起動は、左下の[スタート]→[すべてのプログラム]→[アクセサリ]と移動したところにあります。

すると、画像のようなウィンドウが表示されるはずです(画像は一部加工してありますw)。この殺風景なウィンドウが、コマンドプロンプトです。
また、カーソルが点滅している左側には、『 XXXXXXX\XXXXXXX> 』のような文字が表示されています。これが、先ほどの定義のうち、前者の意味でのコマンドプロンプトになります。
すなわち、現在はユーザの入力待ち状態になってますよ、ということを表していますのですね。
さて、入力待ちと言われていますが、では実際のところどのような入力が期待されているのでしょうか?
その答えは、定義にもあるようにコンピュータに対する“コマンド(命令)”です。
ここでコンピュータに下せる命令にはどのようなものがあるのか、例えば次のサイトなどで調べることができます。

初めてのコマンドプロンプト/Command Prompt
http://www5f.biglobe.ne.jp/~ayum/command/command.html
コマンドプロンプトを使ってみよう!
http://ykr414.com/dos/
Windows XP Online Book / コマンド一覧
http://homepage1.nifty.com/masawat/sen_html/xp_command.html

なんかこう、思わず一瞬怯んでしまいます。
しかし、これをすべてマスターする必要はないでしょう。当面は必要最低限のコマンド(の名前と使い方)を覚えておいて、残りは必要になったら調べて使うようにすればきっと問題ないはずです。
そういうことなので、すぐに必要になるであろうコマンドを挙げてみます。

コマンド名 使い方 機能
dir dir [パス][オプション] ディレクトリ内のファイル一覧を表示 dir C:\Program Files\ruby-1.8
cd cd パス [オプション] カレントディレクトリの変更 cd C:\WINDOWS
echo echo [メッセージ] 画面にメッセージを表示する echo MESSAGE

以上。
そんだけかよ!ってツッコミが入りそうですが、取り敢えずはこれだけでもなんとかなるかなぁと思います。
しかし、『パス』や『カレントディレクトリ』など、しれっと聞きなれない用語が登場してます。
まずはパス。

外部記憶装置内でファイルやフォルダの所在を示す文字列。ファイルやフォルダのコンピュータ内での住所にあたる。

記憶装置は、UNIX系OSではルートディレクトリ(「/」であらわされる)を、MS-DOSWindowsではドライブ名(「C:\」など)を頂点とする木構造になっており、これに沿って頂点から目的のファイルやフォルダまでのすべての道筋を記述するのが「絶対パス」である。

これに対し、起点となる現在位置から、目的のファイルやフォルダまでの道筋を記述するのが「相対パス」である。

要するに、ファイルとかディレクトリのある場所を指し示すもの、ということです。
押さえておきたい言葉は

というところでしょうか。
で、カレントディレクトリは、

ユーザが現在作業を行なっているディレクトリ。コマンドやファイル名などを入力する際に、相対パスの基準となる。

ってことで、相対パスの説明にあった『現在位置』のことですね。
ちなみに、コマンドプロンプト上で点滅しているカーソルの左にある『 XXXXXX\XXXXXX> 』(プロンプト、ですね)の『 > 』を除いた部分が、“カレントディレクトリの絶対パス”になっています。

Rubyのために実践

それでは、先ほど覚えたコマンドを実際に使ってみます。
まずは、Rubyをインストールしたディレクトリに移動してみたいと思います。
移動する、というのはすなわちカレントディレクトリを変更する、ということですので、ここで使うコマンドはcdです。

cd C:\Program Files\ruby-1.8\bin

もしも、インストール時にディレクトリを変更した場合は、cdに続くパスの部分が変わります。
このコマンドを実行して、プロンプトの部分が『C:\Program Files\ruby-1.8\bin>』に変わったら成功です。
続いて、dirコマンドを使ってカレントディレクトリの内容を確認します。

dir

dirコマンドは指定されたパスの内容を表示しますが、パスが省略された場合にはカレントディレクトリを対象として検索・表示を行います。
ですので、この場合は『dir』と入力するだけで事が済んでしまうわけですね。
コマンドを実行すると、先ほどエクスプローラで確認したファイル達がずらずらっと縦に表示されるはずです。ファイルの数から言って、おそらくウィンドウ一画面には収まらず、スクロールされてしまいます。
そうなるとちょっとばかし見づらいなぁ……てなわけで次のコマンドを入力します。

dir /w

同じdirコマンドなのですが、こうすると表示のされ方が変化して一画面に沢山のファイル名が収まるようになります。
今使った『 /w 』というのは、dirコマンドの“オプション”と呼ばれるものです。このようなオプションを利用することで、コマンドの挙動を変えることができます。
利用できるオプションはコマンドによって異なりますので、どのようなオプションが利用できるか調べてみると良いでしょう。

dir /?

などとすることで、コマンドの使い方(ヘルプ)を表示させることができたりします。
コマンドプロンプトを使いこなせると何かと便利らしいです。
それ以上に、こういう文字ばかりの画面(CUIとかCLIとか呼ぶらしい)でコマンドをカチカチやってる姿はいかにもプログラマって感じがするので、こうして形から入るのもいいんじゃないかとw

ruby.exeを動かしてみる

ここまでで、今現在C:\Program Files\ruby-1.8\bin……即ち、ruby.exeのあるディレクトリに居ます。
今までコマンドプロンプト上ではコマンドを入力してコンピュータに命令を出していましたが、実はruby.exeのようなファイルも、このコマンドプロンプト上で起動させることができます。
試しに、次のように入力してみます。

ruby


ウィンドウのタイトルが『コマンドプロンプト - ruby』になり、プロンプトの無い行で入力待ち状態になっています。
これはRubyインタープリタを対話モードで実行中の状態です。この画面では、Ruby言語による命令を記述することで、実際にプログラムを動作させることができます。
実験的に、次の入力をしてみます。

  1. まず『print "Hello"』と入力
  2. エンターキーを押して改行する
  3. Ctrl + z(コントロールキーを押しながらz)と押す
  4. もう一度エンターキーを押す

すると……

Hello

と表示されます。
遂にやりました。これでもう、Rubyのプログラムを実行させたことになります!

……とはいえ、これはあくまでも実験ですし、実際のところこういう使い方をするわけではないはずです。
もう少し、ちゃんとruby.exeの使い方を見てみましょう。

ruby --help

このように入力すると、ruby.exeの使い方が表示されます。


英語で。


絶望感を感じなくもありませんが、単語自体は簡単なので読めないものではないと思います。
しかし、単語レベルで読めても全体の意味がわからないので仕方ありません。
ひとまず注目すべきは、

Usage: ruby [switches][--][programfile][arguments]

という行でしょう。
Usage、というだけあって、これはruby.exeの使い方を端的に表しています。
その中でも最も大事そうなのは『programfile』で、これはRuby言語によって記述された“ソースファイル”を指しているようです。
通常、Rubyのプログラムを実行する場合、まずRuby言語によるソースコードをファイル(テキストファイル)に記述しておきます。
これを、ソースコードが書かれているファイルなので『ソースファイル』と呼びます。
その上で、

ruby <ソースファイル名>

という形式の命令によって、そのファイルに書かれた処理をインタープリタに実行させる、という方法をとるようです。
つまり、例えば『Hello.rb』というファイルの中に、先ほど書いた

print "Hello"

が記述されている場合、

ruby Hello.rb

という命令によって同じ実行結果を得られる、というわけです。
このあたりの流れは、また後ほど順を追ってやってみたいと思います。

コマンドプロンプト利用に関する補足

コマンドプロンプトを起動する際、[スタート]→[すべてのプログラム]→[アクセサリ]と見て行きました。
少しだけ面倒なので、もうちょっと楽をしてみます。
[スタート]メニューの中に、[ファイル名を指定して実行]というものがあります。
実は、ここで『 cmd 』と入力すると、即コマンドプロンプトが起動できます。
さらに、[ファイル名を指定して実行]をマウスでクリックするのも面倒なので、そんなときは『 Windowsキーを押しながらr 』を押します。
これで[ファイル名を指定して実行]を一発起動です。満足。

もっと色々楽したい方はこちら。

i d e a * i d e a - Windowsで覚えておくと便利な117のコマンド
http://www.ideaxidea.com/archives/2006/09/windows117.html