Acontece que esse recurso não é específico da Apple. Esta é uma característica dos sistemas BSD em geral.
/* Root is -A automatically. */
if (!getuid())
f_listdot = 1;
Inicialmente, consegui rastreá-lo de volta às fontes de 4.4BSD-Lite . Ele já estava presente em este commit do FreeBSD de 1994 que está importando essas fontes.
O recurso também está presente no OpenBSD e pode ser encontrado em este commit de 1995 que alega estar importando código do NetBSD, então isso já estava presente no NetBSD .
Então descobre-se o commit do NetBSD de 1993 que afirma estar importando código de 386BSD , e o recurso é já há . Além disso, este commit mostra que esteve lá durante o desenvolvimento da versão 0.0 do 386BSD em 1991 que bifurcou do BSD em torno de 4.3, até onde eu sei.
O comentário apareceu pela primeira vez durante o desenvolvimento de 4.3BSD-Reno em este commit (27 jun 1989) intitulado" primeira versão de trabalho do novo ls ". O comentário original dizia:
/* root sees all files automatically */
que foi alterado mais tarde naquele dia (não tenho certeza se o timestamps estão totalmente corretos neste repositório, embora) para:
/* root is -A automatically */
E somente em 1992 a letra maiúscula e o período foram adicionados o comentário para o que temos agora:
/* Root is -A automatically. */
Mas o comportamento estava presente no 2BSD a partir de 9 de maio de 1979, como visto em este instantâneo :
Aflg = getuid() == 0;
Não consigo encontrar nenhuma história real desses tempos, mas também há este instantâneo do 1BSD de 1977 sem essas linhas. E sem o sinal -A
, na verdade.
Assim, parece que o recurso foi introduzido em algum lugar entre novembro de 1977 (o 1BSD foi desenvolvido naquele momento) e o lançamento do 2BSD em maio de 1979.
O que eu também encontrei durante esta investigação, é o sinal -I
que foi adicionado ao FreeBSD em 2005 para anular este comportamento e foi reformulado um pouco mais tarde.