侧边栏壁纸
博主头像
Aec站点~冲冲冲 博主等级

行动起来,活在当下

  • 累计撰写 19 篇文章
  • 累计创建 1 个标签
  • 累计收到 0 条评论

目 录CONTENT

文章目录

太强了 !!! 运维大神, 熬夜总结

小葱~
2025-02-21 / 0 评论 / 0 点赞 / 6 阅读 / 0 字

在Linux运维工作中,掌握一些常用的命令是必不可少的。这些命令可以帮助我们高效地管理服务器、监控系统性能、排查故障等。以下是对这些命令的归类整理,希望能为Linux运维人员提供一些帮助。

一、文件管理类

  1. 删除0字节文件

find -type f -size 0 -exec rm -rf {} \;

该命令用于查找并删除所有大小为0字节的文件,有助于清理系统中无用的文件,节省磁盘空间。

  1. 取IP地址

ifconfig eth0 |grep "inet addr:" |awk '{print $2}'| cut -c 6- 

或者

ifconfig | grep 'inet addr:'| grep -v '127.0.0.1' | cut -d: -f2 | awk '{ print $1}'

这两个命令都可以获取指定网卡(如eth0)的IP地址,方便在需要时快速查看服务器的IP配置。

二、进程管理类

  1. 查看进程按内存从大到小排列

ps -e -o "%C : %p : %z : %a"|sort -k5 -nr

通过该命令可以查看系统中所有进程,并按照内存占用量从大到小进行排序,便于发现占用内存较多的进程,进而进行相应的优化或处理。

  1. 按CPU利用率从大到小排列

ps -e -o "%C : %p : %z : %a"|sort -nr

与查看内存占用类似,这个命令用于查看进程按CPU利用率排序的情况,有助于分析系统CPU的使用情况,找出可能的性能瓶颈。

  1. 杀掉MySQL进程

ps aux |grep mysql |grep -v grep  |awk '{print $2}' |xargs kill -9

或者

killall -TERM mysqld

当需要停止MySQL服务时,可以使用这两个命令来杀掉MySQL进程。第一个命令通过组合多个命令来查找并杀掉MySQL进程,第二个命令则更为直接。

三、系统性能监控类

  1. 查看http的并发请求数及其TCP连接状态

netstat -n | awk '/^tcp/ {++S[$NF]} END {for(a in S) print a, S[a]}'

该命令用于统计HTTP服务的并发请求数以及TCP连接的各种状态,对于分析Web服务器的性能和连接情况非常有帮助。

  1. 查看Apache的并发请求数及其TCP连接状态

netstat -n | awk '/^tcp/ {++S[$NF]} END {for(a in S) print a, S[a]}'

与查看HTTP服务类似,这个命令用于Apache服务器,通过统计TCP连接状态来了解Apache的并发处理情况。

  1. CPU负载

cat /proc/loadavg

查看系统前三个输出值是否超过了系统逻辑CPU的4倍,可以初步判断CPU负载情况。

  1. 内存空间

free

通过该命令可以查看系统的内存使用情况,包括总内存、已用内存、空闲内存等信息,有助于判断系统是否存在内存不足的问题。

  1. 磁盘空间

df -h

用于查看各分区的磁盘使用率,如果发现某个分区使用率过高,可以进一步使用以下命令找出占用空间最多的文件或目录:

du -cks * | sort -rn | head -n 10
  1. 磁盘I/O负载

iostat -x 1 2

检查I/O使用率(%util)是否超过100%,从而判断磁盘是否存在I/O瓶颈。

  1. 网络负载

sar -n DEV

通过该命令可以查看网络流量(rxbyt/s, txbyt/s)是否过高,进而分析网络的负载情况。

四、系统配置与服务管理类

  1. 显示运行3级别开启的服务

ls /etc/rc3.d/S* |cut -c 15-

该命令用于列出在运行级别3下自动启动的服务,有助于了解系统的启动配置。

  1. 在编写SHELL显示多个信息,用EOF

cat << EOF
+--------------------------------------------------------------+
| === Welcome to Tunoff services === |
+--------------------------------------------------------------+
EOF

使用EOF可以方便地在Shell脚本中输出多行文本信息,增强脚本的可读性和交互性。

  1. 查看系统自启动的服务

chkconfig --list | awk '{if ($5=="3:on") print $1}'

用于查看在运行级别3下设置为开机自启动的服务,方便对系统服务的启动情况进行管理和调整。

五、网络管理类

  1. 网络状态,检查DNS,网关等是否可以正常连通 可以使用ping命令来检查网络连通性,例如:

ping -c 4 www.example.com

通过ping指定的域名或IP地址,可以判断网络是否正常,DNS解析是否正确,网关是否可达等。

  1. 网络连接数目

netstat -an | grep -E “^(tcp)” | cut -c 68- | sort | uniq -c | sort -n

该命令用于统计当前系统中TCP连接的数量和状态分布,有助于分析网络连接的活跃程度和可能存在的异常连接。

六、日志管理类

  1. 系统日志

cat /var/log/rflogview/*errors

或者

grep -i error /var/log/messages
grep -i fail /var/log/messages

通过查看系统日志文件,可以搜索包含“error”、“fail”等关键字的记录,快速定位系统运行中出现的错误和故障。

  1. 核心日志

dmesg

查看内核相关的日志信息,对于排查硬件故障、驱动问题等非常有帮助。

  1. 日志分析

logwatch –print

配置/etc/log.d/logwatch.conf,将Mailto设置为自己的email地址,并启动邮件服务,可以定期接收日志报告,方便对系统日志进行集中分析和管理。

七、其他实用命令

  1. 杀掉80端口相关的进程

lsof -i :80|grep -v “ID”|awk ‘{print “kill -9”,$2}’|sh

当需要停止占用80端口的进程时,可以使用该命令快速查找并杀掉相关进程。

  1. 清除僵死进程

ps -eal | awk '{ if ($2 == "Z") {print $4}}' | kill -9

用于清除系统中处于僵死状态的进程,避免这些进程占用系统资源。

  1. tcpdump抓包

tcpdump -c 10000 -i eth0 -n dst port 80 > /root/pkts

当需要对网络流量进行抓包分析时,可以使用tcpdump命令,例如抓取目的端口为80的TCP数据包,保存到文件中,便于后续分析。

  1. 查看有多少个活动的php-cgi进程

netstat -anp | grep php-cgi | grep ^tcp | wc -l

对于使用php-cgi的Web服务器,通过该命令可以查看当前活动的php-cgi进程数量,有助于了解PHP服务的运行状态。

总结

以上就是一些Linux运维中常用的命令,它们涵盖了文件管理、进程管理、系统性能监控、系统配置与服务管理、网络管理以及日志管理等多个方面。熟练掌握这些命令,可以大大提高运维工作的效率和质量。在实际工作中,我们还需要根据具体的场景和需求,灵活运用这些命令,不断总结经验,提升自己的运维能力。

0

评论区