ls currently always uses an equivalent to LC_COLLATE=C when no other sort option is specified, while gnuls respects LC_COLLATE
ubuntu@ubuntu-resolute:~$ ls -l
total 48
drwxr-xr-x 2 ubuntu ubuntu 4096 May 21 16:36 Desktop
drwxr-xr-x 2 ubuntu ubuntu 4096 May 21 00:08 Documents
drwxr-xr-x 2 ubuntu ubuntu 4096 May 21 00:08 Downloads
drwxr-xr-x 2 ubuntu ubuntu 4096 May 21 00:08 Music
drwxr-xr-x 2 ubuntu ubuntu 4096 May 21 00:08 Pictures
drwxr-xr-x 2 ubuntu ubuntu 4096 May 21 00:08 Public
drwxr-xr-x 2 ubuntu ubuntu 4096 May 21 00:08 Templates
drwxr-xr-x 2 ubuntu ubuntu 4096 May 21 00:08 Videos
-rw-rw-r-- 1 ubuntu ubuntu 151 May 21 16:49 out
drwx------ 3 ubuntu ubuntu 4096 May 21 00:14 snap
-rwxrwxr-x 1 ubuntu ubuntu 113 May 21 16:40 test.sh
-rwxr-xr-x 1 ubuntu ubuntu 626 May 21 16:48 test_2.sh
ubuntu@ubuntu-resolute:~$ gnuls -l
total 48
drwxr-xr-x 2 ubuntu ubuntu 4096 May 21 16:36 Desktop
drwxr-xr-x 2 ubuntu ubuntu 4096 May 21 00:08 Documents
drwxr-xr-x 2 ubuntu ubuntu 4096 May 21 00:08 Downloads
drwxr-xr-x 2 ubuntu ubuntu 4096 May 21 00:08 Music
-rw-rw-r-- 1 ubuntu ubuntu 151 May 21 16:49 out
drwxr-xr-x 2 ubuntu ubuntu 4096 May 21 00:08 Pictures
drwxr-xr-x 2 ubuntu ubuntu 4096 May 21 00:08 Public
drwx------ 3 ubuntu ubuntu 4096 May 21 00:14 snap
drwxr-xr-x 2 ubuntu ubuntu 4096 May 21 00:08 Templates
-rwxr-xr-x 1 ubuntu ubuntu 626 May 21 16:48 test_2.sh
-rwxrwxr-x 1 ubuntu ubuntu 113 May 21 16:40 test.sh
drwxr-xr-x 2 ubuntu ubuntu 4096 May 21 00:08 Videos
ubuntu@ubuntu-resolute:~$ locale
LANG=en_US.UTF-8
LANGUAGE=
LC_CTYPE="en_US.UTF-8"
LC_NUMERIC="en_US.UTF-8"
LC_TIME="en_US.UTF-8"
LC_COLLATE="en_US.UTF-8"
LC_MONETARY="en_US.UTF-8"
LC_MESSAGES="en_US.UTF-8"
LC_PAPER="en_US.UTF-8"
LC_NAME="en_US.UTF-8"
LC_ADDRESS="en_US.UTF-8"
LC_TELEPHONE="en_US.UTF-8"
LC_MEASUREMENT="en_US.UTF-8"
LC_IDENTIFICATION="en_US.UTF-8"
LC_ALL=
Comparison with LC_COLLATE=C
ubuntu@ubuntu-resolute:~$ LC_COLLATE=C ls -l
total 48
drwxr-xr-x 2 ubuntu ubuntu 4096 May 21 16:36 Desktop
drwxr-xr-x 2 ubuntu ubuntu 4096 May 21 00:08 Documents
drwxr-xr-x 2 ubuntu ubuntu 4096 May 21 00:08 Downloads
drwxr-xr-x 2 ubuntu ubuntu 4096 May 21 00:08 Music
drwxr-xr-x 2 ubuntu ubuntu 4096 May 21 00:08 Pictures
drwxr-xr-x 2 ubuntu ubuntu 4096 May 21 00:08 Public
drwxr-xr-x 2 ubuntu ubuntu 4096 May 21 00:08 Templates
drwxr-xr-x 2 ubuntu ubuntu 4096 May 21 00:08 Videos
-rw-rw-r-- 1 ubuntu ubuntu 151 May 21 16:49 out
drwx------ 3 ubuntu ubuntu 4096 May 21 00:14 snap
-rwxrwxr-x 1 ubuntu ubuntu 113 May 21 16:40 test.sh
-rwxr-xr-x 1 ubuntu ubuntu 626 May 21 16:48 test_2.sh
ubuntu@ubuntu-resolute:~$ LC_COLLATE=C gnuls -l
total 48
drwxr-xr-x 2 ubuntu ubuntu 4096 May 21 16:36 Desktop
drwxr-xr-x 2 ubuntu ubuntu 4096 May 21 00:08 Documents
drwxr-xr-x 2 ubuntu ubuntu 4096 May 21 00:08 Downloads
drwxr-xr-x 2 ubuntu ubuntu 4096 May 21 00:08 Music
drwxr-xr-x 2 ubuntu ubuntu 4096 May 21 00:08 Pictures
drwxr-xr-x 2 ubuntu ubuntu 4096 May 21 00:08 Public
drwxr-xr-x 2 ubuntu ubuntu 4096 May 21 00:08 Templates
drwxr-xr-x 2 ubuntu ubuntu 4096 May 21 00:08 Videos
-rw-rw-r-- 1 ubuntu ubuntu 151 May 21 16:49 out
drwx------ 3 ubuntu ubuntu 4096 May 21 00:14 snap
-rwxrwxr-x 1 ubuntu ubuntu 113 May 21 16:40 test.sh
-rwxr-xr-x 1 ubuntu ubuntu 626 May 21 16:48 test_2.sh
I have a bug fix for this ready, but I wanted to report the issue here and wait for confirmation before opening a merge proposal.
Ubuntu bug: https://bugs.launchpad.net/ubuntu/+source/rust-coreutils/+bug/2154042
lscurrently always uses an equivalent toLC_COLLATE=Cwhen no other sort option is specified, whilegnulsrespectsLC_COLLATEComparison with LC_COLLATE=C
I have a bug fix for this ready, but I wanted to report the issue here and wait for confirmation before opening a merge proposal.
Ubuntu bug: https://bugs.launchpad.net/ubuntu/+source/rust-coreutils/+bug/2154042