💡 このページの読み方

表は「コマンド」と「意味・用途」の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 / や、変数が空になった状態の 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 のオプションは組み合わせる

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 ファイルB2ファイルの差分を表示。-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で終了
htoptopの見やすい強化版(要インストール)。色付き・マウス操作可
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だけで現在の一覧
lscpuCPUのコア数・モデルなどの情報を表示

ユーザー・グループ

アカウントの確認と管理。作成・変更系は 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 updatesudo dnf check-updatesudo pacman -Sy
インストールsudo apt install 名前sudo dnf install 名前sudo pacman -S 名前
アンインストールsudo apt remove 名前sudo dnf remove 名前sudo pacman -R 名前
全体アップグレードsudo apt upgradesudo dnf upgradesudo pacman -Syu
検索apt search 語dnf search 語pacman -Ss 語

圧縮・アーカイブ

tarのオプションは呪文のようですが、2パターン覚えれば足ります。

コマンド意味・用途
tar czf 名前.tar.gz 対象gzip圧縮してまとめる。c=作成 z=gzip f=ファイル名。「作って詰めて名前」
tar xzf 名前.tar.gzgzip圧縮を展開する。x=展開。-C ディレクトリで展開先指定
tar tzf 名前.tar.gz展開せず中身の一覧だけ確認(t=list)。開ける前の確認に
gzip ファイル / gunzip ファイル.gz単一ファイルを圧縮/展開(元ファイルは置き換わる)
zip -r 名前.zip 対象zip形式で圧縮。-rでディレクトリごと。Windowsとやり取りしやすい
unzip 名前.zipzipを展開。-d ディレクトリで展開先を指定
✅ 拡張子が圧縮方式のヒント

.tar.gz(=.tgz)なら z.tar.bz2 なら j.tar.xz なら J を使います。迷ったら新しめの tar は方式を自動判別してくれるので、tar xf 名前 だけでも展開できることが多いです。

ネットワーク

疎通確認・通信・名前解決・リモート操作。トラブル時に真っ先に使う一群です。

コマンド意味・用途
ip aIPアドレス・インターフェースの状態を表示(ip addrの略)。古い環境の ifconfig の後継
ping ホスト相手に届くか・応答時間を確認。-c 4で回数指定して止める
curl URLHTTP等でデータ取得・送信。-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 でログを眺めながら作業すれば、変更の影響がその場で見えます。そして最も大切なのは、rmchmod -R のような不可逆・広範囲の操作は、実行前に必ず対象を ls で確認すること。コピペ実行の前に「これは何をするコマンドか」を言葉にできるか、を自分に問いかけてください。