Linux查找文件的命令-find
find 是 Linux 中强大的搜索命令,不仅可以按照文件名搜索文件,还可以按照权限、大小、时间等来搜索文件。
命令格式
[root@localhost ~]# find 搜索路径 [选项] 搜索文件名 | 搜索文件大小 | 其他
find 是比较特殊的命令,它有两个参数:
第一个参数用来指定搜索的路径;
第二个参数用来约束搜索的文件名。
按照文件名搜索
[root@localhost ~]# find 搜索路径 [选项] 搜索文件名
选项:
-name: 按照文件名搜索;
-iname: 按照文件名搜索,不区分文件名大小;
这是 find 最常用的用法,例如:
[root@localhost ~]# find ./ -name file.list
结果:/input/file.list
#在当前目录及子目录下査找文件名是file.list的文件
!需要注意的是find 命令是完全匹配的,必须和搜索文件名一模一样才会列出,如果不区分大小写可以用-iname,如果只知道部分文件名或者只知道文件类型可以用通配符*。例如:
[root@localhost ~]# find ./ -name “.list”
结果:/input/file.list
#在当前目录及子目录下匹配查找文件名是“.list”的文件
按照文件大小搜索
[root@localhost ~]#find 搜索路径 [选项] [±]搜索文件大小
选项:
-size :按照指定文件大小搜索文件
其中搜索文件大小前的"+“的意思是搜索比指定大小还要大的文件,”-" 的意思是搜索比指定大小还要小的文件。
!需要注意的是默认单位为b(512 bytes),如果按照KB单位(1024 bytes)搜索,必须是小写的k,如果按照MB单位(1024KB)搜索,必须是大写的M;如果按照GB单位1024MB)搜索,必须是大写的G。例如:
[root@localhost ~]# find ./ -size +1G
结果:/outputs/test.spef.gz
#在当前目录下找大于1G的文件
按照用户和用户组搜索
[root@localhost ~]# find 搜索路径 [选项] 用户ID | 组 ID | 用户名 | 组名
选项:
-uid : 按照用户 ID 査找所有者是指定 ID 的文件
-gid : 按照用户组 ID 査找所属组是指定 ID 的文件
-user :按照用户名査找所有者是指定用户的文件
-group :按照组名査找所属组是指定用户组的文件
-nouser:査找没有所有者的文件
按照用户和用户组搜索时,"-nouser"选项比较常用,主要用于査找垃圾文件。