Em sistemas GNU, pelo menos na maioria dos locais diferentes de C / POSIX, há alguns caracteres que são ignorados no que diz respeito à classificação. Esse é o caso, por exemplo, de _ , . , espaço ou 0x1.
É por isso que .a , .c , __b , _d é classificado como .a , __b , .c , _d , por exemplo.
Para strings que consistem em somente desses caracteres ignorados , a ordem de classificação é definida na localidade, o ASCII SPC geralmente vem em primeiro lugar. Portanto, um caractere de espaço único seria o arquivo que classifica primeiro (mesmo antes de 0x1 (o primeiro no idioma C), . e .. ), depois dois espaços ... etc. No entanto, <SPC>DELETED classificaria < em> after DELETED , portanto, enquanto um arquivo chamado ___ seria classificado antes da maioria dos outros arquivos, colocar ___ na frente de alguma outra string não o faz classificar antes.
Entre os caracteres não ignorados, o ASCII 0 é geralmente o caractere que classifica primeiro em locais não-C.
Assim, um arquivo chamado 0 deve ser classificado antes de qualquer outro arquivo que não contenha caracteres não ignorados. Colocar o 0 em um arquivo que contém caracteres não ignorados faria com que ele fosse classificado anteriormente em locais não-C.
Portanto, um arquivo chamado $'_000_DELETED' seria classificado bem cedo na localidade C (porque 0x1 é o primeiro caractere para ser classificado primeiro) e também em outras localidades (porque todos os 0x1 e _ são ignorados, mas a 0 s são os caracteres não ignorados que são classificados primeiro).
Em locais não-C, ainda ordenaria após . ou .. .
Outra opção poderia ser escrever DELETED apenas com caracteres ignorados como " ₫€£€₮€₫" . Esses símbolos de moeda são ignorados pela classificação. O SPC também classifica bastante cedo no código do idioma C, portanto, ele deve classificar antes de . em locais C e não-C.
$ touch $' \u20ab\u20ac\u00a3\u20ac\u20ae\u20ac\u20ab' $'' ' ' 0normal-file $'_000_DELETED'
$ ls -1a
₫€£€₮€₫
./
../
?
???_000_DELETED
0normal-file
$ LC_ALL=C ls -1a
?
???_000_DELETED
????????????????????
./
../
0normal-file
$ LC_COLLATE=C ls -1a
?
???_000_DELETED
₫€£€₮€₫
./
../
0normal-file