Windowsユーザーだと、Linuxが気になっているものの触ったことがない人は多いだろう。この特集では、LinuxとはどんなOSなのかを説明し、端末アプリを使ったCUIコマンドの基本的な実行方法を説明する。今こそLinuxを始めよう。
ターミナルを起動すると、システムの内部では「シェル」と呼ばれる種類のプログラムが常駐します。シェル(Shell)とは貝殻のような意味ですが、システムの中核部分であるカーネルを包み込んで、ユーザのコマンドを解釈してカーネルに伝え、実行結果を表示するという役割を担っています。
WindowsのコマンドプロンプトやPowerShellを使ったことのある方は、シェルはそれらと同じようなイメージで捉えるとよいでしょう。シェルやPowerShellのようなCUIコマンドを解釈しOSに伝える役割のソフトウエアを「コマンドインタプリタ」と呼びます。
いろいろなシェル
現在よく使われるシェルにはいくつかの種類があり、機能や使い勝手が異なります。本書では、Linuxにおける標準シェルである「Bash」(バッシュ)を基本に解説します。
CUI環境ではコマンドをすべてキーボードからタイプする必要があります。そう聞くと尻込みしてしまう読者も少なくないかもしれません。たしかに黎明期のシェルは、タイプの途中で修正することもできないなど使い勝手がよいとは間違っても言えないものでした。それに対して、本書で説明するBashは高機能シェルなどと呼ばれる、コマンドの入力をラクにするさまざまな便利な機能が搭載されているので、長いコマンドの入力もそれほど苦になりません。
なお、シェルはBシェル系、Cシェル系という分類方法があります。コマンドの実行方法はそれほど変わりませんが、シェルスクリプトの制御構造の書式などが大きく異なります。Bシェル系の元祖と言えるのが「sh」ですが、Bashはshと互換性を保ちつつ大きく進化させたシェルです。
コマンドプロンプトはコマンド入力がOKのしるし
ターミナル内でシェルが起動すると、現在コマンドを受け付けられることを示すコマンドプロンプト(以下プロンプト)が表示されます。
Ubuntuでのコマンドプロンプトの表示例を示します。
これは次のような形式になっています。
RHELでの表示例は、次のようになります。
形式は次の通りです。
どちらもカレントディレクトリ(現在自分がいるディレクトリ)部分が「~」(チルダ)になっています。シェルでは「~」はカレントディレクトリを表す特別な記号として使用されます。