Qual è la differenza tra "dir" e "ls"?


17

Ho confrontato le pagine man di dire lse sembrano essere esattamente le stesse. Entrambi fanno parte dei coreutils GNU e "elencano i contenuti delle directory".

L'unica differenza che ho visto finora è che dirnon colora l'output.

Quindi perché esistono due comandi? C'è una differenza che mi sono perso? Perché si preferirebbe dirsopra ls?


8
Uno non lo farebbe! Mai!
Bananguin,

Risposte:


20

Sarei propenso a pensare che dirsia lì solo per compatibilità con le versioni precedenti .

Da GNU Coreutils :

dir è equivalente a ls -C -b; ovvero, per impostazione predefinita, i file sono elencati in colonne, ordinati verticalmente e i caratteri speciali sono rappresentati da sequenze di escape con barra rovesciata.

Tra l'altro, lsnon colorare l'output di default: questo è dovuto al fatto maggior parte delle distribuzioni alias lsa ls --color=autoin /etc/profile.d. Per un test, digita unalias lsquindi prova ls: sarà incolore.


6
dirnon è previsto per la compatibilità con le versioni precedenti. Invece, lsfunziona come fa per la compatibilità all'indietro (e perché molti utenti vogliono che funzioni in quel modo), e dirviene fornito come alternativa, che gli sviluppatori GNU considerano generalmente preferibile perché il suo output è indipendente dal dispositivo. Vedi 4.5 Standard per le interfacce Generalmente negli standard di codifica GNU e la mia risposta a quella domanda AU per i dettagli.
Eliah Kagan,

8

dirnon è un comando standard Unix ma probabilmente solo una sorta di alias / clone per fornire una certa familiarità con gli utenti di Windows (DOS) (e possibilmente VAX-VMS e altri sistemi operativi in ​​cui è dirstato utilizzato per elencare i file).

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.