Portanto, como quase todo mundo, antes de usar o Ubuntu, usei uma máquina Windows, e uma das coisas com as quais me acostumei no Windows era usar o sublinhado como o primeiro caractere de um nome de pasta como algum tipo de marcação especial para que aparecem primeiro na lista, na linha de comando e no explorador de arquivos.
Por exemplo, na minha pasta de livros eletrônicos (no Windows) é algo como isto:
_read
Book1.pdf
Book2.pdf
_reading
Book3.pdf
Book4.pdf
Book5.pdf
mas no Nautilus do Ubuntu, fica assim:
Book4.pdf
Book5.pdf
_read
Book1.pdf
Book2.pdf
_reading
Book3.pdf
O que está acontecendo é que ele ignora completamente o sublinhado e trata "_read" como "lido" e, portanto, não o lista primeiro como desejado.
Eu tentei definir a variável de ambiente LC_COLLATE como C. Isso ajuda de alguma forma, pois lista o sublinhado, mas no final e não no começo.
Obrigado.
Respostas:
Como você não especificou o código do idioma que está usando no momento, esta solução assume que você está usando
en_US.UTF-8
como padrão.Você pode verificar isso executando o comando
locale
na linha de comando ( Ctrl+ Alt+ t).Por exemplo:
A variável que afeta a ordem de classificação dos arquivos é chamada LC_COLLATE .
De acordo com as páginas de ajuda do Ubuntu , a variável LC_COLLATE determina "Como as strings (nomes de arquivos ...) são classificadas em ordem alfabética. O uso da localidade" C "ou" POSIX "aqui resulta em uma ordem de classificação semelhante ao strcmp (), que pode ser preferível a localidades específicas do idioma ".
A ordem de classificação precisará ser alterada de
LC_COLLATE="en_US.UTF-8"
paraLC_COLLATE=C
.Na linha de comando ( Ctrl+ Alt+ t), digite:
update-locale LC_COLLATE=C
Importante: Você precisa se desconectar do sistema e depois se conectar novamente para que as alterações tenham efeito .
Executando o
locale
comando novamente, ele deve mostrar que aLC_COLLATE
variável foi alterada com sucesso. A execução do comandols -l
novamente deve refletir essa alteração.fonte
ls
no seu.bashrc
?ls -l
classificação é em uma unidade formatada em NTFS que não parece honrar a variável LC_COLLATE. Todos os meus sistemas de arquivos ext3 parecem respeitar essa configuração usando o comando ls, bem como no Thunar e Nautilus.ls -l
comando em uma unidade NTFS, pois tenho uma inicialização dupla com o Windows.update-locale LC_COLLATE=C
não ajuda a obter pastas com sublinhados no topo de uma lista classificada, se você usar letras maiúsculas no início dos nomes das pastas!caja (e acho que o Nautilus antes dele) tem uma opção em Preferências para classificar pastas antes dos arquivos. Isso ajudaria?
fonte