Bash / Terminal Komutları
Gezinme, dosyalar, arama, izinler, süreçler, ağ ve arşivler için temel 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 |
Ağ
| 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 |