在Linux中,由于文件很多,代码很长,可能我们只知道其中的一两个字符串,如‘test’,这个时候我们要在那么多文件中找到这一字符串所在位置很难,因此可以使用grep和find寻找,find用于查找文件和文件夹,grep常用于查找具体的单词,字符串等,如下:

使用grep查找

可以输入

grep --help

查看grep的输入参数和使用

grep 'test' a,b,c           #在文件a,b,c中寻找test这个词 
grep -r 'test' .           #在当前目录中找test这个词 
grep -r 'test' example      #在example目录中找test这个词

结合ps查看进程的同时利用管道|查找出对应进程
在这里插入图片描述
ps -ef查看进程,有很多进程,此时通过管道和grep结合找出进程中的logcat,此外可以通过--color=auto来加入颜色
在这里插入图片描述
发现有一个grep logcat,这个进程就是我们使用grep本身的进程,如果我们不想展示这个进程,可以使用grep -v 【进程名】来频闭
在这里插入图片描述
另外,可以通过awk来读取进程号
在这里插入图片描述

使用find查找

1,查找文件夹

find ./ -name camb    #(在当前目录找camb文件夹).表示当前目录,-name表示以名字的形式展示,camb是需要寻找的文件夹
or 
find . -name camb   #跟上面一样的结果

find / -name camb #在根目录找camb文件夹
find /home/test -name camb   #在路径/home/test中找名为camb的文件夹

因为是查找文件夹,所以查找的结果路径最后就是要找的文件夹名,比如在当前文件夹下找LSPE文件夹
在这里插入图片描述

2,查找文件
查找camb.txt文件,记得要加后缀,否则认为找的是文件夹

find . -name camb.txt
or 
find ./ -name camb.txt #在当前目录找文件

find /home/test -name camb.txt     #在路径找文件

如果文件名或文件夹名记得不全了,只记得一部分,则可以使用:

find . -name cam\*   #在当前路径找出cam开头的文件或者文件夹

记住linux的find是区分大小写的,如果写成Cam则和cam是不一样的,如果要不区分大小写,则将 -name改为 -iname

结合/del/null查找

/dev/null介绍链接
find或grep查找,如果没有文件或者权限不够,就会在终端输出not found等error,可能非常多,会导致想要的信息被覆盖,因此可以把2输入到“黑洞”文件中

find / -iname filename 2>/dev/null
Logo

为开发者提供学习成长、分享交流、生态实践、资源工具等服务,帮助开发者快速成长。

更多推荐