一、硬盘和内存方面的相关指令

1.df

df命令用于显示目前在Linux系统上的文件系统的磁盘使用情况统计,可以用来查看磁盘已被使用了多少空间和剩余多少空间。

// 命令参数:df -a:--all,显示所有的文件系统,包括虚拟文件系统。
df -B:--block-size,指定单位大小。比如1k,1m等。
df -h:--human-readable,以人们易读的GB、MB、KB等格式显示。
df -H:--si,和-h参数一样,但是不是以1024,而是1000,即1k=1000,而不是1k=1024。
df -i:--inodes,不用硬盘容量,而是以inode的数量来显示。
df -k:以KB的容量显示各文件系统,相当于--block-size=1k。
df -m:以KB的容量显示各文件系统,相当于--block-size=1m。
df -l:--local,只显示本地文件系统。
df --no-sync:在统计使用信息之前不调用sync命令(默认)。
df -sync:在统计使用信息之前调用sync命令。
df -P:--portability,使用POSIX格式显示。
df -t:--type=TYPE,只显示指定类型的文件系统。
df -T:--print-type,显示文件系统类型。
df -x:--exclude-type=TYPE,不显示指定类型的文件系统。
df --help:显示帮助信息。
df --version:显示版本信息。

例如输入df -h  直观的通俗易懂的显示文件系统中的磁盘使用情况

2.top

top命令提供正在运行的系统的实时动态视图,它检查每个进程的内存使用情况。ps:运行 top 时,按「1」打开 CPU 列表,按「shift+p」以 CPU 排序。

top最好用的地方就是 直观的发现可能已经失控服务的进程pid,可以通过调用kill,结束进程,或者进行错误的排查

// top状态说明:PID:进程ID,进程的唯一标识符
USER:进程所有者的实际用户名。
PR:进程的调度优先级。这个字段的一些值是'rt'。这意味这这些进程运行在实时态。
NI:进程的nice值(优先级)。越小的值意味着越高的优先级。负值表示高优先级,正值表示低优先级
VIRT:进程使用的虚拟内存。进程使用的虚拟内存总量,单位kb。VIRT=SWAP+RES
RES:驻留内存大小。驻留内存是任务使用的非交换物理内存大小。进程使用的、未被换出的物理内存大小,单位kb。RES=CODE+DATA
SHR:SHR是进程使用的共享内存。共享内存大小,单位kb
S:这个是进程的状态。它有以下不同的值:D - 不可中断的睡眠态。R – 运行态S – 睡眠态T – 被跟踪或已停止Z – 僵尸态
%CPU:自从上一次更新时到现在任务所使用的CPU时间百分比。
%MEM:进程使用的可用物理内存百分比。
TIME+:任务启动后到现在所使用的全部CPU时间,精确到百分之一秒。
COMMAND:运行进程所使用的命令。进程名称(命令名/命令行)
// 常用命令说明:shift +
L:擦除并且重写屏幕
K:终止一个进程。系统将提示用户输入需要终止的进程PID,以及需要发送给该进程什么样的信号。一般的终止进程可以使用15信号;如果不能正常结束那就使用信号9强制结束该进程。默认值是信号15。在安全模式中此命令被屏蔽。
i:忽略闲置和僵死进程。这是一个开关式命令。
q:退出程序
r:重新安排一个进程的优先级别。系统提示用户输入需要改变的进程PID以及需要设置的进程优先级值。输入一个正值将使优先级降低,反之则可以使该进程拥有更高的优先权。默认值是10。
S:切换到累计模式。
s:改变两次刷新之间的延迟时间。系统将提示用户输入新的时间,单位为s。如果有小数,就换算成m s。输入0值则系统将不断刷新,默认值是5 s。需要注意的是如果设置太小的时间,很可能会引起不断刷新,从而根本来不及看清显示的情况,而且系统负载也会大大增加。
f或者F:从当前显示中添加或者删除项目。
o或者O:改变显示项目的顺序
l:切换显示平均负载和启动时间信息。
m:切换显示内存信息。
t:切换显示进程和CPU状态信息。
c:切换显示命令名称和完整命令行。
M:根据驻留内存大小进行排序。
P:根据CPU使用百分比大小进行排序。
T:根据时间/累计时间进行排序。

3.free

  free命令可以显示Linux系统中空闲的、已用的物理内存及swap内存,及被内核使用的buffer。在Linux系统监控的工具中,free命令是最经常使用的命令之一

// 命令参数:free -b:以Byte为单位显示内存使用情况。
free -k:以KB为单位显示内存使用情况。
free -m:以MB为单位显示内存使用情况。
free -g:以GB为单位显示内存使用情况。
free -o:不显示缓冲区调节列。
free -s:<间隔秒数>持续观察内存使用状况。
free -t:显示内存总和列。
free -V:显示版本信息。

/显示参数说明
total:总计物理内存的大小。
used:已使用多大。
free:可用有多少。
Shared:多个进程共享的内存总额。
Buffers/cached:磁盘缓存的大小。第三行是交换分区SWAP的,也就是我们通常所说的虚拟内存。

我们通过free命令查看机器空闲内存时,会发现free的值很小。这主要是因为,在linux中有这么一种思想,内存不用白不用,因此它尽可能的cache和buffer一些数据,提高文件读取的性能,以方便下次使用。但实际上这些内存,如果需要的话,也是可以立刻拿来使用的。
所以从应用程序的角度来说,可用内存 = 系统free + buffers + cached

二、进程和线程状态相关命令

1.ps

ps命令用来列出系统中当前运行的那些进程。ps命令列出的是当前那些进程的快照,就是执行ps命令的那个时刻的那些进程,如果想要动态的显示进程信息,就可以使用top命令。

// 命令参数:ps -a:显示同一终端下的所有程序
ps -A:显示所有进程
ps -c:显示进程的真实名称
ps -N:反向选择
ps -e:显示环境变量
ps -f:显示程序间的关系
ps -H:显示树状结构
ps -r:显示当前终端的进程
ps -T:显示当前终端的所有程序
ps -u:指定用户的所有进程
ps -au:显示较详细的资讯
ps -aux:显示所有包含其他使用者的进程 (PID, CPU, MEM等等)
ps -ajx:显示所有包含其他使用者的进程 (PPID, PID, PGID等等)

2.kill

kill命令就是结束进程,直接kill+pid即可

3.ipcs

进程之间的通信方式无非就是 共享内存 消息队列  信号量 等 。我们就可以通过是用ipcs来查看上面三项的使用情况。从而利于定位多进程通信之间出现的问题。

// 命令参数:ipcs -a:是默认的输出信息 打印出当前系统中所有的进程间通信方式的信息
ipcs -m:打印出使用共享内存进行进程间通信的信息
ipcs -q:打印出使用消息队列进行进程间通信的信息
ipcs -s:打印出使用信号进行进程间通信的信息
ipcs -p:输出ipc方式的进程ID
ipcs -c:输出ipc各种方式的在该系统下的限制条件信息
ipcs -u:输出当前系统下ipc各种方式的状态信息(共享内存,消息队列,信号)

4.ipcrm

这个命令通常用来移除一个消息对象、或者共享内存段、或者一个信号集,同时会将与ipc对象相关链的数据也一起移除。当然,只有超级管理员,或者ipc对象的创建者才有这项权利。

// 命令参数:ipcrm -M shmkey:移除用shmkey创建的共享内存段
ipcrm -m shmid:移除用shmid标识的共享内存段
ipcrm -Q msgkey:移除用msqkey创建的消息队列
ipcrm -q msqid:移除用msqid标识的消息队列
ipcrm -S semkey:移除用semkey创建的信号
ipcrm -s semid:移除用semid标识的信号

三、网络相关的命令

1.netstat

用于显示各种网络相关信息,如网络连接,路由表,接口状态,masquerade 连接,多播成员 (Multicast Memberships) 等等

// 命令参数:netstat -a:(all)显示所有选项,默认不显示LISTEN相关
netstat -t:(tcp)仅显示tcp相关选项
netstat -u:(udp)仅显示udp相关选项
netstat -n:拒绝显示别名,能显示数字的全部转化成数字。
netstat -l:仅列出有在 Listen (监听) 的服務状态
netstat -p:显示建立相关链接的程序名
netstat -r:显示路由信息,路由表
netstat -e:显示扩展信息,例如uid等
netstat -s:按各个协议进行统计
netstat -c:每隔一个固定时间,执行该netstat命令。// 提示:LISTEN和LISTENING的状态只有用-a或者-l才能看到

2.ifconfig

用来查看主机的ip地址,网关,子网掩码。

3.tcpdump

linux下的一个抓包工具

tcpdump [ -DenNqvX ] [ -c count ] [ -F file ] [ -i interface ] [ -r file ][ -s snaplen ] [ -w file ] [ expression ]抓包选项:
-c:指定要抓取的包数量。注意,是最终要获取这么多个包。例如,指定"-c 10"将获取10个包,但可能已经处理了100个包,只不过只有10个包是满足条件的包。
-i interface:指定tcpdump需要监听的接口。若未指定该选项,将从系统接口列表中搜寻编号最小的已配置好的接口(不包括loopback接口,要抓取loopback接口使用tcpdump -i lo),:一旦找到第一个符合条件的接口,搜寻马上结束。可以使用'any'关键字表示所有网络接口。
-n:对地址以数字方式显式,否则显式为主机名,也就是说-n选项不做主机名解析。
-nn:除了-n的作用外,还把端口显示为数值,否则显示端口服务名。
-N:不打印出host的域名部分。例如tcpdump将会打印'nic'而不是'nic.ddn.mil'。
-P:指定要抓取的包是流入还是流出的包。可以给定的值为"in"、"out"和"inout",默认为"inout"。
-s len:设置tcpdump的数据包抓取长度为len,如果不设置默认将会是65535字节。对于要抓取的数据包较大时,长度设置不够可能会产生包截断,若出现包截断,:输出行中会出现"[|proto]"的标志(proto实际会显示为协议名)。但是抓取len越长,包的处理时间越长,并且会减少tcpdump可缓存的数据包的数量,:从而会导致数据包的丢失,所以在能抓取我们想要的包的前提下,抓取长度越小越好。输出选项:
-e:输出的每行中都将包括数据链路层头部信息,例如源MAC和目标MAC。
-q:快速打印输出。即打印很少的协议相关信息,从而输出行都比较简短。
-X:输出包的头部数据,会以16进制和ASCII两种方式同时输出。
-XX:输出包的头部数据,会以16进制和ASCII两种方式同时输出,更详细。
-v:当分析和打印的时候,产生详细的输出。
-vv:产生比-v更详细的输出。
-vvv:产生比-vv更详细的输出。其他功能性选项:
-D:列出可用于抓包的接口。将会列出接口的数值编号和接口名,它们都可以用于"-i"后。
-F:从文件中读取抓包的表达式。若使用该选项,则命令行中给定的其他表达式都将失效。
-w:将抓包数据输出到文件中而不是标准输出。可以同时配合"-G time"选项使得输出文件每time秒就自动切换到另一个文件。可通过"-r"选项载入这些文件以进行分析和打印。
-r:从给定的数据包文件中读取数据。使用"-"表示从标准输入中读取。

tcpdump中常见选项

// 抓取通过第一个网卡的数据包,并将信息打印在屏幕上实时显示出来
tcpdump// 抓取通过eth0网卡的数据包,信息实时打印在屏幕上。-i表示指定哪个网卡接口,
// 后面跟网卡名字,比如eth0或者lo
tcpdump -i eth0  // 抓取该网卡和该IP地址会话的数据包,实时打印在屏幕上,host后面跟IP地址或者域名,
// 比如也可以写成host www.baidu.com
tcpdump -i eth0 host <addr>// 抓取所有该网卡和该IP之间,收到的数据,src表示服务器收到的数据,
// 如果该参数缺省,默认抓取所有数据
tcpdump -i eth0 src host <addr>// 抓取所有该网卡和该IP之间,收到的数据,dst表示服务器发出去的数据,如果该参数缺省,默认抓取所有数据
tcpdump -i eth0 dst host <addr>// 查看8080端口号的会话数据包,port表示端口号,后面比如跟8080。-n表示不对具体ip地址做域名解析,直接显示会话两边的具体ip地址
tcpdump -n -i eth0 port 8080 and host <addr> tcp// 将抓包结果保存下来,最后的路径,为绝对路径,如果只有文件名,
// 保存在当前文件夹下,pcap格式可被wireshark打开
tcpdump -c 10 -nn -i eth0 tcp dst port 8080 and host <addr> -w /home/eric/MyTest.pcap

参考地址:https://blog.csdn.net/daaikuaichuan/article/details/83549293

Linux系统中重要的命令相关推荐

  1. linux 杀掉php,Linux_在Linux系统中使用xkill命令杀掉未响应的进程,我们如何在Linux中杀掉一个资 - phpStudy...

    在Linux系统中使用xkill命令杀掉未响应的进程 我们如何在Linux中杀掉一个资源/进程?很明显我们会找出资源的pid然后用kill命令. 说的更明白一点,我们可以找到某个资源(比如termin ...

  2. ss流量查询 php,Linux_Linux怎么使用ss命令查看系统的socket状态,  Linux系统中,ss命令可用于 - phpStudy...

    Linux怎么使用ss命令查看系统的socket状态 Linux系统中,ss命令可用于查看系统的socket的状态,而socket作为系统的进程通信机制,了解其状态是很有必要的,下面小编就给大家介绍下 ...

  3. linux sudo命令全称,你知道Linux系统中的sudo 命令吗?

    今天小编要跟大家分享的文章是关于Linux系统中sudo命令介绍.熟悉Linux操作系统的小伙伴们你们是否了解sudo命令.sudo 表示 "superuser do". 它允许已 ...

  4. 我的linux系统怎么输入pv,如何在Linux系统中使用pv命令

    本文介绍了如何在Linux系统中使用pv命令.内容很详细.有兴趣的朋友可以参考一下,希望对大家有帮助. PV 命令 PV由Andrew Wood开发,是Pipe Viewer的简称,意思是通过管道显示 ...

  5. linux ps-l命令详解,Linux系统中ps -l命令显示的英文含义

    Linux系统中ps -l命令显示的英文含义 UID:启动这些进程的用户. PID:进程的进程ID. PPID:父进程的进程号(如果该进程是由另一个进程启动的). C:进程生命周期中的CPU利用率. ...

  6. linux系统下的shell是什么,Linux系统中shell各命令的区别有什么?

    今天小编要跟大家分享的文章是关于Linux系统中shell各命令的区别有什么?喜欢Linux系统并对此感兴趣的小伙伴们快来一起看一看吧~希望对你有所帮助. 1.xargs作用: (1)将前一个命令的标 ...

  7. Linux操作系统中man命令的用法,Linux 系统中的MAN命令使用祥解

    Linux 系统中的MAN命令使用祥解 在使用Linux命令或程序的过程中,大家免不了要看看命令和程序的帮助文档.这就要使用到man命令.下面就man命令使用的方法具体说一下: 1.man 的使用语法 ...

  8. Linux系统怎么使用扫描仪,Linux系统中Nmap扫描命令的使用方法 -电脑资料

    我们可以使用ping扫描的方法(-sP),与fping的工作方式比较相似,它发送icmp回送请求到指定范围的ip地址并等待响应,证明主机正在运行,反之,则无法判断主机是否开机或者是否在网络上互连. 扫 ...

  9. linux管道命令详解,Linux系统中的管道命令的用法详解

    Linux系统中管道命令是linux系统的一个强大之处.下面由学习啦小编为大家整理了Linux系统中的管道命令的用法详解的相关知识,希望对大家有帮助! Linux系统中的管道命令的用法详解 管道命令操 ...

  10. linux 按名字查找文件夹,详细解读linux系统中使用Find命令查找文件

    摘要:文件查找是一个经常用到的功能,在linux系统中查找文件的命令比较多:find.locate.whereis .which等,今天心月就来详细解读find文件查找命令的使用. 文件查找是一个经常 ...

最新文章

  1. Java学习总结:20
  2. 为什么微服务一定要有网关?
  3. Python学习笔记-进度条
  4. ITK:重视Valued图像的区域最小值
  5. 为什么作为开发人员面试完全是胡说八道
  6. android软件自动启动软件下载,Android编程实现应用程序开机自启动的方法
  7. ios 对日期的处理(包括计算昨天时间、明天时间)
  8. 二进制编辑器BZ-1621网址
  9. eclipse Git使用教程
  10. Revit二次开发——选集
  11. 计算机怎么把日历和时间放到桌面上,怎么把日历放到电脑桌面
  12. 数组取第一个元素和最后一个元素
  13. 【不知出处】危险的迷宫 网络流 费用流
  14. 安装应用提示 该文件包与具有同一名称的现有文件包存在冲突。 无法安装
  15. 基于安卓的四六级英语学习小助手app(android毕业设计)
  16. Oauth2 数据库表说明
  17. TCP/IP--划分子网和构造超网
  18. 通过简单的演示理解TCP/IP网络
  19. 亲爱的老狼- 移动端和PC端的不同
  20. ArcGIS API for JavaScript创建 3D 地图

热门文章

  1. 大数据组件测试maven依赖(持续更新)
  2. 微信小程序导航组件 navigator使用
  3. 如何获取某个标签下所有的元素id_HTML文档元素的属性介绍
  4. VScode安装git插件使用说明
  5. html中单击按钮事件,处理C++代码中的HTML按钮单击事件
  6. 华三设备组网中,知道终端的IP,求该IP直连在哪台交换机上?
  7. python爬虫基础项目教程_Python爬虫入门项目
  8. 简单一文带你读懂Java变量的作用和三要素
  9. mysql的delete语句_mysql删除语句
  10. 指定日期判断是否节假日