Ubuntu可以借助命令进行查找我们需要的文件以及文件中的关键字
查找文件
locate
find
查找文件中的关键字
grep
查找文件
locate
作用相当于find -name,但是locate速度会比find快很多,因为locate命令也是用数据库查找的。
因为该数据库默认是一天更新一次的,所有使用locate命令有可能找不到最近新建的文件。这时就需要手动更新数据库,命令很简单,直接在终端中输入sudo updatedb就可以进行更新,更新速度还是比较快的,所以在搜索文件的时候建议使用locate命令。
示例:
locate main.c
1
find
该命令直接查找硬盘,所以花费时间比较长。该命令可以找到你想要的任何文件,下边是一些比较好用的命令。
格式 含义
find -name filename 在根目录中寻找名字为filename的文件
find -name s 在目录里面搜索带有s的文件
find -name *s 在目录里面搜索以s结尾的文件
find -name s* 在目录里面搜索以s开头的文件
find -amin -10 在系统中搜索最后10分钟访问的文件
find -atime -2 查找在系统中最后48小时访问的文件
find -mmin -5 查找在系统中最后5分钟修改过的文件
find -mtime -1 查找在系统中最后24小时修改过的文件
查找文件中的关键字
grep
有些时候我们不仅仅是想找我们需要的文件,还想找到文件中的某些关键字,这个时候我们就需要借助Ubuntu自带的强大的搜索工具——grep
grep(global search regular expression(RE) and print out the line,全面搜索正则表达式并把行打印出来)是一种强大的文本搜索工具,它能使用正则表达式搜索文本,并把匹配的行打印出来。
find / -name '*' | xargs grep 'timersub'
1
通过使用find与grep使我们能够更好地找到文件中的关键字。
上边的指令就是通过find与grep相结合查找所有子文件中包含timersub关键字的文件,如果文件中包含该关键字,在终端中就会打印出来。
直接使用上边的指令进行搜索的时候,会出现很多的Is a directory无关紧要的提示信息,我们可以借助grep -r只搜索子目录的内容就能够避免提示。将上边的命令改为:
find / -name '*' | xargs grep -r 'timersub'
1
---------------------
作者:泉伟
来源:CSDN
原文:https://blog.csdn.net/qq_35451572/article/details/81094144
版权声明:本文为博主原创文章,转载请附上博文链接!