![我可以找出哪個作業系統建立了檔案嗎?](https://rvso.com/image/1330200/%E6%88%91%E5%8F%AF%E4%BB%A5%E6%89%BE%E5%87%BA%E5%93%AA%E5%80%8B%E4%BD%9C%E6%A5%AD%E7%B3%BB%E7%B5%B1%E5%BB%BA%E7%AB%8B%E4%BA%86%E6%AA%94%E6%A1%88%E5%97%8E%EF%BC%9F%20.png)
我有一些文件。它們都是在不同的作業系統中創建的。
有什麼方法可以辨識每個檔案是從哪個作業系統產生的?
答案1
一般來說,不,不是真的。
在實踐中,它可能可能,但這取決於文件和磁碟。如果它是一個文字文件,你可能能夠透過換行符識別創建它的作業系統:
CR+LF = Windows
LF = Linux
CR = Mac
當然這些只是預設使用換行符,並且每個作業系統都有文字編輯器,可以讓您手動指定要使用的內容。
如果它是二進位文件,則可能有一種文件格式來控制其內容的格式,因此無法知道哪個作業系統創建了它。
您也許可以從磁碟本身獲得有關原始作業系統的線索。您可以檢查分區的類型,但這並不能保證,因為大多數現代作業系統都支援大多數常見的分區類型。
您也可以透過文件的元資料(如果有)收集有關文件來源的一些資訊。
答案2
根據文件類型,您實際上可能會得到一個合理的啟發式方法(Synetech 指出了一種針對文字檔案的啟發式方法。)但是,如果您希望獲得作業系統產生的所有檔案固有的某種指紋,(與 TCP/IP 實作一樣)我認為到目前為止還沒有類似的東西存在。