locate:
作用:在后台数据库中按文件名搜索,搜索速度更快
命令格式:locate 文件名
选项或参数:
-l num(要显示的行数)
-f 将特定的档案系统排除在外,如将proc排除在外
-r 使用正则运算式做为寻找条件
补充:
/var/lib/mlocate locate命令所搜索的后台数据库
updatedb 更新数据库(数据库每天更新一次,使用此命令可强制更新)
find:
作用:在系统当中搜索符合条件的文件名,如果需要匹配,使用通配符中的完全匹配(*)进行匹配。
命令格式:find [搜索范围] [搜索条件]
选项或参数:
-name 按文件名查找
-iname 按文件名查找,但不区分大小写
-user 按所有者查找
-nouser 查找没有所有者文件
-mtime 修改文件内容
-atime 查找文件访问时间
-ctime 改变文件出现
-size 指定文件大小
-inum 制定节点的文件
补充:
(减号- 代表在什么时间内 加号+ 代表在什么时间以前)
find /etc-size +20k -a -size -50k
查找/etc/目录下大于20kb并且小于50kb的文件
-a 逻辑与,两个条件都满足
-o 逻辑或,两个条件满足一个即可
find /etc-size +20k -a -size -50k -exec ls -lh {} \;
查找/etc/目录下大于20kb并且小于50kb的文件并显示详细信息
-exec/-ok 命令 {} \; 对执行结果进行操作
grep:
作用:在文件中搜索符合条件的字符串,使用正则表达式进行匹配
命令格式:grep [选项] 字符串 文件名
选项或参数:
-i 忽略大小写
-v 排除指定字符串
which:
作用:搜索命令所在路径及别名
命令格式:which 文件名
选项或参数:
-n 指定文件名长度,指定的长度必须大于或等于所有文件中最长的文件名。
whereis:
作用:搜索命令所在路径及帮助文档所在位置
命令格式:whereis 命令名
选项或参数:
-b 定位可执行文件。
-m 定位帮助文件。
-s 定位源代码文件。
-u 搜索默认路径下除可执行文件、源代码文件、帮助文件以外的其它文件。
通配符:
* 匹配任意内容
? 匹配任意字符
[] 匹配任意一个中括号内的字符
PS:
which:在指定的路径中,搜索某个系统命令的位置,并返回第一个搜索结果。可以看到某个系统命令是否存在,以及执行的到底是哪一个位置的命令。
whereis:只能用于程序名的搜索,而且只搜索二进制文件(参数-b)、man说明文件(参数-m)和源代码文件(参数-s)。如果省略参数,则返回所有信息。
whereis及locate都是基于系统内建的数据库进行搜索,因此效率很高,而find则是遍历硬盘查找文件。
locate:通过搜寻系统内建文档数据库达到快速找到档案,数据库由updatedb程序来更新,updatedb是由cron daemon周期性调用的。
默认情况下locate命令在搜寻数据库时比由整个由硬盘资料来搜寻资料来得快,如果locate所找到的档案若是最近才建立或刚更名的,可能会找不到。
在内定值中,updatedb每天会跑一次,可以由修改crontab来更新设定值。(etc/crontab)。
find:在系统当中搜索符合条件的文件名,如果需要匹配,使用通配符中的完全匹配(*)进行匹配。
grep:在文件中搜索符合条件的字符串,使用正则表达式进行匹配。