Blog’a Dön

Temel Linux Komutları (Sunucu Yönetimi İçin)

Sunucu yönetimi için temel Linux komutları: dosya işlemleri, izinler, disk ve RAM kullanımı, süreçler, servisler, ağ, paket kurulumu ve dosya aktarımı.

Nodesty Ekibi6 dk okumaSunucular
Koyu Nodesty arka planında Linux yazısı ile Files, Processes ve Network ifadeleri

Linux komutları, bir sunucuyu yönetmenin temel aracıdır. Kiraladığınız VDS'lerin, fiziksel sunucuların ve oyun sunucularının büyük çoğunluğu Linux çalıştırır ve bunları grafik arayüz yerine SSH üzerinden komut satırıyla yönetirsiniz. İyi haber şu: Günlük işlerin neredeyse tamamı 20–30 komutla yapılır.

Bu rehberde bir Linux sunucuyu yönetirken en çok kullanacağınız komutları amaçlarına göre gruplayarak, örnekleriyle anlatıyoruz. Sunucunuza henüz bağlanmadıysanız önce SSH nedir? yazımıza göz atın.

Komut satırına başlarken

Bir komut genellikle üç parçadan oluşur: komutun adı, seçenekler ve hedef. ls -la /var/www komutunda ls komutu, -la seçenekleri, /var/www ise hedefi gösterir.

Zaman kazandıran birkaç alışkanlık:

  • Tab tuşu: Dosya ve komut adlarını otomatik tamamlar. Yazım hatalarını da önler.
  • Yukarı ok ve history: Önceki komutlara döner.
  • Ctrl + C: Çalışan komutu durdurur.
  • Ctrl + R: Geçmişte yazdığınız bir komutu arar.
  • man komut ya da komut --help: Bir komutun açıklamasını ve seçeneklerini gösterir.

Dosya ve klasör işlemleri

KomutNe yapar?
pwdBulunduğunuz klasörü gösterir
ls -laGizli dosyalar dahil klasör içeriğini ayrıntılı listeler
cd /var/wwwKlasöre geçer (cd .. bir üst klasöre, cd ~ eve)
mkdir -p a/b/cİç içe klasörleri tek seferde oluşturur
cp dosya yedekDosya kopyalar (cp -r ile klasör)
mv eski yeniTaşır ya da yeniden adlandırır
rm dosyaDosya siler (rm -r ile klasör)
nano dosyaDosyayı terminalde düzenler
cat dosyaDosyanın içeriğini yazdırır
less dosyaUzun dosyaları sayfa sayfa okur (q ile çıkılır)

nano ile bir dosyayı düzenledikten sonra Ctrl + O ve Enter ile kaydedip Ctrl + X ile çıkarsınız.

Dikkat: Linux'ta çöp kutusu yoktur. rm -r ile silinen bir klasör geri gelmez. Özellikle sudo rm -rf komutunu yazarken yolu iki kez kontrol edin; önemli dosyaları silmeden önce cp -r ile bir kopyasını alın.

Dosya arama ve içerik süzme

find /var/www -name "*.log"
grep -r "DB_PASSWORD" /var/www/site
tail -f /var/log/syslog
  • find: Belirli bir ada ya da türe uyan dosyaları bulur.
  • grep: Dosyaların içinde metin arar. -r alt klasörleri de tarar, -i büyük/küçük harfi önemsemez.
  • tail -f: Bir dosyanın son satırlarını gösterir ve yeni satırlar eklendikçe canlı olarak akıtır. Günlük takibi için idealdir; tail -n 100 son 100 satırı gösterir.

Komutları boru (|) ile birbirine bağlayabilirsiniz. Örneğin ps aux | grep java yalnızca Java süreçlerini gösterir.

Dosya izinleri ve sahiplik

Linux'ta her dosyanın bir sahibi, bir grubu ve bu ikisi ile diğer kullanıcılar için okuma (r), yazma (w) ve çalıştırma (x) izinleri vardır. ls -l çıktısında -rwxr-xr-- gibi görünür.

chmod +x start.sh
chmod 644 config.php
chown -R www-data:www-data /var/www/site
  • chmod +x: Bir betiği çalıştırılabilir yapar. "Permission denied" hatası alan başlatma betiklerinin çoğu bununla düzelir.
  • chmod 644: Sahibi okuyup yazabilir, diğerleri yalnızca okuyabilir. Dosyalar için yaygın değerdir; klasörler için 755 kullanılır.
  • chown -R: Dosyaların sahibini değiştirir. Web sunucusunun dosyalara yazabilmesi için sıkça gerekir.

chmod 777 ile her şeyi herkese açmak sorunu çözüyormuş gibi görünse de ciddi bir güvenlik açığıdır. Doğru sahipliği ayarlamak her zaman daha iyi bir çözümdür.

Disk, RAM ve işlemci kullanımı

KomutNe gösterir?
df -hDisklerin dolu ve boş alanı
du -sh *Bulunduğunuz klasördeki her öğenin boyutu
free -hRAM ve swap kullanımı
uptimeSunucunun ne kadar süredir açık olduğu ve yük ortalaması
htopİşlemci, RAM ve süreçlerin canlı görünümü
nprocİşlemci çekirdeği sayısı

Disk dolduğunda sunucuda tuhaf hatalar başlar: veritabanı yazamaz, oyun sunucusu kaydedemez. df -h ile dolu diski bulup du -sh /* ile büyük klasörlerin peşine düşün; en sık suçlular eski günlükler, yedekler ve kullanılmayan Docker imajlarıdır.

free -h çıktısında "available" sütununa bakın. Linux boş RAM'i önbellek olarak kullandığı için "free" değerinin düşük görünmesi normaldir.

Süreçler ve servisler

ps aux | grep node
kill 12345
systemctl status nginx
sudo systemctl restart nginx
journalctl -u nginx -f
  • ps aux: Çalışan bütün süreçleri listeler. İkinci sütun süreç numarasıdır (PID).
  • kill PID: Bir süreci kapatır. Cevap vermeyen süreçler için kill -9 PID kullanılır, ama süreç kaydetmeden kapanır.
  • systemctl: Servisleri yönetir. start, stop, restart, status ve sunucu açılışında otomatik başlatma için enable alt komutları vardır.
  • journalctl -u servis -f: Bir servisin günlüklerini canlı izler. Bir servis başlamıyorsa sebebi neredeyse her zaman buradadır.

Kendi uygulamanızı servis olarak çalıştırmayı Discord botu 7/24 aktif tutma rehberimizde systemd örneğiyle anlattık.

Uzun işlemler için tmux

SSH bağlantınız koptuğunda o oturumda çalışan komutlar da durur. Oyun sunucusu, uzun bir kopyalama ya da derleme gibi işleri tmux içinde başlatın:

tmux new -s sunucu

Ctrl + B ardından D ile oturumdan çıkarsınız; komut arka planda çalışmaya devam eder. tmux attach -t sunucu ile geri dönersiniz, tmux ls ile açık oturumları görürsünüz.

Ağ komutları

KomutNe yapar?
ip aSunucunun IP adreslerini gösterir
ss -tulpnHangi uygulamanın hangi portu dinlediğini gösterir
ping alanadi.comBir adrese ulaşılıp ulaşılmadığını ve gecikmeyi ölçer
curl -I https://alanadi.comBir web adresinin cevap başlıklarını gösterir
wget adresBir dosyayı indirir
dig alanadi.comAlan adının DNS kayıtlarını sorgular

Bağlantı sorunlarında ilk komut genellikle ss -tulpn'dir; uygulamanın gerçekten dinleyip dinlemediğini gösterir. Port ve güvenlik duvarı ayarlarını Port nedir? yazımızda ayrıntılı anlattık.

Paket yönetimi ve güncellemeler

Ubuntu ve Debian:

sudo apt update
sudo apt upgrade
sudo apt install htop
sudo apt remove paket

AlmaLinux ve Rocky Linux:

sudo dnf upgrade
sudo dnf install htop

apt update yalnızca paket listesini yeniler; güncellemeleri kuran apt upgrade'dir. Sunucunuzu düzenli güncellemek, bilinen güvenlik açıklarını kapatmanın en kolay yoludur. Çekirdek güncellemesinden sonra değişikliğin etkinleşmesi için sudo reboot ile yeniden başlatmanız gerekir.

Arşivleme ve dosya aktarımı

tar -czf yedek.tar.gz /var/www/site
tar -xzf yedek.tar.gz
unzip dosya.zip

tar -czf bir klasörü sıkıştırılmış tek bir arşive dönüştürür, tar -xzf arşivi açar. Kendi bilgisayarınızla sunucu arasında dosya aktarmak için:

scp yedek.tar.gz kullanici@203.0.113.10:/home/kullanici/
rsync -avz ./site/ kullanici@203.0.113.10:/var/www/site/

scp tek seferlik kopyalamalar için pratiktir. rsync yalnızca değişen dosyaları gönderdiği için büyük klasörleri senkronize etmek ve yarıda kalan aktarımları sürdürmek için çok daha uygundur. Grafik arayüz tercih ederseniz WinSCP ya da FileZilla gibi programlar SFTP ile aynı işi yapar.

Kullanıcılar ve yetkiler

sudo adduser ahmet
sudo usermod -aG sudo ahmet
whoami

Sunucuyu sürekli root olarak kullanmak yerine sudo yetkili bir kullanıcı oluşturun. AlmaLinux'ta yönetici grubunun adı sudo yerine wheel'dir. Oyun sunucuları ve uygulamalar için de ayrı kullanıcılar açmak, bir uygulamadaki açığın tüm sunucuyu etkilemesini önler.

Linux pratiği için Nodesty sunucuları

Linux öğrenmenin en iyi yolu gerçek bir sunucu üzerinde denemektir. Nodesty AMD Ryzen 9 9950X VDS ve AMD EPYC 7763 VDS paketlerinde Ubuntu, Debian ya da AlmaLinux'u seçip tam root erişimiyle başlarsınız. Yanlış bir komut sunucuyu bozarsa panelden yeniden kurulum yapabilir, 7 gün saklanan ücretsiz günlük yedeklerden geri dönebilir, SSH erişiminiz kesildiğinde de web konsolu üzerinden sunucunuza ulaşabilirsiniz.

Sıkça Sorulan Sorular

Linux komutlarını ezberlemem gerekir mi?

Hayır. Günlük sunucu yönetiminde 20–30 komut işinizin büyük kısmını görür ve bunları kullandıkça kendiliğinden öğrenirsiniz. Bir komutun seçeneklerini hatırlamadığınızda man komut ya da komut --help ile açıklamasına bakabilirsiniz.

sudo nedir, ne zaman kullanılır?

sudo, normal bir kullanıcının tek bir komutu yönetici (root) yetkisiyle çalıştırmasını sağlar. Paket kurmak, sistem dosyalarını düzenlemek ve servisleri yeniden başlatmak gibi işlemler için gerekir. Sürekli root olarak çalışmak yerine sudo kullanmak, yanlışlıkla yapılan hataların etkisini azaltır.

Silinen dosyalar geri getirilebilir mi?

Linux'ta rm ile silinen dosyalar çöp kutusuna gitmez ve kural olarak geri getirilemez. Bu yüzden önemli bir şeyi silmeden önce kopyasını alın ve düzenli yedek tutun. Nodesty VDS paketlerindeki günlük yedekler bu tür hatalara karşı bir güvence sağlar.

Komut çalışırken SSH bağlantım koparsa ne olur?

Normalde SSH oturumu kapandığında o oturumda çalışan komutlar da durur. Uzun süren işlemleri tmux ya da screen oturumunda başlatırsanız bağlantı kopsa bile komut çalışmaya devam eder ve yeniden bağlandığınızda oturuma geri dönebilirsiniz.

Ubuntu ve AlmaLinux'ta komutlar aynı mı?

Dosya, süreç ve ağ komutlarının neredeyse tamamı aynıdır. Fark çoğunlukla paket yöneticisindedir; Ubuntu ve Debian apt, AlmaLinux ve Rocky Linux dnf kullanır. Güvenlik duvarı araçları da farklıdır; Ubuntu'da genellikle ufw, AlmaLinux'ta firewalld bulunur.

Komut çıktısı çok uzunsa nasıl okurum?

Çıktıyı | less ile sayfa sayfa okuyabilir, | grep kelime ile yalnızca aradığınız satırları süzebilir ya da > dosya.txt ile bir dosyaya kaydedebilirsiniz. Günlük dosyalarının yalnızca son satırlarını görmek için tail kullanın.

Nodesty

Yazar hakkında

Nodesty Ekibi · Altyapı ve Destek

Nodesty ekibi sunucularımızı, ağımızı ve DDoS korumamızı her gün işletir ve müşteri destek taleplerini 7/24 yanıtlar. Bu rehberler o deneyimden yazılır.

İlgili yazılar

Sunucunuzu şimdi başlatın.

Nodesty'nin üstün altyapısı ile projelerinizi özgürce inşa edin ve sınır tanımadan ölçeklendirin.

                                                                                                                                                                                                                            
                                                                                                                                                                                                                            
                                                                                                                                                                                                                            
                                                                                                                             ············································                                                   
                                                ··································································································..........···························                                     
                                       ················..........................................................................................................................··············                             
                                  ·············.................::::::::::::::::::::::::::::::::::::::::::::::....................:::::::::::::::::::::::::::::::::::::::................···········                        
                             ············................:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::............·········                     
                         ············.................:::::::::::::::::::::::::::::::::::::::::::::::::::------------::::::::::::::::::::::::::::::----------------:::::::::::::::::::::..........········                  
                    ············......................::::::::::::::::::::::::::::::::::::------------------------------------------------------------------------------------:::::::::::::.........········                
                ··········.............................................::::::::::::::::::-------------==========================================-----------------------------------:::::::::::........·······               
             ········..................:.....................................::::::::::--------=======+++++++++++++++++++++++++++++++++++++=========================------------------::::::::::.......·······              
           ······.........::::::::::::::::::::................................:::::::-----=====++++xxxxxx**************************xxxxxxxxx++++++++++++++===================------------::::::::.......·······             
          ·····.......:::::::::::::::::::::::::::.............................:::::----===+++xxx****%%%%&&&&&&#############&&&&&&&%%%%%*******xxxxxxxx++++++++++++++==============----------:::::::......······             
         ····......::::::::-------------:::::::::::..........................::::---===+++xx***%%%&&&####@@@@@@@@@@@@@@@@@@@@@@@@####&&&&&%%%%*******xxxxxxxxx+++++++++++++===========--------::::::......·····             
        ····.....:::::::--------------------:::::::::.......................::::---===++xxx**%%&&&###@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@###&&&&%%%%%********xxxxxxxxxxx++++++++++++========------::::::.....······            
        ····.....:::::--------------------------::::::::....................::::---===++xx***%%&&&####@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@###&&&&&%%%%%**********xxxxxxxxxxxxx+++++++++=======------:::::.....·····            
        ····....::::::-------=============---------:::::::::................:::::---===+++xx***%%%&&&#####@@@@@@@@@@@@@@@@@@@@@@@@@#####&&&&&%%%%%%*************xxxxxxxxxxxxxx+++++++++======-----:::::....·····            
         ····....:::::-------================---------:::::::::...............:::::----===++++xxx***%%%%&&&&&&#################&&&&&&%%%%%%%*******************xxxxxxxxxxxxxxxxx++++++++======----:::::....·····            
         ·····....:::::--------=================---------::::::::::..............:::::::-----====+++++xxxxxx**************************xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx++++++++=====-----::::....·····            
          ·····.....:::::--------=================----------:::::::::::.................:::::::::-------=============++++++++++++++++++++++++++++++++++++xxxxxxxxxxxxxxxxxxxxxxx++++++++======-----::::....·····            
            ·····.....:::::::----------===========-------------::::::::::::.........................::::::::::::::::::------------------=============+++++++++++++++++++++++++++++++++=======-----::::.....·····            
              ······......:::::::---------------------------------:::::::::::::........................................:::::::::::::::-----------============+++++++++++++++++++++========------:::::.....·····             
                 ······........:::::::::---------------------------:::::::::::::::::...........................................:::::::::::::------------=============================--------::::::.....······              
                    ·········.........:::::::::::::::-------------::::::::::::::::::::::::.......................................::::::::::::::::--------------------------------------::::::::......·······                
                          ··········............::::::::::::::::::::::::::::::::::::::::::::::::::................................::::::::::::::::::::::::::-------------:::::::::::::::.........········                   
                                  ············..................:::::::::::::::::::::::::::::::::::::::::::.........................:::::::::::::::::::::::::::::::::::::................···········                        
                                             ················.............................................................................................................·················                                 
                                                           ······················................................................................···························                                                
                                                                               ·········································································