⚠️ Tato odpověď je trochu zastaralá. Podívejte se prosím na ostatní odpovědi, zejména ty, které používají aliasy nebo
ls -v.
Zkuste přidat
export LC_COLLATE="C"
ve vašich dotfiles nebo změnou LC_ALL úkol:
export LC_ALL="C"
To řídí způsob, jakým funguje třídění na úrovni znaků – zatímco výchozí by bylo řazení dotfiles inline, bude to mít hodnotu sort nejprve vypište soubory s tečkami.
Mějte však na paměti, že to v podstatě zastaví podporu vašeho skutečného národního prostředí ve všech utilitách s ohledem na národní prostředí.
Abychom šli dále, cituji manuál GNU Coreutils (důraz):
Pokud používáte národní prostředí jiné než POSIX (např. nastavením
LC_ALLažen_US), pak třídění může vytvořit výstup, který je seřazený jinak než jste zvyklí.V takovém případě nastavte
LC_ALLproměnná prostředí naC. Upozorňujeme, že nastavení pouzeLC_COLLATEmá dva problémy. Za prvé, je neúčinné, pokudLC_ALLje také nastaveno. Za druhé, má nedefinované chování, pokudLC_CTYPE(neboLANG, pokudLC_CTYPEnení nastaveno) je nastaveno na nekompatibilní hodnotu. Pokud napříkladLC_CTYPE, získáte nedefinované chování jeja_JP.PCKaleLC_COLLATEjeen_US.UTF-8.
Abychom se vyhnuli jakýmkoli změnám v celém systému bez skutečné potřeby, lze změnit pouze způsob ls funguje pro aktuálního uživatele přidáním aliasu do .bashrc :
alias ll='LC_COLLATE=C ls -alF'
Toto třídí soubory s tečkami jako první, umožňuje správně zpracovávat (zobrazovat a třídit) "neobvyklé" znakové sady, jako je cyrilice. Jediným viníkem je, že třídění bude rozlišovat malá a velká písmena.
Zdroj:http://ubuntuforums.org/showthread.php?t=816753
Manuová stránka ls(1) uvádí:
-v přirozený druh čísel (verzí) v textu
Zdá se, že to mění způsob řazení období a nejprve seskupují tečkové soubory. Mám:
alias ls='ls -vAF'
alias ll='ls -l'
v mém ~/.bashrc.