0
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

Webバックエンド初心者向け Linuxコマンド基礎反復練習(Docker/Ubuntu)

0
Posted at

Webバックエンドエンジニア 必須コマンド集

対象:Ubuntu / Docker コンテナ内(ローカル学習用)


作成理由

Linuxは概念理解も大切ですが、まずコマンド操作に「慣れる」ことが近道です。
「習うより慣れろ」の方針で、実務で本当に使うコマンドだけを厳選してまとめています。

注意: 本記事は Ubuntu / Docker コンテナ内での学習を前提としています。
本番サーバでは慎重に実行してください。


▌ 作業前に必ず守る 3原則

  • 作業前に pwd(自分の場所を確認する)
  • 操作前後に ls -la(変化を目で確認する)
  • 削除前は必ず確認してから rm を実行する

💡 この型を崩さないことが、重大ミスを防ぐ最大の習慣です。


▌ WSL 利用者向け

Windows から wsl を実行するとWindowsのカレントディレクトリが引き継がれることがあります。
常にホームから始めたい場合はこちら:

wsl ~
# または
wsl -d Ubuntu --cd ~

目次

  1. 環境確認(入ったら最初に打つ)
  2. ディレクトリ操作(毎日使う)
  3. ファイル操作(実務頻度:高)
  4. ログ確認(バックエンド必須)
  5. 権限管理(Web開発で重要)
  6. プロセス・ポート確認(サーバ死活監視)
  7. 検索・容量確認(トラブル対応)
  8. パッケージ管理(Ubuntu 限定)
  9. 実践ミニドリル(反復メニュー:約15分)
  10. コマンド早見表(印刷用)

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 でグループ確認 → chmodsudo で解決


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 は小さいファイル向け。lessheadtail は行数が多いファイルで真価を発揮します。
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 -fgrep の組み合わせが特に重要です。

コマンド 主なオプション 説明
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 でユーザー確認 → 必要最小限で chmodsudo の多用は厳禁。


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         # インストール済みパッケージ一覧

⚠️ 必ず updateinstall の順番で。本番では影響範囲を事前に確認してから実行してください。


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 インストール済み確認

毎日少しずつ、型が身体に染み込むまで繰り返しましょう。

0
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?