1

Does anyone know when Unix supports birth/creation time stamps for files and directories? If possible also when first file manager (GUI) displays it by default for users.

For comparison with Windows, Unix like and Linux:

I know from practical experience that since Windows XP (year 2001) in Windows File Manager (GUI) displays it for directories and files.

System 0.97 (Macintosh System Software) (year 1984) in Finder 1.0 for files. For directories I don't know anymore.

iOS 11 (year 2017) the Files app was integrated and shows by default for users Birth/creation time for directories and files.

Some Linux distributions for example.

KDE (since year 2019) in Dolphin.

Linux Mint (since year 2018) in Nemo.


These operating systems have not until today.

Android 11 (year 2020)

many popular Linux distributions for the end users e.g Fedora 33 (year 2020), Ubuntu 20.10 (year 2020).

Kusalananda
  • 333,661
  • Do you mean "Unix", or "Linux", or "Unix-like"? Most of your examples would be at best "Unix-like" as they are not official "Unix" – Chris Davies Jan 08 '21 at 19:25
  • 1
    I mean Unix. The other operating systems I compared, including no Unix like system. Just wanted to show when it was supported in general for the users. – Nick2dna Jan 08 '21 at 19:27
  • 1
    Whatever answer you get is going to be filesystem-specific. I don't think XFS supports birth/creation date on Linux yet, for example. – Andrew Henle Jan 08 '21 at 19:29
  • @roaima all Unixes (Gnu, BSD, SysV, …) are UNIX like, and some are UNIX. Maybe Android can be said to be a little Unix like. – ctrl-alt-delor Jan 08 '21 at 23:14
  • @ctrl-alt-delor exactly. Which is why I asked for clarification – Chris Davies Jan 08 '21 at 23:19
  • @roaima there is no official Unix, There is a UNIX™. According to the UNIX people, Gnu/Linux is a Unix, but is not UNIX. – ctrl-alt-delor Jan 08 '21 at 23:34
  • 1
    @ctrl-alt-delor do you have a citation for that? I know the trademark is UNIX® but I’m not aware that the Open Group say that any Linux distribution is “Unix”, except for the distributions that have been certified as “UNIX®”. – Stephen Kitt Jan 09 '21 at 08:19
  • @StephenKitt I can't remember where. But don't see that holding the trademark for "UNIX®”, has to do with Unix. I see that linguistically they are very similar. But legally they are different, and technically .... Well that is up to us. Gnu is a Unix, because that is what it set out to do. It is even in the name (and you it has a "not," but look at the history of software names containing a "not". – ctrl-alt-delor Jan 09 '21 at 15:57
  • @ctrl-alt-delor that’s not how I understand “GNU’s not Unix”; see this comment. – Stephen Kitt Jan 09 '21 at 18:08

1 Answers1

2

Full support for birth timestamps has three components:

  • the file system must be able to store them;
  • the operating system must provide access to them;
  • end-user software must display them.

In the Unix world, it seems that at least three POSIX-style file systems support birth timestamps:

  • UFS2, the default in FreeBSD since 2003;
  • Veritas File System, aka VxFS and JFS on HP-UX, used in HP-UX since at least 1996 (but I’m not sure whether it supported birth timestamps back then);
  • ZFS, available on Solaris since 2006.

(Non-POSIX-style file systems with support for birth timestamps include FAT and ISO-9660; while Unix has supported these for a long time, I’m ignoring them here since they wouldn’t have influence core APIs much.)

As far as I can tell, neither HP-UX nor Solaris provide a stat-style system call providing access to birth timestamps. FreeBSD provides st_birthtime in struct stat since FreeBSD 5.1; its stat(1) implementation can show this since 5.1 too.

Stephen Kitt
  • 434,908
  • I am on Debian 10. The ext4 fs that I am using is storing creation time. However I don't think any of the other levels are in (at least to OS support. I can get the time using a file-system specific tool (debugfs), but not normal OS tools (ls, stat, etc), though my stat has a place holder for it. – ctrl-alt-delor Jan 08 '21 at 23:32
  • The question wasn’t asking about Linux, but on Linux, you need coreutils 8.31 or later (see this answer). Debian 10 has 8.30. You’ll see the birth time in a few months when Debian 11 is released ;-). – Stephen Kitt Jan 09 '21 at 08:15
  • Veritas File System, aka VxFS and JFS on HP-UX, used in HP-UX since at least 1996 (but I’m not sure whether it supported birth timestamps back then) This is very interesting because compared to Apple systems: System 0.97 from year 1984 has it represented in Finder 1.0. OPENSTEP and NeXTSTEP do not have it.

    The support in Unix operating systems seems to have been added later. Could it be that Apple's System 0.97 is the first operating system to display Birth/creation time first?

    – Nick2dna Jan 09 '21 at 19:31
  • @Nick2dna I doubt it; VMS had file creation timestamps in the late 70s, and perhaps even RSX-11 had them (I’d have to check). On micros, CP/M had them (as extensions) before System 0.97. – Stephen Kitt Jan 09 '21 at 20:36
  • @Stephen Kitt That would be very nice if you could check. But we are talking about full birth/creation time support, exactly what you wrote. So that it is also displayed in end user software e.g. in File Manager (GUI) or only via manual output for example via command? – Nick2dna Jan 09 '21 at 22:55
  • 1
    Yes, full support: DIR/FULL on VMS and RSX-11M shows the creation date and time (see this guide for example). – Stephen Kitt Jan 10 '21 at 07:49
  • Thanks for the help. – Nick2dna Jan 10 '21 at 16:52