目录
目录
一、查看 CPU 信息
1.1 查看 CPU 型号、核心数、架构
方法一:使用 lscpu 命令(推荐)
方法二:查看 /proc/cpuinfo 文件
方法三:使用 uname -m 或 uname -a 查看架构
1.2、读取 /proc/cpuinfo 查看每核频率(静态快照)
1.3、查看 CPU 使用情况
二、查看内存信息
2.1、查看内存总量、已用、剩余
方法一:使用 free 命令(最常用)
方法二:查看 /proc/meminfo(更详细)
方法三:使用 htop(需安装,交互式)
三、查看磁盘信息
3.1、查看所有磁盘及分区结构
1、 lsblk —— 推荐首选(简洁清晰)
2、fdisk -l —— 查看详细分区表(需 root 权限)
3.2、查看已挂载文件系统的使用情况
df -h —— 查看磁盘空间使用(最常用)
3.3、查看磁盘健康状态(如支持 S.M.A.R.T.)
smartctl —— 检测硬盘健康(需安装工具)
3.4、查看块设备详细属性(高级)
blkid —— 查看分区的 UUID 和文件系统类型
3.5、查看磁盘 I/O 性能
四、查看操作系统信息
4.1、查看完整操作系统版本信息
1. 查看 /etc/os-release(推荐,标准方式)
2. 查看 /etc/kylin-release(麒麟特有文件)
3. 使用 lsb_release(若已安装)
4.2、查看内核版本与系统架构
4.3、查看系统详细信息(综合)
五、查看网络信息
5.1、查看网络接口与 IP 地址(核心命令)
5.2、查看默认网关与路由表
5.3、查看 DNS 配置
5.4、测试网络连通性
5.5、查看活跃网络连接
5.6、查看网卡详细统计(错误、丢包等)
5.7、查看开放的端口
1、查看所有 监听中的 TCP 和 UDP 端口
2、使用 lsof(功能强大,需安装)
3、使用 netstat(兼容旧脚本,但非默认)
六、防火墙服务
6.1、确认防火墙服务状态
6.2、查看当前防火墙策略
6.3、永久放行端口(重启后仍生效)
6.4、删除已放行的端口或服务
七、查看系统启动时间 & 负载
7.1、查看系统启动时间(Uptime)
7.2、使用 who -b 查看确切启动时刻
7.3、查看系统负载(Load Average)
7.4、综合诊断:高负载排查
八、查看系统进程
1. ps 命令(静态快照)
2. top 命令(动态实时监控)
3. htop(增强版 top,需安装)
4、强制杀死进程
九、查看系统服务
1. 查看 所有已加载的服务(含状态)
2. 查看 所有已安装的服务(包括未启动的)
3. 查看特定服务状态(如 sshd)
4. 查看失败的服务(排查故障)
十、查看系统日志
使用 journalctl 查看 systemd 日志(推荐)
1. 查看 全部系统日志(实时滚动)
2. 查看 本次启动的日志
3. 查看 特定服务的日志(最常用)
4. 按时间范围查询
5. 查看内核日志(dmesg 内容)
查看 /var/log/ 下的传统文本日志
在 Linux 系统中,查看系统配置通常涉及 硬件信息、操作系统信息、网络配置、存储信息 等。以下是常用的命令和工具,帮助你快速获取系统配置信息:
一、查看 CPU 信息
1.1 查看 CPU 型号、核心数、架构
方法一:使用 lscpu 命令(推荐)
lscpu
输出示例说明:
-
Architecture: 架构类型(如 x86_64、aarch64)
-
CPU(s): 逻辑 CPU 总数(即线程数)
-
Core(s) per socket: 每个物理 CPU 的核心数
-
Socket(s): 物理 CPU 插槽数
-
Model name: CPU 型号(如 Intel Core i7-xxxx、飞腾 FT-2000、兆芯 KX-7000 等)
💡 适合快速查看整体 CPU 信息。
方法二:查看 /proc/cpuinfo 文件
cat /proc/cpuinfo
关键字段:
- model name 或 cpu:CPU 型号(x86 下为 model name,ARM/国产芯片下可能为 cpu 或 Processor)
- cpu cores:每个物理 CPU 的核心数
- siblings:每个物理 CPU 的逻辑处理器数(用于判断是否开启超线程)
- 架构可通过第一行或结合 flags 判断(但不如 lscpu 直观)
⚠️ 注意:该文件会列出每个逻辑 CPU 的信息,内容较长。
方法三:使用 uname -m 或 uname -a 查看架构
uname -m
输出如 x86_64(Intel/AMD 64位)、aarch64(ARM64,如飞腾、鲲鹏)
uname -a
显示内核版本 + 架构信息
1.2、读取 /proc/cpuinfo 查看每核频率(静态快照)
cat /proc/cpuinfo | grep -E "processor|cpu MHz|model name"
1.3、查看 CPU 使用情况
top # 动态查看 CPU 占用
htop # 更友好的交互式查看(需安装)
mpstat -P ALL # 查看每个 CPU 核心的使用率
二、查看内存信息
2.1、查看内存总量、已用、剩余
方法一:使用 free 命令(最常用)
free -h
输出实例
total used free shared buff/cache available
Mem: 15Gi 2.1Gi 8.0Gi 120Mi 5.4Gi 12Gi
Swap: 4.0Gi 0B 4.0Gi
字段说明:
- total:物理内存总量(如 16GB)
- used:已使用的内存(含缓存和缓冲区)
- free:完全未使用的内存(通常很小,Linux 会尽量利用空闲内存做缓存)
- available(关键!):实际可用内存,即应用程序还能申请的内存量(推荐关注此项)
🔔 注意:Linux 的“used”包含 cache/buffer,不代表真正被进程占用。available 才是判断是否内存不足的关键指标。
方法二:查看 /proc/meminfo(更详细)
cat /proc/meminfo | grep -E "MemTotal|MemFree|MemAvailable"
输出示例
MemTotal: 16384000 kB
MemFree: 8388608 kB
MemAvailable: 12582912 kB
- 单位为 kB,可除以 1024 换算为 MB,再除以 1024 得 GB。
- MemAvailable 是内核估算的可用内存(含可回收的 cache),比 MemFree 更准确。
方法三:使用 htop(需安装,交互式)
# 若未安装,先安装(麒麟 V10 通常自带或可通过 yum 安装)
sudo yum install -y htop
# 运行
htop
- 图形化显示内存使用条、总量、已用、缓存等
- 支持按进程排序,适合深入分析
💡 麒麟 V10 Server 默认可能未安装 htop,但 top 命令默认可用(不过 top 不直接显示“可用内存”)。
三、查看磁盘信息
3.1、查看所有磁盘及分区结构
1、 lsblk —— 推荐首选(简洁清晰)
lsblk
示例输出
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
sda 8:0 0 477G 0 disk
├─sda1 8:1 0 1G 0 part /boot
└─sda2 8:2 0 476G 0 part /
sdb 8:16 0 1.8T 0 disk
- 显示 磁盘(disk) 和 分区(part)
- 列出 大小、挂载点、设备名(如 /dev/sda)
- 支持 NVMe(显示为 nvme0n1)、SATA、USB 等设备
🔍 加 -f 参数可显示文件系统类型:
lsblk -f
2、fdisk -l —— 查看详细分区表(需 root 权限)
sudo fdisk -l
作用:
- 显示每个磁盘的 分区起始扇区、大小、类型(如 Linux、swap、EFI)
- 适合排查未挂载或新添加的磁盘
⚠️ 注意:此命令会列出所有磁盘,包括未分区的裸盘(如 /dev/sdb)
3.2、查看已挂载文件系统的使用情况
df -h —— 查看磁盘空间使用(最常用)
df -h
输出示例:
Filesystem Size Used Avail Use% Mounted on
/dev/sda2 468G 50G 395G 12% /
/dev/sda1 976M 200M 709M 22% /boot
tmpfs 7.8G 0 7.8G 0% /run
- 显示 已挂载分区的总容量、已用、可用、使用百分比、挂载点
- -h 表示“human-readable”(以 GB/MB 显示)
💡 若某磁盘未出现在 df 中,说明它尚未挂载,需先用 mount 挂载。
3.3、查看磁盘健康状态(如支持 S.M.A.R.T.)
smartctl —— 检测硬盘健康(需安装工具)
# 安装 smartmontools(若未安装)
sudo yum install -y smartmontools
# 查看某磁盘(如 /dev/sda)的 SMART 信息
sudo smartctl -a /dev/sda
可获取:
- 硬盘型号、序列号
- 温度、通电时间
- 坏道数、重映射扇区
- SMART overall-health self-assessment test result: PASSED/FAILED
⚠️ 注意:
- 部分国产服务器 RAID 卡或虚拟化环境可能屏蔽 SMART 信息。
- NVMe 盘需用 smartctl -a /dev/nvme0n1。
3.4、查看块设备详细属性(高级)
blkid —— 查看分区的 UUID 和文件系统类型
sudo blkid
输出示例:
/dev/sda1: UUID="a1b2c3d4" TYPE="ext4"
/dev/sda2: UUID="e5f6g7h8" TYPE="xfs"
- 用于编写 /etc/fstab 时引用 UUID(比设备名更稳定)
查看完整流程
# 1. 列出所有磁盘和分区
lsblk -f
# 2. 查看已挂载空间使用
df -h
# 3. 检查未挂载的大容量盘(如 sdb)
sudo fdisk -l /dev/sdb
# 4. 若需挂载,先格式化(谨慎!)
sudo mkfs.xfs /dev/sdb1
# 5. 创建挂载点并挂载
sudo mkdir /data
sudo mount /dev/sdb1 /data
3.5、查看磁盘 I/O 性能
安装 sysstat
1sudo yum install -y sysstat
使用示例
# 每2秒刷新一次,显示详细I/O统计
iostat -x 2
关键字段解读:
| Device | 磁盘设备名(如 sda, nvme0n1) |
| rrqm/s, wrqm/s | 每秒合并的读/写请求数 |
| r/s, w/s | 每秒完成的读/写次数(IOPS) |
| rkB/s, wkB/s | 每秒读/写字节数(吞吐量,KB/s) |
| %util | 设备利用率(接近 100% 表示磁盘饱和,可能成为瓶颈) |
| await | 平均 I/O 请求等待时间(ms),值越大性能越差 |
四、查看操作系统信息
4.1、查看完整操作系统版本信息
1. 查看 /etc/os-release(推荐,标准方式)
cat /etc/os-release
典型输出(麒麟 V10 Server 示例):
NAME="Kylin Linux Advanced Server"
VERSION="V10 (Sword)"
ID="kylin"
ID_LIKE="rhel fedora centos"
VERSION_ID="V10"
PRETTY_NAME="Kylin Linux Advanced Server V10 (Sword)"
ANSI_COLOR="0;31"
CPE_NAME="cpe:/o:kylin:kylin:10"
HOME_URL="https://www.kylinos.cn/"
BUG_REPORT_URL="https://bugzilla.kylinos.cn/"
KYLIN_VERSION="V10"
- VERSION 或 PRETTY_NAME:显示具体版本(如 V10 (Sword))
- ID:系统标识为 kylin
- ID_LIKE:兼容 RHEL/CentOS 生态
💡 这是 最权威 的发行版信息来源。
2. 查看 /etc/kylin-release(麒麟特有文件)
1cat /etc/kylin-release
输出示例:
Kylin Linux Advanced Server release V10 (Sword)
⚠️ 此文件为麒麟系统独有,其他 Linux 发行版无此文件。
3. 使用 lsb_release(若已安装)
lsb_release -a
麒麟 V10 默认可能未安装 redhat-lsb-core,可手动安装:
1sudo yum install -y redhat-lsb-core
4.2、查看内核版本与系统架构
uname 命令
# 查看内核版本
uname -r
# 示例输出:4.19.90-23.8.v2101.ky10.x86_64
# 查看系统架构
uname -m
# 输出:x86_64(兆芯/海光/Intel) 或 aarch64(飞腾/鲲鹏)
# 查看完整信息
uname -a
4.3、查看系统详细信息(综合)
使用 hostnamectl(systemd 系统支持)
hostnamectl
输出包含:
- 操作系统名称与版本
- 内核版本
- 架构(x86_64 / aarch64)
- 主机名、启动时间等
🔔 麒麟 V10 Server 基于 systemd,通常支持此命令。
五、查看网络信息
5.1、查看网络接口与 IP 地址(核心命令)
1、使用 ip addr(推荐)
ip addr show
# 或简写
ip a
输出解读:
- eth0, ens192, enp3s0 等为网卡名(国产平台常见 eth0 或 bond0)
- inet 后为 IPv4 地址(如 192.168.1.10/24)
- inet6 为 IPv6 地址
- link/ether 为 MAC 地址
- <BROADCAST,MULTICAST,UP> 表示接口已启用(UP 是关键)
💡 若无 UP,说明网卡未激活,需执行 sudo ip link set eth0 up
2、查看简洁版接口状态
ip -br addr show
输出示例
lo UNKNOWN 127.0.0.1/8 ::1/128
eth0 UP 192.168.10.50/24 fe80::20c:29ff:fe12:3456/64
- -br = brief(简洁模式),适合快速查看
5.2、查看默认网关与路由表
ip route show
# 或
ip r
关键行:
default via 192.168.10.1 dev eth0 proto static metric 100
- 表示默认网关是 192.168.10.1,出口网卡为 eth0
5.3、查看 DNS 配置
cat /etc/resolv.conf
示例输出
nameserver 114.114.114.114 nameserver 8.8.8.8
注意:若使用 NetworkManager 或 systemd-resolved,实际 DNS 可能由其动态管理,此文件可能是符号链接。
5.4、测试网络连通性
# 测试到网关是否通
ping -c 3 192.168.10.1
# 测试外网 DNS 解析 + 连通性
ping -c 3 www.kylinos.cn
# 测试 TCP 端口(如 SSH 22)
telnet 192.168.10.1 22
# 或使用 nc(若 telnet 未安装)
nc -zv 192.168.10.1 22
5.5、查看活跃网络连接
# 查看所有监听端口
ss -tuln
# 查看所有 TCP 连接
ss -tn
# 查看进程关联(需 root)
sudo ss -tunlp
字段说明:
- -t:TCP
- -u:UDP
- -l:监听(LISTEN)
- -n:不解析服务名(显示数字端口)
- -p:显示进程 PID/名称
🔔 麒麟 V10 默认已安装 iproute2,ss 命令可用。
使用 netstat(需手动安装)
# 安装 net-tools(含 netstat)
sudo yum install -y net-tools
# 查看监听端口
netstat -tuln
5.6、查看网卡详细统计(错误、丢包等)
# 查看 eth0 的收发统计(含错包、丢包)
ip -s link show eth0
关注字段:
- RX errors / TX errors:接收/发送错误
- dropped:因缓冲区满被丢弃的包
- overrun:硬件 FIFO 溢出(严重问题)
若 errors 或 dropped 持续增长,需检查网线、驱动或对端设备。
5.7、查看开放的端口
1、查看所有 监听中的 TCP 和 UDP 端口
ss -tuln
参数说明:
- -t:显示 TCP 端口
- -u:显示 UDP 端口
- -l:仅显示 监听(LISTEN) 状态的端口
- -n:以数字形式显示端口(不解析服务名,如 22 而非 ssh)
输出示例:
Netid State Recv-Q Send-Q Local Address:Port Peer Address:Port
tcp LISTEN 0 128 0.0.0.0:22 0.0.0.0:*
tcp LISTEN 0 100 127.0.0.1:25 0.0.0.0:*
tcp LISTEN 0 128 :::80 :::*
udp UNCONN 0 0 0.0.0.0:68 0.0.0.0:*
- 0.0.0.0:22 表示 所有 IPv4 地址的 22 端口开放(SSH)
- :::80 表示 所有 IPv6 地址的 80 端口开放(HTTP)
同时显示 进程名称和 PID(需 root 权限)
sudo ss -tulnp
新增列:
- users:(("sshd",pid=1234,fd=3)) → 表示该端口由 sshd 进程(PID=1234)占用
🔍 例如:确认 3306 端口是否被 MySQL 占用:
sudo ss -tulnp | grep :3306
2、使用 lsof(功能强大,需安装)
安装 lsof(若未预装)
sudo yum install -y lsof
查看所有监听端口及对应进程
sudo lsof -i -sTCP:LISTEN
或更简洁地列出端口:
sudo lsof -i | grep LISTEN
优点: 可直接看到 进程名、用户、协议、端口号,可读性强。
3、使用 netstat(兼容旧脚本,但非默认)
安装 net-tools
sudo yum install -y net-tools
查看监听端口
netstat -tuln
# 显示进程信息
sudo netstat -tulnp
⚠️ 注意:netstat 已被 ss 取代,新系统建议优先用 ss。
# 快速查看开放端口(无进程)
ss -tuln
# 查看开放端口 + 对应进程(推荐)
sudo ss -tulnp
# 检查特定端口(如 8080)
ss -tuln | grep ':8080\\b'
一键诊断脚本
kylin_net_check() {
echo "=== 网络接口 ==="
ip -br addr show
echo -e "\\n=== 默认路由 ==="
ip route show default
echo -e "\\n=== DNS 配置 ==="
cat /etc/resolv.conf
echo -e "\\n=== 监听端口 ==="
ss -tuln
echo -e "\\n=== 外网连通性 ==="
ping -c 2 223.5.5.5 &>/dev/null && echo "✓ 能访问外网" || echo "✗ 无法访问外网"
}
kylin_net_check
六、防火墙服务
6.1、确认防火墙服务状态
检查 firewalld 是否运行
systemctl status firewalld
- 若显示 active (running) → 使用 firewalld
- 若显示 inactive,可尝试:
sudo systemctl start firewalld # 启动
sudo systemctl enable firewalld # 开机自启
⚠️ 注意:麒麟 V10 Server 默认启用 firewalld。
6.2、查看当前防火墙策略
查看默认区域(zone)
firewall-cmd –get-default-zone
# 通常输出:public
查看当前生效的规则(含放行端口、服务)
firewall-cmd –list-all
典型输出
public (active)
target: default
icmp-block-inversion: no
interfaces: eth0
sources:
services: ssh dhcpv6-client
ports: 80/tcp 443/tcp 3306/tcp
protocols:
forward: no
masquerade: no
forward-ports:
source-ports:
icmp-blocks:
rich rules:
关键字段说明:
- services:放行的 预定义服务(如 ssh = 22/tcp)
- ports:手动放行的端口(如 80/tcp)
- interfaces:应用此策略的网卡
🔍 此命令显示的是 运行时(runtime)配置,重启后失效(除非加 –permanent)。
仅查看放行的端口
firewall-cmd –list-ports
# 输出示例:80/tcp 443/tcp 3306/tcp
查看放行的服务
firewall-cmd –list-services
# 输出示例:ssh dhcpv6-client
6.3、永久放行端口(重启后仍生效)
重要:firewall-cmd 默认修改 运行时配置,需加 –permanent 才写入配置文件。
放行单个 TCP 端口(如 8080)
# 永久添加
sudo firewall-cmd –permanent –add-port=8080/tcp
# 重载配置使永久规则生效
sudo firewall-cmd –reload
放行 UDP 端口(如 53)
sudo firewall-cmd –permanent –add-port=53/udp
sudo firewall-cmd –reload
放行端口范围(如 8000-8100)
1sudo firewall-cmd –permanent –add-port=8000-8100/tcp
2sudo firewall-cmd –reload
6.4、删除已放行的端口或服务
# 删除端口
sudo firewall-cmd –permanent –remove-port=8080/tcp
# 删除服务
sudo firewall-cmd –permanent –remove-service=http
# 重载生效
sudo firewall-cmd –reload
七、查看系统启动时间 & 负载
7.1、查看系统启动时间(Uptime)
uptime
示例输出:
18:23:45 up 15 days, 3:12, 2 users, load average: 0.15, 0.09, 0.05
- up 15 days, 3:12:表示系统已连续运行 15 天 3 小时 12 分钟
- 同时显示当前 负载平均值(load average)
7.2、使用 who -b 查看确切启动时刻
who -b
- 显示 具体的启动日期和时间(精确到分钟)
7.3、查看系统负载(Load Average)
系统负载(Load Average)表示 单位时间内等待 CPU 或不可中断 I/O 的进程平均数,通常显示为三个值:
-
1分钟、5分钟、15分钟 的平均负载
1. 使用 uptime(同上)
uptime
# 输出中的 load average: 0.15, 0.09, 0.05
2. 使用 top 命令(实时动态)
top
- 第一行即显示 uptime 和 load average
- 可持续观察负载变化
3. 使用 htop(更友好,需安装)
sudo yum install -y htop
htop
如何理解负载:
| 单核 CPU | Load = 1.0 表示 CPU 满负荷 Load > 1.0 表示有进程在排队 |
| 多核 CPU(如 8 核) | Load < 8.0 通常正常 Load ≈ 核数 → 利用率高但未过载 Load >> 核数 → 可能存在性能瓶颈 |
| 负载高但 CPU 空闲? | 可能是 I/O 瓶颈(如磁盘慢、网络阻塞),进程卡在 D 状态(不可中断睡眠) |
查看 CPU 核心数:
nproc
# 或
lscpu | grep "^CPU(s)"
7.4、综合诊断:高负载排查
若负载异常高,可按以下步骤排查:
1. 查看哪些进程占用资源高
top
# 按 P(大写)按 CPU 排序,按 M 按内存排序
2. 查看是否有大量 D 状态(不可中断)进程
1ps aux | awk '$8 ~ /^D/ {print}'
- 若有大量 D 状态进程,通常是 磁盘 I/O 卡住(如 NFS 挂起、硬盘故障)
3. 结合 iostat 查看磁盘是否饱和
iostat -x 2 3
# 关注 %util 和 await
八、查看系统进程
1. ps 命令(静态快照)
查看所有进程(常用)
ps aux
- a:显示所有终端的进程
- u:以用户友好的格式显示
- x:包含无控制终端的进程(如守护进程)
关键列说明:
- USER:运行进程的用户
- PID:进程 ID
- %CPU / %MEM:CPU 和内存占用
- STAT:进程状态(S=睡眠, R=运行, D=不可中断 I/O, Z=僵尸进程)
- COMMAND:启动命令
按 CPU 或内存排序(排查高负载)
# 按 CPU 使用率降序(前10)
ps aux –sort=-%cpu | head -n 11
# 按内存使用率降序(前10)
ps aux –sort=-%mem | head -n 11
2. top 命令(动态实时监控)
top
- 实时刷新进程列表
- 默认按 CPU 使用率排序
- 交互快捷键:
- P:按 CPU 排序
- M:按内存排序
- k:杀死进程(输入 PID)
- q:退出
💡 适合实时观察资源变化。
3. htop(增强版 top,需安装)
sudo yum install -y htop
htop
- 彩色界面、支持鼠标、树状视图
- 可直接 F9 杀进程,F5 切换树形模式
4、强制杀死进程
# 1. 查找进程
ps aux | grep my_script.py
# 输出:user 9999 … python my_script.py
# 2. 优雅终止
kill 9999
# 3. 等待并检查
sleep 5
ps -p 9999 # 若无输出,说明已退出
# 4. 若仍存在,强制杀死
kill -9 9999
九、查看系统服务
麒麟 V10 Server 使用 systemd 作为初始化系统和服务管理器。
1. 查看 所有已加载的服务(含状态)
systemctl list-units –type=service
或简写:
systemctl list-units -t service
输出示例:
UNIT LOAD ACTIVE SUB DESCRIPTION
sshd.service loaded active running OpenSSH server daemon
firewalld.service loaded active running firewalld – dynamic firewall daemon
nginx.service loaded active running nginx – high performance web server
- ACTIVE = active 表示服务正在运行
- SUB = running 表示主进程正常
2. 查看 所有已安装的服务(包括未启动的)
systemctl list-unit-files –type=service
- 显示服务的 启用状态(enabled/disabled/masked)
- enabled:开机自启
- disabled:不自启
- static:不能独立启动,被其他服务依赖
3. 查看特定服务状态(如 sshd)
systemctl status sshd
输出包含:
- 是否运行(Active: active (running))
- 主进程 PID
- 最近日志片段(journalctl 集成)
- 是否开机自启(Loaded: enabled)
4. 查看失败的服务(排查故障)
1systemctl –failed
快速定位启动失败的服务
常用组合技巧
🔍 查找某个进程对应的服务
# 先查进程 PID
ps aux | grep nginx
# 再通过 PID 查所属服务(若由 systemd 管理)
systemctl status <PID>
🔍 查看服务的日志(关键排错)
# 查看 sshd 最近日志
journalctl -u sshd -n 50
# 实时跟踪日志
journalctl -u nginx -f
管理服务
| 启动服务 | sudo systemctl start nginx |
| 停止服务 | sudo systemctl stop nginx |
| 重启服务 | sudo systemctl restart nginx |
| 开机自启 | sudo systemctl enable nginx |
| 禁用自启 | sudo systemctl disable nginx |
十、查看系统日志
在 银河麒麟服务器操作系统 V10(Kylin V10 Server) 中,系统日志主要由 systemd-journald 和 rsyslog(或 syslog-ng)共同管理。日志分为两类:
- 二进制日志:由 journalctl 查看(systemd 日志)
- 文本日志:存储在 /var/log/ 目录下(传统 syslog)
以下是查看系统日志的完整方法,适用于国产平台(飞腾、鲲鹏、兆芯等)。
使用 journalctl 查看 systemd 日志(推荐)
麒麟 V10 默认启用持久化日志(日志保存在 /var/log/journal/),重启后仍可查。
1. 查看 全部系统日志(实时滚动)
sudo journalctl -f
- -f = follow(类似 tail -f),持续输出最新日志
- 按 Ctrl+C 退出
2. 查看 本次启动的日志
sudo journalctl -b
- -b = boot,只显示当前开机后的日志
- 加 -f 可实时跟踪:journalctl -b -f
3. 查看 特定服务的日志(最常用)
# 查看 sshd 服务日志
sudo journalctl -u sshd
# 实时跟踪 nginx 日志
sudo journalctl -u nginx -f
# 查看最近 100 行
sudo journalctl -u firewalld -n 100
4. 按时间范围查询
# 今天日志
sudo journalctl –since today
# 过去 1 小时
sudo journalctl –since "1 hour ago"
# 指定时间段
sudo journalctl –since "2026-01-16 08:00:00" –until "2026-01-16 18:00:00"
5. 查看内核日志(dmesg 内容)
1sudo journalctl -k
2# 等价于 dmesg,但支持分页和过滤
查看 /var/log/ 下的传统文本日志
常见日志文件说明:
表格
| /var/log/messages | 全局系统日志(含 syslog、内核、服务消息) |
| /var/log/secure | 认证/安全日志(SSH 登录、sudo 操作等) |
| /var/log/cron | 定时任务(crontab)日志 |
| /var/log/maillog | 邮件系统日志 |
| /var/log/dmesg | 内核环形缓冲区日志(启动时硬件检测信息) |
| /var/log/audit/audit.log | 若启用 auditd,记录详细安全审计 |
查看方法(使用 less 或 tail):
# 查看系统全局日志(推荐 less,支持翻页)
sudo less /var/log/messages
# 实时跟踪安全日志(如监控 SSH 登录)
sudo tail -f /var/log/secure
# 查看最近 50 行 cron 日志
sudo tail -n 50 /var/log/cron
💡 提示:
- 日志文件通常按周或按大小轮转(如 messages-20260110)
- 使用 zcat 查看压缩的历史日志:bash
编辑
zcat /var/log/messages-20260110.gz | grep "error"
快速排查常见问题
🔍 1. 查看 SSH 登录失败记录
sudo grep "Failed password" /var/log/secure
🔍 2. 查看服务启动失败原因
# 先查状态
systemctl status nginx
# 再查日志
sudo journalctl -u nginx –since "1 hour ago"
🔍 3. 查看系统启动过程中的错误
sudo journalctl -b -p err..alert
# -p 指定日志级别:err=错误, warn=警告, info=信息
🔍 4. 查看磁盘或硬件报错
sudo journalctl -k | grep -i "error\\|fail\\|disk\\|nvme\\|sda"
四、日志级别说明(journalctl -p)
| emerg | 0 | 系统不可用 |
| alert | 1 | 必须立即处理 |
| crit | 2 | 严重错误 |
| err | 3 | 错误 |
| warning | 4 | 警告 |
| notice | 5 | 正常但重要 |
| info | 6 | 一般信息 |
| debug | 7 | 调试信息 |




