12-LPIC「level1」

LPIC|level 1【シェル】

目標

  • シェル (Shell) ついて理解する

シェル (Shell)

シェル (Shell) とは

シェル (Shell) は、コンピュータシステムとユーザーとの間でのインターフェースを提供するプログラムです。シェルはコマンドラインインターフェース(CLI)の一部として動作し、ユーザーが入力したコマンドを解釈して実行します。この場合のシェルは オペレーティングシステム(OS)との対話を可能にする「ユーザーインターフェース」 の役割を果たします。

Linux学習でシェルというとコマンドラインシェル(OSシェル)をさします。

コンピュータシステムとユーザーとの間を取り持つものとして、概念で分けると次のようなものがあります。

  1. GUIシェル:ユーザーが視覚的に操作できる環境を提供。
  2. アプリケーションシェル:アプリケーションのナビゲーションやツールバーなどのインターフェース。
  3. OSシェル:オペレーティングシステムとユーザー間のインターフェース(コマンドラインやGUIシェル)。
  4. ハードウェアシェル:ハードウェアを保護する外装。
  5. ウェブシェル:ウェブブラウザ経由でアクセスできるシェル。
  6. ゲームシェル:ゲーム内のメニューや設定システム。
  7. 電子機器のシェル:家電やデバイスの外装。

コマンドラインシェル としての シェル は主に以下の2つの役割を担っています:

  • ユーザーのコマンドの解釈と実行:シェルはユーザーからの入力(コマンド)を受け取り、オペレーティングシステムに伝える。
  • スクリプト言語としての機能:シェルは一連のコマンドをファイルにまとめて実行するためのスクリプトとしても使用できます。

シェル (コマンドラインシェル) の主な種類

シェル (コマンドラインシェル)には多くの種類があり、代表的なものとして以下があります。※これ以降は単にシェルとした場合は、コマンドラインシェルを指します。

  1. Bash (Bourne Again Shell)
    • 最も広く使用されているシェルで、LinuxやmacOSをはじめ、Unix系OSのデフォルトシェルです。
    • Bourne Shell (sh) を拡張したもので、スクリプト言語としても非常に強力です。
    • 便利な機能(例えば、コマンド履歴の管理やコマンド補完)や拡張構文を備えています。
  2. Zsh (Z Shell)
    • Bash を基にして作られたシェルで、Bashの全機能を持ちつつ、さらに多くの機能が追加されています。
    • コマンド補完や、カスタマイズの柔軟性が高いため、開発者やパワーユーザーに人気があります。
  3. Fish (Friendly Interactive Shell)
    • 直感的なユーザーインターフェースを提供することを目的としたシェルです。
    • デフォルトでシンタックスハイライトや自動補完機能を持っていて、初心者でも使いやすいと言われています。
  4. Csh (C Shell)
    • C言語のような構文を持つシェルで、C言語に親しみのあるプログラマーに向いています。
    • tcsh は Csh の改良版で、履歴機能や補完機能が追加されています。
  5. Ksh (Korn Shell)
    • Bash や Csh の機能を組み合わせたシェルで、古くから存在するUnixのシェルです。
    • 特にスクリプト言語としての機能が強力です。

シェルの主な機能

シェルは、単にコマンドを実行するだけでなく、ユーザーが効率的に作業できるよう、さまざまな機能を提供しています。

1.コマンドの実行
シェルは、ユーザーが入力したコマンドを解釈し、OSのカーネルに渡して実行します。

2.リダイレクトとパイプ
シェルはコマンドの出力をリダイレクトしたり、他のコマンドに渡すことができます。

  • リダイレクト (> と >>): コマンドの出力をファイルに保存する。
  • パイプ (|): コマンドの出力を別のコマンドの入力として渡す。

3.ジョブ管理
シェルはバックグラウンドでコマンドを実行したり、停止したプロセスを再開したりすることができます。

  • バックグラウンド実行 (&): コマンドをバックグラウンドで実行する。
  • bg # 停止したジョブをバックグラウンドで再開
  • fg # バックグラウンドジョブをフォアグラウンドで再開

4.環境変数
シェルは環境変数を使用して、システムの設定やユーザー固有の設定を管理します。例えば、$PATH はシステムがコマンドを検索するディレクトリを指定します。

5.コマンド補完と履歴
シェルは、ユーザーがコマンドを効率的に入力できるよう、補完機能と履歴機能を提供しています。具体的には、コマンドやファイル名を入力途中でTabキーを押すと、自動的に補完されます。

6.シェルスクリプト
シェルスクリプトは、複数のシェルコマンドを自動化するために使われます。シェルスクリプトはファイルに保存され、実行することができます。

LPIC試験では、Bashシェル を使用することが前提となっているので、Bashに関する知識が求められます。シェルの基本的な操作からスクリプト作成、コマンドライン操作に関する理解が重要です。

今回は以上になります。

「Linux」おすすめ書籍6選【初心者・脱初心者用】| 現役エンジニア&プログラミングスクール講師「Linux」初心者の方がLinuxの操作や仕組みを理解するためのお勧めの書籍について取り上げています。また中級者として更に進んだ学習ができる書籍についても1冊取り上げています。ページの下部には「おすすめのITスクール情報」「おすすめ求人サイト」について情報を掲載中。...

ブックマークのすすめ

「ほわほわぶろぐ」を常に検索するのが面倒だという方はブックマークをお勧めします。ブックマークの設定は別記事にて掲載しています。

「お気に入り」の登録・削除方法【Google Chrome / Microsoft Edge】「お気に入り」の登録・削除方法【Google Chrome / Microsoft Edge】について解説している記事です。削除方法も掲載しています。...
【パソコン選び】失敗しないための重要ポイント | 現役エンジニア&プログラミングスクール講師【パソコン選び】失敗しないための重要ポイントについての記事です。パソコンのタイプと購入時に検討すべき点・家電量販店で見かけるCPUの見方・購入者が必要とするメモリ容量・HDDとSSDについて・ディスプレイの種類・バッテリーの持ち時間や保証・Officeソフト・ウィルス対策ソフトについて書いています。...
RELATED POST