Linux Bash kabuğunun en güçlü özelliği, dosyalar üzerinde çalışma ve girdilerini ve çıktılarını verimli bir şekilde yeniden yönlendirme yeteneğidir. Linux, dosya arama ve komut bağlantısı açısından bir kabuk komutuna özel anlam katan metakarakterler olarak bilinen özel karakterler veya semboller kullanır.
Meta karakterler, Linux'ta dosyaların listelenmesi, kaldırılması ve kopyalanmasında yardımcı olur. Ancak, her meta karakterin işlevi, onu kullandığınız komuta bağlı olarak farklılık gösterir.
Bu makale, Linux'taki farklı meta karakter türleri hakkında ayrıntılı bir kılavuz sağlar. Son olarak, bu özel karakterlerin komutları bağlamaya ve genişletmeye nasıl yardımcı olduğunu açıklıyoruz.
Linux kabuğu, dosyalar veya dizin adları arasında meta karakterler kullanarak komut yazarken tuş vuruşlarını kaydetmenize olanak tanır. Bu karakterler, diğer etkinlikleri listelemek, taşımak veya gerçekleştirmek için bir dosya grubuna veya dizine başvurmanıza yardımcı olur.
Bunlar, Linux kabuğunun yorumlayabileceği bazı dosya eşleştirme meta karakterleridir:
- * (Yıldız): Bir karakterin tek veya birden çok örneğini eşleştirir
- ? (Soru işareti): Tek bir karakterle veya bir kalıp oluşumuyla eşleşir
- [ ] (Köşeli parantez): Köşeli parantezler içinde belirtilen tire ile ayrılmış herhangi bir sayı, sembol veya alfabe ile eşleşir
Linux'ta meta karakterleri pratik etmenin ideal bir yolu, içinde yeni bir boş klasör oluşturmaktır. /tmp dizin.
sudo mkdir /tmp/meta
Şimdi içine gidin /tmp/meta kullanarak dizin cd komutu ve dokunmayı kullanarak yeni boş dosyalar oluşturun, aşağıdaki gibi:
apple.txt elma şarabı.sh sirke.php cat.txt limon.txt meyve suyu.sh catfish.sh'ye dokunun
" test etmek için aşağıdaki komutları kullanın.*" meta karakter ve çıktıları göster:
ls c*
Çıktı:
catfish.sh cat.txt elma şarabı.sh
ls c*h
Çıktı:
kedi balığı.sh elma şarabı.sh
ls *r*
Çıktı:
elma şarabı.sh sirke.php
sudo rm *p*
Yukarıda belirtilen komut, adında "p" harfini içeren tüm dosyaları siler. ls komutunu kullanarak değişikliği aşağıdaki gibi doğrulayabilirsiniz:
ls
Çıktı:
catfish.sh cat.txt elma şarabı.sh meyve suyu.sh limon.txt
İşte bazı örnekler "?" kalıp eşleştirme için meta karakter:
mi?*
Çıktı:
elma.txt
c mı? T*
Çıktı:
catfish.sh cat.txt
Son komut, ile başlayan herhangi bir dosyayla eşleşir. C ve sahip T üçüncü harf olarak (cat.txt, catfish.sh, vb.).
şimdi kullan [av]* ile başlayan tüm dosyaları listelemek için ls komutuyla seçenek a veya v, aşağıdaki gibi:
ls [av]*
Çıktı:
apple.txt sirke.sh
Yalnızca harfle biten dosyaları listelemek için yukarıdaki komutu değiştirebilirsiniz. T:
ls [ac]*[t]
Çıktı:
apple.txt yayın balığı.txt kedi.txt
Benzer şekilde, aralıkları tanımlamak ve dosyaları aşağıdaki gibi listelemek için kısa çizgiyle ayrılmış harfleri kullanabilirsiniz:
ls [a-j]*
Çıktı:
apple.txt catfish.sh cat.txt elma şarabı.sh meyve suyu.sh
Bash'de yeniden yönlendirmeyi daha iyi anlamak için, Linux'taki her işlemin standart girdi olarak bilinen dosya tanımlayıcıları vardır (standart/0), standart çıktı (standart/1) ve standart hata (standart/2). Komut girişinin kaynağını belirler ve çıktının ve hata mesajlarının nereye gönderileceğine karar verirler.
Yeniden yönlendirme meta karakterleri, içerik G/Ç akışını yeniden yönlendirerek bu eylemleri değiştirmenize yardımcı olur. Genel olarak, Linux kabuğu klavyeden komut girdisini okur ve çıktıyı ekrana yazar. Giriş yeniden yönlendirmesi, komutun içeriği klavye yerine bir dosyadan okumasına izin verirken, çıkış yeniden yönlendirmesi, komut çıktısını bir dosyaya kaydeder.
Başka bir deyişle, Linux dosya yeniden yönlendirme meta karakterleri, içeriği (>) ve (<) dosyalar. Üç birincil yeniden yönlendirme meta karakteri şunlardır:
- <: Dosya içeriğini komuta yönlendirir. Örneğin, komut çıktısı için daha az .bashrc aynıdır daha az < .bashrc.
- >: Komut çıktısını dosyaya yönlendirir. Komuta ls /etc > listeler.txt çıktıyı listeler.txt dosyasına kaydeder.
- >>: Komut çıktısını dosya içeriğine ekler.
wc kelime sayımı anlamına gelir ve onu çıktıya eklemeden önce ve sonra dosya arasındaki farkı görüntülemek için kullanabilirsiniz.
İlişkili: Linux'ta Standart G/Ç'yi Anlamak
Ayraç genişletme meta karakteri, karakterleri dizinler, dosya adları veya diğer komut satırı bağımsız değişkenleri arasında genişletmenize olanak tanır. Örneğin, yeni bir dizin oluşturabilirsiniz. ayraç içinde /tmp klasörünü açın ve aşağıdaki gibi touch komutunu kullanarak bir dizi dosya oluşturun:
sudo mkdir /tmp/brace; cd /tmp/brace
dokunma testi{1,2,3,4,5}
Artık dosyaları touch'ın oluşturup oluşturmadığını veya ls komutunu kullanarak kontrol edebilirsiniz.
ls
Çıktı:
test1 test2 test3 test4 test5
Listedeki öğelerin kombinasyonlarına dayalı olarak dosya adları oluşturmak için birden çok liste belirleyebilirsiniz. Örneğin:
{elma, elma şarabı, sirke}'ye dokunun.{meyve, sıvı, ekşi}
{a, b, c}'ye dokunun.{1,2,3}
Son komut, geçerli dizinde aşağıdaki dosyaları oluşturacaktır:
İlk komut, her kümedeki dosya adlarını diğeriyle ilişkilendirmek için iki küme parantez kullanır. Son komutu şu şekilde de yazabilirsiniz: {a..c}'ye dokunun.{1..3} a ve c ile 1 ve 3 arasındaki aralığı belirtmek için.
Dosya oluşturmaya ek olarak, dosyaları kaldırmak veya başka konumlara kopyalamak için ayraç genişletmeyi de kullanabilirsiniz.
Komut bağlantısı ve genişletme için bilinmesi gereken bazı meta karakterlerin adları, açıklamaları ve uygulama örnekleriyle birlikte bir tablosu:
İsim | Açıklama | Örnek |
---|---|---|
Boru (|) | Komut çıktısını diğer komuta girdi olarak bağlar. | kedi /etc/passwd | grep kökü |
noktalı virgül (;) | Birbiri ardına sıralı komutların yürütülmesine izin verir. | cd /vb; ls -la; chmod +x /tmp/script.php |
Ve işareti (&) | İşlemleri veya komutları arka planda çalıştırır. | bul / -perm -u=s -type f & |
Dolar ($) | Aritmetik ifadeyi genişletir ve kabuğa iletir | echo "bu dizindeki toplam dosya sayısı: $(ls | wc -l)" |
Boş Yönlendirme (2>) | Standart hata mesajlarını /dev/null dosyasına yönlendirir | senin_komut 2>/dev/null |
Dairesel fleks (^) | ^ ile devam eden ifadeyle başlayan herhangi bir kalıpla eşleşir | cd /etc/ssh; l | grep ^s |
Linux meta karakterleri, komutlara özel anlam katan ve davranışlarını kontrol eden joker karakterler olarak da bilinir. Meta karakterler, dosyalar/dizinler üzerinde çalışırken ve Linux kabuk komutlarını bağlarken/genişletirken üretken bir ortamda bir kullanıcının çalışma performansını optimize eder.
Ayrıca meta karakterler de düzenli ifadelerin yapı taşlarıdır. Ayrıca, Linux yanlısı bir kullanıcı olmak istiyorsanız, meta karakterleri ve bunların kullanımını öğrenmek, sahip olmanız gereken önemli bir beceridir.
Birkaç basit komutla Python iş akışınızı hızlandırmak ister misiniz? Düzenli ifadeler arkadaşınızdır.
Sonrakini Oku
- Linux
- Linux İlkokulu
- Linux Bash Kabuğu
Rumaisa, MUO'da serbest yazar. Bir Matematikçiden Bilgi Güvenliği meraklısına kadar pek çok şapka taktı ve şu anda bir SOC Analisti olarak çalışıyor. İlgi alanları arasında yeni teknolojiler, Linux dağıtımları ve Bilgi Güvenliği ile ilgili her şey hakkında okuma ve yazma yer almaktadır.
Haber bültenimize abone ol
Teknik ipuçları, incelemeler, ücretsiz e-kitaplar ve özel fırsatlar için bültenimize katılın!
Abone olmak için buraya tıklayın