POSIX defines the set of services a filesystem must provide. However, not all filesystems are capable of delivering all those services.
Filesystem | Access date | Modification date | Status change date | Filename lengtha | Permissions | Directories | Hard links | Soft links | Decompression on read |
---|---|---|---|---|---|---|---|---|---|
Image | No | No | No | 255 | Yes | No | No | No | No |
RAMb | Yes | Yes | Yes | 255 | Yes | No | No | No | No |
ETFS | Yes | Yes | Yes | 91 | Yes | Yes | No | Yes | No |
Power-Safe | Yes | Yes | Yes | 510 | Yes | Yes | Yes | Yes | No |
DOS | Yesc | Yes | No | 8.3d | No | Yes | No | No | No |
NTFS | Yes | Yes | Yes | 755 | No | Yes | No | No | Yes |
UDF | Yes | Yes | Yes | 254 | Yes | Yes | No | No | No |
HFS, HFS Plus | Yes | Yes | Yes | 255e | Yes | Yes | Yes | Yes | No |
FFS3 | No | Yes | Yes | 255 | Yes | Yes | No | Yes | No |
NFS | Yes | Yes | Yes | —f | Yesf | Yes | Yesf | Yesf | No |
CIFS | No | Yes | No | —f | Yesf | Yes | No | No | No |
Ext2 | Yes | Yes | Yes | 255 | Yes | Yes | Yes | Yes | No |
a Our internal representation for file names is UTF-8, which uses a variable number of bytes per character. Many on-disk formats instead use UCS2, which is a fixed number (2 bytes). Thus a length limit in characters may be 1, 2, or 3 times that number in bytes, as we convert from on-disk to OS representation. The lengths for the Power-Safe and EXT2 filesystems are in bytes; those for UDF and DOS/VFAT are in characters.
b The RAM filesystem (/dev/shmem) isn't really a filesystem; it's a window onto the shared memory names that has some filesystem-like characteristics. See Builtin RAM disk later in this chapter.
c VFAT or FAT32 (Windows 95 or later).
d 255-character filename lengths used by VFAT or FAT32 (e.g., Windows 95).
e 31 on HFS.
f Limited by the remote filesystem.