es.phhsnews.com


es.phhsnews.com / Cómo cambiar los colores de directorios y archivos en el comando ls

Cómo cambiar los colores de directorios y archivos en el comando ls


Si ejecutó el comandolsen Bash, notará que los directorios y los archivos que ve son coloreados de acuerdo a su tipo. Puede personalizar su propio esquema de color para elegir diferentes colores de texto, colores de fondo y formato como negrita y subrayado.

Cómo funciona

El esquema de colores se almacena en la variable LS_COLORS. Para ver su combinación de colores actual, puede indicarle a Bash que imprima los contenidos de la variable:

echo $ LS_COLORS

Verá una larga lista de tipos de archivos y códigos numéricos. Explicaremos cómo crear una lista como esta usted mismo.

Antes de jugar con esto, recomendamos guardar el contenido actual de la variable LS_COLORS en otra variable. Esto le permitirá restaurar rápidamente las configuraciones predeterminadas sin cerrar la sesión desde el shell y volver a iniciar sesión, o cerrar y volver a abrir la ventana del terminal. Para guardar el contenido actual de la variable LS_COLORS en una nueva variable llamada ORIGINAL, ejecute:

ORIGINAL = $ LS_COLORS

En cualquier momento, puede ejecutar el siguiente comando para deshacer los cambios y restaurar los colores predeterminados:

LS_COLORS = $ ORIGINAL

Sus cambios son siempre temporales hasta que edite un archivo para convertirlos en sus nuevos valores predeterminados. Siempre puede cerrar sesión y volver a iniciar o cerrar y volver a abrir una ventana de terminal para restaurar los colores a su configuración predeterminada. Sin embargo, esto hace que sea fácil hacerlo con un único comando rápido.

Cómo configurar colores personalizados

La variable LS_COLORS contiene una lista de tipos de archivos junto con los códigos de color asociados. La lista predeterminada es larga porque especifica diferentes colores para diferentes tipos de archivos.

Comencemos con un ejemplo básico para demostrar cómo funciona esto. Digamos que queremos cambiar el color de los directorios del negrita predeterminado al rojo negrita. Podemos ejecutar el siguiente comando para hacerlo:

LS_COLORS = "di = 1; 31"

Eldi = 1; 31bit dicelsque los directorios (di) son (=) negrita (1;) roja (31).

Sin embargo, esto es solo una muy simple Variable LS_COLORS que define los directorios como un color y deja cada otro tipo de archivo como el color predeterminado. Digamos que también queremos hacer que los archivos con la extensión de archivo .desktop tengan un color cian subrayado. Podemos ejecutar el siguiente comando para hacerlo:

LS_COLORS = "di = 1: 31: *. Desktop = 4; 36"

Esto le dice alsque los directorios (di) son (=) negrita (1;) roja (31) y (:) cualquier archivo que termine en .desktop (*. Escritorio) es (=) subrayado (4;) cian (36).

Este es el proceso para armar su lista de tipos de archivos y colores. Especifique tantos como desee en el formato filetype = color, separando cada uno con un carácter de dos puntos (:).

RELACIONADO: Cómo personalizar (y colorear) el mensaje Bash

Para armar su propia lista, solo necesitará saber la lista de códigos de color y códigos de tipo de archivo. Utiliza los mismos códigos numéricos de color que usas cuando cambias el color en tu indicador de Bash.

Aquí está la lista de códigos de color para el texto en primer plano:

  • Negro: 30
  • Azul: 34
  • Cián: 36
  • Verde: 32
  • Púrpura: 35
  • Rojo: 31
  • Blanco: 37
  • Amarillo: 33

Por ejemplo, dado que el texto amarillo es el código de color 33, usaríadi = 33para hacer que los directorios sean amarillos.

Aquí está la lista de atributos de color de texto:

  • Texto normal: 0
  • Texto en negrita o claro: 1 (depende del emulador de terminal)
  • Texto oscuro: 2
  • Texto subrayado: 4
  • Texto parpadeante: 5 (Esto no funciona en la mayoría de los emuladores de terminal)
  • Texto invertido: 7 (Esto invierte los colores de primer plano y de fondo, por lo que verá texto negro sobre fondo blanco si el texto actual es texto blanco sobre fondo negro.)
  • Texto oculto: 8

Al especificar un atributo o más de un código de color, separe la lista de códigos con un punto y coma (; ) personaje. No necesita especificar 0 para texto normal, ya que el texto normal se usa cuando no se especifica un atributo aquí.

Por ejemplo, dado que el texto en negrita es el código de color 1 y el texto amarillo es el código de color 33, usaríadi = 1; 33para hacer que los directorios sean negrita amarillos. También puede especificar más de un atributo. Por ejemplo, puede usardi = 1; 4; 33para hacer directorios en negrita, subrayados en amarillo.

Aquí está la lista de códigos de color de fondo:

  • Fondo negro: 40
  • Fondo azul : 44
  • Fondo cian: 46
  • Fondo verde: 42
  • Fondo morado: 45
  • Fondo rojo: 41
  • Fondo blanco: 47
  • Fondo amarillo: 43

Por ejemplo, dado que un fondo azul es el código de color 44, usaríadi = 44para usar un fondo azul para los directorios. También puede combinar un código de color de fondo, un código de color de primer plano y tantos atributos como desee. Por ejemplo,di = 1; 4; 33; 44le daría texto amarillo subrayado en negrita sobre fondo azul.

Aquí está la lista de códigos de tipo de archivo:

  • Directorio: di
  • Archivo: fi
  • Enlace simbólico: ln
  • Canalización con nombre (FIFO): pi
  • Zócalo: tan
  • Dispositivo de bloque: bd
  • Dispositivo de caracteres: cd
  • Enlace simbólico huérfano (apunta a un archivo que ya no existe): o
  • Archivo faltante (un archivo faltante al que apunta un enlace simbólico huérfano): mi
  • Archivo ejecutable (tiene el permiso "x"): ex
  • *. extensión: Cualquier archivo que termine con una extensión que especifique. Por ejemplo, use * .txt para archivos que terminen en .txt, * .mp3 para archivos que terminen en .mp3, * .desktop para archivos que terminen en .desktop, o cualquier otra cosa que desee. Puede especificar tantas extensiones de archivos diferentes como desee.

Especifique tantos tipos diferentes de códigos de tipo de archivo con tantos colores diferentes como desee, separados por el carácter:. Repita este proceso para ensamblar su variable LS_COLORS.

Por ejemplo, supongamos que desea utilizar texto morado en negrita para directorios, texto en rojo subrayado para archivos ejecutables y texto verde en negrita sobre un fondo rojo para archivos .mp3. Al unir los códigos de tipo de archivo y los códigos de color de las listas anteriores, obtendrá:

LS_COLORS = "di = 1; 35: ex = 4; 31: *. Mp3 = 1; 32; 41"

Cómo establecer sus nuevos colores predeterminados

Ahora tiene una variable LS_COLORS personalizada que funciona en la sesión Bash actual. Sin embargo, es probable que desee hacerlo permanente para que se use automáticamente siempre que inicie una nueva sesión de Bash sin que tenga que recordar esto.

Puede establecer su variable LS_COLORS personalizada y cualquier otra variable de Bash que desee, agregándola a el archivo .bashrc de su cuenta de usuario. Este archivo se encuentra en ~ / .bashrc. Entonces, si su nombre de usuario es bob, lo encontrará en /home/bob/.bashrc. Hay otras formas de establecer también variables de entorno, pero esta es simple.

Primero, abra este archivo en su editor de texto preferido. Usaremos nano aquí como ejemplo, pero puede usar vi, emacs o cualquier otra cosa que desee.

nano ~ / .bashrc

Agregue su variable LS_COLORS personalizada a una nueva línea al final del archivo , así:

LS_COLORS = "di = 1; 35: ex = 4; 31: *. mp3 = 1; 32; 41"

Guarde el archivo y salga. En nano, presione Ctrl + O y luego presione Entrar para guardar, luego presione Ctrl + X para salir.

Siempre que inicie una nueva sesión de Bash, Bash leerá el archivo .bashrc y establecerá automáticamente su variable LS_COLORS. Para cambiar los colores en el futuro, regrese a su archivo .bashrc y edite la línea LS_COLORS.

También puede simplemente eliminar la líneaLS_COLORS =que agregó a su archivo .bashrc para usar el valor predeterminado colores otra vez. Si no establece el valor de LS_COLORS, Bash utilizará los colores predeterminados.


¿Cuál es la configuración ISO de su cámara?

¿Cuál es la configuración ISO de su cámara?

En fotografía, ISO es una medida de cuán sensible es a la luz una pieza de película o sensor digital: cuanto más alto es el ISO, más sensible. Con un ISO bajo, necesita usar una velocidad de obturación más larga o una apertura más amplia que la que tendría si usa un ISO alto. La mayoría de las cámaras digitales tienen un rango ISO de entre 100 y aproximadamente 12.

(how-top)

¿Por qué los CD y DVD añaden datos desde el centro hacia afuera?

¿Por qué los CD y DVD añaden datos desde el centro hacia afuera?

Al grabar un CD o DVD en casa, puede que se pregunte por qué los datos siempre se agregan desde el centro hacia afuera. ¿Realmente importaría si los datos se añadieran en la dirección opuesta, como se corrigieron los viejos discos de vinilo? ¿Hay más? La publicación de preguntas y respuestas SuperUser de hoy tiene la respuesta a la pregunta de un lector curioso.

(how-top)