Koçbey Forum Sayfası
Would you like to react to this message? Create an account in a few clicks or log in to continue.

UNİX Kabuk Programları

Aşağa gitmek

UNİX Kabuk Programları Empty UNİX Kabuk Programları

Mesaj  Mehmet Ptsi Haz. 02, 2008 11:58 am

UNİX Kabuk Programları

BOURNE kabuğunda çalışırken C kabuğuna geçme
csh
%_
komutunu bu şekilde kullanırız. C kabuğunun komutu kabul işareti % olarak değişmiştir. Sınırlandırılmış kabuk tanımı rsh komutu ile yapılabilir. Bu durumda kullanıcı UNIX komutlarını kullanma açısından oldukça sınırlandırılmış olur. Sınırlandırılmış kabukta dizinlerin değiştirilmesi, PATH değişkeninin yeniden belirlenmesi, tam yol tanımları ve <ile > > yönlendirme işlemleri kısıtlanmıştır.
Kabuk programlarının yaratılması ve çalıştırılması
Kabuk programlarını vi editöru ile yazabiliriz. Program yazıldıktan sonra çalıştırmak için iki yoldan biri tercih edilebilir. Birincisi sh kabuk-proğramı(parametreler) biçiminde. Diğer yol ise bu dosyayı çalıştırılabilir dosya haline dönüştürmektir. Bir dosyayı çalıştırılabilir hal getirmek için chmod komutu ile izinlerini değiştirmek gerekiyordu. chmod a+x kabuk-dosyası komutu ile bu olanağı sağlayacaktır.
Örnek : Sistemde Kullanıcıların sayısını belirlemek üzere, $who(dik cizgi)wc -l komutu kullanılıyordu. Komutları bir kabuk dosyası içine atarak bu dosyaya yeni bir komut gibi çalıştırmak olasıdır. vi editörune $ vi say biçiminde girilerek Yukarıdaki komutlar kaydedilir. Çıktıktan sonra $sh say ile dosya çalıştırılır. Bir diğer yol chmod a+x say ile çalışabilir dosya elde edilir. Çalışmak için doğrudan doğruya dosyanın adını yazmak yeterlidir.
$say
Kısa kabuk dosyalarıni ilk kez yaratmak için vi yerine cat komutu da kullanılabilir.
$cat > say komutu bu şekilde yazıldıktan sonra return tuşuna basılarak bir alt satıra geçilir. Komutlar bu satırdan itibaren kaydedilir. İşlem tamamlandığında ctrl+d tuşlarına basılır.
$cat > say
Who(dik çizgi)wc -l
ctrl-d
$
Açıklama satırları
Bu satırlar # işareti ile başlamak zorundadır. Açıklama satırları program içine aşamalarını veya gerekli açıklamaları yerleştirmek ve belgeleme amacıyla kullanılır. Açıklama satırları program çalışırken herhangi bir işlem görmez.
z. Açıklamalar # işareti ile başlamak koşulu ile programın herhangi bir yerine yerleştirilebilir.
Aşağıdaki proğramda yer alan ilk iki satır işlem görmeyecektir.
$cat yoket
#yoket proğramı
#Bu proğram bazı dosyaların silinmesini sağlar
rm/usr/acct/muhasebe/geçici*
rm/usr/acct/personel/geçici*
$
Özel kabuk komutları
exec : Kabuk programları içinde yeni bir işlem yaratmaksızın komut çalıştırılabilir.
exec (argumanlar. . . ) biçiminde tanımlanır.
newgrp : Grup tanımını değiştirmek üzere newgrp komutu kullanılır. newgrp (-) (grup) biçiminde kullanılır. Eger - seçeneği kullanılırsa grup başlangıçtaki haline dönüşür.
set : En basit sekliyle yani herhangi bir seçenek ile birlikte kullanılmadığı takdirde çevre değişkenlerini topluca görüntülemek amacıyla tercih edilir.
Seçenekleri şunlardır
-a : Export için değiştirilecek yada yaratılacak değişkenleri işaretler.
-f : Dosya adı türetirine son verir.
-v : Kabuk tarafından okunmakta olan Satırların görüntülenmesini sağlar.
-x : Komutların ve onların çalıştırılan argumanlarını görüntüler.
unset : Mevcut tüm cevre değişkenleri yok etmek amacıyla yararlanılır.
ulimit : Herhangi bir seçenek kullanılmadığında veya -f seçeneği tercih edildiğinde kabuk ve onun yavru işlemi tarafından yaratılan dosyaların boyutlarına bir sınırlama getirmek üzere kullanılır. ulimit (-f) (n)
break : Kabuk programlarında kullanılan for, until veya while gibi komutların oluşturduğu döngülerden kurtulmak gerektiğinde bu komut kullanılır.
continue : Break komutunun ters işlemi continue ile gerçekleştirilir.
echo : Belirtilen ifadeleri görüntülemek üzere echo komutunundan yararlanılır.
echo (argumanlar) biçiminde tanımlanır. Aşağıdakiler kullanılabilir.
\b geri boşluk
\c yeni satıra başlamadan yazamaya devam eder. \f yeni satır
\r return tusu
\t tab
\
\nn sıfırla başlaması gereken 1, 2 veya 3 haneli ASCII kodların 8 bit karakteri.
\v dikey tab
exit : Kabuk programının herhangi bir yerinde programlardan çıkılması isteniyorsa exit komutundan yararlanılabilir. exit (n) biçiminde tanımlanır.
Kabuk programına Return kodunun geçirilmesi amacıyla da kullanılabilir. Exit komutu bir kabuk programında doğru çalıştığı zaman 0 yanlış çalıştığı zaman sıfırdan farklı bir sayı üretmesine neden olur.
export : Bir komut yorumlayıcısından bir başkasına geçildiğinde, değişkenlerin değerlerinin de bu yorumlayıcıya aktarılması isteniyorsa export komutundan yararlanmak gerekiyor.
read : Kabuk programlarında yer alan değişkenlere program dışından ve klavye yardımıyla bilgi atanmasını sağlamak üzere kullanılır.
readonly : Bir değişken okunduktan sonra artık yeni bir değer almaz. Sadece okunmak üzere çağrılabilir. readonly değişken. . biçiminde kullanılır.
return : Bir fonksiyonun belirlenen bir return koduyla çıkmasına neden olur return (n) biçiminde kullanılır. n arzu edilen bir return kodudur. Eğer belirtilmez se en son çalıştırılan komutun return durumunu görüntülenir.
shift : Konumsal parametreler bilindiği gibi $0 ile $9 arasında 10 adet idi. Bu komutu kullanarak ilk parametre göz ardı edilerek numaralandırma yeniden yapılır. Böylece parametre sayısı bir artmış olur.
test : Bir ifadenin mantıksal değerini alacağı doğru veya yanlış durumlarına göre özellikle döngü komutlarını kontrol etmek üzere kullanılır. Test komutu ile birlikte koşulları belirtmek üzere kullanılabilecek argümanla aşağıdadır.
-r dosya : Belirlenen dosya mevcut ise ve Kullanıcı tarafından okunabilir durumda ise doğru.
-w dosya : Dosya mevcut ise ve Kullanıcı tarafından yazılabilir özelliklere sahip ise doğru
-x dosya : Dosya mevcut ise ve çalıştırılabilir durumda ise doğru.
-s dosya : Dosya mevcut ve içi dolu ise doğru.
-d dosya : Eğer dosya bir dizin ise doğru.
-f dosya : Mevcut dosya sıradan bir dosya ise doğru.
-p dosya : Dosya mevcut ise ve bir pipe(fifo) dosyası ise doğru.
-z dizgi : Dizginin uzunluğu sıfır ise doğru.
dizgi : Söz konusu dizginin uzunluğu sıfırdan farklı ise doğru.
d1=d2 : d1 dizgisi ile d2 dizgisi birbirine özdeş ise doğru d1|=d2 İki dizgi birbirine özdeş değilse doğru
d1 : Eger d1 dizgisi boş değilse doğru
n1 -eq n2 : n1 ve n2 tamsayıları cebrik olarak birbirine eşit ise doğru.
times : Kabuk programından çalıştırılan işlemlerin sistem zamanlarını görüntüler. Doğrudan times olarak kullanılabilir.
trap : Bir kabuk programındaki kesilmeleri denetim altına almak amacıyla trap komutu kullanılır. Trap arguman sinyal biçiminde tanımlanır. UNIX de çalıştırılan bir program uygun olmayan durumlarla karşılaşıldığında bunu sinyaller yardımıyla bildirir. Trap komutu bu sinyalleri yakalayarak programın denetlenmesine olanak tanır.
Sinyallerin bazıları aşağıda yer almaktadır.
01 Askı
02 Kesilmek
03 Çıkış
04 Uygunsuz talimat
09 Öldür
10 Taşıt(bus) hatası
12 Sistem çağrısı için uygunsuz arguman
14 alarm saati
15 Yazılım kesilme sinyalı
16 Kullanıcı tanımlı sinyal -1
17 Kullanıcı tanımlı sinyal -2
18 Yavru işlemin ölmesi
19 Elektrik kesilmesi.
wait : Kabuk programının n numaralı yavru işleminin kesilmesine kadar bekletmek amacıyla kullanılabilir. wait (n) biçiminde tanımlanır.
expr : Kabuk programları içinde aritmetik işlemleri yapmak olasıdır. Hesaplama komutu olan expr ile aşağıdaki aritmetik işleçler tanımlanabilir. + Toplama - Çıkarma
bk cgi-bin ch01. txt ch02. txt dene dene~ frm. html index. html komutlar. html komutlar. txt nukleer pbl pbl. cgi pbl. cgi~ pbld. cgi pblf pblf. cgi pbl~ phyveri. idx prepara. html printenv simin test-cgi test. cgi Carpma / Bolme % Kalan
Kabuk programlarında kullanılan her aritmetik işlecin sağında ve solunda bir boş karakterin bulunması gerekir.

Koşullu ifadeler-if komutu:Kabuk programları içindeki komutlar istenirse belirli koşulların gerçekleşmesi durumunda çalıştırılabilir. Bu denetimi sağlamak üzere if komutu kullanılabilir. If komutu
If koşul
then
komut-1
else
komut-2
fi
biçiminde tanımlanır. If komutu tek başına kullanılmaz. Bu komutla beraber then else ve fi gibi gibi sözcüklerde kullanılır.
Eger koşul doğru ise komut-1 i değil ise komut-2 yi çalıştıracaktır. If komutu içinde başka if komutu da kullanılır.
if . . .
then . . .
else
if . . .
then
. . .
else
if . . .
. . .
fi
fi
fi
Yukarıdaki ifadeyi şu şekilde de yazabilir.
if . . .
then
. . .
elif . . .
then
. . .
elif. . .
. . .
fi
If komutu içinde yer alan koşul ifadeleri karşılaştırmaları yapmak amacıyla bazı işleçler içerebilir.
Isleç Anlamı
-eq Eşit
-ge Büyük ve eşit ( > = )
-gt Büyük ( > )
-le Eşit veya küçük ( <= )
-lt Küçük ( <)
Eşit değil ( | = )-a ve
-o veya
For Döngüsu : Bir liste içinde yer alan değerlerin herbiri için belirlenen komutları ardarda çalıştırmak üzere for komutunda yaralanılır. For komutu ile birlikte in do done gibi anahtar kelimeler kullanılır. for değişken
in liste
do
komutlar. . .
done
biçiminde kullanılır. For komutunun hemen ardında yer alan değişken liste de Sırayla aranır ve herbiri için do sözcüğünden sonra gelen komutlar çalıştırılır.
Değişken listesinin kullanılması her zaman gerekmeyebilir. in anahtar kelimesiyle birlikte bir liste tanımlanmadığı takdirde for komutunun hemen ardından gelen değişken ardışık sayılar türetir. Bu olanak sayesinde konusal parametrelerin kullanılması sağlanmış olur.
While döngüsu : Bo komutun oluşturduğu döngüden son komutun durumuna göre çıkılabilir.
while komutlar
do
komutlar
done
while komutunu takip eden komutun Çıkış kodu while tarafından test edilir Çıkış kodu sıfır değerini aldığında do-done arasındaki komutlar çalıştırılır. Aksi takdirde döngüye son verir.
Until Döngüsu : Döngüye son verme işlemi bir koşula bağlanmak isteniyorsa until komutu tercih edilir.
until komut
do
komutlar
done
biçiminde tanımlanır.
Koşullu yapı-case komutu
Kabuk programları içinde belirli seçeneklere göre dallanmalara gidilecek ise case komutundan yararlanılabilir.
case değişken
in
seçenek 1)
komut satırı 1
komut satırı 2
. . .
son komut satırı
;;
seçenek 2)
komut satırı 1
komut satırı 2
. . .
son komut satırı
;;
.
.
.
*)
komut satırı 1
komut satırı 2
. . .
son komut satırı
;;
esac
biçiminde kullanılır.

Her seçeneğin son komutu ardından ; işareti gelmelidir. Belirlenen seçenekler dışındakiler *) ile tanımlanmıştır.
uuname (seçenekler):Ana sistemin ismini öğrenmek üzere bu komut kullanılır
. Bu komut ile sisteme tanıtılmış karşı sistemlerin listesini de elde etmek olasıdır. Eğer seçenek kullanılmazsa sisteme tanıtılmış ve uucp komutuyla birlikte kullanılabilecek tüm sistem isimlerini listeler.
Seçenekler :
-c : Cu komutuyla birlikte kullanılabilecek sistemlerin tümünü listelemek amacıyla bu seçenek kullanılır.
-l : Ana sistemin ismini görüntüler.
Dosyaların Karşı Sisteme Kopyalanması-uucp Komutu
uucp (seçenekler) kaynak-dosyalar hedef-dosyalar
Iki bilgisayar arasında dosya transferi yanısıra karşı sistemde belirli bir komutun veya programın çalıştırılabilmesi ve bu sistemlere istenildiğinde mesaj gönderilebilmesini sağlar. UUCP programları toplu işlem biçiminde ve geri planda çalışırlar. Komutlar yazılır yazılmaz hemen işlem görmeyerek spool dizini içine yerleştirilir daha sonra sırası gel dikçe işlem görmeye başlar. Her kullanıldığında bir iş numarası türetir. Daha sonra uustat komutuyla işlemlerin izlenmesi amacıyla kullanılabilir uucp (seçenekler) kaynak-dosyalar hedef-dosyalar Kaynak dosyalar ana sistemden karşı sisteme hedef dosyalar biçiminde ta sınacak dosyalardır. Eğer kopyalanacak dosya uucp komutunun kullanıldığı dizin içinde ise yol tanımını belirtmeye gerek yoktur. Yoksa tam yol tanımının verilmesi gerekiyor.
Hedef dosya tanımları aşağıda belirtilen biçimlerden birine uymalıdır. sistem-adi|yol-tanımı sistem-adi| Kullanıcı-adi(/dizin/dosya-adi)
sistem-adi|/Kullanıcı-adi(/dizin/dosya_adi)

Eğer birden fazla sistem ile ilgileniliyorsa bu kez
sistem_adi|sistem-adi|. . . |sistem-adi|yol-tanımı
tanımları yapılabilir.
Seçenekler
-d : Kopyalama işlemi esnasında gerekli tüm dizinleri yaratır.
-f : Ara dizinlerin yaratılmasına izin vermez.
-c : Ana sistemdeki dosyayı karşı sisteme kopyalama esnasında spool dizinine atılmamasını sağlar.
-C : Kopyalanacak dosyaların transfer edilmek üzere bir kopyasını oluşturarak spool dizinine atılmasını sağlar.
-mdosya Kopyalama işlemi tamamlandığında, belirtilen dosya içine işlemin durumunu belirten bir mesajın kaydedilmesini sağlar. Eğer dosya ismi belirtilmezse msg Kullanıcının mbox dosyasına kaydedilir.
-nuser : Karşı sistem üzerindeki Kullanıcıya bilgi verir.
-esistem : Karşı sistemde çalışmak üzere uucp komutu gönderir. Bu seçenek karşı sistem /usr/lib/uucp/uuxqt tarafından çalıştırılacak uucp komutlarına izin veriyorsa basarili olabilir.
-r : Kopyalama işlemini spool daki iş kuyruğuna atar, fakat yapılmamasını sağlar. Bu seçenek kullanılmadığı takdirde uucp komutu her kullanıldığında dosya transfer işlemi başlatır.
-j : Yapılan işlemin iş tanımlarını ekrana listeler. uustat komutu ile durum araştırmasında veya sona eren bir işlemin bulunmasında kullanılır.
uucp Bilgi Dosyalarını görüntülemek-uulog komutu
Uucp komutunun çalışması sonucunda yapılan işlemler hakkında /usr/spool/uucp/LOGFILE dosyası içine bilgiler kaydedilir. Bu bilgilere ulaşabilmek amacıyla uulog komutundan yararlanılır.
uulog (seçenekler)
Seçenekler
-ssistem : Belirli bir karşı sistem hakkında bazı bilgİlerin görüntülenmesini sağlar. Sistem adı verilmezse tüm karşı sistemler hakkında bilgi verir.
-u Kullanıcı : Ana sistemde belirli bir Kullanıcının veri transferi konusun da yaptığı çalışmalar hakkında bilgi sağlar. Kullanıcı adı belirtilmezse tüm Kullanıcılara ilişkin bilgiler görüntülenir.
Durum raporlarının elde edilmesi-uustat komutu
uustat (seçenekler)
Uucp komutunun kullanılması ardından gerektiğinde işlemin durumunu görüntülemek veya kullanılan komutları iptal etmek üzere uustat kullanılır.
Seçenekler
-jis-no : numarası belirlenen uucp işlemiyle ilgili bilgi sağlar.
-kis-no : Belirtilen işin iptal edilmesine neden olur. İptal edilmek istenilen işlem o Kullanıcıya ait olmalıdır. Başka Kullanıcının yarattığı bir uucp işlemini ancak kendisi iptal edebilir. Sistem yöneticisi tüm işlemleri kesmek yetkisine sahiptir.
-csaat : Belirlenen saatten önce yaratılan işlemleri silmek amacıyla kullanılır. uucp Kullanıcı ve sistem yönetici tarafından kullanılır.
-uKullanıcı: Seçenekle birlikte belirtilen Kullanıcının uucp işlemleri hakkında bilgi sağlar.
-ssistem : İsmi verilen karşı sistem hakkında uucp durum raporunun görüntü
-osaat : Belirtilen saatten önce yaratılan uucp isteklerinin tümünü listeler.
-mmakina : Belirtilen makinenin erişilebilirlik durumunu rapor eder.
O : Uucp durumlarını sekizlik kodlarla listelemek amacıyla kullanılır.
-q : Karşı sistemlerin durumu hakkında bilgi edinmek için kullanılır.
Mehmet
Mehmet

Mesaj Sayısı : 120
Kayıt tarihi : 20/05/08

http://www.kocbey.com

Sayfa başına dön Aşağa gitmek

Sayfa başına dön

- Similar topics

 
Bu forumun müsaadesi var:
Bu forumdaki mesajlara cevap veremezsiniz