Linux rm -rf *删除命令?

时间:2015-06-03 08:37:51

标签: linux shell command rm

我认为rm按字母顺序删除文件,但显然不是在我执行之后。

enter image description here

那么,命令rm执行的顺序是什么?

1 个答案:

答案 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或类似的东西,它将根据它们如何存储在目录"文件"中来排序。而不是一些字母顺序。

在任何情况下,他们被删除的顺序可能都不重要 - 假设权限允许,他们最终都会被删除。