LIONFIN
VPS & Sunucu

Linux Temel Komutlar: Sunucu Yönetimi İçin Başvuru Rehberi

7 dk okuma Güncelleme: 1 görüntülenme
Linux Temel Komutlar: Sunucu Yönetimi İçin Başvuru Rehberi

Linux temel komutlar, komut satırında dosyaları yönetmek, servisleri başlatıp durdurmak, günlükleri okumak ve sunucunun sağlığını kontrol etmek için her gün kullanılan araçlardır. Grafik arayüzü olmayan bir sunucuda yönetimin neredeyse tamamı birkaç düzine komutla yapılır; hepsini ezberlemek gerekmez, hangi işin hangi komutla yapıldığını bilmek yeterlidir.

Tablolar Ubuntu 24.04 LTS ve Debian 12–13 esas alınarak hazırlanmıştır; AlmaLinux ve Rocky Linux farkları paket bölümünde belirtilmiştir. LIONFIN VPS sunucularında tam root erişiminiz olduğu için tüm komutları kullanabilirsiniz; SSH erişimli Linux hosting hesaplarında ise dosya ve metin komutlarının çoğu çalışır, sudo gerektirenler çalışmaz. Sunucuya bağlanmak için VPS bağlantı rehberine bakın.

Kısa cevap

Linux temel komutlar, bir sunucuyu SSH üzerinden yönetmek için gereken dosya, izin, süreç, paket, servis, günlük, ağ ve disk işlemlerini kapsayan kısa bir komut setidir. En sık kullanılanlar ls, cd, cp, chmod, ps, apt, systemctl, journalctl, ss ve df komutlarıdır. Her komutun ayrıntısı man komut_adı ile okunur; yönetici yetkisi gerektiren işlemler başına sudo eklenerek çalıştırılır.

Linux temel komutları nasıl yazılır, yardım nasıl alınır?

Bir Linux komutu komut -seçenekler argümanlar biçiminde yazılır: ls -lh /var/log komutunda ls komut, -lh seçenekler, /var/log argümandır. Büyük-küçük harf önemlidir; sistem ayarlarını değiştiren komutların başına sudo eklenir.

Komut / kısayolNe işe yarar
man ls, ls --helpKılavuz ve seçenekler; kılavuzdan q ile çıkılır
TabKomut ve dosya adlarını tamamlar
Ctrl+R, historyKomut geçmişinde arar, listeler
Ctrl+CÇalışan komutu durdurur
komut1 | komut2Çıktıyı sonraki komuta aktarır (pipe)
> ve >>Çıktıyı dosyaya yazar: > üzerine yazar, >> sona ekler
sudo -iRoot kabuğu açar; işiniz bitince exit

Büyük aktarım ya da derleme gibi uzun işleri tmux oturumunda çalıştırın; SSH bağlantısı koparsa tmux attach ile kaldığınız yere dönersiniz (paket yoksa sudo apt install tmux).

Dosya ve dizin işlemleri hangi komutlarla yapılır?

Temel dosya ve dizin işlemleri on kadar komutla yapılır; komut satırında çöp kutusu olmadığını unutmayın:

KomutİşlevÖrnek
pwdBulunduğunuz dizinpwd
lsİçeriği listelerls -lah /var/www
cdDizin değiştirircd /etc, cd .., cd ~
mkdirDizin oluştururmkdir -p /var/www/site/public
cpKopyalarcp -a site site-yedek
mvTaşır, yeniden adlandırırmv eski.conf yeni.conf
rmSilerrm dosya.txt, rm -r klasor
touchBoş dosya oluştururtouch .env
findDosya ararfind /var/www -name "*.log" -mtime +7
ln -sSembolik bağlantıln -s /etc/nginx/sites-available/site /etc/nginx/sites-enabled/

cp -a izinleri, sahipliği ve tarihleri koruduğu için site kopyalarken düz cp -r yerine tercih edilir. find örneği yedi günden eski .log dosyalarını listeler; sonuna -delete eklemeden önce listeyi mutlaka kontrol edin.

Dosya izinleri ve sahiplik nasıl değiştirilir?

İzinler chmod, sahiplik chown ile değiştirilir. ls -l çıktısındaki -rw-r--r-- dizisi sırasıyla sahip, grup ve diğerlerinin okuma (r), yazma (w) ve çalıştırma (x) haklarını gösterir; sayısal gösterimde r=4, w=2, x=1 toplanır:

KomutSonuç
chmod 644 dosya.phpSahip okur ve yazar, diğerleri okur (dosyalar için standart)
chmod 755 klasorSahip tam yetkili, diğerleri girip okur (dizinler için standart)
chmod 600 .envYalnızca sahip erişir (gizli yapılandırma)
chmod u+x betik.shSahibe çalıştırma izni ekler
sudo chown -R deploy:www-data /var/www/siteSahibi ve grubu alt klasörlerle birlikte değiştirir
idKullanıcınızın kimliğini ve gruplarını gösterir

Bir sitedeki izinleri toplu düzeltmek için dizinleri ve dosyaları ayrı ele alın:

find /var/www/site -type d -exec chmod 755 {} \;
find /var/www/site -type f -exec chmod 644 {} \;

Yanlış izin ve sahiplik web sunucusunda erişim hatalarına yol açar; teşhis adımları 403 Forbidden hatası çözümü rehberindedir.

Dikkat: chmod -R 777 izin sorununu çözüyor gibi görünse de herkese yazma hakkı vererek saldırganın yüklediği betiğin çalışmasının önünü açar; doğru sahiplik ve 644/755 izinleri yeterlidir.

Metin dosyaları nasıl okunur, aranır ve düzenlenir?

Yapılandırma dosyaları ve günlükler düz metin olduğundan okuma, arama ve düzenleme komutları en sık kullanacağınız gruptur:

KomutNe işe yarar
cat dosyaKısa bir dosyanın tamamını yazdırır
less dosyaSayfa sayfa okur; /kelime arar, q çıkar
head -n 20 dosyaİlk 20 satır
tail -n 100 dosyaSon 100 satır
tail -f /var/log/nginx/error.logYeni satırları canlı izler
grep -i "error" dosyaBüyük-küçük harf duyarsız arama
grep -rn "DB_HOST" /var/www/siteKlasörde satır numarasıyla arama
grep -v "^#" dosyaYorum satırlarını gizler
wc -l dosyaSatır sayısı
nano dosyaDüzenler; Ctrl+O kaydeder, Ctrl+X çıkar

Komutları boru ile birleştirerek hızlı analiz yapabilirsiniz; örneğin Nginx erişim günlüğünde en çok istek gönderen on IP adresi:

sudo awk '{print $1}' /var/log/nginx/access.log | sort | uniq -c | sort -rn | head

Süreçler nasıl izlenir ve durdurulur?

Çalışan programlar (süreçler) ps ve top ile izlenir, kill ailesiyle durdurulur:

KomutNe işe yarar
ps auxTüm süreçler
ps aux --sort=-%mem | headEn çok bellek kullananlar
top, htopCanlı görünüm; top’ta M belleğe, P işlemciye göre sıralar
pgrep -a phpAdı eşleşen süreçler ve PID’leri
kill 1234Düzgün kapanma sinyali (SIGTERM) gönderir
kill -9 1234Zorla sonlandırır (SIGKILL); son çare
pkill -f "node app.js"Komut satırı eşleşen süreçleri durdurur
uptime, free -hYük ortalamaları, bellek ve swap

kill -9 sürece kapanış işlemlerini yapma fırsatı vermez; veritabanı gibi servislerde veri bozulmasına yol açabileceği için önce systemctl stop ya da düz kill deneyin. htop yoksa sudo apt install htop ile kurun. Yük ortalaması ve bellek değerlerinin yorumu Linux sunucu performans izleme rehberinde anlatılmıştır.

Paketler apt ve dnf ile nasıl yönetilir?

Yazılım kurma, güncelleme ve kaldırma işleri Debian ve Ubuntu’da apt, AlmaLinux ve Rocky Linux’ta dnf ile yapılır:

İşlemDebian / UbuntuAlmaLinux / Rocky
Paket listesini yenilesudo apt updatesudo dnf check-update
Tüm paketleri güncellesudo apt upgradesudo dnf upgrade
Paket kursudo apt install nginxsudo dnf install nginx
Paket kaldırsudo apt remove nginxsudo dnf remove nginx
Gereksiz bağımlılıkları silsudo apt autoremovesudo dnf autoremove
Paket araapt search redisdnf search redis
Paket bilgisiapt show nginxdnf info nginx
Kurulu paketlerapt list --installeddnf list installed

apt purge, remove’dan farklı olarak paketin yapılandırma dosyalarını da siler. apt etkileşimli kullanım için tasarlanmıştır; betiklerde kararlı çıktı veren apt-get tercih edilir. Kaynağını bilmediğiniz depoları ve paket dosyalarını eklemeyin. Otomatik güvenlik güncellemelerinin kurulumu VPS ilk kurulum adımları rehberindedir.

Servis ve günlük yönetimi: systemctl ve journalctl nasıl kullanılır?

Modern dağıtımlarda servisler systemd tarafından yönetilir: systemctl servisleri başlatıp durdurur, journalctl günlüklerini okur.

KomutNe işe yarar
systemctl status nginxDurum ve son günlük satırları
sudo systemctl restart nginxYeniden başlatır (kısa kesinti)
sudo systemctl reload nginxYapılandırmayı kesintisiz yeniden yükler
sudo systemctl enable --now nginxAçılışta başlatır ve hemen çalıştırır
sudo systemctl disable nginxAçılışta başlatmaz
systemctl --failedHata veren servisler
sudo journalctl -u nginx --since "1 hour ago"Servisin son bir saatlik günlüğü
sudo journalctl -fSistem günlüğünü canlı izler
sudo journalctl -b -p errBu açılıştan beri hata kayıtları
sudo journalctl --disk-usageGünlüklerin kapladığı alan

Yapılandırma değiştirdikten sonra yeniden başlatmadan önce sözdizimini sınayın: Nginx için sudo nginx -t, Apache için sudo apachectl configtest, SSH için sudo sshd -t. Hatalı yapılandırmayla yapılan bir restart servisi tamamen durdurabilir. Bazı uygulamalar journal yerine dosyaya yazar: Nginx günlükleri /var/log/nginx/, Ubuntu’nun genel sistem kayıtları /var/log/syslog altındadır.

Ağ, disk ve arşiv işlemleri hangi komutlarla yapılır?

Bağlantı sorunlarını, dolan diski ve yedek arşivlerini aşağıdaki komutlarla yönetirsiniz:

KomutNe işe yarar
ip a, ip rIP adresleri ve yönlendirme tablosu
sudo ss -tulpnDinlenen portlar ve bunları açan süreçler
ping -c 4 ornekalanadi.comErişilebilirlik ve gecikme
curl -I localhostYerel web sunucusunun yanıt başlıkları
dig ornekalanadi.com +shortDNS çözümlemesi (dnsutils paketi)
df -h, df -iDisk doluluğu ve inode kullanımı
sudo du -h --max-depth=1 /var | sort -hEn büyük klasörler
lsblkDiskler ve bölümler
tar -czf site.tar.gz /var/www/siteKlasörü sıkıştırılmış arşive alır
tar -tzf site.tar.gzArşivi açmadan içeriğini listeler
tar -xzf site.tar.gz -C /tmp/geriArşivi belirtilen dizine açar

ifconfig ve netstat eski net-tools paketine aittir ve yeni kurulumlarda bulunmayabilir; yerlerini ip ve ss almıştır. Günlükler diski dolduruyorsa sudo journalctl --vacuum-time=14d on dört günden eski kayıtları siler. tar komutunda -C ile verdiğiniz hedef dizin önceden var olmalıdır (mkdir -p /tmp/geri).

Hangi Linux komutları tehlikelidir?

Linux temel komutları arasında en çok zarar verebilenler geri alınamayan silme, herkese açık izin ya da doğrulanmamış kod çalıştırma içerenlerdir; sistem bu komutları onay istemeden uygular. Özellikle dikkat edin:

  • rm -rf: Sorgusuz ve özyinelemeli siler. Hedefi önce ls ile kontrol edin; rm -rf $DIZIN/* gibi değişkenli komutlarda değişken boş kalırsa komut rm -rf /* hâline gelir.
  • chmod -R 777 ve yanlış dizinde chown -R: Binlerce dosyanın izinlerini ya da sahipliğini tek seferde bozar.
  • curl -fsSL ADRES | sudo bash: İnternetten gelen betiği okumadan root olarak çalıştırır; betiği önce indirip less ile inceleyin ya da dağıtımın paketini kullanın.
  • > yönlendirmesi: Hedef dosyanın içeriğini sıfırlar; eklemek için >> kullanın.
  • dd ve mkfs: Yanlış disk adında tüm bölümü siler; hedefi lsblk ile iki kez doğrulayın.
  • Uzaktan güvenlik duvarı ve SSH değişiklikleri: Hatalı bir kural bağlantınızı keser; ikinci bir oturumu açık tutun ve UFW kurallarını etkinleştirmeden önce gözden geçirin.

Riskli bir işlemden önce yedek almak bu hataların çoğunu telafi edilebilir kılar; yöntemler VPS yedekleme ve snapshot rehberindedir.

Sık Sorulan Sorular

Linux komutlarını öğrenmeye nereden başlamalıyım?

Önce dosya ve dizin komutlarıyla (ls, cd, cp, mv, rm) başlayın, ardından nano ile dosya düzenlemeyi, sudo ile yetki kullanmayı ve systemctl ile servis yönetimini öğrenin. Bu dört grup günlük işlerin büyük bölümünü karşılar. Her yeni komutta man sayfasına göz atmak ve denemeleri önemli veri içermeyen bir test sunucusunda yapmak, öğrenmeyi hem hızlandırır hem güvenli kılar.

Linux’ta rm ile silinen dosya geri getirilebilir mi?

Komut satırında rm ile silinen dosya çöp kutusuna gitmez ve çoğu durumda geri getirilemez; özel kurtarma araçları bile başarıyı garanti etmez. Bu yüzden tek gerçek güvence yedektir. Silmeden önce hedefi ls ile kontrol edin, kritik dizinlerde rm -i ile her dosya için onay isteyin ve sunucu dışında saklanan düzenli yedekler alın.

sudo ile su arasındaki fark nedir?

sudo, tek bir komutu kendi parolanızla ve yönetici yetkisiyle çalıştırır; her kullanım günlüğe kaydedilir ve yetki komut bitince sona erer. su ise başka bir kullanıcının, genellikle root’un kabuğuna geçer ve o kullanıcının parolasını ister. Sunucularda sudo tercih edilir; root parolasını paylaşmadan yetki verilebilir ve kimin hangi komutu çalıştırdığı izlenebilir.

Bir komutun ne yaptığını çalıştırmadan nasıl öğrenirim?

man komut_adı kılavuz sayfasını, komut_adı --help kısa kullanım özetini gösterir. type komut_adı komutun kabuğa yerleşik mi yoksa ayrı bir program mı olduğunu, which komut_adı ise hangi dosyanın çalışacağını söyler. İnternette bulduğunuz uzun bir komutu çalıştırmadan önce her parçasını ayrı ayrı okuyun; özellikle sudo, rm ve chmod içeren ya da çıktısı bash’e aktarılan komutlarda dikkatli olun.

Linux komutları tüm dağıtımlarda aynı mı?

Dosya, izin, süreç, ağ ve metin komutları tüm dağıtımlarda büyük ölçüde aynıdır; asıl fark paket yönetimindedir. Debian ve Ubuntu apt, AlmaLinux ve Rocky Linux dnf kullanır; güvenlik duvarı araçları da UFW ve firewalld olarak ayrışır. Servis yönetimi güncel dağıtımların neredeyse hepsinde systemd üzerinden yapıldığı için systemctl ve journalctl komutları ortaktır.

Bu makale yardımcı oldu mu?

Geri bildiriminiz için teşekkürler!

kişi faydalı buldu

Paylaş

X LinkedIn WhatsApp

Sorunuz mu var? Destek ekibimize yazın.