linux服务器信息查询,linux服务器配置查询命令
- 综合资讯
- 2024-10-01 10:21:35
- 6

***:主要涉及Linux服务器相关查询内容。一方面是Linux服务器信息查询,这有助于了解服务器整体的运行状况、资源使用等多方面信息;另一方面着重于Linux服务器配...
***:本文主要涉及linux服务器相关内容。重点为linux服务器的信息查询以及配置查询命令。这些命令对于管理员管理服务器、获取服务器状态(如硬件资源使用情况、软件安装信息等)至关重要,可帮助深入了解服务器的运行环境、资源分配等情况,从而高效地进行维护、优化及故障排查工作。
《Linux服务器配置查询全攻略:从基础到高级的查询命令解析》
一、引言
在Linux服务器的管理与维护工作中,查询服务器配置信息是一项至关重要的任务,无论是了解硬件资源状况、软件安装情况,还是网络配置等方面,都需要通过特定的命令来获取准确的信息,这有助于系统管理员优化服务器性能、排查故障以及进行安全评估等工作。
二、硬件相关配置查询
1、CPU信息查询
lscpu命令
lscpu
是一个非常方便的查询CPU信息的命令,执行lscpu
后,会显示诸如CPU的架构(如x86_64)、CPU核心数(包括物理核心数和逻辑核心数)、CPU的频率(包含最小、最大频率等信息)、缓存大小等,在输出结果中,“Architecture: x86_64”表明服务器采用的是x86 - 64架构;“CPU(s): 8”表示服务器共有8个逻辑CPU核心,如果服务器支持超线程技术,逻辑核心数可能是物理核心数的两倍。“CPU MHz: 2200.000”显示了CPU的主频为2200MHz,还能看到关于各级缓存(如L1d cache、L1i cache、L2 cache和L3 cache)的大小信息,缓存大小对于CPU的性能有着重要影响,较大的缓存可以提高数据读取速度。
cat /proc/cpuinfo命令
- 这是一种查看CPU详细信息的传统方式。/proc/cpuinfo
是一个虚拟文件系统中的文件,包含了每个CPU核心的详细信息,每一行以“processor”开头的部分表示一个CPU核心的信息,vendor_id”字段显示了CPU的制造商,如“GenuineIntel”表示英特尔公司制造;“model name”字段给出了CPU的具体型号,Intel(R) Xeon(R) CPU E5 - 2650 v4 @ 2.20GHz”,从中可以获取CPU的型号和基本频率,通过统计“processor”的行数,可以知道服务器上的CPU核心数量,还可以查看诸如“flags”字段,它包含了CPU支持的特性标志,如“avx”(Advanced Vector Extensions)等,这些特性对于一些特定的软件应用(如科学计算软件)有着重要意义。
2、内存信息查询
free命令
free
命令用于显示系统内存的使用情况,包括总内存、已使用内存、空闲内存、共享内存和缓存等信息,执行free -h
(以人类可读的格式输出)后,会看到类似如下的结果:“total used free shared buff/cache available”,然后是具体的数值。“Mem: 16G 3.5G 8.5G 100M 4.0G 12G”,这里“Mem”表示内存,“total”是总内存大小为16GB,“used”是已使用的内存量为3.5GB,“free”是空闲内存量为8.5GB,“shared”是共享内存量为100MB,“buff/cache”是缓存和缓冲区的内存量为4.0GB,“available”表示可用于新进程的内存量为12GB,通过这个命令,管理员可以快速了解服务器内存的总体使用状态,判断是否需要增加内存或者优化内存使用的程序。
cat /proc/meminfo命令
- 类似于/proc/cpuinfo
,/proc/meminfo
文件包含了内存的详细信息,MemTotal”字段表示系统的总内存大小,以字节为单位;“MemFree”表示空闲内存大小;“Buffers”是缓冲区内存大小,主要用于磁盘块设备数据的临时存储;“Cached”是缓存内存大小,用于存储从磁盘读取的数据副本以提高下次读取的速度,还有“SwapTotal”和“SwapFree”分别表示交换空间(虚拟内存)的总量和空闲量,交换空间在物理内存不足时会被使用,不过过度使用交换空间会导致系统性能下降,管理员可以根据这些详细信息深入分析内存的使用模式,例如判断是否存在内存泄漏等问题。
3、磁盘信息查询
df命令
df
命令用于查看文件系统的磁盘空间使用情况,执行df -h
(以人类可读格式)后,会列出每个挂载点的信息。“Filesystem Size Used Avail Use% Mounted on”,然后是具体的文件系统信息,如“/dev/sda1 50G 20G 30G 40% /”表示根目录(“/”)挂载在/dev/sda1
这个磁盘分区上,磁盘分区大小为50GB,已使用20GB,可用30GB,使用率为40%,通过这个命令,可以快速了解各个文件系统的磁盘空间占用情况,及时发现磁盘空间不足的问题,对于需要存储大量数据的服务器来说非常重要。
fdisk -l命令
fdisk -l
用于列出系统中的磁盘分区表信息,它会显示每个磁盘设备的详细信息,包括磁盘的大小、分区的起始和结束位置、分区类型(如Linux、Windows等不同的分区类型)等,对于一个磁盘设备/dev/sda
,它可能会显示出该磁盘有几个分区,如/dev/sda1
、/dev/sda2
等,以及每个分区的大小(以扇区为单位,同时也可以换算成常见的GB、MB等单位)和分区的类型标识(如83表示Linux分区),这个命令有助于管理员在进行磁盘管理操作(如重新分区、添加新的分区等)之前,全面了解磁盘的现有分区结构。
lsblk命令
lsblk
命令以树状结构列出块设备信息,包括磁盘、分区、RAID设备等,它不仅显示设备的名称(如/dev/sda
)、大小,还显示设备之间的挂载关系,它可以清晰地显示出/dev/sda1
挂载在/
根目录下,/dev/sda2
可能挂载在/home
目录下等信息,还能显示设备是否为可移动设备等特性,这对于快速了解整个服务器的存储设备布局和挂载情况非常有用。
三、软件相关配置查询
1、已安装软件包查询(基于Debian/Ubuntu系统)
dpkg -l命令
- 在Debian和Ubuntu系统中,dpkg -l
命令用于列出系统中已安装的所有软件包,输出结果包含软件包的名称、版本、描述等信息,对于“nginx”软件包,可能会显示“ii nginx 1.14.0 - 0ubuntu1.6 all HTTP(S) server, HTTP(S) reverse proxy and IMAP/POP3 proxy server”,ii”表示软件包的状态(“i”表示已安装,“n”表示未安装等),“nginx”是软件包名称,“1.14.0 - 0ubuntu1.6”是软件包的版本号,后面是软件包的简要描述,通过这个命令,管理员可以快速查看系统中安装了哪些软件包,以便进行软件版本管理、软件依赖关系检查等操作。
2、已安装软件包查询(基于CentOS/RHEL系统)
yum list installed命令
- 在CentOS和RHEL系统中,yum list installed
命令用于列出已安装的软件包,它会显示软件包的名称、版本、仓库来源等信息。“httpd - 2.4.6 - 97.el7.centos.x86_64 @base”,httpd”是软件包名称,“2.4.6 - 97.el7.centos.x86_64”是版本号,“@base”表示软件包来自于“base”仓库,这个命令有助于管理员在CentOS/RHEL系统中了解已安装的软件情况,方便进行软件升级、卸载等操作。
3、服务状态查询
systemctl status命令(适用于systemd系统)
- 在使用systemd作为初始化系统的Linux发行版(如CentOS 7及以上、Ubuntu 15.04及以上等)中,systemctl status
命令用于查询服务的状态,要查询“httpd”服务的状态,可以执行“systemctl status httpd”,输出结果会显示服务是否正在运行、启动时间、最近的日志信息等,如果服务正在运行,会显示“Active: active (running)”,并给出一些关于服务进程的详细信息,如进程ID等,如果服务出现故障,还可以从日志信息中获取错误提示,以便进行故障排查。
service命令(适用于传统的init系统)
- 在较旧的使用init系统的Linux发行版中,如CentOS 6等,可以使用service
命令来查询服务状态。“service httpd status”会显示“httpd (pid 1234) is running...”之类的信息,表示httpd服务正在运行,并且给出了进程的PID,这个命令对于在传统系统中管理服务状态非常有用。
四、网络相关配置查询
1、网络接口信息查询
ifconfig命令
- 虽然ifconfig
在一些现代的Linux发行版中逐渐被ip
命令所替代,但它仍然是一个广泛使用的查询网络接口信息的命令,执行ifconfig
会显示每个网络接口(如eth0
、lo
等)的信息,对于eth0
接口,会显示其IP地址(如“inet addr:192.168.1.100”)、子网掩码(如“Mask:255.255.255.0”)、MAC地址(如“HWaddr 00:11:22:33:44:55”)等信息,还能看到接口的状态(如“UP”表示接口已启用,“DOWN”表示接口未启用)、接收和发送的数据包数量等统计信息,这些信息对于网络故障排查(如检查IP地址配置是否正确、网络连接是否正常等)非常重要。
ip addr show命令
ip addr show
是ip
命令的一个子命令,用于显示网络接口的详细地址信息,它以更详细和现代的格式显示网络接口的IP地址、子网掩码、网络范围等信息,对于eth0
接口,它可能会显示“2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000 link/ether 00:11:22:33:44:55 brd ff:ff:ff:ff:ff:ff inet 192.168.1.100/24 brd 192.168.1.255 scope global eth0 valid_lft forever preferred_lft forever”,其中除了IP地址和MAC地址等基本信息外,还显示了网络接口的状态(如“UP,LOWER_UP”)、最大传输单元(“mtu 1500”)、排队规则(“qdisc pfifo_fast”)等更多细节信息。
2、网络路由信息查询
route -n命令
route -n
命令用于查看系统的网络路由表,它会显示目的网络、网关、子网掩码和网络接口等信息。“Destination Gateway Genmask Flags Metric Ref Use Iface”,然后是具体的路由信息,如“0.0.0.0 192.168.1.1 0.0.0.0 UG 0 0 0 eth0”表示默认路由,目的网络为“0.0.0.0”(所有网络),网关为“192.168.1.1”,通过“eth0”接口进行转发,通过查看路由表,管理员可以了解网络流量的转发路径,在网络连接出现问题时(如无法访问外部网络),可以检查路由配置是否正确。
ip route show命令
- 这是使用ip
命令查看路由信息的方式,它以类似于route -n
的方式显示路由信息,但格式可能略有不同。“default via 192.168.1.1 dev eth0 proto static metric 0”表示默认路由通过“192.168.1.1”网关,使用“eth0”接口,协议为“static”,度量值为“0”。ip route show
还可以显示更复杂的路由规则,如基于源地址的路由等。
3、网络连接状态查询
netstat -an命令
netstat -an
命令用于显示网络连接、监听端口等信息,它会显示TCP和UDP协议的连接状态,对于TCP连接,会显示连接的本地地址和端口、远程地址和端口以及连接的状态(如“ESTABLISHED”表示已建立连接,“LISTEN”表示正在监听端口等)。“tcp 0 0 127.0.0.1:22 127.0.0.1:56788 ESTABLISHED”表示本地回环地址127.0.0.1的22端口与同一地址的56788端口建立了TCP连接,对于UDP协议,会显示本地地址和端口以及对应的远程地址和端口(如果有的话),这个命令对于检查服务器上的网络服务是否正常监听端口、是否存在异常的网络连接等非常有用。
ss -an命令
ss -an
命令是netstat -an
的替代命令,在现代Linux系统中,它具有更快的执行速度,它同样显示网络连接和监听端口的信息,格式与netstat -an
类似。“tcp LISTEN 0 128 *:22 *:*”表示正在监听22端口,等待TCP连接,通过ss -an
命令,管理员可以快速了解服务器的网络连接状态,特别是在高负载的服务器上,它能够更高效地获取所需信息。
五、系统信息查询
1、系统版本查询
lsb_release -a命令
- 在大多数Linux发行版中,lsb_release -a
命令用于查询系统的发行版相关信息,它会显示发行版的ID(如“Ubuntu”、“CentOS”等)、发行版的版本号(如“18.04”、“7.9”等)、描述信息等,在Ubuntu系统中,执行lsb_release -a
可能会显示“Distributor ID: Ubuntu”,“Release: 18.04”,“Codename: bionic”等信息,这个命令有助于管理员快速确定服务器运行的Linux发行版及其版本,以便针对特定版本进行软件安装、配置等操作。
cat /etc/os - release命令
- 这个命令也是查询系统版本信息的一种方式。/etc/os - release
文件包含了关于操作系统的发行版、版本等信息,在CentOS系统中,可能会显示“NAME="CentOS Linux",VERSION="7 (Core)",ID="centos"等信息,这种方式与lsb_release -a
类似,但在某些情况下,/etc/os - release
文件可能包含更详细或者更适合特定发行版的信息。
2、系统运行时间查询
uptime命令
uptime
命令用于显示系统的运行时间、当前登录用户数以及系统负载等信息。“12:34:56 up 10 days, 3:45, 5 users, load average: 0.10, 0.05, 0.01”,12:34:56”是当前时间,“up 10 days, 3:45”表示系统已经运行了10天3小时45分钟,“5 users”表示当前有5个用户登录,“load average: 0.10, 0.05, 0.01”表示系统在过去1分钟、5分钟和15分钟的平均负载,系统负载是衡量系统繁忙程度的一个重要指标,通过uptime
命令,管理员可以快速了解系统的运行状态和负载情况。
六、用户与权限相关配置查询
1、用户信息查询
id命令
id
命令用于显示用户的身份信息,包括用户ID(UID)、组ID(GID)以及用户所属的组信息,执行id user1
(假设存在名为“user1”的用户)可能会显示“uid = 1000(user1) gid = 1000(user1) groups = 1000(user1), 4(adm), 24(cdrom),...”,这里“uid = 1000(user1)”表示用户“user1”的UID为1000,“gid = 1000(user1)”表示其GID为1000,后面列出了用户所属的其他组,这个命令对于了解用户的基本身份信息、权限设置等非常有用。
cat /etc/passwd命令
/etc/passwd
文件包含了系统中所有用户的基本信息,每行代表一个用户,格式为“用户名:密码占位符:UID:GID:用户描述:用户主目录:登录Shell”。“root:x:0:0:root:/root:/bin/bash”表示“root”用户,密码占位
本文链接:https://www.zhitaoyun.cn/108764.html
发表评论