【コマンドの基礎】ターミナルとシェルの関係とは?

【コマンドの基礎】ターミナルとシェルの関係とは?

macでターミナルを使ってコマンドでシェルやシェルスクリプトって何だろう?ふわふわしていて抽象的で何だかよく分からないなあ。という方の疑問にサクッとお答えします。

ボクはプログラミング学習を2018年春から独学で始めて約1年。プログラミングの勉強を進めていると、シェルやシェルスクリプトという単語を目にすることがちらほら出てきました。

そこで、ターミナルとシェル、シェルスクリプトについてサクッと簡単にまとめましたので、ご紹介します。

ターミナルは単に表示する役割の端末

macでコマンドを入力する黒い画面がターミナルです。

ターミナルはパソコンのディスプレイみたいなもので、単に情報を表示する役割をしている画面、端末です。

ターミナルは何個も新規ウィンドウとして開くことができます。

下の画像のように「 ttys000 」と表示されているのが端末の名前です。新規ウィンドウで開くごとに数字の部分が変わって、それぞれ固有の名前が付きます。

下の画像のように「 ttys000 」と表示されているのが端末の名前です。
端末名:ttys000

画像は、端末名「 ttys000 」に続けて新規ウィンドウを開くと「 ttys002 」という端末名が付いている様子です。

画像は、端末名「 ttys000 」に続けて新規ウィンドウを開くと「 ttys002 」という端末名が付いている様子です。
端末名:ttys002

ちなみに、今開いているターミナルの端末名は何だろう?と調べるには、

「 tty 」コマンドで調べられます。

ターミナルに、「 tty 」と入力すると、画像のように今開いている端末名が表示されます。

ターミナルに、「 tty 」と入力すると、画像のように今開いている端末名が表示されます。

シェルとは

ターミナルの画面の中で動いているのが、シェル(shell)というソフトウェアです。

ターミナルに入力したコマンドをシェルが受け取り、受け取ったコマンドに応じたOSの機能を呼び出し、実行結果を画面に表示させる役割を持っています。

シェルという名前の由来とは?

シェルというネーミングの由来を理解するには、まず簡単にカーネルを知っておきましょう。

カーネルとは、メモリやCPUなどを制御していて、パソコンのOSの核となる部分のことです。

シェルというソフトウェアは、キーボードから入力したコマンドをカーネルに伝える役割を持っています。

カーネルを貝がらのように包み込むように存在しているので、シェルと呼ばれています。

ちなみに、シェルとは一般的で抽象的な呼び方で、ターミナルには、「 bash 」という名前のシェルが使われています。

シェルスクリプトとは

じゃあ、ざっくりとシェルはわかったけど、シェルスクリプトって何だ?というと、

ターミナルとは別ファイルにシェルで処理できるコマンドを書いておいて、ターミナルから別ファイルを読み込ませ、別ファイルに書いてあるコマンドを次々に、自動で実行させる方法をシェルスクリプトといいます。

なので、コマンドが多い時とか、いちいちコマンドに入力す流のが面倒な時、定期的に行う処理なので別ファイルにまとめて書いておいたほうが効率的な場合などにシェルスクリプトを使うと良いですね。

まとめ

ターミナルとは、端末のことで、スマホで言うところの画面と同じです。単に情報を表示する役割を持っています。

そして、ターミナルの画面に入力したコマンドを処理して実行結果を画面に表示する役割を持っているのが、シェルというソフトウェアです。

シェルスクリプトは、別ファイルにまとめてコマンドを書いておいて、ターミナルから別ファイルを読み込んで、ファイルに書かれているコマンドを実行させることでしたね。

コメント

タイトルとURLをコピーしました