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

如何批量修改文件中记录的多个文件路径的权限?

单行命令实现批量修改文件权限

当然有合适的单行命令!针对你这个场景(文件路径用逗号分隔),这里有两种实用的方案:

方案1:简洁的xargs写法

这是最常用的批量处理方式,适合路径没有特殊字符(比如空格、引号)的场景:

cat /var/tmp/sample | tr ',' '\n' | xargs chmod 644

解释:

  • cat /var/tmp/sample:读取存储路径的文件内容
  • tr ',' '\n':把内容里的逗号分隔符替换成换行符,让每个路径单独占一行
  • xargs chmod 644:把处理后的每一行路径作为参数传递给chmod 644,批量修改权限

方案2:更稳健的while循环写法

如果你的文件路径可能包含特殊字符(比如空格),这个方法更安全,避免出现意外:

while IFS= read -r path; do chmod 644 "$path"; done < <(tr ',' '\n' < /var/tmp/sample)

解释:

  • tr ',' '\n' < /var/tmp/sample:同样先把逗号换成换行
  • while IFS= read -r path:逐行读取处理后的路径,IFS=避免路径开头/结尾的空格被忽略,-r禁止反斜杠转义,保证路径原样读取
  • chmod 644 "$path":给每个路径对应的文件设置权限,双引号包裹路径防止特殊字符引发问题

小提示:

执行前可以先测试命令是否正确,把chmod 644换成echo chmod 644,这样能预览要执行的操作,避免误改文件:

cat /var/tmp/sample | tr ',' '\n' | xargs echo chmod 644

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.04.29 09:49:10