红帽Linux作为企业级操作系统的主流选择,其强大的命令行工具是系统管理和运维的核心能力,掌握常用操作命令不仅能提升工作效率,还能确保系统稳定运行,以下从文件管理、用户权限、系统监控、软件管理、网络配置及进程控制六大维度,详细解析红帽Linux的常用命令及其应用场景。

文件与目录管理
文件操作是Linux最基础的功能,ls
命令用于列出目录内容,-l
参数显示详细信息(如权限、所有者、大小),-a
参数隐藏文件,例如ls -la /home
可查看home目录的完整列表,创建目录用mkdir
,如mkdir -p /test/dir
中的-p
可递归创建多级目录,删除目录时,rm -rf /tmp/old
中的-r
递归删除,-f
强制执行,需谨慎使用,文件复制通过cp
实现,cp -r /source /destination
可复制整个目录;移动或重命名文件用mv
命令,如mv file1.txt /backup/
将文件移动到backup目录,查看文件内容有多种工具:cat
适合小文件(如cat config.conf
),more
或less
支持分页浏览大文件,tail -f /var/log/messages
可实时监控日志文件更新。
用户与权限管理
Linux的多用户特性依赖严格的权限控制,useradd
命令创建用户,如useradd -m -s /bin/bash newuser
中的-m
自动创建家目录,-s
指定登录shell,删除用户用userdel -r username
,-r
会同时删除家目录,修改用户密码通过passwd username
,普通用户只能修改自己的密码,权限管理核心是chmod
命令,例如chmod 755 script.sh
设置所有者可读写执行、组和其他用户可读执行;或用符号法chmod u+x script.sh
为所有者添加执行权限,文件所有者通过chown
修改,如chown -R user:group /data
递归更改目录及其内容的所有者和所属组。
系统监控与信息查询
实时掌握系统状态是运维的关键,top
命令动态显示进程资源占用,按P
按CPU排序、M
按内存排序。htop
是top
的增强版,支持彩色显示和交互式操作,磁盘空间使用情况用df -h
查看,-h
以人类可读格式(如GB、MB)显示;目录大小通过du -sh /var
统计,-s
仅显示总计,系统信息查询中,uname -a
显示内核版本和系统架构,lscpu
查看CPU详细信息,free -h
展示内存使用情况,日志分析常用journalctl -u nginx
查看nginx服务的日志,或grep "error" /var/log/syslog
过滤错误信息。
软件包管理
红帽Linux使用yum
(RHEL 7及以前)或dnf
(RHEL 8及以后)作为包管理器,安装软件包用dnf install httpd -y
,-y
自动确认依赖,卸载软件包通过dnf remove httpd
,更新所有可用包用dnf update
,查看已安装包列表用dnf list installed | grep nginx
,清理缓存执行dnf clean all
,对于源码编译安装,需先安装编译工具(dnf groupinstall "Development Tools"
),然后通过tar -xvf source.tar.gz
解压,./configure
配置,make
编译,make install
安装。

网络配置与诊断
网络故障排查依赖多个命令,ip addr show
或ifconfig
查看网卡IP配置,ip link set eth0 up
启用网卡,测试网络连通性用ping 8.8.8.8
,traceroute google.com
追踪路由路径,端口监听情况通过netstat -tuln
或ss -tuln
查看,-t
显示TCP端口,-u
显示UDP端口,-l
仅显示监听端口,网络配置文件位于/etc/sysconfig/network-scripts/
,如ifcfg-eth0
,修改后需执行nmcli connection down eth0 && nmcli connection up eth0
重启网络服务,数据抓包用tcpdump -i eth0 port 80
捕获eth0网口的80端口流量。
进程与服务管理
进程管理是系统优化的核心,ps aux
查看所有进程详细信息,grep
过滤特定进程(如ps aux | nginx
),终止进程用kill PID
(普通终止)或kill -9 PID
(强制终止),后台运行命令可加&
符号,如nohup ping google.com > ping.log &
忽略挂起信号并将输出重定向到日志,服务管理通过systemctl
命令,如systemctl start nginx
启动服务,systemctl enable nginx
设置开机自启,systemctl status nginx
查看服务状态,查看系统运行级别用runlevel
,切换至多用户模式执行init 3
或systemctl isolate multi-user.target
。
常用命令速查表
功能分类 | 命令示例 | 说明 |
---|---|---|
文件列表 | ls -la /var/log |
显示/var/log目录的详细和隐藏文件 |
创建目录 | mkdir -p /data/project |
递归创建多级目录 |
强制删除 | rm -rf /tmp/unused |
递归删除/tmp/unused目录及内容 |
实时查看日志 | tail -f /var/log/messages |
动态监控系统日志更新 |
修改文件权限 | chmod 644 file.txt |
设置所有者读写、组和其他用户只读 |
更改所有者 | chown -R tom:group /app |
递归修改/app目录所有者为tom,组为group |
查看CPU使用率 | top | head -10 |
显示前10个高CPU占用进程 |
查看磁盘空间 | df -h /dev/sda1 |
显示指定分区的磁盘使用情况 |
安装软件包 | dnf install vim -y |
自动安装vim编辑器 |
测试网络连通 | ping -c 4 192.168.1.1 |
发送4个ICMP包测试与192.168.1.1的连通性 |
启用系统服务 | systemctl enable httpd |
设置httpd服务开机自启 |
相关问答FAQs
Q1:如何查看Linux系统已运行了多长时间?
A:使用uptime
命令可显示系统当前运行时间、负载平均值等信息,例如uptime
输出10:30:45 up 15 days, 2:30, 2 users, load average: 0.10, 0.20, 0.15
,up 15 days, 2:30”表示系统已运行15天2小时30分钟。cat /proc/uptime
也可获取精确的运行时间(秒)。
Q2:如何查找包含特定关键词的文件?
A:可通过find
命令结合grep
实现,例如在当前目录及子目录中查找包含“error”的.log文件:find . -type f -name "*.log" -exec grep -l "error" {} \;
,其中-type f
表示查找文件,-name "*.log"
限制文件扩展名,-exec grep -l "error" {} \;
对每个找到的文件执行grep搜索并输出包含关键词的文件名。