我认为rm按字母顺序删除文件,但显然不是在我执行之后。
那么,命令rm执行的顺序是什么?
答案 0 :(得分:8)
它不是numpy.set_printoptions(suppress=True)
本身提供排序的性质,它是shell扩展。如果您要键入rm
, shell 会将其展开为:
rm *
和rm aaa bbb ccc
甚至不会看到一个rm
参数。顺便说一下,虽然我不确定所有 shell的排序行为是否有保证,但根据文档的说法,它肯定适用于*
:
...替换为按字母顺序排列的与模式匹配的文件名列表。
命令bash
是一个有点奇怪的混合大小写的情况,因为即使shell对rm -rf *
条目进行排序,它仍然仅用于第一级条目。
因此*
可能会扩展为:
rm -rf *
但完全取决于rm -rf aa_dir bb_dir cc_dir
如何在内部处理条目下的条目的处理顺序,显然,这是一个安全的选择目录中的所有条目都将在目录本身之前被删除。
很可能它只是使用rm
或类似的东西,它将根据它们如何存储在目录"文件"中来排序。而不是一些字母顺序。
在任何情况下,他们被删除的顺序可能都不重要 - 假设权限允许,他们最终都会被删除。