find命令
程序员文章站
2022-07-12 14:38:02
...
find命令:
概念:find命令用来搜索文件。
格式:find 目录(path) 匹配条件
参数:
-mindepth 指定开始遍历搜索的最小深度,该参数应该放在最前面,目的是在检查操作前就确定好要查找的文件。说明:要查找的目录(path)的深度为0
-maxdepth 指定遍历搜索的最大深度,该参数应该放在最前面,目的是在检查操作前就确定好要查找的文件。说明:要查找的目录(path)的深度为0
-name 指定文件的名字
-mtime 指定文件(以天为单位的)的修改时间
-mtime 0 表示文件(以天为单位的)修改时间距离当前为0天的文件,即距离当前时间不到1天(24小时)以内的文件
-mtime 1 表示文件(以天为单位的)修改时间距离当前为1天的文件,即距离当前时间1天(24小时-48小时)的文件
-mtime +1 表示文件(以天为单位的)修改时间为大于1天的文件,即距离当前时间2天(48小时)之外的文件
-mtime -1 表示文件(以天为单位的)修改时间为小于1天的文件,即距离当前时间1天(24小时)之内的文件
-exec 命令 {} \; 把查找到的文件作为入参执行指定的命令。说明:find命令会自动将查询到的文件一行一行地赋值给 {},\; 表示命令的结束。
举例:
# 查找 目录(path) 下所有 修改时间大于2天 的文件
find 目录(path) -mindepth 1 -maxdepth 1 -mtime +1
# 查找并备份 目录(path) 下所有 修改时间大于2天 的文件
find 目录(path) -mindepth 1 -maxdepth 1 -mtime +1 -exec cp -rp {} /data/bak \;
# 查找并删除 目录(path) 下所有 修改时间大于2天 的文件
find 目录(path) -mindepth 1 -maxdepth 1 -mtime +1 -exec rm -rf {} \;
# find 目录(path) -mindepth 1 -maxdepth 1 -mtime +1 | xargs rm -rf
上一篇: STL 常用
下一篇: c++中string find函数的使用