Linux の Bash シェルとは何ですか?


Bash というと、Linux ディストリビューションにログインするユーザーを迎えるコマンドライン インターフェイスの奇妙な名前のように聞こえます。バッシュとは一体何でしょうか?何に使えますか?調べてみましょう。

通常、Bash は Linux に関連付けられていますが、Windows で使用する することもできます。 macOS にはすでに Bash が含まれていますが、デフォルトのシェルが Zsh (いくつかの追加機能を備えた Bash の高度なバージョン) に変更されました。

シェルとは何ですか?

Bash シェルという用語はよく使われますが、そもそもシェルとは何でしょうか?なぜ必要なのでしょうか?そして、Bash が唯一のシェルであるように見えるのはなぜですか?

直感的なグラフィカル ユーザー インターフェイスを備えた最新のオペレーティング システムにより、コンピュータの使用が簡単に感じられるようになりました。しかし、コンピュータの初期の頃、システムに何をすべきかを指示することはそれほど簡単ではありませんでした。

プログラマーは、コーディング対象のシステムの低レベルの詳細を理解し、ハードウェアのすべての部分を手動で指示する必要がありました。オペレーティング システムはこのギャップを埋めるように設計されましたが、OS 自体にどのように指示しますか?

シェルに入ります。 OS の最外層は、コンピュータのすべての機能をシンプルなインターフェイスで公開する対話型環境になるように設計されています。このシェルには、システムの操作に必要なすべてのコマンドが含まれているため、コンピュータのユーザーが最も深く掘り下げる必要がありました。

ボーン アゲイン: Bash の誕生

よくある誤解は、Bash が Linux オペレーティング システム用に Linus Torvalds によって作成されたということです。実際には、Bash は Linux に移植されただけで、その前身である Unix ではすでに使用されていました。

多くの意味で、Unix は最新のオペレーティング システムのすべての始まりです。これは、初期の OS 実装を悩ませていた複雑な複雑性の多くを取り除き、コンピュータの機能を比較的シンプルなテキストベースのインターフェースで表現しました。

もちろん、Unix 自体は、シェルの概念を含め、そのアイデアのほとんどを Multics から借用しています。しかし、この技術を実際に普及させたのは Unix であり、Thompson Shell は最初のバージョンで展開されました。

しかし、その機能は非常に限られており、多くのプログラマーは最終的にスクリプトをより使いやすいようにシェルを変更することになりました。 Bourne Shell は Unix シェルの正式な代替品であり、シェル スクリプトのサポートが追加されました。.

Bourne Again Shell はずっと後にリリースされ、スクリプト機能がさらに向上し、あらゆる OS で使用できる無料のオープンソース GNU ライセンス シェルになりました。そして、これはすぐに Linux に採用され、さまざまなディストリビューションのデフォルトのシェルになりました。

しかし、Bash では何ができるのでしょうか?

Bash は基本的に、Linux システムに完全にアクセスできる本格的なスクリプト環境です。ファイルの管理からアプリケーションの実行まで、あらゆるコンピューティング タスクを Bash コマンドで実行できます。

ほとんどの Linux ユーザーにとって、これは手動のシェル コマンドにのみ変換されます。結局のところ、Bash の主な目的は、オペレーティング システムへのインターフェイスとして機能することです。

これらの組み込みコマンドはかなりの数があります。 チャウン でファイルの所有権を管理し、ifconfig でネットワーク設定を構成し、探す でディレクトリを検索することができます。

しかし、ユーザーの関心が Linux コマンドだけだったら、Bash は存在しなかったでしょう。いいえ、Linux シェルの真の力はスクリプトにあります。

スクリプトの重要性

コマンドのスクリプト作成の考え方は単純です。システムに実行させたいすべてのコマンドを 1 つずつ手動で入力する代わりに、オンデマンドで実行できるテキスト ファイルにコマンドを保存します。

これにより、シェル インターフェイスが一種のプログラミング言語に変わり、ユーザーはあらゆるアクションを再利用可能なスクリプトに自動化できるようになります。どのプログラミング言語でも、コードを保存する機能に加えて、変数や関数なども必要となるため、明らかにそれ以上のものです。

Bash にはこれらの機能がすべて備わっています。これが、シェル (そしてある程度は Linux 一般) がサーバーや商用システムの管理に非常に人気がある理由です。

ホーム ユーザーは、多数のボタンをクリックするだけでアクセスできますが、システム管理者は、多数のコンピュータに対してリモートから任意の操作を実行できる必要があります。 Bash スクリプトは、この種の自動システム管理を可能にするものです。

たとえば、Linux でのファイルとフォルダーの名前変更に関するガイド について考えてみましょう。このガイドでは、GUI とスクリプトの両方の方法を説明しています。ご覧のとおり、多数のファイルが関係する場合、スクリプトによる方法ははるかに拡張性が高くなります。

Bash の使用を開始する.

Bash の良いところは、Linux だけに限定されないことです。 Bash にデフォルトで付属する Windows Subsystem for Linux (WSL) を介して Windows に Linux をインストールする できるようになりました。

つまり、Linux に完全に切り替えることなく、Bash の実験を開始できるということです。 Linux サーバーを使用するつもりのない一般的なユーザーであっても、Bash シェルの興味深い機能が役立つことがあります。

コンピューティング タスクを自動化するには Bash が唯一の選択肢というわけではありません。 パワーシェル は、Windows で動作する同様のインターフェイスです。もちろん、コマンドプロンプト で管理できるものとは異なります。

関連記事:


1.02.2023