ユーニックス総合研究所

  • home
  • archives
  • programming-black-screen

プログラミングで使う黒い画面の正体

プログラミングで使う黒い画面の正体

プログラミングの勉強をしているとよく遭遇するのが「黒い画面」です。
プログラマーの人がなにやら黒い画面を立ち上げて、カタカタとキーボードで入力すると、黒い画面の表示が次々に切り替わっていく……。

正直、初めて見る人には「なんじゃこりゃぁ!」という感じですが、あの「黒い画面」にはちゃんと名前が付いています。

Windowsでは黒い画面は「コマンドプロンプト」または「PowerShell(パワーシェル)」というソフトウェアであることが多いです。
またLinuxでは黒い画面は「Bash」と呼ばれるソフトウェアであることが多いです。

この記事では黒い画面の目的とその種類、使い方について解説します。
具体的には↓のコンテンツになります。

  • 黒い画面の目的
  • 黒い画面の種類
  • 黒い画面の使い方

黒い画面の目的

なぜプログラミングで黒い画面を起動するのでしょうか?
それはプログラミングで書いたコードを実行するためです。

黒い画面を使うと、コンパイラやインタプリタなどの、コードをコンパイルしたり実行したりするソフトウェアを起動することが出来るようになります。
ですのでプログラミングではこの黒い画面は開発者の相棒みたいなものです。

黒い画面を開き、そこに「コマンド」というものを入力し、黒い画面にコマンドを理解させます。
そうすると黒い画面はそのコマンドのとおりに動いて、処理を実行します。

たとえば「このプログラムをコンパイルして実行して」というコマンドを黒い画面に入力すれば、黒い画面はそのコマンドの言うことを聞いてあなたの書いたプログラム(コード)をコンパイルして実行しようとします。
そのプログラムの結果は黒い画面に出力され、開発者はプログラムがどういう風に動いたのか確認することが出来るということです。

よくプログラマーの人が動画などで黒い画面を使っていて、その黒い画面にだだーっと得体のしれない文字列が流れてることがあると思いますが、あれは黒い画面にプログラムを実行させて、その結果を黒い画面に表示させているわけですね。

いわゆる「Hello, World!」などのプログラムもそうで、このプログラムを黒い画面で実行すると、その結果(Hello, World!という文字列)は黒い画面に出力されます。

黒い画面の種類

次に「黒い画面」の種類についてです。
「Windows環境」で「黒い画面」といった場合、それは十中八九「コマンドプロンプト」のことです。

それから黒い画面ではなく「青い画面」であることが多いんですが、「PowerShell(パワーシェル)」と呼ばれるソフトウェアもそうであることが多いです。
PowerShellはデフォルトの画面が青い画面です。
しかし、ソフトウェアの背景の色は変更できるので、「青い画面」から「黒い画面」にころも替えできるんですね。
このころも替えは日常的にこれらのソフトウェアを使っているプログラマーの人たちがよく行っています。

しかし「コマンドプロンプト」はデフォルトで黒い画面になっているので、特にマニアな環境の人でない限り、Windowsで黒い画面と言えばコマンドプロンプトのことと考えて問題ないでしょう。

それからWindowsではなくLinux環境の場合、黒い画面とは「Bash(バッシュ)」というソフトウェアであることが多いです。
Bashもデフォルトは黒い画面になっていることが多いです(ディストリビューションによりますが)。

では「コマンドプロンプト」、「PowerShell」、「Bash」について詳しく見てみましょう。

コマンドプロンプト

コマンドプロンプトはマイクロソフトが開発したソフトウェアです。
コマンドラインインタプリタ(シェル)と呼ばれるソフトウェアのカテゴリーに入っているソフトウェアです。

ユーザーが入力した文字列(コマンド)を解釈して、その解釈によってファイル名を変更したり、ファイルの内容を出力したり、プログラミングで作成したプログラムを実行したりします。
プログラマーが黒い画面とにらめっこして、キーボードをカタカタしている時は、コマンドプロンプトにこのコマンドを読み込ませているんですね。

もともとはMS-DOSという昔のマイクロソフトのOSで使われていたソフトウェアですが、それが時代を経て現代のWindowsにも受け継がれています。
かなり昔からあるソフトウェアで、そのため現在では少々古っぽさも目立ちます。

しかし今でもWindowsのプログラミングではこのコマンドプロンプトを使うことが多いです。
多いですが、どっちかと言えば後発のPowerShellを使うほうが今では一般的と言えるかもしれません。

ただPowerShellでは使えないソフトウェアなどが存在するため、そういった時はコマンドプロンプトを使うことが多いです。
つまりWindowsでシェルを使う場合は最初の選択はPowerShellになりますが、PowerShellに対応していないソフトウェアを使う場合はコマンドプロンプトを使うというのが最近のプログラミングでは一般的な流れです。

「スタートメニュー」を開き「Windowsシステムツール」を開くと「コマンドプロンプト」という項目があるので、これをクリックすることでコマンドプロンプトを起動することができます。

コマンドプロンプトは「cmd.exe」というファイルとして存在します。
Windows10であれば「cmd.exe」は「C:\Windows\System32」以下に存在します。
「C:\Windows\System32」のフォルダ以下を覗くのは操作ミスがあった場合に危険なので、基本的にスタートメニューから参照したほうがいいでしょう。

この他には「Windowsキー」と「Rキー」を同時押しして出てくる「ファイル名を指定して実行」ウィンドウに、「cmd」と入力してエンターキーを押すことでもコマンドプロンプトを起動することができます。

PowerShell

PowerShell(パワーシェル)はマイクロソフトが開発したソフトウェアです。
コマンドプロンプトに似たソフトウェアで、これもコマンドラインインタプリタ(シェル)です。
コマンドプロンプトより後発のソフトウェアで、現代的な機能が備わっています。

PowerShellはデフォルトではいわゆる「青い画面」で、黒い画面といった場合はこのPowerShellは入らないかもしれません。
しかしカテゴリ的にはコマンドプロンプトと同系列のソフトウェアで、背景色を黒色に変更することも出来るので、ここで紹介しておきたいと思います。

コマンドプロンプトは歴史のあるソフトウェアで、その機能は現代的とは言えないことが多いです。
そのためマイクロソフトはコマンドプロンプトの後継になるパワフルなシェルを開発しようとしました。
現代的で、便利で、Windowsの機能を十分に使いこなせるシェルを目指しました。
それがPowerShellです。

2016年8月からPowerShellはオープンソース化され、LinuxやMacにも移植されるようになりました。
最近のマイクロソフトはオープンソース化を進めていますが、これもその一環のようです。

Windows10であればPowerShellは「C:\Windows\System32\WindowsPowerShell\v1.0」フォルダ以下に存在します。
また「スタートメニュー」を開き「Windows PowerShell」を開くと「Windows PowerShell」という項目があるので、これをクリックしても起動することができます。
または「Windowsキー」と「Rキー」を同時押しして出てくる「ファイル名を指定して実行」ウィンドウに「powershell」と入力しエンターキーを押すことでも起動することができます。

Bash

Bash(バッシュ)はLinuxなどで使われるシェルです。
Bashは「Bourne Again Shell」の略です。
有名なGNU(グニュー)プロジェクトで開発されたシェルで、UNIX/Linuxの世界では世界一有名なシェルと言ってもいいでしょう。

このBashもコマンドプロンプトやPowerShellなどと同様に、その役割はユーザーからのコマンド(入力される文字列)を読み取って、OSの機能を使ってファイル名を変更したり、ファイルの内容を出力したり、あるいはネットワーク通信をしたりすることです。
もちろんプログラミングで作成したプログラムも実行できます。

コマンドプロンプトなどのマイクロソフト系のシェルと、BashなどのUNIX界隈のシェルでは、その思想や設計からしてすべて違っています。
ですが、基本的には目的は同じです。
その目的とはOSの機能を使うことです。

しかしこれらのシェルはインターフェース、つまり使い勝手が大きく異なっていることが多いため、1つのシェルを使えるようになったから別のシェルもすぐに使えるようになるとは限りません。
特にコマンドプロンプトとBashはだいぶ使い勝手が違います。

同系列のシェルであれば、それは親戚みたいなものなので、学習するのはだいぶはかどりますが、マイクロソフトの開発したシェルとUNIX界隈で育まれたシェルを並行して使うには注意が必要です。
慣れればどっちもすぐに使えるようになりますが。

黒い画面の使い方

ではWindowsユーザーの人限定になってしまいますが、実際にコマンドプロンプトを使ってみたいと思います。
まずはコマンドプロンプトを起動しましょう。
「スタートメニュー」を開き「Windowsシステムツール」を開くと「コマンドプロンプト」という項目があるので、これをクリックしてコマンドプロンプトを起動します。

コマンドプロンプトを起動すると黒い画面のウィンドウが現れると思います。

ではその起動したシェルに「dir」というコマンドを入力し、エンターキーを押して実行してみてください。
すると現在のフォルダの中身の一覧が画面に出力されると思います。
これは「dir」という入力、つまりコマンドをコマンドプロンプトが解釈して、そのコマンドに対応する処理、つまりフォルダの中身を一覧表示するという処理を実行したためです。

このようにシェルではコマンドを入力すると、その実行結果を受け取ることが出来ます。

Linux系の人はシェルに「ls」と入力すると、コマンドプロンプトの「dir」に相当する処理を実行できますので試してみてください。

おわりに

黒い画面の正体はシェルです。
そしてシェルとは、OSの機能を使ったり、プログラミングで書いたコードを実行したりする時に使います。
シェルとマブダチになることであなたのプログラミング・ライフはさらに向上することでしょう。

🦝 < 黒ずくめのシェル