![如果“rm dir -r”仅删除了 dir/dir1/ 的部分内容,那么它是否没有删除 dir/dir2/ 中的任何内容?](https://linux22.com/image/5810/%E5%A6%82%E6%9E%9C%E2%80%9Crm%20dir%20-r%E2%80%9D%E4%BB%85%E5%88%A0%E9%99%A4%E4%BA%86%20dir%2Fdir1%2F%20%E7%9A%84%E9%83%A8%E5%88%86%E5%86%85%E5%AE%B9%EF%BC%8C%E9%82%A3%E4%B9%88%E5%AE%83%E6%98%AF%E5%90%A6%E6%B2%A1%E6%9C%89%E5%88%A0%E9%99%A4%20dir%2Fdir2%2F%20%E4%B8%AD%E7%9A%84%E4%BB%BB%E4%BD%95%E5%86%85%E5%AE%B9%EF%BC%9F%20.png)
如果rm dir -r
仅删除了dir/dir1/
(并且我取消了)的部分内容,那么如果仍然存在并包含某些内容,rm
它是否没有删除任何内容?我的操作系统是 Ubuntu 14.04,文件系统是 ext4。dir/dir2/
dir/dir2/
我听说rm -r 如何递归删除?按什么顺序?,但是我的问题能得到更确定的答案吗?
我的操作系统是 64 位 Ubuntu 14.04,带有 ext4 文件系统。
在删除另一个子目录之前了解 rm 是否完全删除一个子目录比了解 rm 操作的顺序要弱。所以我的问题与链接的问题不重复。
答案1
得票最高的答案(https://unix.stackexchange.com/a/161772/88983)在您链接到的问题中说明了以下内容:
遍历的顺序是不可预测的。 (...) 遍历的顺序不是您可以依赖的。
所以我想说你通常无法确定是否rm
删除了dir/dir2
.你什么可以但是,do 会rm
在目录的副本上以详细模式运行,并查看您的系统上是否存在某种遍历顺序。