Shell命令全面解析查看主机空间磁盘内存和系统负载

主机空间

Shell命令全面解析查看主机空间磁盘内存和系统负载

2025-05-01 17:27


本文详细介绍了如何使用Shell命令查看主机的磁盘使用情况、内存状态、系统负载等信息,帮助管理和维护服务器。

Shell查看主机空间

在日常的服务器管理和维护工作中,查看主机空间是必不可少的一项任务。通过Shell命令,我们可以轻松地获取主机的磁盘使用情况、内存状态以及系统负载等信息。本文将详细介绍如何使用Shell命令来查看主机空间,帮助读者更好地管理和维护服务器。

1. 查看磁盘使用情况

1.1 df 命令

df 命令用于显示文件系统的磁盘空间使用情况。常用的选项包括:

  • -h:以人类可读的格式显示磁盘空间(例如,以K、M、G为单位)。
  • -T:显示文件系统的类型。
  • -a:显示所有文件系统,包括虚拟文件系统。

示例

df -h

输出示例:

文件系统        容量  已用  可用 已用% 挂载点
/dev/sda1        20G  4.5G   15G   23% /
tmpfs           7.8G     0  7.8G    0% /dev/shm
/dev/sdb1       500G  200G  300G   40% /data

1.2 du 命令

du 命令用于显示目录或文件的磁盘使用情况。常用的选项包括:

  • -h:以人类可读的格式显示磁盘空间。
  • -s:仅显示总和。
  • -a:显示所有文件和目录的磁盘使用情况。

示例

du -sh /var/log

输出示例:

1.2G    /var/log

1.3 ncdu 命令

ncdu 是一个基于 ncurses 的磁盘使用情况分析工具,提供了一个交互式的界面,方便用户查看和管理磁盘空间。安装方法如下:

sudo apt-get install ncdu

使用方法:

ncdu /path/to/directory

2. 查看内存使用情况

2.1 free 命令

free 命令用于显示系统的内存使用情况,包括物理内存和交换内存。常用的选项包括:

  • -m:以MB为单位显示内存。
  • -g:以GB为单位显示内存。
  • -h:以人类可读的格式显示内存。

示例

free -m

输出示例:

              total        used        free      shared  buff/cache   available
Mem:           7974        1234        5432          12        1308        6500
Swap:          2047           0        2047

2.2 top 命令

top 命令提供了一个实时的系统监控界面,可以查看当前系统的CPU和内存使用情况。在 top 界面中,按下 M 键可以按内存使用量排序。

示例

top

2.3 htop 命令

htop 是一个增强版的 top 命令,提供了一个更友好的用户界面,支持鼠标操作。安装方法如下:

sudo apt-get install htop

使用方法:

htop

3. 查看系统负载

3.1 uptime 命令

uptime 命令用于显示系统的运行时间和平均负载。平均负载是指在1分钟、5分钟和15分钟内的系统负载情况。

示例

uptime

输出示例:

 14:30:00 up 2 days, 12:30,  1 user,  load average: 0.20, 0.15, 0.10

3.2 w 命令

w 命令用于显示当前登录的用户及其正在执行的命令,同时也会显示系统的运行时间和平均负载。

示例

w

输出示例:

 14:30:00 up 2 days, 12:30,  1 user,  load average: 0.20, 0.15, 0.10
USER     TTY      FROM             LOGIN@   IDLE   JCPU   PCPU WHAT
root     pts/0    192.168.1.100    14:00    0.00s  0.08s  0.00s w

3.3 vmstat 命令

vmstat 命令用于显示系统的虚拟内存统计信息,包括CPU使用情况、内存使用情况和交换空间使用情况。常用的选项包括:

  • -s:以统计信息的形式显示。
  • -a:显示所有活动的内存页面。
  • -n:在输出中仅显示一次标题。

示例

vmstat -a

输出示例:

procs -----------------------memory---------------------- ---swap-- -----io---- -system-- ------cpu-----
 r  b   swpd   free   buff  cache   si   so    bi    bo   in   cs  us  sy  id  wa  st
 1  0   1024  54321  1308  15000   0    0     0     0    0    0   0   0  100  0   0

4. 查看文件系统状态

4.1 fsck 命令

fsck 命令用于检查和修复文件系统的错误。使用时需要谨慎,通常在系统启动时或在文件系统未挂载的情况下使用。

示例

sudo fsck /dev/sda1

4.2 fstrim 命令

fstrim 命令用于对支持 TRIM 的文件系统进行优化,释放未使用的块,提高性能。常用的选项包括:

  • -v:显示详细的输出信息。

示例

sudo fstrim -v /

输出示例:

/: 1.2 GiB (1288490188 bytes) trimmed

5. 查看网络连接状态

5.1 netstat 命令

netstat 命令用于显示网络连接、路由表、接口统计等信息。常用的选项包括:

  • -t:显示TCP连接。
  • -u:显示UDP连接。
  • -a:显示所有连接。
  • -n:显示数字形式的地址和端口。

示例

netstat -tunap

输出示例:

Proto Recv-Q Send-Q Local Address           Foreign Address         State       PID/Program name
tcp        0      0 0.0.0.0:22              0.0.0.0:*               LISTEN      1234/sshd
tcp        0      0 192.168.1.100:22        192.168.1.101:54321     ESTABLISHED 1235/sshd

5.2 ss 命令

ss 命令是 netstat 的替代工具,提供更快的网络连接信息查询。常用的选项与 netstat 类似。

示例

ss -tunap

6. 查看进程信息

6.1 ps 命令

ps 命令用于显示当前系统中的进程信息。常用的选项包括:

  • -e:显示所有进程。
  • -f:显示完整格式。
  • -u:按用户过滤进程。
  • -x:显示没有控制终端的进程。

示例

ps -ef

输出示例:

UID        PID  PPID  C STIME TTY          TIME CMD
root         1     0  0 14:00 ?        00:00:02 /sbin/init
root         2     0  0 14:00 ?        00:00:00 [kthreadd]
root         3     2  0 14:00 ?        00:00:00 [ksoftirqd/0]

6.2 pgrep 命令

pgrep 命令用于按名称或其他属性查找进程。常用的选项包括:

  • -u:按用户过滤进程。
  • -f:按命令行过滤进程。

示例

pgrep sshd

输出示例:

1234
1235

7. 查看系统日志

7.1 dmesg 命令

dmesg 命令用于显示内核环缓冲区中的消息,通常用于查看系统启动时的硬件初始化信息。

示例

dmesg

7.2 journalctl 命令

journalctl 命令用于查看和管理 systemd 日志。常用的选项包括:

  • -u:按服务单元过滤日志。
  • -b:按启动会话过滤日志。
  • -f:实时显示日志。

示例

journalctl -u sshd

8. 总结

通过上述命令,我们可以全面地了解主机的磁盘使用情况、内存状态、系统负载、文件系统状态、网络连接状态、进程信息以及系统日志。这些命令是服务器管理和维护中的常用工具,掌握它们可以帮助我们更好地管理和优化系统性能。希望本文对读者有所帮助。

参考资料

  • 《Linux命令行与Shell脚本编程大全》
  • 《鸟哥的Linux私房菜》
  • 《Linux系统管理与网络管理》

以上内容仅供参考,具体命令的使用请根据实际情况进行调整。希望本文能对您的工作和学习有所帮助。


标签: Shell 磁盘使用情况 内存状态 系统负载 网络连接状态