主题
Linux 系统信息命令
在Linux系统管理中,了解系统的运行状态和资源使用情况是非常重要的。Linux提供了一系列强大的命令来获取系统信息,帮助管理员监控系统状态、诊断问题和优化性能。本章节将详细介绍Linux中常用的系统信息命令。
系统基本信息命令
uname 命令
uname 命令用于显示系统的基本信息。
bash
# 显示内核名称
uname
# 显示所有系统信息
uname -a
# 显示内核版本
uname -r
# 显示主机名
uname -n
# 显示硬件架构
uname -m
# 显示操作系统版本
uname -vhostname 命令
hostname 命令用于显示或设置系统的主机名。
bash
# 显示当前主机名
hostname
# 显示主机名的详细信息
hostnamectl
# 设置临时主机名(重启后失效)
sudo hostname new_hostname
# 永久设置主机名
sudo hostnamectl set-hostname new_hostnamecat /etc/*release 命令
查看Linux发行版信息。
bash
# 查看发行版信息
cat /etc/*release
# 或
lsb_release -a # 如果系统已安装lsb-release包CPU信息命令
lscpu 命令
lscpu 命令用于显示CPU架构信息。
bash
# 显示CPU信息
lscpucat /proc/cpuinfo 命令
查看CPU的详细信息。
bash
# 查看CPU信息
cat /proc/cpuinfo
# 统计CPU核心数
grep "processor" /proc/cpuinfo | wc -l内存信息命令
free 命令
free 命令用于显示系统内存使用情况。
bash
# 显示内存使用情况
free
# 以人类可读的格式显示
free -h
# 显示详细的内存统计信息
free -m # 以MB为单位
free -g # 以GB为单位
# 实时监控内存使用情况
watch -n 1 free -hcat /proc/meminfo 命令
查看内存的详细信息。
bash
# 查看内存信息
cat /proc/meminfo磁盘信息命令
df 命令
df 命令用于显示磁盘空间使用情况。
bash
# 显示磁盘空间使用情况
df
# 以人类可读的格式显示
df -h
# 显示所有文件系统(包括虚拟文件系统)
df -a
# 显示文件系统类型
df -Tdu 命令
du 命令用于显示目录或文件的磁盘使用情况。
bash
# 显示当前目录的磁盘使用情况
du
# 以人类可读的格式显示
du -h
# 显示目录总大小
du -sh /path/to/directory
# 显示目录及其子目录的大小
du -h --max-depth=1 /path/to/directoryfdisk 命令
fdisk 命令用于查看和管理磁盘分区。
bash
# 列出所有磁盘及其分区
sudo fdisk -l
# 管理特定磁盘的分区
sudo fdisk /dev/sdalsblk 命令
lsblk 命令用于列出块设备信息。
bash
# 列出块设备信息
lsblk
# 显示所有设备(包括空设备)
lsblk -a
# 显示详细信息
lsblk -l
# 显示设备大小
lsblk -h进程信息命令
ps 命令
ps 命令用于显示当前进程的状态。
bash
# 显示当前用户的进程
ps
# 显示所有进程
ps -e
ps -ef
ps aux
# 以树状结构显示进程
ps -e --forest
ps auxf
# 显示特定用户的进程
ps -u username
# 显示特定进程
ps -p process_idtop 命令
top 命令用于实时显示进程动态。
bash
# 启动top
top
# 常用交互命令:
# q: 退出
# k: 终止进程
# 1: 显示所有CPU核心
# P: 按CPU使用率排序
# M: 按内存使用率排序
# T: 按运行时间排序htop 命令
htop 命令是 top 的增强版,提供了更友好的界面。
bash
# 安装htop(如果未安装)
# Debian/Ubuntu
sudo apt install htop
# CentOS/RHEL
sudo yum install htop
# 启动htop
htop网络信息命令
ifconfig/ip 命令
ifconfig命令用于显示和配置网络接口(较旧的命令)ip命令是新一代的网络配置工具,功能更强大
bash
# 显示网络接口信息
ifconfig
# 或
ip addr
# 配置网络接口
# ifconfig eth0 192.168.1.10 netmask 255.255.255.0
# 或
ip addr add 192.168.1.10/24 dev eth0
# 启用/禁用网络接口
# ifconfig eth0 up/down
# 或
ip link set eth0 up/downnetstat 命令
netstat 命令用于显示网络状态信息。
bash
# 显示网络连接
netstat -tuln
# 显示所有网络连接
netstat -a
# 显示路由表
netstat -r
# 显示网络接口统计信息
netstat -i
# 持续显示网络连接
netstat -tulnpss 命令
ss 命令是 netstat 的现代替代品,更快速、更高效。
bash
# 显示网络连接
ss -tuln
# 显示所有网络连接
ss -a
# 显示路由表
ss -rping 命令
ping 命令用于测试网络连接。
bash
# 测试网络连接
ping example.com
# 限制ping的次数
ping -c 4 example.com
# 快速ping(较小的间隔)
ping -i 0.5 example.comtraceroute 命令
traceroute 命令用于跟踪数据包的路由路径。
bash
# 跟踪路由路径
traceroute example.com
# 使用ICMP协议
traceroute -I example.com用户信息命令
who 命令
who 命令用于显示当前登录的用户。
bash
# 显示当前登录的用户
who
# 显示更详细的信息
who -a
# 显示上次登录信息
who -bw 命令
w 命令用于显示当前登录的用户及其活动。
bash
# 显示用户活动信息
wlast 命令
last 命令用于显示用户登录历史。
bash
# 显示登录历史
last
# 显示特定用户的登录历史
last usernameid 命令
id 命令用于显示用户和组的ID信息。
bash
# 显示当前用户的ID信息
id
# 显示特定用户的ID信息
id username系统负载和性能监控命令
uptime 命令
uptime 命令用于显示系统运行时间和平均负载。
bash
# 显示系统运行时间和负载
uptimevmstat 命令
vmstat 命令用于显示虚拟内存统计信息。
bash
# 显示虚拟内存统计信息
vmstat
# 每秒更新一次,共更新5次
vmstat 1 5iostat 命令
iostat 命令用于显示CPU和磁盘I/O统计信息。
bash
# 显示CPU和磁盘I/O统计信息
iostat
# 每秒更新一次,共更新5次
iostat 1 5
# 显示磁盘详细信息
iostat -xsar 命令
sar 命令用于收集、报告和保存系统活动信息。
bash
# 安装sar(如果未安装)
# Debian/Ubuntu
sudo apt install sysstat
# CentOS/RHEL
sudo yum install sysstat
# 显示CPU使用率
sar 1 5
# 显示内存使用率
sar -r 1 5
# 显示磁盘I/O统计信息
sar -b 1 5
# 显示网络统计信息
sar -n DEV 1 5系统日志命令
dmesg 命令
dmesg 命令用于显示内核环缓冲区的内容。
bash
# 显示内核消息
dmesg
# 显示与特定设备相关的消息
dmesg | grep -i eth
# 以人类可读的时间格式显示
dmesg -Tjournalctl 命令
journalctl 命令用于查询systemd日志。
bash
# 查看所有日志
journalctl
# 查看最新日志
journalctl -n
# 实时查看日志
journalctl -f
# 查看特定服务的日志
journalctl -u nginx.service
# 查看启动日志
journalctl -b高级系统信息命令
lsmod 命令
lsmod 命令用于显示已加载的内核模块。
bash
# 显示已加载的内核模块
lsmodmodinfo 命令
modinfo 命令用于显示内核模块的详细信息。
bash
# 显示特定模块的信息
modinfo module_namesystemctl 命令
systemctl 命令用于管理systemd服务。
bash
# 显示系统状态
systemctl status
# 显示所有服务状态
systemctl list-units --type=service
# 启动/停止/重启服务
systemctl start/stop/restart service_name
# 启用/禁用服务(开机自启动)
systemctl enable/disable service_name总结
本章节介绍了Linux系统中常用的系统信息命令,包括系统基本信息、CPU信息、内存信息、磁盘信息、进程信息、网络信息、用户信息、系统负载和性能监控、系统日志以及高级系统信息等方面的命令。
这些命令是Linux系统管理员日常工作中不可或缺的工具,可以帮助管理员全面了解系统状态,及时发现和解决问题,优化系统性能。在实际工作中,这些命令通常会结合使用,以获取更全面的系统信息。