Neler yeni

Yazılım Forum

Tüm özelliklerimize erişmek için şimdi bize katılın. Kayıt olduktan ve giriş yaptıktan sonra konu oluşturabilecek, mevcut konulara yanıt gönderebilecek, itibar kazanabilecek, özel mesajlaşmaya erişebilecek ve çok daha fazlasını yapabileceksiniz! Bu hizmetlerimiz ise tamamen ücretsiz ve kurallara uyulduğu sürece sınırsızdır, o zaman ne bekliyorsunuz? Hadi, sizde aramıza katılın!

Linux Temellerine Kapsamlı Bir Giriş: Yeni Başlayanlar İçin Rehber

Linux, açık kaynak kodlu ve özgür bir işletim sistemi çekirdeği olup, GNU projesi ile birleşerek tam teşekküllü işletim sistemleri (GNU/Linux dağıtımları) oluşturmuştur. Günümüzde sunuculardan akıllı telefonlara (Android), süper bilgisayarlardan gömülü sistemlere kadar birçok alanda karşımıza çıkmaktadır. Linus Torvalds tarafından 1991 yılında geliştirilmeye başlanan Linux, hızla büyüyen bir geliştirici topluluğu sayesinde dünyanın en güçlü ve esnek işletim sistemlerinden biri haline gelmiştir.

Neden Linux Kullanmalıyız?

Linux'un popülaritesi sadece teknik üstünlüklerinden değil, aynı zamanda felsefesinden de gelmektedir. İşte başlıca avantajları:
  • Açık Kaynak: Linux'un kaynak kodu herkes tarafından incelenebilir, değiştirilebilir ve dağıtılabilir. Bu, şeffaflık ve topluluk odaklı gelişimi teşvik eder.
  • Güvenlik: Mimarisinden dolayı Windows'a göre daha az virüs ve kötü amaçlı yazılım saldırısına uğrar. Yetkilendirme sistemi ve düzenli güncellemeler sayesinde oldukça güvenlidir.
  • Kararlılık ve Güvenilirlik: Uzun çalışma süreleri ve yüksek performans sunar. Özellikle sunucu ortamlarında tercih edilmesinin başlıca nedenidir.
  • Esneklik ve Özelleştirilebilirlik: Kullanıcının ihtiyaçlarına göre kolayca özelleştirilebilir. Masaüstü ortamından çekirdek yapılandırmasına kadar her şeyi değiştirebilirsiniz.
  • Maliyet Etkinliği: Çoğu Linux dağıtımı ve üzerinde çalışan yazılımlar ücretsizdir. Bu, hem bireysel kullanıcılar hem de büyük işletmeler için önemli bir avantajdır.
  • Geliştirici Dostu: Yazılım geliştirme için zengin bir araç yelpazesi sunar. Birçok programlama dili ve kütüphane doğal olarak desteklenir.

Temel Kavramlar ve Komut Satırı Arayüzü (CLI)

Linux dünyasına adım atarken karşılaşacağınız en önemli araçlardan biri Komut Satırı Arayüzü (CLI) veya yaygın adıyla Terminal'dir. Grafiksel arayüzler (GUI) birçok görevi kolaylaştırsa da, CLI çok daha güçlü, verimli ve çoğu zaman otomasyon için vazgeçilmezdir. Tüm temel Linux bilgilerini öğrenmenin en iyi yolu terminal kullanmaktır.

"Bir Linux kullanıcısının gücü, komut satırını ne kadar etkin kullandığıyla doğru orantılıdır."
- Bilinmeyen

1. Dosya Sistemi Hiyerarşisi (FHS)

Linux'ta her şey bir dosyadır. Dosya sistemi, tüm dosyaların ve dizinlerin düzenlendiği mantıksal bir yapıdır. Windows'taki C:, D: sürücülerinin aksine, Linux'ta tek bir kök dizin (`/`) bulunur ve diğer her şey bu dizinin altına yerleştirilir. İşte bazı önemli dizinler:
  • / (Kök Dizin): Tüm dosya sisteminin başlangıç noktasıdır.
  • /bin: Temel kullanıcı komutlarını (örn. `ls`, `cp`, `mv`) içeren yürütülebilir dosyalar.
  • /sbin: Sistem yönetimi için kullanılan yönetici komutlarını içeren yürütülebilir dosyalar (örn. `fdisk`, `shutdown`).
  • /etc: Sistem çapında yapılandırma dosyaları (örn. ağ ayarları, kullanıcı bilgileri).
  • /home: Kullanıcıların kişisel dosyalarını içeren dizinler (örn. `/home/kullaniciadi`).
  • /usr: Kullanıcı programları ve yardımcı programları için dosyalar (örn. `/usr/bin`, `/usr/lib`).
  • /var: Değişken verileri (örn. log dosyaları, spool dosyaları, geçici dosyalar) içerir.
  • /tmp: Geçici dosyalar için dizin, sistem yeniden başlatıldığında genellikle temizlenir.
  • /dev: Donanım aygıtları için dosya sistemindeki girişler (örn. diskler, terminaller).
  • /proc: Çalışan işlemler ve sistem bilgileri hakkında sanal dosyalar içerir.
  • /media: Çıkarılabilir ortamlar (CD/DVD, USB diskler) için bağlantı noktası.

2. Temel Komutlar

Terminalde çalışırken kullanacağınız en sık komutlardan bazıları şunlardır:

* `pwd` (Print Working Directory): Şu an bulunduğunuz dizinin tam yolunu gösterir.
Kod:
    pwd
    # Çıktı: /home/kullaniciadi

* `ls` (List): Bulunduğunuz dizindeki dosya ve dizinleri listeler. Çok sayıda parametresi vardır.
Kod:
    ls         # Mevcut dizini listeler
    ls -l      # Detaylı liste görünümü (izinler, sahip, boyut, tarih)
    ls -a      # Gizli dosyaları da gösterir (nokta ile başlayanlar)

* `cd` (Change Directory): Dizinler arasında geçiş yapmanızı sağlar.
Kod:
    cd Documents   # Documents dizinine gider
    cd ..          # Bir üst dizine döner
    cd ~           # Ana dizine (home directory) döner
    cd /var/log    # Doğrudan /var/log dizinine gider

* `mkdir` (Make Directory): Yeni bir dizin oluşturur.
Kod:
    mkdir yeni_dizin
    mkdir -p proje/src/main # Alt dizinleri de oluşturur

* `rmdir` (Remove Directory): Boş bir dizini siler.
Kod:
    rmdir bos_dizin

* `touch`: Boş bir dosya oluşturur veya mevcut bir dosyanın zaman damgasını günceller.
Kod:
    touch yeni_dosya.txt

* `cp` (Copy): Dosya ve dizinleri kopyalar.
Kod:
    cp dosya.txt yeni_dosya.txt         # Dosyayı kopyala
    cp -r kaynak_dizin hedef_dizin    # Dizini ve içeriğini kopyala (-r recursive)

* `mv` (Move): Dosya ve dizinleri taşır veya yeniden adlandırır.
Kod:
    mv eski_ad.txt yeni_ad.txt         # Yeniden adlandır
    mv dosya.txt hedef_dizin/          # Taşı

* `rm` (Remove): Dosya ve dizinleri siler.
Kod:
    rm silinecek_dosya.txt             # Dosyayı sil
    rm -r silinecek_dizin/             # Dizini ve içeriğini sil (dikkatli olun!)
    rm -rf tehlikeli_dizin/            # Uyarı almadan zorla sil (Çok Tehlikeli!)
Uyarı: `rm -rf` komutu geri alınamaz bir işlemdir. Kullanırken son derece dikkatli olun!

* `cat` (Concatenate): Dosya içeriğini görüntüler veya dosyaları birleştirir.
Kod:
    cat dosya.txt
    cat dosya1.txt dosya2.txt > birlesik.txt

* `less` / `more`: Büyük dosyaların içeriğini sayfa sayfa görüntülemek için kullanılır.
Kod:
    less buyuk_log_dosyasi.log

* `head` / `tail`: Bir dosyanın başlangıcını veya sonunu görüntüler.
Kod:
    head dosya.txt          # İlk 10 satırı gösterir
    tail -n 20 dosya.txt    # Son 20 satırı gösterir

* `man` (Manual): Komutların kullanım kılavuzlarını görüntüler. Her Linux kullanıcısının dostudur.
Kod:
    man ls
    man cd

3. Dosya İzinleri

Linux'ta her dosya ve dizinin belirli erişim izinleri vardır. Bu izinler, kimin ne yapabileceğini (okuma, yazma, çalıştırma) kontrol eder. `ls -l` komutuyla izinleri görebilirsiniz:

Kod:
-rw-r--r-- 1 kullanici grup 1234 May 10 10:00 dosya.txt
drwxr-xr-x 2 kullanici grup 4096 May 10 10:00 dizin/

İlk karakter dosya tipini belirtir (`-` dosya, `d` dizin). Sonraki 9 karakter üç gruba ayrılır:
* Sahip (Owner): Dosyayı oluşturan kullanıcı.
* Grup (Group): Dosyanın ait olduğu grup.
* Diğerleri (Others): Sistemin diğer tüm kullanıcıları.

Her grup için üç izin vardır: r (okuma - read), w (yazma - write), x (çalıştırma - execute). Sayısal olarak (oktal mod) da temsil edilebilirler: r=4, w=2, x=1. Örneğin, 755 (rwx r-x r-x) sahibi için tam izin, grup ve diğerleri için okuma ve çalıştırma izni anlamına gelir.

* `chmod` (Change Mode): Dosya izinlerini değiştirir.
Kod:
    chmod 755 script.sh           # Scripti çalıştırılabilir yapar
    chmod u+x script.sh           # Sadece sahibine çalıştırma izni ekler
    chmod go-w dosya.txt          # Grup ve diğerlerinden yazma iznini kaldırır

* `chown` (Change Owner): Dosya sahibini ve/veya grubunu değiştirir.
Kod:
    chown yeni_kullanici dosya.txt
    chown :yeni_grup dosya.txt
    chown yeni_kullanici:yeni_grup dosya.txt

4. Kullanıcı ve Yetki Yönetimi

Linux çok kullanıcılı bir sistemdir. Kullanıcıları ve onların yetkilerini yönetmek önemlidir.

* `sudo` (SuperUser DO): Belirli komutları root (süper kullanıcı) yetkileriyle çalıştırmanıza olanak tanır. Çoğu sistem yönetimi görevi için `sudo` kullanmanız gerekir.
Kod:
    sudo apt update   # Paket listelerini güncelle (Debian/Ubuntu)
    sudo useradd yeni_kullanici # Yeni kullanıcı ekle

* `su` (Switch User): Başka bir kullanıcıya veya root'a geçmenizi sağlar.
Kod:
    su -          # Root kullanıcısına geçer
    su kullanici2 # kullanici2'ye geçer

5. Paket Yönetimi

Linux'ta yazılım yüklemek, güncellemek ve kaldırmak için paket yöneticileri kullanılır. Dağıtıma göre farklılık gösterirler:

* Debian/Ubuntu tabanlı dağıtımlar (`.deb` paketleri): `apt` veya `apt-get`
Kod:
    sudo apt update             # Paket listelerini günceller
    sudo apt upgrade            # Yüklü paketleri günceller
    sudo apt install firefox    # Firefox'u yükler
    sudo apt remove firefox     # Firefox'u kaldırır
    sudo apt autoremove         # Bağımlılıkları kaldırır

* Red Hat/CentOS/Fedora tabanlı dağıtımlar (`.rpm` paketleri): `yum` veya `dnf`
Kod:
    sudo dnf check-update       # Paket listelerini günceller
    sudo dnf upgrade            # Yüklü paketleri günceller
    sudo dnf install httpd      # Apache web sunucusunu yükler
    sudo dnf remove httpd       # Apache web sunucusunu kaldırır

6. Giriş/Çıkış Yönlendirme ve Borular (Pipes)

Linux'ta komutların giriş ve çıkışlarını başka bir yere yönlendirmek veya birden fazla komutu birbirine bağlamak çok güçlü bir özelliktir:

* `>` (Çıkışı dosyaya yaz): Bir komutun çıktısını bir dosyaya yazar. Dosya varsa üzerine yazar.
Kod:
    ls -l > dosya_listesi.txt

* `>>` (Çıkışı dosyaya ekle): Bir komutun çıktısını mevcut bir dosyanın sonuna ekler.
Kod:
    echo "Bu yeni bir satır." >> dosya_listesi.txt

* [b`<` (Dosyadan giriş al):[/b] Bir komutun girdisini bir dosyadan okur.
Kod:
    sort < liste.txt

* [b`|` (Boru - Pipe):[/b] Bir komutun çıktısını diğer komutun girdisi olarak gönderir. Bu, karmaşık işlemler için çok önemlidir.
Kod:
    ls -l | grep .txt       # Sadece .txt uzantılı dosyaları listeler
    ps aux | grep firefox   # Çalışan firefox süreçlerini bulur

7. Metin Düzenleyiciler

Terminalde kullanabileceğiniz temel metin düzenleyiciler vardır. Yeni başlayanlar için `nano` daha kolaydır, ancak `vim` (veya Vi IMproved) çok güçlüdür ve profesyonel kullanıcılar arasında yaygındır.

* `nano`: Kullanımı basit ve anlaşılırdır. Alt kısımda kısayol tuşları gösterilir.
Kod:
    nano yeni_belge.txt

* `vim`: İki ana modu vardır: normal (komutlar için) ve insert (yazmak için). Çıkmak için `:q`, kaydetmek ve çıkmak için `:wq`, kaydetmeden çıkmak için `:q!` kullanılır.
Kod:
    vim program.py

8. Basit Kabuk Betikleri (Shell Scripting)

Kabuk betikleri, bir dizi komutu otomatik olarak çalıştırmak için yazılan basit programlardır. Temel otomasyon görevleri için idealdirler. Her betik genellikle bir shebang (`#!`) ile başlar, bu da betiği hangi yorumlayıcının çalıştırması gerektiğini belirtir.

Basit bir 'Merhaba Dünya' betiği:
Kod:
#!/bin/bash
# Bu bir yorum satırıdır.
echo "Merhaba, Linux Dünyası!"

# Mevcut dizini listele ve yeni bir dizin oluştur
pwd
mkdir ilk_betik_dizini

Bu dosyayı `ilk_betik.sh` olarak kaydedip `chmod +x ilk_betik.sh` ile çalıştırılabilir yaptıktan sonra `./ilk_betik.sh` komutu ile çalıştırabilirsiniz.

Sonuç ve İleri Adımlar

Linux temellerine bu kısa giriş, sizi komut satırı ortamında rahat etmeye ve temel işlemleri yapmaya hazırlamalıdır. Linux öğrenmek bir yolculuktur ve pratik yapmak en iyi öğrenme yöntemidir. İşte daha fazla bilgi edinebileceğiniz bazı kaynaklar:

  • Linux Vakfı: Linux'un gelişimine destek veren ve eğitimler sunan bir kuruluş.
  • GNU Projesi Belgeleri: GNU araçları hakkında detaylı bilgi.
  • Linux Man Sayfaları: Her komutun resmi kılavuzu, terminalden `man komutadı` ile erişilebilir.
  • Çeşitli online kurslar ve forumlar (örn. Stack Overflow, Linux subredditleri) bilgi ve destek için harika yerlerdir.

Kendinizi rahat hissettikçe daha karmaşık komutlara, kabuk betiklerine, sistem yönetimine ve ağ yapılandırmalarına geçebilirsiniz. Linux'un esnekliği ve gücü, keşfedilmeyi bekleyen sınırsız olanaklar sunar. Unutmayın, Linux öğrenmek bir maraton, sprint değil. Sabırlı olun ve her yeni komutla bilginizi pekiştirin. Başarılar dileriz!
 
shape1
shape2
shape3
shape4
shape5
shape6
Üst

Bu web sitenin performansı Hazal Host tarafından sağlanmaktadır.

YazilimForum.com.tr internet sitesi, 5651 sayılı Kanun’un 2. maddesinin 1. fıkrasının (m) bendi ve aynı Kanun’un 5. maddesi kapsamında Yer Sağlayıcı konumundadır. Sitede yer alan içerikler ön onay olmaksızın tamamen kullanıcılar tarafından oluşturulmaktadır.

YazilimForum.com.tr, kullanıcılar tarafından paylaşılan içeriklerin doğruluğunu, güncelliğini veya hukuka uygunluğunu garanti etmez ve içeriklerin kontrolü veya araştırılması ile yükümlü değildir. Kullanıcılar, paylaştıkları içeriklerden tamamen kendileri sorumludur.

Hukuka aykırı içerikleri fark ettiğinizde lütfen bize bildirin: lydexcoding@gmail.com

Sitemiz, kullanıcıların paylaştığı içerik ve bilgileri 6698 sayılı KVKK kapsamında işlemektedir. Kullanıcılar, kişisel verileriyle ilgili haklarını KVKK Politikası sayfasından inceleyebilir.

Sitede yer alan reklamlar veya üçüncü taraf bağlantılar için YazilimForum.com.tr herhangi bir sorumluluk kabul etmez.

Sitemizi kullanarak Forum Kuralları’nı kabul etmiş sayılırsınız.

DMCA.com Protection Status Copyrighted.com Registered & Protected