Linux命令手册-通过文件名查找文件(find、which、locate)(详解)

目录

一、find命令

1、语法格式

2、选项说明

3、命令示范

二、which命令

1、语法格式

2、命令示范

三、locate命令

1、语法格式

2、命令示范:


一、find命令

find命令在Linux中作为文件查找使用频次很高,主要有以下几种方式。

1、语法格式

find [路径] [选项] [操作]

路径:可以指定搜索的文件在哪个目录下

选项:选项内容较多,仅列出常用选项,多个选项可一起使用,例如 -type 和 -name

[root@localhost /]# find / -type d -name "nacos"

/usr/local/nacos

/usr/local/nacos/nacos1.4/bin/work/Tomcat/localhost/nacos

/usr/local/nacos/nacos2.1/bin/work/Tomcat/localhost/nacos

/usr/local/nacos/nacos2.1/work/Tomcat/localhost/nacos

2、选项说明

选项参数使用说明命令示例
-name根据文件名查找find / -name "zhufeng.log"
-user根据文件所属用户查找find / -user "zhufeng"
-type

文件类型:f、文件,d、目录

find / -type d
-size

文件大小:

-n:小于 大小为 n 的文件
+n:大于 大小为 n 的文件

find / -size "1M"
-mtime

文件更改时间,单位:天

-n:n 天以内修改的文件。
+n:n 天以外修改的文件。

find / -mtime "+5"
-mmin

文件更改时间,单位:分钟

-n:n 分钟以内修改的文件。
+n:n 分钟以外修改的文件。

find / -mmin "-10"

3、命令示范

场景一:从根目录查找名字为 nacos文件目录

[root@localhost /]# find / -name "nacos"

/usr/local/nacos

/usr/local/nacos/nacos1.4/bin/work/Tomcat/localhost/nacos

/usr/local/nacos/nacos2.1/bin/work/Tomcat/localhost/nacos

/usr/local/nacos/nacos2.1/work/Tomcat/localhost/nacos

[root@localhost /]#

场景二:从当前目录查询,名字以nacos为前缀的文件目录

[root@localhost /]# cd /usr/local/nacos

[root@localhost nacos]# find . -name "nacos*"

./nacos-server-1.4.3.tar.gz

./nacos1.4

./nacos1.4/target/nacos-server.jar

./nacos1.4/conf/nacos-mysql.sql

./nacos1.4/conf/nacos-logback.xml

./nacos1.4/bin/work/Tomcat/localhost/nacos

...

[root@localhost nacos]#

场景三:从当前目录查询,名字以nacos为前缀的目录

[root@localhost nacos]# find . -name "nacos*" -type d

./nacos1.4

./nacos1.4/bin/work/Tomcat/localhost/nacos

./nacos2.1

./nacos2.1/bin/work/Tomcat/localhost/nacos

./nacos2.1/work/Tomcat/localhost/nacos

./nacos2.0

[root@localhost nacos]#

场景四:从当前目录查询,名字以nacos为前缀的文件大小大于5M文件

[root@localhost nacos]# find . -name "nacos*" -type f -size "+5M"

./nacos-server-1.4.3.tar.gz

./nacos1.4/target/nacos-server.jar

./nacos2.1/target/nacos-server.jar

[root@localhost nacos]#

场景五:从当前目录查询,名字以nacos为前缀创建时间超过5天文件

[root@localhost nacos]# find . -mtime "+5" -name "nacos.*" -type f

./nacos1.4/logs/nacos.log.2022-06-26.0

./nacos1.4/logs/nacos.log

./nacos1.4/logs/nacos.log.2022-04-07.0

./nacos1.4/logs/nacos.log.2022-04-08.0

./nacos1.4/logs/nacos.log.2022-06-25.0

./nacos1.4/logs/nacos.log.2022-06-27.0

./nacos1.4/logs/nacos.log.2022-06-28.0

./nacos2.1/logs/nacos.log.2022-06-08.0

./nacos2.1/logs/nacos.log

[root@localhost nacos]#

场景六:从根目录查询,文件名为wechat 文件大小大于1k 用户属于zhufeng文件

 [root@localhost ~]# find / -name "wechat*" -type f -size "+1k" -user zhufeng
 /usr/local/app/blog/wechat.log
 /usr/local/app/blog/wechat.log.20220808

[root@localhost ~]#

二、which命令

which查找文件与find方式不同,which从环境变量文件(/etc/profile)中的path目录中查找,且which找的都是可执行文件

1、语法格式

which 文件名

2、命令示范

[root@localhost nacos]# which java

/usr/local/java/jdk1.8.0_333/bin/java

[root@localhost nacos]# which nginx

/usr/sbin/nginx

[root@localhost nacos]#

三、locate命令

这是区别以上两种的方式的一种查找文件方式,locate以一个数据库文件为基础查找。

linux系统每天至少自动扫描一次文件,将结果保存到数据库,locate查的是数据库记录。

locate查询比find要快,但最新文件如果在数据库中没有记录会查询不到,需要手动更新,

更新命令:updatedb

1、语法格式

locate 文件名

2、命令示范:

场景:在/usr/local/nacos/nacos2.0目录下已经存在文件nacos.md,locate可以搜索到,然后创建新文件nacos.md.1,进行搜索,执行updatedb更新后再次搜索

[root@localhost nacos2.0]# locate nacos.md

/usr/local/nacos/nacos2.0/nacos.md

[root@localhost nacos2.0]# touch nacos.md.1

[root@localhost nacos2.0]#

[root@localhost nacos2.0]# locate nacos.md

/usr/local/nacos/nacos2.0/nacos.md

[root@localhost nacos2.0]#

[root@localhost nacos2.0]# updatedb

[root@localhost nacos2.0]# locate nacos.md

/usr/local/nacos/nacos2.0/nacos.md

/usr/local/nacos/nacos2.0/nacos.md.1

[root@localhost nacos2.0]#

  • 3
    点赞
  • 18
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

月夜烛峰

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值