Nedir?​

Kabuk – Shell; ama bundan sonra yazıda sadece “kabuk” yazacağım – kullanıcının işletim sistemiyle etkileşime geçmesini mümkün kılan ve verilen komutların yorumlanarak icra edilmesinden sorumlu olan bir hizmet programıdır?

UNIX Kabukları​

Kabuk, doğrudan işletim sistemine entegre olmadığı için, zamanla çeşitli kabuk türleri geliştirilmiştir:

Bourne Kabuğu (sh)​

Steven Bourne'un adını taşıyan, ünlü ve neredeyse en çok kullanılan bir kabuktur. Bash – Bourne Again Shell, yani bir kelime oyunu içerir – Linux'ta en popüler olan gelişmiş bir türüdür.

C-Shell (csh)​

Berkeley'de geliştirilen ve daha C'ye benzeyen bir sözdizimini kullanan bir kabuktur. C-Shell'in geliştirilmiş bir versiyonu ise tcsh'tir.

Bash Kabuğu (bash)​

Gelişmiş Bourne Kabuğu olup birçok sistemde standart olarak kullanılır.

Her kabuk, kullanıcı tanımlı değişkenlerle genişletilebilen bir dizi sistem değişkeni içerir. Bu değişkenler, kabuk içinde çalışan programların işlem ortamını oluşturur.

Ayrıca, kabuk, kabuk betikleri aracılığıyla – sistem – programları çalıştırmak için kullanılabilir.

Kabuk Betikleri (Shell Scripts)​

Kabuk betikleri, UNIX komutları ve kabuk özgü program yapılarını – örneğin şubeler, döngüler, vs. – İçeren küçük metin tabanlı programlardır. Bu betikler, UNIX komutları gibi çalışır; ancak metin formatındadır - yani ikili değildir. Kabuk, bu betikleri yorumlar.

Kabuk betiklerinin sözdizimi, kabuktan kabuğa önemli ölçüde farklılık gösterir.

Bazı kabuk betikleri belirli koşullar altında otomatik olarak çağrılır:
  • .profile ve/veya .login, varsa giriş yapıldığında - yani giriş kabuğu için - bir kez çalıştırılır.
  • .bashrc ve .cshrc, /.tcshrc, sırasıyla yeni bir bash veya csh/tcsh açıldığında çağrılır.

Girdi ve Çıktı Yönlendirme​

Tüm UNIX komutları, veri okumak ve veri çıkarmak için girdi ve çıktı kanallarını kullanır. Genellikle, bu kanallar kullanıcının klavyesi ve ekrana atanmıştır.

Bu standart kanallar, kabuk içinde yeniden yönlendirilebilir; böylece bir komut doğrudan bir dosyadan okuyabilir – klavyeden değil – ve/veya bir dosyaya yazabilir – ancak ekrana değil. Yeniden yönlendirme için > karakteri – dosyaya yazma için – ve < karakteri –girdi için – kullanılır. >> ile, çıktı mevcut bir dosyaya eklenir. Dosya mevcut değilse, bu komut > gibi davranır.

Pipe'lar​

Birçok UNIX komutu, filtre olarak bilinen bir şekilde işlev görür: Bunlar standart girdiden okur ve standart çıktıya yazar. Bu sayede, komutların çıktıları birbirine bağlanabilir – yani pipe – ve bir komutun çıktısı diğer bir komutun girdisi olarak kullanılabilir.

Pipe'lar – | karakteri kullanılarak – komut satırında komutlar arasında oluşturulur. Bir dosyaya yeniden yönlendirme – > veya >> karakteri – sadece bu tür bir zincirin sonunda yapılabilir.
 
Biyografindeki GIF'lere bayildim. :) Yazi da super, ellerine saglik.
vim.vialle.love.anim.gif