linux命令

df

df可显示磁盘的文件系统与使用情形

常用参数

  • -a 包含所有文件系统
  • -h 以较高可读性显示信息
  • -i 显示inode的信息
  • -l 显示本地端的文件系统
  • -m 以m为单位显示

示例图片

free

显示内存状态

  • free指令会显示内存的使用情况,包括实体内存,虚拟的交换文件内存,共享内存区段,以及系统核心使用的缓冲区等。

参数

  • -b 以byte为单位显示内存使用情况
  • -k 以kb为单位显示内存使用情况
  • -m 以m为单位显示内存使用情况
  • -o 不显示缓存起调节列
  • -t 显示内存总和列
  • -s<间隔秒数> 持续观察内存使用情况

示例图片

第一部分Mem行解释

  • total:总计物理内存的大小。
  • used:已使用多大。
  • free:可用有多少。
  • Shared:多个进程共享的内存总额。
  • Buffers/cached:磁盘缓存的大小

关系:total = used + free

第二部分(-/+ buffers/cache)

  • (-buffers/cache) used内存数:第一部分Mem行中的 used – buffers – cached
  • (+buffers/cache) free内存数: 第一部分Mem行中的 free + buffers + cached

可见-buffers/cache反映的是被程序实实在在吃掉的内存,而+buffers/cache反映的是可以挪用的内存总数。

第三部分

第三部分是指交换分区

tcpdump

1、常用选项

  • -i 指定监听的网络接口 “-i any”表示抓取所有网卡接口上的数据包。
  • -t 不打印时间戳。
  • -e 显示以太网帧头部信息。
  • -n 使用IP地址表示主机,而不是主机名;使用数字表示端口号,而不是服务名称。
  • -c 仅抓取指定数量的数据报
  • -v 输出稍微详细点的信息,例如,显示IP数据包中的TTL和TOS信息。
  • -vv 输出详细报文信息。
  • -x 以十六进制显示数据包的内容,单步显示包中以太网帧的头部信息。
  • -X 与-x类似,不过还打印每个十六进制对应的ASCII字符。
  • -XX 与-X相同,不过还打印以太网帧的头部信息。
  • -S 以绝对值来显示TCP报文段的序号,而不是相对值。
  • -w 将tcpdump的输出以特殊的格式定向到某个文件。
  • -r 从文件中读取数据报信息并显示。

2、包的过滤

tcpdump支持用表达式进一步过滤数据包。
tcpdump的操作数分为3种:类型(type)、方向(dir)、协议(proto)
类型,解释后面跟着的参数的含义。tcpdump支持的类型包括host(主机名或ip地址)、net(用CIDR方法表示的网络地址)、port(端口号)和portrange(端口范围)。

  1. 方向,src指定数据包的发送端,dst指定数据报的目的端。
  2. 协议,指定目标协议。
  3. tcpdump支持的逻辑操作符。
    and(或&&),or(或||),not(或!)
    如果表达式比较复杂,可以使用括号将它们分组。不过使用括号时,需要使用“\”对它转义,或者用单引号“’”将其括住,避免齐备shell所解释。