シェル(shell)とは
シェルとは
カーネルとユーザーインターフェースを繋げるユーザインターフェースのこと。
ターミナルで入力したものを、カーネルが理解できるように解釈し実行する。また、出力する時は私達に理解できるように解釈し出力する。
別名コマンドインタプリンタ。Linuxの標準はbashだが、zshなど他のシェルを利用することも可能。
コマンド実行完了までのシーケンス
- プロンプトの表示
- コマンド解析
- プロセス生成
- プロセスが処理を実行
- プロセス終了
- 結果表示
コマンドの種類
コマンドには内部コマンドと外部コマンドの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