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

如何用一行命令在所有目录下新增file.txt并输出对应文件路径

实现方案

方法1:Bash循环实现(简单直观,适配常规场景)

直接一行命令完成操作:

for dir in /*/; do touch "${dir}file.txt" && echo "${dir}file.txt"; done

说明:

  • /*/ 自动匹配根目录下所有一级子目录,无需手动逐个输入目录名
  • && 确保只有touch创建文件成功后,才会输出对应的文件路径
  • 如果你的目标是/home下的所有子目录,把/*/替换为/home/*/即可

方法2:find命令实现(灵活度更高,支持过滤特殊目录)

如果需要排除/proc、/sys、/dev这类系统虚拟目录(避免无意义的权限报错),推荐用find命令实现:

sudo find / -maxdepth 1 -type d ! -path / ! -path "/proc" ! -path "/sys" ! -path "/dev" -exec touch {}/file.txt \; -printf "%p/file.txt\n"

说明:

  • -maxdepth 1 限制只检索根目录下的一级目录,不会递归到更深层级的子目录
  • ! -path / 排除根目录本身,避免在/下直接创建file.txt
  • 多个! -path参数用来过滤不需要操作的系统目录
  • 末尾的-printf会自动输出成功创建的文件路径

注意事项

  • 操作根目录下的系统级目录需要root权限,执行命令前建议加sudo前缀,否则会出现权限不足的报错
  • 如果需要递归给所有层级的子目录都添加该文件,删除find命令里的-maxdepth 1参数即可

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.02 03:06:00