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ı
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
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
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
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);
});
});
});