Linux – 查看系统信息

  1. 概述
    1. 查看系统的 信息
      1. 一些 相对静态 的信息
  2. 背景
    1. 一直想写, 但是没来得及整理
    2. 每次要用的时候, 都慌里慌张的到处找
    3. 这次把他记下来
  3. 环境
    1. CentOS 7
      1. 下面有些方法, 可能是 centos 限定, 如果其他系统不能用, 麻烦试下别的方法…

1. Linux 系统

  1. 概述
    1. 查看 系统 相关的信息
  2. 内核版本 与 发行版本
    1. 概述
      1. 区别 内核版本 和 发行版本
    2. 名字
      1. 内核
        1. kernel
      2. 发行版
        1. distribution
    3. 区别
      1. 内核
        1. 系统的核心
        2. 进程调度
        3. 内存分配
        4. 等等功能
      2. 发行版
        1. 基于 内核
        2. 添加了一些 额外的功能
        3. 有一个 自己的名字

1. 内核信息: uname

  1. 概述
    1. 使用 uname 命令查看内核信息
  2. uname
    1. 概述
      1. print system information
      2. 不知道为啥, 每次看到这个, 我总会想到 username
        1. 虽然它确实可以查看 hostname
        2. 但实际上不是
    2. 例子
      # 查看 内核名称
      > uname -s
      # 查看 内核版本
      > uname -r
      # 查看 内核发布时间
      > uname -v
      # 查看 内核平台
      > uname -p
      # 查看 一堆信息, 不想麻烦的, 直接用这个
      > uname -a
      # 查看 节点名称
      > uname -n
      

2. 内核信息: /proc

  1. 概述
    1. 查看 内核信息
  2. 命令
    > cat /proc/version
    

3. 系统版本: /etc

  1. 概述
    1. 查看 系统版本
  2. 命令
    # 进入 /etc, 查找 带有 release 的文件, 你会发现好些东西
    # 下面是查看 发行版 信息的方式
    > cat os-release
    > cat system-release
    > cat centos-release
    # 当然其他几个也行, 我就不多说了
    

4. 系统版本: lsb_release

  1. 概述
    1. 查看 发行版 版本
  2. lsb
    1. 概述
      1. linux 下的一个标准
      2. 目的是, 增强 linux 发行版的 兼容性
        1. 方便软件开发与传播
    2. ref
      1. LSB 简介
        1. 我也看不大懂
        2. posix 是其中的一部分…
  3. 安装
    > yum install -y lsb
    
  4. 命令
    # 还有其他的命令
    # 数据来源, 其实就是之前 etc 下的 release 系列文件
    > lsb_release -a
    

2. cpu

  1. 概述
    1. 查看 cpu 信息

1. 查看 cpu 信息: /proc/cpuinfo

  1. 概述
    1. 查看 /proc/cpuinfo 里的 cpu 信息
  2. 命令
    # 字段
    # physical id: 物理cpu id
    # cpu cores: cpu 物理核心数
    # cpu cores: 逻辑核心数
    > cat /proc/cpuinfo
    

2. 查看 cpu 信息: lscpu

  1. 概述
    1. 查看 cpu 信息的命令
  2. lscpu
    1. 本质
      1. 一个叫做 util-linux 的工具集
    2. 安装
      # centos 里自带
      > yum install -y util-linux
      
  3. 使用
    # 默认信息比较全面
    # 当然还有 选项, 但是我不细说了
    > lscpu
    

3. 内存

  1. 概述
    1. 查看内存信息

1. 查看内存信息: /proc/meminfo

  1. 命令
    # 信息比较多, 不细说了
    > cat /proc/meminfo
    

2. 查看内存信息: lsmem

  1. 命令
    > lsmem
    

4. 硬盘

1. 查看硬盘信息: lsblk

  1. 命令
    > lsblk
    

2. 查看磁盘信息: fdisk

  1. 概述
    1. 使用 fdisk 查看硬盘信息
  2. 注意
    1. 这本来是个 分区工具
      1. 不要手滑把硬盘数据搞没了
  3. 命令
    > fdisk -l 
    

3. 查看磁盘信息: parted

  1. 概述
    1. 使用 parted 查看硬盘信息
  2. 注意
    1. 这本来是个 分区工具
      1. 不要手滑把硬盘数据搞没了
  3. 命令
    # 进入 交互命令行
    > parted 
    # 查看
    > print
    # 查看子分区
    > print list
    # 退出
    > quit
    

5. 网络

1. 查看网络信息: ifconfig

  1. 命令
    > ifconfig 
    

2. 查看网络信息: ip

  1. 命令
    > ip a
    

ps

  1. ref
    1. what is the difference between linux version and kernel version?
    2. Linux查看物理CPU个数、核数、逻辑CPU个数
      1. 这个作者是个 什么鬼
        1. 排名 56
        2. 写了 1700 多篇
        3. 结果好多都是 辣鸡
  2. /proc
    1. 这是个 神奇的目录
      1. 感觉这里有好多 硬件的信息
      2. 回头看看到底是个啥
  3. getconf LONG_BIT
    1. 据说这个命令, 可以查看 当前系统 cpu, 是否运行在 64 位模式
  4. cut
    1. 小工具, 低配 awk
  5. ls
    1. 输入 ls 后按 tab, 可以发现各种各样的 ls
      1. 感觉好强大的样子
  6. 其他
    1. 还有其他的硬件
      1. 比如 pci, 因为用得少, 我就没有写了
    2. 还有其他的一些 运行时 的动态信息
      1. 这个以后会慢慢补充
        1. cpu 使用率
        2. top
        3. lsof
        4. netstat
    3. 还有其他比较底层的东西
      1. cgroup
      2. namespace
      3. firewall
# uname -a # 查看内核/操作系统/CPU信息 
# head -n 1 /etc/issue # 查看操作系统版本 
# cat /proc/cpuinfo # 查看CPU信息 
# hostname # 查看计算机名 
# lspci -tv # 列出所有PCI设备 
# lsusb -tv # 列出所有USB设备 
# lsmod # 列出加载的内核模块 
# env # 查看环境变量资源 
# free -m # 查看内存使用量和交换区使用量 
# df -h # 查看各分区使用情况 
# du -sh <目录名> # 查看指定目录的大小 
# grep MemTotal /proc/meminfo # 查看内存总量 
# grep MemFree /proc/meminfo # 查看空闲内存量 
# uptime # 查看系统运行时间、用户数、负载 
# cat /proc/loadavg # 查看系统负载磁盘和分区 
# mount | column -t # 查看挂接的分区状态 
# fdisk -l # 查看所有分区 
# swapon -s # 查看所有交换分区 
# hdparm -i /dev/hda # 查看磁盘参数(仅适用于IDE设备) 
# dmesg | grep IDE # 查看启动时IDE设备检测状况网络 
# ifconfig # 查看所有网络接口的属性 
# iptables -L # 查看防火墙设置 
# route -n # 查看路由表 
# netstat -lntp # 查看所有监听端口 
# netstat -antp # 查看所有已经建立的连接 
# netstat -s # 查看网络统计信息进程 
# ps -ef # 查看所有进程 
# top # 实时显示进程状态用户 
# w # 查看活动用户 
# id <用户名> # 查看指定用户信息 
# last # 查看用户登录日志 
# cut -d: -f1 /etc/passwd # 查看系统所有用户 
# cut -d: -f1 /etc/group # 查看系统所有组 
# crontab -l # 查看当前用户的计划任务服务 
# chkconfig –list # 列出所有系统服务 
# chkconfig –list | grep on # 列出所有启动的系统服务程序 
# rpm -qa # 查看所有安装的软件包
# df -lh     #查看硬盘大小及使用量