📌  相关文章
📜  查找大文件 linux - Shell-Bash (1)

📅  最后修改于: 2023-12-03 14:55:33.488000             🧑  作者: Mango

查找大文件的方法

在 Linux 系统中,我们经常需要查找大文件,以便释放磁盘空间或了解系统中的磁盘存储情况。这里我们介绍一些常见的查找大文件的方法。

通过 find 命令查找大文件

find 命令的 -size 选项可以用来指定查找文件的大小范围。下面是一些常用的 find 命令的示例:

查找大小大于 1G 的文件
find / -type f -size +1G
  • -type f 表示查找的是文件;
  • -size +1G 表示文件大小必须大于 1G。
查找大小在 100M 到 1G 之间的文件
find / -type f -size +100M -size -1G
  • -size +100M 表示文件大小必须大于 100M;
  • -size -1G 表示文件大小必须小于 1G。
查找大小在 1M 到 10M 之间的 mp3 文件
find / -name "*.mp3" -type f -size +1M -size -10M
  • -name "*.mp3" 表示查找文件名以 .mp3 结尾的文件;
  • -size +1M 表示文件大小必须大于 1M;
  • -size -10M 表示文件大小必须小于 10M。
通过 du 命令查找大文件或目录

du 命令可以用来计算文件或目录的大小。下面是一些常用的 du 命令的示例:

查找当前目录中大小大于 1G 的文件或目录
du -h --threshold=1G
  • -h 表示以人类可读的方式显示大小;
  • --threshold=1G 表示只显示大小大于 1G 的文件或目录。
查找当前目录中大小在 1M 到 1G 之间的文件或目录
du -h --threshold=1M --exclude="*G" --exclude="*K" --exclude="*B"
  • --threshold=1M 表示只显示大小在 1M 到 1G 之间的文件或目录;
  • --exclude="*G"--exclude="*K"--exclude="*B" 表示不显示大小大于 1G、小于 1M、等于 0 的文件或目录。
通过 ls 命令查找大文件

ls 命令的 -l 选项可以用来显示文件的详细信息,包括文件的大小。下面是一些常用的 ls 命令的示例:

查找当前目录中大小大于 1G 的文件
ls -lShr | grep "G " | grep -v "/$" | awk '{print $5,$9}'
  • -l 表示以长列表的方式显示文件详细信息;
  • -S 表示按文件大小排序;
  • -h 表示以人类可读的方式显示文件大小;
  • -r 表示按照逆序排序(从大到小);
  • grep "G " 表示只显示大小以 G 结尾的文件;
  • grep -v "/$" 表示不显示目录;
  • awk '{print $5,$9}' 表示只显示文件大小和文件名。
查找当前目录中大小在 1M 到 1G 之间的文件
ls -lShr | grep "[1-9][0-9][0-9]M\|G " | grep -v "/$" | awk '{print $5,$9}'
  • grep "[1-9][0-9][0-9]M\|G " 表示只显示大小在 1M 到 1G 之间的文件;
  • 其他命令解释同上。

以上就是查找大文件的几种方法,你可以根据自己的需求选择适合自己的方法。