N
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 rmはfind ... -deleteで代用できる - tail -f より tail -F: ログローテーションに強い(小文字は file descriptor 固定、大文字は名前で追従)