İşletim Sisteminin temel özellikleri ve Unix İşletim Sistemi


i- İşletim Sistemi Nedir
İşletim Sistemi (Operating System), sistemde bulunan çevre elemanları ile (Donanım, =Hardware) yazılımlarınızın (Software) haberleşmesini sağlayan yapıdır. İşletim sistemi de bir çeşit yazılımdır, ve bu yazılım, daha düşük seviyeli erişimlerle donanımın kontrolünü, kaynakların kullanımını ve paylaşımını sağlar. Örnek olarak işletim sistemi, sisteme bağlı olan yazıcılara gönderilen dosyaların basımı, sistemin boş olan hafızasının kullanımı ve sisteme bağlı diğer birimlerin yönetimini sağlar.
ii- Çok Kullanıcı, Çok İşlem, Zaman Paylaşımı
SCO UNIX, diğer UNIX' lerde olduğu gibi çok kullanıcılı, çok işlemli ve zaman paylaşımlı bir işletim sistemidir. Çok kullanıcılı olması demek, aynı anda işletim sisteminin birden fazla kullanıcı tarafından kullanılabilmesi demektir. SCO UNIX’te kullanıcı sayısı satın alınan ürünün izin verdiği kullanıcı sayısı ile (satın alınan lisans sayısı ile) sınırlıdır. Birden fazla kullanıcının sistemi kullanabilmesi yanında UNIX’in özellikllerinden biri de çok işlemli olmasıdır. Yani kullanıcılar sistemde aynı anda birden fazla işlem (process) çalıştırabilirler. Bu, siz bir işlemi başlattıktan sonra, o başlattığınız işlem çalışmaya devam ederken başka bir işlem de başlatabilirsiniz demektir. Bu, UNIX,e bağlı bütün terminallerdeki kullanıcılar tarafından yapılabilir. Üçüncü olarak da, Unix’in, zaman paylaşım özelliği vardır (time sharing). Bu özellik sayesinde, tek merkezi işlem üniteniz (CPU) olsa bile sistemde yapılan işlerin hepsinin devam etmesi sağlanabilir. Her kullanıcının bir öncelik sıralaması (priority) vardır ve yapılan işlere merkezi işlem ünitesi tarafından ayrılacak olan zaman bu öncelik sırasına göre belirlenir. Süper kullancı, işlemlerin ve kişilerin öncelik sıralarını değiştirebilir.
Merkezi işlem ünitesi 1 birim zamanını, bekleyen işler arasında paylaştırarak, tüm işleri
aynı anda yürütür.

iii- Client/Server ile merkezi yapılı işletim sistemleri
Client/Server yapılı işletim sistemlerinde, amaç iş yükünü, ağ üzerinde bulunan kaynaklara mümkün olan en fazla şekilde yaymak, böylece ana hizmet ünitesine düşen yükü de azaltmaktır. Client 'lar tüm servislerin kendilerine ana servis ünitesi tarafından verilmesini beklemezler, bir kısım işleri kendileri yapıp, sadece gerekli olan bilgileri almak/vermek için ana hizmet ünitesine ulaşırlar.
Merkezi yapılı işletim sistemlerinde ise tüm işler ana hizmet ünitesi tarafından yapılır. Bu tip işletim sistemlerinde uç birimlerde çalışan üniteler sadece kullanıcının klavye girdisini alır, ve çıktıyı ekranda gösterir.
SCO OpenServer 5.0, her iki yapıyı da destekleyen bir işletim sistemidir.
Client/Server yapılarda çalışan uygulama yazılımları bu yapıyı desteklemediği (yani Client/Server olarak yazılmadığı) zaman, kullanıcı bu yapının özelliklerinde ya hiç ya da çok az faydalanabilmektedir.
iv- Bellek Yönetimi, İsteğe Bağlı Görsel Bellek Yönetimi
SCO OpenServer 5.0 bellek kullanımı ve yönetimi, performansı maksimum yapmayı amaçlar. Mevcut olan hafıza sayfaları tükenene kadar, sistem bütün hafıza ihtiyacını karşılar ve disk üzerinde herhangi bir işlem yapmaz. Ne zaman ki mevcut hafıza tükenir, o zaman özel bir yolla en az kullanılmış hafıza sayfası tesbit edilir, bu disk’e yazılır, ve onun daha önceden bulunduğu hafıza bölgesi ihtiyacı olan uygulamaya tahsis edilir.
Ayrıca, çalışmakta olan bir program çalışma sırasında ihtiyacı olduğu kadar hafıza sayfası kullanır. Örneğin bir programınız çalışmak için 8MB’a ihtiyaç duyuyorsa, bu program çalışması sırasında daha az hafıza kullanır, ve sadece ihtiyaç oldukça o programa hafıza sayfaları ayrılır.
2. UNIX İŞLETİM SİSTEMİ DOSYA VE DIRECTORY YAPISI
i - UNIX Dosya Sistemi, superblock, Inode tablosu
UNIX 'te tüm disk en az iki dosya sistemi olarak formatlanır. İstendiği taktirde diski ikiden fazla dosya sistemine bölme olanağı da bulunmaktadır. Dosya sisteminin başında
bulunan ilk blok, dosya sistemi ile ilgili bilgileri tutar ve bu bloğa "super block" adı verilir. Super block, dosya sisteminin büyüklüğü, başlangıç ve bitiş adresleri, inode tablosu, boş blok tablosu, data bloklarının başlangıç adresi gibi bilgileri saklayan ve dosya sisteminin sınırlarını belirleyen bloktur. Bir diğer görevi de dosya sisteminin düzgün olarak kalmasını sağlamak, entegrasyonu herhangi bir nedenle bozulduğu zaman da bu bozukluğu giderecek yazılımları çalıştırmaktır. UNIX işletim sisteminde her şey bir dosya olarak bulunmaktadır. Dosyaların isimleri sadece biz insanların daha kolay anlamaları için tutulmaktadır. UNIX bizim kullandığımız dosya isimleri ile ilgilenmez ve dosyalara isimleri ile ulaşmaz. İsim yerine sistemde her yaratılan dosyaya, sadece ona ait bir numara verilir. Bu numaraya "inode" denmektedir. Dosyaya ait tüm işlemler bu inode numarası kullananılarak yapılır. Super block içinde bir bölüm inode tablosu olarak ayrılmıştır. Bu tabloda her dosyanın numarası, sahibinin, grubun isimleri, son erişim, değiştirilme tarihleri, link sayıları tutulmaktadır. Tutulan bir diğer önemli bilgi ise bu dosyanın kullanığı veri bloklarının adresleridir. Görüldüğü gibi inode tablosunda dosyanın adı yoktur. Dosya isimleri directory 'lerde tutulur. Directory 'de
inode numarası ve ona karşılık gelen dosya adı tutulmaktadır. Siz bir dosyanın adını
belirterek herhangi bir işlem yapmak istediğinizde sistem, directory 'den bu dosyanın
adına karşılık gelen inode numarasını bulur ve bundan sonraki tüm işlemleri bu numarayı kullanarak yapar. UNIX işletim sisteminde bilgileri tutan normal dosyalardan başka bir de özel dosyalar bulunmaktadır. Bu dosyalar tüm sistem kaynaklarına ulaşan, daha açık bir ifade ile "device driver" 'lara bilgi yollayan ve oradan gelen bilgileri size aktaran dosyalardır. Bellek, disk, yazıcı gibi tüm sistem kaynakları bu tip dosyalar kullanılarak erişilmektedir.
ii- Directory yapısı
UNIX işletim sisteminin dosya hiyerarşisi ters dönmüş bir ağaç gibidir. Bu ağacın en üstte yer alan kısmına kök (root) adı verilir ve / işareti ile gösterilir. Bu ad sistem tarafından verilir ve daha sonra değiştirme olanağı yoktur. Onun dışında kullanıcılar kendi yarattıkları directory 'lere legal olmak şartı ile istedikleri isimleri verebilirler. Bir directory adının legal olabilmesi için , 14 harften kısa olması , içerinde özel karakterleri barındırmaması ve aynı daldan çıkan aynı adda başka bir directory'nin olmaması gerekmektedir. Bu directory yapısına ek olarak UNIX işletim sistemi bir dosyanın birden fazla kullanıcı tarafından kullanılmasını da çeşitli yöntemlerle sağlar.Bu yöntemlerin bir tanesi de link (bağ) lerdir. Link programı sayesinde bir dosya aslında sadece bir directory'nin içinde olmasına rağmen birden fazla directory'de bulunuyormuş gibi işlem görür.
3. SCO OpenServer 5.0’ın yüklenmesi
  1. Gerekli olan donanım özellikleri
SCO OpenServer 5.0’ın kurulabilmesi için gerekli olan donanım özelliklerinin başında 386, 486 ya da Pentium merkezi işlemcili, ISA, EISA, PCI ya da MCA yapılı bir bilgisayar gelir. Gerekli olan RAM miktarı 12 MB, disk üzerinde gerekli olan boş yer mitarı da 225 MB’dır.
Sistemin kurulabilmesi ve sorunsuz çalışabilmesi için desteklenen donanımlar (kontrol kartları, network kartları ve akla gelebilecek diğer donanım ürünleri) SCO Hardware Compatibility Handbook (SCO Donanım Uyumluluğu Elkitabı) içinde bulunmaktadır. Kurulum yapımadan önce donanımın desteklenip desteklenmediğini öğrenmek için bu kaynağa başvurulmalıdır.
  1. Kullanıcı sayısına göre gerekli olan donanım değişiklikleri
Sistemi kullanacak kullanıcı sayısına bağımlı olarak yukarıda belirtilen bellek ve disk büyüklüklerini arttırmak gerekmektedir. Sisteme işletim sistemi dışında eklenecek her yazılım sistemde bir disk alanı kaplayacak ve çalışması için de başlangıç olarak belirtilen 12 MB. 'den daha fazla belleğe gereksinim duyacaktır. Bellek ve disk gereksinimleri kullanılacak olan yazılıma göre değişmektedir. Bir sistem planlanlanırken kullanılacak yazılımların gereksinim duyduğu disk ve bellek büyüklüklerini öğrenmek düzgün bir sistem kurabilmek için gereklidir. Eklenecek yazılımları kaç kişinin kullanacağı da göz önünde bulundurulmalıdır. Kullanılacak yazılımlar genellikle her kullanıcı için gerekli olan ek bellek gereksinimin belirtirler. Bunun belirtilmediği durumlarda ise kullanıcı başına en az 1 MB belleği, ana hizmet ünitesine eklemek gereklidir.
  1. Değişik donanımlar ile yapılacak yüklemede, bilinmmesi gerekenler
Eğer mevcut bir SCSI CDROM’unuz yoksa bu bazen sorun olabilir. SCO OpenServer 5.0 ATAPI CDROM’lar ile install edilebilmesine rağmen bazı CDROM’larda sorun çıkartmaktadır. ATAPI CDROM kullanmak için Boot disketi takılıp “Boot” yazısı ekranda belirdiği noktada enter’a basıp devam etmek yerine şu satır yazılır:
Boot
: defbootstr ahslink=ATAPI
Eğer AHS 5.2’nin BTLD disketi kullanılıyorsa, ATAPI CDROM desteği için “ATAPI” yerine “wd” driver’ı link edilir.
Enter’a basıldıktan sonra boot disketinden okuma normal şekliyle devam eder, ve bir süre sonra sizden ATAPI CDROM’u tanıyabilmesi için gereken sürücülerin bulunduğu BTLD disketini ister. Bu disket takılıp enter’a basıldığında ekstra bir sürücü yükler ve bunu o an mevcut olan sürücü ile değiştirmeyi isteyip istemediğiniz sorulur. Bu soru enter ile geçildikten sonra tekrar boot disketi istenir ve kurulum aşağıda anlatılacağı şekilde devam eder.
  1. Sistemin yüklenmesi
Yukarıda anlatılan kontroller yapıldıktan ve disketler hazırlandıktan sonra kurulum aşamasına geçilebilir. CD’nizi CDROM’unuz içine koyup, ilk disket ile SCO’nun “Boot” promptunu alıp gerekli bağlantılar (link) gerçekleştirildikten sonra ilk olarak mavi bir ekran gelir. Bu ekranda birkaç uyarı ve enter’a basarak geçilmesi beklenen bir “Continue” yazısı vardır.
Enter’a basılıp ilk ekran geçildikten sonra ikinci ekranda hangi media’dan kurulum yapacağınız sorulur. Burada ara tuşu ile seçenekler görülüp, ok tuşları ile seçim yapılıp enter tuşu ile onaylanır. Seçilecek media SCSI CDROM ve de sistemde takılı olan CDROM’unuza uygun olan host adaptörü, ID ve diğer seçilmesi gerekenler seçilip “Continue” ile devam edilir.
Sistem gerekli yüklemeleri yapabilmek için size CD’nizin driver içinde olup olmadığını sorar, ve bu sorular “Ok”’I seçerek, kısaca enter’a basarak geçilir.
Gelen bir sonraki ekran klavyeniz ile ilgilidir. Burada yapılabilecek en iyi seçim zaten seçilmiş olan “US English”’dir. Klavye tipiniz listelenenlerden biri değilse, mesela Türkçe Q ise, bu seçenek seçilir ve devam edilir (“Accept above choices”).
Takip eden ekranda, kullanıcı lisans numaranızı girmeniz gereklidir. Bu lisans numarası SCO OpenServer 5.0 paketinde mevcuttur ve sadece size aittir.
Lisans numarasını (License Number) ve lisans kodunu (License Code) doğru girmeden bir sonraki ekrana geçmenize izin verilmez.
Lisans bilgilerinize göre, bir sonraki ekranda kurulum şekli görüntülenir. Biz burda “Fresh” (taze) kurulumdan bahsedeceğiz (Daha önce sistemde SCO olsun-olmasın sisteme yapılabilecek olan kurulum şekli).
Bir sonraki ekranda, sistemle ilgili bazı bilgiler girilir. Sistemin ismi, içinde bulunduğu domain ismi, güvenlik derecesi ve makinenin bulunduğu yerin içinde olduğu zaman dilimi. İlk ikisi text olarak girilebilecek bilgidir. Güvenlik derecesi dört seçeneklidir. Düşük, geleneksel, geliştirilmiş ve yüksek güvenlik dereceleri. Sistemin hiçbir dış bağlantısı olmadığı durumlar dışında düşük güvenlik derecesi tavsiye edilmez. Bazı durumlarda için ise, SCO’nun geliştirilmiş ve yüksek güvenlik seçenekleri mevcuttur. Bu güvenlik derecelerinde şifre dosyasının gizlenme şekli diğerlerinden farklıdır ve kullanıcılar bazı zaman aralıklarında şifre değiştirmeye zorlanırlar, ve şifrelerinin içinde rakam, büyük harf…vb bulunması mecburidir. Bu derece yüksek güvenlik gerekmeyen yerlere “traditional” yani geleneksel güvenlik derecesi tavsiye edilir, yeterlidir.
Zaman dilimi seçiminde ise, Türkiye için, 4. Seçenek (Eastern Standard.Summer Time) üstünde ara tuşuna basıldığında gelen üç seçenekli ekrandan ilki üzerinde (Geographical Area) üstünde ara tuşuna basılır, “Other” seçeneği seçilir.İkinci seçenek olan “Time Zone” kısmında ise “Manually select” seçeneği seçilir, enter’a basılır.
Bu noktada yeni bir ekran gelir. Bu ekran da üç seçeneklidir. İlk seçeneğe Türkiye girilir. İkinci seçenekte “East” seçilir. Ve son seçeneğe de rakam ile “2” girilir. Seçilenler iki defa “Accept the above choices” seçilerek kabul edilir ve ilk menüye dönülür. Bu ekranda yapılması gerekenler bitmiştir ve tekrar “Accept the above choices” seçilerek bir sonraki ekrana geçilir.
Gelen bir sonraki ekranda, Hard Disk Setup bölümünde tüm diskin mi UNIX için kullanılacağı, yoksa fdisk programı ile partition ayarlamaları yapılıp yapılmayacağı, ikinci bölüm olan Optional Software kısmında da SCO OpenServer 5.0 ile gelen programlardan hangilerinin kurulup hangilerinin kurulmayacağı seçilir.
Eğer SCO OpenServer 5.0’ı ilk kez kuruyorsanız hiçbirşey değiştirmeden o ekranda olanları “Accept the above choices” ile kabul etmek en kolayı olacaktır.
Fakat eğer daha önceden diskinizde bir partition’ınız varsa ve bunun içindeki bilgileri kaybetmek istemiyorsanız, ilk bölümden “Interactive fdisk/divvy” seçeneğini seçmelisiniz.
Sonraki menüde gelen Network Cards, Network Address, Video and Graphics seçenekleri olduğu şekilde bırakılmalıdır. Dökümanın ilerleyen bölümlerinde bunlarla ilgili açıklamalar mevcuttur. Mouse seçeneğinde, seri porta takılı mouse için Logitech Serial mouse, Compaq ve IBM gibi makinelerde bulunan keyboard mouse’lar için ise low resolution keyboard mouse seçilmelidir. E-mail sistem bölümünde iki seçenek mevcuttur. Bunlardan arzu edilen seçilir.
Bir sonraki menüde, sistemin süper kullanıcı şifresi sorulur. Bu şifre girildikten sonra kurulum başlamaya hazırdır. Eğer “Interactive fdisk/divvy” seçilmemişse kurulum direk başlar. Eğer Interactıve fdisk/divvy seçilmişse, ekrana bazı yazılar gelir.
İlk gelen bölümden sabit disk tanımlamaları için devam seçeneği olan “1” seçilir.
Gelen menüde (IDE Makinada) disk parametrelerinin görüntülenmesi ve değiştirilmesi işlemleri yapılabilir. Görüntülenmesi için “1”, değiştirilmesi için “2”ye basılır. “q” ile çıkıldığında fdisk programının ekranı karşımıza gelir. Fdisk’in seçeneklerinden 1 ile partition tablosunun ekrana görüntülenmesi, 2 ile tüm diskin UNIX yapılması, 3 ile diskin partition tablosunda boş kalan kısmının UNIX yapılması, 4 ile UNIX partition’ının manual olarak yapılması, 5 ile seçilen partitionlardan birinin aktif hale getirilmesi, 6 ile herhangi bir partition’ın silinmesi, 7 ile bir partition yaratılması yapılabilir. Bu programda yapılması gereken şey, ya 2 ile bütün diski UNIX’e ayırmak, ya 3 ile tanımlanmamış bölümü UNIX partition’ı yapmak ya da bir partition yapıp bunu UNIX için kullanmaktır. Bir UNIX partition’ı yapıldığında, buna SCO OpenServer 5.0 kurmak için bu partition’ın aktif olasına dikkat etmek gereklidir.
Gerekli partition ayarlamaları yapıldıktan ve “q” ile fdisk programından çıkıldıktan sonra Bad Track Table’ı düzenleyici bir program çalışır. Bu programda enter’a basılarak mevcut olan değer seçilir. Ardından boot dosya sistemi için ayrılacak olan miktar sorusu, 15000, yani o an bulunan değer seçilerek geçilir. Bu değer boot dosya sistemi için yeterli bir miktardır.
Sonraki soru swap miktarı ile ilgilidir. Bu seçilmiş olarak mevcut hafızanın 1.5 katı bir değerle gelir, ki bu yeterli bir değerdir. Ama yüksek hafıza gerektiren programlar çalıştırılacaksa, bu değer yukseltilebilir.
Sonraki bölümlerde ayrı bir dosya sistemi isteyip istemediğiniz sorulacaktır. Buna eğer yeterli disk yeriniz mevcut ise evet demek iyi bir tercih olacaktır. Bu hem disketteki dağılmayı aza indirerek hızı arttırır, hem de ana dosya sisteminizde bir hasar olduğunda bu yeni dosya sistemindeki verilerinizin kurtarılması mümkün olabilir.
Bu soruya cevap verdikten ve miktarını ayarlayıp dosya sistemi tipini seçtikten sonra kuruluma başlanır. Bu noktadan sonrası bilgisayara bırakılır. Gerekli dosya sistemlerini oluşturup gereken sistem dosyalarını diskinize kopyaladıktan sonra kurulum yüzdesini ekranda gösteren bir sayaç ile kurulum devam eder. Herhangi bir problem olup olmadığı sol üst köşede sürekli hareket halinde olan “*” karakterlerinden anlaşılabilir.
Bir sorun olmadan sistem kurulduğunda size sistemin kurulumunun bittiğini ve sistemi güvenli bir şekilde kapatabileceğinizi bildirir. Makine kapatılıp açıldığında “Boot” prompt’u aldığınızda, sistem sorunsuz bir şekilde çalışmaya hazır demektir.
4. Temel UNIX Komutları
i- Normal ve Özel Dosyalar, Dosya Tipleri, File Komutu
UNIX üzerinde “ls -l” komutu kullanılarak directory listesi alındığında karşımıza çıkan listede ilk bölüm dosyanın tipi ve izinleri hakkındadır (izinlerden ileriki bölümlerde bahsedilecek). Bu liste alındığında çıkan ilk karakter dosyanın tipini gösterir.
“ls -l” komutunun ilk bölümü 10 harflik bir gruptur, ve bunun ilk hanesi dosya tipi, diğer dokuz hanesi ise dosyanın izinleri ile ilgilidir.
Bu ilk karaktere göre dosya tipleri ?öyledir:
d ise dosya bir directory'dir
- ise dosya normal bir program , veri dosyasıdır
s ise sistemin kullandığı özel bir dosya tipidir
b ise sisteme bağlı bir aletle bloklanmış bilgi alış-verişi yapmak için kullanılan bir dosyadır
c ise sisteme bağlı bir aletle karakter bazında bilgi alış-verişi yapmak için kullanılan bir dosyadır
p pipe (borular)
Bir dosya hakkında bilgi almak için “file” komutu kullanılır. “file” komutundan sonra dosya ismi argüman olarak verilir enter’a basılırsa o dosyanın tipi ekranda görüntülenir. SCO UNIX birçok dosya formatını tanıyabilir. “file” komutunun yaptığı, eğer dosya normal bir dosya değilse bunu ekrana yazmak, eğer normal bir dosya ise bunu /etc/magic dosyası içindeki satırlarla karşılaştırıp uyan bir dosya tipi varsa bu tipin ne olduğunu ekranda görüntülemektir.
ii- Dosyaların Görüntülenmesi
Dosyaların görüntülenmesi iki şekilde anlaşılabilir. Birincisi, dosya listesinin alınması, bulununlan directorydeki dosyaların isimlerinin, boyutlarının ve izinlerinin ne oldugunu görmek; ikincisi de bir text dosyayı ekrana yazdırmak, yani içeriğini görmek.
İlk olarak dosyaların listelenmesinden başlayacağız:
Dosyaları “ls veya l” komutu ile listeleyebiliriz. O an içinde bulunulan directory’nin listesini alfabetik sıralı halde gösterir. Bu listeleme sırasında çeşitli opsyonlar belirtilerek listenin istenen şekilde olması sağlanabilir.
Opsyonlar temelde be? ana gruba bölünmü?lerdir. Bu bölümler ;
I veya E - alanlar
O - kısıtlamalar
R - Tekrarlama (recursion)
S - Sıralama düzenleri ve diğer kalanlar.
Bu opsyonları daha detaylı bir şekilde incelediğimizde ;
-I[hplogan] veya -E[hplogan]
-I opsyonu listede I harfinden sonra gelenlerinlisteyedahiledileceğini
-E opsyonu ise dahil edilmeyeceğini belirtir.
[] parantezinin içinde yer alan opsyonlar istenilen sırada ve sayıda kullanılabilirler. Parantez içine alınmaları gerekmez , burada gösterim kolaylığı için bu yola başvurulmuştur.
h başlıklar
p korumalar
l link sayıları
o sahibi
g grubu
a son kullanıldığı zaman
n adı
Örnek olarak ls -Eog komutu directory listesini dosyaların sahiplerinin ve gruplarının isimlerini göstermeden verir.
-O[abcdfpx] opsyonu ise belirli kısıtlamalar ile listeyi döker. Bu kısıtlamalar dosya tipi bazındadır. -O opsyonundan sonra gelen dosya tipleri listelemede görünmezler.
a arşiv dosyaları
b blok alet dosyaları
c karakter alet dosyaları
d directory'ler
f normal dosyalar
p pipe ( borular )
x çalıştırılabilen dosyalar
Örnek olarak ls -Od komutu directory'ler haricindeki dosyaların listesini verir.
-R[rakam] opsyonu listenin dizin yapısında kaç altdizin derinliğine ineceğini belirler. Birşey belirtilmezse sonsuz derinlikte liste verilir.Buradaki derinlik listesi alınan directory'nin altındaki başka dalların listesinin ne kadar uztılacağıdır. (Derinleştirileceği)
-S[acmns] opsyonu ise liste verilirken sıralamanın neye göre yapılacağını belirler.
a son kullanım zamanına göre (en son kullanılan en başta)
c karakter sayısı ( en önce en büyük )
m değiştirilme zamanı (en son değiştirilen en başta)
n adı
s büyüklüğüne göre ( c opsyonu ile aynı )
Bu opsyonlardan herhangi biri -r opsyonu ile beraber kullanıldığında listeler ters yönde oluşurlar. ( en ufaktan en büyüğe doğru )
iii- Dosyaların İzinleri ve Bu İzinleri Değiştirme
Kullanıcıya ait özel bilgilerin başkaları tarafından korunması da sistem tarafından sağlanır. Sistemdeki her dosyanın izinleri vardır. Bu izinler kimlerin o bilgi üzerinde hangi haklara sahip olduklarını belirtir. İzinlerin düzeni ise şu şekildedir:
  • Dosyanın sahibi için olan izinler
  • Dosyanın dahil olduğu grup için olan izinler
  • Dosyanın sahibi ve dahil olduğu grubun dışında kalanlar için izinler
Her bölüm için olan izinler de kendi içlerinde üçe ayrılırlar. Bu ayrım ise şu şekilde yapılır:
Okuma izni ( r harfiyle belirtilir)
Yazma izni ( w harfiyle belirtilir)
Çalıştırma izni ( x harfiyle belirtilir)
Böylece elimizde dokuz haneli bir izin tablosu ortaya çıkmış olur. Bu dokuz hanenin başına bir hanelik de dosya tipi karakteri ekleyerek her dosyanın ne olduğunu ve izinlerini belirten on hanelik bir tablo elde edilir.Dosya tipi karakteri o dosyanın ne tip bir dosya olduğunu belirtir (İlk bölümde açıklanmıştı).
Bu konunun daha iyi anlaşılabilmesi için örneklerle bu konuyu açıklığa kavuşturmaya çalışalım.
-rwxr-x--- tipinde bir dosyaya ait izinlerimiz varsa.
İlk karakter olan - işareti bize bu dosyanın normal bir dosya olduğunu belirtir.
Sonraki üç karakter olan rwx bize bu dosyanın sahibinin izinlerini belirtir. Bu dosyanın sahibinin bu dosyayı okuma , dosyanın bilgilerini değiştirme ve bu dosyayı çalıştıma izni vardır. Dosyanın çalıştırma izni ancak bu dosya çalışabilecek bir programsa verilmelidir.
Onlardan sonraki üç karakter olan r-x ise bu dosyanın sahibinin bağlı bulunduğu grubun izinlerini belirtir. Örnekte bu gruba dahil olanların bu dosyayı okuma ve çalıştırma izinleri vardır. Dosyanın içeriğini değiştiremezler.
En sondaki üçlük grup olan --- ise bu grubun ve dosyanın sahibinin dışında kalanların izinleridir. Görüldüğü gibi bu kullanıcıların bu dosya üzerinde işlem yapma hakları yoktur. Okuyamaz , değiştiremez ve çalıştırmazlar.
Dosyanın sahibinin adı ve sahibinin bağlı olduğu grup adı bu izinlerin sağ tarafında yer alır. Böylece bir dosyaya baktığımızda kime ait olduğunu ve grubunu görebiliriz. Örnek olarak ;
-rw-rw-r-- 1 tek proje .......... dosya1
Tek adlı kullanıcının sahibi olduğu bu dosya ( dosya1 ) sahibi ( tek ) için yazma ve okuma izinlerine , tek'in dahil olduğu proje adlı grup için yine okuma ve yazma izinlerine , onların dışında kalan herkes için de sadece okuma iznine sahiptir.
Eğer bu dosyanın bir veri dosyası olduğunu kabul edersek tek adlı kullanıcı ile proje adlı gruba dahil olan diğer kullanıcılar bu dosyadaki bilgileri görüp , değiştirebilirler onların dışında kalan kullanıcılar ise sadece bu dosyadaki bilgileri görme hakkına sahiptirler.
Bir dosyanın ya da directory’nin sahip olduğu izinler “chmod” komutu ile değiştirilebilir.
Bir dosyanın izinleri , kullanıcı o dosyanın sahibi ise veya super kullanıcı ( super user ) ise değiştirilebilir. Bir dosyanın izinlerini değiştirmek için iki yöntem vardır , sonuçları aynı olan bu iki yöntemden kullanıcı kendine daha uygun geleni seçebilir.
A - Sembolik mod (symbolic mode)
Bu yöntemde ilk olarak izni değiştirilecek alanın hangisi olduğunu belirleyen kodlar vardır.
u ___ Dosya sahibi (user)
g ___ Dosya grubu
o ___ Bunların dışında kalan diğer kullanıcılar
a ___ Bu yukardakilerin tümü (all)
İkinci olarak izinlerin ekleneceğini , çıkarılacağını ,veya eşitleneceğini belirten kodlar gelir.
- İzinleri çıkarır (iptal eder)
+ İzinleri ekler
= İzinleri kendinden sonra gelen kodlara eşitler.
Üçüncü olarak bu izinlerin neler olduğunu belirten kodların geldiği bölüm vardır.
r Okuma izni
w Yazma izni
x Dosyalar için çalıştırma izni , directory'ler içinse arama izni.
B - Kesin mod ( absolute mode )
Bu yöntemde izinler için belirlenmiş olan rakamların kombinasyonu ile izinler ayarlanır.
4 Okuma izni
2 Yazma izni
1 Çalıştırma izni
Örnekler vererek izinlerin değiştirilmesinin daha iyi anlaşılmasına yardımcı olmaya çalışalım
chmod g+w kitap kitap adlı dosyaya grubu için yazma izni ekler.
chmod u=rwx,go=r liste liste adlı dosyada sahibine yazma, okuma ve çalıştırma izinleri onun dışında kalan grup ve diğer kullanıcılara da sadece okuma izni verir.
chmod a-x deneme tüm kullanıcılar için çalıştırma iznini iptal eder.
Bu yukarda verilen örneklerin kesin modda karşılıkları ise sırasıyla ;
chmod 664 kitap sahibi için okuma ve yazma ,grubu için okuma ve yazma, diğerleri için sadece okuma izni.
chmod 744 liste sahibi için tüm izinler var , grubu ve diğerleri için sadece okuma izni var.
chmod 666 deneme tüm kullanıcıların okuma ve yazma izinleri var.
Kesin modda ekleme ya da çıkarma işlemi yapılamaz. Bu işlemi yapmak için dosyaya ait yeni izinleri yazmak gerekir. Örnek olarak okuma izni olan bir dosyaya tüm kullanıcılar için yazma iznini ekleyecek olalım; sembolik modda bu işlem
chmod a+w deneme şeklinde bir komut deneme adlı dosyaya daha önceki izinlerine ek olarak tüm kullanıcılar için yazma izni ekler oysa aynı işi kesin modda yapmak için chmod 666 deneme ?eklinde bir komut vermemiz gerekmektedir.


 

iv- Dosyaların Sahipleri, Gruplar
Dosya listesi, yukarıda da anlatıldığı şekilde, ls komutu ve -l parametresi kullanılarak alınırsa, dosyanın izinlerinin yanında dosyanın sahibinin login ismi ve onun yanında o dosyanın ait oldugu grubun ismi görüntülenir. Kullanıcı, gene yukarıda da anlatıldığı gibi, eğer dosyanın sahibi ise, o dosyanın izinlerini değiştirebilir. Aynı şekilde dosyanın sahibi, o dosyanın sahibini de değiştirebilir. Dosyanın sahibi dışındaki kullanıcılar o dosyanın sahibini değiştiremezler. Bunu sadece süper kullanıcı yapabilir, ve bu iş için de “chown” komutu kullanılır.
Chown komutu belirtilen dosya/directory 'nin sahibini yine belirtilen isim ile değiştirir.
Örnek olarak ;
-rw-r--r-- 1 root system 1280 Jun 21 11:17 commands
-r-xr-xr-x 1 root system 35636 Jun 15 12:35 keys
-rw-r--r-- 1 root system 35 Jun 1 23:53 keys.tr
-rw-r--r-- 1 root system 264 Jun 3 16:40 keys.tur
-rw-r--r-- 1 root system 16533 Jun 8 01:17 mpm
-r-xr-xr-x 1 root system 53500 Jun 23 00:05 shell
-rwxr--r-- 1 root system 235 Jun 21 08:12 sp
-rwxr-xr-x 1 root system 53434 Jun 28 19:54 unix
-rwxr-xr-x 1 root system 52899 Jun 28 19:32 unix.bak

Şeklinde bir directory listesinde shell adlı dosyanın sahibi root olarak belirlenmiştir. Shell adlı dosyanın sahibini değiştirmek için
“chown tek shell” şeklinde bir komut verdiğimiz zaman daha önce root olan sahip adı tek olarak değişecektir. Bu işlem sonunda alınacak directory listesi ise ;
-rw-r--r-- 1 root system 1280 Jun 21 11:17 commands
-r-xr-xr-x 1 root system 35636 Jun 15 12:35 keys
-rw-r--r-- 1 root system 35 Jun 1 23:53 keys.tr
-rw-r--r-- 1 root system 264 Jun 3 16:40 keys.tur
-rw-r--r-- 1 root system 16533 Jun 8 01:17 mpm
-r-xr-xr-x 1 tek system 53500 Jun 23 00:05 shell
-rwxr--r-- 1 root system 235 Jun 21 08:12 sp
-rwxr-xr-x 1 root system 53434 Jun 28 19:54 unix
-rwxr-xr-x 1 root system 52899 Jun 28 19:32 unix.bak

şeklinde olacaktır. Bir dosyanın sahibini değiştirebilmek için kullanıcının ya o dosyanın sahibi ya da super kullanıcı olması gerekmektedir.
Dosyanın ait olduğu grubu değiştirmek için kullanılan komut ise, “chgrp”dır.
Chgrp komutu belirtilen dosya/directory 'nin grubunu yine belirtilen grup ile değiştirir.
Örnek olarak ;
-rw-r--r-- 1 root system 1280 Jun 21 11:17 commands
-r-xr-xr-x 1 root system 35636 Jun 15 12:35 keys
-rw-r--r-- 1 root system 35 Jun 1 23:53 keys.tr
-rw-r--r-- 1 root system 264 Jun 3 16:40 keys.tur
-rw-r--r-- 1 root system 16533 Jun 8 01:17 mpm
-r-xr-xr-x 1 root system 53500 Jun 23 00:05 shell
-rwxr--r-- 1 root system 235 Jun 21 08:12 sp
-rwxr-xr-x 1 root system 53434 Jun 28 19:54 unix
-rwxr-xr-x 1 root system 52899 Jun 28 19:32 unix.bak

Şeklinde bir directory listesinde shell adlı dosyanın grubu system olarak belirlenmiştir. Shell adlı dosyanın grubunu değiştirmek için
“chgrp staff shell” şeklinde bir komut verdiğimiz zaman daha önce system olan grup adı staff olarak değişecektir. Bu işlem sonunda alınacak directory listesi ise ;
-rw-r--r-- 1 root system 1280 Jun 21 11:17 commands
-r-xr-xr-x 1 root system 35636 Jun 15 12:35 keys
-rw-r--r-- 1 root system 35 Jun 1 23:53 keys.tr
-rw-r--r-- 1 root system 264 Jun 3 16:40 keys.tur
-rw-r--r-- 1 root system 16533 Jun 8 01:17 mpm
-r-xr-xr-x 1 root staff 53500 Jun 23 00:05 shell
-rwxr--r-- 1 root system 235 Jun 21 08:12 sp
-rwxr-xr-x 1 root system 53434 Jun 28 19:54 unix
-rwxr-xr-x 1 root system 52899 Jun 28 19:32 unix.bak

şeklinde olacaktır. Bir dosyanın grubunu değiştirebilmek için kullanıcının ya o dosyanın sahibi ya da belirlenen gruba dahil olması ve o grup için yazma izninin bulunması gerekmektedir.
Bir kullanıcı olarak, yaratılan her file için default bir izin yazılır. Bu izin genelde kullanıcıya yazma ve okuma hakkı verme ve de grup elemanları ile diger kullanıcılara sadece okuma izni verilmesi şeklindedir. Eger bu oluşturulan seçilmiş izin değiştirilmek isteniyorsa “umask” komutu kullanılır.
Umask komutu yeni yaratılan dosyaların hangi izinlerle yaratılıcağını belirler. İzinler ayarlanırken umask ile belirlenen kodun complement'i o anda sistemde geçerli olan kodla AND işlemi yapılır ve sonuç yaratılacak dosyanın izinlerini oluşturur.
“umask” o anda geçerli olan kodu basar.
“umask 022” yeni dosya yaratma iznini 022 olarak saptar, böylece normalde 777 izni ile yaratılacak bir dosya 755 izniyle 666 olarak yaratılacak bir dosya da 644 izniyle yaratılır.
  1. Dosyaları kopyalama, silme, ismini değiştirme, text dosyaları görüntüleme
Dosya Görüntüleme, “cat” komutu:
Cat komutu belirtilen bir dosyayı okur ve ekrana yazar. Okunan dosyaların ASCII şaklinde olması gerekmektedir. ASCII olmayan dosyalar cat komutu ile okunmaya kalkıldığında ekrana anlamsız karakterler gelecektir. İstendiğinde okunan dosya ekran yerine başka herhangi bir dosyaya da gönderilebilir. Bu da komutun sonuna eklenecek > işareti ile sağlanır.
cat deneme şeklinde bir komut deneme adlı dosyayı okuyarak içeriğini ekrana yazar.
cat deneme > deneme2 şeklinde bir komut ise deneme adlı -dosyayı okur ve deneme2 adlı dosyaya yazar. Eğer sistemde o sırada deneme2 adlı bir dosya yoksa komut tarafından önce bu dosya açılır. Eğer bu dosya zaten sistemde varsa o zaman üzerine yazılır. Bu şekilde bir komut dosyanın eski içeriğinin kaybolmasına yol açar.
cat deneme deneme2 şeklinde bir komut ise önce deneme ardından da deneme2 adlı dosyaların ekrana yazılmasına yol açar.
Cat komutu ile birlikte kullanılabilinecek parametreler ise ;
-s Eğer cat komutu istenilen isimde bir dosya bulamazsa ekrana herhangi bir mesaj yazmaz.
-u Ekrana giden çıktıyı buffer'a yazmadan doğrudan yollar.
Dosya görüntüleme, “pg” komutu:
Pg komutu kendinden sonra belirtilen dosyayı okuyup ekrana sayfa sayfa getirir. Pg komutu her sayfanın sonunda durup kullanıcıdan bir komut bekler ve girilen bu komuta göre davranır. Bu komut yerine ENTER tuşuna basmak bir sonraki sayfanın ekrana gelmesini sağlar, bundan başka verilebilinecek komutlar şunlardır ;
no No ' da belirtilen sayfayı ekrana getirir.
+ no Bulunulan sayfadan no kadar sonraki sayfayı ekrana getirir.
- no Bulunulan sayfadan no kadar önceki sayfayı ekrana getirir.
l Ekrandaki görüntüyü bir satır yukarı kaydırır.
xxxxxx