Se você quiser apenas destacar arquivos ocultos (e pastas) e não se importar com a cor de todos os outros arquivos, a abordagem óbvia é executar ls -la | grep -E "^| \.[^/|'.].*"
Se você quiser manter as outras cores, as coisas começam a ficar complicadas, porque $LS_COLORS
não oferece suporte nativo para colorir os arquivos ocultos como parece.
Eu tive a idéia de acrescentar dinamicamente os arquivos ocultos do diretório atual à variável de ambiente $LS_COLORS
como uma pseudo-extensão, depois executar ls -la
e depois disso executar dircolors
para redefinir o esquema de cores original. Obviamente, haverá um conflito se um arquivo oculto tiver o mesmo nome de uma extensão conhecida. Além disso, esse método não funciona com pastas ocultas.
Aviso: esta solução é um hack (não totalmente testado). Use a seu próprio risco.
for h in $(ls -A | grep "^\."); do LS_COLORS="$LS_COLORS*$h=04;05:"; done; ls -la; eval $(dircolors)