Für Unix:
Stichworte: fpStat, fpLStat, fpReadLink
Zitat:
FpStat
Retrieve file information about a file descriptor. (Folgt einem Symlink)
Zitat:
fpLstat
Return information about symbolic link. Do not follow the link
Zitat:
fpReadLink
Read destination of symbolic link
Bei einer echten Datei (und bei Hardlinks) sind die Informationen von FpStat und fpLstat identisch, bei Symlinks unterscheiden sie sich. => Sollte recht zuverlässig einen Symlink erkennen. Zur Sicherheit
fpReadLink verwenden.
Sollten die Informationen identisch sein, kann es sich um entweder um eine Datei mit Hardlink handeln (falls der Wert für
st_nlink aus dem Stat-Record größer 1) oder um die selbe Datei, falls man beim zweiten Pfad per Symlink/hardlink eines Verzeichnisses zu der Datei gelangt (hier kann
st_nlink aus dem Stat-Record größer oder gleich 1 sein).
Ist der Wert für
st_nlink aus dem Stat-Record gleich 1 so hast du definitiv die selbe Datei betrachtet.