¿Cómo puedo configurar Mac Terminal para tener una salida de color ls? Estoy usando macOS 10.5
Editar:
~/.bash_profile
o
~/.profile
y agregue la siguiente línea para habilitar simplemente la salida en color a través de ls
:
export CLICOLOR=1
Para personalizar el color que se muestra ls
, puede agregar opcionalmente esta variable, LSCOLORS
.
Defecto
export LSCOLORS=ExFxCxDxBxegedabagacad
Puede usar esto si está usando un fondo negro
export LSCOLORS=gxBxhxDxfxhxhxhxhxcxcx
Si desea imitar los colores de una terminal típica de Linux:
export LSCOLORS=ExGxBxDxCxEgEdxbxgxcxd
Una vez que haya agregado lo anterior a cualquiera de los dos ~/.bash_profile
, ~/.profile
puede cerrar sesión/iniciar sesión u obtener el archivo en su shell, por ejemplo:
$ . ~/.bash_profile
NOTA: Si necesita ayuda para seleccionar los colores que utilizará, puede usar esta herramienta en línea llamada LSCOLORS Generator .
.profile
archivo, ya no funciona. Puedo verificar los valores usando echo $LSCOLORS $CLICOLOR
y están definidos pero ya no funciona. ¿Por qué este sería el caso?echo $CLICOLOR
¿debería dar 1?LSCOLORS=exfxcxdxbxegedabagacad
Fuente: freebsd.org/cgi/man.cgi?ls.zprofile
se puede usar para las mismas dos líneas, si está usando zsh
.Puedes añadir
alias ls='ls -G'
a su para obtener una salida ~/.bash_profile
de color .ls
-p
y te levanto un -F
que además pone un *
after ejecutables, |
after pipes, @
after symlinks, etcétera.export CLICOLOR=1
para lograr lo mismo.alias
ls
, porque 1) Si realmente memoriza los parámetros de la línea de comandos (que no son tan difíciles de recordar y escribir), podrá lograr el mismo comportamiento y salida en múltiples sistemas. donde no mantiene un personal actualizado .bash_profile
, y 2) porque muchas veces me gusta canalizar mi ls
salida a otros comandos para ejecutar operaciones en archivos/directorios en la salida, que siempre falla si hay un *
o un @
incluido en el nombres de archivo (sin primero canalizar tr
o sed
eliminar los caracteres no deseados).-t
a ordenar por fechaEncuentro que todo lo que realmente necesito es agregar esto a mi ~/.bash_profile
o ~/.bashrc
(para Bash) o ~/.zshrc
(para Zsh, el nuevo shell predeterminado en Catalina)
export CLICOLOR=1
~/.bashrc
.. ~/.bash_profile
o 3. cerrar sesión/iniciar sesiónSi desea un esquema de color de Mac OS X Terminal legible, puede consultar esto:
¡He estado usando esto durante más de un año y es posible que no pueda funcionar sin él!
Aquí hay un enlace actualizado:
También puede personalizar el color del indicador (y su formato) agregando:
PS1='\[\e[0;33m\]\h:\W \u\$\[\e[m\] '
a ~/.bash_profile
o ~/.profile
archivo. ¿Dónde 0;33
está el amarillo normal que se ve bien en mi ventana de terminal negra/semitransparente?
Aquí hay una lista completa de colores y sus explicaciones: https://wiki.archlinux.org/index.php/Color_Bash_Prompt
Personalmente, estoy usando Oh My Zsh para agregar color y otros trucos a mi Terminal. Creo que esa 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 de Zsh.
Viene con un montón de funciones útiles, asistentes, complementos, temas y algunas cosas que te hacen gritar...
oh-my-bash
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 diferentes sistemas, o si ya está familiarizado con GNU ls.
ACTUALIZACIÓN: Me cambié a Oh my zsh hace un año y es increíble. Mi tema favorito es lambda-mod y mi versión del mismo.
Combinando todas las respuestas aquí es lo que uso:
COLOR_RED="\033[0;31m"
COLOR_YELLOW="\033[0;33m"
COLOR_GREEN="\033[0;32m"
COLOR_OCHRE="\033[38;5;95m"
COLOR_BLUE="\033[0;34m"
COLOR_WHITE="\033[0;37m"
COLOR_RESET="\033[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='\[\033[01;32m\]\u\[\033[00m\]:\[\033[01;34m\]\w\[\033[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"
Simplemente agregue la siguiente línea al ~/.bash_profile
archivo:
export PS1=" \[\033[34m\]\u@\h \[\033[33m\]\w\[\033[31m\]\[\033[00m\] $ "
Este es mi color preferido. Puede personalizar cada parte del color del indicador cambiando los m
códigos (p. ej 34m
.), que son códigos de color ANSI.
Lista de códigos de colores ANSI:
export CLICOLOR=1
Para la versión de Catalina, debe agregar ~/.zshrc
.
Si desea ajustar la paleta de colores, cambie el tema de colores en la configuración del terminal.
Olvídese de todos esos códigos crípticos de décadas de antigüedad por el amor de Dios, use el panel integrado Terminal --> Preferencias... Configuración para establecer la máscara predeterminada y edite los colores ANSI a su gusto. También puede configurar la fuente. Prefiero Menlo 12pt. Así es como cualquier Joe normal puede hacerlo, y evitar toda la loca línea de comandos, la forma unix de hacer las cosas como han sugerido otros carteles.
ls
puede tener una salida en color también puede ejecutar algunos comandos de Unix para configurarlo correctamente.Absolutamente nada me funcionó. Eventualmente encontré una solución muy extraña que arregló todo.
Abrí ~/Library/Preferences/com.apple.Terminal.plist
y busqué 'terminal' con Ctrl+F. Eliminé una sección que decía 'DisableColor' o algo así.
armamento
delgado