如何查看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系统中,设备驱动文件通常位于/dev目录下,这些文件是内核与用户空间程序交互的接口,其权限直接影响用户或程序对设备的访问能力,修改Linux内核设备驱动文件权限需结合文件系统权限管理、设备管理机制(如udev)及内核模块参数,以下是详细操作步骤和注意事项,设备驱动文件权限基础设备驱动文件分为字符设备……

    2025年9月8日
    2400
  • Linux如何从命令行进入图形界面?

    Linux系统作为一种强大的开源操作系统,既可以通过命令行界面(CLI)进行高效操作,也支持图形用户界面(GUI)以提供更直观的操作体验,对于从命令行切换到GUI的需求,通常分为两种情况:一种是系统已安装GUI环境但默认启动到CLI,需切换启动模式;另一种是系统未安装GUI,需先安装桌面环境再启动,以下将结合不……

    2025年10月1日
    1100
  • Linux查看进程ID的方法有哪些?常用命令及操作步骤是什么?

    在Linux系统中,进程ID(PID)是操作系统为每个正在运行的进程分配的唯一标识符,用于进程管理、资源监控和调试等场景,掌握查看进程ID的方法是Linux系统管理的基础技能,本文将详细介绍多种查看进程ID的命令及其使用场景,帮助用户根据实际需求选择合适的工具,基础命令:ps(Process Status)ps……

    2025年9月9日
    2500
  • linux下如何安装python

    在Linux系统中安装Python是开发环境搭建的基础步骤,常见方法包括包管理器安装、源码编译安装及虚拟环境配置,本文以主流发行版(如Ubuntu/Debian、CentOS/RHEL、Fedora)为例,详细说明不同场景下的安装流程及注意事项,通过包管理器安装(适合新手快速部署)包管理器安装是最简单的方式,但……

    2025年8月23日
    3900
  • Linux下如何查看用户权限的具体信息?

    在Linux系统中,用户权限是保障系统安全的核心机制,它决定了用户对文件、目录以及系统资源的访问能力,要查看Linux下的用户权限,需要从文件权限、用户与用户组关系、特殊权限、ACL(访问控制列表)以及sudo权限等多个维度进行综合分析,本文将详细讲解不同场景下的权限查看方法,帮助用户全面掌握Linux权限管理……

    2025年10月5日
    1300

发表回复

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

联系我们

400-880-8834

在线咨询: QQ交谈

邮件:HI@E.KD.CN

关注微信