Ritim İstanbul A5 Blok No:46, D:112, 34846 Maltepe/İstanbul

Yeni başlayanlar için Linux’a giriş

Sıfırdan öğrenmeye başlayanlar için Linux başlangıçta karmaşık görünebilir. Ahmet Çügen Linux ile yeni tanışanlar için doğrudan kendi çalışmalarından hareketle bir ön bilgilendirme yazısını dört ana başlıkta okurlara sunuyor.

  • Linux ne olduğunu öğrenme
  • Linux tarihçesi hakkında bilgi sahibi olma
  • Linux dosya sistemi hakkında fikir sahibi olma
  • Dosya hiyerarşisine hakim olma

Mayıs 2021’deki bir araştırmaya göre dünya genelinde Linux kullanan kullanıcı sayısı takriben 3.5 milyar civarındaydı. Bu rakam bize Linux’un son derece geniş bir kullanım yaygınlığı olduğunu gösteriyor.

- ADT Çözümleri -
Yönetilen Hizmetler Görseli
Advanced Dynamics Teknoloji'de işletmeler için dış kaynaktan hizmet modeliyle Yönetilen Hizmetler çözümleri sunuyoruz.

Linux’a giriş

Linux, Linux çekirdeğine dayanan ücretsiz ve açık kaynaklı ve çok yönlü bir yazılımdır. Daha çok işletim sistemi olarak tanınır ve bu işletim sistemleri Linux dağıtımları olarak bilinir. Örnekleri arasında Debian, Ubuntu, Fedora, CentOS, Gentoo, Arch Linux ve diğerleri sayılabilir.

Linux çekirdeği 1991’den beri aktif olarak geliştirilmektedir ve son derece çok yönlü ve uyarlanabilir olduğu kanıtlanmıştır. Web sunucularından cep telefonlarına kadar tüm dünyada çok çeşitli bağlamlarda Linux çalıştıran bilgisayarlar bulabilirsiniz. Bugün, tüm bulut altyapısının %90’ı ve dünyadaki akıllı telefonların %74’ü Linux tarafından desteklenmektedir.

Bununla birlikte, Linux dosya sistemleri Windows veya MacOS’ta bulunanlardan farklı bir yapıya sahip olduğundan, Linux’a yeni başlayanlar için bu durum biraz karmaşık kabul edilebilir. İlave olarak, Linux tabanlı işletim sistemleri büyük ölçüde komut satırı arabirimiyle çalışmaya dayanırken çoğu kişisel bilgisayar grafik arabirimleri kullanır.

Linux nedir?

Linux hakkında bilinmesi gereken ilk şey onun başlı başına yalnızca bir işletim sistemi olmadığıdır. Aslında Linux, Unix türevi işletim sistemi çekirdeğidir. Linux; bilgisayar işletim sistemlerinin en temel parçası olan çekirdek yazılımlarından bir tanesidir. Ücretsiz dağıtıma sahip olduğu gibi açık kaynak kodları da kullanan Linux, kullanıcılar tarafından tekrar programlanabilmeyi ve geliştirilebilmeyi mümkün kılıyor.

Çekirdek (Kernel) : İşletim sistemi çekirdeği işletim sistemindeki her şeyin üzerinde denetimi olan merkezi bileşenidir. Uygulamalar ve donanım seviyesindeki bilgi işlemleri arasında bir köprü görevi görür. Çekirdeğin görevleri sistemin kaynaklarını yönetmeyi de kapsamaktadır. 

Linux çekirdek
Linux çekirdeği

Açık kaynak kodlu olmasından dolayı Linux’un yüzlerce farklı sürümü vardır. Bütün Linux sürümleri, işletim sisteminin temeli olan ortak çekirdeği kullanmaktadır. Bazı firmalar çekirdek üzerine kendi değişikliklerini ekleyerek işletim sistemini yapılandırmıştır ve ortaya çok sayıda Linux dağıtımı ortaya çıkmıştır.

Başlıca Linux Dağıtımları

Debian Tabanlılar: 

  • Debian
  • Ubuntu
  • Kubuntu

Rpm Paketi Tabanlılar

  • RedHat/Fedora
  • SuSE
  • CentOS
  • Scientific Linux

Diğerleri

  • Gentoo
  • Slackware

Kısa tarih

Linux 1991’de Finlandiyalı bir üniversite öğrencisi olan Linus Torvalds tarafından geliştirildi. UNIX’ın yazılım ortamında sıfırdan üretilen bu işletim sisteminde oradan alınmış herhangi bir kod bulunmuyor. 1992’de Linus Torvalds kendi geliştirdiği bu işletim sistemini daha çok geliştirici ve kullanıcının desteğini almak için özgür bir yazılım olarak GNU Kamu Lisansı aracılığıyla yayınladı. Böylelikle Linux ve GNU birbirlerinin eksiğini tamamlayıp tam bir işletim sistemi olarak kullanıcılarla paylaşılabilir hâle geldi. Linus Torvalds’ın GNU Kamu Lisansı’nı tercih etmesi Linux açısından oldukça kritik bir nokta. Zira Linux bu sayede dünya üzerindeki birçok gönüllü bilişim uzmanının katkısını almayı başardı, bu da işletim sisteminin gelişim sürecini olumlu etkiledi.

Linus Torvalds

Microsoft dahi Linux ile uyumlu uygulama piyasaya sürüyorsa o halde kazanmışım demektir.

Linus Torvalds, Linux işletim sistemi çekirdeğinin geliştiricisi

Linux’un 90’lı yıllarda kazandığı ilgi katlanarak büyüdü. En büyük rakibi olarak bildiğimiz Microsoft bile bu konudaki tutumunu değiştirdi . Microsoft’un günümüzün en popüler kod deposu GitHub’ı satın alması, Powershell’in artık Linux’ta kullanılabilir olması önemli bir gelişme ve başarıdır.

Linux dosya sistemi

Dosya sistemi disk üzerindeki dosyaların organize edilmesidir anlamına gelmektedir. Bir işletim sisteminin bir disk veya bölümleri üzerindeki dosyalarının izlerini bulmak için kullandığı yapı ve yönteme dosya sistemi (filesystem) denir. Linux işletim sisteminde de dosya ve dizinler diğer Unix türevi işletim sistemlerinde olduğu gibi hiyerarşik yapıya sahiptir. En üst düzeyde olan kök dizini olarak adlandırılan dizin, alt dizinleri içermektedir.

Linux işletim sistemlerinde genel olarak 2 farklı dosya tipi bulunmaktadır. 

  • Aygıt dosyaları 
  • Sıradan dosyalar 

Aygıt dosyaları sistemde bulunan donanım ile haberleşmeyi sağlayan dosyalarıdır. Sıradan 

dosyalar ise aygıt dosyalarının dışında kalan dosyalardır. Çok çeşitli sıradan dosya tipi 

bulunmaktadır. Üç farklı tipte aygıt dosya tipi bulunmaktadır.

  • Karakter aygıt dosyaları: Bu tür dosyalar ile erişilen donanımlar bilgilerini karakter karakter ilerletmektedir.
  • Blok aygıt dosyaları: Bu tür dosyalar ile erişilen donanımlar ile iletişim blok aktarma ile gerçekleştirilmektedir. 
  • Kuyruk dosyaları

Dizinler :

Basit bir ifadeyle Linux işletim sistemindeki Dizinler, dosyalar içeren klasörlerdir. Yukarıdaki kısımda bölümler için kullanılan terimlerle belirli miktarda çakışma görebilirsiniz. Bunun nedeni, Linux’un dizinleri ayrı bölümlere ayırmasıdır. Bu şekilde her biri için ve çoğunlukla da veri kaybına karşı korunma sağlamak için alan ayırabilir. Bunun amacı, bir bölüm çökerse ya da kaybedilirse bu durumun diğer bölümleri etkilememesidir.

Dosya hiyerarşisi

Linux bir Unix klonudur. Bu yüzden “Tekil Hiyerarşik Klasör Yapısı”nı benimsemiştir. Herşey / (slash) simgesiyle ifade edilen root klasöründen başlar, aşağıya doğru iner. Windows’taki gibi C: D: şeklinde sözde sürücüler (drivers) bulunmaz. Windows ortamında, dosyalarınızı C sürücüsü, D veya E sürücüsü gibi her yere koyabilirsiniz. Bu tarz dosya sistemlerine, “Hiyerarşik Yapı”lı denmektedir.

Linux, / (root) klasöründen başlayarak, boot işlemindeki önem sırasına göre klasörleri dizer. Eğer neden Windows’taki gibi \ (ters slash) işareti yerine, / (slash) işareti kullanılır; bu Linux’un Unix geleneğini takip etmesindendir. 

Linux dosya sistemi ve dizinleri
Linux dosya sistemi ve dizinleri

Linux Dosya Sistem Hiyerarşisi (kısaca FSSTND)

FSSTND’a göre root altındaki temel klasörler:

  • /bin : Olması şart komut dosyalarını içerir
  • /boot : Başlangıç için gerekli dosyaları bulundurur
  • /dev : Donanım dosyaları vardır
  • /etc : Sistem ayarlarını barındırır
  • /lib : Kütüphane dosyaları ve kernel modülleri bulunur 
  • /media : Kaldırılabilir aygıtların (CD-Rom, Flash bellek vs…) sisteme eklendiği klasördür.
  • /mnt : Bir dosya sistemini geçici olarak eklemek için kullanılır. 
  • /opt : Ekstra programların kurulması içindir
  • /sbin : Sistemi yöneticisiyle ilgili çalıştırabilir dosyaları tutar.
  • /srv : Sistemin sunduğu hizmetlerle alakalıdır
  • /tmp : Geçici dosyaları tutmak içindir
  • /usr : İkincil bir hiyerarşi 
  • /var : Değişken verileri saklar

Shell nedir?

Kullanıcıdan alınan komutları çekirdeğe ileterek işlemler yapmamızı sağlayan komut satırına kabuk(shell) denir. Kabuk, çekirdek ve donanımı(hardware) sarmalar. Kullanıcı, kabuk ile etkileşim halindedir. Kabuk bir nevi işletim sistemi görevi görür.

Moment.js nedir ve nasıl kullanılır?

JavaScript kütüphaneleri programlama sektöründe sıklıkla karşılaşılan sorunları çözmek ve otomatikleştirmek için geliştirilir. Popüler JavaScript kütüphanelerinden biri de Moment.js'tir. Peki Moment.js nedir ve programlama dünyasında...

JavaScript’te değişkenler ve aralarındaki farklar: var, let & const

JavaScript, web geliştirmenin temel taşlarından biri olarak, dinamik ve etkileşimli web siteleri oluşturmanın anahtarıdır. Bu güçlü programlama dilinin en temel yönlerinden biri, veri saklama...

Fiyat takip yazılımları nasıl çalışır?

E-ticaret dünyası her geçen gün daha rekabetçi bir hal alıyor. Bu ortamda, işletmelerin rakiplerini ve pazar trendlerini yakından takip etmeleri hayati önem taşıyor. İşte...

HTML div elementi ve kullanım senaryoları

Her gün milyonlarca web sayfasını ziyaret ediyor, okuyor veya üzerlerinde işlem yapıyoruz. Peki, son kullanıcılar için görsel olarak renderlanan bu sayfaların arkasındaki kodlarda kullanılan...

React ‘hook’ nedir ve ne için kullanılır?

React hook, React JavaScript kitaplığındaki bir özelliktir. Hook'lar, sınıf bileşenlerine ihtiyaç duymadan, fonksiyon bileşenlerinde durum (state) ve diğer React özelliklerini kullanmaya olanak tanır. İlk...

IPv4 ve IPv6 nedir? Aralarındaki farklar nelerdir?

Her gün internete bağlanıyoruz, ancak teknik olarak internete nasıl bağlandığımızla ilgili bir fikriniz var mı? İnternet, modern yaşamın ayrılmaz bir parçası haline geldi ve...

Daha fazla blog içerik

Moment.js nedir ve nasıl kullanılır?

JavaScript kütüphaneleri programlama sektöründe sıklıkla karşılaşılan sorunları çözmek ve otomatikleştirmek için geliştirilir. Popüler JavaScript kütüphanelerinden biri de Moment.js'tir. Peki Moment.js nedir ve programlama dünyasında...

JavaScript’te değişkenler ve aralarındaki farklar: var, let & const

JavaScript, web geliştirmenin temel taşlarından biri olarak, dinamik ve etkileşimli web siteleri oluşturmanın anahtarıdır. Bu güçlü programlama dilinin en temel yönlerinden biri, veri saklama...

Fiyat takip yazılımları nasıl çalışır?

E-ticaret dünyası her geçen gün daha rekabetçi bir hal alıyor. Bu ortamda, işletmelerin rakiplerini ve pazar trendlerini yakından takip etmeleri hayati önem taşıyor. İşte...

HTML div elementi ve kullanım senaryoları

Her gün milyonlarca web sayfasını ziyaret ediyor, okuyor veya üzerlerinde işlem yapıyoruz. Peki, son kullanıcılar için görsel olarak renderlanan bu sayfaların arkasındaki kodlarda kullanılan...