エンジニアとして働く上で、Linuxコマンドの知識は必須です。本記事では、現役エンジニアが日常的に使うLinuxコマンドを用途別に200個以上まとめ、実践的な使い方とともに解説します。ブックマークして繰り返し参照できるチートシートとしてご活用ください。
ファイル・ディレクトリ操作の基本コマンド
ディレクトリの移動・確認
# 現在のディレクトリを表示
pwd
# ディレクトリの移動
cd /home/user/projects # 絶対パス指定
cd ../ # 一つ上のディレクトリへ
cd ~ # ホームディレクトリへ
cd - # 直前のディレクトリへ
# ディレクトリの内容表示
ls # 基本的な一覧
ls -la # 詳細情報+隠しファイルも表示
ls -lh # ファイルサイズを人間が読みやすい形式で
ls --sort=size # サイズ順でソート
ファイル・ディレクトリの作成・削除
# ディレクトリ作成
mkdir new-directory
mkdir -p path/to/nested/directory # 中間ディレクトリも一括作成
# ファイル作成
touch newfile.txt
touch {file1,file2,file3}.txt # 複数ファイルを一括作成
# ファイル・ディレクトリ削除
rm file.txt
rm -r directory/ # ディレクトリを再帰的に削除
rm -rf directory/ # 確認なしで強制削除(注意!)
# コピー・移動
cp source.txt dest.txt
cp -r source-dir/ dest-dir/
mv oldname.txt newname.txt # 名前変更・移動
ファイルの内容確認・検索
# ファイルの内容表示
cat file.txt # 全内容を表示
less file.txt # ページング表示(qで終了)
head -n 20 file.txt # 先頭20行を表示
tail -n 50 file.txt # 末尾50行を表示
tail -f logfile.txt # リアルタイムでログを監視
# ファイルの検索
find /home -name "*.py" -type f # 拡張子でファイルを検索
find . -size +10M # 10MB以上のファイルを検索
find . -mtime -7 # 7日以内に更新されたファイル
# 内容の検索(grep)
grep "ERROR" logfile.txt # 特定文字列を含む行を検索
grep -r "TODO" ./src/ # ディレクトリを再帰検索
grep -n "pattern" file.txt # 行番号付きで表示
grep -v "DEBUG" logfile.txt # 特定パターンを除外
grep -c "error" logfile.txt # マッチした行数を表示
テキスト処理の強力コマンド
# sed(ストリームエディタ)
sed 's/old/new/g' file.txt # 文字列置換
sed -i 's/old/new/g' file.txt # ファイルを直接書き換え
sed -n '5,10p' file.txt # 5〜10行目を表示
# awk(テキスト処理)
awk '{print $1, $3}' file.txt # 1列目と3列目を表示
awk -F',' '{print $2}' data.csv # CSVの2列目を抽出
awk '/pattern/{print}' file.txt # パターンマッチした行を表示
# sort・uniq
sort file.txt # アルファベット順にソート
sort -n numbers.txt # 数値順にソート
sort -r file.txt # 逆順ソート
sort -u file.txt # 重複を除去してソート
uniq -c sorted.txt # 重複行をカウント
プロセス・システム管理コマンド
# プロセス確認
ps aux # すべてのプロセス一覧
ps aux | grep nginx # 特定プロセスを絞り込み
top # リアルタイムプロセス監視
htop # より見やすいtop(別途インストール)
# プロセス停止
kill [PID] # プロセスID指定で停止
kill -9 [PID] # 強制終了
pkill nginx # プロセス名で停止
killall python3 # 同名プロセスを一括停止
# システムリソース確認
free -h # メモリ使用量
df -h # ディスク使用量
du -sh /var/log/ # 特定ディレクトリのサイズ
iostat # I/O統計情報
uptime # システム稼働時間・負荷平均
ネットワーク関連コマンド
# ネットワーク状態確認
ip addr show # IPアドレス確認
ip route show # ルーティングテーブル
netstat -tulpn # 使用中のポート確認
ss -tulpn # netstatの後継コマンド
# 通信確認
ping google.com # 疎通確認
traceroute google.com # ルートトレース
curl https://api.example.com/status # HTTPリクエスト
wget https://example.com/file.tar.gz # ファイルダウンロード
# SSH関連
ssh user@hostname # SSH接続
ssh -p 2222 user@hostname # ポート指定でSSH
scp file.txt user@host:/path/ # ファイル転送
ssh-keygen -t ed25519 # SSH鍵生成(Ed25519推奨)
権限・ユーザー管理
# ファイル権限変更
chmod 755 script.sh # rwxr-xr-x
chmod +x script.sh # 実行権限を追加
chmod -R 644 ./static/ # ディレクトリ以下を再帰的に変更
chown user:group file.txt # オーナー変更
# ユーザー管理
sudo useradd -m newuser # ユーザー追加
sudo userdel -r username # ユーザー削除
sudo passwd username # パスワード変更
sudo usermod -aG sudo username # sudoグループに追加
whoami # 現在のユーザー確認
id username # ユーザーのUID・GID確認
便利なシェル操作テクニック
# パイプとリダイレクト
command | grep "pattern" # パイプで出力をフィルタリング
command > output.txt # 標準出力をファイルに書き込み
command >> output.txt # ファイルに追記
command 2>&1 | tee output.txt # 標準エラーも含めてファイルに保存
# 便利な省略記法
!! # 直前のコマンドを再実行
!grep # 直前のgrepコマンドを再実行
ctrl+r # コマンド履歴のインクリメンタル検索
ctrl+a / ctrl+e # 行頭/行末へカーソル移動
ctrl+l # 画面クリア(clearコマンドと同じ)
# エイリアス設定(~/.bashrcに追加)
alias ll='ls -la'
alias gs='git status'
alias dc='docker-compose'
まとめ
Linuxコマンドは使えば使うほど身につきます。まずは本記事で紹介したコマンドを実際に試し、日常業務の中で繰り返し使っていきましょう。ブックマークして、必要なときにすぐ参照できるチートシートとして活用してください。