200 likes | 347 Views
Kabuk ve Kısayollar -I. Kabuk (Shell) Nedir?. Kabuk, kullanıcıların sistem ile etkileşimlerini sağlayan bir uygulama programı, bir arayüzdür. Bu program sisteme oturum açıldığında belleğe yüklenir.
E N D
Kabuk (Shell) Nedir? • Kabuk, kullanıcıların sistem ile etkileşimlerini sağlayan bir uygulama programı, bir arayüzdür. Bu program sisteme oturum açıldığında belleğe yüklenir. • Sistemde geçerli olan kabukların listesi, /etc/shells dosyasında tanımlanmıştır. Linux sistemlerde en çok kullanılan kabuk BASH (Bourne Again Shell) idr. Linux sistemlerdeki kabuk çeşitliliği Unix tabanlı sistemlerdeki gelişimin bir sonucudur.
Kabuklar • Aktif Kullanılan Kabuk: Hangi kabuğu kullandığınızı echo $SHELL komutunu yürüterek öğrenebilirsiniz. • Kullanılan kabuğun değiştirilmesi: Oturum açıldığında kullanılacak kabuğu kalıcı olarak chsh komutu ile değiştirebilrsiniz. Yapılan değişiklik /etc/passwd dosyasındaki ilgili alana yazılır ve bir sonraki oturumda etkin olur.
Kabuğun Görevleri • Program Yürütme • Değişken ve İsim Yerine Koyma • Giriş/Çıkış Yönlendirme • Çevre Yönetimi • Yorumlayıcı Programlama Dili
Çevre Değişkenleri • Kabuğun içinde bulunduğu ortamla ilgili bilgileri içerir. Bu değişkenlerin bazıları sonradan kullanıcılar tarafından ihtiyaçları doğrultusunda değiştirilebilir. Bir genelleme yapmak gerekirse çevre değişkenleri • Sistem tanımlı özel kabuk çevre değişkenleri • Yeniden tanımlanabilen sistem öntanımlı özel kabuk çevre değişkenleri • Kullanıcı tanımlı kabuk değişkenleri olmak üzere üç gruba ayrılabilirler. • Ortak özellikler olarak çevre değişkenleri büyük harflerle tanımlanmışlardır. Bu değişkenlerin listesi set komutu yürütülerek görülebilir.
Önemli Çevre Değişkenleri • OSTYPE:Bourne Again Shell’in üzerinde çalıştığı işletim sistemini tanımlayan bir karakter dizisini otomatik olarak atadığı bir çevre değişkenidir. • LANG:Sistem mesajlarının hangi dilde verileceği bilgisini tutan çevre değişkenidir. • TERM: Geçerli olarak kullanılan terminal ismini tutan çevresel değişkendir. • HOME: Kullanıcının ev dizininin dosya sistemindeki yerini tutan çevre değişkenidir. Kullanıcı hesabında belirlenip oluşturulan ev dizini bilgisi sabittir. Kullanıcı oturum açtığında ev dizini yolu bu değişkene otomatik olarak atanır. • USER: O anda oturum açmış kullanıcının kullanıcı adını verir • PATH: PATH çevre değişkeni sistem yada kullanıcı komut yürütmek istediğinde kabuğun bu programın çalıştırılabilir dosyasını nerelerde arayacağı bilgisini tutar (dizinler arasında “:” ayıracını kullanır). Saatin kaç olduğunu öğrenmek için /bin/date komutu yerine date komutunun yeterli olması bu değişken sayesindedir. • PATH değişkenine bir dizin eklemek için [gulshat@localhost]#PATH=$PATH:/root/bc/ [gulshat@localhost]#export PATH [gulshat@localhost]# echo $PATH komutlari yürütülmelidir
Önemli Çevre Değişkenleri(2) • SHELL: Linux’te kullanılan kabuklardan herhangi birisi oturum açıldığında kullanılmak üzere varsayılan oturum kabuğu (Login Shell) olarak kullanılır. Bu çevre değişkeni kabuk programının dosya sistemindeki yerini (path) tutar. • PS1:Kullanıcıdan komut beklerken gösterilecek yazı, prompt formatını tutan çevresel değişkendir. • MAIL: Kullanıcının e-posta dosyasının (mailbox) nerede olduğu bilgisini tutan çevre değişkenidir. Burada belirtilen dosya sistemin, kullanıcının e-postalarını yazdığı yerdir.
Önemli Çevre Değişkenleri(2) • MAILCHECK: Bu değişken yeni e-posta geldiğinde kullanıcının ne kadar zaman aralıklarıyla bilgilendirileceği bilgisini tutar. Fedora Core 4’te bu değer 60 saniye olarak ayarlanmıştır. • LAST COMMAND(_): Kullanıcın çalıştırdığı son komutun adını yada atanan çevre değişkeninin değerini gösterir.
Önemli Çevre Değişkenleri(2) • HISTFILE:Kabuğun komut geçmişinin dosya sistemi üzerinde nerede tutulacağını belirten çevre değişkenidir. • HISTSIZE: HISTFILE çevre değişkeni ile belirlenmiş dosyada ne kadar sayıda komut tutulacağını belirten çevre değişkenidir. • PWD:Şu anda içinde bulunulan dizinin dosya sistemindeki yerini tutan çevresel değişkendir.
Kısayollar • <Ctrl><Alt><Fn> (n=1,n=2,…,n=6) X oturumdan konsola geçiş yapmak için kullanılır. Çoğu linux dağıtımı birbirinden bağımsız ve eşzamanlı çalışan 6 standart konsol açar. • <Tab> Dosya adı yada komut tamamlamak için kullanılır. <Yukarı Ok>,<Aşağı Ok>,<Page Up>,<Page Down> Daha önce çalıştırılmış komutlara ulaşmak için kullanılır. Komut geçmişi için history komutu da kullanılabilir. <Shift><PageUp>,<Shift><PageDown> Konsol yada terminalde ekrandan çıkmış olan yazıları, çıktıları görmek için kullanılır.
Kısayollar(2) • <Ctrl><Alt><+>, <Ctrl><Alt><-> X oturumundaki ekran çözünürlüğünü değiştirmek için kullanılır. • <Ctrl><Alt><Backspace> X oturumunu sonlandırmak için kullanılır • <Ctrl><Alt><Del> Sistemi yeniden başlatmak için kullanılır. shutdown –r now yada reboot komutlarıyla da aynı işi görürler. <Ctrl><C> Çalışan komutu durdurmak için kullanır. <Ctrl><D> Kullanıcıdan girdi bekleyen komutları sonlandırmak için kullanılır.
Kısayollar (3) <Ctrl><A> Komut satırının başına gelir. <Ctrl><E> Komut satırının sonuna gider. <Ctrl><U> İmlecin (cursor) bulunduğu yerden satır başına kadar siler. <Ctrl><K> İmlecin (cursor) bulunduğu yerden satır sonuna kadar siler. <Ctrl><L> Ekranı temizler (clear komutu da aynı işi yapar).
Kısayollar (4) <Ctrl><S> Konsol yada terminaldeki çıktıyı veya komut girişini durdurur. <Ctrl><Q> Konsol yada terminaldeki çıktıyı veya komut girişine devam eder. <Ctrl><Z> Çalışmakta olan komutu arka plana gönderir. <Ctrl><Insert> Kopyalanan veriyi yapıştırır.
Alias • alias isim = 'komut' • – alias la = 'ls -a' • – Bu bilgi /etc/profile, /home/user/.bash_profile yada /home/user/.bashrc dosyasına yazılabilir. Kabuk içine gömülü alias komutu ile bir komut için takma isimler yada özelleştirilmiş komutlar oluşturulabilir. Özelleştirilen komut seçenek ve parametrelerle genişletilir, ancak orijinal komut kesinlikle yer değiştirmez. • ancak komutun adı ile alias tanımlanması durumunda, gerçek komut maskelenmiş olur
Alias • Öntanımlı yada sonradan tanımlanan aliaslar unalias komutu ile kaldırılabilir.
Özel Karakterler • Kabuklarda *,?[],{} gibi karakterlerin özel anlamları vardır. bunların kullanımı, komut satırını grafiksel dosya yöneticileri karşısında güçlü kılar. Bu karakterler özel anlamları dışında, kullanılmak istendiğinde “\” (escape character) ile kullanılmaları gerekmektedir.
Özel Karakterler • ? soru işareti karakteri sadece bir karakterin yerini tutmak için kullanılır.
Özel Karakterler • “[ ]” (Köşeli parantezler): • Köşeli parantezler “[ ]” veya anlamı taşırlar. Veya işlemi köşeli parantezler içindeki karakter için tek tek yapılır. Ayrıca istenirse bir karakter aralığı da verilebilir. • Örnekler: [dm]* adı d veya m ile başlayan tüm dosya ve dizinler [a-z][0-9] adı a dan z’ye kadar küçük harflerle başlayan 0 ile 9 arasında rakamalrla sonlanan tüm dosya ve dizinler
Özel Karakterler • “{ }” (Küme Parantezleri): • İşlevi açısından köşeli parantezle benzerlik gösterir. Ancak farklı olarak veya işlemini sadece karakterler üzerinde değil birden fazla karakterden oluşan karakter kümeleri ile de yapılabilir. • Yani a{b,c,d}e ile aslında “abe ace ade” katarı elde edilmektedir.