命令集

命令 描述 关键字
ps 用于显示当前进程 (process) 的状态。使用该命令可以确定有哪些进程正在运行和运行的状态、进程是否结束、进程有没有僵死、哪些进程占用了过多的资源等等。ps命令列出的是当前那些进程的快照,就是执行ps命令的那个时刻的那些进程 某一时刻运行的进程、显示进程pid
ifconfig ifconfig工具不仅可以被用来简单地获取网络接口配置信息,还可以修改这些配置。用ifconfig命令配置的网卡信息,在网卡重启后机器重启后,配置就不存在。要想将上述的配置信息永远的存的电脑里,那就要修改网卡的配置文件了。 查看网卡信息 临时配置网卡 查看网卡流量
uptime 显示系统已经运行了多长时间,查看在线用户,查看1分钟,5分钟,15分钟的系统负载 系统运行时间 负载量 在线用户
netstat Netstat 是一款命令行工具,可用于列出系统上所有的网络套接字连接情况,包括 tcp, udp 以及 unix 套接字,另外它还能列出处于监听状态(即等待接入请求)的套接字。如果你想确认系统上的 Web 服务有没有起来,你可以查看80端口有没有打开。以上功能使 netstat 成为网管和系统管理员的必备利器。 套接字连接情况 被监听套接字 tcp.udp服务 
vmstat
vmstat 命令报告关于内核线程、虚拟内存、磁盘、陷阱和 CPU 活动的统计信息。由 vmstat 命令生成的报告可以用于平衡系统负载活动。系统范围内的这些统计信息(所有的处理器中)都计算出以百分比表示的平均值,或者计算其总和。 查看CPU信息
free 查看内存大小,系统,程序占用内存大小,缓冲区占用内存大小等信息 查看内存
swapon swapon命令用于激活Linux系统中交换空间,Linux系统的内存管理必须使用交换区来建立虚拟内存  
iostat iostat是I/O statistics(输入/输出统计)的缩写,iostat工具将对系统的磁盘操作活动进行监视。它的特点是汇报磁盘活动统计情况,同时也会汇报出CPU使用情况。iostat也有一个弱点,就是它不能对某个进程进行深入分析,仅对系统的整体情况进行分析

cpu使用情况 磁盘使用情况

traceroute traceroute我们可以知道信息从你的计算机到互联网另一端的主机是走的什么路径。当然每次数据包由某一同样的出发点(source)到达某一同样的目的地(destination)走的路径可能会不一样,但基本上来说大部分时候所走的路由是相同的。 地址路径追踪
df 用于显示目前在Linux系统上的文件系统的磁盘使用情况统计。 查看磁盘信息
ping ping是应用层(7层)调用网络层(3层)的一种网络工具,用于检测网路故障,测试网络连通性 网络连通性测试工具

其他查看方式补充:

系统
# uname -a # 查看内核/操作系统/CPU 信息
# head -n 1 /etc/issue # 查看操作系统版本
# cat /proc/cpuinfo # 查看 CPU 信息
# hostname # 查看计算机名
# lspci -tv # 列出所有 PCI 设备
# lsusb -tv # 列出所有 USB 设备
# lsmod # 列出加载的内核模块
# env # 查看环境变量
资源
# free -m # 查看内存使用量和交换区使用量
# df -h # 查看各分区使用情况
# du -sh # 查看当前目录下所有文件的总大小
# du -h –max-depth=1 查看当前目录下所有文件夹的大小
# grep MemTotal /proc/meminfo # 查看内存总量
# grep MemFree /proc/meminfo # 查看空闲内存量
# uptime # 查看系统运行时间、用户数、负载
# cat /proc/loadavg # 查看系统负载
磁盘和分区
# mount | column -t # 查看挂接的分区状态
# fdisk -l # 查看所有分区
# swapon -s # 查看所有交换分区
# hdparm -i /dev/hda # 查看磁盘参数(仅适用于 IDE 设备)
# dmesg | grep IDE # 查看启动时 IDE 设备检测状况
网络
# ifconfig # 查看所有网络接口的属性
# iptables -L # 查看防火墙设置
# route -n # 查看路由表
# netstat -lntp # 查看所有监听端口
# netstat -antp # 查看所有已经建立的连接
# netstat -s # 查看网络统计信息
进程
# ps -ef # 查看所有进程
# top # 实时显示进程状态
用户
# w # 查看活动用户
# id 用户名# 查看指定用户信息
# last # 查看用户登录日志
# lastb # 查看用户登录失败的日志
# cut -d: -f1 /etc/passwd # 查看系统所有用户
# cut -d: -f1 /etc/group # 查看系统所有组
# crontab -l # 查看当前用户的计划任务
服务
# chkconfig --list # 列出所有系统服务
# chkconfig --list | grep on # 列出所有启动的系统服务
程序
# rpm -qa # 查看所有安装的软件包

一.ps

格式:ps [参数]

选项:

ps 的参数非常多, 在此仅列出几个常用的参数并大略介绍含义

  • -A 列出所有的行程
  • -w 显示加宽可以显示较多的资讯
  • -au 显示较详细的资讯
  • -aux 显示所有包含其他使用者的行程
  • au(x) 输出格式 :
  • USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND
  • USER: 行程拥有者
  • PID: pid
  • %CPU: 占用的 CPU 使用率
  • %MEM: 占用的内存使用率
  • VSZ: 占用的虚拟内存大小
  • RSS: 占用的真实内存大小
  • TTY: 终端的次要装置号码 (minor device number of tty)
  • START: 行程开始时间
  • TIME: 执行的时间
  • COMMAND:所执行的指令
  • STAT: 该行程的状态:
  • D: 无法中断的休眠状态 (通常 IO 的进程)
  • R: 正在执行中
  • S: 静止状态
  • T: 暂停执行
  • Z: 不存在但暂时无法消除
  • W: 没有足够的记忆体分页可分配
  • <: 高优先序的行程
  • N: 低优先序的行程
  • L: 有记忆体分页分配并锁在记忆体内 (实时系统或捱A I/O)

1.ps -A

显示进程pid号,运行时间,以及打开进程命令

[root@ansible ~]# ps -A
  PID TTY          TIME CMD
    1 ?        00:00:01 systemd
    2 ?        00:00:00 kthreadd
    3 ?        00:00:00 ksoftirqd/0
    5 ?        00:00:00 kworker/0:0H
    6 ?        00:00:00 kworker/u4:0

2.ps - ef

显示所有进程信息,连带命令行

[student@room9pc01 elk]$ ps -ef
UID        PID  PPID  C STIME TTY          TIME CMD
root         1     0  0 08:40 ?        00:00:04 /usr/lib/systemd/systemd --switched-root --sys
root         2     0  0 08:40 ?        00:00:00 [kthreadd]
root         3     2  0 08:40 ?        00:00:00 [ksoftirqd/0]
root         5     2  0 08:40 ?        00:00:00 [kworker/0:0H]

3.ps -ef | grep xx

ps 与grep 常用组合用法,查找特定进程

[student@room9pc01 elk]$ ps -ef|grep systemd
root         1     0  0 08:40 ?        00:00:04 /usr/lib/systemd/systemd --switched-root --system --deserialize 22
root       380     1  0 08:40 ?        00:00:01 /usr/lib/systemd/systemd-journald

4.ps -aux

列出目前所有的正在内存当中的程序

[student@room9pc01 elk]$ ps aux
USER       PID %CPU %MEM    VSZ   RSS         TTY      STAT START   TIME COMMAND
root           1       0.0        0.0   191508  4456            ?        Ss     08:40       0:04 /usr/lib/systemd/systemd --sw
root           2       0.0        0.0        0        0                 ?         S      08:40       0:00 [kthreadd]
root           3       0.0        0.0        0        0                 ?         S      08:40       0:00 [ksoftirqd/0]
root           5       0.0        0.0        0       0                  ?        S<     08:40       0:00 [kworker/0:0H]

二、ifconfig

命令格式:ifconfig 网络设备 选项和操作

ifconfig [网络设备] [down up -allmulti -arp -promisc] [add<地址>][del<地址>] [<hw<网络设备类型><硬件地址>][io_addr<I/O地址>][irq<IRQ地址>][media<网络媒介类型>][mem_start<内存地址>][metric<数目>][mtu<字节>][netmask<子网掩码>][tunnel<地址>][-broadcast<地址>][-pointopoint<地址>][IP地址]

命令参数:

  • add<地址> 设置网络设备IPv6的IP地址。
  • del<地址> 删除网络设备IPv6的IP地址。
  • down 关闭指定的网络设备。
  • <hw<网络设备类型><硬件地址> 设置网络设备的类型与硬件地址。
  • io_addr<I/O地址> 设置网络设备的I/O地址。
  • irq<IRQ地址> 设置网络设备的IRQ。
  • media<网络媒介类型> 设置网络设备的媒介类型。
  • mem_start<内存地址> 设置网络设备在主内存所占用的起始地址。
  • metric<数目> 指定在计算数据包的转送次数时,所要加上的数目。
  • mtu<字节> 设置网络设备的MTU。
  • netmask<子网掩码> 设置网络设备的子网掩码。
  • tunnel<地址> 建立IPv4与IPv6之间的隧道通信地址。
  • up 启动指定的网络设备。
  • -broadcast<地址> 将要送往指定地址的数据包当成广播数据包来处理。
  • -pointopoint<地址> 与指定地址的网络设备建立直接连线,此模式具有保密功能。
  • -promisc 关闭或启动指定网络设备的promiscuous模式。
  • [IP地址] 指定网络设备的IP地址。
  • [网络设备] 指定网络设备的名称。

1.查看网络设备

显示全部

$ ifconfig
eth0   Link encap:Ethernet HWaddr 00:50:56:0A:0B:0C inet addr:192.168.0.3 Bcast:192.168.0.255 Mask:255.255.255.0inet6 addr: fe80::250:56ff:fe0a:b0c/64 Scope:LinkUP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1RX packets:172220 errors:0 dropped:0 overruns:0 frame:0TX packets:132379 errors:0 dropped:0 overruns:0 carrier:0collisions:0 txqueuelen:1000 RX bytes:87101880 (83.0 MiB) TX bytes:41576123 (39.6 MiB)Interrupt:185 Base address:0x2024 lo    Link encap:Local Loopback inet addr:127.0.0.1 Mask:255.0.0.0inet6 addr: ::1/128 Scope:HostUP LOOPBACK RUNNING MTU:16436 Metric:1RX packets:2022 errors:0 dropped:0 overruns:0 frame:0TX packets:2022 errors:0 dropped:0 overruns:0 carrier:0collisions:0 txqueuelen:0 RX bytes:2459063 (2.3 MiB) TX bytes:2459063 (2.3 MiB)

显示单张

$ ifconfig   eth0
eth0   Link encap:Ethernet HWaddr 00:50:56:0A:0B:0C inet addr:192.168.0.3 Bcast:192.168.0.255 Mask:255.255.255.0inet6 addr: fe80::250:56ff:fe0a:b0c/64 Scope:LinkUP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1RX packets:172220 errors:0 dropped:0 overruns:0 frame:0TX packets:132379 errors:0 dropped:0 overruns:0 carrier:0collisions:0 txqueuelen:1000 RX bytes:87101880 (83.0 MiB) TX bytes:41576123 (39.6 MiB)Interrupt:185 Base address:0x2024 

2.启动关闭设备

$ ifconfig eth0 down
$ ifconfig eth0 up

3.临时修改ip

$ ifconfig eth0 192.168.1.56  //给eth0网卡配置IP地址
$ ifconfig eth0 192.168.1.56 netmask 255.255.255.0  // 给eth0网卡配置IP地址,并加上子掩码
$ ifconfig eth0 192.168.1.56 netmask 255.255.255.0 broadcast 192.168.1.255 // 给eth0网卡配置IP地址,加上子掩码,加上个广播地址

4.设置最大传输数据包大小

$ ifconfig eth0 mtu 1500  //设置能通过的最大数据包大小为 1500 bytes

三、uptime

格式:uptime [选项]

选项:

-p, --pretty show uptime in pretty format//以比较友好的格式输出

-h, --help display this help text//显示帮助选项

-s, --since system up since, in yyyy-mm-dd HH:MM:SS format//系统启动时间

-V, --version display version information and exit//版本信息

运行结果:

@dev1:~$ uptime -p

up 4 days, 22 hours, 38 minutes

@dev1:~$ uptime -s

2018-09-13 15:47:04

@dev1:~$ uptime -V

uptime from procps-ng 3.3.10

1.uptime显示分析

[root@myhost etc]# uptime 10:57:00 up 47 days, 12:53,  1 user,  load average: 0.00, 0.01, 0.0

当前时间 10:57:00

系统已运行的时间 47 days, 12:53

当前在线用户 1 user

平均负载:0.00 0.01, 0.0,最近1分钟、5分钟、15分钟系统的负载

2.何为系统负载呢?

系统平均负载被定义为在特定时间间隔内运行队列中的平均进程数。如果一个进程满足以下条件则其就会位于运行队列中:

  • 它没有在等待I/O操作的结果
  • 它没有主动进入等待状态(也就是没有调用'wait')
  • 没有被停止(例如:等待终止)

一般来说,每个CPU内核当前活动进程数不大于3,则系统运行表现良好!当然这里说的是每个cpu内核,也就是如果你的主机是四核cpu的话,那么只要uptime最后输出的一串字符数值小于12即表示系统负载不是很严重.当然如果达到20,那就表示当前系统负载非常严重,估计打开执行web脚本非常缓慢.

查看cpu命令:lscpu

3.查看负载的其他方式

cat /proc/loadavg

最直接查看系统平均负载命令

root@Slyar.com:~# cat /proc/loadavg
0.10 0.06 0.01 1/72 29632

除了前3个数字表示平均进程数量外,后面的1个分数,分母表示系统进程总数,分子表示正在运行的进程数;最后一个数字表示最近运行的进程ID

四、netstat/ss

ss是作为netstat的简写

1.列出所有连接

netstat -a

2.列出仅含tcp或仅含udp的协议的连接

tcp:netstat -at

udp:netstat -au

3.禁用反向域名解析,加快查询速度

选项 : -n

默认情况下 netstat 会通过反向域名解析技术查找每个 IP 地址对应的主机名。这会降低查找速度。如果你觉得 IP 地址已经足够,而没有必要知道主机名,就使用 -n 选项禁用域名解析功能。

进行域名解析
$ netstat -at
Active Internet connections (servers and established)
Proto Recv-Q Send-Q Local Address           Foreign Address         State
tcp        0      0 enlightened:domain      *:*                     LISTEN不进行域名解析
$ netstat -ant
Active Internet connections (servers and established)
Proto Recv-Q Send-Q Local Address           Foreign Address         State
tcp        0      0 127.0.1.1:53            0.0.0.0:*               LISTEN 

4. 只列出监听中的连接 

选项:-l

任何网络服务的后台进程都会打开一个端口,用于监听接入的请求。这些正在监听的套接字也和连接的套接字一样,也能被 netstat 列出来。使用 -l 选项列出正在监听的套接字。

$ netstat -tnl
Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address           Foreign Address         State
tcp        0      0 127.0.1.1:53            0.0.0.0:*               LISTEN  

5.获取进程名、进程号以及用户 ID

选项:-p

查看端口和连接的信息时,能查看到它们对应的进程名和进程号对系统管理员来说是非常有帮助的。举个栗子,Apache 的 httpd 服务开启80端口,如果你要查看 http 服务是否已经启动,或者 http 服务是由 apache 还是 nginx 启动的,这时候你可以看看进程名。

~$ sudo netstat -nlpt
Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address           Foreign Address         State       PID/Program name
tcp        0      0 127.0.1.1:53            0.0.0.0:*               LISTEN      1144/dns

6. 打印网络接口

选项:-ie

输出信息与ifconfig一样

$ netstat -ie
Kernel Interface table
eth0      Link encap:Ethernet  HWaddr 00:16:36:f8:b2:64  inet addr:192.168.1.2  Bcast:192.168.1.255  Mask:255.255.255.0inet6 addr: fe80::216:36ff:fef8:b264/64 Scope:LinkUP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1RX packets:31682 errors:0 dropped:0 overruns:0 frame:0TX packets:27573 errors:0 dropped:0 overruns:0 carrier:0collisions:0 txqueuelen:1000 RX bytes:29637117 (29.6 MB)  TX bytes:4590583 (4.5 MB)Interrupt:18 Memory:da000000-da020000

7.查看当前运行的服务,常用搭配

选项:-anpltu

-a显示全部,-n不解析域名,-p显示进程名,只列出监听中的连接,tu查看基于tcp,udp协议的服务

[root@es1 ~]# ss -anltup
Netid  State         Recv-Q Send-Q     Local Address:Port           Peer                Address:Port              
udp    UNCONN      0          0              127.0.0.1:323                   *:*                   users:(("chronyd",pid=446,fd=1))
tcp        LISTEN       0         128            *:22                                 *:*                   users:(("sshd",pid=626,fd=3))

五、free

语法 free [-bkmotV][-s <间隔秒数>]

参数说明:

-b  以Byte为单位显示内存使用情况。

-k  以KB为单位显示内存使用情况。

-m  以MB为单位显示内存使用情况。

-o  不显示缓冲区调节列。 -s<间隔秒数>  持续观察内存使用状况。

-t  显示内存总和列。

-V  显示版本信息。

[root@logstash ~]# freetotal           used        free        shared  buff/cache   availableneic
Mem:        3416204       55564     3236976        8564      123664     3208472
Swap:             0           0           0

下面是total,used,free的含义:

total  系统总内存,根据真实内存条或虚拟内存条计算 (MemTotal and SwapTotal in /proc/meminfo)

used   已使用内存 (计算公式: total - free - buffers - cache)

free   未使用内存 (MemFree and SwapFree in /proc/meminfo)

shared 多个进程共享的内存 (Shmem in /proc/meminfo, available on kernels 2.6.32, displayed as zero
              if not available)
    available 可以使用内存数

buffers
              缓冲区(系统)占用内存数 (Buffers in /proc/meminfo)

cache  缓冲区(web网站)占用内存数 (Cached and Slab in /proc/meminfo)

buff/cache  缓冲区内存总和
              Sum of buffers and cache

如果你插了一条4G的内存,正常来说真实内存不会达到4G.这是因为一部分是作为内存的驱动程序或者被系统占用的隐藏内存数(用于启动内存或安装内存调用程序),但是这个大小一般不会太大.10-100m看内存大小而定

更加详细的内存相关信息存在 /proc/meminfo 文件中

六、df

格式:df [选项] [FILE]

  • 文件-a, --all 包含所有的具有 0 Blocks 的文件系统
  • 文件--block-size={SIZE} 使用 {SIZE} 大小的 Blocks
  • 文件-h, --human-readable 使用人类可读的格式(预设值是不加这个选项的...)
  • 文件-H, --si 很像 -h, 但是用 1000 为单位而不是用 1024
  • 文件-i, --inodes 列出 inode 资讯,不列出已使用 block
  • 文件-k, --kilobytes 就像是 --block-size=1024
  • 文件-l, --local 限制列出的文件结构
  • 文件-m, --megabytes 就像 --block-size=1048576
  • 文件--no-sync 取得资讯前不 sync (预设值)
  • 文件-P, --portability 使用 POSIX 输出格式
  • 文件--sync 在取得资讯前 sync
  • 文件-t, --type=TYPE 限制列出文件系统的 TYPE
  • 文件-T, --print-type 显示文件系统的形式
  • 文件-x, --exclude-type=TYPE 限制列出文件系统不要显示 TYPE
  • 文件-v (忽略)
  • 文件--help 显示这个帮手并且离开
  • 文件--version 输出版本资讯并且离开

1.显示文件系统的磁盘使用情况统计

第一列(Filesystem)指定文件系统的名称,第二列(1K-blocks)指定一个特定的文件系统1K-块1K是1024字节为单位的总内存。第三列(Used)已使用空间.第四列(Auailable)可使用空间,第五列(Use)使用百分比.第六列(Mounted on)磁盘挂载点,基于Linux一切皆文件

# df
Filesystem     1K-blocks    Used     Available Use% Mounted on
/dev/sda6       29640780 4320704     23814388  16%     /
udev             1536756       4     1536752    1%     /dev
tmpfs             617620     888     616732     1%     /run
none                5120       0     5120       0%     /run/lock
none             1544044     156     1543888    1%     /run/shm 

2.显示磁盘使用的文件系统信息

可以查看某个文件使用的哪个磁盘

格式:df 文件名

test文件使用的/dev/sda6磁盘

# df test
Filesystem     1K-blocks    Used      Available Use% Mounted on
/dev/sda6       29640780    4320600   23814492  16%       / 

3.可读的格式df命令的输出

选项 -h

以G的形式显示

# df -h
Filesystem      Size  Used   Avail Use% Mounted on
/dev/sda6       29G   4.2G   23G   16%     /
udev            1.5G  4.0K   1.5G   1%     /dev
tmpfs           604M  892K   603M   1%     /run 

七、iostat

用法:iostat [ 选项 ] [ <时间间隔> [ <次数> ]]

常用选项说明:

-c:只显示系统CPU统计信息,即单独输出avg-cpu结果,不包括device结果
-d:单独输出Device结果,不包括cpu结果
-k/-m:输出结果以kB/mB为单位,而不是以扇区数为单位
-x:输出更详细的io设备统计信息
interval/count:每次输出间隔时间,count表示输出次数,不带count表示循环输出

1.显示所有设备的负载情况

命令:iostat

# iostat
Linux 3.10.0-862.el7.x86_64 (room9pc01.tedu.cn)     2019年10月16日     _x86_64_(4 CPU)

avg-cpu:  %user   %nice %system %iowait  %steal   %idle
                4.98          0.02    1.88    0.96       0.00         92.16

Device:            tps    kB_read/s    kB_wrtn/s    kB_read    kB_wrtn
sda               7.69        58.03        83.53    1882170    2708984

cpu属性值说明:

  1. %user:CPU处在用户模式下的时间百分比。
  2. %nice:CPU处在带NICE值的用户模式下的时间百分比。
  3. %system:CPU处在系统模式下的时间百分比。
  4. %iowait:CPU等待输入输出完成时间的百分比。
  5. %steal:管理程序维护另一个虚拟处理器时,虚拟CPU的无意识等待时间百分比。
  6. %idle:CPU空闲时间百分比。

注意点:

  1. 如果%iowait的值过高,表示硬盘存在I/O瓶颈
  2. 如果%idle值高,表示CPU较空闲
  3. 如果%idle值高但系统响应慢时,可能是CPU等待分配内存,应加大内存容量。
  4. 如果%idle值持续低于10,表明CPU处理能力相对较低,系统中最需要解决的资源是CPU。

device属性值说明:

  1. tps:该设备每秒的传输次数
  2. kB_read/s:每秒从设备(drive expressed)读取的数据量;
  3. kB_wrtn/s:每秒向设备(drive expressed)写入的数据量;
  4. kB_read:  读取的总数据量;
  5. kB_wrtn:写入的总数量数据量;

2.定时显示所有信息

命令:iostat interval  count

iostat 100 2         #每隔100秒刷新1次,一共刷新2次

3.查看设备使用率(%util)、响应时间(await)

命令: iostat -dx

【-d 显示磁盘使用情况,-x 显示详细信息】

[student@room9pc01 ~]$ iostat -dx
Linux 3.10.0-862.el7.x86_64 (room9pc01.tedu.cn)     2019年10月16日     _x86_64_    (4 CPU)

Device:         rrqm/s   wrqm/s     r/s     w/s    rkB/s    wkB/s avgrq-sz avgqu-sz   await r_await w_await  svctm  %util
sda               0.11     1.91    1.90    5.66    56.67    82.69    36.88     0.10   13.32   18.96   11.42   4.75   3.59

八、traceroute

格式:traceroute [选项] 权限域名(网址)

选项

  1. -d 使用Socket层级的排错功能。
  2. -f 设置第一个检测数据包的存活数值TTL的大小。
  3. -F 设置勿离断位。
  4. -g 设置来源路由网关,最多可设置8个。
  5. -i 使用指定的网络界面送出数据包。
  6. -I 使用ICMP回应取代UDP资料信息。
  7. -m 设置检测数据包的最大存活数值TTL的大小。
  8. -n 直接使用IP地址而非主机名称。
  9. -p 设置UDP传输协议的通信端口。
  10. -r 忽略普通的Routing Table,直接将数据包送到远端主机上。
  11. -s 设置本地主机送出数据包的IP地址。
  12. -t 设置检测数据包的TOS数值。
  13. -v 详细显示指令的执行过程。
  14. -w 设置等待远端主机回报的时间。
  15. -x 开启或关闭数据包的正确性检验。

1.基本用法

traceroute 网址

将每一跳的地址和用时时间显示出来,默认的设置的最大跳数是30跳,你可以自己调整

*号代表防火墙封掉了ICMP的返回信息,所以我们得不到什么相关的数据包返回数据

[student@room9pc01 ~]$ traceroute www.baidu.com
traceroute to www.baidu.com (112.80.248.75), 30 hops max, 60 byte packets
 1  ip1.2.52.176.kzn.tbt.ru (176.52.2.1)  1.986 ms  1.942 ms  2.004 ms
 2  ip-176-52-200-1.static.reverse.dsi.net (176.52.200.1)  0.430 ms  0.696 ms  0.534 ms
 3  42.48.37.1 (42.48.37.1)  2.629 ms  2.571 ms  2.722 ms
 4  119.39.126.193 (119.39.126.193)  2.645 ms 119.39.126.189 (119.39.126.189)  3.905 ms  3.799 ms
 5  119.39.127.49 (119.39.127.49)  4.090 ms 119.39.126.105 (119.39.126.105)  24.784 ms 119.39.127.49 (119.39.127.49)  5.289 ms
 6  119.39.110.241 (119.39.110.241)  27.141 ms * *
 7  * * *
 8  58.240.60.166 (58.240.60.166)  51.880 ms 58.240.96.26 (58.240.96.26)  34.063 ms *
 9  112.86.192.150 (112.86.192.150)  33.917 ms 112.86.192.158 (112.86.192.158)  43.101 ms 182.61.216.0 (182.61.216.0)  43.464 ms
10  * * 182.61.216.0 (182.61.216.0)  44.676 ms
11  * * *
12  * * *

....

30  * * *

2.设置最大跳数

格式:traceroute -m 跳数 网址

我用5跳去访问百度,结果肯定是找不到服务器,在路上请求就被丢弃了

[student@room9pc01 ~]$ traceroute -m 5 www.baidu.com
traceroute to www.baidu.com (112.80.248.76), 5 hops max, 60 byte packets
 1  ip1.2.52.176.kzn.tbt.ru (176.52.2.1)  6.544 ms  11.801 ms  12.092 ms
 2  ip-176-52-200-1.static.reverse.dsi.net (176.52.200.1)  0.426 ms  0.385 ms  0.402 ms
 3  * * *
 4  119.39.126.189 (119.39.126.189)  31.326 ms 119.39.126.193 (119.39.126.193)  33.439 ms  33.385 ms
 5  119.39.126.241 (119.39.126.241)  62.552 ms 119.39.127.161 (119.39.127.161)  42.145 ms 119.39.126.241 (119.39.126.241)  62.362 ms

3.不进行域名解析

traceroute -n 网址

速度更快,但是你也感受不出来

4.绕过正常的路由表,直接发送到网络相连的主机

你直接访问百度是肯定通不了的.你可以试着访问局域网内的其他主机,或者你会做vpn,建一个专用隧道

[student@room9pc01 ~]$ traceroute -r www.baidu.com
traceroute to www.baidu.com (112.80.248.76), 30 hops max, 60 byte packets
connect: 网络不可达

九、Vmstat

vmstat是Virtual Meomory Statistics(虚拟内存统计)的缩写,可对操作系统的虚拟内存、进程、CPU活动进行监控。是对系统的整体情况进行统计,不足之处是无法对某个进程进行深入分析。

[root@myhost etc]# vmstat
procs -----------memory---------- ---swap-- -----io---- -system-- ------cpu-----r  b   swpd   free   buff  cache   si   so    bi    bo   in   cs us sy id wa st1  0      0  83176 202084 1280324    0    0     0     3    0    3  0  0 100  0  0

显示参数分析:

bi:表示从磁盘每秒读取的块数(blocks/s)。数字越大,表示读磁盘的活动越多。
bo:表示每秒写到磁盘的块数(blocks/s)。数字越大,表示写磁盘的活动越多。
wa:cpu等待磁盘I/O(未决的磁盘IO)的时间比例。数字越大,表示文件系统活动越受阻碍,cpu的情况越严重,因为cpu在等待慢速的磁盘系统提供数据。wa为0是最理想的。如果wa经常大于10,可能文件系统就需要进行性能调整了。
vmstat比top更能反映出cpu的使用情况:
us:用户程序使用cpu的时间比例。这个数字越大,表示用户进程越繁忙。
sy:系统调用使用cpu的时间比例。注意,NFS由于是在内核里面运行的,所以NFS活动所占用的cpu时间反映在sy里面。这个数字经常很大的话,就需要注意是否某个内核进程,比如NFS任务比较繁重。如果us和sy同时都比较大的话,就需要考虑将某些用户程序分离到另外的服务器上面,以免互相影响。
id:cpu空闲的时间比例,数值越大约空闲。
wa:cpu等待未决的磁盘IO的时间比例。

Linux系统管理命令汇总收录相关推荐

  1. linux常用命令汇总

    linux常用命令汇总,以便需要时快速查询 中文释义 相应命令 备注 在文件中查找 grep error catalina.out 在catalina.out文件中查找error信息 重启nginx ...

  2. Linux常见命令汇总(不定期更新)

    Linux常见命令汇总 文件及目录相关命令 命令名称 释义 ls 查看目录下的内容 cd 目录跳转 pwd 打印工作目录 cp 拷贝 mv 移动文件及目录 rm 删除文件及目录 mkdir 创建目录 ...

  3. 史上最全的Linux常用命令汇总①收藏这一篇就够了!(超全,超详细)

    史上最全的Linux常用命令汇总①(超全面!超详细!)收藏这一篇就够了! Linux命令基础 Shell Linux命令分类 Linux命令行的格式 编辑Linux命令行的辅助操作 获取命令帮助的方法 ...

  4. 基本BASH SHELL脚本命令——Linux系统管理命令-检测程序、检测磁盘空间

    详细介绍Linux系统管理命令,演示如何通过命令行命令来探查Linux系统的内部信息 一.监测程序 Linux系统管理员面临的最复杂的任务之一就是跟踪运行在系统中的程序--尤其是现在,图形化桌面集成了 ...

  5. Linux常用命令汇总【思维导图】

    Linux常用命令汇总[文章末尾附有完整常用命令的思维导图,建议收藏] 文章大致分为以下小节 Linux入门 Linux目录结构 VI/VIM编辑器(重点) 网络配置 常用基本命令(重点) 常用命令思 ...

  6. linux 常用命令汇总(面向面试)

    linux 常用命令汇总 个人认为先掌握一些比较常用的,剩下的需要再学 总结了一些面试比较可能会问道的命令 文章目录 linux 常用命令汇总 基础命令 ulimit dos2unix和unix2do ...

  7. Linux| Linux常用命令汇总(旧版)

    *********************************最常用命令********************************************** 文件查找:     find ...

  8. Linux学习命令汇总三——Linux用户组管理,文件权限管理,文本搜索命令grep及正则表达式...

    本章Blog相关Linux知识点 解析:在数据库按搜索码查找相对应的条目,并找与之对应额外的其他数据库的过程:名称解析:UID ,组名解析:GID 数据库:文本文件,sql数据库,ldap数据库,用户 ...

  9. linux 系统管理命令整理

    10个超实用的CentOS网络和监控命令 网络和监控命令类似于这些: hostname, ping, ifconfig, iwconfig, netstat, nslookup, traceroute ...

最新文章

  1. SharePoint 2010 与 SQL Server 2012 报表服务集成
  2. python笔记总结_python学习笔记总结(1)
  3. dotnet 使用 Infer# 自动分析代码缺陷
  4. 查找算法:斐波那契查找算法实现及分析
  5. 倍受好评的美国主机JustHost使用全攻略教程
  6. dev sda2 linux lvm,VM下LINUX完美增加硬盘空间(LVM)
  7. RocketMQ源码解析-Producer启动
  8. Linux生成随机数字和字符串
  9. python自动化开发和全栈开发_python全栈开发devops运维自动化方向初到高级在线课程分享...
  10. 股票涨跌停的买卖问题
  11. 计算机一级wps视频教程,计算机一级WPS
  12. PLSQL和ORACLE客户端安装
  13. Red Giant Trapcode Suite 16 for Mac(红巨星粒子插件)
  14. 【EDA】8 路彩灯控制器设计与实现
  15. 正则表达式提取身份证号码
  16. c语言编程求广义逆矩阵,求大神解答求广义逆矩阵的问题 拜谢了!!
  17. 视频二维码在线生成器怎么用?
  18. 【JZOJ6091】唐时月夜
  19. win系统设置定时开机
  20. 中山大学计算机软件专业,【广州日报】中山大学在珠海校区新成立人工智能学院和软件工程学院...

热门文章

  1. 出现NullPointerException原因
  2. 多路转接(IO复用)接口介绍
  3. PhiloGL学习(6)——深情奉献:快乐的一家
  4. JavaScript事件冒泡、事件捕获和阻止默认事件
  5. 深度学企业linux awk命令详解与应用(下篇)
  6. phpMyAdmin 3.4.3正式版拨开云雾见青天
  7. 我所了解的羌族之三:羌族服饰
  8. zabbix template pg_monz for PostgreSQL
  9. Linux命令之ifconfig命令
  10. C++ 使用哈希表封装模拟实现unordered_map unordered_set