find命令

linux下的find命令使用

当我们忘记以前写过的一个ppt存在哪里了

1
find . –name "*.pptx"

当我们知道这个ppt是以字母开头的

1
find . -name "[A-Z]*.pptx"

ppt文件大概在10-20m范围

1
find .  -size -0.1M -size +1M  -name "*"

-path 以整体的路径进行匹配 -name则以文件名进行匹配
-iname 忽略大小写
! -name 反义

当前目录下查找更改时间在5日以内的文件

1
find . -mtime -5 -print  +5则是5日以前

或者5分钟内

1
find . -mmin -5 -print   +5则是超过5分钟

时间戳概念 -newer

1
find . -type f -newer file.txt -print

比file.txt这个参考文件更新的所有文件。

为了在当前目录下查找除目录以外的所有类型的文件

1
find . ! -type d -print 

当前目shell

1
find . -type l -print 

想要在当前目录及子目录中查找文件名以一个大写字母开头的文件

1
find . -name "[A-Z]*" -print   

执行命令exec

计算当前目录下各文件的大小

1
find . -type f -exec du -h {} \;

查找文件内容

1
2
3
4
find . -type f -name "2.1.2" |xargs -n 10 grep 'pom.xmml' -l
find . -type f -name "*.*" |xargs -n 10 grep "10.1.68.12" -l
find . -name "pom.xml" | xargs grep "2.1"
find . -type f -name "*.js" |xargs grep "10.1.68.12"