ホーム お知らせ コマンドプロンプト、シェル、ターミナルとは?コンピュータの基礎

コマンドプロンプト、シェル、ターミナルとは?コンピュータの基礎

43287
0

そもそもコンピュータとは?

コンピュータにはいろいろな種類のものがあります。パソコンもコンピュータのうちの1つで、パソコンというとWindowsやMacOSなど個人的な利用を目的としたいわゆる「パーソナルコンピュータ」という事になります。パソコンはOS(オペレーティングシステム)と呼ばれる基本ソフトが入っていて、人間が視覚的にコンピュータを使えるように、デスクトップ画面を表示したり、アイコンを表示したり、マウスを動かすと矢印が動いて、マウスをクリックすると命令が実行されたりします。

最近ではプログラミングや電子回路などを学ぶための学習用コンピュータ「ラズベリーパイ」なども人気を集めていますが、これもコンピュータでLinuxベースのOSを搭載しています。

コンピュータに命令を送るのがシェルやコマンドプロンプト

コンピュータは人間の命令通り動いてくれます。パソコンではマウスを使っていろいろ命令をしています。しかし昔のパソコンは今のものみたいにマウスカーソルやウインドウ、アイコンなどは表示できなくて、文字を入力して命令をしていました。このコンピュータに人間からの命令(コマンド)を伝えるものをシェルやコマンドプロンプトと言います。

下の写真はWindowsのコマンドプロンプトの画面です。

直接文字で命令を送る画面のことをWindowsでは「コマンドプロンプト」と呼んでいます。このコマンドプロンプトを呼び出してみましょう。

画面右下のWindowsマークの横に「ここに入力して検索」という検索窓がありますので、そこに「cmd」と入力します。すると検索結果一覧に「コマンドプロンプト」と表示されますので、そこをクリックします。

コマンドプロンプトが開くと黒い画面に白い文字で「C:¥Users¥***>」と表示されています。***の部分は自分のユーザーネームになっています。この「>」の次にコマンドを入力することで、コンピュータがその通りに動いてくれます。

例えば、自分のユーザーフォルダにあるものを表示したい場合、Windowsの画面では、エクスプローラを開いて、自分のユーザーフォルダを開くという作業を行うとその中にあるフォルダやファイルのアイコンが見れますが、コマンドでこの動作を行うには>の次にdirと以下のように入力します。

C:¥Users¥***>dir

するとそのフォルダ内のフォルダやファイルが表示されます。<DIR>と表示されているのがフォルダ(ディレクトリ)であることを意味しています。

このように、コマンドプロンプトはWindowsへの命令を行うものの名前でシェルの1つとも言えます。ただ通常のシェルとはコマンドもだいぶ違います。

Linuxで定番のシェルとターミナルについて

コンピュータの歴史から言えば1968年に登場したUNIXというOSが古くからあるコンピュータの基本ソフトになります。当時UNIXはソフトウェアもハードウェアも非常に高価で、大学や大手企業が1台導入して、それを複数の人たちで使っていました。

図のように1台のコンピュータに「端末」といわれるいわばモニタとキーボードだけが搭載されたようなものが取り付けられて、1台のコンピュータを大勢の人が使って研究の計算や情報処理として順番に処理をしていました。この「端末」の事をターミナルと呼びます。このターミナルのモニタにはシェル画面が表示されて1台のコンピュータに向けて計算処理などのコマンドを受付順番に処理していきました。

Linuxのターミナルを起動してシェルを表示しているところ

時代が流れ、高価なUNIXはLINUX(リナックス)という同じようなOSがオープンソース化され広く一般にも普及していきました。MacやWindowsなどのパソコンなども普及してくるとハードウェアの価格もどんどん安くなりました。今まで形があった「ターミナル」はソフトウェアとなってシェルを表示させるプログラムとしてOS上で動作するようになりました。

つまり、ターミナルは昔あったコンピュータを使うための入力端末がソフトウェアになったもので、そのターミナルにシェルを表示させて、コンピュータに命令を送るというものになります。

いろいろなシェルの種類

シェルにもいろいろ種類があります。以下の画面はLinux系OSのRaspbianのLXTerminalというターミナルソフトの画面です。ターミナルにもいろいろ種類があります。ターミナルにはコマンドを入力するシェルの画面が表示されています。(黒い画面にコマンドの入力待ち状態である「$」が表示されている)シェルの種類を知るにはここに以下のコマンドを入力します。

$echo $SHELL

すると、 /bin/bash と表示されるので、「bash」という種類のシェルを使っていることがわかります。

ではこのLinux上で他にはどんなシェルが使えるのかというのも見ることができます。以下のコマンドを入力します。

$cat /etc/shells

使えるシェルの種類

/bin/sh
/bin/dash
/bin/bash
/bin/rbash

の4つがインストールされていて使える状態にあるという事です。最近よくつかわれているのがbash で shというのは最も古くからあるシェルです。ash系のシェルでdashというものがありbashとは互換が無い機能などもあります。rbashはbashの機能を制限したもので、権限を絞って使わせたいときなどに利用したりします。

Macにはシェルは標準で搭載されていて、Windowsにも2016年からLinuxを動作させることができるようになったため、Windows上でLinuxを動かしてその中でbashシェルを動作させることができるようになりました。後から機能を追加することでこれらが実現できるようになっています。

このようにプログラミングやコンピュータのコアな部分を知っていくためにはコマンド操作は欠かせないものになってきます。コマンドを使うような操作をおこなうようになってきたらこのあたりの違いをしっかり理解しておきましょう。