Files
Unix 系統從什麼時候開始支持文件和目錄的誕生/創建時間(btime/crtime)?
有誰知道 Unix 何時支持文件和目錄的出生/創建時間戳?如果可能的話,當第一個文件管理器 (GUI) 預設為使用者顯示它時。
為了與 Windows、類 Unix 和 Linux 進行比較:
我從實際經驗中知道,自從 Windows XP(2001 年)在 Windows 文件管理器 (GUI) 中顯示目錄和文件以來。
Finder 1.0 中用於文件的 System 0.97(Macintosh 系統軟體)(1984 年)。對於我不知道的目錄。
iOS 11(2017 年)文件應用程序已集成,預設情況下會為使用者顯示目錄和文件的出生/創建時間。
例如,一些 Linux 發行版。
Dolphin 中的 KDE(自 2019 年起)。
Nemo 中的 Linux Mint(自 2018 年起)。
這些作業系統直到今天才有。
Android 11(2020 年)
許多面向最終使用者的流行 Linux 發行版,例如 Fedora 33(2020 年)、Ubuntu 20.10(2020 年)。
對出生時間戳的全面支持包含三個組件:
- 文件系統必須能夠儲存它們;
- 作業系統必須提供對它們的訪問;
- 最終使用者軟體必須顯示它們。
在 Unix 世界中,似乎至少有三種 POSIX 風格的文件系統支持出生時間戳:
- UFS2,自 2003 年以來 FreeBSD 中的預設設置;
- Veritas File System,也就是 HP-UX 上的 VxFS 和 JFS,至少從 1996 年開始在 HP-UX 中使用(但我不確定它當時是否支持出生時間戳);
- ZFS,自 2006 年起在 Solaris 上可用。
(支持出生時間戳的非 POSIX 樣式文件系統包括 FAT 和 ISO-9660;雖然 Unix 支持這些已經很長時間了,但我在這裡忽略它們,因為它們不會對核心 API 產生太大影響。)
據我所知,HP-UX 和 Solaris 都沒有提供
stat
-style 系統呼叫來提供對出生時間戳的訪問。FreeBSD從 FreeBSD 5.1 開始提供st_birthtime
;從 5.1 開始,它的實現也可以證明這一點。struct stat
stat(1)