我想了解为什么当两个或多个对象具有相同的名称时,回收站中的对象不需要重命名。在其他地方,两个对象不能具有相同的名称:我们被迫重命名它们。
答案1
与 @tikend 相反,文件不会保存在原路径中,而只是标记为已删除。相反,文件会移动到$Recycle.Bin
驱动器根目录中。里面有名为S-1-5-21-4284498480-1431815607-1764836822-1001
(实际示例)* 的文件夹,里面是已删除的文件。
为什么垃圾箱里会有两个同名文件?因为它们的名字乱七八糟。sumthinFunny.cpp
我们有而不是$RYDITY2.cpp
。这些标识符使得两个同名文件成为可能。
Windows 如何知道文件从哪里被删除?它将文件的元数据(如相关路径、文件属性等)存储在文件中$IYDITY2.cpp
。里面有原始目录的路径。
顺便说一句,如果你$Recycle.Bin
从 Windows 资源管理器打开它,它看起来是空的。如果你从 Linux 安装驱动器,或者通过其他文件管理器(如 Total Commander),你就可以看到它。
BTW2:虽然文件名被混乱地变成类似 $RYDITY2.cpp 的形式,但当你打开它们的属性时,你会得到类似 UUID 的东西:
* 此文件夹名称是SID删除该文件的用户。
经过编辑以便在这里带来评论的智慧。