Skip to content

コマンドチートシート (2025/11/11 版)

以前に下記のメモを書きました。

こちらをアップデートし、Linux / macOS でよく使うコマンドのチートシートをメモしておきます。

変更点

  • 追加
    • 「Dockerの新旧コマンド対比表」を追加
    • 「container (macOS)」を追加
  • 削除
    • 「Linux 初期設定用スクリプト」を削除
    • 「Colima」を削除
    • 「asdf」を削除
    • 「samba-tool」を削除
    • 「pyenv」を削除
    • 「検証環境 初期構築手順」を削除
    • 「検証環境 バージョンアップ手順」を削除
    • 「古い Linux カーネルを削除する」を削除
  • 修正
    • 無し

テキスト関連

コメント行を除外して表示

grep -v -e '^\s*#' -e '^\s*$' [FILE]

ファイル中の文字列を置換する

sed -i -e "s/[BEFORE]/[AFTER]/g" [FILE]

ヒアドキュメント関連

sudoが不要な場合

cat << EOF > [FILE]
[BODY]
EOF

sudoが必要な場合

sudo tee [FILE] <<EOF
[BODY]
EOF

変数を展開したくない場合

変数を展開したくない場合、開始キーワードをシングルクォート、またはダブルクォートで囲みます。 下記では開始キーワードである「EOF」をシングルクォートで囲んでいます。

cat << 'EOF' > [FILE]
[BODY]
EOF

ファイルに追記する場合

cat << EOF >> [FILE]
[BODY]
EOF

展開/圧縮コマンド

ファイル形式 展開 圧縮
tar.gz tar zxvf ARCHIVE.tar.gz tar zcvf ARCHIVE.tar.gz DIRECTORY
tar.bz2 tar jxvf ARCHIVE.tar.bz2 tar jcvf ARCHIVE.tar.bz2 DIRECTORY
tar.xz tar Jxvf ARCHIVE.tar.xz tar Jcvf ARCHIVE.tar.xz DIRECTORY
tar tar xvf ARCHIVE.tar tar cvf ARCHIVE.tar DIRECTORY

apt/dnf/yumコマンド比較表

No. 説明 CentOS7 (yum) CentOS8 (dnf) Debian (apt) Debian (apt-xxx)
1 インストール yum install [NAME] dnf install [NAME] apt install [NAME] apt-get install [NAME]
2 アンインストール yum remove [NAME] dnf remove [NAME] apt remove --purge [NAME] apt-get purge [NAME]
3 アップデートチェック yum check-update dnf check-update apt update apt-get update
4 アップデート yum update dnf update apt upgrade apt-get upgrade
5 ディストリビューションの更新 - - apt full-upgrade apt-get dist-upgrade
6 検索 yum search [NAME] dnf search [NAME] apt search apt-cache search [NAME]
7 インストール済みパッケージの表示 yum list installed dnf list installed apt list installed dpkg -l
8 利用可能パッケージの表示 yum list available dnf list available apt list --upgradable apt-cache dumpavail
9 パッケージの説明情報表示 yum info [NAME] dnf info [NAME] apt show [NAME] apt-cache show [NAME]
10 キャッシュの削除 yum clean all dnf clean all apt clean apt-get clean
11 ファイルが含まれるパッケージの表示 yum provides [FILE] dnf provides [FILE] dlocate [FILE] apt-file search [FILE]
12 パッケージに含まれるファイルの表示 rpm -ql [NAME] rpm -ql [NAME] dpkg -L [NAME] dpkg -L [NAME]

container (macOS)

コマンド 説明
container system start コンテナ実行環境を開始する
container run hello-world hello-worldコンテナを起動する
container list コンテナの一覧を表示する
container image list コンテナイメージの一覧を表示する

Dockerコマンド新旧対比表

docker container系

旧コマンド 新コマンド 説明
docker run docker container run 新規のコンテナを起動する
docker exec docker container exec コンテナ内でコマンドを実行する
docker ps docker container ls コンテナの一覧を表示する
docker start docker container start 停止中のコンテナを起動する
docker stop docker container stop 起動中のコンテナを停止する
- docker container prune 停止中の全コンテナを削除する
docker rm docker container rm コンテナを削除する
docker stats docker container stats コンテナのリソース使用状況を表示する

docker image系

旧コマンド 新コマンド 説明
docker pull docker image pull コンテナレジストリからイメージを取得する
docker rmi docker image rm イメージを削除する
docker inspect docker image inspect イメージの詳細情報を表示する
docker save docker image save tar 形式でイメージを保存する
docker load docker image load tar 形式のイメージを読み込む
docker build docker image build Dockerfile からイメージを作成する

direnv

インストール&初期設定

curl -L https://github.com/direnv/direnv/releases/download/v2.36.0/direnv.linux-amd64 -o /usr/local/bin/direnv && \
chmod 755 /usr/local/bin/direnv && \
cat << 'EOF' >> ~/.bashrc
export EDITOR=vim
eval "$(direnv hook bash)"
EOF

Pythonの仮想環境作成

python3 -m venv .venv && \
echo 'source .venv/bin/activate' > .envrc && \
direnv allow && \
python3 -m pip install --upgrade pip

firewall-cmd

No. コマンド 説明
1 systemctl start firewalld.service サービスを開始する
2 systemctl stop firewalld.service サービスを停止する
3 firewall-cmd --state 動作状態 (起動 or 停止) を表示する
4 firewall-cmd --reload 設定を読み込みなおす
5 firewall-cmd --get-active-zones 定義されているゾーンの一覧を表示する
6 firewall-cmd --get-default-zone デフォルトゾーンを表示する
7 firewall-cmd --set-default-zone=[ZONE] デフォルトゾーンを変更する
8 firewall-cmd --new-zone [ZONE] --permanent ゾーンを新規作成する
9 firewall-cmd --delete-zone [ZONE] --permanent ゾーンを削除する
10 firewall-cmd --list-all デフォルトゾーンの設定内容を表示する
11 firewall-cmd --list-all --zone[ZONE] 指定ゾーンの設定内容を表示する
12 firewall-cmd --list-all-zones 全ゾーンの設定内容を表示する
13 firewall-cmd --list-all --permanent デフォルトゾーンの設定内容を表示する (一時ルールは表示しない)
14 firewall-cmd --list-all --zone[ZONE] --permanent 指定ゾーンの設定内容を表示する (一時ルールは表示しない)
15 firewall-cmd --list-all-zones --permanent 全ゾーンの設定内容を表示する (一時ルールは表示しない)
16 firewall-cmd --get-services 登録可能なサービスを表示する
17 firewall-cmd --zone=[ZONE] --list-services 指定ゾーンで定義されたサービスを表示する
18 firewall-cmd --zone=[ZONE] --list-services --permanent 指定ゾーンで定義されたサービスを表示する (恒久的)
19 firewall-cmd --zone=[ZONE] --add-service=[SERVICE] 指定ゾーンへサービスを追加する
20 firewall-cmd --zone=[ZONE] --add-service=[SERVICE] --permanent 指定ゾーンへサービスを追加する (恒久的)
21 firewall-cmd --zone=[ZONE] --remove-service=[SERVICE] 指定ゾーンからサービスを削除する
22 firewall-cmd --zone=[ZONE] --remove-service=[SERVICE] --permanent 指定ゾーンからサービスを削除する (恒久的)
23 firewall-cmd --zone=[ZONE] --list-ports 指定ゾーンで定義されているポートを表示する
24 firewall-cmd --zone=[ZONE] --list-ports --permanent 指定ゾーンで定義されているポートを表示する (恒久的)
25 firewall-cmd --zone=[ZONE] --add-port=[PORT]/udp 指定ゾーンへ UDP ポートを追加する
26 firewall-cmd --zone=[ZONE] --add-port=[PORT]/udp --permanent 指定ゾーンへ UDP ポートを追加する (恒久的)
27 firewall-cmd --zone=[ZONE] --add-port=[PORT]/tcp 指定ゾーンへ TCP ポートを追加する
28 firewall-cmd --zone=[ZONE] --add-port=[PORT]/tcp --permanent 指定ゾーンへ TCP ポートを追加する (恒久的)
29 firewall-cmd --zone=[ZONE] --remove-port=[PORT]/udp 指定ゾーンから UDP ポートを削除する
30 firewall-cmd --zone=[ZONE] --remove-port=[PORT]/udp --permanent 指定ゾーンから UDP ポートを削除する (恒久的)
31 firewall-cmd --zone=[ZONE] --remove-port=[PORT]/tcp 指定ゾーンから TCP ポートを削除する
32 firewall-cmd --zone=[ZONE] --remove-port=[PORT]/tcp --permanent 指定ゾーンから TCP ポートを削除する (恒久的)
33 firewall-cmd --zone=[ZONE] --list-sources 指定ゾーンで定義されている IP アドレスを表示する
34 firewall-cmd --zone=[ZONE] --list-sources --permanent 指定ゾーンで定義されている IP アドレスを表示する (恒久的)
35 firewall-cmd --zone=[ZONE] --add-source=[NETWORK/MASK] 指定したゾーンに IP アドレスを追加する
36 firewall-cmd --zone=[ZONE] --add-source=[NETWORK/MASK] --permanent 指定したゾーンに IP アドレスを追加する (恒久的)
37 firewall-cmd --zone=[ZONE] --change-source=[NETWORK/MASK] 登録済み IP アドレスの所属ゾーンを変更する
38 firewall-cmd --zone=[ZONE] --change-source=[NETWORK/MASK] --permanent 登録済み IP アドレスの所属ゾーンを変更する (恒久的)
39 firewall-cmd --zone=[ZONE] --remove-source=[NETWORK/MASK] 指定したゾーンから IP アドレスを削除する
40 firewall-cmd --zone=[ZONE] --remove-source=[NETWORK/MASK] --permanent 指定したゾーンから IP アドレスを削除する (恒久的)
41 firewall-cmd --zone=[ZONE] --change-interface=[INTERFACE] インターフェイスの所属ゾーンを変更する
42 firewall-cmd --zone=[ZONE] --change-interface=[INTERFACE] --permanent インターフェイスの所属ゾーンを変更する (恒久的)

hostnamectl

No. コマンド 説明
1 hostnamectl status ホスト名を表示する
2 hostnamectl set-hostname [HOSTNAME] ホスト名を設定する

ip

No. コマンド 説明
1 ip address show IP アドレスを表示する
2 ip address add [NETWORK/MASK] dev {DEVICE] デバイスに IP アドレスを追加する
3 ip address del [NETWORK/MASK] dev {DEVICE] デバイスから IP アドレスを削除する
4 ip neigh show ARP テーブルを表示する
5 ip neigh add [IP] lladdr [MAC] dev [DEVICE] 静的 ARP エントリを追加する
6 ip neigh del [IP] dev [DEVICE] 静的 ARP エントリを削除する
7 ip -s link show インターフェイスの統計情報を表示する
8 ip link set [DEVICE] up デバイスをアップさせる
9 ip link set [DEVICE] down デバイスをダウンさせる
10 ip link set [DEVICE] promisc on デバイスでプロミスキャスモードを有効にする
11 ip link set [DEVICE] promisc off デバイスでプロミスキャスモードを無効にする
12 ip link set [DEVICE] mtu [SIZE] デバイスの MTU サイズを変更する
13 ip maddress show マルチキャストアドレスを表示する
14 ip route show ルーティングテーブルを表示する
15 ip route add [NETWORK/MASK] dev [DEVICE] 静的ルートを追加する
16 ip route add default via [NEXT-HOP] デフォルトルートを追加する

mise

プラグイン

No. 目的 コマンド
1 利用可能な一覧を表示 mise plugins ls-remote
2 インストール mise plugins install PLUGIN
3 アップデート mise plugins update PLUGIN
4 アンインストール mise plugins uninstall PLUGIN
5 インストール済みの一覧を表示 mise plugins ls

バージョン

No. 目的 コマンド
1 指定プラグインの利用可能な一覧を表示 mise ls-remote PLUGIN
2 全プラグインで利用可能な一覧を表示 mise ls-remote --all
3 指定バージョンをインストール mise install PLUGIN@VERSION
4 最新バージョンをインストール mise install PLUGIN@latest
5 指定バージョンをアンインストール mise uninstall PLUGIN@VERSION

nmcli

No. コマンド 説明
1 nmcli device status デバイスの接続状態を表示する
2 nmcli device connect [DEVICE] デバイスを接続する
3 nmcli device disconnect [DEVICE] デバイスを切断する
4 nmcli connection modify [DEVICE] ipv4.addresses [NETWORK/MASK] デバイスに IPv4 アドレスを設定する
5 nmcli connection modify [DEVICE] ipv4.dns [DNS] デバイスに DNS サーバを設定する
6 nmcli connection modify [DEVICE] ipv4.gateway [GATEWAY] デバイスにデフォルトゲートウェイを設定する
7 nmcli connection modify [DEVICE] connection.autoconnect yes OS 起動時、デバイスが自動的に接続されるように設定する
8 nmcli general hostname [HOSTNAME] ホスト名を設定する

openssl

目的 コマンド
証明書の有効期限を確認 openssl s_client -connect www.example.com:443 < /dev/null 2> /dev/null | openssl x509 -text | grep Not
TLSv1 接続の確認 openssl s_client -connect www.example.com:443 -tls1
TLSv1.1 接続の確認 openssl s_client -connect www.example.com:443 -tls1_1
TLSv1.2 接続の確認 openssl s_client -connect www.example.com:443 -tls1_2
TLSv1.3 接続の確認 openssl s_client -connect www.example.com:443 -tls1_3
DTLSv1 接続の確認 openssl s_client -connect www.example.com:443 -dtls1
DTLSv1.2 接続の確認 openssl s_client -connect www.example.com:443 -dtls1_2

pip

No. コマンド 説明
1 pip -h ヘルプを表示する
2 pip list インストールする済みライブラリを表示する
3 pip install [NAME] ライブラリをインストールする
4 pip install [NAME]==[VERSION] バージョンを指定してライブラリをインストールする
5 pip install git+[URL] Git リポジトリから直接、ライブラリをインストールする
6 pip install -U [NAME] ライブラリをアップグレードする
7 pip freeze > requirements.txt インストールする済みライブラリをファイルにまとめる
8 pip install -r requirements.txt ファイルからまとめてライブラリをインストールする
9 pip uninstall [NAME] ライブラリをアンインストールする
10 pip search [NAME] PyPI で公開されているライブラリを検索する
11 pip -V pip 自体のバージョンを表示する
12 pip show [NAME] インストール済みライブラリの説明を表示する

ss

No. コマンド 説明
1 ss ソケットを表示する
2 ss -4 IPv4 ソケットだけを表示する
3 ss -6 IPv6 ソケットだけを表示する
4 ss -t TCP ソケットだけを表示する
5 ss -u UDP ソケットだけを表示する
6 ss -p ソケットを使用しているプロセスも表示する
7 ss -s ソケットの種類ごとに接続数を表示する
8 ss -n 名前解決を行わない

systemctl

No. コマンド 説明
1 systemctl start [SERVICE] サービスを起動する
2 systemctl stop [SERVICE] サービスを停止する
3 systemctl restart [SERVICE] サービスを再起動する
4 systemctl try-restart [SERVICE] サービスが実行中の場合のみ、再起動する
5 systemctl reload [SERVICE] 設定を再読み込みする
6 systemctl status [SERVICE] サービスの状態 (起動中 or 停止中等) を表示する
7 systemctl list-units --type service --all すべてのサービスのステータスを表示する
8 systemctl enable [SERVICE] サービスを有効にする
9 systemctl disable [SERVICE] サービスを無効にする
10 systemctl is-enabled [SERVICE] サービスが「有効」または「無効」かを表示する
11 systemctl list-dependencies --after [SERVICE] 指定されたユニットの前に開始するサービスを表示する
12 systemctl list-dependencies --before [SERVICE] 指定されたユニットの後に開始するサービスを表示する
13 systemctl daemon-reload 追加・変更されたユニット設定の内容を読み込む

timedatectl

No. コマンド 説明
1 timedatectl システムクロック、ハードウェアクロック、NTP サーバの設定を表示する。
2 systemctl restart systemd-timedated.service chrony / ntpd の設定変更を timedatectl へ即座に反映する
3 timedatectl set-time HH:MM:SS 時刻を設定する (システムクロック&ハードウェアクロックの両方)
4 timedatectl set-time YYYY-MM-DD 年月日を設定する
5 timedatectl list-timezones 利用可能なタイムゾーンを表示する (日本なら Asia/Tokyo が一般的)
6 timedatectl set-timezone [TIMEZONE] タイムゾーンを変更する

ufw

No. コマンド 説明
1 ufw allow [PORT]/udp UDP ルールの追加
2 ufw allow [PORT]/tcp TCP ルールの追加
3 ufw delete [RULE-NUMBER] ルールの削除 (行番号指定)
4 ufw default allow 受信トラフィックのデフォルト許可
5 ufw default deny 受信トラフィックのデフォルト拒否
6 ufw enable ファイアウォールの有効化
7 ufw disable ファイアウォールの無効化
8 ufw status ルールの表示
9 ufw status verbose ルールの表示 (詳細)
10 ufw status numbered ルールの表示 (行番号付き)
11 ufw status verbose numbered ルールの表示 (詳細&行番号付き)
12 ufw reload 設定ファイルの再読み込み
13 ufw reset 設定初期化 (ルール全削除&ufw 無効化)

youtube-dl

No. コマンド 説明
1 youtube-dl URL 動画をダウンロードする
2 youtube-dl -x --audio-format mp3 URL 音声トラックのみ、MP3 形式でダウンロードする