He comparado las páginas del manual de diry lsy que parecen ser exactamente la misma. Ambos son parte de GNU coreutils y "listar el contenido del directorio".
La única diferencia que he visto hasta ahora es que dirno colorea la salida.
Entonces, ¿por qué existen dos comandos? ¿Hay alguna diferencia que me perdí? ¿Por qué preferiría uno dirmás ls?

Respuestas:
Me inclinaría a pensar que
direxiste solo por compatibilidad con versiones anteriores .De GNU Coreutils :
Por cierto,
lsno colorear la salida por defecto: esto se debe a que la mayoría de distribuciones de aliaslsals --color=autoen/etc/profile.d. Para una prueba, escriba yunalias lsluego intentels: será incoloro.fuente
dirno se proporciona por compatibilidad con versiones anteriores. En cambio,lsfunciona como lo hace para la compatibilidad con versiones anteriores (y porque muchos usuarios quieren que funcione de esa manera), ydirse ofrece como una alternativa, que los desarrolladores de GNU consideran generalmente preferible porque su salida es independiente del dispositivo. Ver 4.5 Estándares para Interfaces Generalmente en los estándares de codificación GNU y mi respuesta a esa pregunta AU para más detalles.dirno es un comando estándar de Unix, sino probablemente un tipo de alias / clon para proporcionar cierta familiaridad con los usuarios de Windows (DOS) (y posiblemente VAX-VMS y otros sistemas operativos dondedirse usaba para enumerar archivos).fuente