0
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

【保存版】Linuxコマンドチートシート ~よく使うものから、知っておくと差がつくものまで~

0
Posted at

はじめに

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:標準入力を引数に変換してコマンドに渡す

まとめ

まずは🔥マークのコマンドを手が覚えるまで使い込み、⭐は困ったときに「あ、あれ使えば良かった」と思い出せる状態を目指すのがおすすめです。📝は必要になったタイミングでこの記事に戻ってきて調べる、くらいの温度感で問題ありません。

0
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?