RedHat/Centos

关注公众号 jb51net

关闭
操作系统 > RedHat/Centos >

linux系统中批量查找文件与文件内容的方法

佚名

比如查找当前目录下面所有的php文件里面某个关键字



find ./ -name "*.php" | xargs grep '关键字'


如果需要查找的内容包含特殊符号,比如$等等,grep要加参数



find ./ -name "*.php" | xargs grep -F '关键字'


文件名查找

文件名查找方法:

例如我们知道某个文件包含有srm这3个字母,那么要找到系统中所有包含有这3个字母的文件是可以实现的,输入:



find /etc -name '*srm*'


这个命令表明了linux系统将在/etc 整个目录中查找所有的包含有srm这3个字母的文件,比如 absrmyz,tibc.srm等等符合条件的文件都能显示出来。如果你还知道这个文件是由 srm 这3个字母打头的,那么我们还可以省略最前面的星号,命令如下:



find /etc -name 'srm*'


一些其它参考

find -name april* 在当前目录下查找以april开始的文件
find -name april* fprint file 在当前目录下查找以april开始的文件,并把结果输出到file中
find -name ap* -o -name may* 查找以ap或may开头的文件
find /mnt -name tom.txt -ftype vfat 在/mnt下查找名称为tom.txt且文件系统类型为vfat的文件
find /mnt -name t.txt ! -ftype vfat 在/mnt下查找名称为tom.txt且文件系统类型不为vfat的文件
find /tmp -name wa* -type l 在/tmp下查找名为wa开头且类型为符号链接的文件
find /home -mtime -2 在/home下查最近两天内改动过的文件
find /home -atime -1 查1天之内被存取过的文件
find /home -mmin +60 在/home下查60分钟前改动过的文件
find /home -amin +30 查最近30分钟前被存取过的文件