【发布时间】:2019-03-10 20:19:03
【问题描述】:
我不小心在 Cirrus 的 Git Bash 上复制了太多次名为“cdout”的文件夹,如下所示。
user/aa/cdout/cdout/cdout/cdout/cdout/cdout/cdout/cdout/cdout/cdout/cdout/cdout(还有很多/cdout)
我想删除所有这些,而保留 /aa/cdout 不变。 我运行命令 rm -rf ~/aa/cdout/cdout 但它根本不起作用。 cdout 文件夹中的 cdout 文件夹中仍有 cdout 文件夹。我看不出运行此命令之前和之后的任何区别。
任何帮助将不胜感激。我对命令行很陌生,真的不知道下一步该做什么。
【问题讨论】:
-
只是一种预感,但我认为在某些文件系统上存在最大文件路径长度。如果你的嵌套太深,
rm会尝试访问路径名太长的文件夹。 -
这很可能是平台可移植性问题——Windows 上的某些文件名可以通过较新的/NT 时代的系统调用访问,但不能通过使用较旧内核接口的软件访问。因此,您需要使用来自同一个世界的工具来解决问题。
-
也就是说,一种合理的方法是缩短名称。如果你可以
mv ~/aa/cdout/cdout/cdout/cdout ~/cdout.4,那么你应该可以rm -rf ~/aa/cdout,并重复cdout.4中的目录。
标签: git-bash rm cirrus-hpc