こんにちは、かつコーチです。
前回は、Ubuntu・CentOS・RHELといったディストリビューションの違いを解説しました。
今回はいよいよ実践編として、Linuxを操作する上で欠かせないターミナルとシェルの仕組みを解説します。
黒い画面に文字だけが並ぶ光景に、最初は戸惑う方も多いと思います。
この記事を読めば、ターミナルとシェルの役割が分かり、自信を持ってコマンドを打てるようになります。
ターミナルとシェルとは?
ターミナル:文字でコンピュータとやり取りする窓口
ターミナルとは、キーボードで文字を入力し、その結果を画面に表示するアプリケーションのことです。
正確には「ターミナルエミュレータ」と呼ばれ、昔の物理的な端末(ハードウェア)の役割をソフトウェアで再現したものです。
Ubuntuでは「GNOME端末」、macOSでは「ターミナル.app」など、OSごとに標準アプリが用意されています。
ターミナルはあくまで「窓口」であり、実際にコマンドを解釈して実行するのは、この後説明するシェルという別のプログラムです。
シェル:コマンドを解釈してOSに伝える通訳
シェルとは、人間が入力したコマンドを解釈し、OSの中核であるカーネルに処理を依頼するプログラムです。
「シェル(shell)」は「殻」という意味で、カーネルを直接操作する代わりに、人間にも扱いやすい形で包み込んでいることに由来します。
Ubuntu 26.04 LTSでは、標準シェルとしてbash(Bourne Again Shell)が使われることが多く、初心者はまずbashの操作を覚えれば十分です。
近年はzshという高機能なシェルも人気があり、macOSでは標準シェルとして採用されています。
ターミナルを開いて最初に試すこと
ターミナルの起動方法
Ubuntuのデスクトップ環境では、Ctrl + Alt + Tのショートカットキーでターミナルをすぐに開けます。
アプリ一覧から「端末」や「Terminal」を検索して起動することも可能です。
サーバー用途でGUIがない環境では、SSH接続後に表示される画面がそのままターミナルとして機能します。
プロンプトの見方
ターミナルを開くと、次のような文字列が表示されます。
katsu@ubuntu-server:~$
この行をプロンプトと呼び、コマンド入力を待っている状態を示します。
構成は「ユーザー名@ホスト名:カレントディレクトリ」となっており、`は一般ユーザー、#`はroot(管理者)ユーザーであることを表しています。
自分が今どのユーザーで、どこのディレクトリにいるかを、プロンプトを見るだけで把握できるようになると、操作ミスがぐっと減ります。
最初に打つべきコマンド
シェルの動作を体感するために、まずは次のコマンドを試してみましょう。
echo $SHELL
これは現在使用しているシェルのパスを表示するコマンドです。
/bin/bash
このように表示されれば、bashが使われていることが確認できます。
シェルの便利な機能を使いこなす
タブ補完でタイプミスを防ぐ
シェルにはタブ補完という機能があり、コマンドやファイル名の入力途中でTabキーを押すと、続きを自動で補完してくれます。
cd /etc/net[Tab]
このように途中まで入力してTabキーを押すと、/etc/network/のように候補が自動的に補われます。
長いパスを手入力する手間が減るだけでなく、タイプミスによるエラーを防げる点も大きなメリットです。
コマンド履歴を活用する
シェルは過去に実行したコマンドを記憶しており、キーボードの上矢印キー(↑)で直前のコマンドを呼び出せます。
history
historyコマンドを実行すると、これまで入力したコマンドの一覧が番号付きで表示されます。
似たコマンドを何度も打つ作業では、履歴を呼び出して一部だけ書き換える方が、ゼロから打ち直すより圧倒的に速いです。
つまずきやすいポイント:フォーカスが外れてコマンドが打てなかった話
私が初めてサーバー作業をしたとき、ターミナルにコマンドを打っているつもりが、まったく反応しないことがありました。
❌ Before:ターミナルウィンドウにフォーカスが当たっていない状態で入力
# ウィンドウをクリックせずにいきなりタイプ
ls -la
原因は単純で、別のウィンドウ(ブラウザなど)にクリックした直後で、ターミナルにフォーカス(入力対象)が移っていなかったことでした。
文字が表示されないまま何度もキーを叩き、最終的に意味不明な文字列がプロンプトに残るという初歩的なミスです。
✅ After:ターミナルウィンドウを一度クリックしてから入力する
# ターミナルウィンドウをクリックしてフォーカスを当ててから実行
ls -la
当たり前のようですが、複数のウィンドウを行き来する作業に慣れていない段階では、意外とハマりやすいポイントです。
慌てず、まずプロンプトが点滅しているかを確認する習慣をつけると防げます。
応用・一歩先の使い方
複数のコマンドを1行でまとめて実行する
シェルでは;や&&を使うことで、複数のコマンドを1行にまとめて実行できます。
# 順番に実行する(前のコマンドが失敗しても次に進む)
cd /var/log; ls -la
# 前のコマンドが成功したときだけ次を実行する
mkdir test_dir && cd test_dir
&&は「前のコマンドが成功したら次を実行する」という条件付き実行になるため、ディレクトリ作成の成否を確認しながら移動する場面などで重宝します。
別のシェルを試してみる
bashに慣れてきたら、補完機能やテーマ設定が豊富なzshを試してみるのもおすすめです。
# zshがインストールされているか確認
which zsh
# zshをインストールする(Ubuntuの場合)
sudo apt install zsh
業務で使うシェルは現場によって異なるため、bashとzshの両方に軽く触れておくと、環境が変わっても戸惑いにくくなります。
まとめ
この記事のポイント
- ターミナルは文字で操作するための窓口、シェルはコマンドを解釈してOSに伝える通訳
- Ubuntu 26.04 LTSの標準シェルはbash、
echo $SHELLで現在のシェルを確認できる - タブ補完とコマンド履歴(↑キー)を使いこなすと入力効率が大きく上がる
- ターミナル操作で詰まったら、まずウィンドウにフォーカスが当たっているか確認する
次に読むべき記事
シェルの仕組みが分かったら、次はLinuxのディレクトリ構成の基本を押さえていきましょう。
→ 次の記事:ディレクトリ構成の基本(/etc, /var, /home等)
タグ: Linux, 初心者向け, 入門