Linux Ubuntu

Açık kaynak, özgür ve güçlü işletim sistemi

sudo apt update && sudo apt upgrade

Ubuntu Nedir?

Ubuntu, Debian tabanlı, açık kaynak kodlu bir Linux dağıtımıdır. Canonical Ltd. tarafından geliştirilir ve desteklenir. Ubuntu, Zulu dilinde "insanlık", "başkalarına karşı insanlık" anlamına gelir ve bu felsefe işletim sisteminin temelini oluşturur.

Ubuntu'nun Temel Özellikleri:
  • • Tamamen ücretsiz ve açık kaynak
  • • Kullanımı kolay masaüstü arayüzü (GNOME)
  • • Güçlü paket yönetim sistemi (APT)
  • • Geniş topluluk desteği
  • • Düzenli güncelleme ve LTS sürümleri
  • • Geniş donanım desteği
Neden Ubuntu?
Güvenlik: Virüs ve malware'lere karşı doğal direnç
Performans: Sistem kaynaklarını verimli kullanır
Özelleştirme: İstediğiniz gibi yapılandırabilirsiniz
Topluluk: Milyonlarca kullanıcı ve geliştirici desteği

Ubuntu Türevleri:

Kubuntu (KDE Plasma masaüstü)
Xubuntu (Xfce - hafif ve hızlı)
Lubuntu (LXQt - çok hafif)
Ubuntu MATE (MATE masaüstü)
Ubuntu Budgie (Budgie masaüstü)

Ubuntu'nun Tarihçesi

Başlangıç (2004):

Ubuntu, Mark Shuttleworth tarafından 2004 yılında başlatıldı. İlk sürüm Ubuntu 4.10 (Warty Warthog) 20 Ekim 2004'te yayınlandı.

Önemli Kilometre Taşları
2004: İlk Ubuntu sürümü (4.10 Warty Warthog)
2006: İlk LTS sürümü (6.06 Dapper Drake)
2011: Unity masaüstü ortamı tanıtıldı
2017: GNOME'a geri dönüş (17.10)
2024: Ubuntu 24.04 LTS (Noble Numbat)

Adlandırma Sistemi:

Ubuntu sürümleri YY.MM formatında adlandırılır (Örn: 24.04 = 2024 Nisan). Her sürümün ayrıca bir kod adı vardır: Sıfat + Hayvan.

Sürüm Tipleri:
LTS (Long Term Support): 5 yıl destek (her 2 yılda bir)
Standart Sürüm: 9 ay destek (her 6 ayda bir)

LTS sürümleri kurumsal kullanım ve kararlılık için önerilir.

Ubuntu Versiyonları

LTS (Long Term Support) Sürümleri:

Ubuntu 24.04 LTS (Noble Numbat) LTS
Çıkış: Nisan 2024
Destek: 2029'a kadar
Yenilikler: Linux Kernel 6.8, GNOME 46, geliştirilmiş güvenlik özellikleri
Önerilen: Yeni kurulumlar için ideal
Ubuntu 22.04 LTS (Jammy Jellyfish) LTS
Çıkış: Nisan 2022
Destek: 2027'ye kadar
Özellikler: Linux Kernel 5.15, GNOME 42, Wayland varsayılan
Durum: Çok stabil, kurumsal kullanım için mükemmel
Ubuntu 20.04 LTS (Focal Fossa) LTS
Çıkış: Nisan 2020
Destek: 2025'e kadar
Özellikler: Linux Kernel 5.4, GNOME 3.36
Not: Hala yaygın kullanımda, ancak yükseltme önerilir

Diğer Önemli Sürümler:

18.04 LTS (Bionic Beaver) - 2023'te destek sona erdi
16.04 LTS (Xenial Xerus) - 2021'de destek sona erdi
14.04 LTS (Trusty Tahr) - 2019'da destek sona erdi
', '#', '~', '/', '|', '*', '@', '&'];
sudo journalctl --since "2024-01-01" --until "2024-12-31"
sudo journalctl -p err # Sadece hata logları
sudo journalctl --disk-usage # Log disk kullanımı
sudo journalctl --vacuum-time=7d # 7 günden eski logları sil

Sistem Performansı:

uptime # Sistem çalışma süresi
top # Gerçek zamanlı işlem monitörü
htop # Gelişmiş top (kurulu değilse: sudo apt install htop)
vmstat 5 # 5 saniyede bir sistem istatistikleri
iostat # Disk I/O istatistikleri
iotop # Disk I/O işlemleri
nethogs # Ağ kullanımı (işlem bazlı)

Zamanlanmış Görevler (Cron):

crontab -e # Cron görevlerini düzenle
crontab -l # Mevcut cron görevleri
crontab -r # Tüm cron görevlerini sil
Cron Sözdizimi
* * * * * komut
│ │ │ │ │
│ │ │ │ └─── Haftanın günü (0-7, 0=Pazar)
│ │ │ └───── Ay (1-12)
│ │ └─────── Ayın günü (1-31)
│ └───────── Saat (0-23)
└─────────── Dakika (0-59)

Örnekler:
0 2 * * * /backup.sh - Her gün 02:00'de
*/5 * * * * /script.sh - Her 5 dakikada
0 0 * * 0 /weekly.sh - Her Pazar 00:00

Sistem Kapatma/Yeniden Başlatma:

sudo reboot # Hemen yeniden başlat
sudo shutdown -r now # Yeniden başlat
sudo shutdown -r +10 # 10 dk sonra yeniden başlat
sudo shutdown -h now # Hemen kapat
sudo poweroff # Sistemi kapat
sudo shutdown -c # Zamanlanmış kapatmayı iptal et
Sistem Bakımı Önerileri:
• Haftada bir tam güncelleme yapın
• Ayda bir log dosyalarını temizleyin
• Gereksiz paketleri kaldırın (autoremove)
• Disk alanını düzenli kontrol edin
• Sistem loglarını hata için kontrol edin

Ağ Yapılandırması

Temel Ağ Komutları:

ip addr show # IP adresi göster
ip link show # Ağ arayüzleri
ip route show # Routing tablosu
ping google.com # Bağlantı testi
ping -c 4 8.8.8.8 # 4 paket gönder
traceroute google.com # Rota izleme
nslookup google.com # DNS sorgusu
dig google.com # Detaylı DNS sorgusu
host google.com # DNS çözümleme

Netplan Yapılandırması (Ubuntu 18.04+):

sudo nano /etc/netplan/01-netcfg.yaml # Config düzenle
sudo netplan apply # Değişiklikleri uygula
sudo netplan try # Test et (120 sn sonra geri al)
Statik IP Örneği (Netplan)
network:
  version: 2
  ethernets:
    enp0s3:
      dhcp4: no
      addresses:
        - 192.168.1.100/24
      gateway4: 192.168.1.1
      nameservers:
        addresses: [8.8.8.8, 8.8.4.4]

SSH (Secure Shell):

sudo apt install openssh-server # SSH server kur
sudo systemctl enable ssh # SSH'ı etkinleştir
sudo systemctl start ssh # SSH'ı başlat
ssh kullanici@192.168.1.100 # SSH bağlantısı
ssh -p 2222 kullanici@host # Farklı port
scp dosya.txt kullanici@host:/hedef # Dosya kopyala
scp -r klasor kullanici@host:/hedef # Dizin kopyala
SSH Key Authentication (Daha Güvenli):

1. Key oluştur: ssh-keygen -t rsa -b 4096
2. Public key'i sunucuya kopyala: ssh-copy-id kullanici@host
3. Şifresiz giriş yapabilirsiniz!

SSH config (~/.ssh/config) ile kısayol:
Host sunucu
  HostName 192.168.1.100
  User kullanici
  Port 22

Kullanım: ssh sunucu

Firewall (UFW):

sudo ufw enable # Firewall'ı etkinleştir
sudo ufw disable # Firewall'ı kapat
sudo ufw status # Durum kontrol
sudo ufw allow 22 # SSH portunu aç
sudo ufw allow 80/tcp # HTTP portunu aç
sudo ufw allow from 192.168.1.0/24 # Ağdan izin ver
sudo ufw deny 23 # Telnet'i engelle
sudo ufw delete allow 80 # Kuralı sil
sudo ufw reset # Tüm kuralları sıfırla
Dikkat! UFW'yi etkinleştirmeden önce SSH portunu (22) açmayı unutmayın, yoksa uzak sunucuya erişiminizi kaybedebilirsiniz!

sudo ufw allow 22 && sudo ufw enable

Güvenlik

Güvenlik Güncellemeleri:

sudo apt update && sudo apt upgrade -y # Güncellemeleri kur
sudo unattended-upgrades # Otomatik güvenlik güncellemeleri
sudo apt install unattended-upgrades # Kurulum
sudo dpkg-reconfigure unattended-upgrades # Yapılandır

Fail2Ban (Brute Force Koruması):

sudo apt install fail2ban # Fail2ban kur
sudo systemctl start fail2ban # Başlat
sudo systemctl enable fail2ban # Otomatik başlat
sudo fail2ban-client status # Durum
sudo fail2ban-client status sshd # SSH jail durumu
sudo fail2ban-client set sshd unbanip IP # IP'yi unban et
Fail2Ban Yapılandırması
Config dosyası: /etc/fail2ban/jail.local

[sshd]
enabled = true
port = ssh
maxretry = 3
bantime = 3600

3 başarısız giriş denemesinden sonra 1 saat ban

SSH Güvenliği:

SSH Güvenlik Önerileri (/etc/ssh/sshd_config):

Port 2222 - Varsayılan port değiştir
PermitRootLogin no - Root girişini kapat
PasswordAuthentication no - Şifre ile girişi kapat (sadece key)
AllowUsers kullanici - Sadece belirli kullanıcılar
MaxAuthTries 3 - Maksimum deneme sayısı

Değişiklikten sonra: sudo systemctl restart ssh

Rootkit ve Malware Taraması:

sudo apt install rkhunter chkrootkit clamav # Araçları kur
sudo rkhunter --update # Veritabanını güncelle
sudo rkhunter --check # Rootkit tara
sudo chkrootkit # Alternatif rootkit tarayıcı
sudo freshclam # ClamAV imza güncelleme
clamscan -r /home # Virüs taraması

Dosya Bütünlüğü İzleme (AIDE):

sudo apt install aide # AIDE kur
sudo aideinit # Veritabanı oluştur
sudo aide --check # Bütünlük kontrolü
Güvenlik En İyi Uygulamaları:
• Güncellemeleri düzenli yapın
• Güçlü şifreler kullanın (12+ karakter)
• SSH için key authentication kullanın
• Gereksiz servisleri kapatın
• Firewall kurallarını sıkı tutun
• Düzenli yedekleme yapın
• Log dosyalarını izleyin

Ubuntu Server

LAMP Stack Kurulumu:

# Linux Apache MySQL PHP
sudo apt update
sudo apt install apache2 # Web server
sudo apt install mysql-server # Veritabanı
sudo mysql_secure_installation # MySQL güvenlik
sudo apt install php libapache2-mod-php php-mysql # PHP
sudo systemctl restart apache2 # Apache yeniden başlat

NGINX Kurulumu:

sudo apt install nginx # NGINX kur
sudo systemctl start nginx # Başlat
sudo systemctl enable nginx # Otomatik başlat
sudo nginx -t # Config test et
sudo systemctl reload nginx # Config yenile

Docker Kurulumu:

sudo apt update
sudo apt install apt-transport-https ca-certificates curl software-properties-common
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -
sudo add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable"
sudo apt update
sudo apt install docker-ce
sudo systemctl status docker # Durum kontrol
sudo usermod -aG docker ${USER} # Kullanıcıyı docker grubuna ekle
Temel Docker Komutları
docker run hello-world - Test container
docker ps - Çalışan container'lar
docker ps -a - Tüm container'lar
docker images - Image'ları listele
docker pull ubuntu - Image indir
docker stop container_id - Container durdur
docker rm container_id - Container sil

Let's Encrypt SSL Kurulumu:

sudo apt install certbot python3-certbot-apache # Apache için
sudo apt install certbot python3-certbot-nginx # NGINX için
sudo certbot --apache -d domain.com # SSL sertifikası al
sudo certbot renew --dry-run # Yenileme testi
sudo certbot certificates # Sertifikaları listele
Server Monitoring Araçları:
• Netdata: Gerçek zamanlı monitoring
• Prometheus + Grafana: Profesyonel monitoring
• Zabbix: Kurumsal network monitoring
• Glances: Terminal tabanlı monitoring
• Nagios: Altyapı monitoring

Geliştirme Ortamı Kurulumu

Python Geliştirme:

sudo apt install python3 python3-pip python3-venv # Python 3
python3 --version # Versiyon kontrol
python3 -m venv myenv # Virtual environment oluştur
source myenv/bin/activate # Activate
deactivate # Deactivate
pip install requests numpy pandas # Paket kur
pip freeze > requirements.txt # Bağımlılıkları kaydet
pip install -r requirements.txt # Bağımlılıkları kur

Node.js ve npm:

curl -fsSL https://deb.nodesource.com/setup_20.x | sudo -E bash -
sudo apt install -y nodejs # Node.js kur
node --version # Node versiyon
npm --version # npm versiyon
sudo npm install -g yarn # Yarn paket yöneticisi

Git Yapılandırması:

sudo apt install git # Git kur
git config --global user.name "Adınız" # İsim ayarla
git config --global user.email "email@example.com" # Email
git config --global core.editor vim # Varsayılan editör
git config --list # Ayarları görüntüle
ssh-keygen -t ed25519 -C "email@example.com" # SSH key oluştur
cat ~/.ssh/id_ed25519.pub # Public key göster (GitHub'a ekle)

Visual Studio Code:

sudo snap install code --classic # VS Code kur (Snap)
Alternatif (DEB paketi):
wget -qO- https://packages.microsoft.com/keys/microsoft.asc | gpg --dearmor > packages.microsoft.gpg
sudo install -o root -g root -m 644 packages.microsoft.gpg /etc/apt/trusted.gpg.d/
sudo sh -c 'echo "deb [arch=amd64] https://packages.microsoft.com/repos/code stable main" > /etc/apt/sources.list.d/vscode.list'
sudo apt update
sudo apt install code

Database Tools:

sudo apt install postgresql postgresql-contrib # PostgreSQL
sudo apt install mongodb # MongoDB
sudo apt install redis-server # Redis
sudo apt install sqlite3 # SQLite
Geliştirici Araçları:
• tmux: Terminal multiplexer
• zsh + oh-my-zsh: Gelişmiş shell
• fzf: Fuzzy finder
• ripgrep: Hızlı arama
• bat: cat alternatifi (syntax highlighting)
• exa: ls alternatifi (modern)

İpuçları ve Püf Noktaları

Bash Aliases (.bashrc):

nano ~/.bashrc # bashrc dosyasını aç
Yararlı Alias'lar
alias ll='ls -lah'
alias update='sudo apt update && sudo apt upgrade -y'
alias ports='netstat -tulanp'
alias meminfo='free -m -l -t'
alias psmem='ps auxf | sort -nr -k 4'
alias pscpu='ps auxf | sort -nr -k 3'
alias cls='clear'
alias ..='cd ..'
alias ...='cd ../..'

Kaydet ve uygula: source ~/.bashrc

Sık Kullanılan Kombinasyonlar:

history | grep komut # Komut geçmişinde ara
ps aux | grep program # Çalışan programı bul
df -h | grep -v tmpfs # Disk kullanımı (tmpfs hariç)
find . -name "*.log" -type f -delete # Log dosyalarını sil
tar -czvf backup.tar.gz /hedef # Sıkıştır
tar -xzvf backup.tar.gz # Aç
wget -c url # İndirmeye devam et
curl -O url # Dosya indir

Sistem Temizliği:

sudo apt autoremove # Gereksiz paketleri kaldır
sudo apt autoclean # Paket önbelleğini temizle
sudo journalctl --vacuum-time=7d # Eski logları sil
du -sh ~/.cache # Cache boyutu
rm -rf ~/.cache/* # Cache temizle
sudo snap list --all # Snap listesi
sudo sh -c 'snap list --all | grep disabled | awk "{print \$1, \$3}" | while read name rev; do snap remove "$name" --revision="$rev"; done' # Eski snap'leri temizle

Sorun Giderme:

Sık Karşılaşılan Sorunlar ve Çözümleri:

Kilitli paket yöneticisi:
sudo rm /var/lib/apt/lists/lock
sudo rm /var/cache/apt/archives/lock
sudo rm /var/lib/dpkg/lock*
sudo dpkg --configure -a

Bozuk paketler:
sudo apt --fix-broken install
sudo dpkg --configure -a

GRUB onarımı:
sudo update-grub
sudo grub-install /dev/sda

Performans İyileştirme:

sudo apt install preload # Otomatik RAM optimizasyonu
echo "vm.swappiness=10" | sudo tee -a /etc/sysctl.conf # Swap kullanımını azalt
sudo sysctl -p # Ayarları uygula
sudo systemctl disable bluetooth # Bluetooth'u devre dışı bırak (kullanmıyorsanız)
GNOME Performans Ayarları
sudo apt install gnome-tweaks - Ayarlar aracı
sudo apt install chrome-gnome-shell - Extension desteği

Önerilen Extensions:
• Dash to Panel - Windows benzeri taskbar
• CPU Power Manager - CPU yönetimi
• TopIcons Plus - Sistem tepsisi
• Clipboard Indicator - Pano yöneticisi

Yedekleme ve Geri Yükleme:

rsync -avh --progress /kaynak /hedef # Rsync ile yedek
sudo apt install timeshift # Sistem snapshot'ları
sudo timeshift --create --comments "İlk yedek" # Snapshot oluştur
sudo timeshift --list # Snapshot'ları listele
sudo timeshift --restore # Geri yükle
Önemli Yedekleme Tavsiyeleri:
• Düzenli yedek alın (haftada bir)
• Yedekleri farklı fiziksel konumlarda tutun
• Yedekleme stratejisi: 3-2-1 kuralı
  - 3 kopya (orijinal + 2 yedek)
  - 2 farklı medya türü
  - 1 offsite/cloud yedek
• Geri yükleme testleri yapın
Uzman İpuçları:
• Terminal geçmişinizi düzenleyin (~/.bash_history)
• Önemli dizinleri bookmark edin (CDPATH kullanın)
• Screen veya tmux ile çoklu terminal oturumları
• SSH config ile sunuculara hızlı erişim
• Cron ile otomatik yedekleme yapın
• Man sayfalarını okumayı öğrenin: man komut
• apropos ile komut arayın: apropos keyword

Öğrenmeye Devam

Kaynaklar ve Topluluk:

Resmi Kaynaklar:
• Ubuntu Resmi Dokümantasyon: help.ubuntu.com
• Ubuntu Wiki: wiki.ubuntu.com
• Ask Ubuntu: askubuntu.com
• Ubuntu Forumları: ubuntuforums.org

Türkçe Kaynaklar:
• Ubuntu Türkiye: forum.ubuntu-tr.net
• Linux Dersleri: Çevrimiçi kurslar
• YouTube kanalları: Linux eğitimleri
Önerilen Kitaplar
Başlangıç:
• "The Linux Command Line" - William Shotts
• "Ubuntu Linux Secrets" - Richard Blum

İleri Seviye:
• "Linux System Administration" - Tom Adelstein
• "UNIX and Linux System Administration Handbook"

Güvenlik:
• "Linux Security Cookbook" - Daniel J. Barrett

Sertifikasyon Programları:

Linux Sertifikaları:
• LPI (Linux Professional Institute): LPIC-1, LPIC-2, LPIC-3
• CompTIA Linux+: Entry-level sertifika
• Red Hat: RHCSA, RHCE (Red Hat odaklı ama genel beceriler)
• Ubuntu Certified Professional: Ubuntu'ya özel

Bu sertifikalar kariyer gelişimi için değerlidir.

Pratik Projeler:

Öğrenme Projeleri
Başlangıç:
• Kendi web sunucunuzu kurun (LAMP/LEMP)
• Bash script'leri yazın (yedekleme, monitoring)
• SSH ile uzak sunucu yönetimi

Orta Seviye:
• Docker container'ları ile uygulama deploy
• VPN sunucusu kurun (OpenVPN/WireGuard)
• Otomatik yedekleme sistemi

İleri:
• Kubernetes cluster kurulumu
• CI/CD pipeline oluşturma
• Monitoring stack (Prometheus + Grafana)

Linux Yolculuğuna Devam!

Ubuntu ile açık kaynak dünyasının kapılarını açtınız. Linux öğrenmek bir yolculuktur - sabırlı olun, deneyimleyin ve topluluktan yardım isteyin.

Son Tavsiyeler
Korkmayın deneyin: Sanal makine kullanarak güvenle test edin
Terminal'i öğrenin: GUI'den daha güçlü ve hızlıdır
Dokümantasyon okuyun: man sayfaları en iyi öğretmeninizdir
Toplulukla etkileşim: Forumlar ve IRC kanallarında aktif olun
Açık kaynak katkı: GitHub'da projelere katkıda bulunun
Hata yapmaktan çekinmeyin: Her hata öğrenme fırsatıdır

$ sudo apt install freedom

Özgür yazılımın gücünü keşfettiniz!

Önemli: Eski LTS sürümlerinden (özellikle 18.04 ve öncesi) en kısa sürede yükseltme yapılması önerilir. Güvenlik güncellemeleri artık sağlanmamaktadır.

Standart Sürümler (9 ay destek):

Son Standart Sürümler:
23.10 (Mantic Minotaur)
23.04 (Lunar Lobster)
22.10 (Kinetic Kudu)

Bu sürümler en yeni özellikleri içerir ancak kısa destek süreleri vardır. Deneysel kullanım için idealdir.
Hangi Sürümü Seçmeli?
• Masaüstü kullanımı: En son LTS (24.04 veya 22.04)
• Sunucu: En stabil LTS (22.04)
• Geliştirme/Test: Son standart sürüm
• Eski donanım: Lubuntu veya Xubuntu LTS

Ubuntu Kurulumu

Sistem Gereksinimleri:

Minimum Gereksinimler:
  • • İşlemci: 2 GHz dual core
  • • RAM: 4 GB (önerilen 8 GB)
  • • Disk: 25 GB boş alan
  • • Ekran: 1024x768 çözünürlük
  • • İnternet bağlantısı (güncelleme için)

Kurulum Adımları:

ISO İndirme ve USB Hazırlama
1. ISO İndir: ubuntu.com/download adresinden
2. USB Araç: Rufus (Windows), balenaEtcher, veya dd komutu
3. Bootable USB: ISO'yu USB'ye yaz (minimum 4GB USB)
4. BIOS Ayarı: Boot sırasını USB'den başlayacak şekilde ayarla

Linux'ta USB Hazırlama:

lsblk # USB cihazını bul (örn: /dev/sdb)
sudo umount /dev/sdb* # Varsa mount edilmiş bölümleri çıkar
sudo dd if=ubuntu-24.04-desktop-amd64.iso of=/dev/sdb bs=4M status=progress
sync # Yazma işlemini tamamla
Dikkat! dd komutu çok güçlüdür. Yanlış hedef (/dev/sda gibi) seçerseniz sisteminizi silebilirsiniz. Hedef cihazı lsblk ile iki kez kontrol edin!

Dual Boot (Windows ile):

Dual Boot İçin Adımlar:
1. Windows'ta disk alanı küçült (Disk Management)
2. En az 50GB boş alan oluştur
3. Ubuntu USB'den boot et
4. "Install Ubuntu alongside Windows" seçeneğini seç
5. Bölüm boyutunu ayarla
6. Kurulumu tamamla
7. Restart sonrası GRUB boot menüsü gelecek
Güvenli Kurulum İpuçları:
• Önce "Try Ubuntu" ile sistemi test edin
• Önemli verilerinizi yedekleyin
• İnternet bağlantısı kurun (güncelleme indirir)
• "Install third-party software" seçeneğini işaretleyin (codec'ler için)

Temel Terminal Komutları

Dosya ve Dizin İşlemleri:

pwd # Bulunduğun dizini göster
ls # Dosyaları listele
ls -la # Detaylı liste (gizli dosyalar dahil)
cd /path/to/directory # Dizin değiştir
cd ~ # Ana dizine git
cd .. # Bir üst dizine çık
mkdir yeni_klasor # Dizin oluştur
mkdir -p parent/child/grandchild # İç içe dizinler oluştur
rmdir bos_klasor # Boş dizin sil
rm -rf klasor # Dizini içindekilerle sil (dikkatli!)

Dosya İşlemleri:

touch dosya.txt # Boş dosya oluştur
cp kaynak.txt hedef.txt # Dosya kopyala
cp -r klasor1 klasor2 # Dizin kopyala
mv eski.txt yeni.txt # Dosya adını değiştir/taşı
rm dosya.txt # Dosya sil
cat dosya.txt # Dosya içeriğini göster
less dosya.txt # Dosyayı sayfalayarak göster
head -n 10 dosya.txt # İlk 10 satırı göster
tail -n 10 dosya.txt # Son 10 satırı göster
tail -f log.txt # Dosyayı canlı takip et

Dosya Arama ve Filtreleme:

find /home -name "*.txt" # Dosya ara
grep "kelime" dosya.txt # Dosyada metin ara
grep -r "kelime" /dizin # Dizinde recursive ara
grep -i "kelime" dosya.txt # Büyük/küçük harf duyarsız
locate dosya.txt # Veritabanında hızlı arama
which python3 # Komutun konumunu bul

Sistem Bilgisi:

uname -a # Sistem bilgisi
lsb_release -a # Ubuntu versiyon bilgisi
df -h # Disk kullanımı
du -sh /dizin # Dizin boyutu
free -h # RAM kullanımı
top # İşlemci/RAM kullanımı (canlı)
htop # Gelişmiş görev yöneticisi
ps aux # Çalışan işlemler
lscpu # CPU bilgisi
lsusb # USB cihazları
lspci # PCI cihazları
Klavye Kısayolları
Ctrl + C: Çalışan komutu durdur
Ctrl + Z: İşlemi arka plana al
Ctrl + D: Terminali kapat (exit)
Ctrl + L: Ekranı temizle (clear)
Ctrl + R: Komut geçmişinde ara
Tab: Otomatik tamamlama
↑/↓: Komut geçmişi
Pro Terminal İpuçları:
• !! : Son komutu tekrarla
• sudo !! : Son komutu sudo ile çalıştır
• cd - : Önceki dizine dön
• history : Komut geçmişini göster
• alias ll='ls -la' : Kısayol oluştur

Linux Dosya Sistemi Yapısı

Ana Dizinler:

/ (Root): Dosya sisteminin kök dizini
/home: Kullanıcı ana dizinleri (/home/kullanici)
/root: Root kullanıcısının ana dizini
/etc: Sistem yapılandırma dosyaları
/var: Değişken veriler (log, cache, vb.)
/tmp: Geçici dosyalar
/usr: Kullanıcı programları ve kütüphaneler
/bin: Temel sistem komutları
/sbin: Sistem yönetim komutları
/lib: Paylaşılan kütüphaneler
/opt: İsteğe bağlı yazılım paketleri
/mnt: Geçici mount noktaları
/media: Çıkarılabilir medya mount noktaları
/dev: Cihaz dosyaları
/proc: İşlem ve kernel bilgisi (sanal)
/sys: Sistem donanım bilgisi (sanal)

Dosya İzinleri:

rwxr-xr-x = 755 (Standart dizin izni)
rw-r--r-- = 644 (Standart dosya izni)
rwxrwxrwx = 777 (Tam izin - güvensiz!)
chmod 755 script.sh # İzin değiştir
chmod +x script.sh # Çalıştırılabilir yap
chmod -R 755 /dizin # Recursive izin
chown kullanici:grup dosya # Sahip değiştir
chown -R kullanici:grup /dizin # Recursive sahip
İzin Sistemi Açıklaması
r (read) = 4: Okuma izni
w (write) = 2: Yazma izni
x (execute) = 1: Çalıştırma izni

İlk 3 karakter: Sahip (owner)
Orta 3 karakter: Grup (group)
Son 3 karakter: Diğerleri (others)

Örnek: rwxr-xr-x → 755 → Sahip tam yetki, diğerleri okuma+çalıştırma

Disk İşlemleri:

lsblk # Disk ve bölümleri listele
fdisk -l # Disk bilgilerini göster
mount /dev/sdb1 /mnt # Disk mount et
umount /mnt # Unmount
df -h # Mount edilmiş disklerin kullanımı
sudo mkfs.ext4 /dev/sdb1 # Disk formatla
Dikkat! Disk işlemleri (özellikle fdisk, mkfs) veri kaybına neden olabilir. İşlem yapmadan önce disklerinizi iki kez kontrol edin ve yedek alın.

Paket Yönetimi (APT)

Temel APT Komutları:

sudo apt update # Paket listesini güncelle
sudo apt upgrade # Tüm paketleri güncelle
sudo apt full-upgrade # Tam güncelleme (kernel dahil)
sudo apt install paket_adi # Paket kur
sudo apt remove paket_adi # Paket kaldır
sudo apt purge paket_adi # Paket + config sil
sudo apt autoremove # Gereksiz paketleri temizle
sudo apt autoclean # Eski paket önbelleğini temizle
apt search kelime # Paket ara
apt show paket_adi # Paket bilgisi göster
apt list --installed # Kurulu paketler
apt list --upgradable # Güncellenebilir paketler
Günlük Güncelleme Rutini
sudo apt update && sudo apt upgrade -y

Bu komutu haftada bir çalıştırın. Sistem güvenliği ve performansı için kritiktir.

PPA (Personal Package Archive) Ekleme:

sudo add-apt-repository ppa:kullanici/ppa-adi
sudo apt update
sudo apt install paket
# PPA kaldırma
sudo add-apt-repository --remove ppa:kullanici/ppa-adi

Snap Paketleri:

snap find paket_adi # Snap paketi ara
sudo snap install paket_adi # Snap kur
sudo snap remove paket_adi # Snap kaldır
snap list # Kurulu snap paketleri
sudo snap refresh # Snap güncelle
APT vs Snap vs Flatpak:
APT: Geleneksel Ubuntu paket yöneticisi, hızlı ve sistem entegre
Snap: Canonical'ın containerized paket sistemi, otomatik güncelleme
Flatpak: Distro-agnostik paket sistemi, sandbox güvenlik

Öncelik: APT > Snap > Flatpak (performans açısından)

Popüler Paketler:

sudo apt install git # Versiyon kontrol
sudo apt install curl wget # İndirme araçları
sudo apt install build-essential # Derleme araçları
sudo apt install vim nano # Metin editörleri
sudo apt install htop # Sistem monitörü
sudo apt install net-tools # Ağ araçları
sudo apt install ssh # SSH istemci/sunucu
sudo apt install ufw # Firewall
sudo apt install vlc # Medya oynatıcı
sudo apt install gimp # Resim düzenleme
Hızlı Kurulum Scripti:
Sık kullandığınız paketleri bir script'te toplayın:

#!/bin/bash
sudo apt update
sudo apt install -y git curl build-essential htop

Kullanıcı ve Grup Yönetimi

Kullanıcı İşlemleri:

sudo adduser yeni_kullanici # Kullanıcı ekle
sudo deluser kullanici # Kullanıcı sil
sudo deluser --remove-home kullanici # Kullanıcı + ev dizini sil
sudo passwd kullanici # Şifre değiştir
sudo usermod -aG sudo kullanici # Sudo yetkisi ver
sudo usermod -l yeni_ad eski_ad # Kullanıcı adı değiştir
whoami # Mevcut kullanıcı
id # Kullanıcı ID ve grupları
w # Kimler online
last # Son girişler

Grup İşlemleri:

sudo groupadd yeni_grup # Grup oluştur
sudo groupdel grup # Grup sil
sudo usermod -aG grup kullanici # Kullanıcıyı gruba ekle
sudo gpasswd -d kullanici grup # Kullanıcıyı gruptan çıkar
groups kullanici # Kullanıcının grupları
cat /etc/group # Tüm gruplar
Sudo Yetkilendirme
Kullanıcıya sudo yetkisi ver:
sudo usermod -aG sudo kullanici

sudoers dosyasını düzenle (dikkatli!):
sudo visudo

Belirli komutlara izin vermek için sudoers'a ekle:
kullanici ALL=(ALL) NOPASSWD: /usr/bin/apt

Kullanıcı Geçişi:

su kullanici # Kullanıcı değiştir
su - # Root kullanıcıya geç (şifre gerekli)
sudo -i # Root shell aç
sudo -u kullanici komut # Komutları başka kullanıcı olarak çalıştır
exit # Kullanıcı oturumundan çık
Güvenlik Uyarısı: Root kullanıcısı olarak sürekli çalışmayın. sudo kullanın ve işlem bittiğinde normal kullanıcıya dönün. Root yetkileriyle yapılan hatalar geri alınamaz hasarlara neden olabilir.

Sistem Yönetimi

Systemd Servis Yönetimi:

sudo systemctl start servis # Servisi başlat
sudo systemctl stop servis # Servisi durdur
sudo systemctl restart servis # Servisi yeniden başlat
sudo systemctl reload servis # Config'i yeniden yükle
sudo systemctl status servis # Servis durumu
sudo systemctl enable servis # Boot'ta otomatik başlat
sudo systemctl disable servis # Otomatik başlatmayı kapat
systemctl list-units --type=service # Tüm servisler

Log Yönetimi (Journalctl):

sudo journalctl # Tüm loglar
sudo journalctl -u servis # Belirli servis logları
sudo journalctl -f # Canlı log takibi
sudo journalctl --since today # Bugünün logları
sudo journalctl --since "2024-01-01" --until "2024-01-02" # Tarih aralığı
sudo journalctl -p err # Sadece hata logları
const floatStyle = document.createElement('style'); floatStyle.textContent = ` @keyframes float-away { 0% { opacity: 1; transform: translateY(0) rotate(0deg); } 100% { opacity: 0; transform: translateY(-200px) rotate(360deg); } } `; document.head.appendChild(floatStyle); const symbol = symbols[Math.floor(Math.random() * symbols.length)]; const span = document.createElement('span'); span.textContent = symbol; span.style.cssText = ` position: fixed; top: ${Math.random() * 100}vh; left: ${Math.random() * 100}vw; color: var(--skin-color); font-size: 24px; font-family: 'JetBrains Mono', monospace; pointer-events: none; animation: float-away 3s ease-out forwards; z-index: 9999; `; document.body.appendChild(span); setTimeout(() => span.remove(), 3000); }, i * 200); } } }); const floatStyle = document.createElement('style'); floatStyle.textContent = ` @keyframes float-away { 0% { opacity: 1; transform: translateY(0) rotate(0deg); } 100% { opacity: 0; transform: translateY(-200px) rotate(360deg); } } `; document.head.appendChild(floatStyle); // Smooth section transitions const observer = new IntersectionObserver((entries) => { entries.forEach(entry => { if (entry.isIntersecting) { entry.target.style.opacity = '1'; entry.target.style.transform = 'translateY(0)'; } }); }, { threshold: 0.1 }); sections.forEach(section => { section.style.opacity = '0'; section.style.transform = 'translateY(20px)'; section.style.transition = 'opacity 0.6s ease, transform 0.6s ease'; observer.observe(section); }); // Copy to clipboard for terminal commands document.querySelectorAll('.command').forEach(cmd => { cmd.style.cursor = 'pointer'; cmd.title = 'Kopyalamak için tıkla'; cmd.addEventListener('click', function() { const text = this.textContent.replace('$ ', ''); navigator.clipboard.writeText(text).then(() => { const originalColor = this.style.color; this.style.color = '#10b981'; setTimeout(() => { this.style.color = originalColor; }, 200); }); }); });
Önemli: Eski LTS sürümlerinden (özellikle 18.04 ve öncesi) en kısa sürede yükseltme yapılması önerilir. Güvenlik güncellemeleri artık sağlanmamaktadır.

Standart Sürümler (9 ay destek):

Son Standart Sürümler:
23.10 (Mantic Minotaur)
23.04 (Lunar Lobster)
22.10 (Kinetic Kudu)

Bu sürümler en yeni özellikleri içerir ancak kısa destek süreleri vardır. Deneysel kullanım için idealdir.
Hangi Sürümü Seçmeli?
• Masaüstü kullanımı: En son LTS (24.04 veya 22.04)
• Sunucu: En stabil LTS (22.04)
• Geliştirme/Test: Son standart sürüm
• Eski donanım: Lubuntu veya Xubuntu LTS

Ubuntu Kurulumu

Sistem Gereksinimleri:

Minimum Gereksinimler:
  • • İşlemci: 2 GHz dual core
  • • RAM: 4 GB (önerilen 8 GB)
  • • Disk: 25 GB boş alan
  • • Ekran: 1024x768 çözünürlük
  • • İnternet bağlantısı (güncelleme için)

Kurulum Adımları:

ISO İndirme ve USB Hazırlama
1. ISO İndir: ubuntu.com/download adresinden
2. USB Araç: Rufus (Windows), balenaEtcher, veya dd komutu
3. Bootable USB: ISO'yu USB'ye yaz (minimum 4GB USB)
4. BIOS Ayarı: Boot sırasını USB'den başlayacak şekilde ayarla

Linux'ta USB Hazırlama:

lsblk # USB cihazını bul (örn: /dev/sdb)
sudo umount /dev/sdb* # Varsa mount edilmiş bölümleri çıkar
sudo dd if=ubuntu-24.04-desktop-amd64.iso of=/dev/sdb bs=4M status=progress
sync # Yazma işlemini tamamla
Dikkat! dd komutu çok güçlüdür. Yanlış hedef (/dev/sda gibi) seçerseniz sisteminizi silebilirsiniz. Hedef cihazı lsblk ile iki kez kontrol edin!

Dual Boot (Windows ile):

Dual Boot İçin Adımlar:
1. Windows'ta disk alanı küçült (Disk Management)
2. En az 50GB boş alan oluştur
3. Ubuntu USB'den boot et
4. "Install Ubuntu alongside Windows" seçeneğini seç
5. Bölüm boyutunu ayarla
6. Kurulumu tamamla
7. Restart sonrası GRUB boot menüsü gelecek
Güvenli Kurulum İpuçları:
• Önce "Try Ubuntu" ile sistemi test edin
• Önemli verilerinizi yedekleyin
• İnternet bağlantısı kurun (güncelleme indirir)
• "Install third-party software" seçeneğini işaretleyin (codec'ler için)

Temel Terminal Komutları

Dosya ve Dizin İşlemleri:

pwd # Bulunduğun dizini göster
ls # Dosyaları listele
ls -la # Detaylı liste (gizli dosyalar dahil)
cd /path/to/directory # Dizin değiştir
cd ~ # Ana dizine git
cd .. # Bir üst dizine çık
mkdir yeni_klasor # Dizin oluştur
mkdir -p parent/child/grandchild # İç içe dizinler oluştur
rmdir bos_klasor # Boş dizin sil
rm -rf klasor # Dizini içindekilerle sil (dikkatli!)

Dosya İşlemleri:

touch dosya.txt # Boş dosya oluştur
cp kaynak.txt hedef.txt # Dosya kopyala
cp -r klasor1 klasor2 # Dizin kopyala
mv eski.txt yeni.txt # Dosya adını değiştir/taşı
rm dosya.txt # Dosya sil
cat dosya.txt # Dosya içeriğini göster
less dosya.txt # Dosyayı sayfalayarak göster
head -n 10 dosya.txt # İlk 10 satırı göster
tail -n 10 dosya.txt # Son 10 satırı göster
tail -f log.txt # Dosyayı canlı takip et

Dosya Arama ve Filtreleme:

find /home -name "*.txt" # Dosya ara
grep "kelime" dosya.txt # Dosyada metin ara
grep -r "kelime" /dizin # Dizinde recursive ara
grep -i "kelime" dosya.txt # Büyük/küçük harf duyarsız
locate dosya.txt # Veritabanında hızlı arama
which python3 # Komutun konumunu bul

Sistem Bilgisi:

uname -a # Sistem bilgisi
lsb_release -a # Ubuntu versiyon bilgisi
df -h # Disk kullanımı
du -sh /dizin # Dizin boyutu
free -h # RAM kullanımı
top # İşlemci/RAM kullanımı (canlı)
htop # Gelişmiş görev yöneticisi
ps aux # Çalışan işlemler
lscpu # CPU bilgisi
lsusb # USB cihazları
lspci # PCI cihazları
Klavye Kısayolları
Ctrl + C: Çalışan komutu durdur
Ctrl + Z: İşlemi arka plana al
Ctrl + D: Terminali kapat (exit)
Ctrl + L: Ekranı temizle (clear)
Ctrl + R: Komut geçmişinde ara
Tab: Otomatik tamamlama
↑/↓: Komut geçmişi
Pro Terminal İpuçları:
• !! : Son komutu tekrarla
• sudo !! : Son komutu sudo ile çalıştır
• cd - : Önceki dizine dön
• history : Komut geçmişini göster
• alias ll='ls -la' : Kısayol oluştur

Linux Dosya Sistemi Yapısı

Ana Dizinler:

/ (Root): Dosya sisteminin kök dizini
/home: Kullanıcı ana dizinleri (/home/kullanici)
/root: Root kullanıcısının ana dizini
/etc: Sistem yapılandırma dosyaları
/var: Değişken veriler (log, cache, vb.)
/tmp: Geçici dosyalar
/usr: Kullanıcı programları ve kütüphaneler
/bin: Temel sistem komutları
/sbin: Sistem yönetim komutları
/lib: Paylaşılan kütüphaneler
/opt: İsteğe bağlı yazılım paketleri
/mnt: Geçici mount noktaları
/media: Çıkarılabilir medya mount noktaları
/dev: Cihaz dosyaları
/proc: İşlem ve kernel bilgisi (sanal)
/sys: Sistem donanım bilgisi (sanal)

Dosya İzinleri:

rwxr-xr-x = 755 (Standart dizin izni)
rw-r--r-- = 644 (Standart dosya izni)
rwxrwxrwx = 777 (Tam izin - güvensiz!)
chmod 755 script.sh # İzin değiştir
chmod +x script.sh # Çalıştırılabilir yap
chmod -R 755 /dizin # Recursive izin
chown kullanici:grup dosya # Sahip değiştir
chown -R kullanici:grup /dizin # Recursive sahip
İzin Sistemi Açıklaması
r (read) = 4: Okuma izni
w (write) = 2: Yazma izni
x (execute) = 1: Çalıştırma izni

İlk 3 karakter: Sahip (owner)
Orta 3 karakter: Grup (group)
Son 3 karakter: Diğerleri (others)

Örnek: rwxr-xr-x → 755 → Sahip tam yetki, diğerleri okuma+çalıştırma

Disk İşlemleri:

lsblk # Disk ve bölümleri listele
fdisk -l # Disk bilgilerini göster
mount /dev/sdb1 /mnt # Disk mount et
umount /mnt # Unmount
df -h # Mount edilmiş disklerin kullanımı
sudo mkfs.ext4 /dev/sdb1 # Disk formatla
Dikkat! Disk işlemleri (özellikle fdisk, mkfs) veri kaybına neden olabilir. İşlem yapmadan önce disklerinizi iki kez kontrol edin ve yedek alın.

Paket Yönetimi (APT)

Temel APT Komutları:

sudo apt update # Paket listesini güncelle
sudo apt upgrade # Tüm paketleri güncelle
sudo apt full-upgrade # Tam güncelleme (kernel dahil)
sudo apt install paket_adi # Paket kur
sudo apt remove paket_adi # Paket kaldır
sudo apt purge paket_adi # Paket + config sil
sudo apt autoremove # Gereksiz paketleri temizle
sudo apt autoclean # Eski paket önbelleğini temizle
apt search kelime # Paket ara
apt show paket_adi # Paket bilgisi göster
apt list --installed # Kurulu paketler
apt list --upgradable # Güncellenebilir paketler
Günlük Güncelleme Rutini
sudo apt update && sudo apt upgrade -y

Bu komutu haftada bir çalıştırın. Sistem güvenliği ve performansı için kritiktir.

PPA (Personal Package Archive) Ekleme:

sudo add-apt-repository ppa:kullanici/ppa-adi
sudo apt update
sudo apt install paket
# PPA kaldırma
sudo add-apt-repository --remove ppa:kullanici/ppa-adi

Snap Paketleri:

snap find paket_adi # Snap paketi ara
sudo snap install paket_adi # Snap kur
sudo snap remove paket_adi # Snap kaldır
snap list # Kurulu snap paketleri
sudo snap refresh # Snap güncelle
APT vs Snap vs Flatpak:
APT: Geleneksel Ubuntu paket yöneticisi, hızlı ve sistem entegre
Snap: Canonical'ın containerized paket sistemi, otomatik güncelleme
Flatpak: Distro-agnostik paket sistemi, sandbox güvenlik

Öncelik: APT > Snap > Flatpak (performans açısından)

Popüler Paketler:

sudo apt install git # Versiyon kontrol
sudo apt install curl wget # İndirme araçları
sudo apt install build-essential # Derleme araçları
sudo apt install vim nano # Metin editörleri
sudo apt install htop # Sistem monitörü
sudo apt install net-tools # Ağ araçları
sudo apt install ssh # SSH istemci/sunucu
sudo apt install ufw # Firewall
sudo apt install vlc # Medya oynatıcı
sudo apt install gimp # Resim düzenleme
Hızlı Kurulum Scripti:
Sık kullandığınız paketleri bir script'te toplayın:

#!/bin/bash
sudo apt update
sudo apt install -y git curl build-essential htop

Kullanıcı ve Grup Yönetimi

Kullanıcı İşlemleri:

sudo adduser yeni_kullanici # Kullanıcı ekle
sudo deluser kullanici # Kullanıcı sil
sudo deluser --remove-home kullanici # Kullanıcı + ev dizini sil
sudo passwd kullanici # Şifre değiştir
sudo usermod -aG sudo kullanici # Sudo yetkisi ver
sudo usermod -l yeni_ad eski_ad # Kullanıcı adı değiştir
whoami # Mevcut kullanıcı
id # Kullanıcı ID ve grupları
w # Kimler online
last # Son girişler

Grup İşlemleri:

sudo groupadd yeni_grup # Grup oluştur
sudo groupdel grup # Grup sil
sudo usermod -aG grup kullanici # Kullanıcıyı gruba ekle
sudo gpasswd -d kullanici grup # Kullanıcıyı gruptan çıkar
groups kullanici # Kullanıcının grupları
cat /etc/group # Tüm gruplar
Sudo Yetkilendirme
Kullanıcıya sudo yetkisi ver:
sudo usermod -aG sudo kullanici

sudoers dosyasını düzenle (dikkatli!):
sudo visudo

Belirli komutlara izin vermek için sudoers'a ekle:
kullanici ALL=(ALL) NOPASSWD: /usr/bin/apt

Kullanıcı Geçişi:

su kullanici # Kullanıcı değiştir
su - # Root kullanıcıya geç (şifre gerekli)
sudo -i # Root shell aç
sudo -u kullanici komut # Komutları başka kullanıcı olarak çalıştır
exit # Kullanıcı oturumundan çık
Güvenlik Uyarısı: Root kullanıcısı olarak sürekli çalışmayın. sudo kullanın ve işlem bittiğinde normal kullanıcıya dönün. Root yetkileriyle yapılan hatalar geri alınamaz hasarlara neden olabilir.

Sistem Yönetimi

Systemd Servis Yönetimi:

sudo systemctl start servis # Servisi başlat
sudo systemctl stop servis # Servisi durdur
sudo systemctl restart servis # Servisi yeniden başlat
sudo systemctl reload servis # Config'i yeniden yükle
sudo systemctl status servis # Servis durumu
sudo systemctl enable servis # Boot'ta otomatik başlat
sudo systemctl disable servis # Otomatik başlatmayı kapat
systemctl list-units --type=service # Tüm servisler

Log Yönetimi (Journalctl):

sudo journalctl # Tüm loglar
sudo journalctl -u servis # Belirli servis logları
sudo journalctl -f # Canlı log takibi
sudo journalctl --since today # Bugünün logları
sudo journalctl --since "2024-01