【linux浅谈007】文件查找与检索

文件查找

文件查找的实现方式有很多,但是大体可以分为以下两种find查找和grep查找

find查找指令

find查找完整指令为

find   path   -option   [   -print ]   [ -exec   -ok   command ]   {} \;
       [路径]  [操作]    [要求]         [一些指令]                [解释1][解释2][解释3]

解释

  1. {}代表前面find查找出来的文件名。
  2. -exec/ok 参数后面跟的是command命令,它的终止是以;为结束标志的,所以这句命令后面的分号是不可缺少的。
  3. 考虑到各个系统中分号会有不同的意义,所以;前面加反斜杠。

按文件名查找的指令为find

find [目录] [-name/iname] [ "文件名" ]#在不使用通配符的情况下,可以不加“”
iname 会忽略大小写

按文件类型

find [目录] [-type] [ 类型 ]
类型说明:
c :文件
d: 目录
c: 字型装置文件
b: 区块装置文件
p: 具名贮列
f: 一般文件
l: 符号连结

按时间查找

find [目录] [-op] [ 时间 ]
-amin n : 在过去 n 分钟内被读取过
-anewer file : 比文件 file 更晚被读取过的文件
-atime n : 在过去 n 天内被读取过的文件
-cmin n : 在过去 n 分钟内被修改过
-cnewer file :比文件 file 更新的文件
-ctime n : 在过去 n 天内创建的文件
-mtime n : 在过去 n 天内修改过的文件

按文件在第几次查找

find [目录] [-op] [ 文件名 ]
maxdepth 最多到几层
mindepth 最少几层开始

高级查找

使用find时,只要把想要的操作写在一个文件里,就可以用exec来配合find查找,很方便的。在有些操作系统中只允许-exec/ok选项执行诸如ls或ls -l这样的命令。
OK比exec安全之处会给出问询。
在目录中查找更改时间在n日以前的文件并删除它们,在删除之前先给出提示

find . -name "*.log" -mtime +5 -ok rm {} \;

ls -l命令放在find命令的-exec选项中

find . -type f -exec ls -l {} \;

按内容查找指令grep

使用方式为

grep [查找内容]
如果要想多级查找
grep -r 查找内用(-n可以显示行数)
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值