gabuLog

趣味と考え事をつらつらと

シェル(shell)とは

シェルとは

カーネルユーザーインターフェースを繋げるユーザインターフェースのこと。

ターミナルで入力したものを、カーネルが理解できるように解釈し実行する。また、出力する時は私達に理解できるように解釈し出力する。

別名コマンドインタプリンタ。Linuxの標準はbashだが、zshなど他のシェルを利用することも可能。

コマンド実行完了までのシーケンス

  1. プロンプトの表示
  2. コマンド解析
  3. プロセス生成
  4. プロセスが処理を実行
  5. プロセス終了
  6. 結果表示

コマンドの種類

コマンドには内部コマンドと外部コマンドの2種類がある。

内部コマンド

シェルの内部に組み込まれているコマンド。

環境PATHは設定されていない。

例:echo,cdなど

外部コマンド

/usr/bin/usr/sbinなどのディレクトリに置かれたコマンド。

環境PATHによって実行するファイルのディレクトリが設定されている。

例:ls,catなど

PC環境の設定

シェルにはPCの環境を調整する為、変数を用いて環境を調整する。

変数には2種類がある。

シェル変数

設定されたシェルのみが利用できる変数(ローカル変数)。

子プロセスには引き継ぎ不可。

設定:name=value

参照:$name

削除:unset name

一覧表示:set

環境変数

設定されたシェルとこのシェルで起動したプログラムで使用できる変数(グローバル変数)。

子プロセスに引き継ぎ可能。

設定:export name=value

参照:export -p name

削除:export -n name

一覧表示:env, printenv