Linux常用命令

top

  1. 实时动态地查看系统的整体运行情况

-b:以批处理模式操作;

-c:显示完整的治命令;

   -d:屏幕刷新间隔时间;

-I:忽略失效过程;

-s:保密模式;

-S:累积模式;

-i<时间>:设置间隔时间;

-u<用户名>:指定用户名;

-p<进程号>:指定进程;

-n<次数>:循环显示的次数。

top命令交互

常用交互操作

基础操作

1:显示CPU详细信息,每核显示一行

d / s :修改刷新频率,单位为秒

h:可显示帮助界面

n:指定进程列表显示行数,默认为满屏行数

q:退出top

  面板隐藏显示

l:隐藏/显示第1行负载信息;

t:隐藏/显示第2~3行CPU信息;

m:隐藏/显示第4~5行内存信息;

  进程列表排序

M:根据驻留内存大小进行排序;

P:根据CPU使用百分比大小进行排序;

T:根据时间/累计时间进行排序;

top命令通常搭配ps和netstate两个命令

监控java线程数:

ps -eLf | grep java | wc -l

监控网络客户连接数:

netstat -n | grep tcp | grep 侦听端口 | wc -l

iftop

-i 接口:指定要监控的网络接口。

-B 显示单位:设置显示单位,如b、Kb、Mb等。

-F 过滤规则:设置过滤规则,只显示符合规则的连接。

-n 不解析主机名:禁止解析主机名,只显示IP地址。

-N 不解析端口号:禁止解析端口号,只显示端口号。

-o 排序时间间隔:设置排序时间间隔,以秒为单位。

-s 排序字段:设置排序字段,如2表示按照流量排序。

  1. 实时监控网络流量,便于了解网络负载,排查网络问题非常有帮助

例子 iftop -i ens33

  1. 按照流量排序,快速识别占用带宽较多的连接

例子 iftop -i ens33 -o 3s -s 2

3.过滤显示连接,只显示特定源IP地址或目标IP地址的连接

iftop -i ens33 -f "src host 192.168.0.1"

4.显示连接的详细信息,我们可以获取关于连接更多的信息,如连接的端口号、协议等

iftop -i ens33 -nN

iostat

主要用于监控系统设备的IO负载情况

-c 只显示cpu相关统计信息(默认是同时显示cpu和磁盘信息)

-d 只显示磁盘统计信息(默认是同时显示cpu和磁盘信息)

-h 使用NFS的输出报告更加友好可读。

-j { ID | LABEL | PATH | UUID | … } 磁盘列表的Device列要用什么维度来描述磁盘

-k 默认情况下,iostat的输出是以block作为计量单位,加上这个参数可以以kb作为计量单位显示。(该参数仅在linux内核版本2.4以后数据才是准确的)

-m 默认情况下,iostat的输出是以block作为计量单位,加上这个参数可以以mb作为计量单位显示。(该参数仅在linux内核版本2.4以后数据才是准确的)

-N 显示磁盘阵列(LVM) 信息

-n 显示NFS相关统计数据(network fileSystem)。(该参数只在linux内核版本2.6.17之后有用)

-p [ { device [,…] | ALL } ] 显示磁盘分区的相关统计信息(默认粒度只到磁盘,没有显示具体的逻辑分区)

-t 显示终端和CPU的信息,每次输出报告时显示系统时间。

-V 显示当前iostat的版本信息

-x 显示更详细的磁盘报告信息,默认只显示六列,加上该参数后会显示更详细的信息。(该参数需要在内核版本2.4之后才能使用)

-y 跳过不显示第一次报告的数据,因为iostat使用的是采样统计,所以iostat的第一次输出的数据是自系统启动以来累计的数据

-z 只显示在采样周期内有活动的磁盘

screen

全屏窗口管理器,它在多个进程(通常是交互式shell)之间多路传输物理终端

安装 yum install -y screen

screen -ls #列出所有的session

screen -S 名称 #创建新窗口

ctrl+a 然后按d 退出或者exit退出

screen -r id或名称 #重新连接会话

screen -wipe #当运行的窗口dead无法连接时,用wipe清除

tar

压缩命令

先写名后指定要压缩的文件或目录

例如 将test.sh压缩成liusidi.tar

tar -cvf liusidi.tar test.sh

或者创建归档文件

tar -cvf liusidi.tar test.1 test.2

tar -cvf load.tar file.{1..20}

tar -zcvf load.tar.gz file.{1..20}

解压

tar -xvf load.tar

tar -zxvf load.tar.gz

gzip

gzip zzz.txt #压缩文件zzz.txt

gzip -dv zzz.txt.gz #解压缩zzz.txt.gz文件

gzip -rv ztj/ #递归压缩ztj目录下的文件

gzip -rdv ztj/ #递归解压缩ztj目录下的文件

netstat

用于显示网络连接、路由表、网络接口等相关信息

1、显示所有网络连接

netstat -a

该命令将列出本地IP和端口、远程IP和端口、连接状态

2、查看特定协议的连接

查看TCP连接:netstat -t

查看UDP连接:netstat -u

3、查看listen(监听)状态端口

netstat -l

列出所有正在监听的端口,包括本地IP、端口号、监听状态

4、显示与进程相关的连接

netstat -p

显示与每个网络连接关联的进程ID和进程名

5、显示系统路由表

netstat -r

iptables ***

理解

实现对网络数据包进出设备及转发的控制

常用命令

指定IP允许通过

黑白名单设置

公网IP访问限定次数

还可以进行端口映射

-A和-I #给防火墙添加规则

-R修改规则

-D删除规则

iptables -nL --line-number #列出带编号的规则

添加规则限制IP地址访问举例限制172.27.30.129访问

iptables -I INPUT -s 172.27.30.129 -j DROP

iptables -R INPUT 6 -s 172.27.30.129 -j ACCEPT #6为查看后其的编号,将其的规则从DROP变为ACCEPT

iptables -D INPUT 6

iptables-save命令用来批量导出Linux防火墙规则

iptables-save > /etc/sysconfig/iptables #保存在默认文件夹中(保存防火墙规则)

iptables命令常用的选项及各自的功能如表2所示:

选项功能
-A添加防火墙规则
-D删除防火墙规则
-I插入防火墙规则
-F清空防火墙规则
-L列出添加防火墙规则
-R替换防火墙规则
-Z清空防火墙数据表统计信息
-P设置链默认规则

iptables命令常用匹配参数及各自的功能如表3所示:

参数功能
[!]-p匹配协议,! 表示取反
[!]-s匹配源地址
[!]-d匹配目标地址
[!]-i匹配入站网卡接口
[!]-o匹配出站网卡接口
[!]--sport匹配源端口
[!]--dport匹配目标端口
[!]--src-range匹配源地址范围
[!]--dst-range匹配目标地址范围
[!]--limit四配数据表速率
[!]--mac-source匹配源MAC地址
[!]--sports匹配源端口
[!]--dports匹配目标端口
[!]--stste匹配状态(INVALID、ESTABLISHED、NEW、RELATED)
[!]--string匹配应用层字串

ps命令 ***

作用:查看系统进程,比如正在运行的进程有哪些,什么时候开始运行的,哪个用户运行的,占用了多少资源。

常用的有三种命令

  • ps -ef:查看所有进程

  • ps -aux:查看所有进程

  • ps -ef | grep tomcat:查看指定进程(| 符号,是个管道符号,表示ps 和 grep 命令同时执行)

查看进程的信息解释

UID:用户ID,即进程的拥有者

PID:进程ID

PPID:该进程的父级进程id,如果一个程序的父级进程找不到,该程序的进程被称为僵尸进程

C:cpu的占用率,形式是百分数(%)

STIME:进程开始启动时间

TTY:终端设备,发起该进程的设备识别符号,如果显示‘ ?’表示该进程并不是由终端发起

TIME:进程的执行时间

CMD:该进程的名称或对应的路径

配合kill命令杀死某些进程 kill -9 pid

配合egrep命令来单独查找某些进程

1)查看进程的时候,让进程按照CPU使用率排序,然后展示前10行,就能清晰地看到哪些进程占用的资源比较多。

PS1:head -11 是因为标题也算一行

PS2:+、-号可以调整排序,-pcpu 表示降序,+pcpu 表示升序

ps -aux --sort=-pcpu | head -11

2)同理,把 -pcpu 换成 -pmem,就能查看内存使用最多的10个进程。

ps -aux --sort=-pmem | head -11

查看指定用户的进程

查看某个用户开启了哪些进程,可以使用 -u 参数指定用户名,比如,查看root用户的进程有哪些:

ps -u root -ef

显示具有指定进程 ID 的进程的信息。

ps -p ID -f

查找具有指定命令名称的进程:

ps -C 名称 # ps -C command_name 查找名为 command_name的进程

nslookup

解析域名和IP地址为主要用途

  • 3
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值