Dersizle Forumları

Full Versiyon: unix tabanlı sistemler hakkında bilgi verebilirmisiniz...
Şu anda tam olmayan bir veriyonu görüntülüyorsunuz. Tam versiyonu görmek için, buraya tıklayın
Slm arakdaşlar gerekli mod arkadaşım buraya yönlendirdi sorum için...Acaba üstat arkadaşlardan biri unix tabanlı sistemler hakkında bir kaç cümleyle bizi bilgilendirebilirmi..Varsa ellerinde bir döküman verirlerse çok sevinirim..Şimdiden teşekkürler..Kolay gele.....
***| XERI |***
UNIX in ilk versiyonu Bell Laboraties araştırma grubunda çalışan Ken Thompson tarafından 1969 yılında PDP-7 de çalışmak üzere geliştirildi. Kısa bir süre sonra Dennis Ritchie Thompson'a katıldı. Thompson, Ritchie ve araştırma grubunun diğer üyeleri UNIX'in ilk versiyonlarını hazırladı.

Ritchie çok yakın geçmiş zamanda MULTICS projesi üzerinde çalışmış olduğundan bu yeni işletim sistemi üzerinde MULTICS in güçlü bir etkisi oldu. Hatta ismi bile MULTICS den gelmedir. Dosya sistemi temel organizasyonu, komut yorumlayıcı fikri (shell), her komut için ayrı bir process ve daha çeşitli özellikler direk olarak MULTICS den geldi.

Ritchie ve Thompson UNIX üzerinde yıllarca çalıştı. Onların çalışmaları PDP-11/20 üzerinde çalışan ikinci versiyona ilerlemeye yol açtı. Üçüncü versiyon işletim sisteminin büyük çoğunluğu assembly dili yerine sistem-programlama dili olan C de yazmalarıyla oluştu.C UNIX i desteklemek için Bell Laboratories' de geliştirildi.UNIX aynı zamanda daha büyük PDP-11 modellerine taşındı örneğin 11/45 ve 11/70. C de tekrar yazıldığı ve multiprogramming desteği olan sistemlere (örneğin 11/45) geçtiği zaman multiprogramming ve diğer gelişmeler UNIX in yapısına eklendi.

UNIX geliştikçe Bell Laboratories' de yaygın olarak kullanıldı ve yavaş yavaş bazı üniversitelere yayıldı. Bell Laboratories dışında yaygın olarak bulunan ilk versiyonu Version 6 idi . 1978 yılında Version 7 dağıtıldı ve bu modern UNIX sistemlerin atasıydı.

Version 7 nin dağıtımından sonra UNIX Support Group (USG) dağıtım için idari kontrol ve sorumluluğu Bell Laboratories den aldı. UNIX bir araştırma aracından çok bir ürün oluyordu. Araştırma Grubu aynı zamanda organizasyonlarındaki kuruluş içi hesaplamaları gerçekleştirmek için kendi UNIX versiyonlarını geliştirmeye devam etti. UNIX in bir sonraki versiyonlarında Remote File System ve Stream I/O system gibi özellikler eklendi.

USG UNIX için desteğini AT&T içinde sağladı. İlk dış dağıtımını yaptığı sistem 1982 yılında System III tü.

Küçük boyut, modülerlik ve UNIX sistemlerin temiz dizaynı Rand, BBN, the University of Illinois, Harvard, Purdue ve Dec gibi birçok bilgisayar bilimi temelli organizasyonlarda UNIX temelli işlere önderlik etti. Bell Laboraties ve AT&T hariç en etkili gruplar Berkeley deki University of California da ortaya çıktı.

Berkeley in 1978 yılındaki VAX UNIX üzerindeki ilk çalışması 32V ye virtual memory, demand paging ve page replacement in Bill Joy ve Ozalp Babaoğlu tarafından 3BSD UNIX i hazırlamak için eklenmesi oldu. Sistem bu özelliklerin kullanıldığı ilk versiyon oldu. Geniş virtual memory nin kullanılması geniş programların çalıştırılabilmesine yol açtı.

DARPA (Defense Advanced Research Projects Agency) için çalışan bir komite TCP/IP protokollerini destekleyen 4.2BSD versiyonunu oluşturdu. Böylece UNIX işletim sistemi LAN lardan WAN lara kadar çeşitli network tipleri üzerinde kullanılmaya başlandı.

Günümüzdeki mevcut UNIX sistem versiyonları Bell Laboraties ve Berkeley in ürettiği ürünlerle sınırlı değildir. Sun Microsystems BSD yi workstationlarında kullanarak popülaritesinin artmasına sebep oldu.UNIX in popülaritesi arttıkça yeni bilgisayar ve bilgisayar sistemlerinde kullanılmaya başlandı. Çok sayıda UNIX ve UNIX benzeri işletim sistemleri geliştirildi. Yaygın bir şekilde bulunmasından dolayı akademik kurumlardan askeri kurumlara kadar bir çok kurumda kullanıldı. Bu sistemlerin çoğu Version 7, System III, 4.2 BSD veya System V tabanlıydı.

UNIX iki tane Bell Laboraties çalışanının kişisel projelerinden uluslararası standartlarla tanımlanan bir işletim sistemi haline geldi. UNIX işletim sistemi işletim sistemleri teorisi için hala eğitim kurumları için en popüler ve önemli bir işletim sistemidir.

______________________________________________________________________________________

UNIX işletim sistemi bir ağ işletim sistemidir. Birden çok bilgisayar aynı anda bu işletim sistemini kaynaklarını paylaşmak için kullanabilir. UNIX işletim sistemi kullanan herkesin özel bir kullanıcı adı Username yada Login vardır. Kullanıcı adı account olarak da anılır. Çok sayıda kişi de bir grup adı olarak bir kullanıcı adını kullanabilir. Kullanıcılardan biri Süper-Kullanıcı, Süper-User yada Root olarak adlandırılır. UNIX'de dikkat etmeniz gereken en önemli husus tüm komutların küçük harfle yazıldığıdır. Yani küçük harf - büyük harf ayrımı vardır. Oysa DOS işletim sisteminde böyle bir ayrım söz konusu değildir.

UNIX de Username yanında kullanıcıların şifresi, Password , vardır. UNIX başladığında sizden kullanıcı adı ve şifre isteyecektir. Örneğin Linux Server'a girmek için

alpha3 login: btturk
Password:


Unix Sistem Promptu (Komut istemi işareti, DOS daki >gozkirp
Unix sistem promtu $ işaretidir. Bu işaret sistemin kullanıcıdan komut beklediğini gösterir. Unix promtu sadece $ değil bazen de %, # ... olabilir.

Komut Parametreleri
Unix'de bir komutun genel ifadesi

komut [seçim][ifade][dosya_adı]

şeklindedir. Hepside seçimliktir.

seçim : Komuta ait parametrelerden biridir. Seçim - işareti ile yapılır. ($ls -a gibi)
ifade : komuta girdi olarak kullanılacak bir karakter dizisini ifade eder.
dosya_adı : En fazla 14 karakter olabilir. İlgili komutun üzerinde işlem yapacağı dosya.

Komutlar

Listeleme

ls
Mevcut dosyaları ve dizinleri listelemek için kullanılır.

$ls
C++/ dead.letter ftp/ mail/ welcome.txt xit
ddddddddd fortran/ gubim/ nsmail/ www/
$

Burada yanında / ile görünen yazılar dizindir.
Dosyaları ve dizinleri daha ayrıntılı görmek için ls ile -l parametresi de kullanılmalıdır.

$ ls -l
total 44
drwxr-xr-x 2 btturk users 4096 Dec 30 1999 C++/
-rw-r--r-- 1 btturk users 1981 Apr 4 20:46 ddddddddd
-rw------- 1 btturk users 316 Dec 30 1999 dead.letter
drwxr-xr-x 2 btturk users 4096 May 24 03:06 fortran/
drwxr-xr-x 2 btturk users 4096 May 20 21:53 ftp/
drwxr-xr-x 2 btturk users 4096 Oct 8 1999 gubim/
drwx------ 2 btturk users 4096 Jun 2 18:50 mail/
drwx------ 2 btturk users 4096 Jul 12 1999 nsmail/
-rw-r----- 1 btturk users 729 Jul 12 1999 welcome.txt
drwxr-xr-x 2 btturk users 4096 May 24 20:42 www/
-rw-r--r-- 1 btturk users 1981 Apr 4 20:46 xit
$

Parametreler
-d yalnız dizinler
-g grup adları
-l uzun liste (tüm özellikleriyle)
-r dosya adına göre
|more sayfa sayfa listeleme

Dosya ve Dizin İzinleri
Unix bir Ağ İşletim Sistemidir. Eğer bir kullanıcı izin verirse bilgisayarında bulunan herhangi bir dosyayı herkes paylaşabilir. Unix işletim sisteminde tüm dosyalar ve dizinler üç tür erişim hakkına sahiptir. Bunlar;

read (okuma), write (yazma), execute (çalıştırma) izinleri.

Genel olarak bir dosyanın erişim haklarının yapısı


rwx|rwx|rwx


Sahip Grup Topluluk
kullanıcı
(user) (group) (other)

şeklindedir. Örneğin

r--r--r--
Bu özellikleri taşıyan bir dosya salt okunurdur. Çünkü birinci üçlü grup için sadece r (read) okuma izni verilmiştir. İkinci üçlü grupta kullanıcının dahil olduğu çalışma gurubu için izin yine okuma izni, son üçlü grupta topluluk için de okuma izni vardır.

rwxr----
Bu dosya için
sahip kullanıcı : okuma, yazma, çalıştırma iznine sahiptir.
Grup : sadece okuma iznine sahiptir.
Topluluk : hiçbir hakka sahip değildir.

Bu izinler kullanıcı tarafından belirlenir. Kullanıcı kendi bilgisayarında bulunan istediği dosyanın erişim hakkını istediği gibi belirleyebilir.


Erişim İzinin Değiştirilmesi
chmod (change mode) komutu dosya veya dizinlerin izin biçimini belirlemek için kullanılır. Bu komut iki şekilde kullanılır.

a) 2lik sisteme göre
Bir dosya için r,w,x harflerinin olduğu konuma 1 veya 0 yazılarak yapılan hesaba göre erişim hakkı belirlenebilir.
Örneğin xyz.txt dosyası salt okunur bir dosya olsun.

r-- r-- r-- Dosyanın eski hali (salt okunur)

rw- r-- r-- Yeni hali (Kullanıcıya yazma izni verilmek isteniyor)
110 100 100

Yeni dosyanın erişim hakları
Kullanıcı : okuma, yazma
Grup : sadece okuma
Topluluk : sadece okuma

iznine verilmek isteniyor. İzinleri değiştirmek için

1. r,w,x gördüğümüz yere 1, - gördüğümüz yere 0 yazılır.
2. Elde edilen 1 ve 0 lar bir araya getirilir.
3. 110100100 sayısının 10 luk tabandaki karşılığı bulunur. (110100100)2 = 644
4. $chmod 644 xyz.txt işlemi yapılır.

Bu adımlardan sonra dosya istenen özelliği kazanmış olur.

rw------- dosyası için gruba okuma ve çalıştırma ve topluluğa sadece çalıştırma izni vermek için
?
rw------- rw-r-xr-- } $chmod 654 xyz.txt

b) Simgesel Yöntem
Bu yöntemde simgesel biçim belirtilir. Bunun aşağıdaki kısaltmalar kullanılır.

u sahip kullanıcı izni(user)
g grup izni (group)
o topluluk izni(other)
a kullanıcı, Grup ve Topluluk izni
= izni tümüyle yerleştirir
+ izni ekler
- izni kaldırır

Örneğin abc.gif dosyasını özellikleri şöyle olsun
r-------
Bu dosyaya
rw-r--r-
özelliği kazandırmak için
$chmod a=r,u+w abc.gif

işlemini yapmak yeterlidir.
a=r : tüm kullanıcılara okuma izni
u+w : sahip kullanıcıya özel yazma izni


Dizin İşlemleri

cd
DOS da olduğu gibi bir dizin yukarı/aşağı geçmek için kullanılır.

$ ls -l
total 44
drwxr-xr-x 2 btturk users 4096 Dec 30 1999 C++/
-rw-r--r-- 1 btturk users 1981 Apr 4 20:46 ddddddddd
-rw------- 1 btturk users 316 Dec 30 1999 dead.letter
drwxr-xr-x 2 btturk users 4096 May 24 03:06 fortran/
drwxr-xr-x 2 btturk users 4096 May 20 21:53 ftp/
drwxr-xr-x 2 btturk users 4096 Oct 8 1999 gubim/
drwx------ 2 btturk users 4096 Jun 2 18:50 mail/
drwx------ 2 btturk users 4096 Jul 12 1999 nsmail/
-rw-r----- 1 btturk users 729 Jul 12 1999 welcome.txt
drwxr-xr-x 2 btturk users 4096 May 24 20:42 www/
-rw-r--r-- 1 btturk users 1981 Apr 4 20:46 xit.gif
$

$cd fortran
$

işleminin sonucunda fortran dizinine geçilir. Bir dizin yukarı çıkmak için cd .. kullanılır.

pwd
O an için hangi dizinde olduğumuzu gösterir.

$cd gubim
$pwd
/home/btturk/gubim
$

mkdir dizin_adı
Yeni bir dizin oluşturmak için kullanılır.

$mkdir loft loft adlı bir dizin oluşturma
$mkdir per ogr std per,ogr ve std adlı üç dizin birden oluşturma

rmdir dizin_adı
İçi boş bir dizini silmek için kullanılır.

$rmdir loft

Bir dizini içindeki dosyalarla birlikte silmek için
$rm -r gubim

Dosya İşlemleri

cp [hedef][kaynak]
Kaynaktaki bir dosyayı hedefe kopyalar.

$cp dead.letter fortran/

rm dosya_adı
mevcut bir dosyayı silmek için kullanılır.

$rm dead.letter

mv [kaynak][hedef]
Kaynaktaki bir dosyayı hedefe taşır.

welcome.txt dosyasını C++ dizinine taşımak için
$mv welcome.txt C++/

xit.gif dosyasının ismini gen.gif olarak değiştirmek için
$mv xit.gif gen.gif

gen.gif dosyasını gubim dizinine taz.gif olarak taşımak için
$mv gen.gif gubim/taz.gif

Giriş ve Çıkışı Yönlendirme (> ve >>gozkirp
Bir UNIX komutu çalıştırıldığında, komutun oluşturduğu sonuçlar ekranda görüntülenir. Yani standart giriş-çıkış birimi olarak ekran kabul edilir. Kullanıcı isterse giriş veya çıkışın yönünü değiştirebilir. Eğer bir komutun oluşturduğu sonuçları ekran yerine dosya içine yazdırılmak istenirse,

komut > dosya_adı (dosyanın içeriğini silerek)
komut >> dosya_adı (dosyanın sonuna ekleyerek)

$ls > sakla.txt sakla dosyasının içeriği silindi ve ls nin etkisi dosyanın içine yazıldı.
$ls >> sakla.txt sakla dosyasının içerine dokunmadan dosyanın sonuna ls nin etkisini
eklendi.


Dosya Oluşturma ve Görüntüleme

$ls
fortran/ mail/ project/ www/ welcome.txt
$

edit dosya_adı
Yeni bir dosya oluşturmak veya eğer dosya mevcutsa dosyada düzenle yapmak için kullanılır.

new.txt adlı bir dosya açmak için

$edit new.txt

[ UW PICO™ 3.6 File:new.txt Modified ]

Merhaba!
Bu ilk denemedir.

^G Get Help ^O WriteOut ^R Read File ^Y Prev Pg ^K Cut Text ^C Cur Pos
^X Exit ^J Justify ^W Where is ^V Next Pg ^U UnCut Text^T To Spell

cat
Dosyanın içeriğini görüntüler. DOS daki type komutu gibi

abc.f dosyasının içeriğini görüntülemek için
$cat abc.f

abc.f dosyasının içeriğini sayfa sayfa görüntülemek için
$pg abc.f

yeni.txt dosyasını oluşturmak için
$cat > yeni.txt

Ekrana Mesaj Yazma

echo mesaj

$echo Merhaba Dünya...

Eğer mesaj ekranın bir satırına sığmıyorsa > işareti kullanılarak alt satırdan devam edilebilir.

$echo UNIX İşletim Sistemi'nin en belirgin özelliklerinden birisi, C
>programlama dili ile yazılmış olmasıdır.

* ve ?
DOS da olduğu gibi * tüm dosyalar ? tek bir karakter için kullanılır.

$ls
dosya1 per1 perpg01 perdosya dosya2 per2 per3
$

Durumuna göre aşağıdaki işlemleri inceleyiniz.
$ls per?
per1 per2 per3

$ls per*
per1 per2 per3 perpg01 perdosya




Geri Planda Komut Çalıştırma
Bir komutu geri planda çalıştırmak olasıdır. Bu sayede komut yorumlayıcısı komutun tamamlanmasını beklemez. İstenen bir komutu geri planda çalıştırmak için komutun sonuna & işareti eklenmelidir. Komut derleyicisi işlemin gerçekleştiğine dair bir rakamı ekrana getirecektir.

$ls C++/bin &
221
$


Tarih
date
Sistemin tarihini öğrenmek için kullanılır.

$date

Grupta Bulunan Kullanıcıları Görüntüleme

$who

Arka arkaya birden fazla komut aynı satırdan çalıştırmak için ; işareti kullanılır.

$ls;date

Komut Yorumlayıcısının Bekletilmesi

sleep saniye_olarak_zaman
Komut derleyicisini verilen süre kadar işlem dışı bırakır.

Komut derleyicisinin 20 saniye bekletilmesi için
$sleep 20

5 saniye sonra tarihin görüntülenmesi için
$sleep 5;date

Bellirli Bir Zamanda Komut Çalıştırma

at zaman
Klavyeden girilen bir UNIX komutunun hemen değilde belli bir süre sonra çalışması için kullanılır.

Bu gün saat 10:00 da rm fert.doc işleminin gerçekleştirilmesi için (işlem bitinde ^x yada ^d yapın)
$at 10:00
rm fert.doc
job 2564.a at Fri May 12 10:00:00 2000
^x yada ^d
$

Yapılacak olan tüm işleri listelemek için
$at -l
job 1254.a Sat Feb 15 11:30:00 2002
job 5465.a Wed Dec 4 22:00:00 2001
job 6548.a Mon Dec 5 21:00:00 2001
$

1. işlemi iptal etmek için
$at -r 1254.a

Saat 13:40 da randevu olduğuna dair bir mesaj
$at 13:40
echo saat 13:40 Toplantıya geç kalma !
^x yada ^d

Bir Dosyayı Birkaç Parçaya Bölme
split
UNIX işletim sistemi altında çalışan bir dosya birkaç kısma parçaya ayırmak için kullanılır.

$cat abc.txt
1111
2222
3333
4444
5555
$

Bu dosyayı üçe bölmek için
$split -3 abc.txt

Üçe bölünen bu dosyanın bölünmüş haldeki dosyaları

xaa.txt içeriği 1111,2222
<![if !vml<![endif]>
<![if !vml<![endif]><![if !vml<![endif]>abc.txt xab.txt içeriği 3333,4444

xac.txt içeriği 5555

Dosyaların karakter/Kelime/Satır Sayısının Belirleme

wc dosya_adı
Bir dosyanın içeriğinde bulunan karakter,kelime,satır sayısını verir.

$wc acb.f
22 79 209 abc.f

Parametreler
-l dosyadaki satır sayısını verir
-w dosyadaki kelime sayısını verir
-c dosyadaki karakter sayısını verir
Bu güzel döküman için teşekkürler.....Ellerin dört görmesin...
***| XERI |***
Paylaşmak için buradayız,elimizden geldiği kadar yardımcı olmaya çalışıyoruz.

Bizim çabalarımız inş herkeze örnek olur ve bilgi paylaşmanın mükemmelliğinin farkına varırlar.

rica ederim goldberg
Referans URL