Unix Nedir? Unix İşletim Sistemi ve Unix Komutları

Unix Nedir? Unix İşletim Sistemi ve Unix Komutları

Unix Nedir?

Unix, farklı donanım ortamları arasında yüksek esneklik ve veri adaptasyonu sağlayan, çoklu görev ve çok kullanıcı uyumlu bir işletim sistemidir. Bugün İnternet olarak bildiğimiz veri ortamının en az %80’i, Unix ya da Unix uzantısı olan (örneğin Linux) işletim sistemleri üzerinde çalışmaktadır. Hatta daha ileri gidecek olursak, bilgi işlemi network tabanlı yapıya dönüştüren bu sistem İnternet’in gelişiminin de yolunu açmıştır. Gelin bunun nasıl olduğunu Unix’in kısa tarihçesine bakarak öğrenelim:

Unix kısa tarihçe

1960’larda sonradan AT&T olarak bileceğimiz Bell Labs, General Electric ve MIT (Massachusetts Institute of Technology) birden fazla kullanıcının tek bilgisayara aynı anda erişmesini sağlayacak etkileşimli bir sistem geliştirmek için bir araya geldi. Sonuçların maliyetleri karşılamadığını düşünen Bell Labs kısa süre sonra projeden çekildi. Bell’de görevli 2 yazılım uzmanı bilim insanı (Ken Thompson and Dennis Ritchie) ise projenin neler vadettiğini görerek sistem üzerinde çalışmaya devam etti. 

1973’e dek tek görevli olarak geliştirilen sistem o yıl C üzerinde yazılan ilk versiyon olan 4. sürümünü tanıttı ve bir bakıma Unix’in başarı hikayesi başlamış oldu. O tarihten itibaren akademilerin ve profesyonel ya da amatör olsun pek çok girişimcinin ilgisini çeken sistem bugün sayısız teknoloji devinin ve efsanenin doğuşuna yol açtı. 

Bunların belki de en ünlüsü olan Linux, Linus Torvalds tarafından 1991 yılında Unix tabanlı olarak yaratıldı. Ücretsiz olarak indirilebilen bu işletim sistemi Unix benzeri sistemlerin popülerliğinin artmasına yol açtı. Bugün MacOS bilgisayarlar, dizüstüler ve Android cihazlar dâhil olmak üzere çok sayıda modern sunucu, iş istasyonları, mobil cihazlar ve gömülü sistemler Unix tabanlı işletim sistemleri tarafından çalıştırılmaktadır.

Unix mimarisi

Unix işletim sistemi 3 ana katmandan oluşur: 

1- Çekirdek (kernel)

2- Kabuk (Shell) 

3- Uygulamalar ve kullanıcı komutları

Çekirdek, kullanıcı komutlarını kabuk aracılığıyla alır ve bellek ayırma ve dosya depolama gibi işlemleri gerçekleştirmek için donanıma erişir. 

Kabuk, komut satırı girdisini yorumlayan ve işi yapmak için gerekli programları çağıran arayüzdür. Girdiğiniz komutlar ya da programların işlemi tamamlandığında komut satırı komut istemi düzeyine geri döner.

Unix kabuk ve çekirdek katmanlarının birlikte nasıl çalıştığına dosya kopyalama fonksiyonu ile basitçe anlatırsak;

Eğer "file1" isimli bir dosyayı kopyalamak ve yeni dosyaya  "file2" ismini vermek istiyorsanız, komut satırına "cp file1 file2" yazarsınız. Komutu okuyan shell "cp" programını arayacak ve sonra kernel’e bu programı "dosya 1" üzerinde çalıştırmasını ve çıktıyı "dosya 2" olarak adlandırmasını söyleyecektir. Kopyalama işlemi bittiğinde, kabuk kullanıcıyı (yani sizi) komut istemine geri döndürür ve komut bekleme moduna geçer.

BT geliştirmede Unix’in önemi

Unix, aynı anda birden fazla gerçek kişi ya da yapay zekânın bilgisayar kaynaklarını kullanmasına izin veren çok kullanıcılı bir sistemdir. Bir terminal aracılığıyla ana bilgisayarla doğrudan iletişime izin verirken katmanlı yapısıyla bunu çok güvenli şekilde yapmanızı sağlar. Diğer bir deyişle çok etkileşimlidir ve kullanıcıya bilgisayar kaynakları üzerinde doğrudan kontrol sağlar. Unix ayrıca kullanıcıların birbirleriyle veri ve program paylaşmasına da olanak tanır. 

Bu sistemin donanım uyumluluğu da çok geniştir. 32-bit işlemciler, genişletilmiş bellekler, farklı türde sabit diskler gibi mevcut tüm fiziksel bileşenlerden de tam olarak yararlanabilmenizi sağlar. Üstelik makineden bağımsız bir dilde (C/C++) yazıldığından, PC'ler de dâhil olmak üzere birçok farklı dıonanım türüne taşınabilir ve özel gereksinimleri karşılamak üzere uyarlanabilir. Bu özellikler nedeniyle bildiğiniz tüm modern kurumsal BT sistemleri bir şekilde bu devrimsel işletim sisteminin türevidir.

Unix Avantajları

1- Ücretsiz olması:

Büyük oranda açık kaynak ve ücretsiz olan UNIX, yeni sistemler geliştirmek ve kurumsal BT altyapıları kurmak için çok ideal bir seçimdir.

2- Birden fazla kullanıcı ve çoklu görev desteği:

Birden fazla kullanıcı ve program bu sistem üzerinde paralel olarak farklı işler yapabilir. 

3- Taşınabilirlik:

Unix sunucular ve kullanıcılar boyunca yüksek oranda taşınabilir olduğu için kurumsal kullanım için idealdir.

4- Daha az bellek ihtiyacı:

Bu işletim sistemi sanal belleği çok verimli kullanma yeteneğine sahiptir. Yeni programlar ve görevler için ek bellek ihtiyacına proaktif olarak cevap verebilir.

5- Yüksek veri güvenliği:

Akademilerin, kamu kurumlarının ve büyük işletmelerin deneyimleriyle şekillenen UNIX çok güvenli bir platformdur. Verilerin kötüye kullanımını önlemek için farklı kullanıcılar için farklı izin seviyeleri sunar, kimlik doğrulama ile dosyaları ve görevleri yetkisiz kullanıma karşı korur.

6- Web barındırma için idealdir:

Elektronik ticaretin arttığı, dijital ödemelerin trilyon dolarlara ulaştığı günümüzde web barındırma, e-ticaret pazaryeri işletmeciliği ve tüm diğer web hizmetleri için güvenli ve ücretsiz seçenektir. 

Örnek Unix Komutları

Unix işletim sisteminin basitçe nasıl çalıştığını görmeniz için bazı temel komutlardan bahsedelim. İlk olarak dosya oluşturma komutu:

Unix dosya yaratma:

Yeni dosya oluşturmak için vi fonksiyonunu kullanabilirsiniz.

 vi coditblog

- Tebrikler, coditblog adıyla bir dosya yarattınız.

- Bu dosyayı düzenlemek için “i” tuşuna, düzenleme modundan çıkmak için “esc” tuşuna basabilirsiniz.

Unix dosyası içerik görüntüleme

Az önce yarattığımız “coditblog” doyasının içeriğini şu şekilde görüntüleyebilirsiniz:

cat coditblog

- Boş bir dosyayla karşılaştınız, çünkü az önce dosyada hiç değişiklik yapmamıştık!

Unix dosyası çoğaltma

Sistem üzerinde yeni dosya oluşturmanın yollarından biri de mevcut bir dosyayı çoğaltmaktır. Sırasıyla cp + çoğaltılacak dosya adı + tercih ettiğiniz yeni dosya adını yazın:

 cp coditblog coditmakale

- coditblog isimli dosyanın bir kopyasını coditmakale olarak yaratmış oldunuz.

Dosya içinde belirli bir bilgiyi arama  

Şu an okuduğunuz makaleyi coditmakale dosyasına girdiğimizi ve daha sonra belirli bir sözcüğü aradığımızı varsayalım. Kullanacağınız komut grep komutudur. Aradığımız kelime “bell” olsun:

 grep bell dict

- Yazımızın “1960’larda…“ diye başlayan ikinci paragrafı karşınıza çıktı, çünkü satır başı yapılana kadar her bir komut dizisi tek parça olarak kabul edilir. 

Diğer temel Unix komutları şunlardır:

cat --- kısa dosyalar oluşturmak ve görüntülemek için

chmod --- izinleri değiştir

cd --- dizini değiştir

cp --- dosyaları kopyalamak için

date --- tarihi göster

echo --- echo argümanı

ftp --- dosya indirmek veya yüklemek için uzak bir makineye bağlanma

head --- dosyanın ilk bölümünü görüntüle

ls --- hangi dosyalara sahip olduğunuzu görün

lpr --- standart yazdırma komutu

print - özel yazdırma komutu

more --- dosyaları okumak için kullanın

mkdir - dizin oluşturma komutu

mv - dosyaları taşımak ve yeniden adlandırmak için

rm - dosyayı kaldırma / dosyayı silme

rmdir - dizini kaldırma / dizini silme

pwd -  hangi dizinde olduğunuzu öğrenin

rsh - host üzerindeki komutu çalıştırma

setenv - bir ortam değişkeni belirleme

sort - dosya sıralama

tail - dosyanın sonunu görüntüleme

tar - arşiv oluşturma, dosya ekleme veya çıkarma

telnet - UNIX ağındaki başka bir makinede oturum açma

Çerezler Hakkında BilgilendirmeDeneyiminizi geliştirmek ve hizmetlerimizden en iyi şekilde faydalanabilmeniz için yasal mevzuata uygun çerezler kullanılır. codit.com.tr'yi kullanarak bu çerezleri kabul etmiş olursunuz.
Yardım
İletişim

İşinize yardımcı olması için satış ekibimizle veya iş danışmanlarımızla iletişime geçin.

Destek Merkezi

Daha fazla yardım arıyorsanız bir destek talebi oluşturun. Destek talebinimiz 7x24 kullanılabilir.

7x24 Telefon Destek
  • Turkey - Kocaeli+90 (262) 404 00 22
  • Turkey - İstanbul+90 (216) 888 08 18
  • Turkey - Bursa+90 (224) 334 16 41
  • Turkey - Ankara+90 (262) 404 00 22
  • Turkey - Kırklareli+90 (262) 404 00 22
  • Germany+49 234 545 725 85
  • England+49 234 545 725 85
  • Bulgaria+49 234 545 725 85
  • United States+49 234 545 725 85