shell中的find

语法格式

1
find [路径] [选项] [操作]

选项参数对照表

选项 含义
-name 根据文件名查找
-iname 根据文件名查找(忽略大小写)
-perm 根据文件权限查找
-prune 该选项可以排除某些查找目录
-user 根据文件属主查找
-group 根据文件属组查找
-mtime -n \ +n 根据文件更改时间查找
-nogroup 查找无有效属组的文件
-nouser 查找无有效属主的文件
-newer file1 ! file2 查找更改时间比file1新但比file2旧的文件
-type 按文件类型查找
-size -n +n 按文件大小查找
-mindepth n 从n级子目录开始搜索
-maxdepth n 最多搜索到n级子目录

-type

类别 含义
f 文件
d 目录
c 字符设备文件
b 块设备文件
l 链接文件
p 管道文件

-size

类别 含义
+n 大小大于n
-n 大小小于n

-mtime

类别 含义
-time time天以内的文件
+time time天以外的文件

find locate whereis which的区别

find

在磁盘中查找对应文件

locate

文件查找命令,所属软件包mlocate

不同于find命令再整块磁盘中搜索,locate命令在数据库文件中查找

  1. 数据库文件一般每日更新,也可通过命令(updatedb)即时更新。
  2. 用户更新/var/lib/mlocate/mlocate.db
  3. 所使用配置文件/etc/updatedb.conf
  4. 该任务在后台cron计划任务中定期执行

find是默认全部匹配,locate则是默认部分匹配

whereis

只能查询二进制文件,帮助文档文件,源代码文件。

选项 含义
-b 只返回二进制文件
-m 只返回帮助文档文件
-s 只返回源代码文件

which

仅查找二进制程序文件