⚠️ Esta respuesta está un poco anticuada. Consulte las otras respuestas, en particular las que usan alias o ls -v
.
Intenta agregar
export LC_COLLATE="C"
en sus archivos de puntos, o cambiando el LC_ALL
asignación a:
export LC_ALL="C"
Esto controla la forma en que funciona la clasificación a nivel de carácter; mientras que la opción predeterminada sería ordenar los archivos de puntos en línea, esto hará que sort
enumere los archivos de puntos primero.
Sin embargo, tenga en cuenta que esto básicamente dejará de admitir su configuración regional real en todas las utilidades que reconocen la configuración regional.
Para ir más allá, citando el manual de GNU Coreutils (énfasis mío):
Si usa una configuración regional que no sea POSIX (por ejemplo, configurando LC_ALL
a en_US
), entonces sort puede producir una salida que se ordena de manera diferente de lo que estás acostumbrado.
En ese caso, establezca el LC_ALL
variable de entorno a C
. Tenga en cuenta que configurar solo LC_COLLATE
tiene dos problemas. Primero, es ineficaz si LC_ALL
también se establece. En segundo lugar, tiene un comportamiento indefinido si LC_CTYPE
(o LANG
, si LC_CTYPE
no está configurado) está configurado en un valor incompatible. Por ejemplo, obtienes un comportamiento indefinido si LC_CTYPE
es ja_JP.PCK
pero LC_COLLATE
es en_US.UTF-8
.
Para evitar cambios en todo el sistema sin una necesidad real, solo se puede cambiar la forma en que ls
funciona para el usuario actual agregando el alias al .bashrc
:
alias ll='LC_COLLATE=C ls -alF'
Esto ordena primero los archivos de puntos, permite manejar correctamente (mostrar y ordenar) conjuntos de caracteres "poco comunes" como el cirílico. El único culpable de que la clasificación sea sensible a mayúsculas y minúsculas.
Fuente:http://ubuntuforums.org/showthread.php?t=816753
La página de manual de ls(1) enumera:
-v tipo natural de números (versión) dentro del texto
Esto parece cambiar la forma en que se ordenan los períodos y agrupa primero los archivos de puntos. tengo:
alias ls='ls -vAF'
alias ll='ls -l'
en mi ~/.bashrc.