個人電腦中刪除文件的還原機理是怎樣的?三大操作系統(Windows、Mac OS、Linux)的垃圾機制有何區別?
12-25
陳冠希艷照門事件中所使用的操作系統是哪一種?
--------------------------------總結-----------------------------------
操作系統刪除文件之後並沒有將對應的磁碟區域抹白,而是將映射關係刪除而已
在對應磁區沒有被重寫之前,其內部的存儲內容是沒有變的。
你只要清楚,硬碟(HDD)不是水桶不是抽屜不是其他什麼任何容器。它其實是一幅油畫。
簡單點解釋,文件系統其實是兩部分,文件索引和文件數據。可以把文件系統看成一個倉庫,操作系統是倉庫管理員。管理員手裡有一份「庫存清單」,也就是文件索引,刪除文件時只是從清單上把這個東西的記錄刪除了。你去問管理員的時候,管理員查了庫存清單後告訴你,這東西沒了,因為清單上的記錄被刪了。實際上東西還在倉庫里沒有動,並沒有被搬出倉庫。只要東西還在,找回來不是很正常嗎?
@榆樹君,油畫的比喻太棒了,很久沒有看到過這麼傳神的比喻了windows 的文件系統在HDD即使被執行碎片重排之後,未重排的個別碎片也可被識別並讀取,還原出原始數據的部分內容,在刑事案件偵破中大有用處。數據恢復公司用到的數據恢復手段會令你驚訝,《CHIP新電腦》經常有相關報道。
SSD的出現則極大地改變了這種狀況,軍事級別的文件粉碎只需兩次擦除,之後恢復的可能性為0。linux下文件刪除是刪除一個抽象出來的inode,物理內存還是原樣。
可以用函數 unlink()實現在程序中刪除一個文件
我以linux下ext2文件系統為例說吧,刪除一個文件只是在其父目錄的數據中做了下標記,文件的實際數據並沒有刪除,所以只要這些數據沒有被新的文件覆蓋就可以恢復,如果想了解技術細節,可以參考下面的連接。
http://blog.chinaunix.net/space.php?uid=20196318do=blogid=31362
http://blog.chinaunix.net/space.php?uid=20196318do=blogid=31371
文件操作機制是文件系統相關的,於操作系統只是執行文件系統相關操作而已。詳細了解具體機制,不如從文件系統區別來看吧?目前windows主流文件系統是NTFS,linux的ext3/4,MAC的不清楚,好像是HFS?
推薦閱讀:
※為什麼知乎上部分人為了 Surface 和 MacBook 吵來吵去?
※如何用一句話形容 Windows、macOS 與 Linux 各自的特點?
※2013 年,買個打遊戲用的 PC,性價比最佳的選擇是什麼?
※都說45%和72%ntsc色域ips是一眼能看出來的差距,如何理解?
※為什麼機械鍵盤沒有無線的?