大家好,我是星哥,上次介绍了 Rocky Linux 9 系统安装配置图解教程并做简单配置
今天来介绍一下,Rocky Linux 9的常用命令。
Rocky Linux 是一款稳定、安全、开源的企业级 Linux 操作系统,适合作为服务器部署环境。本文将不定期更新记录我在日常使用 Rocky Linux 9 过程中常用、实用的命令,以便查阅和分享给同样在使用该系统的你。以下命令全部在root下进行,如果没有root权限可以在命令前添加 'sudo'。
# 查看系统版本
cat /etc/os-release
# 查看当前系统的发行版本信息
cat /etc/redhat-release
# 查看内核版本
uname -r
# 查看CPU架构
lscpu
# 查看内存信息
free -m
# 查看磁盘信息
lsblk
df -h
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
cp -a /etc/yum.repos.d/ /etc/yum.repos.d-bak/
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
dnf clean all
dnf makecache
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 来避免访问被限制或拒绝。
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 是老式 System V 风格的命令,依赖 /etc/inittab 等老旧机制。
在 systemd 中,它是由兼容层模拟支持,未来可能会移除。
某些系统上 init 6 可能无法处理挂载点、服务优雅终止等过程,存在稳定性隐患。
poweroff
shutdown -h now
systemctl poweroff
init 0
(+5 表示 5 分钟后)
shutdown -h +5
shutdown -r 22:30
shutdown -c
systemctl emergency
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 服务:
firewall-cmd --permanent --add-service=ssh
firewall-cmd --reload
systemctl start firewalld
systemctl stop firewalld
systemctl restart firewalld
systemctl enable firewalld
systemctl disable firewalld
systemctl status firewalld
firewall-cmd --state
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 --get-services
firewall-cmd --zone=public --add-service=http --permanent
firewall-cmd --zone=public --remove-service=http --permanent
firewall-cmd --permanent --add-rich-rule='rule family="ipv4" source address="192.168.1.100" accept'
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 --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(修改/etc/sysconfig/network-scripts/)
# 重启网络服务
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 工具
命令 | 说明 |
---|---|
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 时使用频率较高的命令。为了方便回顾和积累,我会持续更新这个命令备忘录,也欢迎你留言补充!
写文不易,如果你都看到了这里,请点个赞和在看,分享给更多的朋友;也别忘了关注星哥玩云!这里有满满的干货分享,还有轻松有趣的技术交流~点个赞、分享给身边的小伙伴,一起成长,一起玩转技术世界吧! 😊
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。