1.修改目录文件权限
find 目录路径 -type f -exec chmod 755 {} \;
// chmod 755 将文件权限设置为 -rwxr-xr-x
权限解释:
-:表示这是一个普通文件。如果是 d,表示这是一个目录。
rwx:表示文件所有者 (user) 的权限,读、写和执行权限。
r-x:表示文件所属组 (group) 的权限,读和执行权限。
r-x:表示其他用户 (others) 的权限,读和执行权限。
总结起来,-rwxr-xr-x 表示文件所有者有读、写、执行权限,所属组用户和其他用户有读和执行权限。
2.删除指定日期之前/后/范围内的文件
①确认筛选文件正确(浏览需要删除的文件)
find 目录路径 -type f -mtime +0
// find 目录路径 -type f -mtime +0:查找当前目录及子目录中,修改时间超过1天的所有文件。
②强制删除
find 目录路径 -type f -mtime +0 -exec rm -rf {} \;
find 目录路径 -type f -mtime +1 -mtime -3 -exec rm -rf {} \;
// 查找删除时间超过 1 天的文件,少于 3 天的文件,这将匹配修改时间在 48 到 72 小时之间的文件
-mtime 选项的详细解释
-mtime n:匹配的是修改时间恰好在 n 天前(24 * n 到 24 * (n + 1) 小时之间)的文件。
-mtime +n:匹配的是修改时间在 n 天之前(超过 24 * (n + 1) 小时)的文件。
-mtime -n:匹配的是修改时间在 n 天以内(少于 24 * n 小时)的文件。
因此,-mtime 2 匹配的是在 48 到 72 小时之间修改的文件。如果文件的修改时间不在这个范围内,它们将不会被匹配到。
3 删除特定日期内的文件
假设今天是 2024 年 5 月 15 日,你想删除 2024 年 5 月 14 日修改的文件。可以使用 -newermt
选项来指定开始和结束日期。
find 目录路径 -type f -newermt "2024-05-14" ! -newermt "2024-05-15" -exec rm -rf {} \;
注意事项
-
确认时间格式:确保日期格式正确,格式为
"YYYY-MM-DD"
。 -
权限:确保您有足够的权限删除这些文件。如果需要提升权限,可以使用
sudo find 目录路径 -type f -newermt "2024-05-14" ! -newermt "2024-05-15" -exec rm -rf {} \;
- 检查路径:确认命令执行的路径是正确的,以免误删文件。
有问题可以留言/私信我,帮你解答,有帮助请一键三连,点个再看,传下去!
欢迎关注微信公众号:小红的成长日记,一起学Java!