はじめに
Linuxを触る上で最低限〜プラスアルファで覚えておきたいコマンドを、使用頻度別にまとめました。
新人研修やオンボーディング資料としても使える構成にしています。
本記事の見方
各コマンドに以下のアイコンで頻度の目安を付けています。
| アイコン |
目安 |
| 🔥 |
ほぼ毎日使う。反射的に打てるようにしておきたい |
| ⭐ |
頻度は高くないが、業務で詰まりがちなので覚えておくべき |
| 📝 |
使う機会は少ないが、知っておくと引き出しが増える |
環境はUbuntu/CentOS系を想定していますが、基本的にどのディストリビューションでも共通して使えるコマンドを中心に紹介しています。
目次
- ファイル・ディレクトリ操作
- ファイルの中身を見る・編集する
- 検索
- 権限・所有者
- プロセス・システム管理
- ネットワーク
- アーカイブ・圧縮
- パッケージ管理
- ディスク・ストレージ
- ユーザー・グループ管理
- 知っていると便利なTips
ファイル・ディレクトリ操作
| 頻度 |
コマンド |
説明 |
例 |
| 🔥 |
ls |
ディレクトリの中身を一覧表示 |
ls -la |
| 🔥 |
cd |
ディレクトリを移動 |
cd /var/log |
| 🔥 |
pwd |
現在のディレクトリを表示 |
pwd |
| 🔥 |
mkdir |
ディレクトリを作成 |
mkdir -p a/b/c |
| 🔥 |
rm |
ファイル・ディレクトリを削除 |
rm -rf tmp/ |
| 🔥 |
cp |
ファイル・ディレクトリをコピー |
cp -r src/ dst/ |
| 🔥 |
mv |
ファイルの移動・リネーム |
mv old.txt new.txt |
| 🔥 |
touch |
空ファイル作成・更新日時変更 |
touch file.txt |
| ⭐ |
ln |
シンボリックリンク・ハードリンク作成 |
ln -s /path/to/target link |
| ⭐ |
tree |
ディレクトリ構造をツリー表示(要インストール) |
tree -L 2 |
| ⭐ |
readlink |
シンボリックリンクの実体パスを確認 |
readlink -f link |
| 📝 |
rename |
複数ファイルの一括リネーム |
rename 's/.txt/.bak/' *.txt |
| 📝 |
stat |
ファイルの詳細情報(更新日時・サイズ等)を表示 |
stat file.txt |
ファイルの中身を見る・編集する
| 頻度 |
コマンド |
説明 |
例 |
| 🔥 |
cat |
ファイル内容を表示 |
cat access.log |
| 🔥 |
less |
ファイルをページングして閲覧(qで終了) |
less access.log |
| 🔥 |
tail |
ファイルの末尾を表示。-fでリアルタイム監視 |
tail -f app.log |
| 🔥 |
head |
ファイルの先頭を表示 |
head -n 20 file.txt |
| 🔥 |
grep |
文字列検索。ログ調査の定番 |
grep -i "error" app.log |
| ⭐ |
vi / vim
|
テキストエディタ |
vim config.yml |
| ⭐ |
nano |
初心者向けの簡易テキストエディタ |
nano config.yml |
| ⭐ |
diff |
2つのファイルの差分を表示 |
diff a.txt b.txt |
| ⭐ |
wc |
行数・単語数・バイト数をカウント |
wc -l file.txt |
| ⭐ |
sort |
行をソート |
sort -n numbers.txt |
| ⭐ |
uniq |
重複行を削除(事前にsort推奨) |
sort file.txt | uniq -c |
| 📝 |
sed |
ストリームエディタ。置換処理の定番 |
sed -i 's/foo/bar/g' file.txt |
| 📝 |
awk |
フィールド単位でのテキスト処理 |
awk '{print $1}' file.txt |
| 📝 |
xxd / od
|
ファイルをバイナリ・16進数表示 |
xxd file.bin | head |
| 📝 |
column |
列を整形して見やすく表示 |
column -t -s, data.csv |
検索
| 頻度 |
コマンド |
説明 |
例 |
| 🔥 |
find |
ファイル・ディレクトリを条件検索 |
find . -name "*.log" |
| ⭐ |
grep -r |
ディレクトリ配下を再帰的に文字列検索 |
grep -rn "TODO" ./src |
| ⭐ |
which |
コマンドの実行パスを確認 |
which python3 |
| ⭐ |
locate |
インデックスを使った高速ファイル検索(要updatedb) |
locate nginx.conf |
| 📝 |
whereis |
コマンド本体・マニュアル・ソースの場所を表示 |
whereis ls |
| 📝 |
find + xargs |
検索結果に対して一括処理 |
find . -name "*.tmp" | xargs rm |
権限・所有者
| 頻度 |
コマンド |
説明 |
例 |
| 🔥 |
chmod |
ファイルのパーミッション変更 |
chmod 755 script.sh |
| 🔥 |
chown |
ファイルの所有者・グループ変更 |
chown user:group file.txt |
| 🔥 |
sudo |
管理者権限でコマンド実行 |
sudo systemctl restart nginx |
| ⭐ |
su |
ユーザー切り替え |
su - deploy |
| 📝 |
umask |
新規作成ファイルのデフォルト権限を設定 |
umask 022 |
| 📝 |
chattr / lsattr
|
ファイルの属性変更・確認(削除不可属性など) |
chattr +i file.txt |
プロセス・システム管理
| 頻度 |
コマンド |
説明 |
例 |
| 🔥 |
ps |
実行中プロセスを表示 |
ps aux | grep nginx |
| 🔥 |
top / htop
|
プロセスをリアルタイム監視 |
top |
| 🔥 |
kill |
プロセスを終了 |
kill -9 1234 |
| 🔥 |
df |
ディスク使用量を表示 |
df -h |
| 🔥 |
du |
ディレクトリ・ファイルの使用量を表示 |
du -sh ./* |
| ⭐ |
systemctl |
systemdサービスの管理 |
systemctl status nginx |
| ⭐ |
journalctl |
systemdのログを確認 |
journalctl -u nginx -f |
| ⭐ |
kill -HUP / pkill
|
プロセス名を指定して終了・シグナル送信 |
pkill -f gunicorn |
| ⭐ |
free |
メモリ使用量を表示 |
free -h |
| ⭐ |
uptime |
稼働時間・平均負荷を表示 |
uptime |
| ⭐ |
nohup |
ログアウト後もプロセスを継続実行 |
nohup ./run.sh & |
| 📝 |
nice / renice
|
プロセスの優先度を設定・変更 |
nice -n 10 ./heavy_task.sh |
| 📝 |
strace |
システムコールをトレース(デバッグ用) |
strace -p 1234 |
| 📝 |
lsof |
開いているファイル・ポートを確認 |
lsof -i:8080 |
| 📝 |
cron / crontab
|
定期実行タスクの設定 |
crontab -e |
ネットワーク
| 頻度 |
コマンド |
説明 |
例 |
| 🔥 |
ping |
疎通確認 |
ping google.com |
| 🔥 |
curl |
HTTPリクエストの送信・API疎通確認 |
curl -I https://example.com |
| 🔥 |
ssh |
リモートサーバーへの接続 |
ssh user@server |
| 🔥 |
scp |
サーバー間でファイルをコピー |
scp file.txt user@server:/tmp/ |
| ⭐ |
wget |
ファイルのダウンロード |
wget https://example.com/file.zip |
| ⭐ |
netstat / ss
|
使用中のポート・接続状況を確認 |
ss -tulnp |
| ⭐ |
dig / nslookup
|
DNS解決の確認 |
dig example.com |
| ⭐ |
rsync |
差分同期。バックアップの定番 |
rsync -avz src/ user@server:/dst/ |
| 📝 |
traceroute |
通信経路を確認 |
traceroute example.com |
| 📝 |
nc (netcat) |
ポート疎通確認・簡易通信 |
nc -zv host 443 |
| 📝 |
iptables / ufw
|
ファイアウォール設定 |
ufw allow 22 |
アーカイブ・圧縮
| 頻度 |
コマンド |
説明 |
例 |
| 🔥 |
tar |
アーカイブの作成・展開 |
tar -xzvf file.tar.gz |
| ⭐ |
zip / unzip
|
zip形式の圧縮・展開 |
unzip file.zip -d ./out |
| 📝 |
gzip / gunzip
|
gzip形式の圧縮・展開 |
gzip file.txt |
パッケージ管理
| 頻度 |
コマンド |
説明 |
例 |
| 🔥 |
apt (Debian/Ubuntu) |
パッケージのインストール・更新 |
sudo apt install nginx |
| 🔥 |
yum / dnf (RHEL/CentOS) |
パッケージのインストール・更新 |
sudo dnf install nginx |
| ⭐ |
apt update / apt upgrade
|
パッケージ一覧・本体の更新 |
sudo apt update && sudo apt upgrade |
| 📝 |
dpkg / rpm
|
パッケージファイル単体を直接操作 |
dpkg -i package.deb |
ディスク・ストレージ
| 頻度 |
コマンド |
説明 |
例 |
| ⭐ |
mount / umount
|
ディスクのマウント・解除 |
mount /dev/sdb1 /mnt/data |
| ⭐ |
fdisk / lsblk
|
ディスク・パーティション情報の確認 |
lsblk |
| 📝 |
mkfs |
ファイルシステムの作成 |
mkfs.ext4 /dev/sdb1 |
| 📝 |
dd |
ディスクの複製・ゼロ埋めなど低レベル操作(操作ミスに注意) |
dd if=/dev/zero of=test.img bs=1M count=100 |
ユーザー・グループ管理
| 頻度 |
コマンド |
説明 |
例 |
| ⭐ |
useradd / usermod
|
ユーザーの作成・変更 |
sudo useradd -m deploy |
| ⭐ |
passwd |
パスワードの設定・変更 |
passwd deploy |
| ⭐ |
groups / id
|
所属グループ・UID/GIDの確認 |
id deploy |
| 📝 |
groupadd |
グループの作成 |
sudo groupadd devteam |
| 📝 |
visudo |
sudoers設定ファイルの安全な編集 |
sudo visudo |
知っていると便利なTips
-
history:過去に実行したコマンド履歴を表示(🔥 Ctrl + Rで履歴インクリメンタル検索)
-
!!:直前のコマンドを再実行(例: sudo !!)
-
alias:よく使うコマンドを短縮登録(例: alias ll='ls -la')
-
man <コマンド名>:マニュアルを確認する最初の一手
-
Ctrl + C:実行中のコマンドを中断、Ctrl + Z:一時停止してバックグラウンドへ
-
command1 | command2:パイプで前段の出力を後段の入力に渡す
-
command > file / command >> file:標準出力をファイルへ上書き・追記
-
command1 && command2:command1が成功したらcommand2を実行
-
xargs:標準入力を引数に変換してコマンドに渡す
まとめ
まずは🔥マークのコマンドを手が覚えるまで使い込み、⭐は困ったときに「あ、あれ使えば良かった」と思い出せる状態を目指すのがおすすめです。📝は必要になったタイミングでこの記事に戻ってきて調べる、くらいの温度感で問題ありません。