Easonay_Y

验证过才会写出来

导航

shell命令查找文件

Posted on 2019-09-15 20:49  Easonay_Y  阅读(18636)  评论(0编辑  收藏  举报

1、find命令的参数
下面是find命令一些常用参数的例子,有用到的时候查查就行了,像上面前几个贴子,都用到了其中的的一些参数,也可以用man或查看论坛里其它贴子有find命令手册
使用name选项
文件名选项是find命令最常用的选项,要么单独使用该选项,要么和其他选项一起使用。
可以使用某种文件名模式来匹配文件,记住要用引号将文件名模式引起来。
不管当前路径是什么,如果想要在自己的根目录$HOME中查找文件名符合*.txt的文件,使用~作为 'pathname'参数,波浪号~代表了你的$HOME目录。
$ find ~ -name "*.txt" -print
想要在当前目录及子目录中查找所有的‘ *.txt’文件,可以用:
$ find . -name "*.txt" -print
想要的当前目录及子目录中查找文件名以一个大写字母开头的文件,可以用:
$ find . -name "[A-Z]*" -print
想要在/etc目录中查找文件名以host开头的文件,可以用:
$ find /etc -name "host*" -print
想要查找$HOME目录中的文件,可以用:
$ find ~ -name "*" -print 或find . -print
要想让系统高负荷运行,就从根目录开始查找所有的文件。
$ find / -name "*" -print
如果想在当前目录查找文件名以两个小写字母开头,跟着是两个数字,最后是.txt的文件,下面的命令就能够返回名为ax37.txt的文件:
$find . -name "[a-z][a-z][0--9][0--9].txt" -print

 

2、使用grep命令查找文件/文件夹下特定的字符串

2.1、查找指定字符串string

grep 'string' filename

2.2、若需要在文件夹下所有文件查找

grep 'string'  dirPath/*

补充:若目录下含有多级子目录,则用 grep -r "string" ./

二、行首/行尾查找

首行查找在所找字符串前加^,尾行则在所找字符串后加$

如下,在行首查找字符 the

 

 注:查找字符 . 需要加转义字符 \,如下在行尾 查找字符 ...