Linux 基础命令-系统信息查看
Linux 基础命令——系统信息查看详解
在 Linux 系统中,了解和监控系统的状态和性能对系统管理员和开发者来说至关重要。Linux 提供了一组强大的命令,可以帮助我们查看系统信息,包括硬件、操作系统、CPU、内存、存储、网络等。
一、操作系统与内核信息查看
1. uname
—— 查看操作系统和内核信息
uname
命令用于显示有关操作系统和内核的详细信息。
-
查看操作系统类型:
$ uname Linux
-
查看内核版本:
$ uname -r 5.4.0-66-generic
-
显示所有系统信息:
$ uname -a Linux hostname 5.4.0-66-generic #74-Ubuntu SMP Fri Feb 19 10:29:21 UTC 2021 x86_64 x86_64 x86_64 GNU/Linux
2. lsb_release
—— 查看 Linux 发行版信息
lsb_release
命令用于查看 Linux 发行版的相关信息,如发行版名称、版本号等。
-
查看完整的发行版信息:
$ lsb_release -a No LSB modules are available. Distributor ID: Ubuntu Description: Ubuntu 20.04.2 LTS Release: 20.04 Codename: focal
-
只显示发行版的描述信息:
$ lsb_release -d Description: Ubuntu 20.04.2 LTS
3. hostname
—— 查看或设置主机名
hostname
命令用于查看或设置系统的主机名。
-
查看主机名:
$ hostname my-laptop
-
临时设置主机名(仅对当前会话有效):
$ sudo hostname new-hostname
二、CPU 信息查看
1. lscpu
—— 显示 CPU 体系结构信息
lscpu
命令显示 CPU 的详细信息,包括架构、CPU 核心数、线程数等。
$ lscpu
Architecture: x86_64
CPU(s): 4
Model name: Intel(R) Core(TM) i5-8250U CPU @ 1.60GHz
CPU MHz: 1800.000
Virtualization: VT-x
2. cat /proc/cpuinfo
—— 查看详细的 CPU 信息
通过读取 /proc/cpuinfo
文件,可以查看系统中每个 CPU 核心的详细信息。
$ cat /proc/cpuinfo
processor : 0
vendor_id : GenuineIntel
cpu family : 6
model : 158
model name : Intel(R) Core(TM) i5-8250U CPU @ 1.60GHz
cpu MHz : 1800.000
3. top
和 htop
—— 实时查看 CPU 使用情况
-
top
命令实时显示系统中的进程信息和 CPU 使用情况:$ top
-
htop
是top
的增强版,提供了更加直观的界面和更多的功能。它需要安装:$ sudo apt install htop $ htop
三、内存信息查看
1. free
—— 查看内存使用情况
free
命令用于查看系统的内存和交换区的使用情况,输出显示总内存、已用内存、空闲内存等。
-
查看内存使用情况(以 MB 为单位):
$ free -m total used free shared buff/cache available Mem: 7972 1256 5489 156 1226 6321 Swap: 2047 0 2047
-
使用
-h
参数以更加人性化的格式显示:$ free -h total used free shared buff/cache available Mem: 7.8G 1.3G 5.4G 156M 1.2G 6.3G Swap: 2.0G 0B 2.0G
2. vmstat
—— 查看内存、CPU 和 IO 状态
vmstat
命令提供有关内存、虚拟内存、CPU 以及 IO 的详细统计信息。
-
查看系统总体状态:
$ vmstat procs -----------memory---------- ---swap-- -----io---- -system-- ------cpu----- r b swpd free buff cache si so bi bo in cs us sy id wa st 0 0 0 5612828 116736 1254364 0 0 41 12 234 335 1 1 98 0 0
-
实时查看,更新频率为 2 秒:
$ vmstat 2
四、磁盘信息查看
1. df
—— 查看磁盘空间使用情况
df
命令用于查看文件系统的磁盘空间使用情况。
-
查看所有文件系统的磁盘使用情况(以人类可读的方式显示):
$ df -h Filesystem Size Used Avail Use% Mounted on /dev/sda1 50G 20G 28G 42% / tmpfs 7.8G 156M 7.6G 2% /dev/shm
2. du
—— 查看文件或目录的磁盘使用情况
du
(Disk Usage)命令用于查看文件或目录占用的磁盘空间大小。
-
查看当前目录下每个文件和子目录的磁盘使用情况:
$ du -h 4.0K ./Desktop 50M ./Documents
-
查看某个目录的总大小:
$ du -sh /var/log 200M /var/log
五、网络信息查看
1. ifconfig
和 ip
—— 查看网络接口信息
-
ifconfig
命令用于查看和配置网络接口的 IP 地址、子网掩码等信息:$ ifconfig eth0 Link encap:Ethernet HWaddr 00:0c:29:68:22:33 inet addr:192.168.1.100 Bcast:192.168.1.255 Mask:255.255.255.0
-
ip
命令提供了更强大的网络配置和查看功能:$ ip addr 2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000 inet 192.168.1.100/24 brd 192.168.1.255 scope global dynamic eth0
2. netstat
和 ss
—— 查看网络连接状态
-
netstat
命令用于查看网络连接、路由表、接口状态等信息:$ netstat -tuln Active Internet connections (only servers) Proto Recv-Q Send-Q Local Address Foreign Address State tcp 0 0 0.0.0.0:80 0.0.0.0:* LISTEN udp 0 0 0.0.0.0:123 0.0.0.0:*
-
ss
命令是netstat
的替代工具,执行速度更快:$ ss -tuln Netid State Recv-Q Send-Q Local Address:Port Peer Address:Port tcp LISTEN 0 128 *:80 *:* udp UNCONN 0 0 *:123 *:*
3. ping
—— 测试网络连通性
ping
命
令用于测试本机与目标 IP 地址之间的连通性,通常用来判断网络是否正常。
$ ping google.com
PING google.com (142.250.190.78) 56(84) bytes of data.
64 bytes from ord37s34-in-f14.1e100.net (142.250.190.78): icmp_seq=1 ttl=57 time=11.2 ms
4. traceroute
—— 路由跟踪
traceroute
命令用于显示从本机到目标主机所经过的网络路径。
$ traceroute google.com
traceroute to google.com (142.250.190.78), 30 hops max, 60 byte packets
1 192.168.1.1 (192.168.1.1) 1.231 ms 1.012 ms 1.021 ms
2 10.250.45.1 (10.250.45.1) 3.081 ms 2.951 ms 3.066 ms
六、硬件信息查看
1. lshw
—— 查看详细的硬件信息
lshw
命令列出系统的详细硬件信息,包括 CPU、内存、主板、磁盘等。
$ sudo lshw
2. lsblk
—— 查看块设备信息
lsblk
命令用于显示系统中所有的块设备(如硬盘、分区等)信息。
$ lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
sda 8:0 0 50G 0 disk
├─sda1 8:1 0 49G 0 part /
└─sda2 8:2 0 1G 0 part [SWAP]
3. dmidecode
—— 查看 BIOS 和硬件信息
dmidecode
命令读取系统的 DMI 表,提供有关硬件组件的信息。
$ sudo dmidecode
七、总结
在 Linux 中,通过各种命令可以轻松查看和监控系统的运行状态和硬件配置。这些命令涵盖了从操作系统信息、CPU、内存到磁盘、网络的所有方面,为系统管理员和开发者提供了强大的工具来分析和维护系统。熟练掌握这些命令不仅有助于系统故障排查,还能帮助进行系统优化。