Linux常用命令之文件搜索命令

文件搜索命令

  1. 文件搜索命令find

搜索会占用大量资源
Linux中少用搜索,尽量整理好文件目录及文件
Windows中搜索可以使用软件:everything(基于NTFS分区)
Linux与Windows不同的时,windows是模糊查询,linux是精准查询

语法:find [搜索范围] [匹配条件]
搜索范围只有 / 表示在根目录下进行搜索,即全盘搜索
匹配条件:文件名称,文件大小,时间属性,文件类型,i节点

(1)文件名称
find /etc -name init //在目录/etc中查找文件init,-iname不区分大小写

(2)文件大小
find / -size +204800 //在根目录下查找大于100MB的文件(+大于;-小于;不写则是等于)
在Linux中一个数据块是512字节0.5k,查找的文件需换算成数据块

(3)文件所属者
find /home -user cly //在根目录下查找所有者为cly的文件, -group 根据所属组查找

(4)文件时间属性
find /etc -cmin -5 //在/etc下查找5分钟内被修改过的属性的文件和目录
-amin 访问时间 access
-cmin 文件属性change
-mmin 文件内容modify

(5)文件类型
-type根据文件类型查找:f 文件 d目录 l 软链接文件
例如:find /etc -type f //查找etc目录下的文件

(6)根据i节点查找 -inum
ls -i //看到每个文件的i节点
例如:find . -inum 31531 -exec rm {} \ ;

若希望模糊查询,使用通配符 * 即可,?代表单个字符
例如:find /etc -name * init *

连接选项:-a 两个条件同时被满足;-o 两个条件满足任意一个即可;-exec/ok命令 {} ; 对结果执行操作
例如:find /etc -size +163840 -a -size -204800 //在etc下查找大于80MB小于100MB的文件
又如:find /etc -name inittab -exec ls -l {} \ ; //在etc下查找inittab文件并显示其详细信息
find /home -user cly -ok rm {} \ ; //-ok用来询问确认


  1. 在文件资料库中查找文件locate

语法:locate 文件名
例如:locate inittab //区分大小写 ;locate -i inittab //不区分大小写
locate不是遍历搜索,是建立了文件资料库会定期更新,在资料库中搜索,速度快
更新文件资料库:updatedb
存放临时文件的目录不在资料库收录范围之中


  1. 搜索命令所在目录及别名信息which

语法:which 命令
例如:which ls


  1. 搜索命令所在目录及帮助文档路径whereis

语法:whereis 命令名称
例如:whereis ls


  1. 在文件中搜寻字串匹配的行并输出grep

-i 不区分大小写;-v 排除指定字串
语法:grep -iv [指定字串] [文件]
例如:grep mysql /root/install.log
grep -v ^# /etc/inittab 和 grep -v # /etc/inittab的区别是:
前者排除的是#在行首的行而后者是每一行中只要有#不论位置都被排除

     雪碧可乐_2020/6/25_11:13
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值