shell编程四剑客之find
(1) Find作用Find主要用来对系统文件,目录的查找
(2) Find语法
findpath-option {}\;
注释:
path表示路径 ,可以从根查找(/) 可以从当前目录查找(.) 可以从指定目录查找(tmp/)
option 表示选择 -name表示查找文件名称(*.txt) -type 通过文件类型进行查找 -size表示通过文件大小查找
-perm 通过文件权限查找-mtime表示通过时间类型查找
exec 接要执行的命令例如 find. -name"*.txt"-execrm-rf {} \; {}表示把前面查找的结果放到里面
(3) find -name 参数案例
find /data/-name "*.txt" 查找/data/目录以.txt结尾的文件
find/data/-name ""查找/data/目录下以大写字母开头的文件
find/data/ -name "test" 查找/data/目录下以test开头的文件
find/data/ -name "*.txt" -execmv{}/tmp/\; 查找/data/目录下以.txt结尾的文件把它移动到tmp目录下
find/tmp/ -name"*.txt"-execmv{}. \; 查看/tmp/目录下以.txt结尾的文件移动到当前目录下
find. -name "jfedu.txt" -execrm-rf {}\; 查找当前目录下文件名称为jfedu.txt的文件,执行删除操作
注释:
不加-typef |d | l -name不指定查找的文件类型,默认查找所有
(4) find -type 参数案例
find/data/-typed 查找/data/目录下,是目录类型的文件
find/data/-typel 查找/data/目录下的软连接文件
find/data/-typef 查找/data/目录下的文件类型文件
find/data/ -typed-exec chmod744 -R 查找/data/目录下是目录类型的文件.并将权限设置为744
(5)find -size参数案例
find /data/-size 10M 查找/data/目录下是10M的文件
find/data/ -size-10M 查找/data/目录下小于10M 的文件
find/data/ -size +10M查找/data/目录下大于10M的文件
(6)find -perm 参数案例
find /data/ -perm 744 查找/data/目录下文件或目录权限是744的
find /data/-perm +644查找/data/目录下文件或目录的权限是644以上的
find /data/-perm -644 查找/data/目录下文件或目录权限是644以下的
(7)find -mtime 参数案例
find/data/ -mtime +30 -name"*.log" 查找/data/目录下30天以前的log文件
find/data/-mtime -30 -name"*.txt" 查找/data/目录下30天以内的txt文件
find/data/ -mtime 30 -name "*.log" 查找/data/目录下第30天的log文件
find/data/ -mmin +30-name"*.log" 查看/data/目录下30分钟以前的log文件
find/data/ -amin-30 -name "*.txt"查看/data/目录下30分钟以内txt文件
find/data/-cmin30-name"*.log"查找/data/目录下第30分钟的log文件
(8) find综合案例
查找/data/目录下以.log结尾的文件,文件大于10k,同时cp /tmp目录下
find/data/-name"*.log" -type f-size +10k-execcp { }/tmp \;
查找/data/目录下以.txt结尾的文件,大于10k的文件,权限为644,并删除文件
find /data/-name"*.txt"-type f -size +10k -perm 644-exec rm-rf{}\;
查找/data/目录下以.log结尾的文件,30天以前的文件,文件大小是10M并移动到/tmp目录
find/data/-name "*.log"-typef-mtime +30-size 10M-execmv {} /tmp\;
页:
[1]