¿Cómo hago para que ls --color = auto funcione en Mac OS X?


Respuestas:


79

lsen realidad está separado de Bash. Mac OS X tiene una versión BSD de ls, que requiere -Gen la línea de comandos, o CLICOLOR(y tal vez LSCOLORS) en el entorno.

Ver man lspara más información.


55
Ídem. He alias ls='ls -G'configurado mi .bashrc en Snow Leopard.
ayaz

Por alguna razón, CLICOLOR=Ydejé de trabajar en mi Mac. alias ls='ls -G'obligaría lsa colorear. Lo defino solo para terminales interactivos.
DKroot

31

Abra la ventana de terminal y escriba:

alias ls='ls -G'

Entonces golpeó Entery listo!


10

Utiliza Homebrew .

brew install coreutils

Tenga en cuenta que esto arrojará un prefijo gdelante de todos los comandos (por ejemplo, glspara ls). Ofrece una opción para obtener un archivo que los alias automáticamente.

No estaba seguro de si había una opción para instalarlos directamente sin tener que hacer todo el alias, así que en su lugar instalé MacPorts e hice esto .


1
La salida dice: Si realmente necesita usar estos comandos con sus nombres normales, puede ... ¿Por qué realmente enfatiza ? ¿Cuáles son las desventajas?
z0r

Y nunca archivó su página en archive.org y ahora su enlace en su último párrafo se ha ido
barlop

5

compatibilidad para GNU y * BSD / darwin ls

~ / .profile

#for *BSD/darwin
export CLICOLOR=1

ls --color=auto &> /dev/null && alias ls='ls --color=auto' ||

~ / .bashrc (no recuerdo si bash en Linux siempre lee ~ / .profile, pero no mi zsh en ARCH)

[[ -f $HOME/.profile ]] && source $HOME/.profile

66
¿Puedes explicar este código?
bwDraco

1
establecer la variable de entorno CLICOLOR para los sistemas * BSD y Darwin: si está configurado ls y posiblemente otras utilidades funcionarían en color, pero GNU ls (para Linux) lo ignora. Si "ls --color = auto" no falla (estado de salida = 0), tenemos la versión GNU de ls y hacemos un alias para dibujar códigos de color en modo interactivo, si falla, entonces no necesitamos alias debido a CLICOLOR variable. "&> / dev / null" simplemente no muestra stderr y stdout si algo falla o si está bien. Funciona para mi linux y osx. (ps bash en osx y freebsd no lee .bashrc, así que póngalo en .profile. ya lo arregló).
Victor Gavro

2

Deberá instalar una versión alternativa de ls. El que generalmente se usa en Linux es del proyecto GNU coreutils .

Puede construir e instalar o instalar desde macports , fink o homebrew .


44
Eso es exagerado, en mi opinión. No necesita instalar una versión separada de lscuando la misma característica es compatible de manera ligeramente diferente en la versión existente de ls.
ayaz

Buen punto. Por otra parte, el color ls nunca ha sido mi gusto. alias ls='ls -F'
Doug Harris

alias ls='ls -FG'-- ¡Es lo mejor de ambos mundos!
mipadi

1
Hago esto usando homebrew. No es excesivo si usa computadoras Mac y * nix y desea que sus terminales se vean iguales, esto le permite usar los mismos archivos de configuración en todas las computadoras. Se instala como glsy no reemplaza el original, por lo que realmente no hay inconveniente.
senderle

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.