Önce alt çizgi içeren klasörleri nasıl listelerim?


23

Yani hemen hemen herkes gibi, Ubuntu'yu kullanmadan önce bir Windows makinesi kullandım ve Windows'ta alıştığım şeylerden biri alt çizgiyi bir klasör adının ilk karakteri olarak kullanmaktı. hem komut satırında hem de dosya gezgininde listelemede ilk önce görünür.

Örneğin, e-Kitaplar klasörümde (Windows'ta) şöyle görünür:

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

ama Ubuntu'nun Nautilus'unda şöyle görünür:

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

Gerçek şu ki, alt çizgiyi tamamen görmezden geliyor ve "_read" i "okunuyor" olarak kabul ediyor ve bu nedenle ilk önce dilediği gibi listelemiyor.

LC_COLLATE ortam değişkenini C olarak ayarlamayı denedim. Bu, bir şekilde alt çizgiyi birlikte listelemesine yardımcı oluyor, ama sonunda, başında değil.

Teşekkürler.


ekran görüntüsü ekleyebilir misiniz?
philshem

@ Maggotbrain'in cevabının orada sunulan cevaptan daha iyi olduğunu düşünmeme rağmen , askubuntu.com/questions/115741/… 'nin muhtemel kopyası .
rudivonstaden

Yanıtlar:


16

Kullanmakta olduğunuz yerel ayarı belirtmediğiniz için, bu çözüm varsayılan olarak kullandığınızı varsayar en_US.UTF-8.

Bunu localekomut satırından ( Ctrl+ Alt+ t) komutunu çalıştırarak kontrol edebilirsiniz .

Örneğin:

~ $ 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=

Dosyaların sıralama düzenini etkileyen değişken LC_COLLATE olarak adlandırılır .

Göre Ubuntu yardım sayfalarında , LC_COLLATE değişken belirler "alfabetik sıralanır dizeleri nasıl (dosya isimleri ...) kullanma. 'Bir strcmp () burada sonuçları C' veya 'POSIX' yereli - hangi olabilir, sıralama sipariş gibi dile özgü yerel ayarlara tercih edilir. "

Sıralama düzeninin 'den' LC_COLLATE="en_US.UTF-8"e değiştirilmesi gerekiyor LC_COLLATE=C.

Komut satırından ( Ctrl+ Alt+ t) şunu girin:

update-locale LC_COLLATE=C

Önemli: Sisteminizden çıkmanız ve ardından değişikliklerin geçerli olması için tekrar giriş yapmanız gerekir .

localeKomutu tekrar çalıştırmak, LC_COLLATEdeğişkenin başarıyla değiştirildiğini göstermelidir. Komutu ls -ltekrar çalıştırmak bu değişikliği yansıtmalıdır.


1
Sorumun son paragrafında tanımladığım gibi, LC_COLLATE'i C'ye ayarlamıştım. Yine de hem terminalde hem de nautilus explorer'da farklı sonuçlar alıyorum ve bu arada bilgisayarı yeniden başlattım. Bunun neden olduğu hakkında bir fikrin var mı?
nunos

@nunos Do için herhangi takma adları belirledik lsGözlerinde farklı .bashrc?
Kevin Bowen

@nunos İlginç. Hangi dosya sistem tipini kontrol ediyorsunuz? ls -lSıralamada sorun yaşadığım tek yer , LC_COLLATE değişkenini onurlandırmayan ntfs formatlı bir sürücüde. Ext3 dosya sistemimin tümü, ls komutunu kullanarak ve Thunar ve Nautilus'taki bu ayara saygı duyuyor gibi görünüyor.
Kevin Bowen,

o zaman sorun çok iyi olabilir. Ben kullanıyorum ls -lben pencereli bir çift önyükleme beri, bir NTFS sürücüsünde komutu.
nunos

2
update-locale LC_COLLATE=CKlasör adlarının başında büyük harfler kullanıyorsanız, dizilmiş listenin en üstünde alt çizgi bulunan klasörleri almanıza yardımcı olmaz !
malisokan,

1

caja (ve bence ondan önce Nautilus) Tercihler'de klasörleri dosyalardan önce sıralama seçeneği var. Bu yardımcı olur mu?

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.