更新时间:
#linux find 命令
#默认包含子目录,不需要-R
- find /usr/share -type d 类型
类型:- b block special
- c character special
- d directory
- f regular file
- l symbolic link
- p FIFO
- s socket
- find / -name filename.txt根据名称查找/目录下的filename.txt文件。
- find . -name “*.xml”递归查找所有的xml文件
- find . -name “*.xml” |xargs grep “Hello World”
递归查找所有文件内容中包含hello world的xml文件,找内容 - 上边命令, 如果没有xargs 则会grep 找出来的文件名
- grep -H ‘spring’ *.xml 查找所有的包含spring的xml文件
-H: Always print filename headers with output lines. - find ./ -size 0 | xargs rm -f & 删除文件大小为零的文件
- grep ‘test’ d*显示所有以d开头的文件中包含test的行。
- find test -type f ! -name "5" | xargs rm -f 删除目录下文件,排除某个文件
- grep ‘test’ aa bb cc显示在aa,bb,cc文件中匹配test的行。
- find . -type d -print
- find . -name 'my*' -ls
搜索当前目录中,所有文件名以my开头的文件,并显示它们的详细信息。 - grep ‘[a-z]/{5/}’ aa显示所有包含每个字符串至少有5个连续小写字符的字符串的行。
- find ./stats/ -type f -name “*.php” -exec grep -nH “10.121.248.87” {} ;
- 想查看当前文件夹及子文件夹里有没有”xyz”目录 # find . -type d -name xyz
- find . -name “*.txt”
- find . -user roc 用户自己的文件 ( 此处可替换为-group )
- find . -perm 755 前文件夹及子文件夹里权限设定为755的所有文件
- 如果想全部输出用find命令查找出的”*.abc”文件的内容
-find . -type f -name “*.abc” -exec cat {} ;- -exec 表示由find找到的匹配项会作为“-exec后面设定的命令”的参数
- 可以使用-ok代替-exec,这样对每个匹配项进行操作,都会要求用户确认(y为是,n为否)
- 命令最后的{} ; 别忘了写,其中{}代表用find查找到的结果中的每一个查找项。
- find . -amin -5 查找当前目录下在5分钟内被访问过的文件
- 访问过用amin,修改过用mmin,文件状态改变过用cmin. 精确到分钟的用amin,mmin,cmin,精确到天的用atime,mtime,ctime
- find . -type f -mmin -10 搜索当前目录中,所有过去10分钟中更新过的普通文件。如果不加-type f参数,则搜索普通文件+特殊文件+目录。
- 在5分钟之内的用-5,在5分钟以上的用+5
- 想查找当前目录及子目录下文件大小大于10M的所有文件
- find . -size +10000000c
- -size:表示文件大小,+表示大于某个数,-表示小于某个数。c表示单位是字节,你可以将c换成k,M,G。
- 上述所有的find命令都是查找当前目录及其子目录。如果不想深入到子目录中,而是只查找当前一层目录,则可以:
- find . -maxdepth 1 -name “*.c”