⚠️ Jawaban ini agak kuno. Silakan periksa jawaban lain, terutama yang menggunakan alias atau
ls -v
.
Coba tambahkan
export LC_COLLATE="C"
di dotfile Anda, atau mengubah LC_ALL
tugas ke:
export LC_ALL="C"
Ini mengontrol cara kerja pengurutan pada level karakter — sementara defaultnya adalah mengurutkan dotfile sebaris, ini akan membuat sort
daftar dotfile terlebih dahulu.
Namun, perhatikan bahwa ini pada dasarnya akan menghentikan dukungan untuk lokal Anda yang sebenarnya di semua utilitas sadar-lokal.
Untuk melangkah lebih jauh, mengutip manual GNU Coreutils (penekanan dari saya):
Jika Anda menggunakan lokal non-POSIX (misalnya, dengan menyetel
LC_ALL
keen_US
), maka urutkan dapat menghasilkan keluaran yang diurutkan secara berbeda dari yang biasa Anda lakukan.Dalam hal ini, setel
LC_ALL
variabel lingkungan keC
. Perhatikan bahwa pengaturan hanyaLC_COLLATE
memiliki dua masalah. Pertama, tidak efektif jikaLC_ALL
juga diatur. Kedua, ia memiliki perilaku yang tidak terdefinisi jikaLC_CTYPE
(atauLANG
, jikaLC_CTYPE
tidak disetel) disetel ke nilai yang tidak kompatibel. Misalnya, Anda mendapatkan perilaku tidak terdefinisi jikaLC_CTYPE
adalahja_JP.PCK
tapiLC_COLLATE
adalahen_US.UTF-8
.
Untuk menghindari perubahan luas sistem tanpa kebutuhan nyata, seseorang hanya dapat mengubah cara ls
berfungsi untuk pengguna saat ini dengan menambahkan alias ke .bashrc
:
alias ll='LC_COLLATE=C ls -alF'
Ini mengurutkan file dot terlebih dahulu, memungkinkan untuk menangani (menampilkan dan mengurutkan) kumpulan karakter "tidak biasa" dengan benar seperti cyrillic. Satu-satunya penyebab penyortiran akan peka huruf besar-kecil.
Sumber:http://ubuntuforums.org/showthread.php?t=816753
Daftar ls(1) halaman manual:
-v nomor (versi) alami dalam teks
Ini tampaknya mengubah cara periode diurutkan dan mengelompokkan dotfile terlebih dahulu. Saya punya:
alias ls='ls -vAF'
alias ll='ls -l'
di ~/.bashrc.
saya