LS_COLORS
La variable ambiental le permite decidir los colores para diferentes tipos de archivos para el ls
comando de GNU coreutil , como directorios, archivos regulares, enlaces, etc. Supongo que los archivos de puntos se consideran una variación de los tipos de archivos de Linux y no un tipo en sí mismo, por lo tanto, hay no hay opción para especificar un color de visualización para ellos.
¿Hay alguna otra forma de hacer que los ls
listados muestren archivos ocultos en un color diferente?
LS_COLORS
. No pude averiguar cómo hacer que funcione para los archivos de puntos, pero es posible que desee comprobarlo.*.hide
por ejemplo. Esta respuesta aborda un problema similar para los directorios, aunque las respuestas a esto y al problema del directorio probablemente no sean las mismas.Respuestas:
Si solo está ordenando por nombre, esto podría ayudar:
Sin embargo, divide el comando ls en dos partes, una para archivos y carpetas ocultos, otra para el resto.
fuente
Si, uso
cf
. Acabo de lanzar una versión bien documentada, específicamente colorea la salida de ls por extensión de archivo y / o ciertos atributos especiales (ejecutables, enlaces, ocultos y directorios). ¡¡¡Dale un tiro!!! Es difícil dejar de usar esto una vez que te acostumbras.https://github.com/AdamDanischewski/cf
fuente
Si solo desea resaltar los archivos ocultos (y las carpetas) y no le importa el color de todos los demás archivos, entonces el enfoque obvio es ejecutar
ls -la | grep -E "^| \.[^/|'.].*"
Si desea mantener los otros colores, entonces las cosas comienzan a complicarse, ya
$LS_COLORS
que no admite de forma nativa colorear colores ocultos como parece.Se me ocurrió la idea de agregar dinámicamente los archivos ocultos del directorio actual a la
$LS_COLORS
variable de entorno como una pseudo extensión, luego ejecutarls -la
y luego ejecutardircolors
para restablecer el esquema de color original. Obviamente habrá un conflicto si un archivo oculto tiene el mismo nombre que una extensión conocida. Además, este método no funciona con carpetas ocultas.Advertencia: esta solución es un truco (no muy probado). Úselo bajo su propio riesgo.
for h in $(ls -A | grep "^\."); do LS_COLORS="$LS_COLORS*$h=04;05:"; done; ls -la; eval $(dircolors)
fuente