Jaka jest różnica między „dir” a „ls”?

17

I w porównaniu do stron człowiekiem dira lsi wydają się być dokładnie takie same. Oba są częścią GNU coreutils i „listą zawartości katalogu”.

Jedyną różnicą, jaką do tej pory widziałem, jest to, że dirnie koloryzuje wyników.

Dlaczego więc istnieją dwa polecenia? Czy brakuje mi różnicy? Dlaczego wolałbyś więcej dirniż ls?

Martin Thoma
źródło
8
Nikt by nie chciał! Zawsze!
Bananguin

Odpowiedzi:

20

Byłbym skłonny myśleć, że dirjest to tylko dla kompatybilności wstecznej .

Z GNU Coreutils :

dir jest równoważne ls-C-b; to znaczy, domyślnie pliki są wyświetlane w kolumnach, posortowane pionowo, a znaki specjalne są reprezentowane przez sekwencje specjalne odwrotnego ukośnika.

Nawiasem mówiąc, lsnie kolorowania wyjście domyślnie: to dlatego, że większość dystrybucji alias lsdo ls --color=autow /etc/profile.d. Do testu wpisz, unalias lsa następnie spróbuj ls: będzie bezbarwny.

Renan
źródło
6
dirnie zapewnia kompatybilności wstecznej. Zamiast tego lsdziała tak, jak działa w przypadku kompatybilności wstecznej (i ponieważ wielu użytkowników chce, aby działało w ten sposób), i dirstanowi alternatywę, którą programiści GNU uważają ogólnie za preferowaną, ponieważ jej wyjście jest niezależne od urządzenia. Zobacz 4.5 Standardy dla interfejsów ogólnie w standardach kodowania GNU i moja odpowiedź na to pytanie AU, aby uzyskać szczegółowe informacje.
Eliah Kagan
8

dirnie jest standardowym poleceniem Uniksa, ale prawdopodobnie jest tylko rodzajem aliasu / klonu, który zapewnia pewną znajomość użytkownikom Windows (DOS) (i być może VAX-VMS i innym systemom operacyjnym, w których dirużyto listy plików).

jlliagre
źródło