LINUX14m READ20 Haziran 2026

Linux Nedir? Yazılımcılar İçin Terminal, Sunucu ve DevOps Temelleri

Linux işletim sistemini, terminal mantığını, dosya izinlerini ve yazılımcılar için neden kritik olduğunu örnek komutlarla anlatan rehber.

Linux Nedir? Yazılımcılar İçin Neden Önemli?

Linux, sunucularda, bulut sistemlerinde, geliştirme ortamlarında, Android cihazlarda, ağ ekipmanlarında ve güvenlik araçlarında yaygın kullanılan açık kaynaklı bir işletim sistemi çekirdeğidir. Günlük kullanımda "Linux" dediğimiz şey genellikle Ubuntu, Debian, Fedora, Arch gibi Linux dağıtımlarını ifade eder.

Yazılımcı için Linux bilmek, sadece farklı bir işletim sistemi kullanmak anlamına gelmez. Terminal, dosya izinleri, paket yönetimi, servisler, loglar ve sunucu mantığını anlamak demektir.

CodeForge içinde temel seviyeden ilerlemek istersen Linux 101 dersi iyi bir başlangıçtır.

Linux Nerelerde Kullanılır?

Linux birçok kritik sistemin temelinde yer alır:

  • Web sunucuları
  • Bulut servisleri
  • Docker containerları
  • CI/CD ortamları
  • Siber güvenlik laboratuvarları
  • Android altyapısı
  • IoT cihazları
  • Veritabanı sunucuları
  • DevOps otomasyonları

Bu yüzden web geliştirme, backend, DevOps veya siber güvenlik alanında ilerlemek isteyen biri Linux'tan tamamen kaçamaz.

Linux Dağıtımı Nedir?

Linux çekirdeği tek başına kullanıcı deneyimi sunmaz. Dağıtım, çekirdeğin üzerine paket yöneticisi, sistem araçları, masaüstü ortamı ve varsayılan yazılımlar ekler.

Popüler dağıtımlar:

DağıtımKullanım Alanı
UbuntuBaşlangıç, masaüstü, sunucu
DebianStabil sunucu sistemleri
FedoraGüncel paketler ve geliştirici ortamı
Archİleri seviye özelleştirme
Kali LinuxGüvenlik testleri ve eğitim laboratuvarları

Yeni başlayanlar için Ubuntu veya Debian tabanlı bir ortam genelde daha rahattır.

Terminal Neden Önemli?

Terminal, işletim sistemiyle metin komutları üzerinden konuşmanı sağlar. İlk bakışta zor görünür ama yazılımcı için çok hızlı ve güçlüdür.

Temel komutlar:

// BASH //
pwd          # bulunduğun dizini gösterir
ls           # dosyaları listeler
cd proje     # dizin değiştirir
mkdir app    # klasör oluşturur
touch a.txt  # dosya oluşturur
rm a.txt     # dosya siler
cat a.txt    # dosya içeriğini gösterir

Bu komutlar basit görünür, fakat her geliştirme ortamında karşına çıkar.

Dosya Sistemi Mantığı

Linux dosya sistemi kök dizinden başlar: /

Yaygın dizinler:

DizinAnlamı
/homeKullanıcı dosyaları
/etcSistem konfigürasyonları
/varLoglar ve değişken veriler
/usrUygulama ve kütüphaneler
/tmpGeçici dosyalar
/optHarici uygulamalar

Sunucuda bir hata olduğunda hangi dosyanın nerede olduğunu bilmek büyük avantajdır.

Linux İzinleri

Linux'ta dosya ve klasörlerin okuma, yazma ve çalıştırma izinleri vardır.

// BASH //
ls -l
chmod +x deploy.sh
chown appuser:appuser app.log

Temel izinler:

  • r: okuma
  • w: yazma
  • x: çalıştırma

İzin mantığını anlamadan sunucu yönetmek veya deployment yapmak zorlaşır.

Paket Yönetimi

Linux'ta yazılımlar paket yöneticileriyle kurulur.

Ubuntu/Debian örneği:

// BASH //
sudo apt update
sudo apt install nginx
sudo apt remove nginx

Node.js projesi için:

// BASH //
node -v
npm install
npm run build

Paket yöneticisi mantığı, hem işletim sistemi hem de yazılım projeleri için önemlidir.

Log Okuma

Profesyonel yazılım geliştirmede "bende çalışıyor" yeterli değildir. Sunucuda ne olduğunu loglardan anlaman gerekir.

Örnek komutlar:

// BASH //
journalctl -u nginx --no-pager
tail -f /var/log/nginx/error.log
grep "ERROR" app.log

Log okumak, hata ayıklamanın en pratik yollarından biridir.

Linux ve Docker İlişkisi

Docker containerları çoğunlukla Linux tabanlı çalışır. Bu yüzden Docker öğrenirken Linux dosya sistemi, process, port ve environment variable kavramları sık karşına çıkar.

Basit Docker çalışma mantığı:

// BASH //
docker build -t my-app .
docker run -p 3000:3000 my-app

Bu komutları anlamak için Linux temeli büyük avantaj sağlar.

Yazılımcı Linux'ta Neleri Bilmelidir?

Minimum seviye için:

  • Terminalde gezinme
  • Dosya oluşturma, taşıma, silme
  • Paket kurma
  • Process ve port kontrolü
  • Environment variable mantığı
  • Basit shell script okuma
  • SSH ile sunucuya bağlanma
  • Log takip etme
  • Dosya izinlerini anlama

Örnek SSH:

// BASH //
ssh deploy@sunucu-ip-adresi

14 Günlük Linux Başlangıç Planı

GünKonu
1Linux nedir, dağıtım nedir
2Terminalde gezinme
3Dosya ve klasör komutları
4Paket yöneticisi
5Kullanıcı ve izinler
6Process ve port kontrolü
7Log okuma
8SSH
9Basit shell script
10Environment variable
11Nginx veya basit web server
12Git + Linux kullanımı
13Docker temeli
14Mini deployment denemesi

Devam Etmek İçin Önerilen İçerikler

Sık Sorulan Sorular

Yazılımcı olmak için Linux şart mı?

Her alan için ilk gün şart değildir, ama backend, DevOps, siber güvenlik ve sunucu tarafında ciddi avantajdır. En azından terminal ve temel komutlar bilinmelidir.

Windows kullanıyorum, Linux öğrenebilir miyim?

Evet. WSL, sanal makine veya bulut sunucu ile Linux öğrenebilirsin. Başlangıç için WSL oldukça pratiktir.

Kali Linux ile başlamalı mıyım?

Genel yazılım öğreniyorsan hayır. Ubuntu veya Debian daha sağlıklı başlangıçtır. Kali daha çok güvenlik laboratuvarı ve test araçları için uygundur.