Linux文件查找神器命令 find: 查找大于或者小于某大小的文件

Linux, 刚好有个需求,就是查找少于1K的文件,然后对这些文件进行删除操作.

命令如下:

find . -type f -name "*.log" -size -1k | xargs rm -rf

授之以鱼不如授之以渔

Find Files Bigger Or Smaller Than X Size

Using find command, we can also easily find files bigger or smaller than given size.

 

For instance, to find files that are bigger than 4GB in a directory, just enter:

$ find . -type f -size +4G

Sample output from my system:

./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
[...]

As you can see, I have some files with size bigger than 4GiB. Here, the dot (.) indicates the current directory.

To search for files bigger than 4 GiB in the entire filesystem, run:

$ find / -type f -size +4G

To know files bigger than X size in a specific directory, replace the dot (.) in the above command with the directory path like below.

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

The above command find files bigger than 4 GiB in Downloads directory.

Similarly, to find the files which are smaller than X size, for example 4GiB, use the following command:

$ find . -type f -size -4G

You can use size switch for other formats, such as

  • `c' for bytes
  • 'w' for two-byte words
  • `k' for Kilobytes
  • `M' for Megabytes
  • `G' for Gigabytes

For example, to find files which are bigger than 4MB, use the following command:

$ find . -type f -size +4M

To find files smaller than 4MB, use this command:

$ find . -type f -size -4M

You might wonder how to find files between a certain size. For instance, you can find files between 30MB and 40MB using the following command:

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

To find files of exact size, for example 30MB, run:

$ find -size 30M

For more details, refer man pages.

$ man find

Update:

As one of the reader mentioned in the comment section below, the find command can also display a long listing of all the files it finds by using the -exec switch. The command below will find all of the files between 30M and 40M, and display a long listing of each file.

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

文章链接: https://ostechnix.com/find-files-bigger-smaller-x-size-linux/
 
原文地址:https://www.cnblogs.com/L-O-N/p/13529209.html