![具有大量元数据的适合 Linux 的文件系统](https://linux22.com/image/1412151/%E5%85%B7%E6%9C%89%E5%A4%A7%E9%87%8F%E5%85%83%E6%95%B0%E6%8D%AE%E7%9A%84%E9%80%82%E5%90%88%20Linux%20%E7%9A%84%E6%96%87%E4%BB%B6%E7%B3%BB%E7%BB%9F.png)
我知道了这里下列:
大多数 unices 没有文件创建时间的概念。您无法让 ls 打印它,因为没有记录信息。如果您需要创建时间,请使用版本控制系统:将创建时间定义为签入时间。
其中提到,ext4 存储了一些这样的元数据,但没有简单的方法在ls
命令中使用它。
所以我想知道
Linux 上的哪个文件系统存储或允许用户存储以下元数据:
file creation time
date accessed
date last modified
可以通过标准 shell 工具来访问吗?
看来 NTFS 支持大量元数据。
答案1
大多数文件系统不支持创建时间,但这并不重要,因为 Linux 内核还没有办法请求创建时间。请参阅此lwn文章了解详情。
修改时间是运行 ls 时默认看到的。使用ls --time=atime
将显示上次访问时间。
但请记住,这些不一定准确。这就像touch -d yesterday foo.txt
伪造时间戳一样容易。或者文件系统可以使用类似noatime
或 的选项安装relatime
,这会使访问时间不准确。