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:

instagram viewer
  • * (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:

  1. <: Dosya içeriğini komuta yönlendirir. Örneğin, komut çıktısı için daha az .bashrc aynıdır daha az < .bashrc.
  2. >: Komut çıktısını dosyaya yönlendirir. Komuta ls /etc > listeler.txt çıktıyı listeler.txt dosyasına kaydeder.
  3. >>: 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.

Python ile Normal İfadeler için Başlangıç ​​Kılavuzu

Birkaç basit komutla Python iş akışınızı hızlandırmak ister misiniz? Düzenli ifadeler arkadaşınızdır.

Sonrakini Oku

PaylaşCıvıldamakE-posta
İlgili konular
  • Linux
  • Linux İlkokulu
  • Linux Bash Kabuğu
Yazar hakkında
Rumaisa Niazi (5 Makale Yayınlandı)

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.

Rumaisa Niazi'dan Daha Fazla

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