メインコンテンツまでスキップ

Linux 入門

Linuxを初めて学ぶ方向けの入門ガイドです。ターミナルの基本から始めましょう。


目次

  1. なぜLinuxを学ぶのか
  2. ターミナルとは
  3. 最初のコマンド
  4. コマンドの基本構造
  5. ファイルとフォルダ
  6. 困ったときは

なぜLinuxを学ぶのか

サーバーの世界はLinuxが主流

┌─────────────────────────────────────────────────────────────┐
│ Linuxが使われる場所 │
├─────────────────────────────────────────────────────────────┤
│ │
│ 🌐 Webサーバー │
│ └── Amazon, Google, Netflix... ほぼすべてLinux │
│ │
│ 📱 Android スマートフォン │
│ └── Linuxカーネルがベース │
│ │
│ 🐳 Docker / Kubernetes │
│ └── コンテナ技術はLinuxの機能を使用 │
│ │
│ ☁️ クラウド (AWS, GCP, Azure) │
│ └── EC2などの仮想マシンはほとんどLinux │
│ │
│ なぜ? │
│ ・無料で使える(オープンソース) │
│ ・安定している │
│ ・カスタマイズしやすい │
│ ・セキュリティが高い │
│ │
└─────────────────────────────────────────────────────────────┘

この学習で得られること

  • サーバーの操作ができるようになる
  • Dockerを理解するための基礎知識
  • 障害対応やログ調査ができるようになる
  • 「黒い画面」が怖くなくなる

ターミナルとは

GUIとCLI

┌─────────────────────────────────────────────────────────────┐
│ 操作方法の違い │
├─────────────────────────────────────────────────────────────┤
│ │
│ GUI(グラフィカル・ユーザー・インターフェース) │
│ ┌─────────────────────────────────────────────────────┐ │
│ │ 📁 Documents │ │
│ │ 📁 Downloads ← マウスでクリックして操作 │ │
│ │ 📁 Pictures │ │
│ └─────────────────────────────────────────────────────┘ │
│ 普段使っているWindowsやMacのデスクトップ │
│ │
│ CLI(コマンドライン・インターフェース) │
│ ┌─────────────────────────────────────────────────────┐ │
│ │ $ ls │ │
│ │ Documents Downloads Pictures ← 文字で操作 │ │
│ │ $ │ │
│ └─────────────────────────────────────────────────────┘ │
│ ターミナル(黒い画面)でコマンドを入力して操作 │
│ │
└─────────────────────────────────────────────────────────────┘

なぜCLIを使うのか

項目GUICLI
学習コスト低いやや高い
操作速度遅い速い(慣れると)
自動化難しい簡単
リモート操作重い軽い
サーバー管理ほぼ不可標準

サーバーにはGUIがないため、CLIでの操作が必須です。

ターミナルを開いてみよう

Mac:
アプリケーション → ユーティリティ → ターミナル
または Spotlight で「terminal」と検索

Windows:
WSL(Windows Subsystem for Linux)をインストール
または Git Bash を使用

Linux:
Ctrl + Alt + T

プロンプトの見方

user@hostname:~$
│ │ │ │
│ │ │ └── コマンド入力待ち($は一般ユーザー、#はroot)
│ │ └──── 現在のディレクトリ(~はホームディレクトリ)
│ └───────────── コンピュータの名前
└────────────────── ユーザー名

最初のコマンド

まずは打ってみよう

# 今いる場所を表示
pwd

# 出力例: /home/user
# 「Print Working Directory」の略
# 「今、自分がどこにいるか」を教えてくれる
# ファイル・フォルダの一覧を表示
ls

# 出力例:
# Documents Downloads Pictures
# 今日の日付を表示
date

# 出力例: Mon Dec 23 10:30:00 JST 2024
# カレンダーを表示
cal

# 出力例:
# December 2024
# Su Mo Tu We Th Fr Sa
# 1 2 3 4 5 6 7
# 8 9 10 11 12 13 14
# ...
# 自分のユーザー名を表示
whoami

# 出力例: user

間違えても大丈夫

# 存在しないコマンドを打つと...
$ helloworld
command not found: helloworld

# エラーメッセージが出るだけ。壊れません!

画面をきれいにする

# 画面をクリア
clear

# または Ctrl + L

コマンドの基本構造

コマンドの形

┌─────────────────────────────────────────────────────────────┐
│ コマンドの構造 │
├─────────────────────────────────────────────────────────────┤
│ │
│ コマンド オプション 引数 │
│ │ │ │ │
│ ▼ ▼ ▼ │
│ ls -l /home │
│ │
│ 「/home フォルダの中身を、詳細表示(-l)で見せて」 │
│ │
│ 例: │
│ ls → 今いる場所のファイル一覧 │
│ ls -l → 詳細情報付きで表示 │
│ ls /home → /home フォルダの中身を表示 │
│ ls -l /home → /home フォルダを詳細表示 │
│ │
└─────────────────────────────────────────────────────────────┘

よく使うオプション

オプションは「-」(ハイフン)で始まります。

# ls のオプション
ls -l # 詳細表示(long)
ls -a # 隠しファイルも表示(all)
ls -la # 両方組み合わせ

# 出力例(ls -l)
# -rw-r--r-- 1 user staff 1234 Dec 23 10:00 file.txt
# drwxr-xr-x 2 user staff 64 Dec 23 09:00 Documents
# │ │ │ └── ファイル名
# │ │ └── サイズ
# │ └── 所有者
# └── ファイルタイプと権限(後で詳しく学びます)

スペースが重要

# 正しい
ls -l

# 間違い(スペースがない)
ls-l
# → command not found: ls-l

ファイルとフォルダ

基本の移動コマンド

# 今いる場所を確認
pwd
# /home/user

# ディレクトリ(フォルダ)を移動
cd Documents
pwd
# /home/user/Documents

# 一つ上のディレクトリに戻る
cd ..
pwd
# /home/user

# ホームディレクトリに戻る
cd ~
# または単に cd だけでもOK
cd

パスの書き方

┌─────────────────────────────────────────────────────────────┐
│ 絶対パスと相対パス │
├─────────────────────────────────────────────────────────────┤
│ │
│ / ← ルート(一番上) │
│ └── home │
│ └── user ← あなたのホームディレクトリ │
│ ├── Documents │
│ │ └── report.txt │
│ └── Downloads │
│ │
│ 絶対パス(/から始まる、どこからでも同じ) │
│ /home/user/Documents/report.txt │
│ │
│ 相対パス(今いる場所からの道順) │
│ もし今 /home/user にいるなら... │
│ Documents/report.txt │
│ │
│ 特殊な記号: │
│ . → 今いるディレクトリ │
│ .. → 一つ上のディレクトリ │
│ ~ → ホームディレクトリ │
│ │
└─────────────────────────────────────────────────────────────┘

ファイルの中身を見る

# ファイルの内容を表示
cat file.txt

# 長いファイルをページ単位で見る
less file.txt
# q で終了、スペースで次のページ、b で前のページ

# 最初の10行だけ見る
head file.txt

# 最後の10行だけ見る
tail file.txt

ファイルを作る・消す

# 空のファイルを作成
touch newfile.txt

# ファイルをコピー
cp original.txt copy.txt

# ファイルを移動(名前変更にも使える)
mv oldname.txt newname.txt

# ファイルを削除(注意!ゴミ箱に行かず即削除)
rm file.txt

# ディレクトリを作成
mkdir newfolder

# ディレクトリを削除(空の場合のみ)
rmdir emptyfolder

# ディレクトリを中身ごと削除(危険!確認なしで全削除)
rm -r foldername

困ったときは

コマンドの使い方を調べる

# マニュアルを見る
man ls
# q で終了

# 簡易ヘルプ
ls --help

# コマンドが何か調べる
type ls
# ls is /bin/ls

よくある問題と解決

┌─────────────────────────────────────────────────────────────┐
│ よくあるエラーと対処 │
├─────────────────────────────────────────────────────────────┤
│ │
│ command not found │
│ └── コマンド名のスペルミス、またはインストールされていない │
│ │
│ Permission denied │
│ └── 権限がない。sudo をつけて実行(後で学びます) │
│ │
│ No such file or directory │
│ └── ファイルやディレクトリが存在しない │
│ ls で確認してみよう │
│ │
│ コマンドが終わらない │
│ └── Ctrl + C で強制終了 │
│ │
│ 画面がおかしくなった │
│ └── reset と入力してEnter │
│ │
└─────────────────────────────────────────────────────────────┘

便利なショートカット

キー動作
Tabコマンドやファイル名の補完
↑ / ↓コマンド履歴の表示
Ctrl + C実行中のコマンドを中断
Ctrl + L画面をクリア
Ctrl + A行の先頭に移動
Ctrl + E行の末尾に移動
Ctrl + Dシェルを終了

Tab補完を活用しよう

# Doc まで打って Tab を押すと...
cd Doc<Tab>
# → cd Documents/ と補完される

# 候補が複数ある場合は Tab を2回押すと一覧表示
cd D<Tab><Tab>
# Documents/ Downloads/

練習問題

実際にターミナルで試してみましょう。

# 1. 今いる場所を確認
pwd

# 2. ホームディレクトリのファイル一覧を表示
ls

# 3. 詳細表示で見てみる
ls -la

# 4. 練習用ディレクトリを作成
mkdir practice

# 5. 作成したディレクトリに移動
cd practice

# 6. 空のファイルを作成
touch hello.txt

# 7. ファイルができたか確認
ls

# 8. ホームに戻る
cd ~

# 9. 練習用ディレクトリを削除(中身ごと)
rm -r practice

次のステップ

この入門が理解できたら、次に進みましょう。


まとめ

覚えておきたい最低限のコマンド

コマンド意味使用例
pwd今いる場所pwd
lsファイル一覧ls -la
cdディレクトリ移動cd Documents
catファイル表示cat file.txt
mkdirディレクトリ作成mkdir newfolder
touchファイル作成touch newfile.txt
cpコピーcp a.txt b.txt
mv移動/名前変更mv old.txt new.txt
rm削除rm file.txt

大切なこと

  • 間違えても壊れない
  • Tab補完を活用する
  • わからなければ man や --help を見る