跳到主要内容

The samples of fd

找到当前目录下所有 .terraform/ 目录并删除

要删除当前目录下所有的 .terraform/ 目录(由于这些目录通常是隐藏的且被列在 .gitignore 中),你可以结合使用 fd 的隐藏文件开关、忽略文件开关以及执行命令功能。

最推荐的命令如下:

1. 最终删除命令

fd -H -I -t d '.terraform$' -x rm -rf

2. 参数详细解释:

  • -H (或 --hidden): 允许搜索以 . 开头的隐藏文件/文件夹。
  • -I (或 --no-ignore): 非常重要.terraform 目录通常会被列在 .gitignore 中。默认情况下 fd 会跳过被 git 忽略的内容,加上 -I 才能找到它们。
  • -t d (或 --type directory): 限制搜索结果仅为“目录”,避免误删同名的普通文件。
  • '.terraform$': 搜索模式。使用 $ 结尾可以确保精确匹配以 .terraform 结尾的目录,防止误匹配到类似 .terraform_backup 的目录。
  • -x rm -rf (或 --exec): 对搜索到的每一个结果执行删除命令。fd 会自动把路径传给 rm -rf

3. 安全建议(先预览,再删除)

在执行大规模删除操作前,建议先运行不带 -x 的命令预览一下,确认找到的路径都是你想删除的:

fd -H -I -t d '.terraform$'

补充:如果你想批量删除

如果目录非常多,使用大写的 -X 会一次性将所有路径传递给 rm,效率更高:

fd -H -I -t d '.terraform$' -X rm -rf

提示: 删除 .terraform 目录后,下次运行 Terraform 项目时需要重新执行 terraform init 来下载插件和初始化状态。