【手を動かす道場】Linux&ターミナル操作10本ノック(黒い画面の恐怖を消すファイル操作・権限・パイプ処理)

2026-11-06 / シリーズ「実戦コード・ノック道場」第2話 / Linux, CLI, ターミナル, ハンズオン, 10本ノック, 初心者向け

パソコンを開いて突然「真っ黒な画面(ターミナル/コマンドライン)」が現れ、緑や白のカーソルがチカチカと点滅しているのを見たとき、多くの初学者は本能的な恐怖を覚えます。 「マウスでクリックできるアイコンがない」 「どこを押せば何が起きるのか分からない」 「変なコマンドを打ったら、パソコンが二度と起動しなくなるのではないか」

しかし、世界中のプロエンジニア、クラウドを操るインフラ担当者、AI研究者たちは、例外なくマウスを投げ捨ててこの「黒い画面」に文字を打ち込み続けています。 映画のハッカーのように格好をつけているわけではありません。**「GUI(グラフィカルな画面)でポチポチ操作するより、CLI(文字による指示)のほうが100倍速く、自動化でき、遠隔地のサーバーを確実に操れるから」**です。

Linuxターミナルが難しく感じるのは、英語の単語を暗記しようとするからです。 ターミナルの背後には、50年以上前に作られた**「UNIXの物理哲学(すべてはファイルであり、小さな道具をパイプで繋ぐ)」**という極めて合理的で美しい設計思想があります。

本記事では、面倒なLinux環境のインストールや仮想マシンの立ち上げは一切不要です。 まずは5分で「黒い画面の物理構造」を理解し、ページ内に埋め込まれた**「仮想Linuxターミナル道場」で実際に手を動かして10本ノックを制覇**しましょう。


1. 黒い画面の正体:シェル(Shell)とカーネル(Kernel)の対話

まず、「ターミナルで文字を打つ」とはOSの中で何が起きているのか、その物理的な構造を整理しましょう。

私たちが使っているOS(Linux、macOS、あるいはWindowsのWSL)の心臓部には、CPUやメモリ、ハードディスクを直接コントロールする**「カーネル(Kernel:核)」**というプログラムが鎮座しています。 しかし、カーネルはあまりにも無口でデリケートな存在です。人間の言葉を直接理解することはできませんし、人間が適当にハードウェアをいじるとOS全体がクラッシュしてしまいます。

そこで、カーネルを安全に保護する「殻(から)」のような役割を果たす通訳ソフトが配置されました。これが**「シェル(Shell)」**です(現在最も普及しているのは bash や zsh です)。

1. コマンド入力 2. 文字列を渡す 3. システムコール 4. 物理制御 👤 人間 キーボードで打つ 🖥️ ターミナル 端末:文字の表示窓 🐚 シェル bash / zsh コマンドの通訳 ⚙️ カーネル OSの心臓部(核) 💾 ハードウェア CPU / メモリ / SSD
  1. 人間がキーボードで ls(ファイル一覧を見せて)と打つ。
  2. 画面の窓口であるターミナルが、その文字をシェルに届ける。
  3. シェルが「これはファイル一覧を要求する命令だな」と解釈し、カーネルに「ディスクの中身を読み取ってくれ」と頼む(システムコール)。
  4. カーネルがSSDからデータを吸い上げ、シェルとターミナルを経由して、画面に文字として出力する。

つまり、ターミナル操作とは魔法でも暗号でもなく、**「通訳(シェル)に対して、正確な手順書を1行ずつテキストで手渡しているだけ」**なのです。

触って試す:ボタンで巡る疑似ターミナル(道場の前のウォーミングアップ)

🖥️ 疑似ターミナル体験(ボタンだけでOK)

第3節の10本ノック道場の前に、肩慣らしです。コマンドのボタンを押すだけで、小さなファイルツリーの中を移動したり、ファイルの中身を見たりできます。キーボード入力は不要です。「いま自分がどこにいるか(現在地)」と、コマンドが効く範囲が現在地に左右されることに注目してください。


2. UNIXの狂気的な哲学:標準入出力と「パイプ(配管)」の物理

Linuxを世界最強のOSたらしめている最大の秘密が、1970年代にケン・トンプソンとデニス・リッチーが確立した**「UNIX哲学」**です。

「1つのことだけを完璧にこなす小さなプログラムを書け。それらを繋ぎ合わせて巨大な仕事を成し遂げよ。」

Windowsなどのアプリは、1つのソフト(ExcelやPhotoshopなど)が何でもできる巨大な万能ナイフになりがちです。 一方、Linuxのコマンド群は信じられないほど単機能で「ケチ」です。

1つひとつのコマンドは、子どものおもちゃのように単純です。しかし、これらを**「パイプ(|)」**という記号で繋ぎ合わせた瞬間、どんな複雑なデータ加工も一撃でこなすモンスターへと化けます。

標準入出力(3本の土管)

すべてのLinuxコマンドは、生まれた瞬間から手元に**「3本の透明な土管(ファイルディスクリプタ)」**を握りしめています。

0: 標準入力 stdin 普段はキーボードに接続 Linuxコマンド 例: grep / sort 1: 標準出力 stdout 普段は画面に接続 2: 標準エラー出力 stderr エラーメッセージ用

通常、入力(0)はキーボードに繋がり、出力(1)とエラー(2)は画面に繋がっています。 しかし、UNIXはこの土管の繋ぎ先を**自由自在に付け替える(リダイレクト・パイプ)**ことを可能にしました。

cat パイプで直結! パイプで直結! リダイレクト > 📄 app.log ログファイル 標準出力 cat の出口(stdout) grep 'ERROR' エラー行だけ抽出 wc -l 行数を数える error_count.txt 結果を保存

一度ディスクにファイルを書き出す必要すらありません。データはメモリ上のパイプラインを猛スピードで通り抜け、必要な情報だけが研ぎ澄まされて出てきます。 この「配管工学」こそが、Linuxターミナルの真の醍醐味です。


3. 【実践】ブラウザ内完結・仮想Linuxターミナル10本ノック道場

下の黒い画面は、あなたのブラウザのメモリ内で完全にシミュレートされた**「仮想Linuxターミナル」**です。 初期状態として、仮想サーバーの /home/user ディレクトリが開かれており、架空のWebシステム(設定ファイル、ログファイル、ソースコード)が配置されています。

画面上部の問題を選び、プロンプト($)の後にコマンドを打ち込んで Enterキー を押してください。 (※ ls, pwd, cd, cat, mkdir, touch, cp, mv, grep, chmod, clear などの標準コマンドが本物のLinuxと同様に動作します。自由に探索してみてください!)

LINUX TERMINAL DOJO 全10問・実戦ターミナル操作演習
クリア状況: 0 / 10 問
bash - user@astro-server:~
<!-- ターミナル出力コンソール -->
<div id="term-screen" style="height: 280px; overflow-y: auto; padding: 14px; font-family: 'Consolas', 'Monaco', 'Courier New', monospace; font-size: 0.9rem; line-height: 1.5; color: #f1f5f9; white-space: pre-wrap; word-break: break-all;"></div>

<!-- プロンプト入力行 -->
<div style="display: flex; align-items: center; background: #020617; padding: 8px 14px; border-top: 1px solid #0f172a;">
  <span id="term-prompt" style="color: #10b981; font-family: monospace; font-weight: bold; margin-right: 8px; white-space: nowrap;">user@astro-server:~$</span>
  <input id="term-input" type="text" autocomplete="off" spellcheck="false" style="flex: 1; background: transparent; border: none; outline: none; color: #38bdf8; font-family: 'Consolas', 'Monaco', monospace; font-size: 0.95rem;" placeholder="コマンドを入力してEnter (例: ls -la)">
</div>

4. 全10本ノックの「急所」と模範解答・現場の掟

道場で実際に手を動かしたあとに読むことで、現場トラブルを未然に防ぐ「一生モノの知識」を完全インストールします。

第1問〜第3問:迷子にならない「空間認識」の型

【Q1】現在地確認と一覧(pwd / ls -la)

【Q2・Q3】移動と相対パス(cd / cd ..)


第4問〜第6問:ファイルとディレクトリを操る型

【Q4・Q5】作成の作法(mkdir -p / touch)

【Q6】ファイルの中身を見る(cat / head / tail)


第7問〜第9問:配管工学(grep・パイプ・リダイレクト)

【Q7】文字列の高速フィルタリング(grep)

grep 'ERROR' server.log

【Q8・Q9】パイプ | とリダイレクト > の決定的な違い

パイプ | :コマンドとコマンドを繋ぐ コマンドA 標準出力 コマンドB 標準入力 | 出力がそのまま次の入力になる リダイレクト > :コマンドとファイルを繋ぐ コマンドC 標準出力 📄 ファイル 書き込み保存 > 出力がファイルに書き込まれる

第10問:パーミッション(権限)の数学

【Q10】権限変更(chmod 755 と chmod +x)

Linuxで ls -l を叩いたとき、一番左に並んでいる -rwxr-xr-x という文字列。これは暗号ではなく、「誰が何をしていいか」を定めた3人分の許可証です。

「-rwxr-xr-x」の読み方( ls -l の先頭10文字) - rwx r-x r-x 種類 先頭1文字 - はファイル、d はフォルダ 所有者(自分) 2〜4文字目 読み・書き・実行 グループ(同僚) 5〜7文字目 読み・実行のみ その他(他人) 8〜10文字目 読み・実行のみ

これらを足し算した数字が、現場でよく聞く「755」や「644」です。

chmod 755 script.sh とは、**「自分は書き換えも実行もできる(7)が、同僚や他人は読むことと動かすことしかできない(5と5)」**という、プログラムを公開する際の最も標準的な安全設定なのです。


結論:CUIとは「OSと交わす最短の対話」である

マウスで画面を操作するGUIは「受動的」です。画面にボタンを用意してもらわなければ何もできません。 それに対して、文字だけで指示を出すCLI(ターミナル)は**「能動的」**です。 あなたがやりたい操作を正確なコマンドとして記述すれば、数千個のファイルリネームも、テラバイト級のログ解析も、瞬時に自動化できます。

  1. pwd と cd で空間を把握する
  2. cat と grep で情報を絞り込む
  3. |(パイプ)でコマンドを連結し、>(リダイレクト)で成果を残す

この3つの型が身についたとき、黒い画面は「恐怖のブラックボックス」から、**「世界中のサーバーを最も自由自在に操れる最高峰のコックピット」**へと姿を変えるのです。


📝 3行で頭に入る『試験・実務・投資の要点まとめ』

  1. 【シェルの役割】 ターミナルは文字の表示窓、シェル(bash等)は人間の入力をカーネルのシステムコールへ通訳する中継役である。
  2. 【パイプとUNIX哲学】 単機能のコマンド同士をパイプ(|)で繋ぎ、メモリ上で標準出力を標準入力へと直結することで、高速なデータパイプラインを構築できる。
  3. 【パーミッションの8進数】 r=4, w=2, x=1 の合算値で表現され、755 は所有者フル権限(7)、グループと他人は実行と読取のみ(5)を表す。

確認クイズ

📝 確認クイズ(3問)