Linuxシェルの基礎と使い方をわかりやすく解説
コンシューマー向けLinuxディストリビューションには強力なグラフィカルユーザーインターフェース(GUI)が搭載されています。しかし、Linuxは1970年代のUnixの世界にルーツを持つOSであるため、特定のGUIに依存しないアーキテクチャで動作するという特徴があります。
テキストベースでシステムにアクセスするための入り口のことをシェル(shell)と呼びます。Linuxでは複数のシェルを利用できます。

シェルとは何か?
シェルとは、コンピューターのOSとテキストベースでやり取りするための仕組みで、コマンドインタプリタ(命令解釈プログラム)とも呼ばれます。シェルはそれぞれ固有の構文とロジックを持ち、ログインしたユーザーとカーネル(OSの中核)の間を仲介する役割を担い、システムユーティリティやユーザーがインストールしたアプリケーションなど、他のプログラムを実行します。
Linuxで利用できる主なシェルは以下の通りです。
- Bash(バッシュ):現在のほとんどのLinuxディストリビューションで標準シェルとして採用されています。コマンド履歴、コマンドライン編集、エイリアス機能、基本的なジョブ制御など、対話操作に最適化されています。
- Fish(フィッシュ):初心者にも扱いやすい設計が特徴で、コマンド補完、スクリプト作成、高度なターミナル機能を重視しています。対話用途に特化したシェルです。
- Ksh(Kornシェル):それ自体が高水準のプログラミング言語としての側面を持ちながら、対話操作のサポートも優れています。
- Zsh(ゼットシェル):上級者向けのシェルで、高度なスクリプト機能と高いカスタマイズ性が魅力です。さまざまなインデックス形式にも対応しています。
シェルは好きなだけ複数インストールしても問題ありません。デフォルトとして設定できるのは1つだけですが、シェルの中で別のシェルを起動し、さらにその中で別のシェルを起動することも自由自在です。自分のディストリビューションにどのシェルがインストールされているかを確認するには、cat /etc/shellsコマンドを実行しましょう。
なお、シェルとターミナルは同じものではありません。ターミナルとは、シェルセッションが動作するためのGUIアプリケーションのことです。通常、シェルセッションを開始するにはターミナルが必要ですが、両者は独立した存在です。つまり、同じターミナルアプリケーションでどんなシェルでも実行でき、逆にどのシェルも任意のターミナル上で動作します。
Microsoft WindowsやApple macOSにもシェルが搭載されています。Windowsの場合、従来は「コマンドプロンプト」がその役割を果たし、新しいバージョンでは「PowerShell」がサポートされています。macOSでは、「ターミナル」アプリを起動するとシェルセッションが開きます。Linuxにおいて、一部の記事ではシェルセッションを「コマンドプロンプト」と表現することがありますが、「Command Prompt」という名称はMicrosoft固有のものなので注意しましょう。
なぜシェルを使うべきなのか?
一般的な家庭向けデスクトップ環境のLinuxユーザーであれば、必ずしもシェルを使う必要はありません。最新のLinuxには充実したGUIのコントロールパネルが備わっており、日常的な設定のほとんどはGUIだけで完結できます。
しかし、Linuxには多数のディストリビューションと十数種類以上のデスクトップ環境が存在するため、基本的な操作方法ですら、説明が混乱しやすいのが実情です。手順の説明が特定のデスクトップ環境に限定されていない場合、操作方法は大きく異なることがあります。こうした背景から、Linuxのハウツー記事やトラブルシューティング情報の多くは、シェルコマンド中心に解説されているのです。
例えば、Linuxマシンで現在実行中のプログラムを確認したい場合、GUIでの手順はディストリビューションによって異なります。Ubuntu 20.04ならランチャーを開いて「システムモニター」を選択しますが、openSUSE TumbleweedではKメニューの「システム」フォルダから「KSysGuard」を起動します。さらに、GUIツールごとに見た目や機能も違うため、それぞれ異なる手順やスクリーンショットが必要になります。ところが、どちらのディストリビューションでも、シェルセッションからps -axコマンドを実行すれば、同じ形式で同じ結果を得られるのです。
Linuxシェルの基本的な使い方
テキストのみの世界で活躍するのは、それほど難しいことではありません。実際、多くの熱心なLinuxファンはシェルの中で生活していると言っても過言ではないでしょう。まずは、お使いのディストリビューションのターミナルアプリ(または同等のプログラム)を起動してください。ウィンドウが開くと、そこが新しいシェルセッションのスタート地点です。
作業が終わったら、exitコマンドを入力するか、ターミナルアプリを閉じて終了します。
各シェルにはそれぞれ独自の機能がありますが、ディレクトリを移動するcdコマンドやファイル内容を表示するcatコマンドといった共通のLinuxユーティリティは、どのシェルでも同じように動作します。まずは基本コマンドを覚え、その後で自分の使っているシェル固有の構文を学べば、シェルの真の力を発揮できるようになるでしょう。
-
Windows 10にBash(Linuxシェル)をインストールして使う方法【WSL完全ガイド】
Windows上でLinuxシェルをセットアップして使う方法を、Windows Subsystem for Linux(WSL)を使って解説します。 このチュートリアルは、2020年以降にリリースされた最新版のWindows 10を対象としています。古いバージョンのWindows 10でのWSLの使い方や、Windows 8/7/XP向けの別の方法については扱いません。サポートが終了したソフトウェアの使用は避けるべきだからです。どうしてもWindowsを使わなければならない場合は、必ずセキュリティ更新プログラムが提供されているバージョンを使用してください。 WSLは非常に優れたツールで、まるで
-
Linuxのwatchコマンドの使い方と実用例をわかりやすく解説
Linuxのwatchコマンドは、指定したコマンドを一定間隔で繰り返し実行し、その結果を画面に表示し続けるためのツールです。コマンドの出力が時間とともにどう変化するかをリアルタイムで監視したい場合に非常に便利です。この記事では、watchコマンドの基本的な使い方と、覚えておくと役立つ実用的な例を紹介します。 watchコマンドの基本構文 watchコマンドの構文は以下のとおりです。 watch オプション コマンド 各要素の意味は次のとおりです。 オプション: 後述の表から選択したオプションを指定します。watchコマンドのデフォルト動作を変更できます。 コマンド: watchが繰り返し実行