标签:
用于查找文件
格式为:locate 文件名
该命令用于查找符合条件的文件,它会去保存文件与目录名称的数据库内,查找合乎范本样式条件的文件或目录。
因为该命令是直接在数据库内搜索(/var/lib/mlocate为locate所搜索的数据库,发型版本不同,文件名可能有所不同),而不是遍历整个硬盘,所以搜索速度较快。
但由于数据库不是实时更新的,所以缺点是新建的文件会搜索不到,可使用updatedb命令来更新数据库。
需要注意locate的配置文件/etc/updatedb.conf:
PRUNE_BIND_MOUNTS 等于yes时候,下面三个规则全部生效,等于no时候,下面三个规则全不生效。
PRUNEFS 不搜索的文件系统
PRUNENAMES 不搜索的文件后缀
PRUNEPATHS 不搜索的路径
whereis
格式为:whereis,命令名
用于查找命令所在的路径和其帮助文档所在路径,其只能搜索系统命令,而不能用户自己创建的文件。
which
格式为:which 文件名
which指令会在环境变量$PATH设置的目录里查找符合条件的文件。
格式为:find [搜索范围] [搜索条件]
find命令支持使用通配符
* 匹配任意内容
? 匹配任意一个字符
[] 匹配任意一个中括号内的字符
搜索条件:
-name name 查找名称为name的文件
-iname name 查找名称为name的文件,不区分大小写
-user root 查找所有者为root的文件
-nouser 搜索没有所有者的文件
-mtime 修改文件内容时间
-ctime 修改文件属性时间
-atime 文件访问时间
-[x]time -10 十天内
-[x]time 10 十天当天
-[x]time +10 十天前
-size
-size -25k 小于25k的文件
-size 25k 等于25k的文件
-size +25k 大于25k的文件
-inum 262242 查找i节点为262242的文件
-exec 命令2 {}\; 跟在命令1之后,命令1的执行结果交给命令2来执行
find命令的条件可以使用-a(and)和-o(or)来逻辑连接两个条件来搜索文件
格式为:grep [选项] 字符串 文件名
在文件中匹配复合条件的字符串
选项:
-i 忽略大小写
-v 排除指定字符串
find命令:在系统当中搜索符合条件的文件,如果需要匹配,使用通配符匹配,通配符是完全匹配
grep命令:在文件当中搜索符合条件的字符串,如果需要匹配,使用正则表达式进行匹配,正则表达式是包含匹配
所以我们要搜索文件名时,使用find+通配符,但当我们搜索文件内容时,使用grep+正则表达式
整理自:慕课网(www.imooc.com)
标签:
原文地址:http://www.cnblogs.com/xs104/p/4616407.html