4.1. シェル
4.1.1. シェルとシェルの種類
シェルとは
シェルはコマンドを解釈して実行するプログラムのこと。
利用可能なシェルは/etc/shellsで確認可能。
シェルの種類
| シェル | 説明 | 
|---|---|
| sh | UNIX V7から標準添付されているUNIXの基本的なシェル | 
| csh | C言語スタイルの構文を持ったUNIX系OSの代表的なシェル | 
| tcsh | Cシェルの派生版の中で特にユーザーインターフェイス部分を中心に拡張されたシェル | 
| ksh | Bシェルと上位互換を保ちながら、Cシェルなどから優れた機能を取り込んだシェル | 
| bash | UNIX系のシェルの1つでLinuxで用いられる標準のシェル | 
ログインシェル
ログインシェルはシステムへのログイン直後に起動するシェルのことで、これはユーザごとに定義が可能。
ユーザごとのログインシェルは/etc/passwdファイルに記述される。
なお現在ログインしている自身が使用しているシェルはps $$コマンドで確認できる。
4.1.2. シェルの基本操作と設定
シェルのキーボード操作
| 入力キー | 説明 | 
|---|---|
| Tabキー | コマンドやディレクトリ名などを補完する | 
| Ctrl + C | 実行処理を中断する | 
| Ctrl + Z | 実行処理を一時停止する | 
| Ctrl + A | 行の先頭へカーソルを移動する | 
| Ctrl + D | カーソル上にある文字列を1文字削除する | 
| Ctrl + E | 行の最後へカーソルを移動する | 
| Ctrl + H | カーソルの左側の文字列を1文字削除する | 
| Ctrl + L | 画面をクリアして、現在の行だけを再表示する | 
| Ctrl + Q | 画面への出力を再開する | 
| Ctrl + S | 画面への出力を停止する | 
ディレクトリの指定
| メタキャラクタ | 説明 | 
|---|---|
| ~ | ホーム | 
| . | カレントディレクトリ | 
| .. | 1つ上のディレクトリ | 
4.1.3. シェル変数と環境変数
Linuxが扱う変数にはシェル変数と環境変数の2種類がある。
シェル変数
シェル変数は現在実行しているシェルの中だけで有効な変数のこと。 特徴は以下の通り。
- シェルを終了すると失われる
- 別のシェルから参照することはできない
利用方法はecho $変数名で行い、例は以下の通り。
echo $hoge
hoge=123なおunset 変数名で定義した変数の削除が可能。
環境変数
環境変数は現在実行しているシェルとそのシェルで実行されたプログラムにも引き継がれる変数のこと。
利用方法はexport 変数名で行い、例は以下の通り。
hoge=123
export hogeまた主な環境変数は以下の通り。
| 環境変数 | 説明 | 
|---|---|
| PWD | カレントディレクトリ | 
| HOSTNAME | ホスト名 | 
| USER | 現在のユーザー | 
| LOGNAME | ログインシェルのユーザー名 | 
| HISTSIZE | コマンド履歴の最大値 | 
| HISTFILE | コマンド履歴を格納するファイル | 
| HISTFILESIZE | HISTFILEに保存する履歴数 | 
| LANG | ロケール | 
| HOME | カレントユーザーのホームディレクトリ | 
またPATHは既存のパスの後ろに;区切りで追加して以下のように通す。
export PATH=$PATH:/additional/pathシェル変数/環境変数の確認
シェル変数と環境変数を確認するためにはsetコマンドを使用する。
また設定済みの環境変数を一覧表示するためには、envコマンドやprintenvコマンドを使用する。
4.1.4. コマンドの実行と引用句
コマンドの区切り文字との実行
コマンドの区切り文字でコマンドを挟むと以下のような効果がある。
<コマンド1> <区切り文字> <コマンド2>| 区切り文字 | 説明 | 
|---|---|
| ; | コマンドを同時に実行 | 
| && | 最初に実行したコマンドが正常に終了できた場合のみ次コマンドを実行 | 
| || | 最初に正常にコマンド終了できなかった場合のみ次コマンドを実行 | 
コマンドに引用句を使う
| 引用句 | 説明 | 
|---|---|
| '' | 常に文字列として扱う | 
| "" | 変数展開する | 
| ~~ | コマンド展開する | 
| `` | コマンドを実行した結果を展開する | 
4.1.5. コマンド履歴の確認とマニュアルの確認
historyコマンド
historyコマンドはコマンド履歴を確認するコマンド。
| コマンド | 説明 | 
|---|---|
| history 数字 | 数自分だけ過去の履歴を表示 | 
| !数字 | 数字のコマンドを実行 | 
| !! | 直前のコマンドを実行 | 
manコマンド
manコマンドはオンラインマニュアルページを閲覧できるコマンド。
マニュアルを構成するファイルは/usr/share/manにある。
man <オプション> コマンド | キーワード| オプション | 説明 | 
|---|---|
| -a | 全てのセクションのマニュアルを表示 | 
| -f | 指定された完全一致のキーワードを含むドキュメントを表示 | 
| -k | 指定された部分一致のキーワードを含むドキュメントを表示 | 
| -w | マニュアルの置かれているディレクトリの表示 |