En este artículo, escribiré un artículo sobre la configuración de colores para la salida del comando ls en un shell bash. En Linux, ls es uno de los comandos básicos y más utilizados para listar contenidos de directorios en nuestras tareas diarias de administración.
Si ha notado que el comando ls muestra diferentes colores para directorios y archivos, en este artículo discutiremos cómo configurar y cambiar los colores deseados para el comando ls.
Color predeterminado de ls
Si está utilizando cualquier sistema operativo Linux (como Ubuntu o CentOS), el terminal GUI predeterminado y el shell de la consola mostrarán los archivos en varios colores contextuales. Sin embargo, si una computadora que no admite listados de catálogo de colores de manera predeterminada usa el siguiente comando, es posible que deba agregar colores al comando ls:ls --color
.
Ejecute el siguiente comando para mostrar los colores predeterminados de cualquier directorio y archivo en el sistema.
$ ls $ ls -al /tmp $ ls -al --color /tmp
También puede usar el siguiente comando para verificar cómo se asignan los colores.
$ dircolors $ echo $LS_COLOR
Aquí puede ver una larga lista de códigos digitales para tipos de archivos y esquemas de color predeterminados, y le explicaremos cómo crearlos usted mismo.
Activar/desactivar el color para el comando ls
La salida de color del comando ls se define como un alias en bash. Ejecute la siguiente combinación de alias y comando grep para encontrar el alias de shell bash para la visualización en color.
$ alias | grep ls
Ahora, ejecute el siguiente comando para eliminar el alias usando el comando unalias.
$ unalias ls
O simplemente ejecuta lo siguientePor favor cierracolor.
$ ls --color=none
Puede ver en la captura de pantalla que después de eliminar el alias, la salida del comando ls es monocromática.
ahora aHabilitar color, Utilice el siguiente comando para asignar un alias.
$ alias ls='ls --color=auto'
Puede ver en la captura de pantalla que después de eliminar el alias, la salida del comando ls es monocromática.
Ahora, para habilitar el color, use el siguiente comando para asignar un alias.
$ alias ls='ls --color=auto'
Esquema de código de color predeterminado
En el proceso de ensamblar el tipo de archivo y la lista de colores, necesitamos especificar cualquier número en forma de tipo de archivo = color, separados por dos puntos (:).
La siguiente es una lista de esquemas de color establecidos de forma predeterminada.
?Incoloro (blanco): texto de nombre de archivo o no archivo (por ejemplo, permisos en la salida de ls -l) ?Negrita azul: directorio ?Cian negrita azul: enlace simbólico ?Negrita verde: archivo ejecutable ?Negrita roja: archivos de almacenamiento ? Rojo magenta en negrita: archivos de imagen, videos, gráficos, etc. O puerta o enchufe ? Cyan: ¿archivos de audio? Fondo negro: tubería (AKA FIFO) ? Fondo negro en negrita: ¿dispositivo de bloque o dispositivo de caracteres? Negrita con fondo negro: ¿enlaces simbólicos aislados o archivos faltantes? Incoloro, con fondo rojo: archivo set-user-ID ? Negro, con fondo: archivo set-group-ID ? Negro, con fondo: archivo con función ? Blanco con fondo azul: directorio fijo ?Azul con fondo verde: otros directorios grabables ?Fondo negro y verde: directorios fijos y otros directorios grabables
Para armar su propia lista, necesitamos conocer la lista de códigos de color y los códigos de tipo de archivo, que usan los mismos códigos de color numéricos que en el aviso de Bash.
Puede encontrar a continuación la lista de códigos de color para el texto de primer plano:
? Negro: 30 ?: 31 ? Verde: 32 ?: 33 ? Azul: 34 ? Púrpura: 35 ? cian: 36 ? Blanco: 37
Cambiar el color personalizado de ls
Para establecer un color personalizadols command
, También puede actualizar el alias a~/.bash_profile
Cualquiera~/.bashrc
Edite el archivo editando el archivo con cualquier editor de textovim
.
Antes de realizar cambios en bashrc, haga una copia de seguridad del archivo copiando su configuración en cualquier otro archivo.
$ cp .bashrc .bashrc2
Si comete un error o tiene problemas, puede reemplazar el archivo .bashrc escribiendo:
$ cp .bashrc2 .bashrc
Ahora, abra el archivo bashrc usando el comando vim.
$ vim .bashrc
.bashrc
## Colorize the ls output ## alias ls='ls --color=auto' ## Use a long listing format ## alias ll='ls -la' ## Show hidden files ## alias l.='ls -d .* --color=auto'
Después de realizar cualquier cambio en el archivo baschrc, guarde el archivo y ejecute el siguiente comando para actualizar los cambios de bash.
$ source .bashrc
Por ejemplo, vea cómo funciona en los siguientes pasos. Si desea cambiar el color del directorio del azul negrita predeterminado a negrita, ejecute el siguiente comando en la terminal como se muestra en la figura.
$ LS_COLORS=?di=1;33?
Puede agregar nuevos pares clave-valor al finalVariable de entorno LS_COLORSO simplemente edite el valor de una clave específica.
Por ejemplo, di = 0; 33, donde di significa que el color solo afecta al catálogo, 0 significa color normal y 33 significa color normal.
Si desea mantener la fuente en negrita para el catálogo, el código de color debe ser di = 1; 33, y 1 significa la fuente en negrita.
Más ejemplos
Usemos los siguientes comandos para divertirnosCambiar el colorCarpetas y algunas extensiones de archivo específicas.
$ export LS_COLORS=$LS_COLORS:"*.txt=01;36":"*.mp3=01;31"
Aquí puede ver que hemos actualizado el color del archivo .txt a Cian y el color del archivo de la extensión .mp3 a.
Ejecutemos otro comando a continuación para establecer el color del directorio en "púrpura".
$ export LS_COLORS="di=0;35"
Una vez que esté familiarizado con la configuración de colores personalizados, puede agregar estos cambios al archivo dot bashrc ubicado en el directorio de inicio del usuario para que estos cambios sean permanentes.
en conclusión
Al final de este tutorial, debería estar familiarizado con los colores del comando ls, qué significan y cómo podemos habilitarlos o deshabilitarlos y cambiarlos para mayor comodidad. Establecer LS_COLORS puede hacer que la lista ls se vea más hermosa, lo que lo ayuda a identificar los archivos al atravesar el sistema de archivos.