シェルとは

 シェルとは、ユーザーがコンピュータのオペレーティングシステムと対話するためのインターフェースです。主にコマンドラインインターフェース(CLI)として提供され、ユーザーはコマンドを入力し、シェルはそのコマンドを解釈して実行します。シェルはスクリプトを書くための言語としても使用され、自動化やシステム管理のための強力なツールです。

シェルの種類

シェル名フルスペル読み方説明
shBourne Shellボーンシェル古典的なUNIXシェルで、多くのスクリプトで互換性があります。
kshKorn Shellコーンシェルshの拡張版で、スクリプティング機能が強化されています。
bashBourne Again Shellバッシュshの後継で、多くのLinuxディストリビューションでデフォルトのシェルです。
cshC ShellシーシェルC言語に似た構文を持つシェルで、特定の環境で人気があります。
tcshTENEX C Shellティーシーシェルcshの拡張版で、コマンドライン編集や履歴機能が強化されています。
zshZ Shellゼットシェル高度な機能を持ち、カスタマイズ性が高いシェルで、多くのユーザーに人気があります。
シェルの種類

bashの機能

機能説明
コマンド履歴の保存ユーザーが入力したコマンドの履歴を保存し、再利用可能にします。
コマンドの別名設定alias コマンドを使ってコマンドの短縮形や別名を設定できます。
シェルの変数設定環境変数やユーザー定義の変数を設定し、スクリプトやセッション全体で使用できます。
引用符の解釈シングルクォート(’)やダブルクォート(”)を使って文字列の解釈を制御します。
コマンド実行のアレンジ複数のコマンドを実行する。
ワイルドカードの解釈*? などのワイルドカードを使ってファイル名のパターンマッチングを行います。
シェル機能の保存と設定.bashrc.bash_profile などの設定ファイルを使ってシェルの設定を永続化します。
スクリプティング機能条件分岐、ループ、関数などを使って複雑なスクリプトを作成できます。
自動補完機能Tabキーを使ってコマンドやファイル名を自動補完します。
入出力リダイレクト標準入力、標準出力、標準エラーのリダイレクトをサポートします。
コマンド置換コマンドの出力を別のコマンドの入力として使用できます。
bashの機能

これらの機能により、bashは多くのLinuxユーザーにとって強力で便利なツールとなっています。

bashの機能の具体例

以下に、bashの主要な機能とその具体的な例を紹介します。

コマンド履歴の保存
  • 機能: ユーザーが入力したコマンドの履歴を保存し、再利用可能にする。
  • 具体例history コマンドを使って過去のコマンドを見ることができます。
history
  • 再利用: 矢印キーの上下を使って以前のコマンドを呼び出せます。
!23  # 23番目のコマンドを再実行
コマンドの別名設定
  • 機能alias コマンドを使ってコマンドの短縮形や別名を設定。
  • 具体例llls -la のエイリアスとして設定。
alias ll='ls -la'
  • エイリアスの解除
unalias ll
シェルの変数設定
  • 機能: 環境変数やユーザー定義の変数を設定。
  • 具体例: 環境変数 PATH にディレクトリを追加。
export PATH=$PATH:/new/directory
  • ユーザー定義変数:
my_var="Hello, World!"
echo $my_var
引用符の解釈
  • 機能: シングルクォート(’)やダブルクォート(”)を使って文字列の解釈を制御。
  • 具体例: ダブルクォートは変数展開を行う。
name="John"
echo "Hello, $name"  # 出力: Hello, John
  • シングルクォートは変数展開を行わない
echo 'Hello, $name'  # 出力: Hello, $name
入出力リダイレクト
  • 機能: パイプ(|)、リダイレクト(>、>>、<)を使用してコマンドの入力と出力をアレンジ。
  • 具体例: コマンドの出力をファイルにリダイレクト。
ls > file_list.txt
  • パイプを使用
ps aux | grep bash
ワイルドカードの解釈
  • 機能*? などのワイルドカードを使ってファイル名のパターンマッチングを行う。
  • 具体例: ディレクトリ内のすべてのテキストファイルを表示。
ls *.txt
シェル機能の保存と設定
  • 機能.bashrc.bash_profile などの設定ファイルを使ってシェルの設定を永続化。
  • 具体例.bashrc にエイリアスを追加。
echo "alias ll='ls -la'" >> ~/.bashrc
source ~/.bashrc
その他の機能
  • 自動補完機能: Tabキーを使ってコマンドやファイル名を自動補完。
cd Doc[TAB]  # Documents ディレクトリに補完

これらの具体例を使って、bashの強力な機能を活用できます。