whereis 命令

功能描述:查找二进制命令、源文件和帮助文档的命令。

[root@localhost ~]# whereis [选项] 命令
选项:
  -b:只查找二进制命令
  -m:只查找帮助文档

which 命令

which也是搜索系统命令的命令。和whereis命令的区别在于,whereis命令可以在查找二进制命令的同时,查找到帮助文档的位置;而which命令在查找到二进制命令的同时,如果这个命令有别名,则还可以找到别名命令。
功能描述:列出命令的所在路径。

[root@localhost ~]# which 命令
选项:
  -b:只查找二进制命令
  -m:只查找帮助文档

locate 命令

locate命令只能按照文件名来搜索文件,而不能执行更复杂的搜索,比如按照权限、大小、修改时间等搜索文件。如果要按照复杂条件执行搜索,则只能求助于功能更加强大的find命令。locate命令的有点也非常明显,搜索速度非常快,而且耗费系统资源非常小。
功能描述:按照文件名搜索文件。

[root@localhost ~]# locate [选项] 文件名
选项:
  -i:忽略大小写

find 命令

find是Linux中强大的搜索命令,不仅可以按照文件名搜索文件,还可以按照权限、大小、时间、inode号等来搜索文件。但是find命令是直接在硬盘中进行搜索的,如果指定的搜索范围过大,find命令就会消耗较大的系统资源,导致服务器压力过大,所以在使用find命令搜索时,不要指定过大的搜索范围。
功能描述:在目录中搜索文件。

[root@localhost ~]# find 搜索路径 [选项] 搜索内容

按照文件名搜索

[root@localhost ~]# find 搜索路径 [选项] 搜索内容
选项:
  -name:按照文件名搜索
  -iname:按照文件名搜索,不区分大小写
  -inum:按照inode号搜索

按照文件大小搜索

[root@localhost ~]# find 搜索路径 [选项] 搜索内容
选项:
  -size[+|-]大小:按照指定大小搜索文件

例如:

[root@localhost ~]# find.-size -25M

按照修改时间搜索

[root@localhost ~]# find 搜索路径 [选项] 搜索内容
选项:
  -atime[+|-]时间:按照文件访问时间搜索
  -mtime[+|-]时间:按照文件数据修改时间搜索
  -ctime[+|-]时间:按照文件状态修改时间搜索

“[+-]”时间的含义。

  • -5:代表@内修改的文件。
  • 5:代表前5~6天那一天修改的文件。
  • +5:代表6天前修改的文件。

按照权限搜索

[root@localhost ~]# find 搜索路径 [选项] 搜索内容
选项:
  -perm 权限模式:查找文件权限刚好等于“权限模式”的文件
  -perm-权限模式:查找文件权限全部包含“权限模式”的文件
  -perm+权限模式:查找文件权限包含“权限模式”的任意一个权限的文件

例如:

[root@localhost ~]# find -perm -200

按照所有者和所属组搜索

[root@localhost ~]# find 搜索路径 [选项] 搜索内容
选项:
  -uid 用户ID:按照用户ID查找所有者是指定ID的文件
  -gid 组ID:按照组ID查找所属组是指定ID的文件
  -user 用户名:按照用户名查找所有者是指定用户的文件
  -group 组名:按照组名查找所属组是指定用户组的文件
  -nouser:查找没有所有者的文件

例如:

[root@localhost ~]# find -user root

按照文件类型搜索

[root@localhost ~]# find 搜索路径 [选项] 搜索内容
选项:
  -type d:查找目录
  -type f:查找普通文件
  -type l:查找软链接文件

例如:

[root@localhost ~]# find /etc -type d

逻辑运算符

[root@localhost ~]# find 搜索路径 [选项] 搜索内容
选项:
  -a:and逻辑与
  -o:or逻辑或
  -notnot逻辑非

例如:

[root@localhost ~]# find /etc -type d