¿Cuál es la diferencia entre "dir" y "ls"?


17

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?


8
¡Uno no lo haría! ¡Nunca!
Bananguin

Respuestas:


20

Me inclinaría a pensar que direxiste solo por compatibilidad con versiones anteriores .

De GNU Coreutils :

dir es equivalente a ls -C -b; es decir, los archivos predeterminados se enumeran en columnas, ordenados verticalmente, y los caracteres especiales se representan mediante secuencias de escape de barra invertida.

Por cierto, lsno colorear la salida por defecto: esto se debe a que la mayoría de distribuciones de alias lsa ls --color=autoen /etc/profile.d. Para una prueba, escriba y unalias lsluego intente ls: será incoloro.


66
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), y dirse 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.
Eliah Kagan

8

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 donde dirse usaba para enumerar archivos).

Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.