在linux中查找大于3k的文件,Linux系统学习之文件搜索命令(4)

updatedb.conf配置文件

此文件的作用是配置搜索条件,locate、whereis、which搜索命令就是按照此配置文件搜索的。

vi /etc/updatedb.conf //打开updatedb.conf配置文件

updatedb.conf配置文件的内容:

//是否启用此配置文件,yes是生效,no是不生效

PRUNE_BIND_MOUNTS = "yes"

//不搜索这些文件系统

PRUNEFS = "9p afs anon_inodefs auto autofs bdev binfmt_misc cgroup cifs coda configfs cpuset debugfs devpts ecryptfs exofs fuse fusectl gfs gfs2 gpfs hugetlbfs inotifyfs iso9660 jffs2 lustre mqueue ncpfs nfs nfs4 nfsd pipefs proc ramfs rootfs rpc_pipefs securityfs selinuxfs sfs sockfs sysfs tmpfs ubifs udf usbfs"

//不搜索包含这些关键字的文件

PRUNENAMES = ".git .hg .svn"

//这些目录中的文件不搜索

PRUNEPATHS = "/afs /media /net /sfs /tmp /udev /var/cache/ccache /var/spool/cups /var/spool/squid /var/tmp"

locate命令

locate [文件名]

locate并不是直接在系统中搜索,而是在/var/lib/mlocate下存有一个数据库,它是在这个数据库中搜索的文件。

优点:搜索数据库的好处就是它不需要遍历整个系统,所以搜索速度很快。

缺点:mlocate数据库并不是实时更新的他的更新频率应该是一天一更新,所以你新创建的文件,用locate命令搜索不到,不过,locate提供了一个更新mlocate数据库的命令:

updatedb //更新mlocate数据

更新mlocate数据库后就可以搜索到新创建的文件了。

搜索命令的命令whereis、which

whereis:搜索命令所在路径已经帮助文件所在位置。

whereis [选项] [命令名]

选项:

-b:只查找可执行文件

-m:只查找帮助文档

which:搜索命令所在路径及别名。

which [命令名]

注:whereis、which不能找到Linux里面shell的内置命令,如cd。

find命令

Linux里面功能最强大的文件搜索命令,支持使用通配符匹配。

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

例如: find / -name install.log //搜索根目录选的名字叫做install.log的文件

注:使用find的时候避免大范围搜索,会非常耗费系统资源

find搜索条件

-name //按照文件名搜索

举例:find /root -name abc //查找root下面叫做abc的文件

-iname //不区分大小写

举例:同上

-user //按照所有者搜索

举例:find /root -user root //查找root下所有者为root用户的文件

-nouser //查找没有所有者的文件

举例:find /root -nouser //查找root下没有所有者的文件

-mtime //文件修改时间 +10就是十天前 10第十天当天 -10 十天内

举例:find /var/log -mtime -10 //查找var/log 下面在十天内修改过的文件

atime //文件访问时间

举例:同-mtime

ctime //改变文件属性

举例:同-mtime

-size //安装文件大小搜索 -25k是小于25k 25k是等于25k +25k是大于25k

举例:

find . -size 13k //搜索当前目录下文件大小是13k的文件

-inum //按照i节点搜索

举例:find . -inum 14866 //搜索当前目录下i节点是14866的文件

-a //and 逻辑与,两个条件都满足

举例:find . -size +1k -a -size -4k //搜索当前目录下文件大小大于1k并且小于4k的文件

-o //or 逻辑或,两个条件满足一个即可

举例:find . -size -3k -o -size +5k //搜索当前目录下文件大小小于3k或者大于5k的文件

-exec [命令] {} \; //对搜索结果执行的操作

举例:find . -size +2k -a -size -10k -exec ls -l {} \; //搜索当前目录下文件大小大于2k并且小于10k的文件,然后使用ls列出这些的内容,注只要使用了-exec 结尾就要加上{} \; 这是此命令的固定格式

举例:find /root -name abd -exec rm -rf {} \; //查找root目录下文件名称是abd的文件然后删除他

grep

grep是字符串搜索命令,在文件中匹配符合条件的字符串,它支持正则表达式匹配

grep [选项] 字符串 文件名

选项:

-i 忽略大小写

-v 排除指定字符串

举例:grep -i "size" anaconda-ks.cfg //在anaconda-ks.cfg文件里搜索包含size的内容不区分大小写

Linux 下可以使用的通配符:

注:find支持通配符匹配,grep支持正则表达式匹配

* 匹配任意字符

? 匹配任意一个字符

[] 匹配任意一个中括号内的字符

举例:

find /root -name "*" //搜索root目录下所有内容

find /root -name "ab[cd]" //搜索root目录下名字叫做 abc 或者 abd的文件

find /root -name "?b" //搜索root目录下名字只有两个字符并且是b结尾的文件

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值