You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Synology NAS中find命令排除指定文件及目录的权限问题求助

解决Synology NAS任务计划中find命令的权限问题与文件排除需求

正确的find命令写法

直接用-prune参数跳过权限受限的#recycle目录,同时精确排除/volume1/Ingest当前层级的*.txt文件,命令示例如下:

find /volume1/Ingest \
  -name "#recycle" -prune -o \
  -path "/volume1/Ingest/*.txt" -prune -o \
  # 这里添加你的实际匹配条件,例如找所有普通文件:-type f
  -type f -print

参数解释

  • -name "#recycle" -prune -o:定位到#recycle目录后,-prune会直接跳过该目录的遍历(不会进入目录尝试读取内容),从根源避免权限报错;-o表示逻辑“或”,即不满足前一个条件时才执行后续逻辑。
  • -path "/volume1/Ingest/*.txt" -prune -o:精确匹配Ingest根目录下的所有*.txt文件,-prune会排除这些文件;路径写全是为了只排除当前层级的txt,不会影响子目录中的txt文件。
  • 最后添加你的实际需求条件(如-type f找普通文件、-mtime +7找7天前的文件等),并用-print输出符合条件的结果。

为什么之前的方法失效

  • 使用-not -path时,find仍会尝试进入#recycle目录再过滤,必然触发权限错误;而-prune是在进入目录前就跳过遍历,彻底避免权限问题。
  • 未精确限定*.txt的路径范围,导致要么误排除子目录的txt,要么没排除当前层级的目标文件。

测试与验证

先通过SSH登录Synology NAS,在终端中执行上述命令,确认:

  1. 无Permission denied报错
  2. /volume1/Ingest下的*.txt未被列出
  3. #recycle目录未被访问
    测试通过后,再将命令写入脚本,添加到任务计划中。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.12 23:15:56