Es stellt sich heraus, dass diese Funktion nicht Apple-spezifisch ist. Dies ist ein Merkmal von BSD-Systemen im Allgemeinen.
/* Root is -A automatically. */
if (!getuid())
f_listdot = 1;
Anfangs konnte ich es bis zu den Quellen von 4.4BSD-Lite zurückverfolgen . Es war bereits in diesem FreeBSD-Commit von 1994 enthalten, das diese Quellen importiert.
Das Feature ist auch in OpenBSD vorhanden und kann in diesem Commit von 1995 gefunden werden, das behauptet, Code von NetBSD zu importieren, so dass dies bereits in NetBSD vorhanden war .
Dann entdeckt man das Commit von NetBSD aus dem Jahr 1993, das behauptet, Code von 386BSD zu importieren , und das Feature ist bereits vorhanden . Darüber hinaus zeigt dieses Commit , dass es während der Entwicklung der 386BSD-Version 0.0 im Jahr 1991 vorhanden war, die, soweit ich das beurteilen kann, von BSD um 4.3 abging.
Der Kommentar erschien zum ersten Mal während der Entwicklung von 4.3BSD-Reno in diesem Commit (27. Juni 1989) mit dem Titel "Erste Arbeitsversion von new ls". Der ursprüngliche Kommentar lautete:
/* root sees all files automatically */
die später an diesem Tag geändert wurde (ich bin nicht sicher, ob die Zeitstempel in diesem Repository vollständig korrekt sind):
/* root is -A automatically */
Und erst 1992 wurden der Großbuchstabe und der Punkt hinzugefügt , was den Kommentar zu dem macht, was wir jetzt haben:
/* Root is -A automatically. */
Aber das Verhalten war in 2BSD ab dem 9. Mai 1979 vorhanden, wie in diesem Schnappschuss zu sehen :
Aflg = getuid() == 0;
Ich kann keine aktuelle Geschichte aus dieser Zeit finden, aber es gibt auch diesen Schnappschuss von 1BSD von 1977 ohne diese Zeilen. Und -A
eigentlich ohne Flagge.
Es scheint also, dass das Feature irgendwo zwischen November 1977 (1BSD wird gerade entwickelt) und der Veröffentlichung von 2BSD im Mai 1979 eingeführt wurde.
Was ich bei dieser Untersuchung auch gefunden habe, ist das -I
Flag, das 2005 zu FreeBSD hinzugefügt wurde , um dieses Verhalten zu überschreiben, und etwas später überarbeitet wurde .