Linux常用命令总结(二)

1.Netstat 命令

用于显示各种网络相关信息,如网络连接、路由表、接口状态等。

[En]

Used to display a variety of network-related information, such as network connection, routing table, interface status and so on.

例如 统计IP110.120.119.XXX的连接数:

netstat | grep 110.120.119.XXX |wc -l

列出所有 tcp 端口 netstat -at

Linux常用命令总结(二)

查看端口3306的使用情况

netstat tunlp | grep 3306

查看连接某服务端口最多的的IP地址

netstat -nat | grep "110.110.110.110:3306" |awk '{print $5}'|awk -F: '{print $1}'|sort|uniq -c|sort -nr|head -20

2.关闭swap,再开启swap

swapoff -a

swapon -a

3.lsof(list open files) 命令

lsof(list open files)是一个列出当前系统打开文件的工具。在linux环境下,任何事物都以文件的形式存在,通过文件不仅仅可以访问常规数据,还可以访问网络连接和硬件。所以如传输控制协议 (TCP) 和用户数据报协议 (UDP) 套接字等,系统在后台都为该应用程序分配了一个文件描述符,无论这个文件的本质如何,该文件描述符为应用程序与基础操作系统之间的交互提供了通用接口。因为应用程序打开文件的描述符列表提供了大量关于这个应用程序本身的信息,因此通过lsof工具能够查看这个列表对系统监测以及排错将是很有帮助的。

注意:在终端下输入lsof即可显示系统打开的文件,因为 lsof 需要访问核心内存和各种文件,所以必须以 root 用户的身份运行它才能够充分地发挥其功能。

例如: lsof -i 用以显示符合条件的进程情况

lsof -i:3306

还例如,在卸载文件系统时,如果该文件系统中有任何打开的文件,操作通常将会失败。那么通过lsof可以找出那些进程在使用当前要卸载的文件系统。

4.文件(文档)按时间排序

按照 递增时间顺序列出所有文件,其命令如下:

ls -ltr

-l 表示列出每一个文件的详细信息,例如文件权限、链接数、所有者名称和组所有者、文件大小、最后修改的时间和文件/目录名称;

-t 表示按照时间顺序;

-r表示将排序的结果反向输出。

按照 时间递减的顺序列出所有文件,其命令如下:

ls -lt

5.find搜索符合条件的文件

find命令在目录结构中搜索文件,并对搜索结果执行指定的操作。

find 默认搜索当前目录及其子目录,并且不过滤任何结果(也就是返回所有文件),将它们全都显示在屏幕上。

使用实例:

Linux常用命令总结(二)

6.which 搜索某个系统命令的位置

例如

##查找python命令所在的路径
which python

##查找path中java的路径
which java

7.ps 命令显示运行的进程

ps 命令显示运行的进程,还会显示进程的一些信息如pid, cpu和内存使用情况等:

-A :所有的进程均显示出来
-a :不与terminal有关的所有进程
-u :有效用户的相关进程
-x :一般与a参数一起使用,可列出较完整的信息
-l :较长,较详细地将PID的信息列出

8.grep命令

该命令常用于分析一行的信息,若当中有我们所需要的信息,就将该行显示出来,该命令通常与管道命令一起使用,用于对一些命令的输出进行筛选加工等等,比如可以加在ps, tail, cat后面。

cat xx.log | grep '关键字'  -C 5 显示file文件里匹配"关键字"字串那行以及上下5行
cat xx.log | grep '关键字'  -B 5 显示"关键字"及前5行
cat xx.log | grep '关键字'  -A 5 显示"关键字"及后5行

9.iowait 分析

运行 dstat 命令,观察 CPU 和 I/O 的使用情况

dstat 1 10

Linux常用命令总结(二)

当 iowait 升高(wai)时,磁盘的 请求(read)都会很大(M),这说明 iowait 的升高跟磁盘的读请求有关,很可能就是 读磁盘导致的.

10.查看系统的僵尸进程

ps -e -o stat,ppid,pid,cmd | egrep '^[Zz]'

或

ps -ef | grep "defunct"

11.快速定位 Out of memory 相关log 信息

(1) 执行 dmesg -T 命令

dmesg -T 这个命令可以显示很多系统进程相关的日志信息。例如 mysqld 内存超出了上限,并且自动的killed掉了,可以通过此命令查看。

dmesg -T

(2)上面的命令 或者 之间查看message 系统log ,打印OOM的log, 其时间有时候是明显不对的(与内核有关),此时,log文件中OOM的 时间 明显 与其所处于的上下文时间不连贯的。

查看现实真正的时间,与上下文连贯, 可以通过 journalctl 命令查看,通过这个命令查看的时间是对的

查看内核日志(不显示应用日志)

journalctl  -k

还可以指定其他参数 ,例如 显示尾部指定行数的日志

journalctl -n 15

通过 –since 查看指定时间的日志等,

参考网址

1.Linux netstat命令详解

https://www.cnblogs.com/ggjucheng/archive/2012/01/08/2316661.html

2.释放linux的swap内存

https://blog.csdn.net/chenghuikai/article/details/77476830

3.linux命令总结之lsof命令

https://www.cnblogs.com/ginvip/p/6367939.html

4.linux常用命令(50个)

https://www.cnblogs.com/xuxinstyle/p/9609551.html

5.性能分析(4)- iowait 使用率过高案例

https://www.cnblogs.com/poloyy/p/13424572.html

6.journal查看Linux日志相关

https://blog.csdn.net/cyxinda/article/details/124992213

Original: https://www.cnblogs.com/xuliuzai/p/15361323.html
Author: 东山絮柳仔
Title: Linux常用命令总结(二)

原创文章受到原创版权保护。转载请注明出处:https://www.johngo689.com/10066/

转载文章受原作者版权保护。转载请注明原作者出处!

(0)

大家都在看

免费咨询
免费咨询
扫码关注
扫码关注
联系站长

站长Johngo!

大数据和算法重度研究者!

持续产出大数据、算法、LeetCode干货,以及业界好资源!

2022012703491714

微信来撩,免费咨询:xiaozhu_tec

分享本页
返回顶部