Hangi dosyaların görüntüleneceğini kontrol etme


10

Kısa bir süre önce dosya adına bir nokta ekleyerek yedek dosyaları gizlemek için emacs yapılandırmamı değiştirdim. Bu beni düşündürdü - Bash içindeki davranışı, hangi dosyaların gizleneceği için keyfi globlar listesi kullanmak üzere değiştirmenin hazır bir yolu var mı? Bash ve ls man sayfalarının hızlı bir şekilde taranması hiçbir şey yapmadı.


Yani, lsile başlayan ignore-veya biten tüm dosyaları yoksay .bak?
Kevin

Evet, tercihen joker desen eşleştirmesi de yapabilme özelliğiyle - * .bak vb. Yoksay
Tim Brigham

Yanıtlar:


9

ls--hide=PATTERNistediğinizi yapıyormuş gibi görünen bir seçenek vardır ve bunları -aveya ile göstermek için geçersiz kılınabilir -A. Bunun otomatik olarak yapılmasını istiyorsanız, ~/.bashrc(veya büyük olasılıkla bunun için zaten bir takma ad varsa) takma adı ekleyin.

$ touch {a,b,c}-{1,2,3}
$ ls
a-1  a-2  a-3  b-1  b-2  b-3  c-1  c-2  c-3
$ ls --hide=a*
b-1  b-2  b-3  c-1  c-2  c-3
$ ls --hide=*1
a-2  a-3  b-2  b-3  c-2  c-3
$ ls --hide=a*1
a-2  a-3  b-1  b-2  b-3  c-1  c-2  c-3
$ ls --hide=a*1 -A
a-1  a-2  a-3  b-1  b-2  b-3  c-1  c-2  c-3

Ayrıca ve seçenekleri --ignore=PATTERNtarafından geçersiz kılınmayan bir de vardır .-a-A


Cevabınız için teşekkürler, sadece bir sorum var: neden ls --hide=*1 a*hiçbir şeyi gizlemiyorsunuz, ama yine de üçünü de listeliyorsunuz a-1 a-2 a-3? Ben gizlemek için umuyordum a-1?
sdaau

1
a*Kabuk tarafından genişletilmiş ve şunları içerir a-1. Gizle seçeneği, açıkça argüman olarak adlandırılan dosyaları yok saymaz.
Kevin

0

İşte benim takma ad ls:

alias ls="ls --color=auto --hide='*~' --hide='#*#'"

Gizler dosyaları gibi O backup.c~ve #autosave.h#. (Ve benim gibi düşündüm, renkleri seviyorum, bu yüzden de öyle.)

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.