ESC
Bash / Terminal Komutları

Gezinme

Komut Seçenekler Örnek Çıktı Açıklama
ls -la, -lh, -R ls -la /etc dosya listesi Dizin içeriğini listeler; -l uzun format, -a gizli dosyalar, -h okunabilir boyutlar
cd -, ~, .. cd ~/projects dizin değiştirir Dizin değiştirir; cd - önceki dizine döner, cd ~ ana dizine gider
pwd pwd /home/kullanici Çalışma dizinini tam yoluyla yazdırır
tree -L n, -a tree -L 2 ağaç görünümü Dizin ağacını gösterir; -L derinliği sınırlar (kurulum gerekebilir)
find -name -type -mtime find . -name '*.log' dosya yolları Kriterlere uyan dosya/dizinleri arar
locate -i locate nginx.conf dosya yolları Veritabanı indeksiyle hızlı dosya arama; önce updatedb çalıştırın

Dosya İşlemleri

Komut Seçenekler Örnek Çıktı Açıklama
cp -r, -i, -u cp -r src/ dst/ dosya kopyalar Dosyaları kopyalar; -r dizinler için, -i üzerine yazmadan önce sorar
mv -i, -n mv old.txt new.txt taşır/yeniden adlandırır Dosyaları taşır veya yeniden adlandırır; -i üzerine yazmadan önce sorar
rm -r, -f, -i rm -rf dist/ silindi Dosya/dizinleri siler; -r özyinelemeli, -f zorla — dikkatli kullanın
mkdir -p mkdir -p a/b/c yeni dizin Dizin oluşturur; -p gerektiğinde üst dizinleri de oluşturur
touch touch index.html boş dosya Boş dosya oluşturur veya dosya zaman damgasını günceller
ln -s ln -s /etc/nginx nginx symlink Sabit bağlantı oluşturur; -s sembolik bağlantı (symlink) için

Dosya Görüntüleme

Komut Seçenekler Örnek Çıktı Açıklama
cat -n, -A cat -n file.txt dosya içeriği Dosyayı yazdırır; -n satır numarası ekler, -A yazdırılamayan karakterleri gösterir
head -n N head -n 20 log.txt ilk N satır Dosyanın ilk satırlarını gösterir (varsayılan 10)
tail -n N, -f tail -f app.log son N satır Son satırları gösterir; -f yeni içeriği gerçek zamanlı takip eder
less /search, q less large.log sayfalı görünüm Dosyayı sayfa sayfa görüntüler; / arama, q çıkış, boşluk sayfa geçişi
wc -l, -w, -c wc -l file.txt sayım Sözcük sayar; -l satır, -w sözcük, -c bayt/karakter sayısı

Arama ve Metin İşleme

Komut Seçenekler Örnek Çıktı Açıklama
grep -r -i -n -v -E grep -rn 'error' logs/ eşleşen satırlar Metin kalıplarını arar; -r özyinelemeli, -i büyük/küçük harf duyarsız, -n satır numaraları
grep -v grep -v 'debug' app.log eşleşmeyen satırlar Tersine eşleme — kalıbı İÇERMEYEN satırları gösterir
grep -E grep -E 'warn|error' log eşleşen satırlar Genişletilmiş regex — VEYA için |, bir veya daha fazla için + kullanın
awk '{print $N}' awk '{print $1}' f sütun değeri Kalıp-eylem metin işleme; $1 birinci alan, $NF son alan
sed -i 's/a/b/g' sed -i 's/foo/bar/g' f değiştirilmiş metin Akış düzenleyicisi; s/ara/değiştir/g tüm metinde değiştirme yapar
sort -n -r -k N sort -n numbers.txt sıralanmış çıktı Satırları sıralar; -n sayısal, -r ters sıra, -k N. sütuna göre sırala
uniq -c, -d sort f | uniq -c benzersiz satırlar Ardışık yinelenen satırları kaldırır; genellikle sort sonrası pipe ile kullanılır

İzinler

Komut Seçenekler Örnek Çıktı Açıklama
chmod 755, 644, +x chmod +x script.sh izinler değişti Dosya izinlerini değiştirir; 755=rwxr-xr-x, 644=rw-r--r--
chown -R user:group chown -R www-data:www-data /var/www sahip değişti Dosya sahibi ve grubunu değiştirir; -R özyinelemeli
ls -la ls -la /var/www izin listesi Tüm dosyalar için izinleri, sahibi, grubu ve boyutu gösterir
umask 022, 027 umask 022 varsayılan izinler Yeni dosyalar için varsayılan izin maskesini ayarlar (022 → 644 dosyalar)
sudo -u user sudo systemctl restart nginx yükseltilmiş komut Komutu süper kullanıcı olarak çalıştırır; -u farklı kullanıcı olarak çalıştırmak için

Süreç Yönetimi

Komut Seçenekler Örnek Çıktı Açıklama
ps aux, -ef ps aux | grep nginx süreç listesi Süreçleri listeler; aux=tüm kullanıcılar, -ef=tam format
top q, k, M top canlı görünüm Etkileşimli süreç monitörü; q çıkış, k sonlandır, M belleğe göre sırala
htop F3, F9 htop canlı görünüm Renkli gelişmiş top; F3 arama, F9 sonlandır (kurulum gerekebilir)
kill -9, -15 kill -9 1234 sinyal gönderildi PID'e sinyal gönderir; -15 SIGTERM (düzgün kapatma), -9 SIGKILL (zorla)
killall -9, -u killall node sinyal gönderildi Aynı isimdeki tüm süreçleri sonlandırır
jobs -l jobs -l iş listesi Mevcut kabukta arka planda çalışan veya durdurulmuş işleri listeler
bg / fg %N fg %1 devam ettirildi bg işi arka plana gönderir, fg ön plana getirir

Komut Seçenekler Örnek Çıktı Açıklama
curl -o -L -X -H -d curl -O https://example.com/f yanıt HTTP/FTP üzerinden veri aktarır; -L yönlendirmeleri takip eder, -o dosyaya kaydeder
wget -O -r -q wget -q https://example.com kaydedilen dosya Dosyaları indirir; -O çıktıyı yeniden adlandırır, -r özyinelemeli, -q sessiz mod
ping -c N ping -c 4 google.com RTT ms Ağ bağlantısını test eder; -c paket sayısını sınırlar
ssh -i -p -L ssh user@host -p 2222 kabuk Güvenli kabuk bağlantısı; -i anahtar dosyası, -p port, -L yerel port yönlendirme
scp -r -P -i scp file user@host:~/ kopyalandı SSH üzerinden güvenli kopyalama; -r özyinelemeli, -P port (büyük harf)
netstat -tuln netstat -tuln port listesi Ağ bağlantılarını gösterir; -t TCP, -u UDP, -l dinleme, -n sayısal
ss -tuln ss -tuln port listesi netstat'ın modern alternatifi; daha hızlı ve daha ayrıntılı

Arşiv ve Sıkıştırma

Komut Seçenekler Örnek Çıktı Açıklama
tar -czf -czf out.tar.gz tar -czf arc.tar.gz dir/ arşiv gzip sıkıştırmalı tarball oluşturur; c=oluştur, z=gzip, f=dosya adı
tar -xzf -xzf file.tar.gz tar -xzf arc.tar.gz -C /tmp çıkarıldı gzip tarball'ı çıkarır; x=çıkar, -C hedef dizin
tar -tf tar -tf archive.tar.gz dosya listesi Tarball içeriğini çıkarmadan listeler
zip -r, -9 zip -r out.zip dir/ zip dosyası Zip arşivi oluşturur; -r özyinelemeli, -9 maksimum sıkıştırma
unzip -d, -l unzip archive.zip -d out/ çıkarıldı Zip arşivini açar; -d hedef dizin, -l çıkarmadan içeriği listeler
gzip / gunzip -k, -d gzip -k file.txt sıkıştırıldı Tek dosyayı gzip ile sıkıştırır; -k orijinali korur, gunzip açmak için

Ortam ve Kabuk

Komut Seçenekler Örnek Çıktı Açıklama
env env | grep PATH degisken=deger Tüm ortam değişkenlerini yazdırır; filtrelemek için grep ile pipe kullanın
export export NODE_ENV=production değişken ayarlandı Mevcut oturum ve alt süreçler için ortam değişkeni tanımlar
echo $VAR echo $HOME değer Değişken değerini yazdırır; dizilerde belirsizliği gidermek için ${VAR} kullanın
which which node yol Komut çalıştırılabilirinin tam yolunu gösterir
alias alias ll='ls -la' kısayol Komut kısayolu oluşturur; kalıcı olması için ~/.bashrc dosyasına ekleyin
source source ~/.bashrc yeniden yüklendi Dosyayı mevcut kabuk bağlamında çalıştırır (alternatif: . ~/.bashrc)
history !N, !! history | tail -20 komut listesi Komut geçmişini gösterir; !! son komutu tekrarlar, !N N. komutu çalıştırır

Git Hızlı Referans

Komut Seçenekler Örnek Çıktı Açıklama
git init git init my-project repo oluşturuldu Dizinde yeni Git deposu başlatır
git clone --depth 1 git clone url repo klonlandı Uzak depoyu klonlar; --depth 1 yüzeysel klon için
git status -s git status -s değişiklikler Çalışma ağacı durumunu gösterir; -s kısa format
git add -A, -p git add -p hazırlandı Değişiklikleri hazırlar; -A tümü, -p etkileşimli parça modu
git commit -m, --amend git commit -m 'msg' işlendi Hazırlanan değişiklikleri kaydeder; --amend son commit'i düzenler
git push -u origin git push -u origin main gönderildi Uzak sunucuya gönderir; -u yukarı akış takip dalını ayarlar
git pull --rebase git pull --rebase senkronize edildi Uzak değişiklikleri getirir ve birleştirir; --rebase merge yerine rebase kullanır
git log --oneline --graph git log --oneline -10 geçmiş Commit geçmişini gösterir; --oneline özet, --graph görsel dal yapısı
git stash pop, list git stash pop geri yüklendi Commit edilmemiş çalışmayı geçici olarak saklar; pop ile geri alır
git diff --staged git diff --staged fark Değişiklikleri gösterir; --staged hazırlanmış ama commit edilmemiş değişiklikleri gösterir

Sıkça Sorulan Sorular

sh (Bourne Shell), POSIX tarafından standartlaştırılmış orijinal Unix kabuğudur. bash (Bourne Again Shell), onun halefi ve üst kümesidir; diziler, genişletilmiş test sözdizimi [[]], aritmetik genişleme $(( )), geçmiş, sekme tamamlama ve daha fazlasını ekler. Çoğu Linux sisteminde /bin/sh, bash veya dash'a (yalnızca POSIX hafif kabuğu) bir sembolik bağlantıdır. #!/bin/sh kullanan betikler taşınabilirlik için POSIX özelliklerine bağlı kalmalıdır.

Üç adım: (1) İlk satır olarak shebang satırı ekleyin: #!/bin/bash. (2) chmod +x script.sh ile çalıştırılabilir yapın. (3) ./script.sh ile çalıştırın (mevcut dizin varsayılan olarak $PATH'te olmadığından ./ gereklidir). Herhangi bir yerden çalıştırmak için, PATH'inizdeki bir dizine taşıyın: mv script.sh ~/bin/ ve ~/bin'in PATH'inizde olduğundan emin olun.

Bash'te üç standart akış vardır: stdin (0), stdout (1), stderr (2). stdout'u dosyaya yönlendirme: command > file.txt (üzerine yaz) veya command >> file.txt (ekle). stderr yönlendirme: command 2> errors.txt. Her ikisini yönlendirme: command > output.txt 2>&1. Çıktıyı at: command > /dev/null 2>&1. stdout'u pipe etme: command1 | command2.