You need to enable JavaScript to run this app. 如何在指定目录执行find命令删除特定用户4天以上的旧文件
优惠活动
大模型
产品
解决方案
定价
更多

如何在指定目录执行find命令删除特定用户4天以上的旧文件

shell脚本实现方案

你可以根据需求选择以下两种实现方式,均和你给出的删除逻辑完全匹配:

方案1:直接指定搜索路径(更安全,推荐)

不需要切换目录,直接将目标路径作为find命令的第一个参数,从根源避免切换目录失败导致误删其他路径文件的风险:

#!/bin/bash
# 清理指定目录下pwadmin用户所有修改时间超过4天的一级文件
find /admin/data/inventory -maxdepth 1 -mtime +4 -type f -user "pwadmin" -delete

方案2:先进入目标目录再执行(需加容错判断)

如果你的场景必须先切换到目标目录再执行操作,一定要增加目录切换成功的校验逻辑,避免目录不存在、无权限等原因导致切换失败时,删除命令在当前工作目录执行:

#!/bin/bash
# 定义目标目录变量
TARGET_DIR="/admin/data/inventory"

# 切换目录失败则直接退出,不执行后续删除操作
cd "${TARGET_DIR}" || exit 1

# 执行删除操作
find -maxdepth 1 -mtime +4 -type f -user "pwadmin" -delete

注意事项

正式执行删除前强烈建议先做测试,把命令中的-delete参数替换为-print,先打印出所有匹配到的文件,确认列表符合预期后再换回-delete执行实际删除:

# 测试命令,仅打印匹配文件不删除
find /admin/data/inventory -maxdepth 1 -mtime +4 -type f -user "pwadmin" -print

内容的提问来源于stack exchange,提问作者Aviator

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.20 10:36:04