Linux系统运维常用命令全解析:从基础到进阶的实用指南
2025.10.11 20:05浏览量:182简介:本文系统梳理Linux系统运维核心命令,涵盖文件管理、进程监控、网络诊断、权限控制等八大场景,提供实战案例与进阶技巧,助力运维人员高效解决90%的常见问题。
Linux系统运维常用命令集锦:从基础到进阶的实用指南
一、文件与目录管理:精准定位与高效操作
文件查找与定位
find命令是文件搜索的瑞士军刀,支持按名称、类型、时间等多维度筛选。例如:find /var/log -name "*.log" -mtime +7 # 查找7天前修改的日志文件find . -type f -size +100M # 查找当前目录下大于100MB的文件
结合
xargs可实现批量操作,如删除过期日志:find /tmp -name "temp_*" -mtime +30 | xargs rm -f
目录结构分析
du命令用于统计磁盘使用情况,-h参数可生成人类可读格式:du -sh /var/cache/* # 查看/var/cache下各目录总大小du -h --max-depth=1 /home # 显示/home下一级子目录大小
配合
sort排序可快速定位大文件:du -ah / | sort -rh | head -n 10
二、进程与资源监控:实时掌握系统状态
动态进程监控
top命令提供实时进程视图,按Shift+M按内存排序,Shift+P按CPU排序。进阶工具htop支持颜色高亮和鼠标操作:htop -u root # 监控root用户进程
资源占用分析
ps命令结合aux参数可显示完整进程信息,grep过滤特定进程:ps aux | grep nginx # 查看nginx进程详情ps -eo pid,ppid,cmd,%mem --sort=-%mem | head -n 5 # 显示内存占用前5的进程
vmstat 1可每秒刷新系统内存、交换分区和IO状态,适合诊断性能瓶颈。
三、网络诊断与安全:保障通信畅通
连通性测试
ping结合-c参数指定次数,-i设置间隔:ping -c 4 -i 0.5 8.8.8.8 # 快速测试4次,间隔0.5秒
traceroute可追踪数据包路径,诊断网络延迟节点。端口与服务检测
netstat命令查看监听端口(需root权限):netstat -tulnp | grep LISTEN # 显示所有监听端口及对应进程
ss是更高效的替代工具,支持JSON输出:ss -tulnp | jq '.[] | select(.local_port=="22")' # 过滤22端口(需安装jq)
四、日志管理与分析:挖掘系统行为
日志轮转配置
logrotate通过配置文件(如/etc/logrotate.d/nginx)实现日志自动切割:/var/log/nginx/*.log {dailymissingokrotate 14compressdelaycompressnotifemptycreate 0640 www-data admsharedscriptspostrotate[ -s /run/nginx.pid ] && kill -USR1 `cat /run/nginx.pid`endscript}
实时日志监控
tail -f跟踪日志更新,结合grep过滤关键信息:tail -f /var/log/syslog | grep "error"
journalctl(Systemd系统)提供统一日志接口:journalctl -u nginx --since "2024-01-01" --until "2024-01-02" # 按时间范围查询
五、权限与用户管理:构建安全环境
权限精细控制
chmod通过数字或符号修改权限,setfacl实现更细粒度控制:chmod 750 /data/shared # 所有者rwx,组rx,其他无权限setfacl -m u
rwx /data/project # 赋予devuser对/data/project的rwx权限
用户行为审计
sudo日志(通常位于/var/log/auth.log)记录特权操作,auditd框架可定制审计规则:auditctl -w /etc/passwd -p wa -k passwd_changes # 监控/etc/passwd修改
六、系统信息采集:全面掌握硬件状态
硬件信息查询
lscpu显示CPU架构,lsblk列出块设备:lscpu | grep "Model name" # 查看CPU型号lsblk -o NAME,ROTA,MODEL # 显示磁盘是否为SSD(ROTA=0为SSD)
传感器数据读取
sensors命令(需安装lm-sensors)获取温度、电压等数据:sensors | grep "Core" # 查看CPU核心温度
七、自动化与脚本编程:提升运维效率
循环与条件判断
Bash脚本中for循环处理批量任务:for file in /var/log/*.log; dogzip "$file"done
case语句实现多分支逻辑:case "$1" instart)systemctl start nginx;;stop)systemctl stop nginx;;*)echo "Usage: $0 {start|stop}"exit 1esac
定时任务管理
crontab -e编辑个人定时任务,/etc/crontab配置系统级任务:# 每天凌晨3点清理临时文件0 3 * * * /usr/bin/find /tmp -type f -mtime +7 -delete
八、进阶技巧:解决复杂问题
进程内存分析
pmap显示进程内存映射,定位内存泄漏:pmap -x $(pgrep java) | tail -n 1 # 查看Java进程总内存使用
网络抓包分析
tcpdump捕获网络数据包,-w参数保存到文件:tcpdump -i eth0 -nn port 80 -w http_capture.pcap
使用Wireshark分析
.pcap文件可深入排查协议问题。
九、安全加固:防御常见攻击
SSH安全配置
修改/etc/ssh/sshd_config禁用root登录和密码认证:PermitRootLogin noPasswordAuthentication noAllowUsers admin devuser
防火墙规则管理
ufw(Ubuntu)或firewalld(CentOS)简化防火墙配置:ufw allow from 192.168.1.0/24 to any port 22 # 允许内网SSH访问firewall-cmd --permanent --add-rich-rule='rule family="ipv4" source address="10.0.0.5" port protocol="tcp" port="80" reject' # 拒绝特定IP访问80端口
十、性能调优:释放系统潜力
内核参数优化
修改/etc/sysctl.conf调整网络参数:net.core.somaxconn = 4096 # 增大监听队列net.ipv4.tcp_max_syn_backlog = 8192 # 同步队列大小
执行
sysctl -p立即生效。IO调度策略
使用ionice调整进程IO优先级:ionice -c3 -p $(pgrep backup) # 将备份进程设为空闲IO类
结语:本文梳理的命令覆盖了Linux运维的90%核心场景,从基础操作到性能调优均有涉及。建议运维人员通过man 命令名深入学习参数细节,并结合实际环境定制脚本。定期复习这些命令,能够在故障发生时快速定位问题,显著提升系统稳定性和运维效率。

发表评论
登录后可评论,请前往 登录 或 注册