BM-308 Paralel Programlamaya Giriş Bahar 2016 (1. Sunu) (Yrd. Doç. Dr. Deniz Dal)
Kabuk (Shell) İşletim sistemlerinde kullanıcı ile bilgisayar donanımı arasında genel olarak 3 katmandan söz edilebilir. Bu katmanlar; kabuk, sistem çağrıları ve çekirdek olarak adlandırılır.
Kabuk (Shell) Kabuk, kullanıcı ile işletim sistemi çekirdeği arasında bir ara birimdir. Kullanıcı tarafından verilen komutları algılar, yorumlar ve sistem çağrıları yardımıyla çekirdeğe iletir. Çekirdek ise bilgisayar donanımıyla doğrudan etkileşen ve işletim sistemi işlevlerini gerçekleştiren bileşendir. Kabuk, işletim sisteminin kullanıcıya görünen yüzüdür. Birçok kaynakta komut yorumlayıcısı olarak da adlandırılmaktadır.
Kabuk (Shell) Komut satırındaki işaretlerin farklı anlamları vardır. root :~# ya da ddal:~$ $ : Bu işaret sizin sıradan kullanıcı olduğunuzu belirtir. # : root kullanıcısı olduğunuzu belirtir. ~ : Kullanıcının ev dizininde bulunduğunuzu belirtir.
Komut Kabuk üzerinde genel komut kullanımı aşağıdaki gibidir: komut -seçenek(ler) argüman(lar) Komut: Sistemin ne yapacağını söyler. Seçenekler (Options): Komutun işleyiş şeklini değiştirmeye yarar. Eksi (-) işareti ile başlar. Argümanlar (Arguments): Komutun üzerinde işlem yapacağı nesnedir. Örneğin dosya, proses, kullanıcı,...
Komut Seçenekleri Kısa ya da uzun yazılışları olabilir: – Kısa yazılış: Tek tire (-) tek harf – Uzun yazılış: Çift tire (--) sözcük Çoğu komutta bulunan bazı seçenekler: – -h --help Komutla ilgili yardımcı bilgi verir. – -v --verboseİşlemin aşamalarını ayrıntılı gösterir. – -q --quiteHiçbir mesaj çıkartma. – -V --version Komutun sürüm numarasını gösterir.
Komut Örnek komutlar ve komutların argümanlar ile kullanımları: $ date (komut) $ cal (komut ve iki argüman) $ ls -l (komut ve bir seçenek) $ ls -laR (komut ve çok seçenek) $ ls -l -a -R (komut ve çok seçenek) $ ls –la /etc (komut, iki seçenek ve bir argüman)
Dosya Yolları Dosya ya da klasör yolu iki şekilde verilebilir: – Mutlak:Kök klasöründen (/) başlayarak. – Bağıl:Bulunulan dizine göre. Özel klasör isimleri:.:Bulunulan klasör...:Bir üst klasör. -:Bir önceki klasör. ~:Şu anki kullanıcının ev klasörü. ~kullanıcı:Belirtilen kullanıcının ev klasörü. / : Kök dizini
pwd (present-print working directory) O anda içinde bulunduğunuz dizinin mutlak (tam) yolunu (Full Path) verir. ddal:~$ pwd /home/ddal root:~# pwd /root
cd (change directory) Komutu Bu komut dizinler arasında geçiş yapmayı sağlayan komuttur. – Direkt olarak yanına yazdığınız dizine gidebilirsiniz. ddal:$ cd /var/log
cd Komutu Bulunduğunuz dizinden bir veya birden fazla üst dizine çıkabilirsiniz. ddal:$ cd.. ddal:$ cd../..
cd Komutu Direkt olarak kendi ev dizininize gidebilirsiniz. ddal:$ cd ddal:$ pwd /home/ddal ddal:$ cd ~ ddal:$ pwd /home/ddal
cd Komutu Diğer kullanıcıların ev dizinlerine de gidebilirsiniz. ddal:$ cd ~kaya ddal:$ pwd /home/kaya
cd Komutu En son bulunduğunuz dizine geri dönebilirsiniz. ddal:$ cd ~kaya ddal:$ cd -
ls Komutu Bulunduğunuz dizinin içerisindeki dizin (folder) ve dosyaları (file) listeler.
ls Seçenekleri ls -l ayrıntılı bir çıktı sunarken ls -a bütün dosyaların (hidden, dot files) gösterilmesini sağlar.
mkdir (make directory) Komutu mkdir komutu yeni bir dizin oluşturmak için kullanılır.
rm (remove) Komutu rm komutu dosya veya dizin silmek için kullanılır.
rm Seçenekleri -i seçeneği ile dosyaların silinip silinmeyeceği kullanıcıya sorulur. (interactive)
rm Seçenekleri -r seçeneği ile dizinler silinebilir. (recursive) Aynı işi rmdir komutuyla da yapabilirsiniz. (Dizin içerisi boş olmak kaydıyla)
rm Seçenekleri -f (force) parametresiyle onay almadan direkt silme işlemini gerçekleştirirsiniz. Dikkat !!!
cat (concatenate) Komutu Görevi girdileri çıktılara yönlendirmektir. -n --number :Satırları numaralar. Bir metin dosyasındaki metni standart çıktı olan ekrana yönlendirebilir. ddal :$ cat deneme.txt bu bir metin dosyasidir
cp (copy) Komutu Dosyanın 2. kopyasını yaratmak için cp komutu kullanılır. ddal:$ cp dosya1 dosya1_kopya -i seçeneği ile yaratılacak dosyanın etkileşimli olarak yaratılması sağlanır. ddal:$ ls dosya1 dosya2 ddal:$ cp dosya1 dosya2 ddal:$ cp -i dosya1 dosya2 cp: overwrite `dosya2`?y
cp (copy) Komutu -r seçeneği ile dizin kopyalama işlemi gerçekleştirilir.
cp Seçenekleri -i :Hedef dosyanın üzerine yazılması gerekecekse uyar. (interactive) -f:Uyarma (force)
mv (move) Komutu Dosyanın ismini değiştirmek ya da bir dosya veya klasörü taşımak için mv komutu kullanılır. mv komutu dosya ve dizinler için aynı şekilde kullanılır. ddal:$ mv dosya2 dosya3
ssh (secure shell) Komut satırı, uzaktan erişim protokolü ve bu protokol ile iletişim kuran yazılım setidir. Benzerlerinden olan Telnet ile aralarındaki en önemli fark sağlamış olduğu güvenli ve şifrelenmiş kabuk erişimidir. ssh günümüzde tüm Linux ve Unix dağıtımlarında öntanımlı uzaktan erişim aracı olarak kullanılmaktadır. ssh uzaktaki Linux ve Unix makinelerde güvenli bir şekilde kabuk açmamıza ve o makinede kullanıcımıza verilmiş haklar ölçüsünde çalışabilmemize imkan tanır. Ayrıca uzak makineyle güvenli bir şekilde dosya alışverişine de imkan sağlamaktadır.
ssh ssh (ya da ip'si) ssh makine_ismi (ya da ip'si) -l kullanıcı_ismi Örneğin; ssh ssh ssh l test ssh makine.ismi.com -l test
ssh ssh yaparken kullanıcı ismi belirtilmezse yerel makinedeki kullanıcı isminiz uzak makineye bağlantı sağlanırken kullanılır. ssh makine password:
scp (secure copy) ssh ile dosya transferi yapmak da mümkündür. Bunun için ssh'ın sözdizimine benzer bir şekilde scp komutu kullanılır. Kullanımı; scp dosya_adı scp dosya scp -r dizin