Bagaimana cara mendaftar folder dengan garis bawah terlebih dahulu?


23

Jadi hampir semua orang, sebelum menggunakan Ubuntu saya menggunakan mesin Windows, dan salah satu hal yang saya terbiasa di Windows adalah menggunakan garis bawah sebagai karakter pertama dari nama folder sebagai semacam tanda khusus sehingga akan menjadi muncul pertama kali pada daftar, baik di baris perintah dan file explorer.

Misalnya, di folder eBuku saya (di Windows) terlihat seperti ini:

_read
      Book1.pdf
      Book2.pdf
_reading
      Book3.pdf
Book4.pdf
Book5.pdf

tetapi di Nautilus Ubuntu tampilannya seperti ini:

Book4.pdf
Book5.pdf    
_read
      Book1.pdf
      Book2.pdf
_reading
      Book3.pdf

Apa yang terjadi adalah bahwa ia benar-benar mengabaikan garis bawah dan memperlakukan "_read" sebagai "baca" dan karenanya tidak mencantumkannya terlebih dahulu seperti yang diinginkan.

Saya telah mencoba mengatur variabel lingkungan LC_COLLATE ke C. Ini membantu entah bagaimana karena ini daftar garis bawah bersama-sama, tetapi di akhir, dan bukan di awal.

Terima kasih.


dapatkah Anda memasukkan tangkapan layar?
philshem

Kemungkinan duplikat askubuntu.com/questions/115741/... meskipun saya pikir jawaban @ maggotbrain lebih baik daripada yang disajikan di sana.
rudivonstaden

Jawaban:


16

Karena Anda belum menentukan lokal yang sedang Anda gunakan, solusi ini mengasumsikan bahwa Anda menggunakan en_US.UTF-8sebagai default Anda.

Anda dapat memeriksanya dengan menjalankan perintah localedari baris perintah ( Ctrl+ Alt+ t).

Sebagai contoh:

~ $ locale
LANG=en_US.UTF-8
LANGUAGE=en_US
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=

Variabel yang memengaruhi urutan penyortiran file disebut LC_COLLATE .

Menurut halaman bantuan Ubuntu , variabel LC_COLLATE menentukan "Bagaimana string (nama file ...) diurutkan menurut abjad. Menggunakan lokal" C "atau" POSIX "di sini menghasilkan urutan sortir strcmp (), yang mungkin berupa lebih disukai daripada bahasa-bahasa tertentu. "

Urutan pengurutan perlu diubah dari LC_COLLATE="en_US.UTF-8"menjadi LC_COLLATE=C.

Dari baris perintah ( Ctrl+ Alt+ t), masukkan:

update-locale LC_COLLATE=C

Penting: Anda harus keluar dari sistem Anda dan kemudian masuk kembali agar perubahan diterapkan .

Menjalankan localeperintah lagi, itu harus menunjukkan bahwa LC_COLLATEvariabel telah berhasil diubah. Menjalankan perintah ls -llagi harus mencerminkan perubahan ini.


1
Saya telah menetapkan LC_COLLATE ke C, seperti yang telah saya jelaskan di paragraf terakhir dari pertanyaan saya. Namun, saya mendapatkan hasil yang berbeda di terminal dan nautilus explorer dan saya telah me-reboot komputer untuk sementara waktu. Adakah yang tahu mengapa itu terjadi?
nunos

@nunos Apakah Anda memiliki alias untuk lsdi .bashrc?
Kevin Bowen

@nunos Menarik. Apa jenis sistem file yang Anda periksa ini? Satu-satunya tempat saya memiliki masalah dengan ls -lpengurutan adalah pada drive yang diformat ntfs yang tampaknya tidak menghormati variabel LC_COLLATE. Semua filesystem ext3 saya tampaknya menghargai pengaturan itu menggunakan perintah ls dan juga di Thunar dan Nautilus.
Kevin Bowen

mungkin itu masalahnya. Saya menggunakan ls -lperintah pada drive NTFS, karena saya memiliki dual boot dengan windows.
nunos

2
update-locale LC_COLLATE=Ctidak membantu mendapatkan folder dengan garis bawah di bagian atas daftar yang disortir jika Anda menggunakan huruf kapital di awal nama folder Anda!
malisokan

1

caja (dan saya pikir Nautilus sebelumnya) memiliki opsi di Preferensi untuk mengurutkan folder sebelum file. Apakah itu membantu?

Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.