18.04'e yükselttikten sonra 'dosya adı' olarak gösterilen boşluğa sahip dosya isimleri


23

18.04'e yükselttikten sonra, 16.04'ten itibaren, boşluk içeren tüm dosya adları olarak gösterilir 'file name'. Önceden basitti file name. Boşluksuz dosya isimleri normal olarak gösterilir:

$ ls
 bar  'foo bar'

İşlevselliği hiçbir şekilde etkilemese de, bunu görsel olarak karışıklıkta buluyorum.

Ben bashkabuk olarak kullanıyorum .

''Dosya adlarının etrafındaki boşluklarla gösterilmesini nasıl kaldırabilirim ?


4
Neden bunları kaldırmak istiyorsunuz, bunlar dosya adının bir parçası değiller ve dosya adlarını komut satırında veya komut dosyalarında boşluklarla yönetmenize yardımcı olabilirler.
Soren

2
Dosya adının bir parçası olmadıklarını biliyorum. Ama onlar görsel karışıklık ve onlara ihtiyacım yok.
vidarlo

4
@ SorenA lsKomut dosyalarınızdaki dosyaları yönetmek için kullanıyorsanız , yanlış yaparsınız. Neden çıkışını ayrıştırmak olmamalıls ve niçin değil ayrıştırmak ls(ve hangi yerine yapmak)?
tatlılar

2
@ WinEunuuchs2Unix Yapıştırmayı kolaylaştırır, ancak cevabınız da belirtildiği gibi, terminale
çıkmadığınız

2
@ vidarlo lsYazar en azından bazı meseleleri ele alıyor. Yazarın Stack Exchange'e aktif olarak dahil olduğunu bilmek (cevabımdaki link), gelecekteki gelişmeleri daha kolay önerebilir. Ardından, diğer kullanıcıların yorumlarına yorum yazmaları önerileri uygulamaya teşvik eder.
WinEunuuchs2Unix

Yanıtlar:


33

Bu lsdavranış değişikliği 2016’dan ancak sonunda Ubuntu'ya girmeye başladı.

Eski davranışı geri almak için ls -N .

İsteğe bağlı olarak bir çevresel değişken kullanabilirsiniz:

QUOTING_STYLE=literal ls

O bir takma ad veya set yapın export QUOTING_STYLE=literaliçinde senin~/.bashrc eski davranışı elde etmek için .

Bunların ne zaman, nerede, neden ve nasıl gerçekleştiğinin tarihini içeren daha fazla ayrıntı için yukarıdaki bağlantıyı okuyabilirsiniz. Yeni davranışını haklı çıkardığı ls değişikliklerinin yazarı altında epeyce yorum var :

Değişimle ilgili birkaç nokta.

  • Coreutils v8.25'te tanıtıldı ve v8.26'da hizalama iyileştirildi
  • Sadece terminallere çıktığı zaman olur, bu yüzden scriptleri bozmaz
  • Beyaz boşluk içeren dosyalar için kullanıcılar için çıktıyı açıklamıyor
  • Çıktıyı sterilize eder, böylece kopyalayıp yapıştırmak güvenlidir
  • Çıktı artık her zaman kabuğa kopyalayıp yapıştırmak için geçerlidir
  • Kullanıcılar takma -Nadlarına ekleyerek eski biçime geri dönebilirlerls

12

O var lso çıkış, koşmak alıntı edilir:

ls -N

herhangi bir alıntı yapmadan çıktı almak için.

man ls

-N, - litre

giriş adlarını alıntı yapmadan yazdırma


İsterseniz takma ad:

echo "alias ls='ls -N'" >> .bashrc
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.