コマンドチートシート (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 形式でダウンロードする |