MacOSX kennt wie auch schon das klassische MacOS ResourceForks und DatenForks.
Wenn eine Datei über einen ResourceFork verfügt, dann werden die darin enthaltenen Informationen ausgewertet um die zu dieser Datei passende Applikation zu finden.
Existiert kein solcher ResourceFork, dann wertet MacOSX eine eventuell existierende Dateiendung aus und ermittelt dann mit Hilfe der Dateiendung die passende Applikation.
Sollte die Datei über keine Dateiendung verfügen, dann ist auch MacOSX mit seinem Latein am Ende.
Allerdings kannst du als Anwender noch immer ein Terminal Fenster öffnen und mit Hilfe des Kommandozeilenbefehl "file" versuchen herauszufinden um was für eine Art von Dateiinhalt es sich handelt.
"file" liest hierzu die ersten paar Byte einer Datei ein (den "Magic") und vergleicht diese Informationen mit seiner Datenbank (eine grosse Auflistung verschiedener "Magic"s). "file" lässt sich hierbei durch Dateiendungen und ResourceForks nicht täuschen. Somit kann mit Hilfe von "file" auch wieder Dateien "retten" die unabsichtlich oder absichtlich eine falsche Dateiendung zugewiesen bekamen.
Zu den ResourceForks:
Beispielsweise kannst du mit dem Editor von MacOSX eine Testdatei erstellen. Wenn du dann abspeicherst, wird der eigentliche Text in den DatenFork geschrieben und gleichzeitig ein ResourceFork an die Datei gepackt in dem steht, welches Programm diese Datei erstellt hat und -- vereinfacht gesprochen -- um welche Art von Dateiinhalt (Text, Video, Grafik, etc.) es sich handelt.
Ganz deutlich wird es, wenn du z.B. mit Safari eine URL auf den Desktop ziehst und dadurch einen Bookmark zu dieser URL auf dem Desktop ablegst.
Wenn du dir diese Bookmarkdatei mit dem Terminal anschaust, dann hat diese Datei genau 0 Byte. Also scheinbar keinen Inhalt. Aber wo ist denn dann die URL? Diese Information ist im ResourceFork gespeichert.