Linux下如何查看文件的大小?

在Linux系统中,查看文件大小是日常运维和开发中的常见需求,不同命令提供了多样化的查看方式,适用于不同场景,本文将详细介绍几种常用命令及其用法,帮助用户高效获取文件大小信息。

linux如何查看文件大小

ls命令:快速查看文件大小

ls是Linux中最基础的文件列表命令,配合参数可直观显示文件大小。

基础用法

  • ls -l:以长格式显示文件详细信息,包括权限、所有者、大小、修改时间等,第5列即为文件大小,默认以字节(Byte)为单位。
    ls -l example.txt
    # 输出示例:-rw-r--r-- 1 user group 1024 Oct 20 10:30 example.txt
    # 1024即文件大小(字节)
  • ls -lh:-h参数将大小转换为人类可读格式(KB、MB、GB等),更直观。
    ls -lh example.txt
    # 输出示例:-rw-r--r-- 1 user group 1.0K Oct 20 10:30 example.txt
  • ls -la:-a参数显示包括隐藏文件(以开头的文件)在内的所有文件,结合-l可查看隐藏文件大小。

du命令:统计目录或文件磁盘占用

du(Disk Usage)主要用于统计文件或目录的磁盘空间占用,与ls不同,du计算的是实际占用的块大小(可能因文件系统碎片化略大于文件实际大小)。

常用参数

  • du -sh:-s仅显示总计大小,-h以人类可读格式输出,适合快速查看目录总占用。
    du -sh /home/user/documents
    # 输出示例:2.5G   /home/user/documents
  • du -h --max-depth=1:查看当前目录下一级子目录的大小,--max-depth=1限制递归深度。
    du -h --max-depth=1 /var/log
    # 输出示例:1.2G   /var/log/apt
    # 450M    /var/log/journal
    # 100K    /var/log/alternatives
  • du -ah:递归显示所有文件和目录的大小,-a包含文件,适合精细分析目录结构。

stat命令:查看文件详细属性及大小

stat命令用于显示文件的详细状态信息,包括文件大小、 inode 号、权限、访问/修改时间等,适合需要精确信息的场景。

linux如何查看文件大小

基础用法

stat example.txt
# 输出示例:
#  File: example.txt
#  Size: 1024           Blocks: 8          IO Block: 4096   regular file
#  Device: 801h/2049d   Inode: 131075      Links: 1
#  Access: (0644/-rw-r--r--)  Uid: ( 1000/   user)   Gid: ( 1000/  group)
#  Access: 2023-10-20 10:30:00.000000000 +0800
#  Modify: 2023-10-20 10:30:00.000000000 +0800
#  Change: 2023-10-20 10:30:00.000000000 +0800
#  Birth: -

其中Size字段即为文件的实际大小(字节)。

find命令:按大小查找文件

find命令可结合-size参数按文件大小查找文件,适合批量筛选特定大小的文件。

常用参数

  • -size +100M:查找大于100MB的文件;-size -100K:查找小于100KB的文件;-size 1G:查找大小恰好为1GB的文件。
    find /var -type f -size +100M  # 在/var目录下查找大于100MB的文件
    find /home -type f -size 10M   # 在/home目录下查找大小为10MB的文件

不同命令对比总结

命令 主要功能 常用参数 适用场景
ls 列出文件及大小 -l, -h, -a 快速查看当前目录文件大小
du 统计磁盘占用 -s, -h, --max-depth 分析目录/文件磁盘空间使用情况
stat 显示文件详细属性 无(直接执行) 查看文件精确大小及元数据
find 按条件查找文件 -size, -type 批量筛选特定大小的文件

相关问答FAQs

Q1:为什么ls显示的文件大小和du显示的不一样?
A:ls显示的是文件的实际内容大小(如1024字节),而du统计的是文件在磁盘上占用的块大小(文件系统以块为单位存储,默认块大小为4KB,即使文件只有1字节,也会占用1个块)。du会计算目录下所有子文件和子目录的占用,而ls仅显示单个文件大小,因此两者结果可能存在差异。

linux如何查看文件大小

Q2:如何查找系统中所有大于1GB的文件?
A:使用find命令结合-size参数,通过+1G表示大于1GB,-type f限定仅查找文件(排除目录)。

find / -type f -size +1G 2>/dev/null

其中2>/dev/null用于屏蔽权限不足等错误信息,避免输出干扰。

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

赞 (0)
酷番叔酷番叔
上一篇 2025年8月22日 17:31
下一篇 2025年8月22日 17:46

相关推荐

  • Linux配置文件修改后不重启如何生效?

    在Linux系统中,修改配置文件后通常需要重启服务或系统才能使配置生效,但重启可能导致服务中断或影响业务连续性,多数场景下可通过特定命令让配置立即生效,既保证效率又减少停机时间,不同类型的配置文件对应不同的生效方式,需结合具体场景选择合适方法,对于系统服务配置,如Nginx、Apache、MySQL等,通常使用……

    2025年10月2日
    28200
  • Linux系统如何正确打补丁?详细步骤与方法是什么?

    Linux系统打补丁是维护系统安全性和稳定性的重要操作,通过修复漏洞、优化性能或更新功能,确保系统正常运行,打补丁的流程需根据补丁类型(系统补丁、内核补丁、应用补丁等)和发行版选择合适的方法,以下是详细步骤和注意事项,打补丁前的准备工作在执行补丁操作前,需做好充分准备,避免因操作失误导致系统问题:备份系统:使用……

    2025年9月20日
    33300
  • 如何在linux下运行jmeter

    在Linux环境下运行JMeter是进行性能测试的常见需求,其过程涉及环境准备、安装配置、启动运行及优化等步骤,以下是详细操作指南,帮助你在Linux系统中顺利部署和使用JMeter,环境准备JMeter是基于Java的应用程序,运行前需确保Linux系统已安装Java开发工具包(JDK),建议使用JDK 8……

    2025年10月2日
    44900
  • Linux误删文件夹还能恢复吗?

    核心命令详解rmdir 命令(安全删除空文件夹)适用场景:仅删除空文件夹,命令格式:rmdir 文件夹路径示例:rmdir /home/user/empty_folder # 删除名为 empty_folder 的空目录⚠️ 限制:若文件夹非空,将报错 Directory not empty,rm 命令(递归删……

    2025年6月28日
    26400
  • 为什么你总是存不下钱?

    在Linux系统中,僵尸进程(Zombie Process)是已终止但未被父进程回收资源的子进程,它们虽不消耗CPU和内存,但会占用有限的进程ID(PID)资源,积累过多可能导致系统无法创建新进程,以下是专业且可操作的避免方法:僵尸进程的产生原理当子进程终止后,内核会保留其退出状态(exit status)直到……

    2025年8月6日
    22300

发表回复

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

联系我们

400-880-8834

在线咨询: QQ交谈

邮件:HI@E.KD.CN

关注微信