菜鸟科技网

系统配置命令有哪些?

在计算机管理和运维工作中,查询系统配置是日常操作的重要组成部分,无论是排查故障、优化性能还是确保安全性,都需要准确掌握系统的当前配置状态,不同的操作系统和场景下,查询系统配置的命令各有不同,本文将详细介绍主流操作系统(如Linux、Windows)中常用的系统配置查询命令,涵盖硬件信息、操作系统版本、网络配置、进程状态、服务状态、磁盘空间、文件系统、用户权限等多个方面,并辅以表格归纳关键命令的使用场景和输出说明,帮助读者快速定位所需信息。

系统配置命令有哪些?-图1
(图片来源网络,侵删)

Linux系统配置查询命令

Linux作为服务器和开发环境的主流系统,提供了丰富的命令行工具来查询系统配置,以下按功能模块分类说明:

系统基本信息与硬件配置

  • uname:显示操作系统和硬件的基本信息。
    常用选项:-a(显示所有信息,包括内核版本、主机名、处理器类型等)、-r(仅显示内核版本)、-m(显示硬件架构,如x86_64)。
    示例:uname -a 输出类似 Linux hostname 5.4.0-91-generic #102-Ubuntu SMP Fri Nov 5 13:21:36 UTC 2021 x86_64 x86_64 x86_64 GNU/Linux,包含内核版本、系统架构等关键信息。

  • lscpu:显示CPU的详细配置,包括架构、核心数、线程数、缓存大小等。
    示例:lscpu 可输出CPU型号(如Model name: Intel(R) Core(TM) i7-9750H)、核心数(CPU(s): 12)、逻辑处理器数(On-line CPU(s) list: 0-11)等。

  • free:查看系统内存使用情况,包括物理内存、交换空间(Swap)。
    选项:-h(以人类可读格式显示,如GB、MB)、-m(以MB为单位)。
    示例:free -h 输出 total used free shared buff/cache available,其中available列表示可用内存,是判断内存压力的重要指标。

    系统配置命令有哪些?-图2
    (图片来源网络,侵删)
  • df:显示文件系统的磁盘空间使用情况。
    选项:-h(人类可读格式)、-T(显示文件系统类型)。
    示例:df -h 列出各挂载点的总空间、已用空间、可用空间及使用率,帮助快速定位磁盘不足的分区。

  • lsblk:列出块设备信息,包括硬盘、分区、挂载点等。
    选项:-f(显示文件系统类型、UUID、挂载点)。
    示例:lsblk -f 输出类似 sda 8:0 0 500G 0 disk └─sda1 8:1 0 500G 0 part /mnt/data,清晰展示磁盘分区结构。

网络配置与连接状态

  • ip:显示和配置网络接口、路由表等信息(取代了传统的ifconfig)。
    常用子命令:ip a(显示所有网络接口的IP地址、MAC地址)、ip link(显示网络接口状态,如UP/DOWN)、ip route(显示路由表)。
    示例:ip a 输出 ens33: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UP group default qlen 1000,包含接口状态和IP地址(如inet 192.168.1.100/24)。

  • netstat:显示网络连接、路由表、接口统计等信息。
    选项:-an(显示所有连接,不解析域名)、-tuln(显示监听的TCP/UDP端口)。
    示例:netstat -tuln 列出当前监听的端口及对应服务,如 tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN 表示SSH服务在22端口监听。

    系统配置命令有哪些?-图3
    (图片来源网络,侵删)
  • ssnetstat的替代工具,速度更快,功能更强大。
    选项:-tulpn(与netstat -tuln类似,但显示进程ID和名称)。
    示例:ss -tulpn 输出 LISTEN 0 511 0.0.0.0:22 0.0.0.0:* users:(("sshd",pid=1234,fd=3)),直接关联到进程。

进程与服务管理

  • ps:显示当前运行的进程。
    选项:-ef(显示所有进程,完整格式)、-aux(显示所有进程,包含CPU/内存使用率)。
    示例:ps -ef 输出进程ID(PID)、父进程ID(PPID)、启动命令(CMD)等,如 root 1234 1 0 10:00 ? 00:00:01 /usr/sbin/sshd -D

  • top/htop:实时显示进程动态,按CPU/内存使用率排序。
    htoptop的增强版,支持彩色显示、交互操作(如 killing 进程),更直观。

  • systemctl:管理systemd系统和服务。
    常用命令:systemctl list-units --type=service(列出所有服务状态)、systemctl status nginx(查看nginx服务状态)、systemctl is-enabled sshd(检查服务是否开机自启)。

用户与权限

  • id:显示当前用户的UID、GID及所属用户组。
    示例:id 输出 uid=1000(user) gid=1000(user) groups=1000(user),27(sudo),显示用户的基本组和其他附加组。

  • whoami:显示当前登录用户名。

  • last:显示用户登录历史记录,包括登录时间、来源IP等。

Windows系统配置查询命令

Windows系统提供了命令提示符(CMD)和PowerShell两种工具,PowerShell功能更强大,推荐优先使用。

系统基本信息与硬件

  • systeminfo:显示详细的系统配置信息,包括操作系统版本、制造商、处理器、内存、网卡等。
    示例:在CMD中运行systeminfo,输出包含 OS 名称: Microsoft Windows 11 专业版处理器: Intel(R) Core(TM) i7-9750H CPU @ 2.60GHz总物理内存: 16 GB 等信息。

  • wmic:Windows Management Instrumentation Command-line工具,可查询硬件和系统信息。
    示例:wmic cpu get name(获取CPU型号)、wmic diskdrive get size,model(获取硬盘大小和型号)、wmic memorychip get capacity(获取内存容量)。

  • tasklist:显示当前运行的进程列表。
    选项:/v(显示详细信息,如会话ID、内存使用)、/svc(显示进程关联的服务)。
    示例:tasklist /svc 输出进程名、PID、关联服务,如 svchost.exe 1236 Services: LanmanWorkstation

网络配置

  • ipconfig:显示网络接口配置信息。
    选项:/all(显示详细信息,包括MAC地址、IP、子网掩码、DNS等)、/release//renew(释放/重新获取IP)。
    示例:ipconfig /all 输出以太网适配器的IPv4地址、子网掩码、默认网关、DNS服务器等。

  • netstat:与Linux类似,显示网络连接和端口状态。
    选项:-an(显示所有连接,不解析域名)、-bn(显示数字形式的IP和端口)、-o(显示进程PID)。
    示例:netstat -ano | findstr "80" 查找监听80端口的进程及PID。

  • Get-NetAdapter:PowerShell命令,显示网络适配器状态(如启用/禁用、速度、MAC地址)。
    示例:Get-NetAdapter | Where-Object {$_.Status -eq "Up"} 查询所有启用的网络适配器。

服务与性能

  • sc query:查询服务状态(停止/运行中)、描述、路径等。
    示例:sc query spooler 查看打印后台处理服务的状态。

  • Get-Service:PowerShell命令,管理服务,Get-Service | Where-Object {$_.Status -eq "Running"} 查询所有运行中的服务。

  • typeperf:监控系统性能计数器,如CPU使用率、内存使用率。
    示例:typeperf "\Processor(_Total)\% Processor Time" -sc 5 每1秒采集一次CPU使用率,共5次。

关键命令总结表格

以下表格归纳了常用操作系统查询系统配置的核心命令及其功能:

操作系统 命令 主要功能 常用选项/示例
Linux uname 显示系统内核版本、硬件架构 -a(所有信息)、-r(内核版本)
Linux lscpu 显示CPU详细信息(核心数、架构、缓存等) 无需选项,直接显示lscpu
Linux free 查看内存使用情况(物理内存、Swap) -h(人类可读格式)、-m(MB为单位)
Linux df 查看文件系统磁盘空间使用率 -h(人类可读)、-T(显示文件系统类型)
Linux ip 显示/配置网络接口、路由表 ip a(IP地址)、ip route(路由表)
Linux ss/netstat 显示网络连接、监听端口 -tulpn(显示监听端口及进程)
Linux systemctl 管理systemd服务 status nginx(服务状态)、list-units --type=service(所有服务)
Windows systeminfo 显示详细系统信息(OS版本、硬件、网络等) 无需选项,直接运行systeminfo
Windows wmic 通过WMI查询硬件/系统信息 wmic cpu get name(CPU型号)、wmic diskdrive get size(硬盘大小)
Windows ipconfig 显示网络接口配置(IP、MAC、DNS等) /all(详细信息)、/release//renew(释放/获取IP)
Windows netstat 显示网络连接、端口状态 -ano(显示PID和数字IP端口)
Windows sc query 查询Windows服务状态 sc query spooler(打印服务状态)

相关问答FAQs

Q1: 如何快速查看Linux系统当前监听的端口及对应服务?
A: 使用ssnetstat命令结合-tulpn选项,ss -tulpn(推荐,显示进程名和PID)或netstat -tuln(显示监听端口),输出结果中Local Address:Port列显示监听地址和端口,Process列(ss)或PID/Program name列(netstat)对应关联的服务进程,例如nginx服务通常监听80端口。

Q2: Windows系统中如何查看某个进程占用的网络端口?
A: 方法1:使用netstat命令结合-ano选项和管道符findstr,例如netstat -ano | findstr "进程PID",通过进程PID查找其占用的端口;方法2:通过任务管理器“详细信息”选项卡,右键进程选择“打开文件位置”,或使用PowerShell命令Get-NetTCPConnection -State Listen | Where-Object {$_.OwningProcess -eq "PID"},查看指定PID的监听端口。

分享:
扫描分享到社交APP
上一篇
下一篇