Linux シェルを学ぼう
シェル(shell)とは
シェル(貝殻)とは、ユーザーとシステムのやり取りを担うプログラムです。
私たちは、ターミナルからコマンドを入力しますが、シェルは、このコマンドをカーネルに伝えて、カーネルからの実行結果を変換し表示してくれます。
カーネル(中核)とは、アプリケーションとハードウェアとのやり取りを行う処理(メモリー管理、ファイルの管理、デバイスドライバとしての役割、プロセスの管理)を担当するプログラムです。

Linuxの標準シェルには、bash(Bourne Again Shell)バッシュがあります。
その他に、sh、csh、tcsh、zchなどのシェルがあります。
ここでは、シェルの機能について学んで行きます。
使用しているシェルの確認方法
使用しているシェルの確認は、以下のコマンドで確認する事が出来ます。
・ $ cat /etc/passwd
/etc/passwd ファイルの詳細については、こちらの記事を参照して下さい。

シェルの基本機能
入力を簡単にする機能
シェルには、入力を簡単にする機能があります。コマンド入力時に利用できます。
キー | 説明 |
---|---|
Tab キー | コマンドやファイル名を途中まで入力し、Tabキーを押します。 候補が1つだけの場合は、残りの文字を補完してくれます。 2回 Tabキーを押すと、下に候補が表示されます。 |
↑キー・↓キー | ↑キーを押すと、以前に入力したコマンドを表示します。 ↓キーを押すと、戻る事が出来ます。 |
Ctrl + a キー | 行の先頭へカーソルを移動します。 |
Ctrl + e キー | 行の末尾へカーソルを移動します。 |
Ctrl + l キー | 画面をクリアします。 |
Ctrl + c キー | 処理を中断します。 |
history コマンド
historyコマンドでコマンド履歴を表示する事ができます。
また、 historyコマンドで 表示された履歴番号を元に「!履歴番号」と入力する事で、指定した番号のコマンドを再実行する事ができます。
コマンド | 説明 |
---|---|
history | コマンド履歴を表示する。 |
書式 | history [オプション] [数値] |
オプション | -c コマンド履歴を削除する |
実行例 | 直近10のコマンド履歴を表示する $ history 10 |

標準入力と標準出力、標準エラー出力
Linuxでは、シェルから起動されたコマンドが、1つの入口(標準入力)と2つの出口(標準出力、標準エラー出力)を持っています。
種類 | ファイルデスクリプタ番号(識別子) | 説明 |
---|---|---|
標準入力 | 0 | キーボードから入力を受け付ける。 |
標準出力 | 1 | ディスプレイへ出力する。 |
標準エラー出力 | 2 | エラーメッセージを出力する為の出口で、ディスプレイへ出力する。 |

リダイレクト
リダイレクトとは、 上記の標準入力と標準出力、標準エラー出力先を一時的に別のファイルへ切り替える機能の事を言います。
リダイレクト記号 | 説明 |
---|---|
< | 標準入力の入力元を変更する。 |
> | 標準出力の出力先を変更する。データは上書きされる。 |
>> | 標準出力の出力先を変更する。データは追記される。 |
2> | 標準エラー出力の出力先を変更する。データは上書きされる。 |
2>> | 標準エラー出力の出力先を変更する。データは追記される。 |
書式 | コマンド 「リダイレクト記号」 出力先ファイル名 |
実行例 | /etcディレクトリ以下のファイル一覧をfile.txtファイルに出力する $ ls /etc > file.txt |

パイプ
パイプとは、複数のコマンドをつないで、処理を連動させる機能の事を言います。

コマンド | 説明 |
---|---|
パイプ「|」 | コマンドの出力先を別のコマンドへ渡す。 |
書式 | コマンド1 | コマンド2 |
実行例 | /etcディレクトリ以下のファイル一覧を less コマンドで表示する $ ls -l /etc | less |


エイリアス
エイリアス(別名)とは、コマンドやオプションの入力に対して、短くて分かりやすい様に別名を付ける事を言います。
コマンド | 説明 |
---|---|
alias | エイリアス(別名)を設定・表示する。 |
書式 | alias [別名[=’コマンド’]] |
実行例 | rmコマンドを実行した場合、常に-i オプションが付くようにエイリアス rm を設定する $ alias rm=’rm -i’ |


コマンド | 説明 |
---|---|
unalias | エイリアス(別名)を削除する。 |
書式 | unalias エイリアス名 |
実行例 | エイリアス rm を削除する $ unalias rm |


プログラミングスキルを身に着けてITエンジニアとして活躍してみませんか?
ITエンジニアは、DX、AI、IoT時代を迎え、ますます需要が高っています。
