[RHEL]-7-常用系统状态检测命令

引言

这篇文章介绍RHEL中最常用的几个系统状态检测命令,包括:网络状态、内存、主机名及其架构、系统负载及其用户登录状态等。

文章目录

0×1.查看网络状态

RHEL6以前系统中最常用的查看网络状态的命令就是ifconfig,下面是这个命令的一些基本用法举例:

01 [root@qingsword.com ~]# ifconfig
02 #eno16777736为网卡的标识名称,inet后是这块网卡的IP地址,子网掩码,广播地址
03 eno16777736:  ..省略部分输出
04   inet 192.168.1.106  netmask 255.255.255.0  broadcast 192.168.1.255
05   ..省略部分输出
06   #ether后是这块网卡的MAC地址
07   ether 00:0c:29:78:31:59  txqueuelen 1000  (Ethernet)
08   #RX packets为这块网卡接收到的数据量
09   RX packets 13099  bytes 14064504 (13.4 MiB)
10   RX errors 0  dropped 0  overruns 0  frame 0
11   #TX packets为这块网卡发送的数据量
12   TX packets 1646  bytes 168262 (164.3 KiB)
13   TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0
14  
15 #系统默认的环回接口
16 lo: flags=73 ..省略部分输出

在RHEL6之前的版本中,有线网卡的网卡号一般为"eth"开头,无线网卡号一般为"wlan"开头,而RHEL7之后的版本中,"en" 前缀代表以太网,"wl"前缀代表无线网卡,"vir" 前缀代表虚拟接口。

ifconfig不仅能用来查看网卡信息,还能用来停用或启用网卡,给网卡配置临时的IP地址(重启失效);
请参考[[Linux实用命令]-12-网络配置浅析]

在RHEL7以上版本中,官方推荐使用ip命令查看和配置网络接口信息,下面是一些常用的ip命令举例;

● 查看IP地址及网卡信息(同ifconfig):

01 #可以简写成ip a
02 [root@qingsword.com ~]# ip addr
03 1: lo: <LOOPBACK,UP,LOWER_UP>
04     link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
05     inet 127.0.0.1/8 scope host lo
06        valid_lft forever preferred_lft forever
07     inet6 ::1/128 scope host
08        valid_lft forever preferred_lft forever
09 2: eno16777736: <BROADCAST,MULTICAST,UP,LOWER_UP>
10    #MAC地址
11     link/ether 00:0c:29:78:31:59 brd ff:ff:ff:ff:ff:ff
12    #inet IP/子网掩码 brd 广播地址
13     inet 192.168.1.106/24 brd 192.168.1.255 scope global dynamic eno16777736
14        valid_lft 4333sec preferred_lft 4333sec
15     inet6 fe80::20c:29ff:fe78:3159/64 scope
16  
17 #单独查看一块网卡
18 [root@qingsword.com ~]# ip addr show eno16777736
19 2: eno16777736:
20  ink/ether 00:0c:29:78:31:59 brd ff:ff:ff:ff:ff:ff
21  inet 192.168.1.106/24 brd 192.168.1.255 scope global dynamic eno16777736
22  valid_lft 6655sec preferred_lft 6655sec
23  inet6 fe80::20c:29ff:fe78:3159/64 scope link
24   valid_lft forever preferred_lft forever

● 查看网卡的接口数据收发统计信息(比ifconfig更详细)

01 [root@qingsword.com ~]# ip -s link
02 1: lo:
03  link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
04  RX: bytes  packets  errors  dropped overrun mcast  
05  980        10       0       0       0       0     
06  X: bytes  packets  errors  dropped carrier collsns
07  980        10       0       0       0       0     
08 2: eno16777736:
09  link/ether 00:0c:29:78:31:59 brd ff:ff:ff:ff:ff:ff
10  #接收到的数据包统计
11  RX: bytes  packets  errors  dropped overrun mcast  
12  9393834    6644     0       0       0       0   
13  #发送出的数据包统计 
14  TX: bytes  packets  errors  dropped carrier collsns
15  87120      1123     0       0       0       0
16  
17 #单独查看一块网卡的数据统计信息
18 [root@qingsword.com ~]# ip -s link show eno16777736

● 显示系统路由表,添加删除路由条目:

01 #显示当前路由表,第一条为默认路由,第二条为局域网路由
02 [root@qingsword.com ~]# ip route show
03 default via 192.168.1.1 dev eno16777736  proto static  metric 1024
04 192.168.1.0/24 dev eno16777736  proto kernel  scope link  src 192.168.1.106
05  
06 ##删除路由条目
07 #删除默认路由
08 [root@qingsword.com ~]# ip route del default via 192.168.1.1
09  
10 #删除普通路由
11 [root@qingsword.com ~]# ip route del 192.168.1.0/24
12  
13 ##添加路由条目
14 #添加一条默认路由(未知网段的数据发往192.168.1.1,设备号为eno16777736)
15 [root@qingsword.com ~]# ip route add default via 192.168.1.1 dev eno16777736
16  
17 #添加一条普通路由(发往192.168.2.0/24网段的数据发往192.168.1.1,设备号为eno16777736)
18 [root@qingsword.com ~]# ip route add 192.168.2.0/24 via 192.168.1.1 dev eno16777736

● 查看ARP列表,绑定与删除ARP

01 #查看本地ARP缓存,命令可简写成ip nei
02 [root@qingsword.com ~]# ip neighbor
03 192.168.1.1 dev eno16777736 lladdr ec:26:ca:01:e3:c2 DELAY
04  
05 #添加静态ARP绑定
06 [root@qingsword.com ~]# ip nei add 192.168.1.23 lladdr 11:11:11:11:11:11 dev eno16777736 nud perm
07  
08 [root@qingsword.com ~]# ip nei
09 192.168.1.23 dev eno16777736 lladdr 11:11:11:11:11:11 PERMANENT
10 192.168.1.1 dev eno16777736 lladdr ec:26:ca:01:e3:c2 REACHABLE
11  
12 #删除ARP条目(必须指定IP与对应的网卡地址)
13 [root@qingsword.com ~]# ip nei del 192.168.1.23 dev eno16777736

0×2.使用uname查看系统版本

当我们需要下载安装一些软件的时候,可能需要先了解自己系统的构架以及内核信息等,这个时候就可以用到uname命令,例如:

1 #这条命令只需要看下面注释的三个部分即可
2 [root@qingsword.com ~]# uname -a
3 Linux qingsword.com(机器名称) 3.10.0-123.el7(内核版本) .x86_64 #1 SMP Mon May 5 11:16:57 EDT 2014 x86_64 x86_64 x86_64(64位系统) GNU/Linux
4  
5 #除此之外,如果想查看RHEL的版本信息,可以查看下面这个文件中的内容
6 [root@qingsword.com ~]# more /etc/redhat-release
7 Red Hat Enterprise Linux Server release 7.0 (Maipo)

0×3.使用uptime命令查看系统负载

系统负载除了可以使用top命令查看外,uptime命令能够将top命令输出中的第一行单独打印出来:

1 [root@qingsword.com ~]# uptime
2 00:51:25 up 9 min,  2 users,  load average: 0.02, 0.52, 0.49

0×4.使用free命令查看内存

free命令能够将top命令输出中的4,5行单独的显示出来:

01 #默认以K为单位
02 [root@qingsword.com ~]# free
03              total       used       free     shared    buffers     cached
04 Mem:       1870784    1069868     800916       9836        924     279848
05 -/+ buffers/cache:     789096    1081688
06 Swap:            0          0          0
07  
08 #以M为单位
09 [root@qingsword.com ~]# free -m
10              total       used       free     shared    buffers     cached
11 Mem:          1826       1044        782          9          0        273
12 -/+ buffers/cache:        770       1056
13 Swap:            0          0          0
14  
15 #人性化输出
16 [root@qingsword.com ~]# free -h
17              total       used       free     shared    buffers     cached
18 Mem:          1.8G       1.0G       781M       9.6M       924K       273M
19 -/+ buffers/cache:       771M       1.0G
20 Swap:           0B         0B         0B

0×5.查看登录终端记录

who命令可以查看当前登录的用户,last可以查看登录的历史记录:

1 #本例中:0为root登录的图形界面,pts/0为图形界面中打开的一个shell窗口
2 [root@qingsword.com ~]# who
3 root  :0  2016-11-14 00:43 (:0)
4 root  pts/0  2016-11-14 00:45 (:0)
5  
6 #使用last命令可以查看所有系统的登入记录,这些记录是保存在文件中的,命令只是查看了文件中的内容,文件内容是可以被篡改的,所以用这条命令来判断系统有没有被非法登录过并不可取
7 [root@qingsword.com ~]# last
8 root  pts/0 :0  Mon Nov 14 00:45 still logged in

0×6.查看当前用户历史命令

history命令可以用于查看当前用户输入过的历史命令列表,并可以直接从历史列表中取出某条命令执行:

01 #查看历史命令列表中的最后三条记录
02 [root@qingsword.com ~]# history | tail -n 3
03   154  history
04   155  who
05   156  history tail -n 3
06  
07 #重新执行第155条命令
08 [root@qingsword.com ~]# !155
09 who
10 root     :0       2016-11-14 00:43 (:0)
11 root     pts/0    2016-11-14 00:45 (:0)
12  
13 #历史命令记录最多可以保存的条目数量是/etc/profile文件中的HISTSIZE变量决定的,我的系统中最多为1000条
14 [root@qingsword.com ~]# more /etc/profile | grep HISTSIZE=
15 HISTSIZE=1000
16  
17 #暂时清空历史命令记录(重启后失效)
18 [root@qingsword.com ~]# history -c
19  
20 #要想真正清空当前用户的命令历史记录,需要清空当前用户家目录中的.bash_history文件中的所有数据
21 [root@qingsword.com ~]# vim ~/.bash_history
22 1000dd
23 :wq

0×7.使用sosreport命令生成诊断包

当我们遇到解决不了的问题时,红帽提供了一个sosreport命令用于收集并生成诊断消息,将收集到的诊断信息(一个压缩包)发送给红帽公司,他们会根据这个压缩包中提供的内容来判断问题的根源,将解决方案发送给你(收费服务):

1 #直接在终端中输入命令,默认三个回车后,开始收集系统信息
2 [root@qingsword.com ~]# sosreport
3 Your sosreport has been generated and saved in:
4 #最后会生成一个tar归档,将这个压缩包发送给红帽技术支持即可
5  /var/tmp/sosreport-qingsword.com-20161114012652.tar.xz

*转载请注明来自:晴刃(QingSword.COM)

*原文连接:http://www.qingsword.com/qing/rhel-7.html

使用sosreport命令生成诊断包的更多相关文章

  1. 转:linux下jar命令与jar包

    原文链接:http://blog.chinaunix.net/uid-692788-id-2681136.htmlJAR包是Java中所特有一种压缩文档,其实大家就可以把它理解为.zip包.当然也是有 ...

  2. 命令行下使用javah命令生成.h文件,出现“错误: 无法访问android.app.Activity 找不到android.app.Activity的类文件”的解决方法

    在学习NDK中,当我在项目的bin/classes目录下使用javah命令生成头文件时,出现了“错误: 无法访问android.app.Activity 找不到android.app.Activity ...

  3. Linux下编译java并生成jar包

    下面是WordCount.java类 package com.ll; import java.io.IOException; import java.util.Iterator; import jav ...

  4. 分布式架构--第一篇--项目拆分(maven命令生成多模块项目)

    预览生成的项目结构: ying-yue-parent // 顶级总编译控制模块 ying-yue-lib // jar模块 ying-yue-model // 模型对象模块 ying-yue-dao ...

  5. jar 命令打war包

    假定有一个Web应用:C:\myHomemyHome/WEB-INF/……myHome/files/……myHome/image/……myHome/src/……myHome/index.jsp在命令行 ...

  6. 源码生成deb包

    方法一 源码包要求是使用 automake 进行编译管理的. 安装路径不能指定为 /usr/local 下的目录,否则生成 deb 包期间报错. 制作的工具是 dh-make ,如果没有安装,要先安装 ...

  7. 在SQL Server中使用命令调用SSIS包

    在SQL Server中可以使用dtexec命令运行SSIS包(2005以上版本),当然也可以通过系统过程:xp_cmdshell调用dtexec运行SSIS包. 具体操作步骤如下: 1.首先,当然是 ...

  8. Android应用公布的准备——生成渠道包

    我们须要使用一个变量标明该app的渠道.通常我们能够在manifest中的application节点下声明.例如以下. <meta-data android:name="CHANNEL ...

  9. Asp.NetCore1.1版本没了project.json,这样来生成跨平台包

    本章将要和大家分享的是Asp.NetCore1.1版本去掉了project.json后如何打包生成跨平台包, 为了更好跟进AspNetCore的发展,把之前用来做netcore开发的vs2015卸载后 ...

随机推荐

  1. Java生鲜电商平台-API接口设计之token、timestamp、sign 具体设计与实现

    转载:https://www.cnblogs.com/jurendage/p/12653865.html 说明:在实际的业务中,难免会跟第三方系统进行数据的交互与传递,那么如何保证数据在传输过程中的安 ...

  2. Python基础(十八):面向对象“类”第一课

    记住:编写函数就是"面向过程",编写类就是"面向对象".类也是很多同学的一大学习难点,因此我这里还是准备带着大家学习一下. 类和对象对比 对象 : 具有行为和属 ...

  3. 二、python学习-函数

    类型判断 1.type()直接获取类型 2.isinstance 用法一:isinstance(值,类型) 返回真或假 用法二:isinstance(值,(类型1,类型2 ...)) 有一个类型满足 ...

  4. Fiddler使用 断点 模拟返回 AutoResponder Mock 模拟数据 相关学习记录

    断点 测试中有时需要改变发出去的请求信息,需要用到打断点的方法.断点包含两种方式: before response:在request请求的时候,未到达服务器之前,一般用来修改请求参数 after re ...

  5. Mysql 添加 create_time, update_time 创建时间 更新时间 自动更新

    # 添加 创建 更新 时间字段 ALTER TABLE `表名` ADD COLUMN `create_time`  datetime NOT NULL DEFAULT CURRENT_TIMESTA ...

  6. 安全高效跨平台的. NET 模板引擎 Fluid 使用文档

    Liquid 是一门开源的模板语言,由 Shopify 创造并用 Ruby 实现.它是 Shopify 主题的主要构成部分,并且被用于加载店铺系统的动态内容.它是一种安全的模板语言,对于非程序员的受众 ...

  7. vue-cli 各文件夹的用途

  8. hdu4118

    题意:       给你一颗无向带权树,每个定点上有一个人,问所有定点都不在自己位置上的最长路径总和是多少..   思路:       其实很简单,贪心的想下,既然要求全局最大,那么对于每一条边用的次 ...

  9. hdu1247 字典树或者hash

    题意:      给你一些串,问你哪些串是由其他两个串连接成的. 思路:        我用了两种方法,一个是hash,hash的时候用map实现的,第二种方法是字典树,字典树我们枚举每个一字符串,查 ...

  10. POJ2553 强连通出度为0的应用

    题意:       给你一个有向图,然后问你有多少个满足要求的点,要求是: 这个点能走到的所有点都能走回这个点,找到所有的这样的点,然后排序输出. 思路:       可以直接一遍强连通缩点,所点之后 ...