
shell四剑客 · find
通过如上基础语法的学习,读者对Shell编程有了更近一步的理解,Shell编程不再是简单命令的堆积,而是演变成了各种特殊的语句、各种语法、编程工具、各种命令的集合。
在Shell编程工具中,四剑客工具的使用更加的广泛,Shell编程四剑客包括:find、sed、grep、awk,熟练掌握四剑客会对Shell编程能力极大的提升。
四剑客之Find工具实战,Find工具主要用于操作系统文件、目录的查找,其语法参数格式为:
find path -option [ -print ] [ -exec -ok command ] { } \;
其option常用参数详解如下:
(1) Find工具-name参数案列:
find /data/ -name "*.txt" # 查找/data/目录以.txt结尾的文件;
find /data/ -name "[A-Z]*" # 查找/data/目录以大写字母开头的文件;
find /data/ -name "test*" # 查找/data/目录以test开头的文件;
(2)Find工具-type参数案列:
find /data/ -type d # 查找/data/目录下的文件夹;
find /data/ ! -type d # 查找/data/目录下的非文件夹;
find /data/ -type l # 查找/data/目录下的链接文件。
find /data/ -type d|xargs chmod 755 -R # 查目录类型并将权限设置为755;
find /data/ -type f|xargs chmod 644 -R # 查文件类型并将权限设置为644;
(3)Find工具-size参数案列:
find /data/ -size +1M # 查文件大小大于1M的文件;
find /data/ -size 10M # 查文件大小为10M的文件;
find /data/ -size -1M # 查文件大小小于1M的文件;
find 工具参数综合案例
# 查找/data目录以.log结尾,文件大于10k的文件,同时cp到/tmp目录;
find /data/ -name "*.log" -type f -size +10k -exec cp {} /tmp/ \;
# 查找/data目录以.txt结尾,文件大于10k的文件,权限为644并删除该文件;
find /data/ -name "*.log" –type f -size +10k -perm 644 -exec rm –rf {} \;
# 查找/data目录以.log结尾,30天以前的文件,大小大于10M并移动到/tmp目录;
find /data/ -name "*.log" –type f -mtime +30 –size +10M -exec mv {} /tmp/ \;
本文是原创文章,完整转载请注明来自 俞泊
评论
匿名评论
隐私政策
你无需删除空行,直接评论以获取最佳展示效果