> 文章列表 > 查找文件路径——whereis、which、locate、find命令

查找文件路径——whereis、which、locate、find命令

查找文件路径——whereis、which、locate、find命令

目录标题

      • whereis命令——通过环境变量查找所有文件(包括可执行文件)
      • which命令——查找系统命令文件
        • 与whereis命令区别
      • locate命令——全局搜索
      • find命令(全盘搜索)
        • find命令中的参数及作用
        • 按照文件名搜索
        • 按照文件大小搜索
        • 按照修改时间搜索
        • 按照权限搜索
        • 按照所有者或者所属组搜索
        • 按照文件类型搜索
        • 逻辑运算符
        • 其他选项
命令 说明 示例
whereis 可以搜索系统命令的可执行文件路径和说明文档 whereis ls
which which是搜索系统命令的可执行文件 which ls
locate 按照数据库所搜,搜索速度快,消耗资源小。 locate ls
find 可按照文件名、大小、时间、权限、类型、所属者、所属组来搜索文件 find[path…][expression]

whereis命令——通过环境变量查找所有文件(包括可执行文件)

whereis命令不能搜索普通文件,只能搜索系统命令
例子:分别查找出ls和pwd命令位置
查找文件路径——whereis、which、locate、find命令

which命令——查找系统命令文件

which是搜索系统命令
列出命令的所在路径
例子:
查找文件路径——whereis、which、locate、find命令

与whereis命令区别

  • whereis命令可以在查找二进制命令的同时,查找到帮助文档的位置;
  • which命令在查找到二进制命令的同时,如果这个命令有别名,则还可以找到别名命令。

locate命令——全局搜索

基于数据文件进行查找,所以每次查找前需要通过updatedb更新数据库文件进行查找
locate命令才是可以按照文件名搜索普通文件的命令
例子:
查找文件路径——whereis、which、locate、find命令

find命令(全盘搜索)

find命令用于按照指定条件来查找文件
格式:

find [查找路径] 寻找条件 操作

find命令中的参数及作用

参数 作用
-name 按文件名搜索
-perm 644 匹配权限(mode为完全,-mode为包含即可)
-user 匹配所有者
-group 匹配所有组
-mtime -n +n 匹配修改内容的时间(-4指小于等于4天内的文件名;+4指大于等于5天前的文件名;4指4~5那一天的文件)
-atime -n +n 匹配访问文件的时间
-ctime -n +n 匹配修改文件权限的时间
-nouser 匹配无所有者的文件
-nogroup 匹配无所有组的文件
–type b/d/c/p/l/f 匹配文件类型(后面的字母参数一次表示块设备、目录、字符设备、管道、链接文件、文本文件)
-size 匹配文件的大小(+50KB为查找超过50KB的文件,而-50KB为查找小于50KB的文件)
-prune 忽略某个目录
-exec …{} \\; 后面跟用于进一步处理搜索结果的命令

按照文件名搜索

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

例子:查找etc目录下所有的以host开头的文件列表
查找文件路径——whereis、which、locate、find命令

按照文件大小搜索

[root@localhost ~]# find 搜索路径 [选项] 搜索内容
选项:-size [+|-]大小: 按照指定大小搜索文件
这里的“+”的意思是搜索比指定大小还要大的文件, “-”的意思是搜索比指定大小还要小的文件

按照修改时间搜索

linux中文件有访问时间(atime)、数据修改时间(mtime)、状态修改时间(ctime)这三个时间,我们也可以按照时间来搜索文件。
例子:

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

按照权限搜索

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

按照所有者或者所属组搜索

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

按照文件类型搜索

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

逻辑运算符

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

其他选项

动作 说明
-print 默认动作,将搜索结果写入到标准输出
-fprint file 与-print相同,但是将搜索结果写入到文件file
-ls 以详细格式(长格式)显示搜索结果
-fls file 同ls,但是将搜索结果写入到文件file
-delete 将搜索到的文件删除
-exec command {}\\; 查找并执行命令,{}表示搜索到的文件名
-ok command {}\\; 查找并执行命令,但是需要用户确认

手机铃声库