当前位置:首页 > Linux > 正文

linux下如何查看存储

nux下查看存储可用 df -hdu -sh /pathlsblkfdisk -l等命令

Linux系统中,查看存储信息是一项基础且重要的任务,它帮助用户了解磁盘空间的使用情况、分区布局以及设备状态,以下是详细的操作指南和常用命令解析:

linux下如何查看存储  第1张

核心命令详解

df——统计文件系统级容量

  • 功能:显示已挂载的文件系统的总容量、可用空间及挂载点,支持通过不同选项过滤或调整输出格式。df -h以人类可读的单位(如GB/MB)展示数据,适合快速浏览;df -T额外显示文件系统类型(ext4, xfs等);df -a包含特殊设备如tmpfs的临时文件系统信息。
  • 典型输出示例:执行df -h后,可能看到类似如下结果:
    |文件系统|容量|已用|可用|已用百分比|挂载点|
    |—|—|—|—|—|—|
    |/dev/sda2 |462G|350G|112G |76% |/ |
    |/dev/sda1 |200M|50M |150M |25% |/boot/efi |
  • 适用场景:快速评估整体存储余量,定位占满的分区,若发现根目录(/)使用率过高,需进一步用du排查具体目录。

du——递归计算目录占用空间

  • 功能:深度统计指定路径下所有子目录和文件的总大小,常用参数包括-h(人性化单位)、-s(仅显示总和)、--max-depth=1(限制层级避免过于琐碎)。du -sh /home/可列出家目录下各用户的存储消耗排名。
  • 实战技巧:结合排序工具高效定位大文件:du -ah /var/log | sort -nr | head -10能找出日志中最大的前10个条目,此方法常用于清理老旧日志释放空间。

lsblk——可视化块设备拓扑结构

  • 功能:以树状结构呈现物理磁盘、逻辑卷与分区的关系,并标注设备名、大小、挂载点等元数据,无参数直接运行即可获取概览;添加-f显示文件系统类型,对多路径映射场景特别有用。
  • 典型输出片段
    NAME   MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
    sda    8:0    0 465.8G 0 disk
      ├─sda1 8:1  0   200M 0 part /boot/efi
      ├─sda2 8:2  0 462.6G 0 part /
      └─sda3 8:3  0   3.4G 0 part [SWAP]
  • 优势:直观展示LVM卷管理下的复杂结构,比传统文本列表更易理解存储架构。

fdiskparted——底层分区管理双雄

  • fdisk:传统MBR分区表工具,适用于兼容性要求高的场景,执行fdisk -l /dev/sda列出该盘的所有主/扩展分区及起始扇区位置,注意其不支持GPT格式磁盘。
  • parted:现代化替代品,支持GPT、RAID等多种特性,如sudo parted /dev/sdb print不仅显示分区尺寸,还能识别文件系统标签(如swap、raid),两者互补覆盖绝大多数分区查看需求。

mount&/proc/mounts——动态挂载监控

  • 实时性:前者显示当前活动的挂载配置(含手动临时挂载),后者读取内核维护的只读快照,对比两者差异有助于排查umount失败导致的残留条目问题。
  • 安全提示:修改/etc/fstab后务必先用mount -v测试验证,再重启生效,错误配置可能导致系统无法启动。

辅助工具扩展能力边界

blkid——UUID精准识别

  • 当需要自动化脚本处理设备标识时,blkid提供的全局唯一ID比设备节点路径更可靠,云服务器环境中通过UUID而非/dev/sda1来定义启动盘,避免硬件变更导致的路径漂移问题。

lshw——硬件级详细信息采集

  • 运行lshw -class disk可获取厂商型号、序列号等物理特性数据,这对硬件维保和资产审计非常重要,相比纯软件层面的统计,它能揭示SSD剩余寿命预测等高级指标。

lsof——打开文件关联分析

  • 某些情况下进程持续写入隐藏文件造成空间泄漏,此时lsof +L1结合正则表达式过滤,可定位到具体哪个进程持有被删除但未释放的句柄。

典型工作流建议

在实际运维中,推荐采用分阶段诊断策略:先用df -h锁定紧张的分区 → 对该分区执行du -x --max-depth=3 /path | sort -hr定位热点目录 → 如果涉及大量小文件,改用find /path -type f -exec ls -l {} + | sort -k7nr量化分布情况 → 最后用lsblk确认是否因快照或分层存储导致实际可用空间小于预期,这种由宏观到微观的方式能高效解决问题。


FAQs

Q1:为什么执行df命令后看到的空间总和小于实际硬盘标称容量?

A: 这是由于两部分因素导致的正常现象:①厂商按十进制(1GB=10^9字节)计算容量,而Linux使用二进制(1GiB=2^30字节)进行报告;②部分预留空间用于坏道屏蔽和紧急恢复用途,并未完全开放给用户使用,例如一块标注500GB的机械硬盘,在系统中通常显示约465GB可用空间。

Q2:如何安全删除由du定位的大文件夹而不损坏系统?

A: 遵循三步骤原则:①确认路径不在关键目录(如/etc, /var);②先移动至临时位置观察影响:mv suspect_dir /tmp/backup_$(date +%Y%m%d);③确认无误后彻底清除:rm -rf /tmp/backup_,对于包含活跃进程的文件,应先终止相关

0