Welcome to Tech Athletes | テック・アスリート   Click to listen highlighted text! Welcome to Tech Athletes | テック・アスリート

【2026年版】エンジニア必須Linuxコマンド完全チートシート|grep・sed・awk・ネットワーク・シェルスクリプトまで実践解説

エンジニア必須のLinuxコマンド:なぜ今でもCLIスキルが重要か

クラウド時代においても、LinuxのCLI(コマンドラインインターフェース)スキルはエンジニアの必須スキルです。AWS・GCP・AzureのサーバーはほぼLinuxベースで、Docker・Kubernetes・CI/CDパイプラインの操作も全てコマンドラインから行います。本記事では現場で毎日使う実践的なLinuxコマンドを厳選して解説します。

ファイル操作の基本コマンド

# ディレクトリ操作
ls -la                    # ファイル一覧を詳細表示(隠しファイルも)
ls -lh                    # ファイルサイズを人間が読みやすい形式で表示
cd ~/projects             # ホームディレクトリのprojectsへ移動
pwd                       # 現在のディレクトリを表示
mkdir -p /tmp/test/sub    # 中間ディレクトリも含めて作成

# ファイルコピー・移動・削除
cp -r source/ dest/       # ディレクトリを再帰的にコピー
mv old-name new-name      # ファイル名変更・移動
rm -rf directory/         # ディレクトリを強制削除(注意!)
find . -name "*.log" -delete  # 拡張子でファイルを検索して削除

# ファイル内容の確認
cat file.txt              # ファイル内容を表示
less large-file.log       # ページャーで大きなファイルを表示
tail -f /var/log/app.log  # ログをリアルタイム追尾
head -n 20 file.txt       # 先頭20行を表示
wc -l file.txt            # 行数をカウント

テキスト処理:grep・sed・awk

# grep: テキスト検索
grep -r "ERROR" /var/log/         # ディレクトリを再帰検索
grep -n "function" app.py         # 行番号付きで検索
grep -v "DEBUG" app.log           # 一致しない行を表示(除外)
grep -E "(ERROR|WARN)" app.log    # 正規表現で検索
ps aux | grep nginx               # プロセスリストからnginxを検索

# sed: ストリームエディタ(置換)
sed "s/old/new/g" file.txt        # oldをnewに全置換
sed -i "s/localhost/prod-db/g" config.yml  # ファイルを直接編集
sed -n "10,20p" file.txt          # 10〜20行目だけ表示

# awk: テキスト処理言語
awk "{print $1, $3}" access.log   # 1列目と3列目を表示
awk -F: "{print $1}" /etc/passwd  # :区切りで1列目表示
awk "NR==5{print}" file.txt       # 5行目だけ表示
awk "{sum += $1} END {print sum}" numbers.txt  # 数値の合計

プロセス・システム管理

# プロセス管理
ps aux                    # 全プロセスを表示
ps aux | grep node        # Nodeプロセスを検索
kill -9 PID               # プロセスを強制終了
killall nginx             # プロセス名で終了
top                       # リアルタイムでプロセス監視
htop                      # topの高機能版(要インストール)

# バックグラウンド実行
nohup ./server.sh &       # バックグラウンドで実行(ログアウト後も継続)
disown %1                 # バックグラウンドジョブをシェルから切り離す
screen -S session-name    # screenセッションを作成
tmux new -s main          # tmuxセッションを作成

# システムリソース確認
df -h                     # ディスク使用量
du -sh /var/log/*         # ディレクトリサイズ
free -h                   # メモリ使用量
uname -a                  # Linuxカーネル情報
uptime                    # システム稼働時間・負荷平均

ネットワークコマンド

# ネットワーク確認・診断
ip addr                   # IPアドレス確認(ifconfigの代替)
ss -tuln                  # 待受ポート確認(netstatの代替)
ping 8.8.8.8              # 疎通確認
traceroute google.com     # 経路確認
curl -I https://example.com     # HTTPヘッダーを確認
curl -X POST -H "Content-Type: application/json" \
  -d "{"key":"value"}" https://api.example.com/endpoint

# ファイル転送
scp file.txt user@server:/path/  # リモートへファイル転送
rsync -avz --progress source/ user@server:/dest/  # 差分同期
wget https://example.com/file.zip  # ファイルダウンロード

# SSH
ssh -i key.pem user@server-ip     # キーファイルでSSH接続
ssh -L 3306:localhost:3306 user@server  # ローカルポートフォワード
ssh-keygen -t ed25519 -C "your@email.com"  # SSH鍵生成

シェルスクリプト:自動化の基本

#!/bin/bash
# 本番デプロイスクリプトの例

set -e  # エラー時に即座に終了

APP_DIR="/var/www/app"
BACKUP_DIR="/var/backups/app"
DATE=$(date +%Y%m%d_%H%M%S)

echo "=== デプロイ開始: $DATE ==="

# バックアップ
echo "バックアップ中..."
mkdir -p $BACKUP_DIR
cp -r $APP_DIR $BACKUP_DIR/app_$DATE

# リポジトリの更新
cd $APP_DIR
git pull origin main

# 依存関係のインストール
npm ci --only=production

# ビルド
npm run build

# サービス再起動
systemctl restart my-app

# ヘルスチェック
for i in {1..5}; do
  if curl -s http://localhost:3000/health | grep -q "ok"; then
    echo "デプロイ成功!"
    exit 0
  fi
  echo "リトライ $i/5..."
  sleep 5
done

echo "エラー:ヘルスチェック失敗"
exit 1

Vimの基本操作(知っておくべき最低限)

# Vim起動
vim filename.txt

# 基本操作
# i          挿入モード開始
# Esc        ノーマルモードに戻る
# :w         保存
# :q         終了
# :wq        保存して終了
# :q!        変更を破棄して強制終了

# 移動
# h/j/k/l    左/下/上/右
# gg         ファイル先頭
# G          ファイル末尾
# /keyword   前方検索
# n/N        次/前の検索結果

# 編集
# dd         行を削除(切り取り)
# yy         行をコピー
# p          貼り付け
# u          アンドゥ
# Ctrl+r     リドゥ

まとめ

本記事で紹介したLinuxコマンドは現場で毎日使うものばかりです。まずはファイル操作・grep・プロセス管理・SSHの基本をしっかりマスターし、シェルスクリプトで作業を自動化できるようになると、開発効率が大幅に向上します。毎日少しずつコマンドを使っていくことで自然と身についていきます。

投稿者 kasata

IT企業でエンジニアとして勤務後、テクノロジー情報メディア「Tech Athletes(テック・アスリート)」を運営。プログラミング、クラウドインフラ(AWS/GCP/Azure)、AI活用、Webサービス開発を専門とする。エンジニア・ビジネスパーソン向けに、実際に使ってみた経験をもとに信頼できる技術情報を発信中。資格:AWS認定ソリューションアーキテクト、Python 3 エンジニア認定試験合格。

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

Click to listen highlighted text!