find 找文件
1.find 搜索路径 -name 要搜索的文件名
如, find /root -name *.txt ,搜索root 家目录下文件后缀为 txt 的文件
2.find 搜索路径 -type 文件类型
如,find /root -type l, 搜索软链接类型的文件
3.find 搜索路径 -size [+ 或 -] 文件大小
grep 找文件中符合条件字符串的内容
-r:如果需要搜索目录中的文件内容,需要递归,所以指定该参数
-i:忽略搜索关键字的字符大小写
-n:显示搜索到的内容在文件中的行号
grep "搜索的内容" 搜索路径/文件 参数
对于要搜索的文件内容, 建议放到引号中, 因为关键字中可能有特殊字符, 或者有空格, 从而导致解析错误,关于引号, 单双都可以,可根据自己的需求选择。
locate 搜索含关键字的文件或目录
可以将locate看作是一个简化版的find, 使用这个命令我们可以根据文件名搜索本地的磁盘文件, 但是locate的效率比find要高很多。原因在于它不搜索具体目录,而是搜索一个本地的数据库文件,这个数据库中含有本地所有文件信息。Linux系统自动创建这个数据库,并且每天自动更新一次,所以使用locate命令查不到最新变动过的文件。为了避免这种情况,可以在使用locate之前,先使用updatedb命令,手动更新数据库。
1. 在所有目录下搜索含关键字的文件或目录
locate 关键字
2.搜索指定目录下含关键字的文件或目录,指定目录必须使用绝对路径
locate /root/caicai/关键字
3.搜索时,使用 -i 参数忽略大小写
locate test -i
4.使用 -n 参数 列出前n个搜索到的文件或路径
locate test -n 5
5.使用 -r 参数基于正则表达式进行搜索
locate -r "\.cpp$" 搜索以.cpp结尾的文件或目录