查找:find、locate、which、whereis
有find 、 locate 、 which 、 whereis
一、find
命令格式:[root@localhost ~]# find 搜索路径 [选项] 搜索内容
find是比较特殊的命令,它有两个参数:
- 第一个参数用来指定搜索路径;
- 第二个参数用来指定搜索内容。
1、按照文件名搜索
find 搜索路径 [选项] 搜索内容
选项:
- -name: 按照文件名搜索;
- -iname: 按照文件名搜索,不区分文件名大小;
- -inum: 按照 inode 号搜索;
这是 find 最常用的用法。find 命令是完全匹配的,必须和搜索关键字一模一样才会列出。
2、按照文件大小搜索
find 搜索路径 [选项] 搜索内容
选项:
- -size[+-]大小:按照指定大小搜索文件
这里的"+"的意思是搜索比指定大小还要大的文件,"-" 的意思是搜索比指定大小还要小的文件。
find.-size +25k
#当前目录下大于25KB的文件
3、按照修改时间搜索
Linux 中的文件有访问时间(atime)、数据修改时间(mtime)、状态修改时间(ctime)这三个时间,我们也可以按照时间来搜索文件。
find搜索路径 [选项] 搜索内容
选项:
- -atime [+-]时间: 按照文件访问时间搜索
- -mtime [+-]时间: 按照数据修改时间搜索
- -ctime [+-]时间: 按照状态修改时间搜索
这三个时间的区别我们在 stat 命令中已经解释过了,这里用 mtime 数据修改时间来举例,重点说说 "[+-]"时间的含义。
- -5:代表@内修改的文件。
- 5:代表前5~6天那一天修改的文件。
- +5:代表6天前修改的文件。
4、按照权限搜索
在 find 中,也可以按照文件的权限来进行搜索。权限也支持 [+/-] 选项。
find 搜索路径 [选项] 搜索内容
选项:
- -perm 权限模式:査找文件权限刚好等于"权限模式"的文件
- -perm -权限模式:査找文件权限全部包含"权限模式"的文件
- -perm +权限模式:査找文件权限包含"权限模式"的任意一个权限的文件
5、按照所有者和所属组搜索
选项:
- -uid 用户 ID:按照用户 ID 査找所有者是指定 ID 的文件
- -gid 组 ID:按照用户组 ID 査找所属组是指定 ID 的文件
- -user 用户名:按照用户名査找所有者是指定用户的文件
- -group 组名:按照组名査找所属组是指定用户组的文件
- -nouser:査找没有所有者的文件
6、按照文件类型
选项:
- -type d:查找目录
- -type f:查找普通文件
- -type l:查找软链接文件
这个命令也很简单,主要按照文件类型进行搜索。在一些特殊情况下,比如需要把普通文件和目录文件区分开,比如需要把普通文件和目录文件区分开,使用这个选项就很方便。
二、locate
locate [选项] 文件
选项:
- -d或--database= 配置locate指令使用的数据库。locate指令预设的数据库位于/var/lib/slocate目录里,文档名为slocate.db,您可使用 这个参数另行指定。
- --help 在线帮助。
- --version 显示版本信息。
说明:locate与find 不同: find 是去硬盘找,locate 只在/var/lib/slocate资料库中找。因此locate比find快,并不是真正的查找,而是查数据库。locate的查找并不是实时的,而是以数据库的更新为准,所以有时候在即查不到,可以使用locate更新命令将数据库更新一下再查找,一般是系统自己维护,也可以手工升级数据库 ,命令为:
locate -u
locate /etc/my
#etc目录下所有以my开头的文件 #新增的文件无法locate,需要updatedb更新
[root@cent6 ~]# touch new.txt
[root@cent6 ~]# locate new.txt
[root@cent6 ~]# updatedb
[root@cent6 ~]# locate new.txt
/root/new.txt
三、which
查找并显示给定命令的绝对路径,使用which命令,就可以看到某个系统命令是否存在,以及执行的到底是哪一个位置的命令。
[root@localhost oa]# which php
/usr/local/php7/bin/php
四、whereis
搜索出二进制程序、源代码文件和man手册页等相关文件的路径。
只能用于程序名的搜索,而且只搜索二进制文件(参数-b)、man说明文件(参数-m)和源代码文件(参数-s)。如果省略参数,则返回所有信息。
[root@localhost oa]# whereis mysql
mysql: /usr/lib64/mysql /usr/local/mysql /usr/share/mysql /usr/local/mysql/bin/mysql
最新文章
- ASP.NET Core 中文文档 第四章 MVC(3.7 )局部视图(partial)
- 在SQL中 给字符串补0方法
- .NET core for docker
- checkbox的readonly效果
- c++ 类的静态变量
- 在DigitalOcean云主机上搭建SVN服务器
- BZOJ 3670 &;&; BZOJ 3620 &;&; BZOJ 3942 KMP
- 学习总结 for循环--冒泡排序
- mouseover与mouseenter的区别
- Java [Leetcode 100]Same Tree
- JavaScript网站设计实践(二)实现导航栏当前所选页面的菜单项高亮显示
- Objective-C学习篇07—NSArray与NSMutableArray
- 百度touch的手势框架,touch.js
- c++封装性
- VS2008编程软件过期的问题,过期弹出须要升级窗体的解决的方法
- iis7.0/8.0rewrite规则
- iOS应用开发详解
- 转:浏览器与WEB服务器工作过程举例
- BFC基础分析
- 怎样通过js 取消input域的hidden属性使其变的可见
热门文章
- Jmeter之Plugin插件,服务器监控
- Kendall tau距离(即两个内容相同的数组中逆序数对的数量)(算法》P220 第2.5.3.2小节)
- SQL基础:语句执行顺序
- 原型相关的知识点-new的实现原理
- nginx php-fpm环境搭建权限问题
- mysql 触发器 if then elseif else 的运用
- JavaJDBC【二、Mysql包加载与使用】
- 4.Nginx配置文件Nginx.conf_虚拟主机配置规则
- apache简介与安装
- Docker容器入门篇