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

server/2024/10/21 5:49:20/

文章目录

  • 9、查看磁盘使用情况-df
    • 格式
    • 选项
    • 示例
  • 10、查看设备的 UUID 和文件系统类型-blkid
    • 格式
    • 选项说明
    • 示例
  • 11、查看块设备及分区大小挂载点-lsblk
    • 格式
    • 常用选项
    • 示例
  • 12、列出系统打开的文件或显示资源-lsof
    • 格式
    • 常用选项
    • 使用场景
    • 示例
  • 13、查询内存与swap交换分区的使用率-free
    • 格式
    • 常用选项
    • 常用命令
    • 输出示例
    • 输出解释
    • 拓展:缓存和缓冲
  • 14、查看磁盘的读写性能-iostat
    • 格式
    • 常用选项
    • 示例


本章节类目有多篇文章。
第一篇(理论):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

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


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


http://www.ppmy.cn/server/99469.html

相关文章

轻量级的灰度配置平台|得物技术

一、前言 随着近几年得物的业务和技术的快速发展,我们不管是在面向C端场景还是B端供应链;业务版本的迭代更新,技术架构的不断升级;不管是业务稳定性还是架构稳定性,业务灰度的能力对我们来说都是一项重要的技术保障&a…

区块链用什么编程语言实现?

. 主流区块链的开发语言主要有:C、Go、Java、Rust、C#。 C使用率最高,其次是Go,很少有人用python开发区块链。

【优选赛事】2024年iCAN大赛AI视觉检测设计挑战赛

iCAN大学生创新创业大赛(以下简称“iCAN大赛”")是一个无固定限制、鼓励原始创新的赛事,自2007年发起至今,得到了广大青年学生的热爱。2010年,iCAN大赛获批《教育部、财政部关于批准2010年度大学生竞赛资助项目的通知》大学生竞赛资助项…

【JavaEE】线程安全的集合类

目录 前言 多线程环境使用ArrayList 多线程环境使用队列 多线程环境下使用哈希表 1.HashTable 2.ConcurrentHashMap 面试题 1.ConcurrentHashMap的读会否需要加锁,为什么? 2.介绍下ConcurrentHashMap的锁分段技术? 3.ConcurrentHas…

宠物空气净化器什么牌子好?希喂、美的测评推荐

家里养了两只猫,每天晚上和我入眠,早上睡醒过来就看到猫睡在我身边,这一刻幸福感爆棚。幸福感爆棚的同时,无力感也袭来。主要是因为虽然每天玩得都很开心,但是家里的变化让我不禁感慨这是真实存在的吗。一回到家就会发…

SpringBoot中整合Mybatis

一、Mybatis快速入门 1.1、在相应的模块中添加依赖的坐标 首先创建一个maven项目 在对应的pom.xml文件中引入下面的依赖 <dependencies><!--mybatis 依赖--><dependency><groupId>org.mybatis</groupId><artifactId>mybatis</artif…

笔记工具的选择:构建编程学习的高效系统

在编程学习的海洋中&#xff0c;高效的笔记记录和整理方法就像一张珍贵的航海图&#xff0c;能够帮助我们在浩瀚的知识中找到方向。如何建立一个既能快速记录又易于回顾的笔记系统&#xff1f;如何在繁忙的学习中保持笔记的条理性&#xff1f;让我们一起探讨如何打造属于自己的…

uniapp vue 在适配百度小程序平台动态:style

uniapp vue 在适配百度小程序平台动态:style踩坑报错Unexpected string concatenation of literals 抖快平台动态style写法基本是 <view :style"{width: 686rpx, height: (setHeight 96) rpx}"> </view>这种写法在百度上会又解析报错&#xff1a; Une…