在Ubuntu中查找大文件,主要有以下几种高效的方法,你可以根据习惯和场景选择。


? 方法一:find 命令——精准定位


find 是Linux下最强大的文件搜索工具之一,可以根据文件大小、类型、名称等精确查找。




  • 基本语法:find [起始目录] -type f -size [+/-]数值[单位]




  • 常用示例:




    • 查找当前目录下大于100MB的文件:find . -type f -size +100M




    • 查找整个系统中大于1GB的文件(需管理员权限):sudo find / -type f -size +1G




    • 以人类可读格式显示结果并排序:




    find . -type f -size +100M -exec ls -lh {} \; | sort -rh -k5

    这条命令会找到大于100MB的文件,以易读格式(如1.2G, 500M)显示,并按大小降序排列。



    • 查找特定类型的大文件(例如,所有大于100MB的.mp4视频文件):


    find . -type f -iname "*.mp4" -size +100M

    这里的 -iname 表示不区分大小写。





注意:-exec ls -lh {} \; 中的 {} 是一个占位符,代表 find 找到的每一个文件-。2>/dev/null 可以忽略权限不足的错误信息,让输出更干净。



? 方法二:du + sort 组合——宏观分析


du(disk usage)命令用于统计文件或目录的磁盘占用空间,结合 sort 可以快速定位“空间杀手”。




  • 查看当前目录下最大的10个文件或目录:


    du -ah --max-depth=1 | sort -rh | head -n 10



  • 查看整个系统中最大的20个文件或目录(需管理员权限):


    sudo du -ah / | sort -rh | head -n 20




参数解释:



  • -a:显示所有文件,而不仅仅是目录。

  • -h:以人类可读的格式(如K, M, G)显示大小-。

  • --max-depth=1:限制 du 的递归深度,只显示当前目录下的内容。

  • sort -rh:按人类可读的数字大小进行反向(降序)排序-。

  • head -n 10:只显示前10行结果-。



?️ 方法三:ncdu 工具——交互式浏览(强烈推荐)


ncdu (NCurses Disk Usage) 是一个基于终端的交互式磁盘分析工具-。它以树状图展示目录和文件大小,操作直观,非常适合快速探索和定位大文件。




  • 安装:


    sudo apt update && sudo apt install ncdu



  • 使用方法:



    • 扫描当前用户主目录:ncdu ~

    • 扫描整个系统(需管理员权限):sudo ncdu /

    • 扫描特定目录(如 /var):sudo ncdu /var




  • 交互操作:



    • ↑/↓:上下移动选择。

    • →:进入选中的子目录。

    • ←:返回上级目录。

    • d:删除选中的文件或目录(会有确认提示)。

    • g:切换大小显示单位。

    • q:退出 ncdu。




?️ 方法四:图形化工具——新手友好


如果你更喜欢图形界面,Ubuntu自带的磁盘使用分析器(Disk Usage Analyzer,也叫Baobab)是一个很好的选择。



  • 打开方式:

    • 在应用程序菜单中搜索“Disk Usage Analyzer”或“Baobab”并启动。

    • 或在终端中直接输入命令:baobab。


  • 使用步骤:选择“扫描主目录”或特定文件夹,工具会生成环形图或树状图,直观显示各文件/目录的占用比例,点击即可深入查看。


? 总结与建议



  • 快速定位:如果只是想快速查看哪个目录占用空间大,ncdu 是最便捷的选择。

  • 精确查找:如果你明确知道要找大于特定大小的文件(如 > 500MB),find 命令最高效。

  • 宏观分析:如果想了解当前目录下各个子目录的占用情况,du -h --max-depth=1 | sort -rh 组合非常实用。

  • 新手入门:不熟悉命令行的用户,推荐使用图形化的“磁盘使用分析器”。


找到大文件后,请务必确认文件用途,避免误删系统或重要数据。确认无用后,可使用 rm 命令删除,或通过 find 的 -delete 选项批量处理