[内容] Linux 硬件信息的显示 (处理器、内存、硬盘和其他硬件信息)

内容一:显示处理器信息

1.1 显示处理器进程 (虚拟核心) 数

# cat /proc/cpuinfo | egrep "core id|physical id|processor" | tr -d "\n" | sed s/processor/\\nprocessor/g | sed 's/physical/     physical/' | sed 's/core/     core/' | grep -v ^$ | wc -l

1.2 显示处理器物理核心数

# cat /proc/cpuinfo | egrep "core id|physical id" | tr -d "\n" | sed s/physical/\\nphysical/g | grep -v ^$ | sort | uniq | wc -l

1.3 显示物理封装处理器 (处理器 socket) 数

# cat /proc/cpuinfo | grep "physical id" | sort | uniq | wc -l

1.4 显示处理器的详细信息

# lscpu

或者:

# cat /proc/cpuinfo

(补充链接:Linux 处理器详细信息的显示 (显示 /proc/cpuinfo 文件里的信息)

内容二:显示内存信息

2.1 显示内存使用情况

# free -m

(注意:这里显示的内存会比真实的硬件内存大小小一点)

2.2 显示内存详细信息

# cat /proc/meminfo

2.3 显示内存的总大小

# memunit=`dmidecode -t memory | egrep -i 'Size:' | egrep -i 'kb|mb|gb' | egrep -v -i 'Volatile|Maximum|Memory|Installed|Enabled' | awk '{print $NF}' | head -1`;memsize=`dmidecode -t memory | egrep -i 'Size:' | egrep -i 'kb|mb|gb' | egrep -v -i 'Volatile|Maximum|Memory|Installed|Enabled' | awk 'BEGIN{memtotal=0}{memtotal+=$2}END{print memtotal}'`; echo "$memsize $memunit"

内容三:显示硬盘信息

3.1 显示硬盘使用情况

# df -h

3.2 显示硬盘信息

# lsblk

3.3 显示硬盘总大小

# disksizeb=`lsblk -b | egrep -iv '\/|SWAP|NAME' | awk '$1!~/[0-9]/' | egrep 'disk' | awk 'BEGIN{disktotal=0}{disktotal=disktotal+$4}END{print disktotal}'`;let disksizek=$disksizeb/1024;let disksizem=$disksizek/1024;let disksizeg=$disksizem/1024;echo "$disksizeg GB"

内容四:显示其他硬件的信息

4.1 显示其他所有硬件的信息

# dmesg

4.2 显示某 1 个硬件的信息

# dmesg | grep -i mouse

(补充:这里以显示鼠标信息的方法为例)

[命令] Linux 命令 date (管理系统时间)

内容一:显示当前时间

1.1 显示当前时间的格式

1.1.1 显示系统当前年份
# date +%Y
1.1.2 显示系统当前月份
1.1.2.1 以数字显示
# date +%m
1.1.2.2 以英文月份缩写显示
# date +%b
1.1.3 显示系统当前日期
# date +%d

或者:

# date +%e
1.1.4 显示系统当前小时
# date +%H
1.1.5 显示系统当前分钟
# date +%M
1.1.6 显示系统当前小时和分钟,并以冒号 “:” 相隔
# date +%R
1.1.7 显示系统当前秒钟
# date +%S
1.1.8 显示系统当前处于每周的第几天
# date +%w
1.1.9 显示从 1970 年 1 月 1 日 0 点 0 分到目前为止的秒数,作用相当于 time 函数
# date +%s

1.2 显示当前时间的案例

# date +%Y-%m-%d-%H
2019-02-08-06

(补充:这里以横杠 “-” 自定义为时间单位的间隔符为力)

内容二:显示过去时间的案例

2.1 显示系统 10 秒钟前的时间

# date +%Y-%m-%d-%H-%M-%S -d "-1 second"

或者:

# date +%Y-%m-%d-%H-%M-%S -d "-1 seconds"

或者:

# date +%Y-%m-%d-%H-%M-%S -d "1 second ago"

或者:

# date +%Y-%m-%d-%H-%M-%S -d "1 seconds ago"

(补充:这里以横杠 “-” 自定义为时间单位的间隔符为力)

2.2 显示系统 10 分钟前的时间

# date +%Y-%m-%d-%H-%M-%S -d "-1 minute"

或者:

# date +%Y-%m-%d-%H-%M-%S -d "-1 minutes"

或者:

# date +%Y-%m-%d-%H-%M-%S -d "1 minute ago"

或者:

# date +%Y-%m-%d-%H-%M-%S -d "1 minutes ago"

(补充:这里以横杠 “-” 自定义为时间单位的间隔符为力)

2.3 显示系统 1 个小时前的时间

# date +%Y-%m-%d-%H -d "-1 hour"

或者:

# date +%Y-%m-%d-%H -d "-1 hours"

或者:

# date +%Y-%m-%d-%H -d "1 hour ago"

或者:

# date +%Y-%m-%d-%H -d "1 hours ago"

(补充:这里以横杠 “-” 自定义为时间单位的间隔符为力)

2.4 显示系统昨天的时间

# date +%Y:%m:%d:%H -d "-1 day"

或者:

# date +%Y:%m:%d:%H -d "-1 days"

或者:

# date +%Y:%m:%d:%H -d "1 day ago"

或者:

# date +%Y:%m:%d:%H -d "1 days ago"

(补充:这里以冒号 “:” 自定义为时间单位的间隔符为力)

2.5 显示系统 2 个月前的时间

# date +%Y-%m-%d-%H -d "-2 month"

或者:

# date +%Y-%m-%d-%H -d "-2 months"

或者:

# date +%Y-%m-%d-%H -d "2 month ago"

或者:

# date +%Y-%m-%d-%H -d "2 months ago"

(补充:这里以大写字母 “T” 自定义为时间单位的间隔符为力)

2.6 显示系统 3 年前的时间

# date +%Y-%m-%d-%H -d "-3 year"

或者:

# date +%Y-%m-%d-%H -d "-3 years"

或者:

# date +%Y-%m-%d-%H -d "3 year ago"

或者:

# date +%Y-%m-%d-%H -d "3 years ago"

(补充:这里以横杠 “-” 自定义为时间单位的间隔符为力)

内容三:显示未来时间的案例

3.1 显示系统 10 秒钟后的时间

# date +%Y-%m-%d-%H-%M-%S -d "+1 second"

或者:

# date +%Y-%m-%d-%H-%M-%S -d "+1 seconds"

或者:

# date +%Y-%m-%d-%H-%M-%S -d "1 second"

或者:

# date +%Y-%m-%d-%H-%M-%S -d "1 seconds"

(补充:这里以横杠 “-” 自定义为时间单位的间隔符为力)

3.2 显示系统 10 分钟后的时间

# date +%Y-%m-%d-%H-%M-%S -d "+1 minute"

或者:

# date +%Y-%m-%d-%H-%M-%S -d "+1 minutes"

或者:

# date +%Y-%m-%d-%H-%M-%S -d "1 minute"

或者:

# date +%Y-%m-%d-%H-%M-%S -d "1 minutes"

(补充:这里以横杠 “-” 自定义为时间单位的间隔符为力)

3.3 显示系统 1 个小时后的时间

# date +%Y-%m-%d-%H -d "+1 hour"

或者:

# date +%Y-%m-%d-%H -d "+1 hours"

或者:

# date +%Y-%m-%d-%H -d "1 hour"

或者:

# date +%Y-%m-%d-%H -d "1 hours"

(补充:这里以横杠 “-” 自定义为时间单位的间隔符为力)

3.4 显示系统明天的时间

# date +%Y-%m-%d-%H -d "+1 day"

或者:

# date +%Y-%m-%d-%H -d "+1 days"

或者:

# date +%Y-%m-%d-%H -d "1 day"

或者

# date +%Y-%m-%d-%H -d "1 days"

(补充:这里以横杠 “-” 自定义为时间单位的间隔符为力)

3.5 显示系统 2 个月后的日期

# date +%Y-%m-%d-%H -d "+2 month"

或者:

# date +%Y-%m-%d-%H -d "+2 months"

或者:

# date +%Y-%m-%d-%H -d "2 month"

或者:

# date +%Y-%m-%d-%H -d "2 months"

(补充:这里以横杠 “-” 自定义为时间单位的间隔符为力)

3.6 显示系统 3 年后的日期

# date +%Y-%m-%d-%H -d "+3 year"

或者:

# date +%Y-%m-%d-%H -d "+3 years"

或者:

# date +%Y-%m-%d-%H -d "3 year"

或者:

# date +%Y-%m-%d-%H -d "3 years"

(补充:这里以横杠 “-” 自定义为时间单位的间隔符为力)

内容四:指定格式显示时间的案例

4.1 以横杠 “-” 作为间隔显示时间

# date +%Y-%m-%d-%H

4.2 以空格 “ ” 作为间隔显示时间

# date +%Y" "%m" "%d" "%H

内容五:显示以 1970 年 1 月 1 日 为基准到现在的绝对时间的案例

# nowtime=`date -d now +"%b %d %H:%M:00"`
# date -d "$nowtime" +%s

或者:

# date -d "`date -d now +"%b %d %H:%M:00"`" +%s

内容六:修改系统时间的案例

# date -s “20101010 10:10:10”

或者:

# date -s "2010-10-10 10:10:10"

或者:

# date -s "2010/10/10 10:10:10"

或者:

# date -s "10/10/2010 10:10:10"

或者:

# date -s "10:10:10 20101010"

(补充:这里以将系统日期设置为 2010 年 10 月 10 日 10 点 10 分 10 秒为例)

[内容] Linux 命令行模式常用快捷键

内容一:移动光标

1) 同时按下 “ctrl” 键和 “a” 键,将光标移动到其所在命令行的开头
2) 同时按下 “ctrl” 键和 “e” 键,将光标移动到其所在命令行的结尾
3) 同时按下 “ctrl” 键和 “左方向” 键,将光标左移 1 个单词
4) 同时按下 “ctrl” 键和 “右方向” 键,将光标右移 1 个单词

内容二:删除内容

1) 同时按下 “ctrl” 键和 “u” 键,将光标以左的所有内容清空,并将光标移动到其所在行的最左端
2) 同时按下 “ctrl” 键和 “k” 键,将光标以右的所有内容清空,并将光标移动到其所在行的最右端
3) 同时按下 “ctrl” 键和 “w” 键,将光标前面的 1 个单词删除
4) 同时按下 “ctrl” 键和 “d” 键,将光标后面的 1 个字符删除
5) 同时按下 “alt” 键和 “d” 键,将光标后面的 1 个单词删除
6) 同时按下 “ctrl” 键和 “l” 键,将光标所在屏幕里的所有内容清除

内容三:放弃内容

同时按下 “ctrl” 键和 “c” 键,将光标所在命令行里的所有内容放弃,同时也会中断正在执行的命令

内容四:复制内容

同时按下 “esc” 键和 “.” 键,在当前光标所在位置复制上 1 条命令执行的参数

[内容] Linux 软件的查找

内容一:显示所有可安装软件的方法

1.1 CentOS&RHEL 显示所有可安装软件的方法

# yum list all

1.2 openSUSE&SUSE 显示所有可安装软件的方法

# zypper search

或者:

# zypper se

内容二:寻找某个可安装软件的方法

2.1 CentOS&RHEL 通过某个命令查找软件的方法

# yum -y provides <commands to use the software>

2.2 CentOS&RHEL 查找某个可安装软件的方法

# yum search <software>

或者:

# yum se <software>

2.3 openSUSE&SUSE 通过某个命令查找软件的方法

# command-not-found <commands to use the software>

2.4 openSUSE&SUSE 查找某个可安装软件的方法

# zypper se <software>

[工具] Shell 检测性能指标 (例如:剩余硬盘空间、内存空间等)

介绍

基本信息

名称: 检测性能指标(例如:剩余硬盘空间、内存空间等)
作用: 检测性能指标(例如:剩余硬盘空间、内存空间等)

使用方法

1. 给此脚本添加执行权限
2. 执行此脚本

脚本

#!/bin/bash

ip=`ip a s | awk '/[1-2]?[0-9]{0,2}\.[1-2]?[0-9]{0,2}/&&!/127.0.0.1/{print $2}'`
host=`hostname`
disk=`df -h | awk '/\/$/{print $5}'`
mem=`free -m | awk '/Mem/{print $4}'`
cpu=`top -bn 1 | awk -F',' '/^%Cpu/{print $4 }' | awk '{print $1}'`
soft=`rpm -qa | wc -l`
port=`ss -ntulap | wc -l`

echo "$ip $host disk $disk"
echo "$ip $host mem $mem"
echo "$ip $host cpu $cpu"
echo "$ip $host soft $soft"
echo "$ip $host port $port"
echo