
Linuxコマンド厳選100 — 現場で本当に使うコマンドだけ徹底解説
■ はじめに
Linuxコマンドは数千種類存在しますが、実務で頻繁に使われるのは100個程度です。カテゴリ別に厳選し、実用例とともに解説します。
■ ファイル操作
ls -la --color=auto # 詳細+カラー表示ls -lh # サイズを人間が読める形式でfind . -name '*.py' # 拡張子で検索find . -size +100M # 100MB以上のファイルfind . -mtime -7 # 7日以内に更新cp -rp src/ dst/ # 属性保持してコピーrm -rf dir/ # ディレクトリ削除mkdir -p a/b/c # 親ディレクトリも自動作成■ テキスト処理
grep -rn 'error' ./logs/ # 再帰検索+行番号grep -B2 -A2 'error' log.txt # 前後2行も表示grep -E 'error|warn' log.txt # OR検索sed 's/old/new/g' file.txt # グローバル置換sed -i.bak 's/old/new/g' f.txt # バックアップ付き上書きsed '/debug/d' file.txt # パターン行削除awk -F',' '{print $2}' f.csv # CSV2列目を抽出awk '$3>100 {print $1}' f.txt # 条件付き抽出awk '{sum+=$2} END{print sum}' # 列の合計cut -d':' -f1 /etc/passwd # 区切り文字で列抽出sort -k1,1 -k2,2n file.txt # 複数キーでソートuniq -c | sort -rn # 出現回数でランク付けtail -f /var/log/syslog # ログリアルタイム監視head -n 20 file.txt # 先頭20行wc -l file.txt # 行数カウント■ プロセス管理
ps aux # 全プロセス表示ps aux | grep nginx # プロセス検索kill -9 PID # 強制終了killall nginx # 名前で終了top # リアルタイム監視htop # 視覚的なtopnohup ./script.sh & # バックグラウンド実行jobs # バックグラウンドジョブ一覧bg / fg # ジョブ制御lsof -i :8080 # ポート使用プロセス確認■ ネットワーク
curl -X GET https://api.example.com/datacurl -X POST -H 'Content-Type: application/json' -d '{"key":"val"}' URLwget -O file.zip https://example.com/file.zipss -tulpn # ポート一覧(netstatの現代版)ping -c 4 google.comtraceroute google.comnslookup example.comdig example.com Assh user@host -p 22scp file.txt user@host:/path/rsync -avz src/ user@host:/dst/■ パーミッション管理
chmod 755 script.sh # rwxr-xr-xchmod +x script.sh # 実行権限を付与chmod -R 644 /var/www/html/ # 再帰的に変更chown user:group file.txtchown -R www-data /var/www/ls -la # パーミッション確認■ アーカイブ・圧縮
tar -czf archive.tar.gz dir/ # gzip圧縮tar -xzf archive.tar.gz # 展開tar -cjf archive.tar.bz2 dir/ # bzip2圧縮zip -r archive.zip dir/unzip archive.zip -d /dest/gzip file.txt # 単体圧縮■ システム情報
df -h # ディスク使用量du -sh /var/log/ # ディレクトリサイズfree -h # メモリ使用量uname -a # カーネル情報uptime # 稼働時間と負荷whoami / id # ユーザー確認env | grep PATH # 環境変数確認■ 強力なワンライナー集
# アクセスログのIP別ランキング
awk '{print $1}' access.log | sort | uniq -c | sort -rn | head -10# エラーログから直近100件のエラー抽出
grep 'ERROR' app.log | tail -100# CSVの特定列を集計
awk -F',' 'NR>1{sum+=$3} END{print sum}' data.csv# 特定プロセスのメモリ使用量
ps aux | grep python | awk '{print $6}' | paste -sd+ | b# ディレクトリ以下の総ファイル数
find . -type f | wc -l# 30日以上古いログを削除
find /var/log -name '*.log' -mtime +30 -delete# xargsで並列処理
find . -name '*.jpg' | xargs -P4 -I{} convert {} -resize 800x {}■ まとめ
これらのコマンドをマスターすれば、日常的なLinux作業の大半がカバーできます。特にgrep/sed/awk/findの組み合わせは、ログ解析やバッチ処理で絶大な効果を発揮します。