Genel

Unix – Linux Kabukları (shell)

Neredeyse tüm insan icatlarının bir etkileşim/iletişim ara birimi bulunmaktadır. Araba, uçak, fayton, jakarlı tekstil makinesi, armül tezgah, sunucu, işletim sistemi vs. 

Nix sistemlerin iletişim ara birimi ise kabuktur. Bu uygulama, çeşitli komut veya parametrelerini girerek, belirli bir sonuç alabileceğimiz ortamı sağlar. Bir Unix veya Linux işletim sistemi çalışmaya başladığı andan itibaren, kapanana kadar çalışmayı sürdürür. İşletim sistemi açıldığında, login ekranını görüntüler ve kullanıcı adımızı yazdığımızda getty uygulaması “passwd” ekranını getirir. Getty uygulaması aslında, /dev dizininde bulunan tüm aygıt, medya veya kullanıcı oturumlarına “session” oluşturur. Passwd ekranında şifremizi girdikten sonra, getty /etc/passwd dosyasını tarar ve eşleşme gerçekleşirse, login uygulaması, passwd dosyasından aldığı ev dizinini tarayıp, bizi ev dizinimize yönlendirir. Kabuk ev dizininde bulunan, kullanıcıya özel dosyaları (.login, .history, .home vs) okur ve bize çalışma ortamımızı sağlar. Kullanıcı “ls” komutunu verdiğinde, kabuk “/usr/bin” dizininden bu komutu bize getirip, çıktıyı ekranımıza verir. 

(cron uygulaması, insan etkileşimi olmadan çalışmaktadır, bu sebeple cron ile çalıştıracağımız bir dosyada, kabuğu #!/bin/csh şeklinde yazmamız gerekir)

Aynı şekilde login uygulaması, passwd üzerinde tanımlanan kabuğa (csh, sh, tcsh vs) bizi yönlendirir.


Tüm kabuk sürümlerinde özel anlamlara sahip olan kelimeler/karakterler vardır. Kabuk programlamada do, done, for ve while gibi sözcükler döngüyü, if, then, else ve fi gibi sözcükler ise koşullu denetimi sağlar. Her kabuk sürümünün, kendine özgü ayrılmış sözcükleri bulunmaktadır.

Bağımsız değişken tanımlama 


Csh kabuğunda değişkeni şu şekilde tanımlarız

#set degiskenim=tanimladim#echo $degiskenimtanimladim

Kabuk Programlama
Kabuk bize bir çalışma ortamı sağladığı gibi, aynı zamanda bir programlama dilidir. Kabuğu bir yazım dili olarak kullanıp, sistemin yönetilmesini, gerekli işlemleri yapmasını, sistemin akışını sağlayabiliriz. 

Kabuk Çeşitleri

  • Bourne
  • Posix
  • C
  • Korn
  • TC
  • Bourne Again
  • Z
Bu konuda net bilgi sahibi değilim. Bazı kaynaklar sadece bash ve C kabuğu olduğunu, diğerlerinin türev olduğunu söylüyor, bazıları ise ana kabukların bunlar olduğunu diğerlerin türev olduğunu söylüyor. Şurada daha detaylı bilgiler yer alıyor. 
Not: Alışkanlıktan ziyada, kullanım kolaylığı, sağlıklı history’si, deneme ve düzenlemesinden ötürü varsayılan olarak C kabuğunu (csh) kullanıyorum. Kendime de C kabuğu ile ilgili notlar alacağım. Linux dağıtımlarında varsayılan olarak Bourne (bash) kabuğu kullanılmaktadır. Csh kullanmak istersek tcsh adlı kabuğu kurmamız gerekmektedir.

Bir cevap yazın

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir