linux find 命令实战用法

查找并删除所有log-*.log的文件

find / -name "log-*.log" | xargs  rm -rf

在当前目录及其多个子目录中查找文件test.c

find . -name "test.c" -print

在当前目录及其多个子目录中查找.vbs文件并删除之

find . -name "*.vbs" -exec rm {} \;

在当前目录及其多个子目录下的.c文件中查找字符串"password"

find . -name "*.c" -print | xargs grep "password"

在当前目录及子目录下的.c文件中替换字符串"password"为"pwd"

find . -name "*.c" -print | xargs perl -pi -e 's/password/pwd/g'

从根目录开始查找所有扩展名为.log的文本文件,并找出包含”ERROR”的行,输出到file.txt文件

find / -type f -name "*.log" | xargs  "ERROR" > file.txt

删掉当前目录下一级文件夹并且是7天前更新的目录

find . -type d -depth -maxdepth 1 -mmin +10080 |xargs rm -rvf

查找名字符合正则表达式的文件,注意前面的‘.*’(查找到的文件带有目录)

find ./ -regex .*so.*\.gz

查找目录并列出目录下的文件(为找到的每一个目录单独执行ls命令,没有选项-print时文件列表前一行不会显示目录名称)

find ./ -type d -print -exec ls {} \;

查找目录并列出目录下的文件(为找到的每一个目录单独执行ls命令,执行命令前需要确认)

find ./ -type d -ok ls {} \;

查找目录并列出目录下的文件(将找到的目录添加到ls命令后一次执行,参数过长时会分多次执行)

find ./ -type d -exec ls {} +

查找文件名匹配*.c的文件

find ./ -name \*.c

打印test文件名后,打印test文件的内容

find ./ -name test -print -exec cat {} \;

不打印test文件名,只打印test文件的内容

find ./ -name test -exec cat {} \;

查找文件更新日时在距现在时刻二天以内的文件

find ./ -mtime -2

查找文件更新日时在距现在时刻二天以上的文件

find ./ -mtime +2

查找文件更新日时在距现在时刻一天以上二天以内的文件

find ./ -mtime 2

查找文件更新日时在距现在时刻二分以内的文件

find ./ -mmin -2

查找文件更新日时在距现在时刻二分以上的文件

find ./ -mmin +2

查找文件更新日时在距现在时刻一分以上二分以内的文件

find ./ -mmin 2

查找文件更新时间比文件abc的内容更新时间新的文件

find ./ -newer abc

查找文件访问时间比文件abc的内容更新时间新的文件

find ./ -anewer abc

查找空文件或空目录

find ./ -empty

查找空文件并删除

find ./ -empty -type f -print -delete

查找权限为644的文件或目录(需完全符合)

find ./ -perm 664

查找用户/组权限为读写,其他用户权限为读(其他权限不限)的文件或目录

find ./ -perm -664

查找用户有写权限或者组用户有写权限的文件或目录

find ./ -perm /220

find ./ -perm /u+w,g+w

find ./ -perm /u=w,g=w

查找所有者权限有读权限的目录或文件

find ./ -perm -u=r

查找用户组权限有读权限的目录或文件

find ./ -perm -g=r

查找其它用户权限有读权限的目录或文件

find ./ -perm -o=r

查找所有者为lzj的文件或目录

find ./ -user lzj

查找组名为gname的文件或目录

find ./ -group gname

查找文件的用户ID不存在的文件

find ./ -nouser

查找文件的组ID不存在的文件

find ./ -nogroup

查找有执行权限但没有可读权限的文件

find ./ -executable \! -readable

查找文件size小于10个字节的文件或目录

find ./ -size -10c

查找文件size等于10个字节的文件或目录

find ./ -size 10c

查找文件size大于10个字节的文件或目录

find ./ -size +10c

查找文件size小于10k的文件或目录

find ./ -size -10k

查找文件size小于10M的文件或目录

find ./ -size -10M

查找文件size小于10G的文件或目录

find ./ -size -10G

你可能感兴趣的:(linux,linux,perl,服务器)