Linux 入門
Linuxを初めて学ぶ方向けの入門ガイドです。ターミナルの基本から始めましょう。
目次
なぜ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を使うのか
| 項目 | GUI | CLI |
|---|---|---|
| 学習コスト | 低い | やや高い |
| 操作速度 | 遅い | 速い(慣れると) |
| 自動化 | 難しい | 簡単 |
| リモート操作 | 重い | 軽い |
| サーバー管理 | ほぼ不可 | 標準 |
サーバーには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 を見る