文件搜索命令 locate
locate 文件名
在后台数据库中按文件名搜索,搜索速度更快,只能按文件名搜索
/var/lib/mlocate
locate 命令所搜索的后台数据库
新建文件在数据库没有更新的时候找不到
updatedb
更新数据库
/etc/updatedb.conf
配置文件
- PRUNE_BIND_MOUNTS = “yes” 开启搜索限制
- PRUNEFS = 搜索时不搜索的文件系统
- PRUNENAMES = 搜索时不搜索的文件类型
- PRUNEPATHS = 搜索时不搜索的路径
文件搜索命令 find
find [搜索范围] [搜索条件]
避免大范围搜索,非常耗系统资源
[root@wangteng tmp]# find / -name install
find会搜索符合条件的文件名,上面的命令无法找到install.log,只能找到install
可以使用通配符匹配
*
、?
、[]
[root@wangteng ~]# find /root -name "install*"
/root/install.log
/root/install.log.syslog
find /root -iname install.log
不区分大小写
find /root -user root
按照所有者搜索
find /root -nouser
查找没有所有者的文件
find /var/log/ mtime + 10
查找10天前修改的文件
-10
10天内10
10天当天+10
10天前- atime 文件访问时间
- ctime 改变文件属性
- mtime 修改文件内容
find . -size 25k
查找文件大小是25k的文件
- -25k 小于25k
- 25k 等于25k
- +25k 大于25k
20k
小写k20M
大写M
find . -inum 262422
查找i
结点是262422的文件
find /etc -size +20k -a -size -50k
大于20k小于50k
-a
and-o
or
find /etc -size +20k -a -size -50k -exec ls -lh {} \;
大于20k小于50k并显示详细信息
-exec "命令" {} \;
对搜索结果执行"命令"
find /etc -size +20k -a -size -50k -exec rm -rf {} \;
删除搜索结果
[root@wangteng ~]# find . -size -50k -a -size +1k -exec ls -lh {} \;
总用量 44K
-rw-------. 1 root root 1.2K 5月 30 05:52 anaconda-ks.cfg
-rw-r--r--. 1 root root 25K 5月 30 05:52 install.log
-rw-r--r--. 1 root root 7.6K 5月 30 05:51 install.log.syslog
-rw-r--r--. 1 root root 25K 5月 30 05:52 ./install.log
-rw-r--r--. 1 root root 7.6K 5月 30 05:51 ./install.log.syslog
-rw-------. 1 root root 1.2K 5月 30 05:52 ./anaconda-ks.cfg
-rw-------. 1 root root 1.6K 7月 26 22:00 ./.bash_history