よく使うコマンドのオプションをまとめておきます。 随時更新します。
- apt / dnf / yum 比較表
- firewall-cmd
- hostnamectl
- ip
- nmcli
- pip
- pyenv
- samba-tool
- ss
- systemctl
- timedatectl
- ufw
- 古い Linux カーネルを削除する
- Misc.
- 検証環境バージョンアップ手順
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]
ヒアドキュメントでファイルを新規作成する (sudo が不要な場合)
cat << EOF > [FILE] [BODY] EOF
ヒアドキュメントでファイルを新規作成する (sudo が必要な場合)
sudo tee [FILE] <<EOF [BODY] EOF
ヒアドキュメントでファイルに追記する
cat << EOF >> [FILE] [BODY] EOF
検証環境バージョンアップ手順
パッケージアップデート。 新しいカーネルがあれば差し替える為、OS 再起動。
dnf -y update
reboot
古いカーネルがあれば削除。
dnf -y remove $(dnf repoquery --installonly --latest-limit=-1 -q)
pyenv 自体をアップデートした後、新しい Python の有無を確認。
cd ${PYENV_ROOT} git pull pyenv install --list
新しいバージョンがあれば (必要なら) インストール
pyenv install [VERSION]
ライブラリのアップデート。
pip install --upgrade pip setuptools
キャッシュや履歴を削除して電源オフ。 電源オフ後は再度、テンプレート化する。
dnf clean all history -c poweroff