工作中find命令比较常用,该命令用于在指定目录下查找文件。
闲言碎语不多讲,直接通过几个例子说明一下find的使用方法。
# 在当前路径查找文件名字后缀是.py的所有文件find . -name "*.py"# 或者find -name "*.py" ############################################################# # 将目前目录及其子目录下所有最近20天内更新过的文件列出find . -ctime -20 # 将目前目录及其子目录下所有最近20天内读过的文件列出find . -atime -20 # 将目前目录及其子目录下所有最近20天内修改过的文件列出find . -mtime -20 # 将目前目录及其子目录下所有21天之前更新过的文件列出find . +ctime -20 # 将目前目录及其子目录下所有21天之前读过的文件列出find . +atime -20 # 将目前目录及其子目录下所有21天之前修改过的文件列出find . +mtime -20 ############################################################# # 将目前目录及其子目录下所有最近20分钟内更新过的文件列出find . -cmin -20 # 将目前目录及其子目录下所有最近21分钟以前更新过的文件列出find . +cmin -20 ############################################################# # 查找系统中所有文件长度为0的普通文件,并列出它们的完整路径find / -type f -size 0 -exec ls -l {} \; # 查找/var/log路径下文件后缀为.log,并且最近7日没有修改过的文件,并删除# 改命令一般用于定时删除过期日志find /var/log -name "*.log" +mtime 6 -exec rm -rf {} \; # 查找前目录中文件属主具有读、写权限,并且文件所属组的用户和其他用户具有读权限的文件find . -type f -perm 644 -exec ls -l {} \; ############################################################## # 查找当前路径下所有的普通文件find ./ -type f # 查找当前路径下所有的目录文件find ./ -type d # 查找当前路径下所有名字为beike的目录文件find ./ -name beike -type d # 查找当前路径下所有的空目录find ./ -type d -empty