Linux磁盘管理与文件系统(三):常用管理工具命令



本章节类目有多篇文章。
第一篇(理论):Linux磁盘管理与文件系统(一):磁盘、MBR与分区和文件系统
第二篇:Linux磁盘管理与文件系统(二):实用工具和命令、fdisk分区示例
本篇(第三篇):一些常用管理工具和命令,用于检测、监测系统资源的分配情况和使用情况。

Tip:第二篇有fdisk实验,含有详细步骤~

9、查看磁盘使用情况-df

用于显示文件系统的磁盘空间使用情况。

格式

df [选项] [文件...]

选项

  • h:以人类可读的格式显示(例如:MB, GB)。
  • T:显示文件系统类型。
  • a:包括所有文件系统,包括虚拟文件系统。
  • i:显示inode的使用情况。
  • -hT :以可读格式查看文件系统类型。(较常用)

示例

  1. 查看所有挂载的文件系统及其磁盘使用情况:

    df -h
    
  2. 显示文件系统类型:

    df -T
    
  3. 查看inode的使用情况:

    df -i
    

10、查看设备的 UUID 和文件系统类型-blkid

用于列出设备的 UUID、文件系统类型以及其他信息。是查看设备 UUID 和文件系统类型的常用工具。

格式

blkid [设备]

选项说明

  • 设备:指定要查询的设备(如 /dev/sda1)。如果不指定设备,blkid 将列出所有设备的信息。

示例

  1. 查看所有设备的 UUID 和文件系统类型

    blkid
    
  2. 查看指定设备的 UUID 和文件系统类型

    blkid /dev/sda1
    

11、查看块设备及分区大小挂载点-lsblk

用于列出系统中的块设备及其信息。显示设备名称、类型、大小、挂载点等信息,通常用于查看磁盘和分区的布局。

格式

lsblk [选项]

常用选项

  • a:显示所有设备,包括未挂载的。
  • f:显示文件系统类型和标签等信息。
  • l:以列表格式输出。
  • o:指定要显示的列,如 NAME,SIZE,TYPE,MOUNTPOINT
  • p:显示设备的完整路径。
  • t:显示树形结构,以表示设备间的层次关系。

示例

  1. 列出所有块设备:

    lsblk
    
  2. 显示设备及其文件系统信息:

    lsblk -f
    
  3. 以列表格式显示设备信息:

    lsblk -l
    
  4. 显示设备的完整路径:

    lsblk -p
    
  5. 只显示指定列的信息:

    lsblk -o NAME,SIZE,TYPE,MOUNTPOINT
    

12、列出系统打开的文件或显示资源-lsof

用于列出系统中当前打开的文件和相关信息。可以显示系统中正在被使用的文件、设备文件、目录、套接字、网络连接、设备等资源,用于故障排除和系统监控。

格式

lsof [选项] [文件...] 

常用选项

  • i [类型]:列出网络连接。类型 可以是 TCPUDP@IP地址 等。
  • u [用户]:显示由指定用户打开的文件。
  • p [进程号]:列出指定进程号打开的文件。
  • c [命令]:列出由指定命令打开的文件。
  • +D [目录]:递归列出指定目录下所有打开的文件。
  • t:只输出文件描述符,不显示其他信息。
  • l:显示更详细的锁定信息。

使用场景

  1. 查看进程打开的文件:诊断进程是否有文件句柄泄漏或需要释放的资源。
  2. 检查网络连接:监控网络端口,识别哪个进程在使用特定端口。
  3. 确定文件占用情况:找出哪些进程正在使用某个文件,方便进行文件删除或修改。

示例

  1. 列出系统中所有打开的文件

    lsof
    
  2. 列出某个进程(例如进程号 1234)打开的所有文件

    lsof -p 1234
    
  3. 查看由某个用户(例如 root)打开的所有文件

    lsof -u root
    
  4. 列出所有打开的网络连接

    lsof -i
    
  5. 列出特定端口(例如 80)的网络连接

    lsof -i :80
    
  6. 查看某个文件(例如 /var/log/syslog)被哪些进程打开

    lsof /var/log/syslog
    
  7. 递归列出某个目录(例如 /tmp)下所有被打开的文件

    lsof +D /tmp
    
  8. 只输出文件描述符(简洁模式)

    lsof -t
    

13、查询内存与swap交换分区的使用率-free

用于显示系统当前的内存(RAM)和交换空间(swap space)的使用情况。可以快速查看关于系统资源利用情况的关键信息。在排错的时候会使用到。

格式

free [选项]

常用选项

  • b:以字节为单位显示内存使用情况。
  • k:以 KB 为单位显示内存使用情况(默认)。
  • m:以 MB 为单位显示内存使用情况。
  • g:以 GB 为单位显示内存使用情况。
  • h:以人类可读的格式显示内存使用情况(自动选择合适的单位,如 KB、MB、GB)。
  • t:显示内存的总和信息,包括物理内存和交换空间。
  • s [秒数]:每隔指定的秒数持续输出内存使用情况。

常用命令

表示以 MB 为单位显示结果,使用-m选项

free -m

输出示例

在这里插入图片描述

输出解释

输出包含两大部分:内存(Mem)和交换空间(Swap)。

  • total:总内存或总交换空间大小。
  • used:已使用的内存或交换空间大小。
  • free:未使用的内存或交换空间大小。
  • shared:在多进程间共享的内存量(不是所有系统都会显示这一列)。
  • buff/cache:被缓冲(buffer)和缓存(cache)占用的内存量。这部分内存虽然被标记为“使用”,但实际上当应用需要更多内存时,这些缓冲和缓存是可以被回收的。
  • available:估计可用于启动新应用程序而不需要交换的内存量。这是一个估计值,考虑了缓冲/缓存等因素。

拓展:缓存和缓冲

  • 缓存(Cache):缓存是存储频繁访问的数据的临时存储区域,以减少对较慢存储设备的访问次数(如硬盘)。Linux 系统会积极使用缓存来提高性能。
  • 缓冲(Buffer):缓冲是为了在数据传输过程中减少延迟而设置的临时存储区域。例如,当数据从硬盘读取到内存时,这些数据可能会先被放入缓冲区,然后再被应用程序使用。

14、查看磁盘的读写性能-iostat

用于监控系统的磁盘 I/O 活动,展示系统中 CPU 的利用率和各个设备的 I/O 统计信息。可以查看如下信息:

  • 每秒设备的读写请求数
  • 每秒设备的读写数据量
  • I/O 请求的平均等待时间和服务时间
  • CPU 的整体利用率

格式

iostat [选项] [间隔 [次数]] 
  • 选项:用于定制输出内容的各种选项。
  • 间隔:以秒为单位,指定两次报告之间的时间间隔。
  • 次数:指定报告的输出次数。

常用选项

  • c:只显示 CPU 利用率信息。
  • d:只显示设备的 I/O 统计信息。
  • x:显示扩展的 I/O 统计信息,包括详细的设备利用率。
  • k:以 KB 为单位显示数据(默认以块为单位)。
  • m:以 MB 为单位显示数据。
  • t:显示报告时添加时间戳。

示例

显示整体的 CPU 和设备 I/O 统计信息

iostat

输出示例
在这里插入图片描述


有问题欢迎在评论区交流~

  • 22
    点赞
  • 27
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值