find 指令:
find 指令将从指定的目录下递归的遍历整个子目录,将满足条件的文件或目录显示在终端。
使用方法: find [搜索范围] [选项]
常用选项如下:
选项 | 说明 |
---|---|
-name<查询方式> | 按照指定的文件名查找模式查找文件 |
-user | 查找属于指定用户名的文件 |
-size | 按照指定的文件大小查找文件 |
-name 举例
# find /home -name hello.txt
使用find指令查找 /home 路径下 文件夹名是 **“hello.txt”**的文件路径.
-user 举例
# find /opt -user nobody
上面例子因为这个目录下不存在nobody 用户的文件,所以显示为空.
-size 举例
# find / -size +20M //+20M 代表文件大小超过20M以上的文件
# find / -size -20M //-20M 代表小于20M的文件
# find / -size 20M //20M 等于20M的文件
查询结果如下图:
locate 命令:
locate 可以快速的定位文件路径。
其原理是根据事先建议一个系统文件及路径的locate 数据库,然后实现快速定位到文件及路径。
使用方法: locate 文件名
特别说明:
如果是第一次运行 locate 方法前需使用 updatedb 创建 locate 数据库。
建立数据库:
# updatedb // 第一次使用前建立 locate 数据库
locate 举例
# locate hello.txt
locate 查询不需要输入路径,直接输入文件名即可实现全盘查找,因创建数据库及索引,所以在查询速度上更快,性能更好,也是推荐使用。
以上分别列举出了Linux下查找文件的常用方式 find 和 locate 分别举例操作,别给出了两者的区别和实现方式,我们可以根据自己的需用来选择使用哪种操作