Entonces, como casi todos, antes de usar Ubuntu usaba una máquina Windows, y una de las cosas a las que me acostumbré en Windows fue usar el guión bajo como primer carácter del nombre de una carpeta como una especie de marca especial para que sea aparecen primero en la lista, tanto en la línea de comandos como en el explorador de archivos.
Por ejemplo, en mi carpeta de eBooks (en Windows) se ve así:
_read
Book1.pdf
Book2.pdf
_reading
Book3.pdf
Book4.pdf
Book5.pdf
pero en Nautilus de Ubuntu se ve así:
Book4.pdf
Book5.pdf
_read
Book1.pdf
Book2.pdf
_reading
Book3.pdf
Lo que está sucediendo es que ignora por completo el guión bajo y trata "_read" como "read" y, por lo tanto, no lo enumera primero como se desea.
He intentado establecer la variable de entorno LC_COLLATE en C. Esto ayuda de alguna manera, ya que enumera el guión bajo juntos, pero al final, y no al principio.
Gracias.
Respuestas:
Como no ha especificado la configuración regional que está utilizando actualmente, esta solución asume que la está utilizando
en_US.UTF-8
como predeterminada.Puede verificar esto ejecutando el comando
locale
desde la línea de comando ( Ctrl+ Alt+ t).Por ejemplo:
La variable que afecta el orden de clasificación de los archivos se llama LC_COLLATE .
De acuerdo con las páginas de ayuda de Ubuntu , la variable LC_COLLATE determina "Cómo se ordenan alfabéticamente las cadenas (nombres de archivo ...). El uso de la configuración regional" C "o" POSIX "aquí da como resultado un orden de clasificación similar a strcmp (), que puede ser preferible a las configuraciones regionales específicas del idioma ".
El orden de clasificación deberá cambiarse de
LC_COLLATE="en_US.UTF-8"
aLC_COLLATE=C
.Desde la línea de comando ( Ctrl+Alt + t), ingrese:
update-locale LC_COLLATE=C
Importante: debe cerrar la sesión de su sistema y luego volver a iniciarla para que los cambios surtan efecto .
Al ejecutar el
locale
comando nuevamente, debería mostrar que laLC_COLLATE
variable se ha cambiado con éxito. Ejecutar el comandols -l
nuevamente debería reflejar este cambio.fuente
ls
en tu.bashrc
?ls -l
ordenación es en una unidad con formato ntfs que no parece respetar la variable LC_COLLATE. Todos mis sistemas de archivos ext3 parecen respetar esa configuración utilizando el comando ls, así como en Thunar y Nautilus.ls -l
comando en una unidad NTFS, ya que tengo un arranque dual con Windows.update-locale LC_COLLATE=C
¡no ayuda obtener carpetas con guiones bajos en la parte superior de una lista ordenada si usa letras mayúsculas al comienzo de los nombres de sus carpetas!caja (y creo que Nautilus antes) tiene una opción en Preferencias para ordenar las carpetas antes que los archivos. ¿Eso ayudaría?
fuente