美文网首页
Linux系统实用命令-持续更新

Linux系统实用命令-持续更新

作者: 以梦为马ll不负韶华 | 来源:发表于2018-07-16 08:20 被阅读0次

    * 查看端口占用

    netstat -anp|grep 9000

    * 查看所有端口情况

    netstat -nultp

    * 批量杀掉特定端口进程

    netstat -anp|grep 9000|awk '{print $7}'|tr -cd '[0-9]'|xargs kill -9

    * 查看所有进程

    ps  -aux

    * 查看某个用户进程

    ps  -f -u name

    * 批量删除同名进程

    ps -efww|grep name|grep -v grep|cut -c 9-15|xargs kill -9

    ps -efww|grep name|grep -v grep|awk ‘{print “kill -9 ” $2}’|sh

    * 获取前两行数据

    sed -n '{1p;2p}’

    * 查看软件安装位置:

    方法一:rpm -qal |grep 软件名

    方法二:yum search 软件名

    方法三:which 软件名

    方法四:Whereis 软件名

    打dump方法:

    ps -ef | grep java | grep {进程实例}  ----à得到pid

    jmap -histo pid >> {自建文件名}  ----à得到headdump日志

    ps -ef | grep java | grep {进程实例}  ----à得到pid

    jstack -l pid >> {自建文件名}  ----à得到threaddump日志

    ps -ef | grep java | grep {进程实例}  ----à得到pid

    kill -3 pid >> {自建文件名}  ----à得到dump日志

    网络抓包命令:

    tcpdump -i any port 80 -n -vv -e -A -c 60 >tcpdum.log

    -A:以ASCⅡ编码打印除了链路层报文头外的报文内容。用于捕捉web请求。

    -B:设置抓取报文的缓存大小。

    -c:收到多少包后退出程序

    -dd:dump报文存储格式为C程序格式。

    -e:打印链路层报文头

    -X:不包括数据链路层的报文,并且以ASCⅡ的编码方式。

    -v:详细的输出,也就比普通的多了个TTL和服务类型

    -vv:截取显示详细的报文(注意是两个v)

    -n:不进行IP地址到主机名的转换

    -nn:不进行端口名称的转换

    -N:不打印出默认的域名

    -O:不进行匹配代码的优化

    -t:不打印UNIX时间戳,也就是不显示时间

    -tt:打印原始的、未格式化过的时间

    -S:Print absolute, rather than relative, TCP sequence numbers.

    -w filename : 保存截取的报文到指定的文件。

    获取mem或CPU占用最多的TOP10进程

    使用一下命令查使用内存最多的10个进程查看占用cpu最高的进程ps aux|head -1;ps aux|grep -v PID|sort -rn -k +3|head或者top (然后按下M,注意这里是大写)查看占用内存最高的进程ps aux|head -1;ps aux|grep -v PID|sort -rn -k +4|head或者top (然后按下P,注意这里是大写)该命令组合实际上是下面两句命令:ps aux|head -1ps aux|grep -v PID|sort -rn -k +3|head其中第一句主要是为了获取标题(USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND)。接下来的grep -v PID是将ps aux命令得到的标题去掉,即grep不包含PID这三个字母组合的行,再将其中结果使用sort排序。sort -rn -k +3该命令中的-rn的r表示是结果倒序排列,n为以数值大小排序,而-k +3则是针对第3列的内容进行排序,再使用head命令获取默认前10行数据。(其中的|表示管道操作)补充:内容解释PID:进程的IDUSER:进程所有者PR:进程的优先级别,越小越优先被执行NInice:值VIRT:进程占用的虚拟内存RES:进程占用的物理内存SHR:进程使用的共享内存S:进程的状态。S表示休眠,R表示正在运行,Z表示僵死状态,N表示该进程优先值为负数%CPU:进程占用CPU的使用率%MEM:进程使用的物理内存和总内存的百分比TIME+:该进程启动后占用的总的CPU时间,即占用CPU使用时间的累加值。COMMAND:进程启动命令名称 可以使用以下命令查使用内存最多的K个进程方法1:ps -aux | sort -k4nr | head -K如果是10个进程,K=10,如果是最高的三个,K=3说明:ps -aux中(a指代all——所有的进程,u指代userid——执行该进程的用户id,x指代显示所有程序,不以终端机来区分)ps -aux的输出格式如下:USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMANDroot 1 0.0 0.0 19352 1308 ? Ss Jul29 0:00 /sbin/initroot 2 0.0 0.0 0 0 ? S Jul29 0:00 [kthreadd]root 3 0.0 0.0 0 0 ? S Jul29 0:11 [migration/0]sort -k4nr中(k代表从第几个位置开始,后面的数字4即是其开始位置,结束位置如果没有,则默认到最后;n指代numberic sort,根据其数值排序;r指代reverse,这里是指反向比较结果,输出时默认从小到大,反向后从大到小。)。本例中,可以看到%MEM在第4个位置,根据%MEM的数值进行由大到小的排序。head -K(K指代行数,即输出前几位的结果)|为管道符号,将查询出的结果导到下面的命令中进行下一步的操作。方法2:top (然后按下M,注意大写)二、可以使用下面命令查使用CPU最多的K个进程方法1:ps -aux | sort -k3nr | head -K方法2:top (然后按下P,注意大写)

    相关文章

      网友评论

          本文标题:Linux系统实用命令-持续更新

          本文链接:https://www.haomeiwen.com/subject/okjvpftx.html