リファレンス
Linuxコマンド逆引きチートシート
「あの操作、どのコマンドだっけ?」を目的別に引くためのページです。カテゴリの見出しから探し、コマンドと意味・よく使うオプションを表で確認してください。じっくり学ぶなら Linux入門コース、仕組みの背景はコンピュータ大全コース第5〜7章もどうぞ。
表は「コマンド」と「意味・用途」の2列が基本です。オプションは意味欄に併記しています。例では自分のホームディレクトリなど、影響のない場所から試すのが安全です。macOSのターミナルでも多くがそのまま使えますが、細かな差は 📓 macOSコマンド集のページで対比します。
ファイルとディレクトリ操作
すべての基本。まずはここから。
| コマンド | 意味・用途 |
|---|---|
ls | ファイル・ディレクトリの一覧。-l詳細表示、-a隠しファイルも、-hサイズを読みやすく、-t更新順。よく ls -la |
cd ディレクトリ | 移動。cdだけでホーム、cd ..で1つ上、cd -で直前の場所へ |
pwd | 今いるディレクトリの絶対パスを表示(print working directory) |
mkdir 名前 | ディレクトリ作成。-pで階層をまとめて作成(例 mkdir -p a/b/c) |
rmdir 名前 | 空のディレクトリを削除。中身があると消せない(安全側) |
cp 元 先 | コピー。-rでディレクトリごと、-iで上書き確認、-pで属性を保持 |
mv 元 先 | 移動・名前変更。同じ場所へ別名で動かせばリネームになる |
rm ファイル | 削除。-iで確認、-rでディレクトリごと。元に戻せないので注意 |
touch ファイル | 空ファイルを作成。既存ファイルなら更新日時だけを現在時刻に |
ln -s 実体 リンク名 | シンボリックリンク(ショートカット)を作成。-sを付けるのが一般的 |
tree | ディレクトリ構造をツリー表示(要インストール)。-L 2で階層を制限 |
rm -rf ディレクトリ は中身を確認なしで一気に消します。rm -rf / や、変数が空になった状態の rm -rf $DIR/ はシステムやデータを丸ごと吹き飛ばしかねません。実行前に必ず対象を ls で確認し、パスにワイルドカードやスペースが混ざっていないか目視してください。心配なときは rm -ri(1件ずつ確認)から。
ファイルの中身を見る
開かずに中身を確認する道具たち。ログ調査で毎日使います。
| コマンド | 意味・用途 |
|---|---|
cat ファイル | 中身を全部表示。複数指定で連結表示。-nで行番号付き |
less ファイル | 1画面ずつ閲覧(スクロール・検索可)。/語で検索、qで終了。大きなファイル向き |
more ファイル | lessの簡易版。前方向スクロール中心。lessがあれば基本そちらで十分 |
head ファイル | 先頭10行を表示。-n 20で行数指定 |
tail ファイル | 末尾10行を表示。-n 50で行数指定。ログの最新を見るのに便利 |
tail -f ファイル | 追記をリアルタイム表示し続ける。ログ監視の定番。-Fならローテーションにも追従 |
nl ファイル | 行番号を付けて表示(number lines) |
wc ファイル | 行数・単語数・バイト数を集計。-l行数のみ、-w単語数、-cバイト数 |
検索
「ファイルを探す」と「ファイルの中を探す」は別のコマンドです。
| コマンド | 意味・用途 |
|---|---|
find パス -name "*.log" | ファイル名で探す(サブディレクトリも辿る)。-type fファイルのみ、-mtime -11日以内更新、-size +10M10MB超 |
find . -name "*.tmp" -delete | 見つけたものを削除まで実行。実行前に -deleteを外して確認するのが安全 |
grep 語 ファイル | ファイルの中身から語を探す。-i大文字小文字無視、-n行番号、-rディレクトリを再帰、-v一致しない行、-c件数 |
grep -rn "TODO" . | カレント以下を再帰的に検索し行番号付きで表示。コードやログ調査の定番 |
locate ファイル名 | あらかじめ作られた索引から高速検索。updatedbで索引更新(要インストール) |
which コマンド | そのコマンドの実体がどこにあるか(PATH上の場所)を表示 |
whereis コマンド | コマンドの実体・マニュアル・ソースの場所をまとめて表示 |
type コマンド | それがエイリアス・関数・組み込み・実体のどれかを判定 |
grep -rin "error" /var/log のように -r(再帰)-i(大小無視)-n(行番号)をまとめて指定できます。「ログの中からエラーを大小区別なく、場所付きで探す」が一発です。
テキスト処理
整形・抽出・置換。パイプ(次章)と組み合わせると真価を発揮します。
| コマンド | 意味・用途 |
|---|---|
sort ファイル | 行を並べ替え。-n数値順、-r逆順、-k 22列目で、-u重複を除いて |
uniq | 隣り合う重複行をまとめる。-cで出現回数を数える。事前に sort するのが定石 |
cut -d, -f1 ファイル | 列の切り出し。-d区切り文字、-f取り出す列番号。CSVのn列目を抜くなど |
sed 's/旧/新/g' ファイル | 置換・削除などのストリーム編集。-iでファイルを直接書き換え(要注意) |
awk '{print $1, $3}' ファイル | 列指向の抽出・集計。空白区切りの1列目と3列目を表示など。-F,で区切り指定 |
tr 'a-z' 'A-Z' | 文字の変換・削除。小文字を大文字に、-dで指定文字を削除 |
diff ファイルA ファイルB | 2ファイルの差分を表示。-uで見やすい統一形式、-rでディレクトリ比較 |
パイプ・リダイレクト
コマンドの入出力を「つなぐ」「ファイルへ流す」ための記号です。Linuxの威力の源泉。
| 記号・コマンド | 意味・用途 |
|---|---|
コマンドA | コマンドB | パイプ。Aの出力をBの入力へ渡す。例 ps aux | grep nginx |
コマンド > ファイル | 出力をファイルへ上書き保存(元の中身は消える) |
コマンド >> ファイル | 出力をファイルの末尾に追記。ログ蓄積に |
コマンド 2> ファイル | エラー出力(標準エラー)だけをファイルへ。2はエラー用の番号 |
コマンド > out.log 2>&1 | 標準出力とエラー出力をまとめて同じ先へ。「2番(エラー)を1番(標準)と同じ所へ」の意味 |
コマンド | tee ファイル | 画面に表示しつつファイルにも保存(T字に分岐)。-aで追記 |
... | xargs コマンド | 入力を引数に変換して次のコマンドへ渡す。例 find . -name "*.log" | xargs rm |
コマンド < ファイル | ファイルの中身を標準入力として与える(入力のリダイレクト) |
頻度集計の定番は sort | uniq -c | sort -rn です。より詳しい合わせ技は 📓 便利技・時短術のページにまとめています。
$ cat access.log | awk '{print $1}' | sort | uniq -c | sort -rn | head
512 203.0.113.9
340 192.168.1.20
87 198.51.100.5
権限・所有者
「誰が・何を・していいか」を決める仕組み。サーバー運用の要です。
| コマンド | 意味・用途 |
|---|---|
chmod 755 ファイル | 権限(読み4・書き2・実行1の合計)を変更。chmod +xで実行権付与、-Rで再帰 |
chmod u+x,g-w ファイル | 記号指定。所有者(u)に実行を追加、グループ(g)から書き込みを削除 |
chown user ファイル | 所有者を変更。chown user:groupで所有者とグループを同時に、-Rで再帰 |
chgrp group ファイル | グループ所有者だけを変更 |
umask | 新規作成時に「引かれる」既定権限。umask 022で新規ファイルを一般的な権限に |
sudo コマンド | 管理者(root)権限で1コマンド実行。sudo -iで管理者シェル。多くの運用作業で必要 |
su - ユーザー | 別のユーザーに切り替え。su -だけでrootに(環境も引き継ぐ) |
プロセス管理
動いているプログラムを見る・止める。暴走時の対処にも。
| コマンド | 意味・用途 |
|---|---|
ps aux | 全プロセスを詳細一覧。CPU・メモリ使用率、PID(プロセス番号)が分かる |
ps aux | grep 名前 | 特定プロセスだけ抽出。PIDを調べる定番の使い方 |
top | プロセスの状況をリアルタイム表示。CPU・メモリの重い順。qで終了 |
htop | topの見やすい強化版(要インストール)。色付き・マウス操作可 |
kill PID | 指定PIDに終了シグナルを送る。効かないときは kill -9 PID(強制) |
killall 名前 | プロセス名を指定して該当を全部終了 |
pkill 名前 | 名前のパターンで一致するプロセスを終了。pkill -fでコマンドライン全体を対象 |
jobs | 今のシェルで動くバックグラウンドジョブの一覧 |
bg %1 / fg %1 | ジョブをバックグラウンド(bg)/フォアグラウンド(fg)へ。Ctrl+Zで一時停止して bg |
nohup コマンド & | ログアウトしても止まらないよう実行し、バックグラウンドへ。長時間処理に |
ディスク・システム情報
「容量が足りない」「このマシン何だっけ」を調べる。
| コマンド | 意味・用途 |
|---|---|
df -h | ディスクの空き容量を見やすい単位で。-h=human readable。まず疑うのはここ |
du -sh ディレクトリ | ディレクトリの使用量を合計表示。du -sh *で直下の各項目のサイズ比較 |
free -h | メモリ・スワップの使用状況を見やすい単位で |
uname -a | カーネル・OS・アーキテクチャの情報をまとめて表示 |
uptime | 連続稼働時間とロードアベレージ(混み具合)を表示 |
lsblk | ブロックデバイス(ディスク・パーティション)をツリー表示 |
mount / umount | ファイルシステムをマウント/アンマウント。mountだけで現在の一覧 |
lscpu | CPUのコア数・モデルなどの情報を表示 |
ユーザー・グループ
アカウントの確認と管理。作成・変更系は sudo が必要です。
| コマンド | 意味・用途 |
|---|---|
whoami | 今のユーザー名を表示 |
id | ユーザーID・グループIDと所属グループを表示 |
who / w | 今ログインしている人の一覧(wは何をしているかも) |
sudo useradd -m 名前 | ユーザー追加。-mでホームディレクトリも作成。Debian系は対話的な adduser も |
passwd | 自分のパスワード変更。sudo passwd 名前で他ユーザーのを変更 |
groups | 所属グループの一覧を表示 |
sudo usermod -aG group 名前 | ユーザーをグループに追加(-aGで既存所属を保ったまま) |
パッケージ管理
ソフトのインストール・更新。ディストリの系統で流儀が変わります(Linux入門コース第6章)。
| やりたいこと | Debian系(apt) | Red Hat系(dnf) | Arch系(pacman) |
|---|---|---|---|
| パッケージ一覧の更新 | sudo apt update | sudo dnf check-update | sudo pacman -Sy |
| インストール | sudo apt install 名前 | sudo dnf install 名前 | sudo pacman -S 名前 |
| アンインストール | sudo apt remove 名前 | sudo dnf remove 名前 | sudo pacman -R 名前 |
| 全体アップグレード | sudo apt upgrade | sudo dnf upgrade | sudo pacman -Syu |
| 検索 | apt search 語 | dnf search 語 | pacman -Ss 語 |
圧縮・アーカイブ
tarのオプションは呪文のようですが、2パターン覚えれば足ります。
| コマンド | 意味・用途 |
|---|---|
tar czf 名前.tar.gz 対象 | gzip圧縮してまとめる。c=作成 z=gzip f=ファイル名。「作って詰めて名前」 |
tar xzf 名前.tar.gz | gzip圧縮を展開する。x=展開。-C ディレクトリで展開先指定 |
tar tzf 名前.tar.gz | 展開せず中身の一覧だけ確認(t=list)。開ける前の確認に |
gzip ファイル / gunzip ファイル.gz | 単一ファイルを圧縮/展開(元ファイルは置き換わる) |
zip -r 名前.zip 対象 | zip形式で圧縮。-rでディレクトリごと。Windowsとやり取りしやすい |
unzip 名前.zip | zipを展開。-d ディレクトリで展開先を指定 |
.tar.gz(=.tgz)なら z、.tar.bz2 なら j、.tar.xz なら J を使います。迷ったら新しめの tar は方式を自動判別してくれるので、tar xf 名前 だけでも展開できることが多いです。
ネットワーク
疎通確認・通信・名前解決・リモート操作。トラブル時に真っ先に使う一群です。
| コマンド | 意味・用途 |
|---|---|
ip a | IPアドレス・インターフェースの状態を表示(ip addrの略)。古い環境の ifconfig の後継 |
ping ホスト | 相手に届くか・応答時間を確認。-c 4で回数指定して止める |
curl URL | HTTP等でデータ取得・送信。-Iヘッダのみ、-o ファイル保存、-Lリダイレクト追従 |
wget URL | ファイルのダウンロードに特化。-cで中断からの再開 |
ss -tuln | 開いているポート・接続を一覧(netstatの後継)。t=TCP u=UDP l=待受 n=数値 |
netstat -tuln | ポート・接続の一覧(古い環境向け)。今は ss が推奨 |
dig ドメイン | DNSを問い合わせて名前解決の詳細を表示。dig +shortで結果だけ |
nslookup ドメイン | 手軽なDNS問い合わせ。digより簡易だが対話的にも使える |
ssh user@ホスト | リモートへ暗号化して接続(コンピュータ大全コース第11章)。-pでポート指定 |
scp 元 user@ホスト:先 | SSH経由でファイル転送。-rでディレクトリごと |
サービス・ログ
常駐サービス(デーモン)の起動・停止と、記録の確認。運用の中心です。
| コマンド | 意味・用途 |
|---|---|
sudo systemctl start サービス | サービスを起動。例 systemctl start nginx |
sudo systemctl stop サービス | サービスを停止 |
systemctl status サービス | 稼働状況・直近ログを確認。トラブル調査の第一歩 |
sudo systemctl enable サービス | 次回起動時から自動起動する設定。disableで解除 |
sudo systemctl restart サービス | 再起動。設定変更を反映させたいときに。無停止なら reload |
journalctl -u サービス | systemdが集めたログを表示。-fで追尾、-eで末尾、--since "1 hour ago"で期間指定 |
crontab -e | 定期実行(cron)の設定を編集。crontab -lで一覧。書式は「分 時 日 月 曜 コマンド」 |
tail -f /var/log/syslog | システムログをリアルタイム監視(Red Hat系は /var/log/messages) |
Linuxの安全は最小権限と記録で成り立ちます。まず、何でも sudo で実行する癖は禁物です。必要なときだけ管理者権限を借り、普段は一般ユーザーで作業しましょう(コンピュータ大全コース第7章)。ファイル権限も「全員に読み書き可(chmod 777)」は避け、必要な人に必要なだけ与えるのが原則です。次に、操作や異常はすべてログに残ります。journalctl や /var/log を読む習慣が、障害対応と不正の早期発見を支えます。tail -f でログを眺めながら作業すれば、変更の影響がその場で見えます。そして最も大切なのは、rm や chmod -R のような不可逆・広範囲の操作は、実行前に必ず対象を ls で確認すること。コピペ実行の前に「これは何をするコマンドか」を言葉にできるか、を自分に問いかけてください。