如何查看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大文件:
    结合sort和head命令:

    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系统如何实现U盘自动挂载?详细操作步骤与方法指南

    在Linux系统中,自动挂载U盘可以提升用户体验,避免手动执行mount命令的繁琐操作,实现自动挂载的核心在于让系统识别U盘设备后,自动将其挂载到预设的目录,并设置正确的访问权限,本文将详细介绍Linux自动挂载U盘的原理、具体方法及注意事项,自动挂载的基本原理Linux系统通过内核模块和用户空间工具实现设备自……

    2025年8月22日
    25000
  • Linux如何3秒查看CPU信息?

    使用 lscpu 命令(推荐)最简洁的专业工具,直接显示CPU架构和核心信息:lscpu输出关键字段解析:Architecture:CPU架构(如x86_64、ARM)CPU(s):逻辑处理器总数(线程数)Core(s) per socket:单个物理CPU的核心数Socket(s):物理CPU插槽数量Mode……

    2025年7月29日
    34700
  • Linux系统下如何手动添加静态路由表项的具体操作步骤?

    在Linux系统中,路由表是网络数据包转发的重要依据,它决定了数据包的传输路径,当需要让Linux服务器访问非直连网络或多网关环境时,手动添加路由是必要的操作,本文将详细介绍Linux下添加路由的方法,包括临时路由和永久路由的配置,以及不同发行版的差异,路由基础与临时路由添加Linux路由表记录了目标网络、下一……

    2025年9月23日
    32700
  • Linux启动进程的具体方法与步骤有哪些?

    Linux系统中,进程是程序执行的基本单位,启动进程是系统运行的核心操作之一,理解Linux如何启动进程,需要从进程的基本概念、启动方式、底层机制及管理工具等多个维度展开,进程的基本概念与属性在Linux中,进程是一个动态执行的实体,拥有独立的虚拟地址空间、系统资源(如文件描述符、内存空间)和执行状态,每个进程……

    2025年9月30日
    18700
  • 在Linux操作系统中,如何为用户安装桌面图标?具体操作步骤是怎样的?

    在Linux系统中,桌面图标是用户与交互的重要入口,无论是快速启动应用程序、访问常用文件,还是自定义个性化界面,桌面图标都扮演着关键角色,由于Linux桌面环境(如GNOME、KDE Plasma、XFCE等)的多样性,添加桌面图标的方法因环境而异,本文将详细介绍不同桌面环境下添加和管理桌面图标的通用方法及个性……

    2025年10月6日
    36300

发表回复

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

联系我们

400-880-8834

在线咨询: QQ交谈

邮件:HI@E.KD.CN

关注微信