如何在 Linux 中查找大文件

linux 经常硬盘空间不足,往往是由于一些大文件造成;之前寻找大文件总是很头疼,速度特别慢。
经学弟介绍使用:du -sh * |grep G 查找和清理速度不错,分享一下清理过程。

查看系统存储状态

[cuihuan:~ cuixiaohuan]$ df -h
Filesystem Size Used Avail Use% Mounted on
/dev/sda2 8.2G 6.7G 1.6G 82% /
/dev/sda3 1.4T 1.3T 50G 97% /home

1.5T的硬盘占用了97%,确实不够用了,必须着手清理一下

查找大文件

主要使用查找命令:du -sh * |grep G
从根文件开始查找

[cuihuan:~]$ du -sh * | grep G
。。。
73G mongodb
103G mxm
2.1G online
613G thirdparty [binggo!!!]

bingo 613g,看来这个是主要矛盾了,进一步分析该文件

[cuihuan:~ mysql5]$ du -sh *
116M bin
904K include
13M lib
17M libexec
458G log [-__]
8.0K my.cnf
76M mysql-test
13M share
2.9M sql-bench
4.0K test
4.0K tmp
101G var [-_-]
[cuihuan:~ mysql5]$ cd log
[cuihuan:~ log]$ ls -lh
total 458G
-rw-rw---- 1 work work 870K Dec 2 17:42 mysql.err
-rw-rw---- 1 work work 3.9K Mar 24 2015 mysql.err-old
-rw-rw---- 1 work work 446G Dec 3 15:19 mysql.log 【-__】
-rw-rw---- 1 work work 11G Dec 3 15:10 slow.log

经过分析看到mysql.log的日志占了446G,着手清理下。【mysql log 好的保存方式是:天级导出,清理n天之前的log,此处不再赘述】

清理之后效果

清理 mysql.log 和var 之后
清理了大约500g的空间

[cuihuan:~ var]$ df -h   
Filesystem Size Used Avail Use% Mounted on
/dev/sda2 8.2G 6.7G 1.6G 82% /
/dev/sda3 1.4T 757G 584G 57% /home

在 Linux 系统中,有时候我们需要查找并识别占用大量磁盘空间的文件。这些大文件可能导致磁盘空间不足或性能下降。本文将详细介绍在 Linux 中使用不同的命令和工具来查找大文件的方法。

1. 使用 find 命令

find 命令是一个功能强大的工具,可以用于在文件系统中搜索和查找文件。结合 -size 选项,我们可以使用 find 命令来查找指定大小的文件。

以下是使用 find 命令查找大于 100 MB 的文件的示例:

find /path/to/directory -type f -size +100M

上述命令将在 /path/to/directory 目录中查找大于 100 MB 的文件。您可以根据需要更改目录路径和文件大小限制。

2. 使用 du 命令

du 命令用于计算文件或目录的磁盘使用情况。通过结合 -h(人类可读)和 -s(总结)选项,我们可以使用 du 命令查找和显示目录中文件的大小。

以下是使用 du 命令查找指定目录中最大的文件的示例:

du -ah /path/to/directory | sort -rh | head -n 10

上述命令将列出 /path/to/directory 目录中最大的 10 个文件,按照文件大小进行降序排序。

3. 使用 ncdu 命令

ncdu 是一个交互式的磁盘使用情况分析工具,可以帮助您快速定位并可视化磁盘上占用空间较大的文件和目录。

要使用 ncdu 命令,您可以先安装它(如果系统上尚未安装),然后运行以下命令:

ncdu /path/to/directory

上述命令将启动 ncdu 工具,并在指定目录中进行磁盘使用情况分析。您可以使用键盘上的方向键浏览文件和目录,并按照大小排序。

4. 使用 ls 命令

ls 命令用于列出文件和目录。通过结合 -lh(人类可读)和 -S(按大小排序)选项,我们可以使用 ls 命令列出指定目录中文件的大小,并按照文件大小进行排序。

以下是使用 ls 命令列出指定目录中最大的文件的示例:

ls -lhS /path/to/directory | head -n 10

上述命令将列出 /path/to/directory 目录中最大的 10 个文件,并按照文件大小进行降序排序。

5. 使用 finddu 结合

结合使用 find 命令和 du 命令,我们可以更精确地查找大文件,并显示它们的大小。

以下是使用 finddu 结合查找大于 1 GB 的文件的示例:

find /path/to/directory -type f -size +1G -exec du -h {} \; | sort -rh | head -n 10

上述命令将在 /path/to/directory 目录中查找大于 1 GB 的文件,并使用 du 命令计算它们的大小。然后,根据文件大小进行降序排序,并显示最大的 10 个文件。

6. 使用图形化工具

除了命令行工具,Linux 还提供了一些图形化工具来帮助您查找大文件。这些工具通常提供直观的界面和交互式功能,使您能够更轻松地浏览和管理文件系统。

一些流行的图形化工具包括:

  • Baobab:一款可视化磁盘空间分析工具,提供饼图和树状图来显示文件和目录的大小。
  • Filelight:一款可视化磁盘空间使用情况的工具,以彩色的矩形图形表示文件和目录的大小。
  • GNOME Disk Usage Analyzer:一款用于可视化和分析磁盘使用情况的工具,提供饼图和树状图以及文件和目录的列表。

您可以通过在应用商店或使用包管理器搜索工具名称来安装它们。

结论

在 Linux 中,有多种方法可以查找大文件。您可以使用 find 命令、du 命令、ncdu 命令或 ls 命令来查找和显示文件的大小。此外,还可以使用图形化工具来可视化和分析磁盘空间的使用情况。

通过掌握这些方法,您可以更好地了解文件系统中的大文件,从而更好地管理磁盘空间和优化系统性能。

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

沈伟-GodGreat

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值