Linux'taki güçlü bash jokerleri

Güçlü bash joker karakterleri - 2.0

Shell joker karakter adı verilen bu küçük şeyler olmadan, Linux komut satırında çalışmak oldukça acı verici. Bu yüzden joker karakterleri iyi kullandığınızdan emin olun.

Kabuk joker karakterleri nelerdir? >

Joker karakterler komut satırını herhangi bir GUI dosya yöneticisinden çok daha güçlü kılan bir kabuk özelliğidir. Gördüğünüz gibi, bir grafik dosya yöneticisinde büyük bir dosya grubu seçmek istiyorsanız, genellikle bunları farenizle seçmeniz gerekir. Bu basit görünebilir, ancak bazı durumlarda çok sinir bozucu olabilir. Örneğin, çok sayıda dosya ve alt dizine sahip bir dizininiz olduğunu ve adlarının ortasında bir yerde "linux" kelimesi bulunan tüm HTML dosyalarını bu büyük dizinden başka bir dizin. Bunu yapmanın basit bir yolu nedir? Dizinde çok sayıda farklı adlandırılmış HTML dosyası varsa, göreviniz çok basittir!

Linux CLI'de bu görev, tek bir HTML dosyasını taşımak kadar basittir ve kabuk joker karakterleri. Joker karakterler, belirli karakter kalıplarıyla eşleşen dosya adlarını seçmenize izin veren özel karakterlerdir. Bu, yalnızca birkaç karakter yazarak büyük bir dosya grubunu bile seçmenize yardımcı olur ve çoğu durumda, dosyaları fareyle seçmekten daha kolaydır.

Bash'de en sık kullanılan joker karakterlerin bir listesi:

Wildcard Maçlar
* sıfır veya daha fazla karakter
? tam bir karakter
[ABCDE] tam olarak listelenen bir karakter
[Ae] verilen aralıktaki tam bir karakter
[! Abcde] listelenmeyen herhangi bir karakter
[! Ae] verilen aralıkta olmayan herhangi bir karakter
{Debianöncelikle Linux} verilen seçeneklerde tam olarak bir kelimenin tamamı

Joker karakterleri, dosya adlarını argüman olarak kabul eden herhangi bir komutla kullanabilirsiniz.

 

Joker karakterler örnekleri >

Birkaç örnek verelim. Muhtemelen * karakteri size zaten aşinadır, çünkü sadece Linux'ta değil, başka birçok yerde de yaygın olarak kullanılmaktadır. Örneğin, aşağıdaki her dosyayı geçerli dizinden kaldırır:
rm *

Aşağıdaki komut, adlarında "linux" kelimesi bulunan tüm HTML dosyalarını çalışma dizininden adlı bir dizine taşır. dir1:
mv *linux*.html dir1

Bakın, size birden fazla dosyayı taşımanın sadece bir dosyayı taşımak kadar basit olabileceğini söylemiştim!

Aşağıdakiler ile başlayan tüm dosyaları görüntüler. d ve ile bitmek .txt:
less d*.txt

Aşağıdaki komut, adları ile başlayan tüm dosyaları kaldırır. junk., ardından tam olarak üç karakter:
rm junk.???

Bu komutla, adları ile başlayan tüm dosyaları veya dizinleri listeleyebilirsiniz. hda, ardından tam olarak bir rakam:
ls hda[0-9]

Bu, ile başlayan tüm dosyaları veya dizinleri listeler. hda, ardından tam olarak iki rakam:
ls hda[0-9][0-9]

Aşağıda, adı ya da adıyla başlayan tüm dosya veya dizinler listelenmektedir. hd or sd, ardından arasındaki herhangi bir tek karakter a ve c:
ls {hd,sd}[a-c]

Bu komut, büyük harfle başlayan tüm dosyaları dizine kopyalar. dir2:
cp [A-Z]* dir2

Bu, bitmeyen tüm dosyaları siler ceh or g:
rm *[!cehg]

Bu örneklerle devam edip gidebilirim, ama sen anladın. Basit desenleri kullanabilir veya farklı joker karakterleri birleştirebilir ve çok karmaşık desenler oluşturabilirsiniz ve daha önce de söylediğim gibi, bunları dosya adlarını argüman olarak kabul eden herhangi bir komutla kullanabilirsiniz.