LoginSignup
11
5

シェル?bash?ターミナル?

Last updated at Posted at 2024-03-07

はじめに

bashと「シェル」と「ターミナル」の違いが説明できなかったので調べました。

「ターミナル」とは

  1. 「『コンピューターと対話するための』物理的なデバイス」
    キーボードを入力・モニターやプリンターを出力とする

  2. 「GUI環境内でCLIを提供するソフトウェアアプリケーション(ターミナルエミュレーター)」の略称

簡単に補足します。

まず、コンピューターと人は、そのままでは意思疎通(コンピューターに仕事をさせる)ことができません。
そこで、キーボードやモニターを使用し、コンピューターと意思疎通するわけです。
この端末を「ターミナル」と呼びます。

また、この「ターミナル」のエミュレーター(模倣品)が「ターミナルエミュレーター」です。

「GUI」とは「マウスカーソルを使用してファイルをいじる」ことであり、「CLI」とは「キーボードのみでファイルをいじる」ことです。

「シェル」とは

「シェルとは何か」は複雑な問題でした。

  1. 「ユーザーからのコマンドを受け取り、OSに伝えるインターフェース」全体の名称。
    ターミナルが画面を提供し、シェル
    例:bashWindows Powershellも「シェル」である。

  2. かつて多くのUNIX系OSで使用されていたBourne shellのこと。また、そのコマンド名shのこと。
    例:bashBourne shell(=略称:シェル)に影響を受けた「シェル」である。

  3. bashなどの「現在使用されているシェル」への「ハードリンク」「シンボリックリンク」としてのsh
    例:(設定されていれば)"docker compose exec web /bin/sh = docker compose exec web bash" である。

  4. 例外として、SSH(セキュアシェル)の略称。ただし誤解を招く表現で、避けるべきである。

シェル、一言で何?

「総称としてのシェル」「シェルの中でも、特にBourne shellのこと」「現在使われているシェル(bashなど)へのリンク」です。


難しいので、「shellPowershellなどの総称である」ということだけ覚えればよいでしょう。

bashとは

先ほどから少し触れていますが、bash「シェル」の一種であり、
Bourne shell」に大きく影響を受けた後続のシェルです。

bashBourne Again SHellの略称です。もろにBourne shellですね。

おわりに

大まかには理解できたと思います。

言葉や理解が足りないところがあればコメントお願いします!

参考

参考 他

いつか見たツイート

ChatGPT

11
5
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
11
5