【新連載】黒い画面と友達になろう!AlmaLinux 9で始めるBashシェルスクリプト入門【第1回】

bash講座

【新連載】なぜ今「Bash」を学ぶのか?Linux操作の核心に迫る

こんにちは!当サイト管理人の「リナックス先生」です。
さて、これまでWebサーバーの構築などを通じてLinuxに触れてきた「コウ君」ですが、普段の操作で何か悩みはないかしら?

コウ君

先生!実は…サーバー構築の記事を見ながらコマンドをコピペするのは得意になったんですけど、正直「自分が何を命令しているのか」よく分かってないんです。
エラーが出るともうお手上げで…。もっと自由にあの「黒い画面」を操れるようになりたいです!

リナックス先生

素晴らしい向上心ね、コウ君。
その「黒い画面」で私たちが対話している相手、それこそが「シェル(Shell)」よ。
今回は、企業の業務システムでも広く採用されている「AlmaLinux 9」を舞台に、Linux標準のシェルである「Bash(バッシュ)」を基礎から徹底的にマスターする全12回の特別講座を始めるわよ!

本日からスタートする長期連載(全12回)では、単なるコマンドの暗記ではなく、「シェルがどう動いているか」という仕組みから理解し、最終的には「シェルスクリプトによる業務自動化」ができるレベルを目指します。

これを学べば、あなたは「手順書通りにしか動けないオペレーター」から、「システムを自在に操るエンジニア」へと進化できるはずです。

本講座のカリキュラム(全12回)

AlmaLinux 9 (RHEL 9互換) 環境を前提に、基礎から応用までステップバイステップで進めます。

  1. 【今回】Bash入門編:シェルとカーネルの関係、CUIの哲学、環境構築
  2. ファイル操作の基本:ls, cd, pwd, mkdir…呪文のようなコマンドを解読せよ
  3. ファイル管理の極意:コピー、移動、削除、そして「ワイルドカード」の魔法
  4. 権限(パーミッション)とユーザー:chmod, chown, sudoの仕組みを完全理解
  5. 入出力リダイレクトとパイプ:Linuxの真骨頂!コマンド同士を連携させる技術
  6. テキスト処理の基本:cat, head, tail, less…ファイルの中身を覗く道具たち
  7. 最強のエディタ「Vi/Vim」入門:サーバー内でテキストを編集する必須スキル
  8. シェルスクリプトの第一歩:ファイルにまとめて自動実行!変数と引数の基礎
  9. 条件分岐(if文):サーバーの状態を見て「判断」できるスクリプトを作る
  10. 繰り返し処理(for/while文):面倒な単純作業を1秒で終わらせるループ処理
  11. テキスト処理の応用:grep, sed, awk…ログ解析の達人になるための三種の神器
  12. 実践・自動化スクリプト:バックアップと監視を自動化し、Cronで定期実行する

そもそも「シェル(Shell)」とは何か?

カーネルを包み込む「貝殻」

コウ君、私たちが普段「Linux」と呼んでいるOSの中心には、「カーネル(Kernel)」という核が存在します。
カーネルはハードウェア(CPUやメモリ、ディスク)を直接制御する非常に重要な部分ですが、実は人間語(コマンド)を直接理解することはできません。

コウ君

えっ、そうなんですか?
僕たちがキーボードで打った文字は、誰が翻訳してくれているんですか?

リナックス先生

そこで登場するのが「シェル」よ。
ユーザーからの入力を受け取り、それをカーネルが理解できる言葉に翻訳して伝え、結果を画面に表示する。
カーネルという核を包み込む「貝殻(Shell)」のような役割をしているから、そう呼ばれているの。

イメージとしてはこんな感じです。

  • ユーザー(あなた)
    「今のディレクトリにあるファイルを見せて!」とコマンド(ls)を入力。
  • シェル(Bash)
    「御意。カーネル様、ユーザーがファイル一覧を求めています」と翻訳して依頼。
  • カーネル(Linux Core)
    ハードディスクを読み込み、データを取得してシェルに返す。
  • シェル(Bash)
    受け取ったデータを文字として画面に表示する。

つまり、これから学ぶのは「通訳さん(シェル)への正しい指示の出し方」なのです。

なぜ「Bash」なのか?

シェルにはいくつか種類があります(sh, csh, ksh, zshなど)。
その中でも、Linux標準として最も広く使われているのが「Bash (Bourne Again Shell)」です。

macOSでは最近「zsh」が標準になりましたが、サーバー用途のLinux(特にRHEL系やAlmaLinux)では、依然としてBashが絶対的な標準です。
Bashを覚えておけば、世界中のほぼすべてのLinuxサーバーを操作できると言っても過言ではありません。

GUIとCUI:なぜ「黒い画面」を使うのか?

WindowsやMacのように、マウスでアイコンをクリックして操作する画面をGUI (Graphical User Interface) と呼びます。
対して、キーボードだけで文字を入力して操作する画面をCUI (Character User Interface)、またはCLI (Command Line Interface) と呼びます。

コウ君

今の時代、マウスで操作できたほうが直感的で楽じゃないですか?
なんでわざわざ難しいコマンドを覚える必要があるんですか?

確かに最初はとっつきにくいですが、サーバー管理においてCUIには圧倒的なメリットがあります。

特徴 GUI (マウス操作) CUI (コマンド操作)
操作速度 目視してカーソルを動かすため限界がある 熟練すれば爆速。履歴機能で再実行も一瞬
自動化 非常に難しい(RPAなどが必要) テキストファイル(スクリプト)に書くだけで自動化可能
リソース 画面描画に大量のメモリとCPUを使う 非常に軽量。サーバーの力を本来の処理に回せる
リモート操作 回線が遅いとカクカクして操作不能 文字だけなので、低速回線でもサクサク動く

特に重要なのが「自動化」です。
「毎日夜中の3時にログファイルをバックアップして、古いファイルを削除する」といった作業をマウス操作で毎日やるのは苦行ですが、シェルスクリプトなら数行書くだけで一生自動でやってくれます。
これが、エンジニアがコマンド操作を愛する理由です。

学習環境の準備:AlmaLinux 9を用意しよう

理屈はこれくらいにして、実際に手を動かす環境を整えましょう。
本講座では、Red Hat Enterprise Linux (RHEL) 9と完全な互換性を持つ「AlmaLinux 9」を使用します。

なぜAlmaLinux 9なのか?

CentOS 7のサポート終了後、その後継として企業導入が進んでいるのがAlmaLinuxです。
また、バージョン「9」は最新の技術に対応しており、今後数年間のスタンダードとなります。
古いCentOS 7などで練習するよりも、今のうちに最新の「9」の作法(dnfコマンドや新しいセキュリティ設定など)に慣れておくことが、エンジニアとしての価値を高めます。

VPSの活用を推奨

リナックス先生

コウ君、コマンドの練習をする時、一番怖いのは何かわかる?
それは「間違って重要なファイルを消して、PCを起動不能にしてしまうこと」よ。
だからこそ、自分のPCではなく、壊してもすぐ再構築できる「VPS」を使うのが賢い学習法なの。

この講座では、初心者でもOSの再インストールが簡単で、AlmaLinux 9のテンプレートが用意されているConoHa VPSを推奨環境として進めます。

▼本講座で利用する推奨VPSはこちら

【2026年最新】Linuxサーバー構築におすすめのVPS比較3選!現役エンジニアが速度とコスパで厳選
Linuxの勉強、まだ「自分のPC」でやって消耗していませんか?「Linuxを覚えたいけど、環境構築でエラーが出て先に進めない…」「VirtualBoxを入れたらパソコンが重くなった…」これは、Linux学習を始める9割の人がぶつかる壁です...

※申し込み時に「OS」を選択する項目で、必ず「AlmaLinux」のバージョン「9.x」を選択してください。

最初の第一歩:ターミナルへの接続と確認

VPSの準備ができたら、SSHで接続してみましょう。
Windowsなら「PowerShell」か「TeraTerm」、Macなら「ターミナル」を使います。

ssh root@あなたのVPSのIPアドレス

パスワードを入力し、以下のようなプロンプトが表示されれば、そこはもうBashの世界です。

[root@localhost ~]#

プロンプトの見方

この [root@localhost ~]# という表示には、重要な情報が詰まっています。

  • root:現在ログインしているユーザー名(管理者)
  • @localhost:ホスト名(サーバーの名前)
  • ~ (チルダ):現在いる場所(カレントディレクトリ)。チルダは「ホームディレクトリ(自分の家)」を意味します。
  • #:権限のマーク。# は管理者(root)、$ は一般ユーザーを表します。

試しにコマンドを打ってみよう

まずは、PCに負荷をかけない簡単なコマンドで挨拶してみましょう。

1. 日付を表示する date

[root@localhost ~]# date
Mon Jan  1 10:00:00 JST 2024

2. 自分の名前を表示する whoami

[root@localhost ~]# whoami
root

3. 文字を表示する echo

[root@localhost ~]# echo Hello Bash World!
Hello Bash World!
コウ君

おお!ちゃんと返事をしてくれました!
echo コマンドって、ただ文字を返すだけで何の意味があるんですか?

リナックス先生

今は単純に見えるけど、この echo はシェルスクリプトの中で「処理の経過を表示する」とか「ファイルに文字を書き込む」時にものすごく使う重要なコマンドなのよ。
まずは「キーボードで打ったことが、画面に返ってくる」感覚を楽しんでね。

次回予告:ファイル操作の基本をマスターせよ

第1回は、シェルの概念と学習環境の準備について解説しました。
「黒い画面」への恐怖心が少しは薄れましたか?

次回からは、いよいよ本格的なコマンド操作に入ります。
「ls」「cd」「pwd」「mkdir」……呪文のような2文字、3文字のコマンドを駆使して、サーバーの中を自由自在に探検する方法を伝授します。

これを知らないと、サーバーの中で迷子になって二度と帰ってこられなくなりますよ!

リナックス先生

次回までに、AlmaLinux 9のVPSにSSH接続できるよう準備しておくこと!
これから12回、一緒に最強のBash使いを目指しましょう!

▼本講座推奨!AlmaLinux 9がすぐ使えるVPS

【2026年最新】Linuxサーバー構築におすすめのVPS比較3選!現役エンジニアが速度とコスパで厳選
Linuxの勉強、まだ「自分のPC」でやって消耗していませんか?「Linuxを覚えたいけど、環境構築でエラーが出て先に進めない…」「VirtualBoxを入れたらパソコンが重くなった…」これは、Linux学習を始める9割の人がぶつかる壁です...

コメント