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-*.repo
3.清理缓存并更新
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
Enforcing
2.添加selinux=0到内核命令行
grubby --update-kernel ALL --args selinux=0
3.重启系统
shutdown -r now
或者
reboot
4.查看结果,结果为Disabled 则修改成功
[root@node139 ~]# getenforce
Disabled
常用开关机、重启命令
重启系统
reboot
或:
systemctl reboot
init 6
init 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
#允许某个IP
firewall-cmd --permanent --add-rich-rule='rule family="ipv4" source address="192.168.1.100" accept'
# 查看所有端口
# firewall-cmd --zone=public --list-ports
# 查询端口号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 --permanent
IP 与接口管理
允许某个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' 文件
最后
以上命令大多是我在实际部署和维护 Rocky Linux 9 时使用频率较高的命令。为了方便回顾和积累,我会持续更新这个命令备忘录,也欢迎你留言补充!
写文不易,如果你都看到了这里,请点个赞和在看,分享给更多的朋友;也别忘了关注星哥玩云!这里有满满的干货分享,还有轻松有趣的技术交流~点个赞、分享给身边的小伙伴,一起成长,一起玩转技术世界吧! 😊