Wenn ich 'ls -l' mache, bekomme ich vielleicht so etwas:
-rw-r--r-- 1 root root 209 Mar 30 17:41 fname
Das erste Feld ist das -
, was bedeutet, dass dies eine Datei ist.
Wenn es ein Verzeichnis und keine Datei wäre, wäre das erste Feld a d
.
Warum haben sich die Entwickler von Unix entschieden, ein d
for-Verzeichnis zu verwenden, das klar und intuitiv ist und dennoch ein for-Verzeichnis verwendet -
? Warum nicht f
für eine Datei verwenden?
Bearbeiten
Wirklich interessante Antworten. Viele verschiedene Ideen, und alle sind sinnvoll, auch wenn einige versehentlich wahrer erscheinen als aus diesem Grund umgesetzt und / oder als dieser Grund dokumentiert sind.
-
die selteneren Dateitypen (alles andere) hervorgehoben, wenn Sie sie durch ein kleines Zeichen wie darstellen .Antworten:
Historisch gesehen bestand eine der großen Designentscheidungen in Unix darin, alles als Datei zu betrachten.¹ Dies geschieht in frühen
ls
undstat
manpages; In V3 (Februar 1973) heißt es beispielsweise auf derstat
Manpage (die den von verwendeten Modus beschreibtls
)usw.
In V4 (Oktober 1973) ähnelt der Modus dem, was wir heute haben. Die
ls
Manpage sagtEs scheint also, dass die Entwickler von Unix wirklich dachten, dass eine einfache Datei „nur“ die Standardeinstellung ist, nichts Besonderes, daher verdient sie kein Zeichen - alles ist eine Datei, und nur Dateien, die keine einfachen Dateien sind, benötigen eine zusätzliche Beschreibung. Man könnte sich
-
vorstellen, das Fehlen von „Besonderheit“ zu signalisieren.¹ Streng genommen bestand die Entwurfsentscheidung darin, alles über das Dateisystem zugänglich zu machen und nicht alles als Datei zu betrachten. Infolgedessen musste jedoch alles als eine Art Datei zur Verfügung gestellt werden, und dies erforderte die Unterscheidung verschiedener Dateitypen. Siehe Abschnitt 3 des UNIX-Time-Sharing-Systems .
quelle
file
und die gemeinsam genutzte MIME-Datenbank wenden eine Reihe von Erkennungstests an, von denen einige die ersten Bytes einer Datei betrachten. Die Behauptung, dass die ersten Bytes einer Datei einen Hinweis auf ihren Typ geben, vermittelt dem Leser jedoch den falschen Eindruck. Es gibt keine garantierte Möglichkeit, einen Dateityp zu bestimmen (im Gegensatz zu Mac OS Classic oder PalmOS, bei dem jede Datei einen Typ und einen Erstellungscode hatte).