タイトル: コマンド一覧
SEOタイトル: Linux コマンド一覧 — よく使う 50 コマンド完全リファレンス
| この記事の要点 |
- ファイル操作: ls / cd / pwd / cp / mv / rm / mkdir / rmdir / find / locate
- テキスト処理: cat / less / head / tail / grep / awk / sed / sort / uniq / wc / cut / tr
- ネットワーク: ping / curl / wget / ssh / scp / rsync / netstat / ss / dig / nslookup
- プロセス: ps / top / htop / kill / jobs / bg / fg / nohup / nice
- システム情報: uname / df / du / free / uptime / whoami / id / lsblk / lscpu
- 圧縮 / 展開: tar / gzip / bzip2 / xz / zip / unzip
- 権限 / ユーザー: su / sudo / passwd / chmod / chown / chgrp / useradd / groupadd
|
Linux コマンドの世界
Linux の真の力はコマンドラインの組み合わせにあります。GUI でできることはたいていコマンドでもでき、コマンドのほうがスクリプト化・自動化に強い。ここでは現場で頻出する 50 コマンドを分野別にまとめます。
1. ファイル・ディレクトリ操作
| コマンド | 用途 | 例 |
ls | ファイル一覧 | ls -lah / ls -ltr(時刻昇順) |
cd | カレント移動 | cd /var/log / cd -(直前) |
pwd | 現在地表示 | pwd |
cp | コピー | cp -av src dst |
mv | 移動・改名 | mv old.txt new.txt |
rm | 削除 | rm -rf dir(要注意) |
mkdir | ディレクトリ作成 | mkdir -p a/b/c |
rmdir | 空ディレクトリ削除 | rmdir empty |
find | 条件検索 | find . -name '*.log' -mtime +7 |
locate | DB ベース高速検索 | locate sshd_config |
ln | リンク作成 | ln -s target link |
stat | ファイル情報 | stat file.txt |
2. テキスト処理(パイプの主役)
| コマンド | 用途 | 例 |
cat | 全体表示・結合 | cat a.txt b.txt > merged.txt |
less | ページャ(前後移動可) | less /var/log/syslog |
head | 先頭 N 行 | head -n 20 file |
tail | 末尾 N 行 / 追従 | tail -f /var/log/nginx/access.log |
grep | 正規表現検索 | grep -rin 'error' . |
awk | 列処理・集計 | awk '{sum+=$3} END{print sum}' data.txt |
sed | テキスト置換 | sed -i 's/foo/bar/g' file |
sort | 並べ替え | sort -u -k2 file |
uniq | 重複除去(要 sort) | sort file | uniq -c | sort -nr |
wc | 行数・単語・バイト数 | wc -l file |
cut | カラム抽出 | cut -d, -f2 csv |
tr | 文字置換 | tr '[:lower:]' '[:upper:]' |
diff | 差分 | diff -u a.txt b.txt |
3. ネットワーク
| コマンド | 用途 | 例 |
ping | 疎通確認(ICMP) | ping -c 4 8.8.8.8 |
curl | HTTP / FTP クライアント | curl -fsSL https://example.com |
wget | ファイルダウンロード | wget -c URL |
ssh | リモートログイン | ssh user@host -p 2222 |
scp | SSH 経由コピー | scp file user@host:/tmp/ |
rsync | 差分同期 | rsync -avz src/ user@host:/dst/ |
netstat | 接続一覧(古い) | netstat -tlnp |
ss | 接続一覧(推奨) | ss -tlnp |
dig | DNS 問い合わせ | dig +short example.com |
nslookup | DNS 簡易問い合わせ | nslookup example.com |
traceroute | 経路追跡 | traceroute 1.1.1.1 |
nc (netcat) | TCP / UDP 万能 | nc -zv host 80 |
4. プロセス・ジョブ管理
| コマンド | 用途 | 例 |
ps | プロセス一覧 | ps auxf / ps -ef |
top | リアルタイム表示 | top → P=CPU 順 / M=MEM 順 |
htop | カラー版 top | htop |
kill | シグナル送信 | kill -9 12345 |
pkill | 名前指定で kill | pkill -f node |
jobs | ジョブ一覧 | jobs |
bg / fg | バックグラウンド・前面化 | fg %1 |
nohup | ログアウト後も継続実行 | nohup ./script.sh & |
nice / renice | 優先度変更 | nice -n 10 cmd |
strace | システムコール追跡 | strace -p PID |
lsof | 開いてるファイル / ポート | lsof -i :80 |
5. システム情報
| コマンド | 用途 | 例 |
uname -a | カーネル情報 | uname -a |
df -h | ディスク使用量 | df -h |
du -sh | ディレクトリ容量 | du -sh * |
free -h | メモリ使用状況 | free -h |
uptime | 稼働時間・LA | uptime |
whoami / id | ユーザ確認 | id |
lsblk | ブロックデバイス一覧 | lsblk |
lscpu | CPU 情報 | lscpu |
lsmem | メモリ情報 | lsmem |
dmesg | カーネルログ | dmesg -T | tail |
journalctl | systemd ログ | journalctl -u nginx -f |
6. 圧縮・アーカイブ
# tar + gzip
tar -czvf archive.tar.gz dir/
tar -xzvf archive.tar.gz
# tar + xz(圧縮率高い)
tar -cJvf archive.tar.xz dir/
tar -xJvf archive.tar.xz
# 単独 gzip
gzip file.log # file.log.gz になる
gunzip file.log.gz
# zip / unzip
zip -r archive.zip dir/
unzip archive.zip -d outdir/
# 圧縮率比較(同データに対して)
# gzip < bzip2 < xz < zstd(速度は逆順)
7. ユーザー・権限
# ユーザー切替
su - # root に
su - alice # alice に
sudo cmd # 一時昇格
# ユーザー管理
sudo useradd -m -s /bin/bash bob
sudo passwd bob
sudo usermod -aG sudo bob # sudo グループ追加
sudo userdel -r bob
# パーミッション
chmod 644 file.txt
chmod -R 755 dir/
chmod u+x script.sh
chmod g-w file.txt
# 所有者
chown user:group file.txt
sudo chown -R www-data:www-data /var/www/
# 確認
ls -l file.txt
id alice
getent passwd alice
パイプ・リダイレクトの基本
# パイプ: 標準出力を次のコマンドへ
ps aux | grep nginx | grep -v grep
# リダイレクト
cmd > out.log # 標準出力を上書き
cmd >> out.log # 追記
cmd 2> err.log # 標準エラー
cmd > all.log 2>&1 # 両方を all.log へ
cmd &> all.log # 同上(Bash 拡張)
cmd < input.txt # 標準入力から読む
# ヒアドキュメント
cat < file.txt
Line 1
Line 2
EOF
# プロセス置換
diff <(ls dir1) <(ls dir2)
# 並列実行
cmd1 & cmd2 & wait
覚えておきたいキー操作
| キー | 意味 |
Ctrl+C | 実行中プロセスを中断(SIGINT) |
Ctrl+Z | 停止してバックグラウンドへ |
Ctrl+D | EOF / ログアウト |
Ctrl+L | 画面クリア(clear 相当) |
Ctrl+R | 履歴インクリメンタル検索 |
Ctrl+A / Ctrl+E | 行頭 / 行末へ |
!! | 直前のコマンドを再実行 |
!$ | 直前のコマンドの最後の引数 |
FAQ
Q: どこから覚え始める?
A: ls / cd / pwd / cat / less / grep / find / ps / top / df / du の 11 個。これらが体に染み込めば日常作業の 8 割は回ります。
Q: man が読みにくい
A: tldr COMMAND(要インストール)が実例ベースで分かりやすい。cmd --help も大半のコマンドで対応。
Q: シェルは bash と zsh どっち?
A: サーバは大抵 bash がデフォルト。個人開発機は補完が強い zsh(macOS の標準)や fish も人気。スクリプトを書くなら #!/bin/bash で bash を明示。