¿Cómo puedo configurar Mac Terminal para que tenga salida de color ls?

324

¿Cómo puedo configurar Mac Terminal para que tenga salida de color ls? Estoy usando MacOS 10.5

    
pregunta bmike 10.06.2009 - 07:59

10 respuestas

352

Editar:

~/.bash_profile

o

~/.profile

y agregue la siguiente línea para habilitar simplemente la salida de color a través de ls :

export CLICOLOR=1

Para personalizar la coloración mostrada por ls , opcionalmente puede agregar esta variable, LSCOLORS .

Ejemplos

  • Predeterminado

    export LSCOLORS=ExFxCxDxBxegedabagacad
    
  • Puede usar esto si está utilizando un fondo negro

    export LSCOLORS=gxBxhxDxfxhxhxhxhxcxcx
    
  • Si desea imitar los colores de un terminal Linux típico:

    export LSCOLORS=ExGxBxDxCxEgEdxbxgxcxd
    

Una vez que haya agregado lo anterior a ~/.bash_profile o ~/.profile , puede cerrar sesión / iniciar sesión o buscar el archivo en su shell, por ejemplo:

$ . ~/.bash_profile

NOTA: Si necesita ayuda para seleccionar colores para usar, puede usar esta herramienta en línea llamada LSCOLORS Generator .

    
respondido por el Bill Szerdy 10.06.2009 - 20:13
188

Puedes agregar

alias ls='ls -G'

a su ~/.bash_profile para obtener una salida de color ls .

    
respondido por el Barry Wark 10.06.2009 - 08:05
21

Encuentro que todo lo que necesito realmente es agregar esto a mi ~/.bash_profile

export CLICOLOR=1
    
respondido por el Filype 09.05.2015 - 05:17
12

Si desea una combinación de colores de Terminal de Mac OS X legible, puede querer ver esto:

He estado usando esto por más de un año, ¡y es posible que no pueda funcionar sin él!

Aquí hay un enlace actualizado:

respondido por el Jeff 19.10.2010 - 16:23
11

También puede personalizar el color del indicador (y su formato) agregando:

PS1='\[\e[0;33m\]\h:\W \u\$\[\e[m\] '

al archivo ~/.bash_profile o ~/.profile . Donde 0;33 es amarillo regular, que se ve bien en mi ventana de terminal negra / semitransparente.

Aquí hay una lista completa de colores y sus explicaciones: enlace

    
respondido por el nacho4d 05.04.2012 - 08:16
7

Otra opción es usar el GNU ls que es parte del programa 'coreutils'.

Puede obtenerlo a través de Rudix o Homebrew ( brew info coreutils ) o Macports o Fink. Eso podría ser preferible a usar una solución "solo para Mac OS X" si usa los mismos archivos de configuración de shell en sistemas diferentes o si ya está familiarizado con GNU ls.

    
respondido por el TJ Luoma 15.02.2012 - 22:30
6

Personalmente, estoy usando Oh My Zsh para agregar color y otros trucos a mi Terminal. Creo que es la forma más fácil.

  

oh-my-zsh es un marco de código abierto impulsado por la comunidad para administrar   su configuración Zsh.

     

Viene con una tonelada de funciones útiles, ayudantes, complementos,   Temas, y algunas cosas que te hacen gritar ...

    
respondido por el StrawHara 19.10.2014 - 08:43
2

Olvídate de todos esos códigos crípticos de décadas de antigüedad por el bien de Dios, usa el Terminal incorporado - > Panel de Preferencias ... Configuración para configurar el aspecto predeterminado, y editar los colores ANSI a su gusto. También puede establecer la fuente. Prefiero Menlo 12pt. Así es como cualquier Joe normal puede hacerlo, y evita toda la loca línea de comandos, una forma unix de hacer las cosas como han sugerido otros carteles.

    
respondido por el Geoff Hoffman 21.09.2012 - 22:55
2

Simplemente agrega la siguiente línea al archivo ~/.bash_profile :

export PS1=" \[3[34m\]\u@\h \[3[33m\]\w\[3[31m\]\[3[00m\] $ "

Vista previa:

Estos son mis colores preferidos. Puede personalizar cada parte del color del indicador cambiando los códigos m (por ejemplo, 34m ) que son códigos de color ANSI.

Lista de códigos de color ANSI:

  • Negro: 30m
  • Rojo: 31m
  • Verde: 32m
  • Amarillo: 33m
  • azul: 34m
  • Púrpura: 35m
  • Cian: 36m
  • Blanco: 37m
respondido por el SHi ON 14.01.2018 - 00:38
2

Combinar todas las respuestas aquí es lo que uso:

COLOR_RED="3[0;31m"
COLOR_YELLOW="3[0;33m"
COLOR_GREEN="3[0;32m"
COLOR_OCHRE="3[38;5;95m"
COLOR_BLUE="3[0;34m"
COLOR_WHITE="3[0;37m"
COLOR_RESET="3[0m"

#git_color
function git_color {
  local git_status="$(git status 2> /dev/null)"

  if [[ ! $git_status =~ "working directory clean" ]]; then
    echo -e $COLOR_RED
  elif [[ $git_status =~ "Your branch is ahead of" ]]; then
    echo -e $COLOR_YELLOW
  elif [[ $git_status =~ "nothing to commit" ]]; then
    echo -e $COLOR_GREEN
  else
    echo -e $COLOR_OCHRE
  fi
}

#git_branch
function git_branch {
  local git_status="$(git status 2> /dev/null)"
  local on_branch="On branch ([^${IFS}]*)"
  local on_commit="HEAD detached at ([^${IFS}]*)"

  if [[ $git_status =~ $on_branch ]]; then
    local branch=${BASH_REMATCH[1]}
    echo "($branch)"
  elif [[ $git_status =~ $on_commit ]]; then
    local commit=${BASH_REMATCH[1]}
    echo "($commit)"
  fi
}

PS1='\[3[01;32m\]\u\[3[00m\]:\[3[01;34m\]\w\[3[00m\]'
PS1+="\[\$(git_color)\]"        # colors git status
PS1+="\$(git_branch)"           # prints current branch
PS1+="\[$COLOR_BLUE\]\[$COLOR_RESET\]\$ "
export PS1

export LC_ALL=en_US.UTF-8
export CLICOLOR=1
export LSCOLORS=gxBxhxDxfxhxhxhxhxcxcx
alias ls="ls -Gp"

    
respondido por el san1512 05.07.2018 - 13:01

Lea otras preguntas en las etiquetas