0Pricing
Linux Command Line & Bash Scripting Mastery · Ders

Kabuk Genişletme ve Glob Kalıpları

Kabukta komutların nasıl genişletildiğini; küme parantezi genişletmesini, tilde genişletmesini ve dosya adı glob kalıplarını anlayın.

Kabuk Genişletme ve Glob Kalıpları, CoddyKit'te ücretsiz bir Linux Command Line & Bash Scripting Mastery dersidir. Bu, 4 dersinin 2. dersidir. Aşağıdan dersin tamamını ücretsiz okuyabilir, sonra tarayıcıda yerleşik kod editörü ve 7/24 yapay zeka koçu ile uygulamalı olarak pratik yapabilirsin. Bu, Linux Command Line & Bash Scripting Mastery öğrenme yolunun bir parçasıdır ve ilerlemeniz web ve CoddyKit uygulaması arasında senkronize olur. Linux Command Line & Bash Scripting Mastery kursu toplamda 4 dersten oluşur.

Kabuk Genişletmesi Nedir?

Linux'ta kabuk, sizinle işletim sistemi arasında çevirmen gibi çalışır. Kabuk, komutunuzu çalıştırmadan önce genellikle genişletme adı verilen bir tür "sihir" gerçekleştirir.

Kabuk genişletmesi, kabuğun komutunuzdaki özel karakterleri veya desenleri bulup başka bir şeyle değiştirmesi demektir. Bu işlem, komut gerçekten yürütülmeden önce gerçekleşir; böylece daha az yazmanız ve komutların daha güçlü hâle gelmesi sağlanır!

Tilde ile Ev Dizininiz `~`

Tilde (~) genişletmesi, son derece kullanışlı bir kısayoldur. Otomatik olarak geçerli kullanıcınızın ev dizinine genişletilir.

/home/yourusername yazmak yerine yalnızca ~ kullanabilirsiniz. Bu, ev klasörünüzdeki dosyalara gitmek veya bu dosyalara başvurmak için özellikle kullanışlıdır.

echo ~
echo ~/Documents

Diğer Kullanıcılar için Tilde

Tilde yalnızca kendi ev dizininiz için kullanılmaz! Başka bir kullanıcının ev dizinine başvurmak için de kullanabilirsiniz.

~username yazarak kabuğun bunu belirtilen "username" kullanıcısının ev dizinine genişletmesini sağlayabilirsiniz. Bu, paylaşılan dosyalara veya yapılandırmalara erişmek için oldukça kullanışlıdır.

  • ~root, /root olarak genişletilir
  • ~guest, /home/guest olarak genişletilir

Süslü Parantez Genişletmesi `{}`

Süslü parantez genişletmesi, istediğiniz dizeleri oluşturmanızı sağlar. Hepsini tek tek yazmadan tek bir desenden birden çok öğe oluşturmanın hızlı bir yoludur.

Kabuk, süslü parantezlerin {} içindeki içeriği ayrı sözcüklerden oluşan bir listeye genişletir. Bu özellik, benzer adlara sahip dosyalar veya dizinler oluşturmak ya da birden çok öğe üzerinde komut çalıştırmak için çok kullanışlıdır.

echo {apple,banana,cherry}

Süslü Parantez Aralıkları

Sayı veya harf dizileri oluşturmak için de süslü parantez genişletmesini kullanabilirsiniz. Bunun için süslü parantezlerin içinde .. ile ayrılmış iki öğe kullanılır.

Kabuk, dizideki tüm öğeleri oluşturur. Böylece numaralandırılmış dosyalar veya dizinler oluşturmak ya da bir değerler kümesi üzerinde yineleme yapmak kolaylaşır.

echo file_{1..3}.txt
echo {a..c}_report.log

Joker Karakter Eşleştirmeye Giriş

Joker karakter eşleştirme, kabuğun özel joker karakterler kullanarak dosya adlarını ve yol adlarını eşleştirme yöntemidir. Dosyaları bulmak için bir "arama deseni" kullanmaya benzer.

ls *.txt gibi bir komut yazdığınızda kabuk, *.txt ifadesini ls komutuna göndermez. Bunun yerine *.txt ifadesini geçerli dizindeki eşleşen tüm dosyaların listesine genişletir ve ardından bu listeyi ls komutuna aktarır.

Tümüyle Eşleştirme `*`

Yıldız işareti (*) en yaygın joker karakterdir. Bir dosya adında sıfır veya daha fazla karakterle eşleşir.

Herhangi bir karakter dizisiyle eşleştirmek için kullanabilirsiniz. Bu da adlarının belirli bölümlerine göre dosya seçerken onu son derece esnek hâle getirir.

mkdir -p glob_test
touch glob_test/report.txt glob_test/image.jpg glob_test/document.pdf
echo "Files ending in .txt:"
ls glob_test/*.txt
rm -rf glob_test

Tek Karakter Eşleştirme `?`

Soru işareti (?) joker karakteri tam olarak bir karakterle eşleşir.

Bu özellik, eşleştirmek istediğiniz dosya adı bölümünün tam uzunluğunu bildiğiniz ancak karakterin kendisini bilmediğiniz durumlarda kullanışlıdır.

mkdir -p glob_test
touch glob_test/file1.log glob_test/file2.log glob_test/fileA.log
echo "Files matching file?.log:"
ls glob_test/file?.log
rm -rf glob_test

Belirli Karakterler `[]`

Belirtilen karakter kümesindeki herhangi bir tek karakterle eşleşmek için köşeli parantezleri ([]) kullanabilirsiniz.

Bu, ? işaretinden daha hassas bir eşleştirme sağlar. Tek tek karakterleri listeleyebilir veya bir aralık belirtebilirsiniz (örneğin, herhangi bir küçük harf için [a-z], herhangi bir rakam için [0-9]).

mkdir -p glob_test
touch glob_test/photoA.png glob_test/photoB.png glob_test/photoC.png glob_test/photoD.png
echo "Files matching photo[A-C].png:"
ls glob_test/photo[A-C].png
rm -rf glob_test

Joker Karakter Eşleştirme Birleşimleri

Güçlü dosya seçimleri yapmak için farklı joker karakter desenlerini ve hatta süslü parantez genişletmesini birleştirebilirsiniz.

Kabuk, bu genişletmeleri soldan sağa işler ve tam olarak ihtiyacınız olanla eşleşen karmaşık desenler oluşturur.

mkdir -p glob_test
touch glob_test/data_01.csv glob_test/data_02.txt glob_test/data_a.log glob_test/info_01.txt
echo "Files matching data_[0-9]*.{txt,csv}:"
ls glob_test/data_[0-9]*.{txt,csv}
rm -rf glob_test

Hızlı Kontrol

Aşağıdaki komutlardan hangisi report1.doc, report2.doc ve report3.doc adlı dosyaları listeler, ancak reportA.doc dosyasını listelemez?

Özet ve Sonraki Adımlar

Harika iş çıkardınız! Kabuk, komutları çalıştırılmadan önce nasıl genişlettiğini öğrendiniz. Bu "sihir", komut satırındaki çalışmalarınızı çok daha verimli hâle getirir.

  • Tilde Genişletmesi (~): Ev dizinleri için bir kısayoldur.
  • Süslü Parantez Genişletmesi ({}): Özel dizeler veya diziler oluşturur.
  • Joker Karakter Eşleştirme (*, ?, []): Güçlü, desen tabanlı seçim için dosya adlarını joker karakterlerle eşleştirir.

Bu genişletmeleri anlamak, etkili ve kısa komutlar yazmanın temelidir. Bunları kullanarak pratik yapmayı sürdürün!

Sıkça Sorulan Sorular

“Kabuk Genişletme ve Glob Kalıpları” dersi ücretsiz mi?

Evet — “Kabuk Genişletme ve Glob Kalıpları” dersin tüm metni burada web'de ücretsiz olarak okunabilir. Etkileşimli olarak pratik yapmak (yerleşik kod editörü ve 7/24 yapay zeka koçu) ve Linux Command Line & Bash Scripting Mastery kursunun geri kalanını açmak için CoddyKit PRO'ya yükselt. Linux Command Line & Bash Scripting Mastery kursu toplamda 4 dersten oluşur.

“Kabuk Genişletme ve Glob Kalıpları” dersinde ne öğreneceğim?

Kabukta komutların nasıl genişletildiğini; küme parantezi genişletmesini, tilde genişletmesini ve dosya adı glob kalıplarını anlayın. Linux Command Line & Bash Scripting Mastery ile uygulamalı kodu tarayıcıda doğrudan çalıştırarak pratik yaparsın ve 7/24 yapay zeka koçu dersi çalışırken sorularını yanıtlar.

Linux Command Line & Bash Scripting Mastery öğrenmeye başlamak için deneyim gerekli mi?

Önceden deneyim gerekmez. CoddyKit'te Linux Command Line & Bash Scripting Mastery, başlangıçtan ileri seviyeye kadar yapılandırıldığı için buradan başlayabilir veya başından başlayıp kendi hızında ilerleme yapabilirsin. Bu, 4 dersinin 2. dersidir.

“Kabuk Genişletme ve Glob Kalıpları” dersi ne kadar sürer?

Çoğu CoddyKit dersi yaklaşık 5–10 dakika sürer. Her biri kısa ve etkileşimli olduğu için sabit ilerleme yaparsın ve web ile uygulama arasında tam olarak bıraktığın yerden devam edebilirsin.

Bu Linux Command Line & Bash Scripting Mastery dersinde kod yazıp çalıştırabilir miyim?

Evet. Her Linux Command Line & Bash Scripting Mastery dersi yerleşik bir kod editörü içerir, bu sayede tarayıcıda gerçek kod yazıp çalıştırabilir ve anlık yapay zeka geri bildirimi alırsın — yerel kurulum gerekli değildir.

Bu kursun tüm dersleri

  1. İş Denetimi (bg, fg, jobs)
  2. Kabuk Genişletme ve Glob Kalıpları
  3. Takma Adlar ve Özel İstemler
  4. Kabuk İşlevleri ve Yeniden Kullanılabilir Kod Parçaları
← Linux Command Line & Bash Scripting Mastery Sayfasına Dön