メインコンテンツへスキップ
見出し画像

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 # 視覚的なtop
    nohup ./script.sh & # バックグラウンド実行
    jobs # バックグラウンドジョブ一覧
    bg / fg # ジョブ制御
    lsof -i :8080 # ポート使用プロセス確認


    ■ ネットワーク

    curl -X GET https://api.example.com/data
    curl -X POST -H 'Content-Type: application/json' -d '{"key":"val"}' URL
    wget -O file.zip https://example.com/file.zip
    ss -tulpn # ポート一覧(netstatの現代版)
    ping -c 4 google.com
    traceroute google.com
    nslookup example.com
    dig example.com A
    ssh user@host -p 22
    scp file.txt user@host:/path/
    rsync -avz src/ user@host:/dst/


    ■ パーミッション管理

    chmod 755 script.sh # rwxr-xr-x
    chmod +x script.sh # 実行権限を付与
    chmod -R 644 /var/www/html/ # 再帰的に変更
    chown user:group file.txt
    chown -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の組み合わせは、ログ解析やバッチ処理で絶大な効果を発揮します。

    あなたへのおすすめ