文件搜索命令

locate(在数据库中搜索文件)

locate : 定位

locate [文件名]

  1. 因为搜索数据库,所以搜索速度非常快
  2. 数据库文件的位置在/var/lib/mlocate,这个数据库中包含了所有的文件名
  3. 该数据库文件每天更新一次,当我们作新建文件,或是其他等操作,系统不会主动更新数据库,需要 使用updatedb 命令更新
  4. locate命令搜索遵循/etc/updatedb.conf配置文件
 #是否开启搜索限制
 PRUNE_BIND_MOUNTS="yes"
 # 搜索时,不搜索的文件类型
 # PRUNENAMES=".git .bzr .hg .svn"
 # 搜索时,不搜索的文件路径
 PRUNEPATHS="/tmp /var/spool /media /home/.ecryptfs"
 # 搜索时,不搜索的文件系统
 PRUNEFS="NFS nfs nfs4 rpc_pipefs afs binfmt_misc proc smbfs autofs iso9660 ncpfs coda devpts  ftpfs devfs mfs shfs sysfs cifs lustre tmpfs usbfs udf fuse.glusterfs fuse.sshfs curlftpfs ecryptfs fusesmb  devtmpfs"

whereis(命令搜索命令)

  1. 用于搜索命令所在的路径以及帮助文档所在的位置,不能搜索用户自己创建的文件等信息。
  2. 不能看到shell命令(自带的命令,比如cd命令),只能看到外部安装的命令(环境变量中的命令)

    • -b:只查找可执行文件
    • -m:只查找帮助文件

which(命令搜索命令)

  1. 与whereis命令类似,但是还可以看到命令文件的所在位置

find(文件搜索命令)

find [搜索范围] [搜索条件]

  1. 避免大范围搜索,会非常消耗系统资源
  2. 可以使用通配符匹配
    • *匹配任意内容
    • ?匹配任意一个字符
    • []匹配任意一个括号内的字符
  3. 完全匹配

  4. 时间

    • -mtime +10:查找10天前修改的文件
    • -mtime 10:查找10天前当天修改的文件
    • -mtime -10:查找10天内修改的文件
  5. 类型

    • -atime 文件访问时间
    • -ctime 改变文件属性
    • -mtime 修改文件内容
  6. 其他选项

    • -iname test:不区分要搜索的test大小写格式
    • -user root:搜索属于root用户的文件
    • -nouser:搜索没有所属者的文件,liunx中,每个文件都有所属者,如果没有,有可能有以下几种情况:垃圾文件、内核产生的文件(proc/,sys/)、外来文件(U盘拷入)
    • -size:文件大小用小写k和大写M
    • -a 表示and
    • -o 表示or

find /etc -size +20k -a -size -50k -exec ls -lh {} \;
-exec {} \; 固定格式,表示直接对前面的搜索结果进行后面的命令处理

grep(字符串搜索命令)

grep "string" ./filname.config

  1. 在指定文件中搜索字符串
  2. 和find不同,这个搜索是包含匹配
  3. 需要使用正则表达式匹配

    • -v:取反,搜索不含string的字符串
    • -i:忽略大小写
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值