在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