Skip to content

【完全保存版】脱・黒い画面恐怖症!VPS/Linuxサーバー運用で「死ぬほど使う」コマンド&トラブルシューティング集

| 📖 7分で読めます
【完全保存版】脱・黒い画面恐怖症!VPS/Linuxサーバー運用で「死ぬほど使う」コマンド&トラブルシューティング集

「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ライフが少しでも快適になれば幸いです!

デジタル体験を、
もっと美しく、機能的に。

Studio Puff では、デザインと技術を融合させた Webサイト制作・システム開発を行っています。
新規プロジェクトのご相談や、技術的な課題解決など お気軽にお問い合わせください。