【Linux命令】查找文件命令

一、查找文件

locate

locate命令会查找其路径名数据库,输出所有包含查找字符串的匹配项:

locate settings.xml

updatedb

updatedb用来更新路径名数据库 (默认在linux系统每天以定时任务运行),可手动执行;locate命令的数据库是通过另一个命令updatedb创建的。它通常作为cron作业,由守护进程cron定期执行。大多数包含locate命令的系统每天执行一次updatedb命令。

updatedb

find

根据各种属性在指定目录(及其子目录)中查找文件;并支持各种选项(option)、测试条件(test)以及操作(action)来实现多种查找功能;

#在当前目录下 查找txt后缀的文件
find ./ -name '*.txt'

测试条件

在这里插入图片描述

#type测试条件:当前目录下查找所有文件夹
find ./ -type d

操作符

find命令提供了一种方式,可以使用逻辑操作符(简称操作符)组合多个测试条件,从而表达更为复杂的逻辑关系。
在这里插入图片描述
注意:

  • 括号与条件之间前后要有空格,否则会报错。
  • 括号在shell中需转义
#组合测试条件,type和name:查找type为f 且后缀为pub的文件
find ./  \( -type f \) -and \( -name '*.pub' \)

操作

预定义操作

在这里插入图片描述

find ~ -print
自定义操作

除了预定义操作,我们还可以针对查找结果调用任意命令。传统的实现方式是使用-exec操作。其用法如下:

-exec command {} ;

在这里,command是命令名。{}是代表当前路径名的符号。;作为分隔符,表示命令结束。因为{}和;对Shell具有特殊含义,所以必须对其进行标注或转义。

# 多当前文件夹下  后缀为txt的文件,进行创建.bak文件
find ./ -type f -name '*.txt' -exec touch '{}.bak' ';'

find命令选项(常用)

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值