whereis
命令名称:whereis
英文原意:locate the binary , source ,and manual page files for a command
所在路径:/usr/bin/whereis
执行权限:所有用户
功能描述:查找二进制命令、源文件和帮助文档的命令
命令格式:whereis [选项] 命令
选项 | 功能 |
-b | 只查找二进制命令 |
-m | 只查找帮助文档 |
- 不能搜索普通文件,只能搜索系统命令
- 在查找二进制命令的同时,还可以查找帮助文件
which
命令名称:which
英文原意:show the full path of commands
所在路径:/usr/bin/which
执行权限:所有用户
功能描述:列出命令的所在路径
命令格式:which 命令
locate
命令名称:locate
英文原意:find files by name
所在路径:/usr/bin/locate
执行权限:所有用户
功能描述:按照文件名搜索文件
命令格式:locate [选项] 文件名
- 搜索速度快,耗费系统资源少,因为该命令不会直接搜索硬盘空间,而是在locate数据库内搜索
- 新建文件后,数据库需要重启后才能更新,这时可以使用updatedb命令来手动更新数据库,数据库位置:/var/lib/mlocate/mlocate.db
find
命令名称:find
英文原意:search for files in a directory hierarchy
所在路径:/bin/find
执行权限:所有用户
功能描述:在目录中搜索文件
命令格式:find 搜索路径 [选项] 搜索内容
按照文件名搜索
选项 | 功能 |
-name | 按照文件名搜索 |
-iname | 按照文件名搜索,不区分文件名大小写 |
-inum | 按照inode号搜索 |
- find命令是完全匹配的,必须和搜索关键字一模一样才会列出
按照文件大小搜索
选项 | 功能 |
-size [±] 大小 | 按照指定大小搜索文件 |
- “+” 的意思是搜索比指定大小还要大的文件
- “-” 的意思是搜索比指定大小还要小的文件
- 搜索单位:KB应该写k ,MB应该写M,字节应该写c
按照修改时间搜索
选项 | 功能 |
-atime [±] 时间 | 按照文件访问时间搜索 |
-mtime [±] 时间 | 按照文件数据修改时间搜索 |
-ctime [±] 时间 | 按照文件状态修改时间搜索 |
单位 | 天 |
- amin、mmin、cmin 单位是分钟
- “-5” 代表5天内修改的文件
- “5” 代表5-6天 那一天内修改的文件
- “+5” 代表6天前修改的文件
按照权限搜索
选项 | 功能 |
-perm 权限模式 | 查找文件权限刚好等于权限模式的文件 |
-perm -权限模式 | 查找文件权限全部包含权限模式的文件 |
-perm +权限模式 | 查找文件权限包含权限模式的任意一个权限的文件 |
按照所有者和所属组搜索
选项 | 功能 |
-uid 用户ID | 按照用户ID查找所有者是指定ID的文件 |
-gid 组ID | 按照用户组ID查找所属组是指定ID 的文件 |
-user 用户名 | 按照用户名查找所有者是指定用户的文件 |
-group 组名 | 按照组名查找所属组是指定用户组的文件 |
-nouser | 查找没有所有者的文件 |
按照文件类型搜索
选项 | 功能 |
-type d | 查找目录 |
-type f | 查找普通文件 |
-type l | 查找软链接文件 |
逻辑运算
选项 | 功能 |
-a | and 逻辑与 |
-o | or 逻辑或 |
-not | not逻辑非 |
其他选项
选项 | 功能 |
-exec | 在find的结果集中继续执行命令2 |
-ok | 和exec命令一样,只不过在执行前,会询问 |
- find 搜索路径 [选项] 搜索内容 -exec 命令2 {} \;
- 只要执行-exec选项,必须带着{} \;
- {} 代表find命令的查找结果
- exec实际上代表的是把{}给命令2继续处理