Linux系统命令与网络、磁盘参数和日志监控命令

目录

基础命令和工具

grep搜索字符

find查找文件

uptime机器启动时间+负载

ulimit用户资源  

curl http  

dos2unix和unix2dos

sed字符替换

查看活动进程的命令  

ps进程信息

top:进程cpu内存信息

pidstat进程资源

内存命令 

free内存

CPU使用情况监控命令

vmstat  

mpstat CPU信息

监控磁盘I/O的命令 

iostat IO状态

df 硬盘使用情况

du目录文件大小

查看网络信息和网络监控的命令  

ifconfig查看和设置网络设备

ping

telnet

nc

nslookup 

netstat

tcpdump  

proc文件系统 



基础命令和工具

grep搜索字符

grep 命令用于在文件中执行关键词搜索,并显示匹配的效果。部分常用选项

-c 仅显示找到的行数

-i  忽略大小写

-n 显示行号

-v 反向选择 – 仅列出没有关键词的行。v 是 invert 的缩写。

-r 递归搜索文件目录

-C n 打印匹配行的前后n行

 eg:在build.sh文件中查找work_path关键字,并忽略大小写

grep -i work_path build.sh

在多个文件中搜索

grep -i work_path build.sh Makefile

 也可以使用通配符,在当前目录下所有以sh结尾的文件中查找work_path关键字

grep -i work_path *.sh
递归搜索目录下所有文件, 搜索 msg_server目录下所有文件,打印出包含 login的行。
 
grep login ‐r msg_server/

反向查找,查找文件中,不包含 hello 的行。  

grep ‐v login ImUser.cpp
找出文件中包含 login的行,打印出行号,并显示前后3行
grep ‐C 3 ‐n login ImUser.cpp

 找出文件中包含 login的行,打印出行号,并显示前后3行,并忽略大小写

grep ‐C 3 ‐i ‐n login ImUser.cpp

find查找文件

 通过文件名查找文件的所在位置,文件名查找支持模糊匹配

 find [指定查找目录] [查找规则] [查找完后执行的action]

 常用的操作:

find . ‐name FILE_NAME 
find /etc ‐maxdepth 1 ‐name passwd ##查找/etc/下名称中带有passwd的文件,查找一层  
find /mnt ‐size 20K ##查找/mnt文件大小近似20k的文件 
find /mnt ‐size +20K ##查找/mnt文件大小大于20k的文件 
find /mnt ‐size ‐20K ##查找/mnt文件大小小于20k的文件 
find /etc ‐maxdepth 2 ‐mindepth 2 ‐name *.conf ##查找/etc/下名称中带有*.conf的文件,且只查找第二层 
find /mnt ‐type d ##按type查找/mnt中目录 
find /mnt ‐type f ##按type查找/mnt中文件 
find /mnt ‐cmin 10 ##查找/mnt中十分钟左右修改的 
find /mnt ‐cmin +10 ##查找/mnt中十分钟以上修改的 
find /mnt ‐cmin ‐10 ##查找/mnt中十分钟以内修改的 
find /mnt ‐ctime 10 ##查找/mnt中十天左右修改的 
find /mnt ‐ctime +10 ##查找/mnt中十天以上修改的 
find /mnt ‐ctime ‐10 ##查找/mnt中十天以内修改的

uptime机器启动时间+负载

 查看机器的启动时间、登录用户、平均负载等情况

[luosifan@elk datas]$ uptime
 14:46:37 up 12 days,  5:52, 12 users,  load average: 2.18, 1.89, 1.08

从上面的输出可以看到如下信息
当前时间:14:46:37
系统已经运行的时间:12天5小时52分钟
前在线用户:12
系统平均负载:2.18 , 1.89, 1.08,为最近1分钟、5分钟、15分钟的系统负载情况。

系统的平均负载是指在特定的时间间隔内队列中运行的平均进程数。如果一个进程满足以条件,它就会位于运行队列中。 
1.它没有在等待I/O操作的结果。
2.它没有主动进入等待状态(也就是没有调用'wait'相关的系统API ) 
3.没有被停止(例如:等待终止)。
   
如果每个CPU内核的当前活动进程数不大于3的话,那么系统的性能是良好的。 如果每个CPU内核的任务数大于5,那么这台机器的性能有严重问题。 如果你的linux主机是1个双核CPU的话,当Load Average 为6的时候说明机器已经被充分使用了。

ulimit用户资源  

Linux系统对每个登录的用户都限制其最大进程数和打开的最大文件句柄数。为了提高性能,可以根据硬件资源的具体情况设置各个用户的最大进程 数和打开的最大文件句柄数。可以用ulimit -a来显示当前的各种系统对用户使用资源的限制: 

[luosifan@elk datas]$ ulimit -a
core file size          (blocks, -c) 0
data seg size           (kbytes, -d) unlimited
scheduling priority             (-e) 0
file size               (blocks, -f) unlimited
pending signals                 (-i) 61918
max locked memory       (kbytes, -l) 64
max memory size         (kbytes, -m) unlimited
open files                      (-n) 1024
pipe size            (512 bytes, -p) 8
POSIX message queues     (bytes, -q) 819200
real-time priority              (-r) 0
stack size              (kbytes, -s) 8192
cpu time               (seconds, -t) unlimited
max user processes              (-u) 4096
virtual memory          (kbytes, -v) unlimited
file locks                      (-x) unlimited

设置用户的最大进程数: ulimit -u 1024

设置用户可以打开的最大文件句柄数: ulimit -n 65530 

curl http  

由于当前的线上服务较多地使用了RESTful风格的API,所以集成测试就需要进行HTTP调用,查看返回的结果是否符合预期,curl命令当然是首选的 测试方法。 使用方式: 

curl ‐i "http://www.sina.com" # 打印请求响应头信息 
curl ‐I "http://www.sina.com" # 仅返回http头 
curl ‐v "http://www.sina.com" # 打印更多的调试信息 
curl ‐verbose "http://www.sina.com" # 打印更多的调试信息 
curl ‐d 'abc=def' "http://www.sina.com" # 使用post方法提交http请求 
curl ‐sw '%{http_code}' "http://www.sina.com" # 打印http响应码

dos2unixunix2dos

用于转换Windows和UNIX的换行符,通常在Windows系统h开发的脚本和配置,UNIX系统下都需要转换。 使用方式: 

dos2unix test.txt 2 
unix2dos test.txt 34 
find . -type f -exec dos2unix {} \; #转换整个目录
find ./ ­type f 此命令是显示当前目录下所有的文件

sed字符替换

命令格式1:sed 's/原字符串/新字符串/' 文件 
命令格式2:sed 's/原字符串/新字符串/g' 文件 
这两种命令格式的区别在于是否有个“g”。没有“g”表示只替换第一个匹配到的字符串,有“g”表示替换所有能匹配到的字符串,“g”可以认 为是“global”(全局的)的缩写,没有“全局的”结尾就不要替换全部,

查看活动进程的命令  

ps进程信息

ps用于显示系统内的所有进程。
-l参数采用详细的格式来显示进程状况。 常用方式:ps ­elf 和ps ­ef

输出
[luosifan@elk datas]$ ps -elf
F S UID        PID  PPID  C PRI  NI ADDR SZ WCHAN  STIME TTY          TIME CMD
4 S root         1     0  0  80   0 - 48500 ep_pol Oct12 ?        00:12:14 /usr/lib/systemd/systemd --switched-root --
1 S root         2     0  0  80   0 -     0 kthrea Oct12 ?        00:00:00 [kthreadd]
1 S root         4     2  0  60 -20 -     0 worker Oct12 ?        00:00:00 [kworker/0:0H]
1 S root         6     2  0  80   0 -     0 smpboo Oct12 ?        00:00:01 [ksoftirqd/0]
1 S root         7     2  0 -40   - -     0 smpboo Oct12 ?        00:00:00 [migration/0]
1 S root         8     2  0  80   0 -     0 rcu_gp Oct12 ?        00:00:00 [rcu_bh]

根据进程的名字或者其他信息,通过grep命令找到目标进程,也可以看到进程启动脚本的全路径。

top:进程cpu内存信息

top命令用于查看活动进程的CPU和内存信息,能够实时显示系统中各个进程的资源占用情况,可以按照CPU、内存的使用情况和执行时间对进程进行排序。
使用方式:top
命令输出:
top
top - 15:03:00 up 12 days,  6:09, 12 users,  load average: 0.00, 0.09, 0.39
Tasks: 305 total,   1 running, 301 sleeping,   3 stopped,   0 zombie
%Cpu(s):  0.0 us,  0.9 sy,  0.0 ni, 99.1 id,  0.0 wa,  0.0 hi,  0.0 si,  0.0 st
KiB Mem : 15878512 total,  5265808 free,  2243356 used,  8369348 buff/cache
KiB Swap:  4063228 total,  3993340 free,    69888 used. 13254740 avail Mem

  PID USER      PR  NI    VIRT    RES    SHR S  %CPU %MEM     TIME+ COMMAND
 2355 luosifan  20   0  162152   2396   1520 R  14.3  0.0   0:00.22 top
    1 root      20   0  194000   4992   2904 S   0.0  0.0  12:14.66 systemd
    2 root      20   0       0      0      0 S   0.0  0.0   0:00.46 kthreadd
    4 root       0 -20       0      0      0 S   0.0  0.0   0:00.00 kworker/0:0H
    6 root      20   0       0      0      0 S   0.0  0.0   0:01.78 ksoftirqd/0
    7 root      rt   0       0      0      0 S   0.0  0.0   0:00.96 migration/0
    8 root      20   0       0      0      0 S   0.0  0.0   0:00.00 rcu_bh
    9 root      20   0       0      0      0 S   0.0  0.0   4:28.68 rcu_sched
   10 root       0 -20       0      0      0 S   0.0  0.0   0:00.00 lru-add-drain
   11 root      rt   0       0      0      0 S   0.0  0.0   0:04.71 watchdog/0
   12 root      rt   0       0      0      0 S   0.0  0.0   0:03.83 watchdog/1


从输出可以看到整体的CPU占用率、CPU负载,以及进程占用CPU和内存等资源的情况。 
我们可以用以下所示的top命令的快捷键对输出的显示信息进行转换。 
t:切换报示进程和CPU状态信息。 
n:切换显示内存信息。 
r:重新设置一个进程的优先级。系统提示用户输人需要改变的进程PID及需要设置的进程优先级,然后输入个正数值使优先级降低,反之则可以 使该进程拥有更高的优先级,即是在原有基础上进行相加,默认优先级的值是100 
k:终止一个进程,系统将提示用户输入需要终止的进程PID
s:改变刷新的时间间隔。 
u:查看指定用户的进程。


pidstat进程资源

pidstat用于监控全部或指定的进程占用系统资源的情况,包括CPU、内存、磁盘I/O、程切换、线程数等数据。
-­u:表示查看cpu相关的性能指标 ­
-w:表示查看上下文切换情况 
-­t:查看线程相关的信息,默认是进程的;常与­w结合使用(cpu的上下文切换包括进程的切换、线程的切换、中断的切换) ­
-d:展示磁盘 I/O 统计数据 
-­p:指明进程号 
使用方式:pidstat [option] interval [count] 
使用范例:pidstat ­urd ­p 进程号

[luosifan@elk datas]$ pidstat -urd -p 18714
3Linux 3.10.0-1062.7.1.el7.x86_64 (elk)         10/24/2020      _x86_64_        (8 CPU)

# 输出CPU的使用信息 ‐u
03:06:35 PM   UID       PID    %usr %system  %guest    %CPU   CPU  Command
03:06:35 PM     0     18714    0.01    0.00    0.00    0.01     2  docker

# 输出内存的使用信息 ‐r
03:06:35 PM   UID       PID  minflt/s  majflt/s     VSZ    RSS   %MEM  Command
03:06:35 PM     0     18714      0.01      0.00  705612  35788   0.23  docker

# 输出磁盘I/O的使用信息 ‐d
03:06:35 PM   UID       PID   kB_rd/s   kB_wr/s kB_ccwr/s  Command
03:06:35 PM     0     18714      0.00      0.00      0.00  docker

CPU信息
%usr #用户层任务正在使用的CPU百分比(with or without nice priority ,NOT include time spent running a virtual processor) 
%system #系统层正在执行的任务的CPU使用百分比 
%guest #运行虚拟机的CPU占用百分比 
%CPU #所有的使用的CPU的时间百分比 
CPU #处理器数量 
Command #命令 
内存信息
PID #进程号 
minflt/s #每秒次缺页错误次数(minor page faults),次缺页错误次数意即虚拟内存地址映射成物理内存地址产生的page fault次数 
majflt/s #每秒主缺页错误次数(major page faults),当虚拟内存地址映射成物理内存地址时,相应的page在swap中, 这样的page fault为major page fault,一般在内存使用紧张时产生 
VSZ #该进程使用的虚拟内存(以kB为单位) 
RSS #该进程使用的物理内存(以kB为单位) 
%MEM #当前任务使用的有效内存的百分比 
Command #任务的命令名 
磁盘I/O
PID #进程号 
kB_rd/s #每秒此进程从磁盘读取的千字节数 
kB_wr/s #此进程已经或者将要写入磁盘的每秒千字节数 
kB_ccwr/s #由任务取消的写入磁盘的千字节数
Command #命令的名字 上下文切换 
PID #PID号 
cswch/s #每秒自动上下文切换 
nvcswch/s #每秒非自愿的上下文切换 Command #命令

内存命令 

free内存

此命令用于显示系统内存的使用情况,包括总体内存、己经使用的内存;还可用于显示系统内核使用的缓冲区,包括缓冲(buffer)和缓存(cache) 等。
使用方式:free 
命令输出:
[luosifan@elk datas]$ free
              total        used        free      shared  buff/cache   available
Mem:       15878512     2241292     5267604       43604     8369616    13256804
Swap:       4063228       69888     3993340

Mem 行(第二行)是内存的使用情况。 
Swap 行(第三行)是交换空间的使用情况。 
total 列显示系统总的可用物理内存和交换空间大小。 
used 列显示已经被使用的物理内存和交换空间。 
free 列显示还有多少物理内存和交换空间可用使用。 
shared 列显示被共享使用的物理内存大小。 
buff/cache 列显示被 buffer 和 cache 使用的物理内存大小。 
available 列显示还可以被应用程序使用的物理内存大小

free 与 available 
在 free 命令的输出中,有一个 free 列,同时还有一个 available 列。这二者到底有何区别? 
free 是真正尚未被使用的物理内存数量。至于 available 就比较有意思了,它是从应用程序的角度看到的可用内存数量。Linux 内核为了提升磁盘操作的性 能,会消耗一部分内存去缓存磁盘数据,就是我们介绍的 buffer 和 cache。所以对于内核来说,buffer 和 cache 都属于已经被使用的内存。当应用程序需要 内存时,如果没有足够的 free 内存可以用,内核就会从 buffer 和 cache 中回收内存来满足应用程序的请求。所以从应用程序的角度来说,available = free + buffer + cache。请注意,这只是一个很理想的计算方式,实际中的数据往往有较大的误差。
加上 -h 选项
[luosifan@elk datas]$ free -h
              total        used        free      shared  buff/cache   available
Mem:            15G        2.1G        5.0G         42M        8.0G         12G
Swap:          3.9G         68M        3.8G

持续观察内存的状况,此时可以使用 -s 选项并指定间隔的秒数:
[luosifan@elk datas]$ free -h -s 3
              total        used        free      shared  buff/cache   available
Mem:            15G        2.1G        5.0G         42M        8.0G         12G
Swap:          3.9G         68M        3.8G

              total        used        free      shared  buff/cache   available
Mem:            15G        2.1G        5.0G         42M        8.0G         12G
Swap:          3.9G         68M        3.8G

CPU使用情况监控命令

vmstat  

此命令显示关于内核线程、虚拟内存、磁盘I/O 、陷阱和CPU占用率的统计信息。 
使用方式:vmstat
[luosifan@elk datas]$ vmstat
procs -----------memory---------- ---swap-- -----io---- -system-- ------cpu-----
 r  b   swpd   free   buff  cache   si   so    bi    bo   in   cs us sy id wa st
 1  2  69888 1185972      0 12384788    0    0    16    42    1    3  1  0 99  0  0

需要注意如下内容。
buff:是I/O系统存储的磁盘块文件的元数据的统计信息。 
cache:是操作系统用来缓存磁盘数据的缓冲区,操作系统会自动一调节这个参数,在内存紧张时操作系统会减少cache的占用空间来保证其他 进程可用。 
cs:参数表示线程环境的切换次数,此数据太大时表明线程的同步机制有问题。 
si和so较大时,说明系统频繁使用交换区,应该查看操作系统的内存是否够用。
bi和bo代表I/O活动,根据其大小可以知道磁盘I/O的负载情况。

mpstat CPU信息

此命令用于实时监控系统CPU的一些统计信息,这些信息存放在/proc/stat文件中,在多核CPU系统里,不但能查看所有CPU的平均使用信息,还能查看某个特定CPU的信息。 
使用方式:mpstat [­P {cpu|ALL}] [internal [count]] 
当mpstat不带参数时,输出为从系统启动以来的平均值。

[luosifan@elk datas]$ mpstat -P ALL
Linux 3.10.0-1062.7.1.el7.x86_64 (elk)  10/24/2020      _x86_64_        (8 CPU)

03:23:49 PM  CPU    %usr   %nice    %sys %iowait    %irq   %soft  %steal  %guest  %gnice   %idle
03:23:49 PM  all    0.76    0.00    0.40    0.10    0.00    0.01    0.00    0.00    0.00   98.73
03:23:49 PM    0    0.66    0.00    0.19    0.04    0.00    0.01    0.00    0.00    0.00   99.09
03:23:49 PM    1    0.96    0.00    0.75    0.21    0.00    0.01    0.00    0.00    0.00   98.08
03:23:49 PM    2    0.77    0.00    0.43    0.07    0.00    0.00    0.00    0.00    0.00   98.72
03:23:49 PM    3    0.47    0.00    0.22    0.06    0.00    0.00    0.00    0.00    0.00   99.26
03:23:49 PM    4    0.80    0.00    0.21    0.10    0.00    0.00    0.00    0.00    0.00   98.87
03:23:49 PM    5    0.98    0.00    0.73    0.10    0.00    0.00    0.00    0.00    0.00   98.18
03:23:49 PM    6    0.74    0.00    0.44    0.10    0.00    0.00    0.00    0.00    0.00   98.72
03:23:49 PM    7    0.71    0.00    0.27    0.10    0.00    0.03    0.01    0.00    0.00   98.88

我们可以看到每个CPU核心的占用率、I/O等待、软中断、硬中断等。 输出各参数含义:
参数               含义 ­
-P {cpu l ALL}    表示监控哪个CPU, cpu在[0,cpu个数­1]中取值 
internal          相邻的两次采样的间隔时间 
count             采样的次数,count只能和internal一起使用
使用mpstat ­P ALL 5 2命令,表示每5秒产生一个报告,总共产生2个

输出参数含义 
当没有参数时,mpstat则显示系统启动以后所有信息的平均值。有interval时,第一行的信息自系统启动以来的平均信息。从第二行开始,输出为前一 个interval时间段的平均信息。
输出各参数含义:

参数    释义                                                               从/proc/stat获得数据
CPU     处理器ID
%usr    在internal时间段里,用户态的CPU时间(%),不包含 nice值为 负进程      usr/total*100
%nice   在internal时间段里,nice值为负进程的CPU时间(%)                     nice/total*100
%sys    在internal时间段里,核心时间(%)                                   system/total*100
%iowait 在internal时间段里,硬盘IO等待时间(%)                             iowait/total*100
%irq    在internal时间段里,硬中断时间(%)                                 irq/total*100
%soft   在internal时间段里,软中断时间(%)                               softirq/total*100
%steal  显示虚拟机管理器在服务另一个虚拟处理器时虚拟CPU处在非自                steal/total*100
        愿等待下花费时间的百分比 
%guest  显示运行虚拟处理器时CPU花费时间的百分比                              guest/total*100
%gnice                                                                     gnice/total*100
%idle   在internal时间段里,CPU除去等待磁盘IO操作外的因为任何原因             idle/total*100
        而空闲的时间闲置时间(%) 


1.vmstat和mpstat 命令的差别:mpstat 可以显示每个处理器的统计,而 vmstat 显示所有处理器的统计。因此,编写糟糕的应用程序(不使用多线 程体系结构)可能会运行在一个多处理器机器上,而不使用所有处理器。从而导致一个 CPU 过载,而其他 CPU 却很空闲。通过 mpstat 可以轻松诊 断这些类型的问题。
2.vmstat中所有关于CPU的总结都适合mpstat。当您看到较低的 %idle 数字时,您知道出现了 CPU 不足的问题。当您看到较高的 %iowait 数字 时,您知道在当前负载下 I/O 子系统出现了某些问题

监控磁盘I/O的命令 

iostat IO状态

该命令用于监控CPU占用率、平均负载值及I/O读写速度等。 
await指的是平均等待时间,一般都在10ms左右。
[luosifan@elk datas]$ iostat
Linux 3.10.0-1062.7.1.el7.x86_64 (elk)  10/24/2020      _x86_64_        (8 CPU)

avg-cpu:  %user   %nice %system %iowait  %steal   %idle
           0.78    0.00    0.42    0.10    0.00   98.71

Device:            tps    kB_read/s    kB_wrtn/s    kB_read    kB_wrtn
vda               1.19         1.09        10.22    1152806   10842362
scd0              0.00         0.00         0.00       1028          0
sda               6.53       126.05       335.00  133742511  355438644
dm-0              9.20       127.10       345.14  134856689  366197162
dm-1              0.02         0.00         0.08       4748      81636

df 硬盘使用情况

该命令用于查看文件系统的硬盘挂载点和空间使用情况。
使用方式:df ­h
[luosifan@elk datas]$ df -h
Filesystem               Size  Used Avail Use% Mounted on
devtmpfs                 7.6G     0  7.6G   0% /dev
tmpfs                    7.6G     0  7.6G   0% /dev/shm
tmpfs                    7.6G   44M  7.6G   1% /run
tmpfs                    7.6G     0  7.6G   0% /sys/fs/cgroup
/dev/mapper/centos-root  1.1T  391G  645G  38% /
/dev/vda1               1014M  228M  787M  23% /boot
tmpfs                    1.6G     0  1.6G   0% /run/user/1009
tmpfs                    1.6G     0  1.6G   0% /run/user/1006
tmpfs                    1.6G     0  1.6G   0% /run/user/1005
tmpfs                    1.6G     0  1.6G   0% /run/user/1008
tmpfs                    1.6G     0  1.6G   0% /run/user/1003

du目录文件大小

du常用的选项: 
-­h:以人类可读的方式显示,显示M或K ­
-a:显示目录占用的磁盘空间大小,还要显示其下目录和文件占用磁盘空间的大小 
-­s:显示目录占用的磁盘空间大小,不显示其下子目录和文件占用的磁盘空间大小 
-­c:显示几个目录或文件占用的磁盘空间大小,还要统计它们的总和 

du -­a 显示目录和目录下子目录和文件占用磁盘空间的大小。直接使用­-a 以字节为单位,-­ha 如下图以M或K为结果显示。 
du -­s 显示当前所在目录大小 
du -­s -­h home 显示home目录大小 
du -­c 显示几个目录或文件占用的磁盘空间大小,还要统计它们的总和 

查看网络信息和网络监控的命令  

ifconfig查看和设置网络设备

显示网络设备信息:ifconfig

启动关闭指定网卡
# ifconfig eth0 down 
# ifconfig eth0 up

配置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地址,加上子掩码,加上个广播地址

ping

ping命令是用于检测网络故障的常用命令,可以用来钡J试一台主机到另外一台主机的网络是否连通
检测和主机是否连通
ping baidu.com

telnet

telnet是TCP/IP协议族的一员,是网络远程登录服务的标准协议,帮助用户在本地计算机上连接远程主机。 
使用方式:telnet IP PORT 
和ssh的区别 端口区别:telnet是23 ssh是22 
本质:telnet是明码传输,ssh是加密传输

nc

nc是NetCat的简称,在网络调试工具中享有“瑞士军刀”的美誉,此命令功能丰富、短小精悍、简单实用,被设计成一款易用的网络工具,可通过 TCP/LJDP传输数据。

参数
-l 用于指定nc将处于侦听模式。指定该参数,则意味着nc被当作server,侦听并接受连接,而非向其它地址发起连接。 
-p 暂未用到(老版本的nc可能需要在端口号前加-p参数,下面测试环境是centos6.6,nc版本是nc-1.84,未用到-p参数) 
-s 指定发送数据的源IP地址,适用于多网卡机 
-u 指定nc使用UDP协议,默认为TCP
-v 输出交互或出错信息,新手调试时尤为有用 
-w 超时秒数,后面跟数字

nslookup 

这是一款检测网络中DNS服务器能否正确解析域名的工具命令,并且可以输出。 
使用方式: nslookup sina.com
iaoluo@virtual:/opt$ nslookup sina.com
Server:		127.0.0.53
Address:	127.0.0.53#53

Non-authoritative answer:
Name:	sina.com
Address: 66.102.251.24

从输出中可以看到,sina.com域名被正确解析到IP地址66.102.251.24

netstat

此命令显示网络连接、端口信息等

根据进程ID查找进程开启的端口
 netstat ‐nap | grep 24614

根据端口查找进程
根据使用端口的进程号 netstat ­nap | grep 8080

tcpdump  

tcpdump是网络状况分析和跟踪工具,是可以用来抓包的实用命令,使用前需要对TCP/IP有所熟悉,因为过滤使用的信息都是TCP/IP格式。 
显示来源IP或者目的IP为192.168.1.102的网络通信: sudo tcpdump ­i eth0 host 192.168.1.102
显示去往102.168.1.102的所有ftp会话信息:
tcpdump ­i eth1 'dst 192.168.1.102 and (port 21 or 20)' 
显示去往102.168.1.102的所有HTTP会话信息: 
tcpdump ­ni eth0 'dst 192.168.1.102 and tcp and port 8080'

proc文件系统 

Linux系统内核提供了通过/proc文件系统查看运行时内核内部数据结构的能力,也可以改变内核参数设置。
显示CPU信息: cat /proc/cpuinfo 
显示内存信息: cat /proc/meminfo 
显示详细的内存映射信息: cat /proc/zoneinfo 
显示磁盘映射信息: cat /proc/mounts 
查看系统平均负载命令: cat /proc/loadavg

 

 

 

 

你可能感兴趣的:(linux,linux)