「VPSを契約したけど、ターミナル(黒い画面)が怖い…」 「コマンドを覚えきれなくて、毎回ググっている…」
そんなエンジニアのために、Linuxサーバー運用で**「息をするように使う」**必須コマンドを体系的にまとめました。 ファイル操作の基本から、サーバーが落ちた時の調査、権限エラーの解消まで。このページをブックマークしておけば、もうコマンド忘れで検索する時間を浪費することはありません。
1. 【基本】まずは自由に動き回る(ディレクトリ操作)
サーバーに入って最初に行う「移動」と「確認」のコマンドです。これだけは指が勝手に動くレベルにしておきましょう。
ls (List Segments) – ファイル一覧を表示
Bash
ls # シンプルに一覧表示
ls -la # 隠しファイル(.envなど)も含めて詳細表示 ★一番よく使います
Pro Tips: 「ファイルがない!」と思ったら、大体は隠しファイルです。まずは
ls -laを叩く癖をつけましょう。
cd (Change Directory) – ディレクトリ移動
Bash
cd /var/www/html # 絶対パスで移動
cd .. # ひとつ上の階層へ
cd ~ # 自分のホームディレクトリへ戻る
cd - # 直前にいたディレクトリに戻る(これ便利!)
pwd (Print Working Directory) – 現在地の確認
迷子になったら叩きます。
Bash
pwd
# 出力例: /home/user/project
2. 【ファイル操作】作る・コピーする・消す
WordPressのテーマ開発や設定ファイルのバックアップで頻出です。
mkdir (Make Directory) – フォルダ作成
Bash
mkdir images
mkdir -p assets/css/vendor # 中間ディレクトリも一気に作る(-p)
cp (Copy) – コピー
Bash
cp .env.example .env # 設定ファイルを複製
cp -r themes themes_backup # フォルダごと中身もコピー(-r)
mv (Move) – 移動・名前変更
Linuxには「リネーム」専用コマンドはありません。mv を使います。
Bash
mv old.txt new.txt # 名前変更
mv file.txt /var/tmp/ # ファイル移動
rm (Remove) – 削除
注意:ゴミ箱はありません。消したら戻せません。
Bash
rm file.txt
rm -rf cache/ # ディレクトリごと強制削除(取り扱い注意!)
3. 【編集・閲覧】中身を見る
cat / less – ファイルの中身を表示
Bash
cat .env # 短いファイルを見る時
less /var/log/nginx/access.log # 長いファイルを見る時(qで終了)
tail – ログのリアルタイム監視
開発中に最強のコマンドです。エラーログを流し見しながらデバッグできます。
Bash
tail -f /var/log/nginx/error.log # 追記されるたびに更新表示(-f)
nano – テキストエディタ
Vimが難しいと感じる人は nano を使いましょう。直感的に操作できます。
Bash
nano nginx.conf
# 編集後、Ctrl+O (保存) -> Enter -> Ctrl+X (終了)
4. 【最重要】権限と所有者(Permission)
「WordPressで画像がアップロードできない」「更新に失敗する」原因の9割はこれです。
chmod (Change Mode) – 権限変更
Bash
chmod 755 directory_name # ディレクトリの基本(所有者は書込可、他は読むだけ)
chmod 644 file_name # ファイルの基本
chmod 777 cache/ # 全員読み書き実行可能(セキュリティリスクあり、一時的なテストのみに)
chown (Change Owner) – 所有者変更
Webサーバー(Nginx/Apache)がファイルを触れるようにします。
Bash
# ディレクトリ以下すべてを再帰的に変更(-R)
sudo chown -R www-data:www-data /var/www/html
sudo (SuperUser DO) – 管理者権限
「Permission denied」と怒られたら、頭に sudo をつけて管理者として実行します。
5. 【実践編】トラブルシューティング・フロー
コマンドを覚えただけでは意味がありません。「どんな時に、どの順番で使うか」が重要です。私がサーバー障害対応で実際に行っている手順をチャート化しました。
Case 1. 「サイトが表示されない(502 Bad Gateway)」
サーバー自体は動いているが、WebサーバーやDBがダウンしている可能性が高いです。
Step 1: サービスが生きてるか確認 active (running) 以外(failed や dead)になっていないかチェックします。
Bash
sudo systemctl status nginx # または mysql
Step 2: エラーログを見る サービスが落ちているなら、ログに必ず原因が書いてあります。
Bash
tail -n 50 /var/log/nginx/error.log
Step 3: 再起動を試みる
Bash
sudo systemctl restart nginx
Case 2. 「サーバーが異常に重い」
Step 1: 全体の負荷を確認 htop コマンドで、CPU負荷とメモリ使用率を見ます。
Bash
htop
【ここに htop のカラフルな画面キャプチャを貼る】
Step 2: 犯人(プロセス)を特定して止める CPUを食いつぶしているプロセスを見つけたら、強制終了させます。
Bash
kill -9 [PID] # PIDはプロセスID
Case 3. 「ディスク容量がいっぱいで保存できない」
Step 1: 全体の空き容量を確認
Bash
df -h
# Use% が 100% になっていたら確定です。
Step 2: 巨大なファイルを探す ルートディレクトリから順に、「どこが容量を食っているか」を調査します。これを知っているとプロっぽいです。
Bash
cd /
du -sh * | sort -hr
まとめ
これら全てを一度に暗記する必要はありません。「ファイルをコピーしたいな」と思った時に、このページを開いて cp コマンドを探せば良いのです。
まずは ls, cd, tail, nano の4つだけ指に覚え込ませて、残りは必要になった時にこの辞書を活用してください。 皆さんのVPSライフが少しでも快適になれば幸いです!