locate [文件名]
在后台数据库中按文件名搜索, 搜索速度快, 只能文件名搜索
locate命令所搜索的后台数据库:/var/lib/mlocate- 默认每天更新一次
更新数据库:
updatedb按照配置文件搜索:
/etc/updatedb.conf
locate与whereis与which都使用该文件配置
# 配置是否生效PRUNE_BIND_MOUNTS="yes"# 不筛选包含关键字# PRUNENAMES=".git .bzr .hg .svn"# 不搜索目录PRUNEPATHS="/tmp /var/spool /media /home/.ecryptfs /var/lib/schroot"# 不筛选的文件系统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 [选项] [命令名]
搜索命令的命令, 搜索命令所在路径及帮助文档所在位置
- 选项:
--b: 只查找可执行文件
--m: 只查找帮助文件
which
与
whereis作用几乎相同, 会显示命令别名
whereis与which搜索的是$PATH下的命令路径
find
搜索符合条件的文件名, 如果需要匹配, 使用通配符匹配, 通配符是完全匹配
find [搜索范围] [搜索条件]
搜索条件
不区分大小写
find /root -iname install.log
按照所有者搜索
find /root -user root
查找没有所有者的文件(内核创建文件, 外来windows创建的文件, Windows会忽略文件所有者)
find /root -nouser
查找10天前修改的文件
find /var/log/ -mtime +10-10: 10天内修改的文件10: 10天当天修改的文件+10: 10天前修改的文件atime: 文件访问时间ctime: 改变文件属性时间mtime: 修改文件内容时间
搜索文件大小是 25kb 的文件
find . -size 25k-25: 小于 25kb 的文件25: 等于 25kb 的文件+25: 大于 25kb 的文件兆字节需大写:
25M
查找 i 节点是 262422 的文件
find . -inum 262422查询 i 节点:
ls -i
查找 /etc/ 目录下, 大于 20kb 并且小于 50kb 的文件
find /etc -size +20k -a -size -50k-a:and逻辑与-o:or逻辑或
处理搜索结果:
-exec [处理前面结果命令] {} \;}find /etc -size +20k -a -size -50k -exec ls -lh {} \;
通配符:
*: 匹配任意内容
find /root -name "install.log*"
/root/install.log
/root/install.log.syslog
?: 匹配任意一个字符[]: 匹配任意一个中括号内的字符
find /root -name "ab[cd]"
/root/abc
/root/abd
grep
grep [选项] 字符串 文件名
在文件中匹配符合条件的字符串
选项:
-i: 忽略大小写-v: 排除指定字符串
