linux基本命令【文件搜索命令】
文件搜索命令:locate whereis which find
字符串搜索命令 grep
locate
用法 : locate 文件名
-因为locate命令是在后台数据库中按文件名搜索,并不需要搜索整个系统文件,所有搜索速度更快.
-/var/lib/mlocate
locate命令所搜索的后台数据库,后台数据库并不是实时更新的,默认是一天一更新.在某些linux系统中这个后台数据库名并不是相同的.
-updatedb
更新数据库(更新后即可搜索新建的文件)
缺点:只可以按照文件名进行搜索.
优点:搜索速度更快,耗费资源较少.
locate默认规则是按照 /etc/updatedb.conf配置文件内容进行搜索,whereis which 也是按照这个规则进行搜索.
-PRUNE_BIND_MOUNTS = "yes"
#开启搜索限制.
-PRUNEFS =
#搜索时,不搜索的文件系统.
-PRUNENAMES =
#搜索时,不搜索的文件类型.
-PRUNEPATHS =
#搜索时,不搜索的路径.
where 与 which
命令的搜索命令
用法: whereis 命令名
#搜索命令所在路径及帮助文档所在位置
选项:
-b: 只查找可执行文件
-m: 只查看帮助文件
用法 which 命令名
#搜索命令所在路径及别名
find
find [搜索范围] [搜索条件]
#搜索文件
find / -name install.log
#避免大范围搜索,会非常耗费系统资源
#find是在系统当中搜索符合条件的文件名. 如果需要匹配,使用通配符匹配,通配符是完全匹配
linux中的通配符
* 匹配任意内容 find / -name "*".php
? 匹配任意一个字符 find / -name a"?".php
[] 匹配任意一个中括号内的字符 find / -name "ab[cd]"
- find / -iname install.log
#不区分大小写
- find / -user root
#按照所有者搜索
- find / -nouser
#查找没有所有者的文件
- find /var/log -mtime +10
#查找10天前修改的文件
-10 10天内修改的文件
10 10天当天修改的文件
+10 10天前修改的文件
atime 文件访问时间
ctime 改变文件属性
mtime 修改文件内容
- find . -size +25k 按照M字节搜索 +25M
#按照文件大小搜索文件
- find . inum 262422
#查找i节点是262422的文件
- find /etc/ -size +20k -a -size -50k
#查找/etc/目录下,大于20k并且小于50k的文件
-a : and
-o : or
- find /etc/ -size +20k -a -size -50k -exec ls -lh {} \ ;
#查找/etc/目录下,大于20k并且小于50k的文件,并显示详细信息
# -exec/ -ok 命令{} \;对搜索结果执行操作
grep
grep [选项] 字符串 文件名
#在文件中匹配符合条件的字符串
选项:
-i : 忽略大小写
-v : 取反
-n:显示匹配行及行号。
find和grep的区别:
find命令:在系统当中搜索符合条件的文件名, 如果需要匹配,使用通配符匹配,通配符是完全匹配.
grep命令:在文件当中搜素符合条件的字符串,如果需要匹配,使用正则表达式进行匹配,正则表达式是包含匹配