如何查看linux系统的空间

在Linux系统中,管理磁盘空间是系统维护的重要环节,及时了解空间使用情况可避免因磁盘满载导致服务异常,本文将详细介绍多种查看Linux系统空间的方法,涵盖文件系统、目录、块设备及内存等维度的分析工具,并通过实例和表格帮助读者快速掌握操作技巧。

如何查看linux系统的空间

使用df命令查看文件系统磁盘使用情况

df(disk free)是Linux中最常用的磁盘空间查看命令,主要用于显示文件系统的整体磁盘使用量,包括已用空间、可用空间、使用率及挂载点等信息。

基本语法与常用选项

df [选项] [文件或目录]

常用选项包括:

  • -h--human-readable:以人类可读格式显示(如K、M、G);
  • -T--print-type:显示文件系统类型(如ext4、xfs、nfs等);
  • -i--inodes:显示inode使用情况而非块使用量;
  • -x--exclude-type:排除指定文件系统类型(如-x tmpfs忽略临时文件系统)。

示例输出与解读

执行df -hT后,输出示例如下:

Filesystem     Type      Size  Used Avail Use% Mounted on
/dev/sda1      ext4       50G   20G   28G  42% /
tmpfs          tmpfs      2G     0    2G   0% /dev/shm
/dev/sdb1      xfs        100G  35G   65G  35% /data

各列含义:

  • Filesystem:文件系统名称(如/dev/sda1为物理分区,tmpfs为内存虚拟文件系统);
  • Type:文件系统类型;
  • Size:总空间大小;
  • Used:已用空间;
  • Avail:可用空间;
  • Use%:使用率(超过80%需警惕);
  • Mounted on:挂载点(如根目录/、数据盘/data)。

特殊场景:查看inode使用情况

inode是Linux中用于存储文件元数据的结构,大量小文件可能耗尽inode导致磁盘“已满”,通过df -i可检查inode使用率:

df -i

若某分区Use%接近100%,需清理小文件或优化文件存储策略。

使用du命令分析目录/文件占用空间

du(disk usage)用于递归统计指定目录或文件的磁盘占用空间,适合定位具体的大文件或目录。

基本语法与常用选项

du [选项] [文件或目录]

常用选项:

  • -h:人类可读格式;
  • -s--summarize:仅显示总计大小,不递归子目录;
  • --max-depth=N:限制递归深度(如--max-depth=1仅统计一级子目录);
  • -a--all:统计所有文件,而不仅仅是目录。

示例与技巧

  1. 查看当前目录总大小

    du -sh

    输出示例:2G .(当前目录占用1.2GB)。

    如何查看linux系统的空间

  2. 查看指定目录下各子目录大小

    du -h --max-depth=1 /var/log

    输出示例:

    2G    /var/log/journal
    800M    /var/log/apt
    4.0K    /var/log/lost+found

    可快速定位占用空间最大的子目录(如journal目录)。

  3. 查找Top10大文件
    结合sorthead命令:

    du -ah /home | sort -hr | head -n 10

    -h按人类可读排序,-r降序,head -n 10显示前10条结果。

使用lsblk命令查看块设备信息

lsblk(list block devices)用于显示磁盘分区的结构信息,包括磁盘名称、大小、挂载点、文件系统类型等,适合了解物理磁盘与分区的对应关系。

基本语法与选项

lsblk [选项]

常用选项:

  • -f:显示文件系统信息(如UUID、Label);
  • -d:仅显示磁盘设备,不显示分区;
  • -o NAME,SIZE,FSTYPE,MOUNTPOINT:自定义输出列(设备名、大小、文件系统类型、挂载点)。

示例输出

执行lsblk -f后:

NAME   FSTYPE   MOUNTPOINT  SIZE RO
sda             256G  0
├─sda1  ext4     /          50G  0
├─sda2  swap     [SWAP]     8G   0
└─sda3  xfs      /data      198G 0
sdb             512G  0
└─sdb1  ext4     /backup    512G 0
  • NAME:设备名(sda/sdb为磁盘,sda1/sdb1为分区);
  • FSTYPE:文件系统类型(无值表示未格式化);
  • MOUNTPOINT:挂载点([SWAP]表示交换分区)。

使用free命令查看内存与交换空间使用情况

虽然free主要用于内存监控,但交换空间(swap)作为磁盘空间的特殊用途,也属于系统空间管理的一部分。

基本语法与选项

free [选项]

常用选项:

如何查看linux系统的空间

  • -h:人类可读格式;
  • -m:以MB为单位显示;
  • -s N:每N秒刷新一次(如free -s 3每3秒更新)。

示例输出

free -h
              total        used        free      shared  buff/cache   available
Mem:          7.7G        2.1G        4.3G        256M        1.3G        5.2G
Swap:         2.0G          0B        2.0G
  • Mem:物理内存(total总内存,used已用,free空闲,buff/cache缓存);
  • Swap:交换空间(当物理内存不足时,部分数据临时写入磁盘)。

使用ncdu工具交互式分析磁盘空间

ncdu(NCurses Disk Usage)是一个交互式磁盘分析工具,支持通过键盘导航、删除文件,比du更直观,适合快速定位和清理大文件。

安装与使用

  1. 安装(以Ubuntu为例):

    sudo apt install ncdu
  2. 扫描目录

    ncdu /var/log

    进入交互界面后,通过上下键选择目录,按Enter进入子目录,按d删除文件(需确认),按q退出。

  3. 查看结果
    界面显示目录大小、占用百分比,并按大小排序,便于快速定位“空间大户”。

各命令适用场景对比

命令 主要用途 适用场景 常用选项
df 查看文件系统整体使用情况 监控磁盘使用率、排查空间不足 -h, -T, -i
du 统计目录/文件具体占用空间 定位大文件、清理冗余数据 -sh, --max-depth, -a
lsblk 查看块设备与分区结构 了解磁盘布局、挂载关系 -f, -d, -o
free 查看内存与交换空间使用情况 内存管理、swap空间规划 -h, -m, -s
ncdu 交互式磁盘空间分析 可视化定位大文件、快速清理 无(直接接目录路径)

相关问答FAQs

Q1:为什么df显示的已用空间和du汇总的目录大小不一致?
A:主要有以下原因:

  1. 保留块(Reserved Blocks):文件系统会为root用户预留一定比例的空间(如5%),df的已用空间包含这部分,而du仅统计普通用户占用的空间;
  2. 挂载点重叠:若子目录被单独挂载(如/home挂载到独立分区),du /会统计/home的总大小,但df中和/home是两个独立的文件系统;
  3. 文件状态du统计时,若文件正在被写入或删除,可能因缓存延迟导致统计偏差;
  4. inode占用:若inode耗尽,df会显示空间已满,但du可能统计不到具体文件(因文件无法创建)。

Q2:如何自动清理不必要的文件释放空间?
A:可通过以下脚本定期清理常见冗余文件:

#!/bin/bash
# 清理日志文件(保留最近7天)
find /var/log -type f -name "*.log" -mtime +7 -exec rm -f {} ;
# 清理包管理器缓存(apt/yum)
command -v apt >/dev/null && sudo apt clean
command -v yum >/dev/null && sudo yum clean all
# 清理临时文件(/tmp中超过30天未访问)
find /tmp -type f -atime +30 -exec rm -f {} ;
echo "清理完成"

将脚本保存为clean_space.sh,添加执行权限(chmod +x clean_space.sh),并通过crontab -e设置定时任务(如每月1日执行:0 0 1 * * /path/to/clean_space.sh)。

原创文章,发布者:酷番叔,转转请注明出处:https://cloud.kd.cn/ask/16774.html

(0)
酷番叔酷番叔
上一篇 2025年8月25日 13:35
下一篇 2025年8月25日 13:46

相关推荐

  • 为什么你的Linux文件结构总是混乱?

    在Linux系统中,文件结构是操作系统的核心骨架,它决定了文件、目录和设备的组织方式,无论您是系统管理员、开发者还是普通用户,理解如何查看文件结构都至关重要——它能帮助您高效管理系统资源、排查故障或部署应用,下面将详细介绍多种查看方法,从基础命令到高级工具,均附带实用示例,Linux采用层级树形结构,以根目录……

    2025年7月5日
    7500
  • Linux如何将GPIO配置为时钟输出?

    在Linux系统中将GPIO配置为时钟输出,通常需要利用硬件引脚的复用功能(Alternative Function),因为大多数GPIO引脚在特定复用模式下可作为时钟输出(如MCU的MCO引脚或SoC的专用时钟输出引脚),这一过程涉及硬件资源确认、设备树配置、寄存器操作或用户空间工具使用等多个环节,具体步骤因……

    2025年9月30日
    3900
  • linux子系统如何删除

    在Linux生态系统中,“子系统”通常指通过隔离技术运行的轻量级Linux环境,常见于Windows系统中的WSL(Windows Subsystem for Linux)、Linux容器(如Docker、LXC)或虚拟机(如KVM),删除这些子系统需根据具体场景操作,核心原则是先停止运行环境、清理资源文件,再……

    2025年9月17日
    4300
  • linux 如何运行python

    Linux 中,确保已安装 Python,打开终端输入 python

    2025年8月14日
    5700
  • 如何快速上手并熟练掌握linux2.6系统的使用方法?

    Linux 2.6作为Linux内核的一个重要版本,自2003年发布以来,凭借其稳定的性能、增强的硬件支持和优化的调度算法,被广泛应用于服务器、嵌入式系统等领域,掌握Linux 2.6的使用,需要从安装、基础操作、系统管理到安全配置逐步实践,以下将详细介绍其核心使用方法,安装与初始配置Linux 2.6的安装可……

    2025年10月7日
    3500

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

联系我们

400-880-8834

在线咨询: QQ交谈

邮件:HI@E.KD.CN

关注微信