whereis
是搜索系统命令的命令, 不能搜索普通文件, 只能搜索系统命令
which
ps:whereis 命令与 which 命令的区别:
whereis 命令可以在查找到二进制命令的同时, 查找到帮助文档的位置. 而 which 命令在查找到二进制命令的同时, 如果这个命令有别名, 则还可以找到别名命令
locate
可以按照文件名搜索普通文件的命令
优点: 按照数据库搜索, 搜索速度快, 消耗资源小, 数据库位置 / var/lib/mlocate/mkocate.db
缺点: 只能按照文件名来搜索文件, 而不能执行更复杂的搜索, 如按权限......
find
1, 按照文件名搜索
[[email protected]~]# find 搜索路径 [选项] 搜索内容
选项:
-name 按照文件名搜索
-iname 按照文件名搜索, 不区分文件名大小写
-inum 按照 inode 号搜索
注: 搜索 abc 找不到 abcd
2, 按照文件大小搜索
[[email protected]~]# find 搜索路径 [选项] 搜索内容
选项:
-size[+|-] 大小 按照指定大小搜索文件
注:-size 后的大小, 若是 k,M, 注意区分大小写, 若为字节, 记得 + c. 如 find -size 27c 因为默认 b 要 * 512 字节,+c 才不会
3, 按照修改时间搜索
[[email protected]~]# find 搜索路径 [选项] 搜索内容
选项:
-atime [+|-] 时间 按照文件访问时间搜索
-mtime [+|-] 时间 按照文件数据修改时间搜索
-ctime [+|-] 时间 按照文件状态修改时间搜索
注: 单位时间为天
举例:
-5 代表 5 天内修改的文件
5 代表前 5~6 天那一天修改的文件
+5 代表 6 天前修改的文件
4, 按照权限搜索
[[email protected]~]# find 搜索路径 [选项] 搜索内容
选项:
-perm 权限模式 查找文件权限刚好等于 "权限模式" 的文件
-perm - 权限模式 查找文件权限全部包含 "权限模式" 的文件
-perm + 权限模式 查找文件权限包含 "权限模式" 的任意一个权限的文件
示例:
+444 只有者, 组, 其他中有一个的身份权限比这个搜索的大, 就能找到
-444 三个身份的权限都要包含这个权限
5, 按照所有者和所属组搜索
[[email protected]~]# find 搜索路径 [选项] 搜索内容
选项:
-uid 用户 ID 按照用户 ID 查找所有者是指定 ID 的文件
-gid 组 ID 按照用户组 ID 查找所属组是指定 ID 的文件
-user 用户名 按照用户名查找所有者是指定用户的文件
-group 组名 按照组名查找所属组是指定用户组的文件
-nouser 查找没有所有者的文件. 可以用来查找垃圾文件
6, 按照文件类型
[[email protected]~]# find 搜索路径 [选项] 搜索内容
选项:
-type d: 查找目录
-type f: 查找普通文件
-type l: 查找软链接文件
7, 逻辑运算符
[[email protected]~]# find 搜索路径 [选项] 搜索内容
选项:
-a and 逻辑与
-o or 逻辑或
-not not 逻辑非
8, 其他选项
-exec 选项
find 搜索路径 [选项] 搜索内容 -exec 命令 2 {} \;
把 find 命令的结果交给由 "-exec" 调用的命令 2 来处理
-ok 选项
区别:-exec 命令 2 会直接处理而不询问,-ok 的命令 2 在处理前会询问用户是否这样处理, 在得到确认命令后, 再执行
搜索命令
来源: http://www.bubuko.com/infodetail-3230874.html