Merhaba arkadaşlar,
Konumuz unix kabukları ve bunların özellikleri
ilk önce unix nedir ?
unix bir işletim sistemidir.
Peki kabuk nedir sorusuna gelicek olursak onuda şöyle açıklayabiliriz;
Kabuklar kullanıcıların sistem ile etkileşimini sağlayan programlardır. Bu programlar sayesinde kullanıcı istediği komutları çalıştırabilir ve sonuçları görebilir.
Sisteme girdiğiniz anda kabuk programı çalıştırılır. Bu andan sonra yapacağınız tüm işlemler bu kabuk programı tarafından yönetilir ve denetlenir. Kabuk, klavyeden girilen komutları çalıştırarak bir arabirim görevi yapar. UNIX (ve Linux) altında geliştirilen birçok kabuk çeşidi ve bunların herbirinin kendine ait özelliği vardır.
bunu basit bir örnekle açıklayabiliriz.Elma'nın çekirdeği'ni düşünün kabuk ile çekirdeğin iletişimini sağlar.Arayüz de diyebiliriz,çekirdek ile iletişimimizi sağlar.
Kabuklara çeşitlerine (popüler ve yaygın olanlar) geçicek olursak şöyle sıralayabiliriz;
Tcsh Kabuğu:
Tcsh kabuğu açık kaynak kodu Berkeley UNIX sistemlerdeki csh kabuğunun gelişmiş halidir. Csh kabuğunun kullanıldığı tüm sistemlerde sorunsuzca kullanılabilir. Tcsh kabuğu zsh kabuğu gibi görsel giriş kabuğu ve kabuk script komut işlemcisi olarak kullanılır. Ayrıca bu kabuk diğer birkaç kabukla benzer olarak komut düzenleme satırına, yazım denetim özelliğine, komut tamamlama özelliğine, geçmiş inceleme özelliğine ve görev kontrol arabirimine sahiptir. Bu sıralanan özellikler tcsh kabuğunu benzeri olan csh kabuğundan ayıran belli başlılarıdır. Ayrıca bu kabukla birlikte dahil edilen TENEX ve TOPS-20 işletim sistemlerinin özellikleri tcsh içindeki T'den sorumludur.Kısaca nedir:Csh kabuğunun gelişmiş halidir. Dosya ve komut tamamlama desteğini içerir
Tcsh Kabuğunun Kullandığı sistem dosyaları:
Kod:
[COLOR="Lime"]/etc/csh.cshrc
/etc/csh.login
~/.tcshrc
~/.cshrc
~/.history
~/.login
~/.cshdirs
/etc/csh.logout
~/.logout
/bin/sh
/tmp/sh*
/etc/passwd[/COLOR]
Zhs Kabuğu
Zsh kabuğu UNIX sistemlerde genel olarak görsel giriş kabuğu ve kabuk script komut işlemcisi olarak kullanılır ve BASH kabuğu gibi POSIX uyumludur. UNIX kabuklarının standartları göz önüne alıdığında, ilk olarak zsh kabuğu ile ksh kabuğunun çok benzer olduğu izlenimi oluşabilir, fakat zsh kabuğu ksh'tan farklı olarak komut düzenleme satırına sahiptir, yazım denetim özelliği de yine bu kabuğu Ksh'tan ayıran diğer bir özelliktir. Programlanabilir komut tamamlama, başlangıçta otomatik yüklenen kabuk fonksiyonları ve geçmiş kayıt özelliğinin bulunması bu kabuğu benzerlerinden ayıran en temel farklarındandır. Ayrıca zsh kabuğu ilk Mac OS X sistemlerinde varsayılan kabuk olarak kullanılmıştır. Ancak şu anda bu sistemlerde ki varsayılan kabuk BASH kabuğudur.Zsh Kabuğunun Kullandığı Sistem Dosyaları:
Kod:
[COLOR="Lime"]$ZDOTDIR/.zshenv
$ZDOTDIR/.zprofile
$ZDOTDIR/.zshrc
$ZDOTDIR/.zlogin
$ZDOTDIR/.zlogout
${TMPPREFIX}*
/etc/zshenv
/etc/zprofile
/etc/zshrc
/etc/zlogin
/etc/zlogout[/COLOR]
Ksh Kabuğu
KSH kabuğu Sh kabuğunun temelini oluşturur, görevi ise; açık kaynak kodunu ve komutları kullanarak, bu girilen komutları Linux terminalinden yada dosyadan okumayı hedefler. RKSH, ksh kabuğunun sınırlı versiyonudur, bu kabuk sisteme kullanıcı atanmasında ve bu kullanıcıların yetkilerinin kontrol edilmesinde rol alır. Rpfksh ise , ksh kabuğunun azaltılarak özetlenmiş hali olarak tanımlanabilir. Bu kabukta kullanıcının kendi profilinde yaptığı değişiklikleri yada girdiği komutları kullanıcının kendi profiline işlemesiyle sorumludur. Rpfksh rpm tabanlı sistemlerde varsayılan olarak bulunur.
kısaca nedir: sh uyumlu, birçok ek programlama özelliği içeren bir kabuk. Bu kabuk da yaygın bir kitle tarafından kullanılıyor.
Ksh Kabuğunun Kullandığı Sistem Dosyaları:
Kod:
[COLOR="Lime"]/etc/passwd
/etc/profile
/etc/suid_profile
$HOME/.profile
/tmp/sh*
/dev/null[/COLOR]
Bash Kabuğu
Ve en popüler olan kabuk ise Bash'dır.
Bash, sh'ın hemen hemen tüm özelliklerini ve Korn kabuğu olan ksh ile C kabuğu olarak bilinen csh'ın kullanışlı özelliklerini bir araya getirir.Unix türevlerinde kullanılan temel kabuklardan olan sh ile uyumlu ve bir çok ek özelliği bulunan bir kabuktur. En önemli özelliklerinden biri dosya ve komut isimlerini tamamlayabilme yeteneğidir. Çoğu linux dağıtı ile beraber varsayılan kabuk olarak kullanılır.
Bash Kabuğunun Kullandığı Sistem Dosyaları:
Kod:
[COLOR="Lime"]/bin/bash
/etc/profile
~/.bash_profile
~/.bashrc
~/.bash_logout
~/.inputrc[/COLOR]
KABUK İŞLEMLERİ (Shell=Kabuk)
İlk önce hangi kabuğu kullandığımızı öğrenelim.Terminale gelip
komutunu yazıyoruz.Ben "/bin/bash" yani bash kabuğunu kullanıyorum
Şimdide hangi kabukları kullanabilirim sorusuna geçelim.Terminale gelip
komutunu yazıyoruz,ve karşımıza kullanabileceğimiz kabuklar geliyor.
Peki biz kabuğumuzu nasıl değiştireceğiz?
terminale gelip
yazıyoruz,bizden kullanıcı parolamızı istiyor giriyoruz
Kod:
echo $SHELL
Şimdide hangi kabukları kullanabilirim sorusuna geçelim.Terminale gelip
Kod:
cat /etc/shells
Peki biz kabuğumuzu nasıl değiştireceğiz?
terminale gelip
Kod:
chsh
enter yaptıktan sonra,şuanki kullandığımız kabuğu gösteriyor bize,kullanmak istediğimiz kabuğu yazıyoruz sonrasında
/bin/sh , hangi kabuğu kullanmak istiyorsak "sh" yerine o kabuğun ismini yazıyoruz,enter yaptıktan sonra o kabuğa geçmiş bulunmaktayız.
BASH KABUĞU VE ÖZELLİKLERİ
Şimdi en çok kullanılan BASH kabuğunun özelliklerini tanıyalım biraz
İlk özellikten kısaca bahsediyim,komut tamamlama özelliği,örnek vericek olursak
terminale "a" yazıyoruz, 2 kere TAB tuşuna basınca "a" ile başlayan komutları sıralıyor.
terminale "a" yazıyoruz, 2 kere TAB tuşuna basınca "a" ile başlayan komutları sıralıyor.
Alias Komutu
İkinci özelliğimiz ise "Alias" komutu
Alias komutu uzun komutları kısaltmaya ve zamandan kazanmaya yarar.
bunu bir nevi klavye,maus'a makro atamak gibi düşünebilirsiniz,örnek olarak
Alias komutu uzun komutları kısaltmaya ve zamandan kazanmaya yarar.
bunu bir nevi klavye,maus'a makro atamak gibi düşünebilirsiniz,örnek olarak
Kod:
alias c='clear'
uzun komutlar için gayet kullanışlı olabiliyor.
Örnekler
Kod:
alias yükle='sudo apt-get install'
alias update='sodu apt-get update'
Kod:
unalias silinecek_alias
Alias'ları kalıca hale getirme
Şimdi gelelim asıl önemli kısma oluşturduğumuz alias komutlarını kalıcı yapalım. Normalde alias komutları terminal oturumu sona erdiğinde sıfırlanır ve yeniden tanımlamak zorunda kalırız. Eğer komutlarımızın(aliasların) kalıcı olmasını istiyorsanız. Kök dizinimizdeki .bashrc dosyasını düzenlemeliyiz. Dosyayı aşağıdaki komutla açabiliriz.(Ben gedit kullandığım için gedit yazdım siz hangi editörü kullanıyorsanız onunla açabilirsiniz)
Kod:
gedit ~/.bashrc
İyi günler dilerim..