10个超实用的CentOS网络和监控命令

网络和监控命令类似于这些: hostname, ping, ifconfig, iwconfig, netstat, nslookup, traceroute, finger, telnet, ethtool 用于查看linux服务器ip地址,管理服务器网络配置,通过 telnet 和ethernet建立与linux之间的网络链接,查看linux的服务器信息等。下面让我们看看在Linux下的网络和监控命令的使用。

  1. hostname

  hostname 没有选项,显示主机名字

  hostname –d 显示机器所属域名

  hostname –f 显示完整的主机名和域名

  hostname –i 显示当前机器的ip地址

  2. ping

  ping 将数据包发向用户指定地址。当包被接收,目标机器发送返回数据包。ping 主要有两个作用:

  用来确认网络连接是畅通的。

  用来查看连接的速度信息。

  如果你 ping www.yahoo.com 它将返回它的ip地址 。你可以通过 ctrl+C 来停止命令。

  3. ifconfig

  查看用户网络配置。它显示当前网络设备配置。对于需要接收或者发送数据错误查找,这个工具极为好用。

  4. iwconfig

  iwconfig 工具与 ifconfig 和ethtool类似。是用于无线网卡的 . 你可以用他查看设置基本的Wi-Fi 网络信息,例如 SSID, channel和encryption.还有其他很多配置你也可以查看和修改,, 包括 接收灵敏度, RTS/CTS, 发送数据包的分片大小,以及无线网卡的重传机制。

  5. nslookup

  nslookup 这个命令在 有ip地址时,可以用这个命令来显示主机名,可以找到给定域名的所有ip地址。而你必须连接到互联网才能使用这个命令。

  例子:nslookup blogger.com。你也可以使用 nslookup 从ip获得主机名或从主机名获得ip。

  6. traceroute

  一个方便的工具。可用来查看数据包在提交到远程系统或者网站时候所经过的路由器的IP地址、跳数和响应时间。同样你必须链接到互联网才能使用这个命令。

  7. finger

  查看用户信息。显示用户的登录名字、真实名字以及登录终端的名字和登录权限。这是unix一个很老的命令,现在已很少使用了。

  8. telnet

  通过telnet协议连接目标主机,如果telnet连接可以在任一端口上完成即代表着两台主机间的连接良好。

  telnet hostname port – 使用指定的端口telnet主机名。这通常用来测试主机是否在线或者网络是否正常。

  9. ethtool

  ethtool允许你查看和更改网卡的许多设置(不包括Wi-Fi网卡)。你可以管理许多高级设置,包括tx/rx、校验及网络唤醒功能。下面是一些你可能感兴趣的基本命令:

  ethtool -i 显示一个特定网卡的驱动信息,检查软件兼容性时尤其有用

  ethtool -p 启动一个适配器的指定行为,比如让适配器的LED灯闪烁,以帮助你在多个适配器或接口中标识接口名称

  ethtool -s 显示网络统计信息

  ethtool speed <10|100|1000> 设置适配器的连接速度,单位是Mbps

  10. netstat

  发现主机连接最有用最通用的Linux命令。你可以使用”netstat -g”查询该主机订阅的所有多播组(网络)

  netstat -nap | grep port 将会显示使用该端口的应用程序的进程id

  netstat -a or netstat –all 将会显示包括TCP和UDP的所有连接

  netstat –tcp or netstat –t 将会显示TCP连接

  netstat –udp or netstat –u 将会显示UDP连接

  netstat -g 将会显示该主机订阅的所有多播网络。

服务器监控命令

想不想知道你的服务器到底在干什么?那么你要知道本文介绍的这些基本命令。一旦你熟悉掌握了这些命令,就为成为专业的 Linux系统管理员打下了基础。

  你可以通过图形化用户界面(GUI)程序来获取这些外壳命令提供的大量信息,具体取决于使用哪一种Linux发行版。比如说,SUSE Linux就有一款出色的、图形化配置和管理工具YaST,KDE的KDE System Guard同样很出色。

  不过,Linux管理员要明白的一个常理是:只有绝对必要时,才应该在服务器上运行GUI。那是由于,Linux GUI耗用系统资源,而这些资源原本可以更合理地用在其他地方。所以,尽管使用GUI程序很适合对服务器健康状况做一个基本的检查,但是如果你想知道到底发生了什么,请关闭GUI,开始从Linux命令外壳使用这些工具。

  这还意味着,只要在需要时,你才应该在服务器上开启GUI;不用的时候,就及时关掉。为了确保性能最佳,Linux服务器应该在运行级别(runlevel)3下运行,这个运行级别完全支持网络和多个用户,但是在机器启动时,又不开启GUI。如果你果真需要图形化桌面,总是可以从外壳提示符下运行startx,获得图形化桌面。

  如果你的服务器启动后进入到图形化桌面,就需要更改这种情况。为此,进入到终端窗口,使用su命令切换到root用户,然后用你常用的编辑器打开/etc/inittab文件。

  一旦进入到文件里面,找到initdefault这一行,将id:5:initdefault:改为id:3:initdefault:。

  要是没有/etc/inittab文件,就创建一个,并添加id:3这一行。保存后退出。下次你启动进入服务器时,它会启动进入到运行级别3。如果你不想在进行这种更改后重启,也可以用命令init 3,立即设置服务器的运行级别。

  一旦你的服务器在init 3下运行,就可以开始使用下列外壳程序,看看你的服务器里面出现了什么情况。

1. iostat

  iostat 命令详细地显示了存储子系统方面的情况。你通常用iostat来监控存储子系统总体上运行状况如何,并且在用户注意到服务器运行缓慢之前提早发现输入/输出缓慢的问题。相信我,你应该在用户发现这些问题之前先发现这些问题!

2. meminfo和free

  meminfo为你详细显示了内存方面的情况。你通常可以使用另一个程序,比如cat和grep,来访问meminfo的信息。比如说,cat /proc/meminfo为你详细显示了服务器的内存在任何一个时间的使用情况。

  如果想快速了解内存的概要信息,可以使用free命令。简而言之,free为你提供了概要信息;meminfo为你提供了详细信息。

3. mpstat

  mpstat命令可以报告多处理器服务器上每个可用处理器的活动情况。如今,由于多核处理器,这个命令适用于几乎所有服务器。mpstat还可以报告所有服务器上的处理器的平均活动情况。它让你能够按照系统或按照处理器来显示总的处理器统计信息。这个概要信息可以在潜在的应用程序问题惹毛用户之前提醒你注意。

4. netstat

  netstat与ps一样,也是Linux管理员每天都使用的Linux工具。它显示了与网络有关的大量信息,比如套接口使用情况、路由、接口、协议、网络统计信息及更多信息。最常用的一些选项如下:

  -a 显示套接口的所有信息

  -r 显示路由信息

  -i 显示网络接口的统计信息

  -s 显示网络协议的统计信息

5. nmon

  nmon是Nigel’s Monitor的简称,这款广受欢迎的开源工具用来监控Linux系统的性能。nmon可以监控多个子系统的性能信息,比如处理器使用率、内存使用率、运行队列的信息、磁盘输入/输出统计信息、网络输入/输出统计信息、内存分页活动和进程衡量指标。然后,你可以通过curses“图形化”界面,查看nmon的实时系统衡量结果。

想运行nmon,你可以从外壳来启动该工具。一旦启动,只要输入单键命令,就可以选择要监控的子系统。比如说,想获得处理器、内存和磁盘等方面的统计信息,只要分别输入c、m和d。也可以使用带-f标志的nmon,将性能统计信息保存到CSV文件中,以便日后分析。

  就日常的服务器监控而言,我觉得nmon是我的Linux系统管理工具包中最有用的一个程序。

6. pmap

  pmap命令用来报告服务器的进程所使用的内存量。你可以用这个工具来确定服务器上哪些进程被分配了内存、这些进程中有谁在大量使用内存。

7. ps和pstree

  ps和pstree这两个命令是Linux系统管理员的两个得力助手。它们都能以列表的形式显示所有目前在运行的进程。ps可以告诉你服务器的程序在使用多少的内存和处理器时间。pstree显示的信息比较少,但着重表明了哪些进程是其他进程的子进程。掌握了这些信息,你就能发现失控的进程,然后用Linux“不留活口”的kill命令,来终止这些进程。

8. sar

  sar程序好比是系统监控工具领域的瑞士军刀。sar命令实际上由三个程序组成:显示数据的sar、收集数据的sa1以及保存数据的sa2。一旦安装完毕,sar就能生成详细的概要信息,显示处理器使用率、内存分页活动、网络输入/输出和传输方面的统计信息、进程创建活动以及磁盘设备活动。sar和nmon的一大区别在于,前者更适合长期监控系统,我觉得nmon则比较适合帮助我快速查看服务器的运行状况。

9. strace

  strace 经常被认为是程序员的调试工具,但它的功用不仅仅用来调试。它可以截获和记录进程调用系统的情况。因而,它是一个实用的诊断、教学和调试工具。比如说,你可以使用strace来查出某个程序在启动时实际上使用哪个配置文件。

  不过strace的确有一个缺陷。它在检查某个进程时,该进程的性能会一落千丈。因而,只有在我已经有极其充分的理由认为某个程序引起问题的情况下,才使用strace。

10. tcpdump

  tcpdump是一个简单而可靠的网络监控实用工具。其基本的协议分析功能让你能够粗略查看网络上的情况。不过想真正深入分析网络方面的情况,你应该使用Wireshark(下面有介绍)。

11. top

  top命令显示了活动进程方面的情况。默认情况下,它显示了服务器上运行的最消耗处理器的任务,而且每5秒钟就刷新一次列表。你还可以按多个标准对进程进行分类,比如PID(进程ID);年限,最新的列在最前面;时间,按累计时间;以及驻留内存使用情况和自启动以来一直使用处理器的总时间。我觉得它提供了一种快速而简易的方法,便于查看有没有进程开始即将失控、带来问题。

12. uptime

  uptime可用来查看某台服务器运行了多久、有多少个用户登录上去。它还显示了服务器平均负载的概要信息。负载的最佳值是1或更小,这意味着每个进程可以立即访问处理器、不存在处理器周期丢失的情况。

13. vmstat

  大体上来说,你可以使用vmstat来监控虚拟内存方面的情况。Linux不断使用虚拟内存,以获得最佳的存储性能。

  如果你的应用程序在占用过多的内存,你就会遇到频繁被换出内存(page-out)的情况——即程序从内存进入到系统硬驱上的交换空间。你的服务器可能会进入到这个阶段:花在管理内存分页上的时间比花在运行应用程序上的时间还多——这种情况被称为抖动(thrashing)。当你的电脑抖动时,性能就一落千丈。Vmstat可以显示平均的数据或实际样本,可以帮助你发觉大量耗用内存的程序和进程,以免它们导致服务器运行起来如同蜗牛缓行。

14. Wireshark

  Wireshark之前名为Ethereal(而且现在仍经常这么叫),是tcpdump的同类工具,不过它更为高级,拥有先进得多的协议分析和报告功能。Wireshark既有GUI界面,又有外壳界面。如果你从事专业级的网络管理工作,只能使用ethereal。而如果你在使用Wireshark/ethereal,我强烈建议阅读Chris Sander所著的《实用数据包分析》(Practical Packet Analysis),该书深入浅出地介绍了如何最充分地利用这款实用程序。

  本文只是从总体上概述了一些Linux最有价值的系统监控程序。不过,如果你熟练掌握了这些程序,就为成为顶尖的 Linux系统管理员打下了基础。

linux 系统管理命令整理相关推荐

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

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

  2. Linux 常用命令整理(Centos7) (时区/正则/sed/htop/screen/ln/awk/……)

    目录 Linux 常用命令整理(Centos7) (附加正则.时区.git等) 一.系统查询常用命令: 1.文件中空格制表符替换sed 2.查看宿主机的用户名密码 3.last .w.lastb 查看 ...

  3. Linux常用命令,Linux常用命令整理

    Linux常用命令一般可以分为很多种,比如查看硬件信息相关命令就有8个,分别是ifconfig.free.fdisk.ethtool.mii-tool.dmidecode.dmesg.lspci,用于 ...

  4. linux最简单的命令,Linux 简单命令整理

    Linux系统是一种开源高稳定性的操作系统,在服务器领域得到广泛的应用.作为一个Java后台开发工程师经常需要登录Linux服务器部署应用程序,或者是查看程序的运行状态.一般的Linux服务器上是不会 ...

  5. linux常用命令整理分类

    linux常用命令整理分类 快捷入口 命令帮助指令 开机关机指令 linux 文件权限 linux 文件操作 linux 文件内容查阅 指令和文件的搜索 文件系统 压缩文件 Shell script ...

  6. gdbstub中的基本命令_程序员应该知道的 20 个 Linux 系统管理命令

    在充满新工具和多样化开发环境的世界中,任何开发人员或工程师都必须学习一些基本的系统管理命令,以下这 20 个基本的系统管理命令可以帮助开发人员排除故障.优化应用程序.提供重要的系统信息等,是每个程序员 ...

  7. Linux系统管理命令大全

    1.adduser命令 Linux adduser命令用于新增使用者帐号或更新预设的使用者资料. adduser 与 useradd 指令为同一指令(经由符号连结 symbolic link). 使用 ...

  8. Linux 系统管理命令集合

    运行环境是Ubuntu  16.0.4,联网安装相关命令,同时记录常见命令fdisk.df.top.free等,命令格式的详细参数等,可以参考help或者man. 一.查看硬盘或者文件信息 1.fdi ...

  9. Linux常用命令整理(适合初学)

    关机.重启操作.帮助文档 1.帮助命令 1.1 help help cd #查看cd命令的帮助信息<help仅支持查看linux内建命令> vim --help #查看vim命令的帮助信息 ...

最新文章

  1. 题目1174:查找第K小数
  2. Neo4j:空值如何工作?
  3. HashMap 与 ConcurrentHashMap
  4. linux_ls命令详解
  5. 杭州市政府数据容灾集中备份业务整体外包(2009)项目招标公告
  6. web提升服务器性能,开启一个参数就能让你的WEB性能提升3倍
  7. linux字符模式分辨率grub2,Deepin 15.8系统Grub菜单分辨率低的原因及解决方案
  8. Java设计模式学习总结(15)——行为型模式之责任链模式
  9. 人人都可做 AI 开发者,云知声 AI 开放平台重磅上线
  10. kafka计算机专业读法_终于知道Kafka为什么这么快了!
  11. matlab如何根据历年gdp找增长规律,人均gdp增长率_中国历年gdp数据图解 中国历年gdp增长率及人均GDP 1978年 2016年...
  12. [spring源码学习]一、IOC简介
  13. 面向对象-基础语法讲解(案例-烤地瓜、搬家具)
  14. 【UE4】给游戏制作一个简易的小地图
  15. 2022最新版40个前端练手项目【附视频+源码】
  16. 【C语言】变量被重复定义
  17. 更改C盘用户名的惨痛教训
  18. PPT基础(三十)图片的特殊效果
  19. C++ 求最大公因数
  20. 乘幂法计算矩阵主特征值和特征向量-Matlab实现

热门文章

  1. sqlserver中判断表或临时表是否存在
  2. websphere 内存溢出处理
  3. Access restrictions on Jars
  4. 查看unlix服务器host文件,php代码优化及php相关问题总结
  5. gdb工作原理(一)
  6. leetcode算法题--石子游戏
  7. python实现WordCount(第三次作业)
  8. 使用估算器、tf.keras 和 tf.data 进行多 GPU 训练
  9. jconsole观察分析Java程序的运行,进行排错调优
  10. Android 应用程序集成FaceBook 登录及二次封装