nob@lit-forge

Linux コマンド 早見表

ファイル操作・プロセス・ネットワーク・ユーザー管理・アーカイブなど、Linux / macOS の CLI で毎日使う基本コマンドをカテゴリ別に整理した早見表。find / grep / awk / sed など覚えづらいオプションも実例付き。

#Linux#コマンド#CLI#shell

ファイル・ディレクトリ操作

ls -la                     # 隠しファイル含む詳細表示
ls -lh                     # 人間が読みやすいサイズ
ls -lt                     # 更新日時順(新しい順)
cd -                       # 直前のディレクトリに戻る
pwd                        # 現在地を表示
mkdir -p a/b/c             # 親ディレクトリも含めて作成
cp -r src dst              # ディレクトリ再帰コピー
cp -a src dst              # 属性保持でコピー(-dR --preserve=all)
mv old new                 # 移動 / リネーム
rm -rf dir                 # 再帰・強制削除(危険)
ln -s target link          # シンボリックリンク
touch file                 # 空ファイル作成 / タイムスタンプ更新

ファイル閲覧・検索

cat file                   # 全部表示
less file                  # ページャで閲覧(q で終了、/ で検索)
head -n 20 file            # 先頭 20 行
tail -n 20 file            # 末尾 20 行
tail -f log                # 追記を追従(Ctrl+C で終了)
wc -l file                 # 行数
find . -name "*.ts"        # 名前で検索(再帰)
find . -type f -mtime -7   # 7 日以内に更新されたファイル
find . -size +10M          # 10MB を超えるファイル
find . -name "*.tmp" -delete  # 条件に合うファイルを削除
which node                 # コマンドの実体パス
type ll                    # エイリアス / 関数 / 組み込みを判別

テキスト処理(grep / awk / sed)

grep "pattern" file        # 行マッチ
grep -r "TODO" src         # 再帰
grep -rn "Error" .         # ファイル名 + 行番号付き
grep -iE "warn|error"      # 大文字小文字無視 + 拡張正規表現
grep -v "excl"             # 除外
awk '{print $1}'           # 1 列目を抜く
awk -F, '{print $2}'       # CSV の 2 列目
sed -i 's/old/new/g' file  # 置換(in-place、-i 版)
sed -n '10,20p' file       # 10〜20 行目だけ
sort file | uniq -c        # 出現回数集計(頻度降順は | sort -rn で)
cut -d: -f1 /etc/passwd    # ユーザー名だけ抜く

プロセス・リソース

ps aux | grep node         # プロセス検索
pgrep -fa node             # node を含むコマンドを検索(PID 付き)
top                        # リアルタイムモニタ
htop                       # top の拡張版(要インストール)
kill -9 <PID>              # 強制終了(SIGKILL)
pkill -f "foo.js"          # 名前で kill
df -h                      # ディスク使用量
du -sh *                   # ディレクトリ別のサイズ
free -h                    # メモリ使用量
uptime                     # 起動時間 + Load Average

ネットワーク

curl -I https://example.com          # HTTP ヘッダのみ取得
curl -v https://example.com          # 詳細ログ
curl -L -o out.html https://a/b      # リダイレクト追従 + 保存
wget https://example.com/file        # ダウンロード
ping -c 4 example.com                # 4 回 pingのみ
ss -tlnp                             # TCP LISTEN ポート一覧
netstat -ano                         # ポートと PID(古い環境)
dig +short example.com               # A レコード
nslookup example.com                 # 名前解決
ip a                                 # IP アドレス一覧
ip route                             # ルーティングテーブル

アーカイブ・圧縮

tar -czvf out.tgz dir/               # 作成(gzip)
tar -xzvf out.tgz                    # 展開
tar -xf archive.tar.gz -C /dst       # 指定ディレクトリに展開
tar -tf archive.tar                  # 中身のリスト
zip -r out.zip dir/                  # ZIP 作成
unzip out.zip                        # 展開
gzip -k file                         # 元を残して圧縮(-k)
gunzip file.gz                       # 展開

権限・ユーザー

chmod 755 file                       # rwxr-xr-x
chmod +x script.sh                   # 実行権限を付与
chown user:group file                # 所有者変更
sudo !!                              # 直前のコマンドを sudo で再実行
whoami                               # 現在のユーザー
id                                   # ユーザーID + グループID
groups                               # 所属グループ一覧
su - user                            # ユーザー切替

ジョブ制御・履歴

jobs                                 # バックグラウンドジョブ一覧
<Ctrl-Z>                             # 一時停止
fg                                   # 最新を前面へ
bg                                   # 最新をバックグラウンド化
nohup cmd &                          # ログアウトしても実行継続
disown                               # シェル終了時に kill されないよう切り離し
history | grep ssh                   # コマンド履歴検索
!1234                                # 履歴番号 1234 を実行

使い分けメモ

  • grep vs ripgrep (rg): rg は .gitignore を尊重して高速。個人開発では rg 一択で十分
  • rm -rf の代わりに: 復元可能な trash-cli を入れておくと安全
  • find + xargs: find . -name "*.log" -print0 | xargs -0 rmfind ... -delete で代用できる
  • tail -f より tail -F: ログローテーションに強い(小文字は file descriptor 固定、大文字は名前で追従)