2
Konuya ait anahtar kelimeler: whoami , --version , $0 , uname Evet arkadaşlar bir önceki konumuzda da söyledğimiz gibi, Unix/Linux sistemlerde siz komutları "Terminal" ekranında yazarsınız ve Shell, yazılan komutu işletim sisteminde yorumlayarak sizlere çıktısını sunar. Şimdi lütfen programlarınız içerisinden Terminal açınız. Uçbirim yada Xterm adında olabilir. Şimdi birkaç komut ile bu söylediklerimizi pekiştirelim. Zaman kaybetmeden "Shell Skript" derslerine giriş yapalım.
whoamiAktif Shell'i kullanan, efektif kullanıcı adını gösterir.
--versionHerhangi bir programa ait versiyon bilgilerini gösterir.
$0Kullanılan scriptin,programın adını verir. "X" programını kullandığınız zaman "X" çıktısını verir.
unameSistem,kernel,işletim sistemi türü vb.. bilgileri gösterir.
whoami : Türkçe "Ben kimim?" anlamına gelir, ki zaten ne demek olduğunu anlamışsınızdır. Bu komut ile sisteme kullanıcının kim olduğunu sorabilirsiniz. Mesela sizin kullanıcı adınız " ahmet " olsun, o zaman bu sorunun cevabı da otomatik olarak " ahmet " olacaktır. Benim kullanıcı adım " alax " ve buna bağlı olarak bu komutun bendeki karşılığı " alax " olacaktır. Sizlerde kendi kullanıcı adınız olacaktır. Örnek:
[alax@alax ~]$ whoami alax [alax@alax ~]$
Evet şu anda kendi kullanıcı adınızı görüyor olmalısınız. " [alax@alax ~]$ " bu kısım " [kullanıcı_adı@hostname (aktif_dizin ~)]$ " şeklinde yorumlanabilir. Burada dolar işareti " $ " kullanıcının "Root" yetkisine sahip olmadığını yani " Root " kullanıcısı olmadığını ifade eder. Bu kısmı istediğiniz şekilde renklendirebilir, düzenleyebilirsiniz ileriki derslerimizde bunları yapacağız. --version : Bu komut ile sisteminizde yüklü olan programların versiyon bilgilerine ulaşabilirsiniz. Mesela sisteminizde kullandığınız "Bash" Shell versiyonunu yada sisteminizde kurulu olan herhangi bir programın versiyon bilgilerini bu komut ile Terminal ekranına yazdırabilirsiniz. Aşağıda ilk satırda bulunan yeşil renkli komutları Terminal ekranına yazınız ve ENTER tuşuna basınız. Örnek:
[alax@alax ~]$ bash --version GNU bash, version 4.3.42(1)-release (x86_64-Arch-linux-gnu) Copyright (C) 2013 Free Software Foundation, Inc. License GPLv3+: GNU GPL version 3 or later This is free software; you are free to change and redistribute it. There is NO WARRANTY, to the extent permitted by law. [alax@alax ~]$
Benzer bir çıktıyı sizlerde görüyor olmalısınız. Tabiki bizler Bourne Again Shell (Bash) kullandığımız için bu şekilde bir örnek verdik. Eğer siz başka bir Shell kullanıyorsanız onun adını kullanarak versiyon bilgilerini elde edebilirsiniz. $0 : Evet arkadaşlar, ileriki derslerimizde daha ayrıntılı göreceğimiz bu değişken(Değişkenin adı sıfır " 0 " dır) o anki aktif olan yani kullanımda olan script adını sizlere verir. Mesela benim sistemimde kullandığım Shell'in adı "bash" o zaman bu değişkenin değeri,çıktısı "bash" olacaktır. Eğer kullandığım Shell tipi "xyz" olsaydı o zaman bu değişkenimizin değeri,çıktısı "xyz" olacaktı. Örnek:
[alax@alax ~]$ echo $0 bash [alax@alax ~]$
Bu tip değişkenleri ileriki derslerimizde daha ayrıntılı bir şekilde göreceğiz. uname : Bu komut ile sistemdeki Kernel hakkında bilgileri elde edebiliriz. Birçok parametre alabilir. Örnek : Sistemdeki kernel adını yazdıralım.
[alax@alax ~]$ uname Linux [alax@alax ~]$
FreeBSD bir sistemde yukarıdaki komutu çalıştıralım.
[alax@alax ~]$ uname FreeBSD [alax@alax ~]$
Ağ üzerindeki makina adını(hostname) bilgisini öğrenelim.
[alax@alax ~]$ uname -n alax [alax@alax ~]$
Kernel sürüm bilgisini öğrenelim.
[alax@alax ~]$ uname -r 4.2.3-1-ARCH [alax@alax ~]$
Kernel versiyon bilgilerini öğrenelim.
[alax@alax ~]$ uname -v #1 SMP PREEMPT Sat Oct 3 18:52:50 CEST 2015 [alax@alax ~]$
Sistem hakkında tüm bilgileri öğrenmek için.İngilizce "all" yani hepsi, bütün anlamına gelen kelimenin ilk harfini kullanıyoruz, " -a ".
[alax@alax ~]$ uname -a Linux alax 4.2.3-1-ARCH #1 SMP PREEMPT Sat Oct 3 18:52:50 CEST 2015 x86_64 GNU/Linux [alax@alax ~]$
Sadece sistemin adını öğrenmek için ise;
[alax@alax ~]$ uname -o GNU/Linux [alax@alax ~]$
Evet arkadaşlar Shell kullanım mantığı genel olarak bu şekilde olmaktadır. Sizler doğru komutları yazıyorsunuz, Shell sizlere komutunuzun karşılığını veriyor. Bütün mantık bunun etrafında toplanıyor. Lütfen kendi sisteminize ait "sistem mimarisi", "donanım adı" ve "işlemci mimarisi" bilgilerini öğrenmeye çalışınız.