本文来自博客园,作者:Jcpeng_std,转载请注明原文链接:https://www.cnblogs.com/JCpeng/p/15077235.html
使用 Linux 经常会遇到这种情况:只知道文件中包含某些特定的字符串,但是不知道具体的文件名。需要根据“关键词”反向查找文件。
例如:查找当前目录下,包含“ipaddress”字符串的所有文件
(1)grep -rn "ipaddress" ./
(其中,r 表示递归, n 表示查询结果显示行号)
(2)find ./ -name "*.*" | xargs grep "ipaddress"
(3)find . | xargs grep -ri "ipaddress" -l
(-l 表示只显示文件名)
(4)find / -type f -name "*.txt" | xargs grep "ipaddress"
如果不知道文件所在的大致目录,知道文件的类型(例如文本类型 txt),可以在root根目录 / 下根据特定字符串进行查找。
在Linux的控制台,输入man命令,即可查看对应函数原型,用法及所需要的头文件。
例如,查找快速排序算法"quick_sort":man quick_sort
在Linux下查看对应结构体的定义,可用find/grep命令,即可查看对结构体原型。
(1)find /usr/include/ -name "*.h" | xargs grep "struct net_links"
(2)grep "struct net_links" /usr/include/ -r -n