Webバックエンドエンジニア 必須コマンド集
対象:Ubuntu / Docker コンテナ内(ローカル学習用)
作成理由
Linuxは概念理解も大切ですが、まずコマンド操作に「慣れる」ことが近道です。
「習うより慣れろ」の方針で、実務で本当に使うコマンドだけを厳選してまとめています。
注意: 本記事は Ubuntu / Docker コンテナ内での学習を前提としています。
本番サーバでは慎重に実行してください。
▌ 作業前に必ず守る 3原則
- 作業前に
pwd(自分の場所を確認する) - 操作前後に
ls -la(変化を目で確認する) - 削除前は必ず確認してから
rmを実行する
💡 この型を崩さないことが、重大ミスを防ぐ最大の習慣です。
▌ WSL 利用者向け
Windows から wsl を実行するとWindowsのカレントディレクトリが引き継がれることがあります。
常にホームから始めたい場合はこちら:
wsl ~
# または
wsl -d Ubuntu --cd ~
目次
- 環境確認(入ったら最初に打つ)
- ディレクトリ操作(毎日使う)
- ファイル操作(実務頻度:高)
- ログ確認(バックエンド必須)
- 権限管理(Web開発で重要)
- プロセス・ポート確認(サーバ死活監視)
- 検索・容量確認(トラブル対応)
- パッケージ管理(Ubuntu 限定)
- 実践ミニドリル(反復メニュー:約15分)
- コマンド早見表(印刷用)
1. 環境確認(入ったら最初に打つ)
Docker やサーバに入った直後に必ず打つコマンドです。
「今どこにいるか」「誰として動いているか」を把握することがすべての出発点です。
| コマンド | 主なオプション | 説明 |
|---|---|---|
pwd |
— | 現在のディレクトリを絶対パスで表示 |
whoami |
— | 現在のユーザー名を表示 |
id |
— | UID・グループ情報を表示(権限確認に使う) |
echo $SHELL |
— | 使用中のシェルを確認 |
pwd # /var/www/html など現在地を表示
whoami # www-data, root などユーザー確認
id # uid=1000(user) gid=1000 などグループも確認
💡 Permission denied が出たら
idでグループ確認 →chmodかsudoで解決
2. ディレクトリ操作(毎日使う)
| コマンド | 主なオプション | 説明 |
|---|---|---|
ls -la |
-l:詳細 / -a:隠しファイルも |
権限・所有者・タイムスタンプ一覧 |
cd ~ |
~:ホーム / -:直前に戻る |
指定ディレクトリへ移動 |
mkdir -p |
-p:親ディレクトリも同時作成 |
ディレクトリを作成 |
find . -type f |
-name:名前 / -type:種類 |
ファイル・ディレクトリを検索 |
ls -la # 隠しファイル含めた詳細一覧
cd ~ # ホームディレクトリへ移動
cd - # 直前のディレクトリに戻る
mkdir -p ~/practice/day1 # ネストしたディレクトリを一括作成
find . -name "*.php" # phpファイルを再帰検索(3章でファイルを作ってから試す)
find . -maxdepth 2 -type d # 2階層分のディレクトリのみ表示
3. ファイル操作(実務頻度:高)
| コマンド | 主なオプション | 説明 |
|---|---|---|
touch |
— | 空ファイルを作成 |
cat |
— | ファイル内容をそのまま出力 |
less |
— | 大きなファイルをページ送りで閲覧 |
head / tail |
-n N:先頭・末尾N行 |
ファイルの一部だけ確認 |
cp |
-r:ディレクトリごとコピー |
ファイルをコピー |
mv |
— | 移動 / リネーム |
rm |
-r:ディレクトリ削除 / -i:確認 |
削除(元に戻せない!) |
💡
catは小さいファイル向け。less・head・tailは行数が多いファイルで真価を発揮します。
WSL2には最初から大きめのファイルが揃っているので、それをそのまま使います。
# ── cat:小さいファイルはそのまま全表示 ──
cat /etc/hosts # 数行なので cat でちょうどいい
cat /etc/os-release # ディストリビューション情報(13行)
# ── less:大きいファイルはページ送りで読む ──
less /var/log/dpkg.log # 8000行超のパッケージ操作ログ(Space で進む・q で終了)
less /etc/passwd # ユーザー一覧(/root で "root" を検索してみる)
# ── head / tail:必要な行だけ確認 ──
head -n 5 /var/log/dpkg.log # 先頭5行(一番古い操作)
tail -n 5 /var/log/dpkg.log # 末尾5行(一番新しい操作)
# ── コピー・リネーム・削除 ──
cp /etc/hosts ~/hosts.bak # ホームにコピー(元ファイルは安全)
mv ~/hosts.bak ~/hosts_old # リネーム
rm -i ~/hosts_old # -i で削除前に確認プロンプト
less の操作キー(実務でよく使う)
| キー | 動作 |
|---|---|
q |
終了してプロンプトに戻る |
Space |
1ページ進む |
b |
1ページ戻る |
/文字列 |
前方検索(n で次の結果へ) |
G |
最終行へ |
g |
先頭へ |
⚠️
rmは元に戻せません。迷ったらrm -iを使い削除前に確認する習慣をつけましょう。
4. ログ確認(バックエンド必須)
エラーの原因究明・デプロイ後の動作確認などで毎日使います。
tail -f と grep の組み合わせが特に重要です。
| コマンド | 主なオプション | 説明 |
|---|---|---|
tail -f |
-f:追従表示 / -n N:行数指定 |
リアルタイムでログを監視 |
grep |
-n:行番号 / -i:大小無視 / -R:再帰 |
ログからキーワードを抽出 |
grep | grep -v |
-v:マッチしない行を表示 |
不要な行を除外して絞り込む |
💡
/var/log/syslogは Docker コンテナでは空・存在しないことがあります。
WSL2では/var/log/dpkg.logが確実に存在するのでこちらを使います。
tail -n 10 /var/log/dpkg.log # 末尾10行を表示
tail -f /var/log/dpkg.log # リアルタイム監視(Ctrl+C で停止)
grep -n "error" /var/log/dpkg.log # error行を行番号つきで抽出
grep -ni "error" /var/log/dpkg.log # 大文字小文字を無視して検索
grep -n "status installed" /var/log/dpkg.log # インストール完了行を抽出
grep -Rni "root" /etc -l --include="*.conf" # /etc 以下の conf ファイルから root を検索
# パイプで組み合わせる(installed だけ・remove は除外)
grep "status" /var/log/dpkg.log | grep -v "remove"
⚠️
tail -fの終了はCtrl+Cです。qでは止まりません(lessと混同しやすいので注意)。
5. 権限管理(Web開発で重要)
Webサーバのファイル権限ミスはセキュリティ事故に直結します。
「必要最小限の権限」を原則にしてください。
| コマンド | 主なオプション | 説明 |
|---|---|---|
ls -la |
— | 権限・所有者を確認(最初に打つ) |
chmod 644 |
数値3桁:所有者/グループ/その他 | パーミッションを変更 |
chown user:group |
-R:再帰的に変更 |
所有者・グループを変更 |
sudo |
— | 管理者権限で実行(多用しない!) |
ls -la /etc/hosts # 権限確認(左端の rwxrwxrwx を見る)
cp /etc/hosts ~/hosts_test # ホームにコピーして権限を試す
chmod 600 ~/hosts_test # rw-------(所有者のみ読み書き)
chmod 644 ~/hosts_test # rw-r--r--(ファイルの標準権限)
chmod 755 ~/hosts_test # rwxr-xr-x(ディレクトリの標準権限)
rm ~/hosts_test # 後片付け
権限の読み方(数値早見)
| 数値 | 記号 | 意味 |
|---|---|---|
7 |
rwx |
読み取り・書き込み・実行 |
6 |
rw- |
読み取り・書き込みのみ |
5 |
r-x |
読み取り・実行のみ |
4 |
r-- |
読み取りのみ |
0 |
--- |
権限なし |
⚠️ Permission denied → まず
ls -laで確認 →idでユーザー確認 → 必要最小限でchmod。sudoの多用は厳禁。
6. プロセス・ポート確認(サーバ死活監視)
「サーバが起動しているか?」「ポートは開いているか?」を確認する場面で頻繁に使います。
| コマンド | 主なオプション | 説明 |
|---|---|---|
ps aux |
a:全ユーザー / u:詳細 / x:端末外も |
起動中プロセスを一覧表示 |
ps aux | grep nginx |
— | 特定サービスの起動確認 |
ss -lntp |
-l:待ち受け / -n:数値 / -t:TCP / -p:プロセス |
開いているポートを確認 |
kill PID |
-9:強制終了 |
プロセスを終了 |
ps aux | grep nginx # nginx プロセスが動いているか確認
ps aux | grep php-fpm # PHP-FPM の確認
ss -lntp # 開いているポートとプロセスを表示
ss -lntp | grep :80 # 80番ポートの確認
kill 1234 # PID 1234 を終了
kill -9 1234 # 強制終了(通常の kill で止まらない場合)
7. 検索・容量確認(トラブル対応)
| コマンド | 主なオプション | 説明 |
|---|---|---|
grep -Rn "文字列" . |
-R:再帰 / -n:行番号 |
コード内の文字列を検索 |
find . -name "*.log" |
-name:名前 / -mtime:更新日 |
ファイルを検索 |
du -sh * |
-s:合計 / -h:人が読みやすい単位 |
ファイルサイズ確認 |
df -h |
-h:人が読みやすい単位 |
ディスク使用量を確認 |
which コマンド名 |
— | コマンドの実行ファイルの場所確認 |
grep -Rn "root" /etc --include="*.conf" -l # /etc の conf ファイルから root を検索
find /etc -name "*.conf" -maxdepth 2 # /etc 直下の設定ファイルを検索
find /var/log -name "*.log" # ログファイルを一覧表示
find /etc -name "hosts" # hosts ファイルの場所を確認
du -sh /var/log/* # ログディレクトリ内の各サイズ確認
df -h # ディスク残量確認(/ が90%超えたら要注意)
which bash # bash コマンドの実体を確認
8. パッケージ管理(Ubuntu 限定)
ツールのインストール・アップデートを行います。
本番環境では慎重に実行してください。
sudo apt update # パッケージ一覧を更新(必ずこれが先)
sudo apt install curl # curl をインストール
dpkg -l | grep curl # インストール確認
apt list --installed # インストール済みパッケージ一覧
⚠️ 必ず
update→installの順番で。本番では影響範囲を事前に確認してから実行してください。
9. 実践ミニドリル(反復メニュー:約15分)
「止まらずに打てる」がゴール。結果が出たのを実感したら即次へ。3周すると手が覚えます。
Step 1 ─ 環境確認
pwd # 現在地
whoami # ユーザー名
id # UID・グループ情報
echo $SHELL # 使用シェル
ls -la # 今いるディレクトリの一覧
Step 2 ─ ディレクトリ作成・移動
pwd # 現在地を確認
ls -la ~/ | grep linux-drill # 作成前:linux-drill がないことを確認
mkdir -p ~/linux-drill
ls -la ~/ # 作成後:linux-drill ができたことを確認
cd ~/linux-drill
pwd
cd ~
cd - # 直前のディレクトリ(linux-drill)に戻る
pwd
Step 3 ─ ファイル作成・コピー・リネーム・削除
touch ~/linux-drill/test.txt # 空ファイル作成
cp /etc/hosts ~/linux-drill/hosts.bak # 既存ファイルをコピー
ls -la ~/linux-drill # 2つできたことを確認
mv ~/linux-drill/hosts.bak ~/linux-drill/hosts_old # リネーム
ls -la ~/linux-drill # 名前が変わったことを確認
rm ~/linux-drill/test.txt # 削除
ls -la ~/linux-drill # 消えたことを確認
Step 4 ─ ファイルを読む(cat / less / head / tail / tail -f)
cat /etc/hosts # 内容が表示される → OK
less /var/log/dpkg.log # 開いたら q で即閉じる → OK
head -n 5 /var/log/dpkg.log # 先頭5行 → OK
tail -n 5 /var/log/dpkg.log # 末尾5行 → OK
tail -f /var/log/dpkg.log # ログが流れる → Ctrl+C で止める
Step 5 ─ 検索する(grep / find)
grep -n "root" /etc/passwd # 行番号つきでヒット → OK
grep -ni "error" /var/log/dpkg.log # 大文字小文字無視 → OK
grep "status" /var/log/dpkg.log | grep -v "remove" # パイプで絞り込み → OK
find /etc -name "hosts" # パスが表示される → OK
find /var/log -name "*.log" # ログ一覧が出る → OK
Step 6 ─ 容量・コマンド確認(du / df / which)
du -sh ~/linux-drill # ディレクトリサイズ確認 → OK
du -sh /var/log/* # ログ各サイズ → OK
df -h # ディスク残量 → OK
which bash # コマンドの実体のパスが出る → OK
Step 7 ─ 権限確認・変更(chmod / chown)
ls -la ~/linux-drill/hosts_old # 現在の権限を確認
chmod 600 ~/linux-drill/hosts_old # 変更(rw-------)
ls -la ~/linux-drill/hosts_old # 変わったことを確認
chmod 644 ~/linux-drill/hosts_old # 元に戻す(rw-r--r--)
ls -la ~/linux-drill/hosts_old # 戻ったことを確認
chown $USER:$USER ~/linux-drill/hosts_old # 所有者を自分に明示(変化なし→それでOK)
Step 8 ─ プロセス・ポート確認(ps / ss)
ps aux # 起動中プロセス一覧 → 大量に出る → OK
ps aux | grep bash # bash プロセスを絞り込む → OK
ss -lntp # 開いているポート一覧 → OK
💡
killは実際に止めたいプロセスがある時に使います。ps aux | grep bashで表示されたPIDを確認するだけでOKです。
Step 9 ─ パッケージ管理(apt / dpkg)
sudo apt update # パッケージ一覧を更新
sudo apt install tree # tree をインストール
dpkg -l | grep tree # インストール確認 → OK
tree ~/linux-drill # 実際に使ってみる → OK
sudo apt remove tree # インストールしたものをアンインストール
dpkg -l | grep tree # 消えたことを確認(何も出なければOK)
Step 10 ─ 後片付け
cd ~
ls -la # 削除対象を目視確認
rm -r ~/linux-drill
ls -la # 消えたことを確認
💡 「打つ → 動く → 実感 → 次へ」このテンポが大事。
10. コマンド早見表(印刷用)
■ 環境確認
| コマンド | 説明 |
|---|---|
pwd |
現在地を表示 |
whoami |
現在のユーザーを表示 |
id |
UID・グループを表示 |
echo $SHELL |
使用シェルを確認 |
■ ファイル・ディレクトリ操作
| コマンド | 主なオプション | 説明 |
|---|---|---|
ls -la |
— | 詳細一覧(隠しファイル含む) |
cd ~ |
-:直前に戻る |
ディレクトリ移動 |
mkdir -p |
-p:親も作成 |
ディレクトリ作成 |
touch |
— | 空ファイル作成 |
cp |
-r:ディレクトリ |
コピー |
mv |
— | 移動 / リネーム |
rm |
-r:再帰 / -i:確認 |
削除(要注意) |
■ ログ確認
| コマンド | 主なオプション | 説明 |
|---|---|---|
cat |
— | ファイル内容を表示 |
less |
q:終了 / /:検索 |
ページ送りで閲覧 |
tail -n 50 |
-f:リアルタイム監視 |
末尾N行を表示 |
grep -n |
-i:大小無視 / -R:再帰 |
キーワード検索(行番号付き) |
■ 権限・プロセス・その他
| コマンド | 主なオプション | 説明 |
|---|---|---|
chmod 644 / 755 |
— | パーミッション変更 |
chown user:group |
-R:再帰 |
所有者変更 |
ps aux | grep |
— | サービス起動確認 |
ss -lntp |
— | ポート開放確認 |
du -sh * |
— | ファイルサイズ確認 |
df -h |
— | ディスク残量確認 |
find . -name |
-type / -mtime
|
ファイル検索 |
sudo apt update |
— | パッケージ一覧更新 |
sudo apt install |
— | パッケージインストール |
sudo apt remove |
— | パッケージアンインストール |
dpkg -l |
— | インストール済み確認 |
毎日少しずつ、型が身体に染み込むまで繰り返しましょう。