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/