GNU/Linux >> Linux の 問題 >  >> Linux

UNIX / Linux :シェルとは?異なるシェルとは何ですか?

シェルとは?

シェルは、ユーザーとオペレーティング システム (OS) カーネル間のインターフェイスを提供するプログラムです。 OS は、ユーザーがログインするか、ターミナルまたはコンソール ウィンドウを開くと、各ユーザーのシェルを開始します。

カーネルは次のようなプログラムです:

  • すべてのコンピュータ操作を制御します。
  • すべての実行ユーティリティを調整します
  • 実行中のユーティリティが互いに干渉したり、すべてのシステム リソースを消費したりしないようにする
  • すべてのシステム プロセスをスケジュールおよび管理する

シェルは、カーネルとインターフェースすることにより、ユーザーがユーティリティとプログラムを実行する方法を提供します。

ユーザー環境

シェルは、初期化ファイルを使用してカスタマイズできるユーザー環境も提供します。これらのファイルには、次のようなユーザー環境特性の設定が含まれています。

  • コマンドを見つけるためのパスを検索します。
  • 新しいファイルに対するデフォルトの権限
  • 他のプログラムが使用する変数の値
  • カスタマイズできる値

さまざまなシェルとは?

次のセクションでは、主に UNIX/Linux オペレーティング システムで使用可能な OS シェルについて説明します。シェルの機能とそのデフォルト プロンプトについても説明します。

1.ボーンシェル

AT&T Bell Labs の Steve Bourne によって作成された Bourne シェル (sh) は、オリジナルの UNIX シェルです。そのコンパクトさと速度から、シェル プログラミングに適したシェルです。 Bourne シェルの欠点は、以前のコマンド (履歴) を呼び出す機能など、対話的に使用するための機能がないことです。 Bourne シェルには組み込みの算術式と論理式の処理もありません。

Bourne シェルは、Solaris OS のデフォルトのシェルです。これは、Solaris システム管理スクリプトの標準シェルです。 Bourne シェルの場合:

  • コマンドのフルパス名は /bin/sh です および /sbin/sh .
  • root 以外のユーザーのデフォルト プロンプトは $ です .
  • root ユーザーのデフォルト プロンプトは # です .

2. Cシェル

C シェル (csh):

  • Bill Joy によって書かれた UNIX 拡張機能です。 カリフォルニア大学バークレー校
  • エイリアスなどのインタラクティブな使用のための組み込み機能 とコマンド履歴 .
  • 組み込み演算などの便利なプログラミング機能が含まれています C に似た式の構文 .

C シェルの場合:

  • コマンドのフルパス名は /bin/csh です .
  • root 以外のユーザーのデフォルト プロンプトはホスト名 % です .
  • root ユーザーのデフォルト プロンプトはホスト名 # です .

3.コーンシェル

Korn シェル (ksh):

  • David Korn によって書かれました AT&T ベル研究所で
  • Bourne シェルのスーパーセットです。
  • Bourne シェルのすべてをサポートします。
  • C シェルに匹敵するインタラクティブな機能を備えています。
  • 組み込み演算などの便利なプログラミング機能が含まれています および C ライクな配列関数 、および文字列操作機能 .
  • C シェルよりも高速です。
  • Bourne シェル用に作成されたスクリプトを実行します。

Korn シェルの場合:

  • コマンドのフルパス名は /bin/ksh です .
  • root 以外のユーザーのデフォルト プロンプトは $ です .
  • root ユーザーのデフォルト プロンプトは # です .

4. GNU Bourne-Again シェル

GNU Bourne-Again シェル (bash):

  • Bourne シェルと互換性があります。
  • Korn および C シェルの便利な機能を組み込みます。
  • コマンドの呼び出しと編集のために自動的にマッピングされる矢印キーがあります。

GNU Bourne-Again シェルの場合:

  • コマンドのフルパス名は /bin/bash です .
  • root 以外のユーザーのデフォルトのプロンプトは bash-x.xx$ です . (x.xx はシェルのバージョン番号を示します。例:bash-3.50$)
  • root ユーザーのデフォルト プロンプトは bash-x.xx# です . (x.xx はシェルのバージョン番号を示します。例:bash-3.50$#)

以下は、4 つのシェルすべてとその特性の簡単な比較です。

シェル パス デフォルトのプロンプト (root 以外のユーザー) デフォルト プロンプト (ルート ユーザー)
ボーン シェル (sh) /bin/sh および /sbin/sh $ #
C シェル (csh) /bin/csh % #
コーンシェル (ksh) /bin/ksh $ #
GNU Bourne-Again シェル (Bash) /bin/bash bash-x.xx$ bash-x.xx#


Linux
  1. LinuxとUnix:違いは何ですか?

  2. % は Linux シェル文字列で何をしますか?

  3. 異なる Linux/Unix カーネルは互換性がありますか?

  1. Linuxユーザーとは何ですか?

  2. UnixからLinuxへの移行

  3. Linux –異なるLinux / UNIXカーネルは交換可能ですか?

  1. Linux – Gnu / linuxでファイルパーミッションなどを設定するさまざまな方法は何ですか?

  2. Linuxのシェルの種類は何ですか?

  3. UNIX/Linux の umask とは