Windowsで見かけるコマンドプロントとかいうアレ、なんのために存在しているの?
わからない人に向けての解説。
結論としてはWindowsの操作をコマンドという文字列を行うためのプログラム。これを使用することによってWindowsのことがより知れたり、便利に使えるようになりますよ。
OS(オペレーティングシステム)のもう一つの顔
Windowsは通常GUI(Graphical User Interface)の画面をもとにアイコンをマウスでクリックして直観的にプログラムを動かしたり設定値を調整したりします。Macで使われているMacOSでも同じです。
それとは別にコマンドと呼ばれる文字列を使用して、Windowsやその他コンピューターを操作することができます。これを、CLI(Command Line Interface)やGUIに対してCUI(Character User Interface)と呼びます。
現在のパソコンの主流はGUIですが、むかし(30年ぐらい前)はグラフィカルに表示するためCPU、メモリ資源が高価だったためCLIが主流でした。
コマンドプロントは、windowsをCLIで用いるために使用するためのプログラムになります。windowsではあまり重要性はないですが、他のOS、MacOSやLinuxなどでは重要度が増してきます。
コマンドプロンプトを開いてみる
試しにコマンドプロント開いてみましょう。
コマンドプロンプト開くには'[スタートキー]→システムツール→コマンドプロンプト’から開くか、または[windowsキー]+’Rキー’を押すと下のような画面が出てくるのでそこで名前(O):部分に’cmd’と打ち込みEnterキーを打つと黒い画面が開いてきます。
はい、出てきましたね。
で、何するんでしょう?
コマンドを知らないと役に立ちませんね。。。
試しに以下のコマンドを実行してみましょう。
ipconfig [Enterキー]
実行したパソコンに設定されたネットワーク情報が表示されます。
“デフォルト ゲートウェイ”という項目にも数字が入っていることが確認できると思いますので、パソコン側から応答命令を送って返答があるか?を確認してみましょう。
ping XXX.XXX.XXX.XXX [Enterキー]
ネットワークを使用したゲームをやっている人であれば、たまにでてくる、「pingを実行する」ってやつですね。下のように応答が返ってくるとデフォルト ゲートウェイとパソコンでの通信は可能ということが確認できます。あとは時間という項目で、応答の速さも確認できます。
試しに、どこかのサーバーにpingをしてみましょう。
ちなみにデフォルト ゲートウェイというのは外部ネットワークと接続するために接続されている(ルーターとも呼ばれる)装置のIP アドレスになります。
ping www.google.com[Enter キー]
上記コマンドを実行して、応答がかえってくるか確認してみましょう。上記例はgoogleのwebサーバーが応答してくれるか確認した例です。普通は応答があるかと思います(出なければgoogleのweb ページが見れない)。
コマンドプロンプトを終了するには、×ボタンをクリックするかexitで終了することができます。
CLI操作のデメリット
実際に触ってみて、「なんか面倒くさいし、よくわかんないなー」と思われた方が多いと思います。実際そうです。
デメリット1:直感性
CLIはGUIに対して直感ではわかりにくいです。設定ファイルの内容やコマンドなど覚えることが多いことに加え、設定変更などを行った場合などは変更点など視覚的に訴えるものが少ないため初心者にはわかりにくいことが多いです。
デメリット2:操作性
GUIではマウスやタッチスクリーンなどでポチポチやっていたことが、キーボードの入力で複数のコマンドを入力して入力していかないといけないことも多いので、操作性が劣ることもあります。
デメリット3:互換性
windowsなどのぺーレーティングシステムやアプリケーションなどで、コマンドやオプションなどがありますが、バージョンにより異なることがあります。こちらはGUIのものでも多々ありますが、CLIでも少なからず問題になる場合があります。
CLI操作のメリット
ほかにも、デメリットに感じる部分はあると思いますが、なぜCLIは現在も残っているのでしょうか。
次にメリットを述べていきます。
メリット1:効率
コマンドを覚えていれば、テキストコマンドで、一度に複数の処理が行うことができ作業が早くなります。また、定型の処理があるのであれば、バッチ(スクリプト)ファイルというものを作成して、一括で定型の処理をすることもできます。
メリット2:リモートアクセス
CLIのプログラムはGUIでのアプリケーションに比べ、ネットワークアクセス時の帯域消費量を下げることができます。これはがGUIが画像のデータを送受信するのに対して、CLIは文字データを送受信するのみで送ることができるからです。これは遠隔地にあるサーバーや、コンピュータを操作するときに役にたちます。
メリット3:システムの中身を把握しやすい
CLIのコマンドや設定方法を理解することで、オペレーティングシステム、アプリケーションの挙動を理解できることがあります。挙動を理解していると意図したとおりのGUIが動かないなどの環境でトラブルシューティングをしなければいけないときに、CLIでの操作を覚えておくと、エラーのの原因や解決策を見つけやすくなります。
また、テキストベースのコマンドは文書化や再現が容易になります。
さいごに
CLI操作はWindowsパソコンではあまり触れることはあまりないと思いますが、linuxのサーバープログラムのメンテナンスなどやMacOSでは触れることが多いと思います。
特にLinuxは、GUI操作でできることがCLI操作に比べて少なく、結構な頻度で設定ファイル、コマンドの出力結果とにらめっこという感じになります。
WindowsではGUIが洗練されて、よかったなと感じつつ別の一面もあるのかと感じていただければ幸いです。
最後までお読みいただきありがとうございました。