2.Rocky-Linux-9常用命令备忘录
Rocky Linux 9常用命令备忘录(不定时更新)
大家好,我是星哥,上次介绍了 Rocky Linux 9 系统安装配置图解教程并做简单配置 https://mp.weixin.qq.com/s/Kku738eYzI80kOQh0G_KFw
今天来介绍一下,Rocky Linux 9的常用命令。
Rocky Linux 是一款稳定、安全、开源的企业级 Linux 操作系统,适合作为服务器部署环境。本文将不定期更新记录我在日常使用 Rocky Linux 9 过程中常用、实用的命令,以便查阅和分享给同样在使用该系统的你。以下命令全部在root下进行,如果没有root权限可以在命令前添加 'sudo'。
不定期更新首发版:
https://vuepress-v2.xgss.net/Rocky-Linux/2.Rocky-Linux-9常用命令备忘录.html
基础信息查询
查看系统版本
# 查看系统版本
cat /etc/os-release
# 查看当前系统的发行版本信息
cat /etc/redhat-release
# 查看内核版本
uname -r
# 查看CPU架构
lscpu
# 查看内存信息
free -m
# 查看磁盘信息
lsblk
df -h配置固定IP
Rocky 9.x放弃了之前的网络配置目录/etc/sysconfig/network-scripts/,采用新的存储目录
#进入网络配置文件目录
cd /etc/NetworkManager/system-connections
vi /etc/NetworkManager/system-connections/ens160.nmconnection
[connection]
id=ens160
uuid=332fef8b-1a06-386a-a585-d59df1f5ef61
type=ethernet
autoconnect-priority=-999
interface-name=ens160
timestamp=1749758331
[ethernet]
[ipv4]
method=auto
[ipv6]
addr-gen-mode=eui64
method=auto
[proxy]找到 [ipv4] 部分,并修改 address 和 dns 设置。比如,将 IP 地址修改为 192.168.152.139,网关为 192.168.152.1
修改[ipv4]里面的地址
method=auto
自动获取改为
address=192.168.152.139/24,192.168.152.1
dns=114.114.114.114;8.8.8.8
method=manual
:wq! #保存退出
再重启系统
reboot修改主机名
设置主机名为 node139
#设置主机名为 node139
hostnamectl set-hostname node139配置国内软件源
1.备份默认源
cp -a /etc/yum.repos.d/ /etc/yum.repos.d-bak/2.替换阿里云源
不能用会报错!不能用会报错!不能用会报错!
sed -e 's|^mirrorlist=|#mirrorlist=|g' \
-e 's|^#baseurl=http://dl.rockylinux.org/$contentdir|baseurl=https://mirrors.aliyun.com/rockylinux|g' \
-i.bak \
/etc/yum.repos.d/[Rr]ocky*.repo
或者替换清华大学源
sudo sed -e 's|^mirrorlist=|#mirrorlist=|g' \
-e 's|^#baseurl=http://dl.rockylinux.org/$contentdir|baseurl=https://mirrors.tuna.tsinghua.edu.cn/rocky|g' \
-i.bak \
/etc/yum.repos.d/Rocky-*.repo3.清理缓存并更新
dnf clean all
dnf makecache软件管理(dnf)
安装常用工具
dnf install -y vim wget curl lrzsz net-tools lsof bash-completion yum-utils tar zip unzip sudo cronie chrony policycoreutils-python-utils更新系统
dnf update -y
更新软件包索引
dnf check-update安装软件包
dnf install -y 软件名删除软件包
dnf remove -y 软件名搜索软件包
dnf search 软件名列出已安装的软件
dnf list installed用户与权限管理
# 添加用户
useradd 用户名
# 设置用户密码
passwd 用户名
# 添加用户到sudo组
usermod -aG wheel 用户名
# 删除用户及其家目录
userdel -r 用户名禁用SELinux
为什么要禁用SELinux?
某些软件或应用程序可能没有正确配置 SELinux 策略,导致它们无法正常运行。例如,一些旧版软件可能不支持 SELinux,需要禁用 SELinux 来避免访问被限制或拒绝。
1.确认grubby软件包是否已经安装
[root@node139 ~]# rpm -q grubby
grubby-8.40-64.el9.x86_64
[root@node139 ~]# getenforce
Enforcing2.添加selinux=0到内核命令行
grubby --update-kernel ALL --args selinux=03.重启系统
shutdown -r now
或者
reboot4.查看结果,结果为Disabled 则修改成功
[root@node139 ~]# getenforce
Disabled常用开关机、重启命令
重启系统
reboot或:
systemctl reboot
init 6init 6 和reboot有什么区别:

为什么不推荐 init 6
init 6 是老式 System V 风格的命令,依赖 /etc/inittab 等老旧机制。
在 systemd 中,它是由兼容层模拟支持,未来可能会移除。
某些系统上 init 6 可能无法处理挂载点、服务优雅终止等过程,存在稳定性隐患。
关机
poweroff
shutdown -h now
systemctl poweroff
init 0定时关机(例如5分钟后关机)
(+5 表示 5 分钟后)
shutdown -h +5定时重启(例如22:30重启)
shutdown -r 22:30取消已设置的定时关机/重启
shutdown -c重启进入紧急(emergency)模式
systemctl emergency重启进入救援(rescue)模式
systemctl rescue其他有用的相关命令
注销当前用户(退出会话)
logout或(在 GUI 或图形界面环境中):
gnome-session-quit查看系统启动时间
uptime或更详细:
who -b查看系统上次重启日志
last reboot系统服务管理
# 启动服务
systemctl start 服务名
# 停止服务
systemctl stop 服务名
# 重启服务
systemctl restart 服务名
# 查看服务状态
systemctl status 服务名
# 设置服务开机启动
systemctl enable 服务名
# 禁用服务开机启动
systemctl disable 服务名防火墙常用命令
最常用的命令
# 查看状态
# systemctl status firewalld
开启端口:
firewall-cmd --zone=public --add-port=80/tcp --permanent
firewall-cmd --zone=public --add-port=443/tcp --permanent
firewall-cmd --zone=public --add-port=22/tcp --permanent
firewall-cmd --zone=public --add-port=60920/tcp --permanent
firewall-cmd --reload
#允许某个IP
firewall-cmd --permanent --add-rich-rule='rule family="ipv4" source address="192.168.1.100" accept'
firewall-cmd --reload
# 允许内网192.168.1.X 所有的ip开放
firewall-cmd --zone=public --add-source=192.168.1.0/24 --permanent
firewall-cmd --reload
firewall-cmd --zone=public --add-source=172.18.19.0/20 --permanent
firewall-cmd --reload
# 查看所有端口
firewall-cmd --zone=public --list-ports
# 查看 firewall-cmd 当前开放的所有规则
firewall-cmd --list-all
# 查询端口号80 是否开启:
firewall-cmd --query-port=80/tcp
重启防火墙:
firewall-cmd --reload配置防火墙允许SSH
允许 SSH 服务:
firewall-cmd --permanent --add-service=ssh
firewall-cmd --reload一、基本操作命令
启动 firewalld
systemctl start firewalld停止 firewalld
systemctl stop firewalld重启 firewalld
systemctl restart firewalld设置firewalld开机启动
systemctl enable firewalld关闭firewalld开机启动
systemctl disable firewalld查看firewalld状态
systemctl status firewalld检查防火墙是否运行
firewall-cmd --state二、firewall-cmd开放或关闭端口
临时开放端口
firewall-cmd --zone=public --add-port=80/tcp移除临时端口
firewall-cmd --zone=public --remove-port=80/tcp永久开放端口
firewall-cmd --zone=public --add-port=80/tcp --permanent移除永久端口
firewall-cmd --zone=public --remove-port=80/tcp --permanent重载规则(永久更改后必须)
firewall-cmd --reload三、firewall-cmd管理服务
查看支持的服务列表
firewall-cmd --get-services添加服务(如 http、ssh)
firewall-cmd --zone=public --add-service=http --permanent删除服务
firewall-cmd --zone=public --remove-service=http --permanentIP 与接口管理
允许某个IP访问
firewall-cmd --permanent --add-rich-rule='rule family="ipv4" source address="192.168.1.100" accept'拒绝某个IP访问
firewall-cmd --permanent --add-rich-rule='rule family="ipv4" source address="192.168.1.100" reject'限制某接口的区域
firewall-cmd --zone=public --change-interface=eth0示例-放开某个网段
firewall-cmd --permanent --add-rich-rule='rule family="ipv4" source address="192.168.0.0/24" accept'
firewall-cmd --reload小技巧
--permanent 表示永久修改配置,否则是临时修改(重启防火墙后失效);
--zone=public 指的是区域名,可以替换为 home, internal, external 等;建议修改完永久规则后执行 firewall-cmd --reload 应用更改。
四、firewall-cmd查看当前配置
查看默认区域
firewall-cmd --get-default-zone在 firewalld 中,“区域(zone)”表示一组网络接口或源地址对应的一套防火墙规则。默认区域是指:
没有特别指定区域的网络接口,或者新添加的接口,会默认套用这个区域的规则。
查看所有区域
firewall-cmd --get-zones
实际
[root@node139 ~]# firewall-cmd --get-default-zone
public
[root@node139 ~]# firewall-cmd --get-zones
block dmz drop external home internal nm-shared public trusted work查看当前活动的区域
firewall-cmd --get-active-zones查看某个区域详细信息
firewall-cmd --zone=public --list-all网络常用命令
安装常用网络工具包
推荐一次装好
dnf install -y net-tools iproute bind-utils traceroute telnet nmap nc ethtool tcpdump比较常用的常用命令
# 查看IP地址
ip a
# 配置静态IP
cd /etc/NetworkManager/system-connections
ls
# 重启网络服务
systemctl restart NetworkManager
# 查看开放端口
ss -tuln
netstat -tunpl
# 测试连通性
ping 地址
curl 地址一、网络配置与查看
| 目的 | 命令 | 说明 |
|---|---|---|
| 查看 IP 地址 | ip a 或 ip addr | 替代 ifconfig,查看所有网卡的 IP 地址 |
| 查看网络接口信息 | ip link | 查看网络接口设备状态 |
| 启用某个网卡 | ip link set eth0 up | 启动指定接口 |
| 禁用某个网卡 | ip link set eth0 down | 关闭指定接口 |
| 查看路由信息 | ip route | 查看当前路由表 |
| 添加临时路由 | ip route add 192.168.1.0/24 via 192.168.0.1 | 添加静态路由(临时) |
二、网络诊断与测试
| 目的 | 命令 | 说明 |
|---|---|---|
| Ping 测试 | ping 8.8.8.8 或 ping www.baidu.com | 测试网络连通性 |
| Traceroute 路由追踪 | traceroute 8.8.8.8 | 查看数据包经过路径(需安装) |
| DNS 查询 | dig www.google.com 或 nslookup www.baidu.com | DNS 解析测试(需安装) |
| 查看端口连接 | ss -tuln | 查看监听端口,替代 netstat |
| 检查端口连通性 | telnet 192.168.0.1 80 或 nc -zv 192.168.0.1 80 | 测试端口是否开放 |
三、网络服务与状态管理
如果你希望完全使用传统的 network.service,你需要手动禁用 NetworkManager 并启用传统的网络管理服务:
禁用 NetworkManager 服务
systemctl stop NetworkManager
systemctl disable NetworkManager启用 network.service 服务:
dnf install -y network-scripts
systemctl enable network
systemctl start network| 目的 | 命令 | 说明 |
|---|---|---|
| 重启网络服务(旧方式) | systemctl restart network | 仅适用于 network 服务启用情况 |
| 使用 NetworkManager 重启网络 | nmcli networking off && nmcli networking on | 推荐使用方式 |
| 查看当前连接状态 | nmcli device status | 查看网络接口状态 |
| 设置静态 IP(命令行) | nmtui | 图形化 TUI 工具,推荐新手使用 |
图形化 TUI 工具

四、NetworkManager 工具(nmcli)
| 命令 | 说明 |
|---|---|
nmcli connection show | 显示所有连接配置文件 |
nmcli device show | 显示所有设备的详细信息 |
nmcli connection up eth0 | 启动指定连接 |
nmcli connection down eth0 | 停止指定连接 |
nmcli connection edit | 编辑连接(高级用法) |
五、其他常用命令
| 命令 | 说明 |
|---|---|
hostname / hostnamectl | 查看或设置主机名 |
ethtool eth0 | 查看网卡驱动、速率等信息(需安装) |
tcpdump -i eth0 | 抓包分析工具(需安装) |
curl ifconfig.me | 查看公网 IP 地址 |
#重启网络
nmcli n off && nmcli n on
#用修改后的ip登录系统,查看ip地址
ip addr
# 显示网络设备的运行状态
ip link
# 显示更详细的设备信息
ip -s link
# 仅显示ens160的信息
ip link show dev ens160
# 仅显示处于激活状态的设备
ip link show up
# 停ens160网络
ip link set ens160 down down
# 激活ens160
ip link set ens160 up
# 显示设备状态
nmcli device status
# 显示全部网络接口属性
nmcli device show
# 显示ens160网络接口属性
nmcli device show ens160
# 激活网卡
nmcli device connect ens160
# 停用网卡
nmcli device disconnect ens160
# 掉ens160设备
nmcli connection down ens160 down
# 启用ens160设备
nmcli connection up ens160
# 重新加载网卡
nmcli con reload
# 可以查看帮助
nmcli con add help文件查找与处理
# 查找文件
find /path -name 文件名
# 快速定位(需先创建索引)
updatedb
locate 文件名
# 搜索内容
grep "关键词" 文件名
# 批量替换
sed -i 's/旧内容/新内容/g' 文件设置时区、时间
查看所有时区信息
timedatectl list-timezones设置时区
timedatectl set-timezone Asia/Shanghai查看时区设置
timedatectl show显示状态信息
timedatectl status设置日期和时间
格式为:YYYY-MM-DD HH:MM:SS。例如:将日期和时间设置为 2024 年 5 月 22 日 14:00:00
timedatectl set-time "2024-05-22 14:00:00"仅设置日期
timedatectl set-time "2024-05-22"仅设置时间
timedatectl set-time "14:00:00"启用 NTP
timedatectl set-ntp true禁用 NTP
timedatectl set-ntp false显示当前日期和时间
# 显示当前日期和时间
date
# 自定义日期和时间的输出格式,其中,`%Y` 表示四位数的年份,`%m` 表示月份,`%d` 表示日,`%H` 表示小时,`%M` 表示分钟,`%S` 表示秒。
date +"%Y-%m-%d %H:%M:%S"
# 设置日期和时间
# 格式为:YYYY-MM-DD HH:MM:SS。例如:将日期和时间设置为 2024 年 5 月 22 日 14:00:00
date --set="2024-05-22 14:00:00"
# 仅设置日期
date +%Y-%m-%d -s "2024-05-22"
# 仅设置时间
date +%T -s "14:00:00"
# 将系统时间写入到硬件时钟
hwclock --systohc
# 显示硬件时间
hwclock --show区域设置
时间区域设置这里以两个案例进行讲解。将用到两个命令:locale 和 localectl ,locale 更侧重于显示和诊断当前的区域设置状态,而 localectl 提供了一个更全面的工具,用于管理和配置区域设置和键盘布局。通过这两个命令,用户可以有效地管理和调整系统的本地化设置。如果您要调整键盘布局,可以采用 localectl set-keymap us 命令进行设置。
# 当前时间显示格式
[root@ntp-client ~]# date
Wed May 22 06:01:11 PM CST 2024
[root@ntp-client ~]# localectl
System Locale: LANG=en_US.UTF-8
VC Keymap: us
X11 Layout: us
# 设置时间本地化格式显示
[root@ntp-client ~]# localectl set-locale LC_TIME=C.UTF-8
# 验证是否设置成功
[root@ntp-client ~]# localectl
System Locale: LANG=en_US.UTF-8
LC_TIME=C.UTF-8
VC Keymap: us
X11 Layout: us
# 退出登录
[root@ntp-client ~]# exit
logout
# 重新登录查看时间,已经修改为 24 小时制
[root@ntp-client ~]# date
Wed May 22 18:03:03 CST 2024最后
以上命令大多是我在实际部署和维护 Rocky Linux 9 时使用频率较高的命令。为了方便回顾和积累,我会持续更新这个命令备忘录,也欢迎你留言补充!
写文不易,如果你都看到了这里,请点个赞和在看,分享给更多的朋友;也别忘了关注星哥玩云!这里有满满的干货分享,还有轻松有趣的技术交流~点个赞、分享给身边的小伙伴,一起成长,一起玩转技术世界吧! 😊