我从 xubuntu 创建了一个 Linux LiveUSB。我启动它,并了解到它在 RAM 中运行。我的问题是,假设我在 Xubuntu 桌面上创建了一个文件夹(不是 C: 驱动器或外部驱动器),后来我删除了该文件夹。我是从这个中了解到的文章,当您从硬盘驱动器中删除文件时,用于跟踪文件的指针将被删除,并且文件系统会将扇区标记为可用空间。关于此问题有几个问题:
- Linux 处理已删除文件的方式与 Windows 相同吗?
- RAM 是否会将已删除的文件/文件夹像硬盘一样对待?
答案1
1.) Linux 处理已删除文件的方式与 Windows 相同吗?
Linux 和 Windows 是可以使用不同类型的文件系统根据您指定如何格式化特定设备(HDD/CD/thumb/etc);您指定的文件系统类型决定了“如何”删除文件。有些会完全从物理介质中删除实际字节(0 填充区域),有些只是告诉主文件表(想想文件的电话簿)该文件不再“存在”,并且它最初占用的空间现在是“空闲的”。文件系统有很多,每个都有自己的一套“规则”和限制,而且 Linux 和 Windows 对每个文件系统的支持也不同。
2.) RAM 是否将已删除的文件/文件夹像硬盘一样对待?
不是。RAM 和硬盘有两个截然不同的功能。当您运行 MS Office 或记事本时,程序本身(即office.exe
或notepad.exe
)需要一个区域来存储临时用户输入/数据,这就是 RAM。当您键入时,Office 会在 RAM 中创建一个临时缓冲区,用于显示您键入的内容(以及许多其他内容)。当您单击“保存”时,它会获取 RAM 中的临时数据并将其提交(保存)到硬盘。当 RAM 中的数据消失时,它将无法恢复,并且您不会“删除”RAM 中的数据,正在使用的 RAM 会被程序/操作系统“释放”,以允许另一个程序将该区域用作其临时缓冲区。
对于“实时”操作系统(您的情况是 XBuntu),您使用的“实时”介质将被视为“根”驱动器(Windows 中为 C: 驱动器)。如果您使用的实时介质恰好是拇指驱动器(或其他可写介质,如外部 HDD),则实时操作系统会检测到这一点并将该区域视为您的“硬盘”。如果您使用 CD 或其他不可写介质(如带锁的 SD 卡,或者您在实时内核中专门禁用了该功能),则操作系统将为基本操作系统功能留出“名义”数量的 RAM,并将其余 RAM 不仅视为 RAM,还视为RAM disk
,在这种情况下文件从未真正被“保存”,它们仅仅被“保存”到 RAM 中,直到您将该数据复制到“可写”介质(如 HDD 或拇指驱动器)上。
我希望这可以帮助您消除对该主题的一些困惑。