Linux查看文件夹文件大小,实用命令与技巧指南

admin
在Linux中,查看文件夹文件大小常用du命令:du -sh显示当前目录总大小,du -h --max-depth=1查看各子目录大小,结合sort -rh可按大小降序排序,便于快速定位大文件,find命令可筛选特定类型文件,如find . -type f -size +100M查找大于100MB的文件,df -h查看磁盘整体使用情况,这些命令搭配使用,能高效分析磁盘空间占用,助力文件管理与清理。

在Linux系统中,管理文件和磁盘空间是日常运维的重要任务,无论是排查磁盘占用过高、清理冗余文件,还是分析目录结构,快速查看文件夹及其子文件的占用空间都是关键技能,本文将详细介绍Linux中查看文件夹文件大小的常用命令、具体用法及实用技巧,帮助你高效掌握这一技能。

基础入门:用ls命令快速查看当前目录文件大小

ls是Linux中最常用的文件列表命令,配合特定选项可以快速查看当前目录下文件及子目录的大小(注意:ls默认不递归显示子目录的总大小,仅显示单个文件或目录本身的“元数据大小”,而非其内容占用空间)。

常用选项及示例:

  1. -l(长格式显示)+ -h(人类可读单位)
    显示文件的详细信息(包括权限、所有者、大小、修改时间等),并将文件大小转换为KB、MB、GB等易读格式。

    Linux查看文件夹文件大小,实用命令与技巧指南

    ls -lh

    输出示例:

    total 12K
    drwxr-xr-x 2 user user 4.0K Oct 20 10:00 Documents
    -rw-r--r-- 1 user user  256 Oct 20 09:30 log.txt
    -rw-r--r-- 1 user user 8.0K Oct 20 09:30 data.zip

    说明:Documents是目录,0K是该目录本身的元数据大小(如目录项信息),而非其内容总大小;log.txtdata.zip是文件,显示的是实际文件内容大小。

  2. -l + -h + -S(按大小降序排序)
    如果希望按文件大小从大到小排序,可添加-S选项:

    ls -lhS

    输出会优先显示大文件,方便快速定位占用空间较多的文件。

局限性:

ls命令无法直接查看目录及其子目录的总占用空间,仅适用于查看当前目录下单个文件或目录的“自身大小”,若需分析目录内容的空间占用,需使用更专业的du命令。

核心工具:du命令——目录空间占用分析利器

du(Disk Usage)是Linux中专门用于查看文件和目录磁盘使用情况的命令,支持递归计算子目录大小,是分析文件夹空间占用的主力工具。

基本用法

直接在命令后跟目录路径,即可查看该目录下所有子文件和子目录的占用空间(默认以块为单位,1块=512字节)。

du /path/to/directory

示例(查看/var/log目录的占用情况):

du /var/log

输出示例(部分):

8       /var/log/apt
4       /var/log/dist-upgrade
1024    /var/log/journal
256     /var/log/unattended-upgrades
2048    /var/log

说明:输出结果中,数字是目录占用的块数,最后一行是总块数(包含所有子目录)。

常用选项组合

(1)-h:人类可读单位

将块数转换为KB、MB、GB,更直观:

du -h /var/log

输出示例:

0K    /var/log/apt
4.0K    /var/log/dist-upgrade
1.0M    /var/log/journal
256K    /var/log/unattended-upgrades
2.0M    /var/log

(2)-s(汇总总大小)

仅显示指定目录的总占用空间(不递归显示子目录详情),适合快速查看目录总大小:

du -sh /var/log

输出示例:

0M    /var/log

(3)-a(显示所有文件)

默认情况下,du不显示普通文件的大小,仅显示目录;添加-a可包含文件:

du -ah /var/log | head -10

输出示例:

0K    /var/log/apt
4.0K    /var/log/apt/term.log
4.0K    /var/log/dist-upgrade
4.0K    /var/log/dist-upgrade/dist-upgrade.log
1.0M    /var/log/journal
256K    /var/log/unattended-upgrades
256K    /var/log/unattended-upgrades/unattended-upgrades.log
2.0M    /var/log

(4)--max-depth=N:控制递归深度

当目录层级较深时,可通过--max-depth限制递归层级(N为数字,0表示仅显示当前目录,1表示显示一级子目录,以此类推):

# 查看/var/log下一级目录的大小(不递归到子目录的子目录)
du -h --max-depth=1 /var/log

输出示例:

0K    /var/log/apt
4.0K    /var/log/dist-upgrade
1.0M    /var/log/journal
256K    /var/log/unattended-upgrades
2.0M    /var/log
文章版权声明:除非注明,否则均为xmsdn原创文章,转载或复制请以超链接形式并注明出处。

取消
微信二维码
微信二维码
支付宝二维码