如何在 Linux 中查找大于或小于 X 大小的文件

假设您想在系统中查找小于或大于特定大小的文件。 你会怎么做? 手动检查每个文件的大小? 不,这是一项耗时的任务。 此外,良好的系统 admin 不会的。 在 Linux 中,总是有一种最简单、最快捷的方式来做事。 这个简短的教程介绍了如何在 Linux 和 Unix 操作系统中查找大于或小于 X 大小的文件。

查找大于或小于 X 大小的文件

使用 find 命令,我们还可以轻松找到大于或小于给定大小的文件。

例如,要查找大于 4GB 在目录中,只需输入:

$ find . -type f -size +4G

我的系统的示例输出:

./VirtualBox VMs/Ubuntu 16.04 LTS Desktop/Ubuntu 16.04 LTS Desktop.vdi ./VirtualBox VMs/Ubuntu 16.04 Server/Ubuntu 16.04 Server.vdi ./Soft_Backup/VHD's/Antergos/Antergos.vdi ./Soft_Backup/VHD's/FreeBSD 10.3 MATE desktop/FreeBSD 10.3 MATE desktop.vdi ./Soft_Backup/VHD's/Fedora 23 desktop/Fedora 23 desktop.vdi ./Soft_Backup/VHD's/Fedora 23 desktop/.goutputstream-UT19IY ./Soft_Backup/VHD's/openSUSE 42.1 Leap Desktop/openSUSE 42.1 Leap Desktop.vdi ./Soft_Backup/VHD's/Ubuntu 17.04 server/Ubuntu 17.04 server.vdi ./Soft_Backup/VHD's/Fedora 23_/Fedora 23 .vdi ./Soft_Backup/VHD's/Ubuntu 16.04 LTS Desktop/Ubuntu 16.04 LTS Desktop.vdi ./Soft_Backup/VHD's/Ubuntu 14.04 LTS desktop/Ubuntu 14.04 LTS desktop.vdi ./Soft_Backup/VHD's/Debian 8 Desktop/Debian 8 Desktop.vdi ./Soft_Backup/VHD's/FreeBSD 10.3 server/FreeBSD 10.3 server.vdi ./Soft_Backup/VHD's/OpenMandriva Lx 3 desktop/OpenMandriva Lx 3 desktop.vdi ./Soft_Backup/VHD's/Elementary OS_/Elementary OS_.vdi ./Soft_Backup/OS Images/Linux/openSUSE-Leap-42.1-DVD-x86_64.iso/openSUSE-Leap-42.1-DVD-x86_64.iso [...]

如您所见,我有一些大于 4GiB 的文件。 在这里, (.) 表示当前目录。

要在整个文件系统中搜索大于 4 GiB 的文件,请运行:

$ find / -type f -size +4G

要了解特定目录中大于 X 大小的文件,请将上述命令中的点 (.) 替换为如下目录路径。

$ find Downloads/ -type f -size +4G

上面的命令在中查找大于 4GiB 的文件 下载 目录。

同样,要查找小于 X 大小的文件,例如 4GiB,请使用以下命令:

$ find . -type f -size -4G

您可以将大小开关用于其他格式,例如

  • 'c' 对于字节
  • 'w' 对于两字节字
  • 'k' 千字节
  • 'M' 兆字节
  • 'G' 千兆字节

例如,要查找大于 4MB 的文件,请使用以下命令:

$ find . -type f -size +4M

要查找小于 4MB 的文件,请使用以下命令:

$ find . -type f -size -4M

您可能想知道如何查找特定大小之间的文件。 例如,您可以找到文件 30MB 到 40MB 之间 使用以下命令:

$ find -size +30M -size -40M

要查找精确大小的文件,例如 30MB,请运行:

$ find -size 30M

有关更多详细信息,请参阅手册页。

$ man find

更新:

正如下面评论部分中提到的读者之一,find 命令还可以通过使用 -exec 转变。 下面的命令将查找 30M 到 40M 之间的所有文件,并显示每个文件的长列表。

$ find . -type f -size +30M -size -40M -exec ls -l {} +

您是否知道任何其他有用且最简单的方法来查找小于或大于特定大小的文件? 请随时在下面的评论部分评论它们。

  • 在 Linux 中查找目录的大小
  • 在 Linux 中根据访问、修改日期和时间查找和排序文件
  • 在 Linux 中查找和删除名称中包含特定文本的文件
  • 在 Linux 的目录树中查找最旧的文件
  • 如果目录中有超过 X 个文件,则查找并删除最旧的文件
  • 在 Linux 中查找提供特定文件的包

命令行查找命令查找文件LinuxLinux 基础Linux 命令Linux 如何使用Linux 提示