らくがきちょう

なんとなく

よく使うコマンドのチートシート

よく使うコマンドのオプションをまとめておきます。 随時更新します。

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]

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] デフォルトルートを追加する

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] ホスト名を設定する

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] インストール済みライブラリの説明を表示する

pyenv

No. コマンド 説明
1 pyenv --help ヘルプを表示する
2 pyenv --version pyenv 自身のバージョンを表示する
3 pyenv update pyenv 自身を更新する
4 pyenv versions インストール済みの Python を表示。 現在、利用中の Python も確認可能
5 pyenv version 現在のディレクトリで有効な Python を表示する
6 pyenv rehash shim を再構築する
7 pyenv install --list インストール可能な Python の一覧表示する
8 pyenv install [VERSION] 指定バージョンの Python をインストールする
9 pyenv uninstall [VERSION] 指定バージョンの Python をアンインストールする
10 pyenv global [VERSION] 指定バージョンの Python へ切り替える
11 pyenv local [VERSION] 特定ディレクトリ内でのみ、指定バージョンの Python へ切り替える
12 pyenv which [VERSION] 指定バージョンの Python のフルパスを表示する

samba-tool

No. コマンド 説明
1 samba-tool user show [USER] ユーザの設定を表示する
2 samba-tool user add [USER] ユーザを追加する (CN=Users へ追加)
3 samba-tool user add [USER] --userou=[OU] OU へユーザを追加する
4 samba-tool user add [USER] --description=[DESCRIPTION] 説明文を付与し、ユーザを追加する
5 samba-tool user delete [USER] ユーザを削除する
6 samba-tool user enable [USER] ユーザを有効化する
7 samba-tool user disable [USER] ユーザを無効化する
8 samba-tool user move [USER] [CN/OU] ユーザを指定したコンテナ/OU へ移動する
9 samba-tool group add [GROUP] グループを追加する (CN=Users へ追加)
10 samba-tool group add [GROUP] --groupou=ou=[OU] OU へグループを追加する
11 samba-tool group addmembers [GROUP] [USER] グループにユーザを追加する
12 samba-tool user setpassword [USER] --newpassword=[PASSWORD] ユーザのパスワードを変更する
13 samba-tool user setexpiry [USER] --noexpiry ユーザのパスワードを無期限にする

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 無効化)

古い Linux カーネルを削除する

No. コマンド 説明
1 package-cleanup --oldkernels --count=1 -y (CentOS7) 古いカーネルを削除する
2 dnf -y remove $(dnf repoquery --installonly --latest-limit=-1 -q) (CentOS8) カーネルを含み、重複した古いパッケージを削除する

Misc.

コメント行と空業務を除外して、ファイルの内容を表示する

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

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

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

ヒアドキュメントでファイルを新規作成する

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

ヒアドキュメントでファイルに追記する

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