一.locate(搜索文件)
1.格式
locate文件名
说明:locate不在系统中搜索文件(即不遍历整个系统)linux 通配符的使用,而是在/var/lib/mlocate(centos7中因此目录,可使用locatelocate查看此目录路径)数据库中搜索,/var/lib/mlocate数据库默认每晚更新一次,要查找新创建的文件就要去更新(通过updatedb命令)此数据库后再进行搜索
2.优点
在后台数据库中按文件名进行搜索,所以搜索速率快
3.缺点
只能按文件名搜索
4.注意
locate根据配置文件/etc/updatedb.conf进行搜索,配置文件的内容如右图
PRUNE_BIND_MOUNTS="yes"表示开启搜索限制
PRUNE_BIND_MOUNTS="no"表示关掉搜索限制
PRUNEFS表示搜索时不搜索的文件系统
PRUNENAMES表示搜索时不搜索的文件类型
PRUNEPATHS表示搜索时不搜索的路径
二.whereis(搜索命令)
1.命令格式
whereis命令名
说明:搜索外部命令所在路径及帮助文档所在位置(Linux的外置命令不能通过whereis找到命令路径,只能看见帮助文档的路径,如pwd、cd)
-b只查看命令所在位置(即命令的可执行文件)
-m只查找帮助文档所在位置
三.which(搜索命令)
1.命令格式
which命令名
说明:搜索外部命令所在路径及别称(不是所有命令都有别称,Linux的shell外置命令未能用此命令)
注意:
在Linux中要想执行一个命令须要用绝对路径,因为系统定义了环境变量PATH(即系统搜索命令的路径),当执行一个命令时,会在PATH指定的路径中搜索是否有这样一个执行文件或则存在(由于环境变量的存在,所以系统命令可以不打绝对路径),若自己定义了一个执行文件须要执行时就要打上绝对路径,或则把执行文件的路径置于PATH环境变量下。linux下查看环境变量:
四.find(搜索*文件*)
1.命令格式
find[搜索范围][搜索条件]
说明:find命令对文件进行搜索的时侯完全匹配文件名,倘若进行模糊搜索则使用转义匹配
Linux中键值有:*匹配任意内容
?匹配一个任意字符
[]匹配中括弧内任一字符
2.示例
在根目录下搜索名为initial-setup-ks.cfg的文件,注根目录下搜索相当于遍历根目录linux获取当前时间,会花费资源
在/root目录下借助键值分别搜索文件名为以a、b开头以任意字符结尾的文件
-name根据文件名完全匹配搜索
-iname根据文件名不分辨大小写搜索
-user根据所有者进行搜索linux 通配符的使用,前面为Linux的登陆帐户名
-nouser查找没有所有者的文件(不是所有的没有所有者的文件都是垃圾文件,内核形成的根目录proc、sys路径下的,或则外来文件即外接盘内的文件会没有所有者linux 删除文件,但不是垃圾文件)
-mtime根据更改的时间范围搜索文件
-atime按照文件的访问时间搜索
-ctime按照文件属性改变的时间搜索
-size按照文件大小搜索
-inum按照文件的i节点搜索
查找root目录下小于10k大于30k的文件(-a表示与and,-o表示或or)
查找root目录下小于10k大于30k的文件并显示文件详尽信息(-exec命令{};对搜索结果进行操作)
五.grep(搜索字符串)
1.命令格式
grep[选项]字符串文件名
说明:grep命令是在文件中搜索符合条件的字符串,如需匹配使用正则表达式进行包含匹配
2.选项
-i忽视大小写
-v排除指定的字符串
本文原创地址://gulass.cn/lmlxjkssswjd.html编辑:刘遄,审核员:暂无