[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. Node.js 包管理器 NPM 讲解

    包管理器又称软件包管理系统,它是在电脑中自动安装.配制.卸载和升级软件包的工具组合,在各种系统软件和应用软件的安装管理中均有广泛应用.对于我们业务开发也很受益,相同的东西不必重复去造轮子. 每个工具或 ...

  2. 运行ASP.NET程序(4)

    运行ASP.NET程序有两种方式: 直接点击如图标志的按钮可直接运行,还可以选择浏览器 第二种:F5 两者没区别,看个人习惯

  3. java面试-谈谈你对OOM的理解

    一.OOM(OutOfMemoryError): 对象无法释放或无法被垃圾回收,造成内存浪费,导致程序运行速度减慢,甚至系统崩溃等严重后果,就是内存泄漏.多个内存泄漏造成可使用内存变少,会导致内存溢出 ...

  4. 201871030108-冯永萍 实验三 结对项目—《D{0-1}KP 实例数据集算法实验平台》项目报告

    实验三 软件工程结对项目 项目 内容 课程班级博客链接 https://edu.cnblogs.com/campus/xbsf/2018CST 这个作业要求链接 https://www.cnblogs ...

  5. 2020-BUAA OO-面向对象设计与构造-第三单元总结

    Part-1 JML总结 Section-1 理论基础 The Java Modeling Language (JML) is a behavioral interface specification ...

  6. 记一次在virtualbox中安装windows7遇到增强功能安装分辨率的问题

    在windows7中遇到很多次安装好增强功能后并不能对其实现放大分辨率,使其跟随虚拟机界面大小而改变. 经过许多次的安装和恢复快照,发现了在设置中,显存的大小一直都是处于边缘的状态, 关闭虚拟机后,我 ...

  7. Digit Counting UVA - 1225

    ​ Trung is bored with his mathematics homeworks. He takes a piece of chalk and starts writing a sequ ...

  8. L'ane Trotro(小驴托托) 67集法语字幕+11集无字幕 百度云

    <小驴托托>(L'ane Trotro)是法国经典的少儿动画片,讲述了小驴托托的生活,它的对白浅显易懂,非常适合法语初学者培养语感以及学习日常表达. 百度云链接自取:https://pan ...

  9. Vue3发布半年我不学,摸鱼爽歪歪,哎~就是玩儿

    是从 Vue 2 开始学基础还是直接学 Vue 3 ?尤雨溪给出的答案是:"直接学 Vue 3 就行了,基础概念是一模一样的." 以上内容源引自最新一期的<程序员>期刊 ...

  10. 【Spring】SpringIoC大致流程

    目录 SpringIoC 是什么? 类图 大致过程 源码分析 SpringIoC 是什么? ​ 官方文档的解释是:IoC也称为依赖注入(DI).在此过程中,对象仅通过构造函数参数,工厂方法的参数或在构 ...