Linux Sunucu Yönetiminde Temel Komutlar Rehberi
Linux sunucuları yönetmek, sistem yöneticileri ve geliştiriciler için vazgeçilmez bir beceridir. Komut satırı arayüzü (CLI) üzerinden sunucularla etkileşim kurmak, verimliliği artırır ve daha derinlemesine kontrol sağlar. Bu kapsamlı rehberde, bir Linux sunucusunu etkin bir şekilde yönetmek için bilmeniz gereken en temel ve sık kullanılan komutları detaylı bir şekilde inceleyeceğiz. Her komutun ne işe yaradığını, nasıl kullanıldığını ve pratik örneklerini bulacaksınız. Unutmayın, pratik yapmak bu komutları hafızanıza kazımanın en iyi yoludur. Bu rehberdeki komutları dikkatlice uygulayın.
1. Dosya ve Dizin Yönetimi Komutları
Linux'ta her şey bir dosya olarak kabul edilir. Dosya ve dizinleri yönetmek, sunucu yönetiminin temelidir.
ls: List directory contents (Dizin içeriğini listele).
Bu komut, bulunduğunuz dizindeki veya belirttiğiniz bir dizindeki dosya ve alt dizinleri listeler.
Dosya sisteminde gezinmek için kullanılır.
(Bir üst dizine çıkma)
(Ana dizine dönme)
pwd: Print working directory (Çalışma dizinini göster).
O an bulunduğunuz dizinin tam yolunu gösterir.
mkdir: Make directory (Dizin oluştur).
Yeni bir dizin oluşturmak için kullanılır.
(İç içe dizinler oluşturma)
rm: Remove (Sil).
Dosyaları ve dizinleri silmek için kullanılır. Dikkatli kullanılmalıdır!
cp: Copy (Kopyala).
Dosya ve dizinleri kopyalamak için kullanılır.
mv: Move (Taşı) / Rename (Yeniden adlandır).
Dosya ve dizinleri taşımak veya yeniden adlandırmak için kullanılır.
cat: Concatenate and display (Birleştir ve göster).
Dosyaların içeriğini görüntülemek, birleştirmek veya yeni dosya oluşturmak için kullanılır.
less / more: Dosya içeriğini sayfa sayfa görüntüle.
Büyük dosyaları terminalde rahatça okumak için kullanılır. less daha gelişmiş özelliklere sahiptir (ileri/geri gitme, arama).
grep: Global regular expression print (Düzenli ifadeye göre ara).
Dosyaların veya komut çıktılarının içinde belirli bir metin veya deseni aramak için kullanılır.
find: Dosya sisteminde dosya ve dizinleri bul.
Belirli kriterlere göre dosya sisteminde arama yapmak için kullanılır.
2. Disk Kullanımı ve Süreç Yönetimi Komutları
Sunucunun performansını ve kaynak kullanımını izlemek kritik öneme sahiptir.
df: Disk filesystem (Disk dosya sistemi kullanımını göster).
Disk bölümlerinin doluluk oranlarını gösterir.
(İnsan okunabilir format)
du: Disk usage (Dizin boyutunu göster).
Belirli bir dizinin veya dosyaların disk üzerindeki kapladığı alanı gösterir.
(Dizinin toplam boyutunu insan okunabilir formatta göster)
ps: Process status (Süreç durumunu göster).
Çalışan süreçleri listeler.
top: Süreçleri dinamik olarak izle.
Sistem kaynaklarını (CPU, bellek) en çok kullanan süreçleri gerçek zamanlı olarak gösterir. Görev yöneticisi gibidir. `q` tuşu ile çıkılır.
kill: Süreçleri sonlandır.
Bir süreci Process ID (PID) kullanarak sonlandırmak için kullanılır.
3. İzinler ve Kullanıcı Yönetimi Komutları
Güvenlik için dosya ve dizin izinlerini doğru ayarlamak ve kullanıcıları yönetmek hayati önem taşır.
chmod: Change mode (İzinleri değiştir).
Dosya ve dizinlerin okuma, yazma ve çalıştırma izinlerini ayarlar.
chown: Change owner (Sahibini değiştir).
Dosya ve dizinlerin sahibini ve grubunu değiştirir.
(Recursive olarak)
useradd: Kullanıcı oluştur.
Yeni bir sistem kullanıcısı eklemek için kullanılır.
(-m home dizini oluştur, -s shell ata)
passwd: Şifre değiştir.
Bir kullanıcının şifresini değiştirmek için kullanılır.
(Kullanıcı için yeni şifre belirle)
sudo: Superuser do (Süper kullanıcı olarak yap).
Normal bir kullanıcının, root yetkileriyle komut çalıştırmasını sağlar. Güvenlik için her zaman dikkatli kullanılmalıdır.
4. Paket Yönetimi Komutları
Yazılım paketlerini yüklemek, güncellemek ve kaldırmak için dağıtıma özgü paket yöneticileri kullanılır.
apt (Debian/Ubuntu tabanlı sistemler):
yum / dnf (CentOS/RHEL/Fedora tabanlı sistemler):
5. Servis Yönetimi Komutları
Sistem servislerini (web sunucusu, veritabanı vb.) başlatmak, durdurmak ve yeniden başlatmak için kullanılır.
systemctl: Control systemd system and service manager.
Modern Linux dağıtımlarında servisleri yönetmek için kullanılır.
journalctl: Query the systemd journal.
Sistem günlüklerini (loglarını) görüntülemek için kullanılır. Servis sorunlarını gidermede çok yardımcıdır.
6. Ağ Komutları
Ağ bağlantılarını, trafiği ve sunucunun ağ ayarlarını yönetmek için kullanılır.
ssh: Secure Shell (Güvenli Kabuk).
Uzak bir sunucuya güvenli bir şekilde bağlanmak için kullanılır.
(Farklı port belirtme)
scp: Secure Copy (Güvenli Kopyalama).
Uzak sunucular arasında güvenli bir şekilde dosya kopyalamak için kullanılır.
rsync: Remote sync (Uzak senkronizasyon).
Dosyaları ve dizinleri yerel ve uzak konumlar arasında verimli bir şekilde senkronize etmek için kullanılır. Sadece değişen kısımları kopyalar.
wget: Web get.
Web üzerinden dosya indirmek için kullanılır.
(Kaldığı yerden devam et)
curl: Client URL.
URL sözdizimi kullanan verileri göndermek veya almak için kullanılır. API testleri, web sayfası içeriği çekme vb. için idealdir.
(Dosyayı farklı kaydet)
netstat (Eski, yerini ss veya ip almıştır): Network statistics (Ağ istatistikleri).
Aktif ağ bağlantılarını, yönlendirme tablolarını ve ağ arayüzü istatistiklerini gösterir.
(TCP/UDP dinleyen portlar ve süreçler)
ip addr: IP adresi.
Ağ arayüzlerinin IP adreslerini ve durumunu gösterir. ifconfig'in yerini almıştır.
(Kısaltma)
7. Arşivleme ve Sıkıştırma Komutları
Dosyaları yedeklemek veya transfer etmek için sıkça kullanılır.
tar: Tape archive (Bant arşivi).
Birden fazla dosyayı tek bir arşiv dosyası (tarball) halinde birleştirmek için kullanılır. Sıkıştırma seçenekleriyle birlikte de kullanılabilir.
gzip / gunzip: Sıkıştır / Sıkıştırmayı aç.
Tek bir dosyayı sıkıştırmak veya sıkıştırmayı açmak için kullanılır.
(buyuk_dosya.log.gz oluşur)
unzip: Zip dosyalarını aç.
Windows'ta yaygın olan .zip uzantılı arşivleri açmak için kullanılır.
Sonuç
Linux sunucu yönetiminde bu temel komutlara hakim olmak, size güçlü bir kontrol ve esneklik sağlayacaktır. Her komutun farklı seçenekleri ve daha derinlemesine kullanımları bulunmaktadır. Bu rehber bir başlangıç noktasıdır. Daha fazla bilgi ve örnek için her zaman komutun man sayfası (örneğin,
) veya internet üzerindeki güvenilir kaynaklar kullanılabilir. Unutmayın, pratik en iyi öğretmendir. Sanal bir makinede veya test sunucusunda bu komutları deneyerek kendinizi geliştirmeniz şiddetle tavsiye edilir.
Linux Foundation Hakkında Daha Fazla Bilgi
Linux sunucuları yönetmek, sistem yöneticileri ve geliştiriciler için vazgeçilmez bir beceridir. Komut satırı arayüzü (CLI) üzerinden sunucularla etkileşim kurmak, verimliliği artırır ve daha derinlemesine kontrol sağlar. Bu kapsamlı rehberde, bir Linux sunucusunu etkin bir şekilde yönetmek için bilmeniz gereken en temel ve sık kullanılan komutları detaylı bir şekilde inceleyeceğiz. Her komutun ne işe yaradığını, nasıl kullanıldığını ve pratik örneklerini bulacaksınız. Unutmayın, pratik yapmak bu komutları hafızanıza kazımanın en iyi yoludur. Bu rehberdeki komutları dikkatlice uygulayın.

1. Dosya ve Dizin Yönetimi Komutları
Linux'ta her şey bir dosya olarak kabul edilir. Dosya ve dizinleri yönetmek, sunucu yönetiminin temelidir.
ls: List directory contents (Dizin içeriğini listele).
Bu komut, bulunduğunuz dizindeki veya belirttiğiniz bir dizindeki dosya ve alt dizinleri listeler.
- ls -l: Detaylı listeleme (izinler, sahip, boyut, tarih).
Kod:ls -l /var/log
- ls -a: Gizli dosyalar dahil tüm dosyaları listele.
Kod:ls -a
- ls -lh: İnsan okunabilir boyutta (MB, GB gibi) detaylı listeleme.
Kod:ls -lh /home/user
Dosya sisteminde gezinmek için kullanılır.
Kod:
cd /etc/nginx
Kod:
cd ..
Kod:
cd ~
pwd: Print working directory (Çalışma dizinini göster).
O an bulunduğunuz dizinin tam yolunu gösterir.
Kod:
pwd
mkdir: Make directory (Dizin oluştur).
Yeni bir dizin oluşturmak için kullanılır.
Kod:
mkdir yeni_dizin
Kod:
mkdir -p proje/src/main
rm: Remove (Sil).
Dosyaları ve dizinleri silmek için kullanılır. Dikkatli kullanılmalıdır!
- rm dosya.txt: Bir dosyayı sil.
Kod:rm gecici_dosya.txt
- rm -r dizin: Bir dizini ve içindeki her şeyi sil.
Kod:rm -r eski_proje
- rm -rf dizin: Silme onayı sormadan (force) recursive olarak sil. Son derece dikkatli olun!
Kod:rm -rf /tmp/test_silinecek
cp: Copy (Kopyala).
Dosya ve dizinleri kopyalamak için kullanılır.
- cp kaynak_dosya hedef_dosya: Dosyayı kopyala.
Kod:cp /etc/nginx/nginx.conf ~/nginx.conf.backup
- cp -r kaynak_dizin hedef_dizin: Dizini recursive olarak kopyala.
Kod:cp -r /var/www/html /home/yedekler
mv: Move (Taşı) / Rename (Yeniden adlandır).
Dosya ve dizinleri taşımak veya yeniden adlandırmak için kullanılır.
Kod:
mv dosya.txt yeni_ad.txt
Kod:
mv /var/log/nginx/access.log /mnt/disk2/log_yedekleri
cat: Concatenate and display (Birleştir ve göster).
Dosyaların içeriğini görüntülemek, birleştirmek veya yeni dosya oluşturmak için kullanılır.
Kod:
cat /etc/passwd
Kod:
cat dosya1.txt dosya2.txt > birlesik.txt
less / more: Dosya içeriğini sayfa sayfa görüntüle.
Büyük dosyaları terminalde rahatça okumak için kullanılır. less daha gelişmiş özelliklere sahiptir (ileri/geri gitme, arama).
Kod:
less /var/log/syslog
grep: Global regular expression print (Düzenli ifadeye göre ara).
Dosyaların veya komut çıktılarının içinde belirli bir metin veya deseni aramak için kullanılır.
Kod:
grep "error" /var/log/nginx/error.log
Kod:
ps aux | grep nginx
find: Dosya sisteminde dosya ve dizinleri bul.
Belirli kriterlere göre dosya sisteminde arama yapmak için kullanılır.
- find . -name "index.html": Mevcut dizinde "index.html" adında dosya bul.
Kod:find /var/www -name "*.php"
- find / -type f -size +1G: Boyutu 1GB'den büyük dosyaları bul.
Kod:find / -type f -size +1G -print0 | xargs -0 du -h
2. Disk Kullanımı ve Süreç Yönetimi Komutları
Sunucunun performansını ve kaynak kullanımını izlemek kritik öneme sahiptir.
df: Disk filesystem (Disk dosya sistemi kullanımını göster).
Disk bölümlerinin doluluk oranlarını gösterir.
Kod:
df -h
du: Disk usage (Dizin boyutunu göster).
Belirli bir dizinin veya dosyaların disk üzerindeki kapladığı alanı gösterir.
Kod:
du -sh /var/log
Kod:
du -h /home/user/resimler
ps: Process status (Süreç durumunu göster).
Çalışan süreçleri listeler.
- ps aux: Tüm kullanıcıların süreçlerini detaylı göster.
Kod:ps aux | head -n 10
- ps -ef: Ağaç yapısında süreçleri listele.
Kod:ps -ef | grep apache2
top: Süreçleri dinamik olarak izle.
Sistem kaynaklarını (CPU, bellek) en çok kullanan süreçleri gerçek zamanlı olarak gösterir. Görev yöneticisi gibidir. `q` tuşu ile çıkılır.
Kod:
top
kill: Süreçleri sonlandır.
Bir süreci Process ID (PID) kullanarak sonlandırmak için kullanılır.
- kill PID: Normal sonlandırma sinyali gönderir.
Kod:kill 12345
- kill -9 PID: Süreci zorla sonlandırır (kill sinyali 9). Süreçlerin donması durumunda kullanılır.
Kod:kill -9 54321
3. İzinler ve Kullanıcı Yönetimi Komutları
Güvenlik için dosya ve dizin izinlerini doğru ayarlamak ve kullanıcıları yönetmek hayati önem taşır.
chmod: Change mode (İzinleri değiştir).
Dosya ve dizinlerin okuma, yazma ve çalıştırma izinlerini ayarlar.
- chmod 755 script.sh: Sahip: okuma/yazma/çalıştırma, Grup/Diğerleri: okuma/çalıştırma.
Kod:chmod 755 /var/www/html/script.sh
- chmod +x script.sh: Çalıştırma izni ekler.
Kod:chmod +x my_program
chown: Change owner (Sahibini değiştir).
Dosya ve dizinlerin sahibini ve grubunu değiştirir.
Kod:
chown www-data:www-data /var/www/html/index.html
Kod:
chown -R user:group /home/user/web_files
useradd: Kullanıcı oluştur.
Yeni bir sistem kullanıcısı eklemek için kullanılır.
Kod:
useradd -m -s /bin/bash yeni_kullanici
passwd: Şifre değiştir.
Bir kullanıcının şifresini değiştirmek için kullanılır.
Kod:
passwd yeni_kullanici
sudo: Superuser do (Süper kullanıcı olarak yap).
Normal bir kullanıcının, root yetkileriyle komut çalıştırmasını sağlar. Güvenlik için her zaman dikkatli kullanılmalıdır.
Kod:
sudo apt update
Kod:
sudo systemctl restart nginx
4. Paket Yönetimi Komutları
Yazılım paketlerini yüklemek, güncellemek ve kaldırmak için dağıtıma özgü paket yöneticileri kullanılır.
apt (Debian/Ubuntu tabanlı sistemler):
- sudo apt update: Paket listelerini günceller.
Kod:sudo apt update
- sudo apt upgrade: Yüklü paketleri günceller.
Kod:sudo apt upgrade
- sudo apt install paket_adı: Paket yükle.
Kod:sudo apt install nginx
- sudo apt remove paket_adı: Paket kaldır.
Kod:sudo apt remove apache2
- sudo apt autoremove: Bağımlılıkları otomatik kaldır.
Kod:sudo apt autoremove
yum / dnf (CentOS/RHEL/Fedora tabanlı sistemler):
- sudo yum update veya sudo dnf update: Sistemdeki tüm paketleri günceller.
Kod:sudo yum update
- sudo yum install paket_adı veya sudo dnf install paket_adı: Paket yükle.
Kod:sudo dnf install httpd
- sudo yum remove paket_adı veya sudo dnf remove paket_adı: Paket kaldır.
Kod:sudo yum remove mariadb-server
5. Servis Yönetimi Komutları
Sistem servislerini (web sunucusu, veritabanı vb.) başlatmak, durdurmak ve yeniden başlatmak için kullanılır.
systemctl: Control systemd system and service manager.
Modern Linux dağıtımlarında servisleri yönetmek için kullanılır.
- systemctl start servis_adı: Servisi başlat.
Kod:sudo systemctl start apache2
- systemctl stop servis_adı: Servisi durdur.
Kod:sudo systemctl stop nginx
- systemctl restart servis_adı: Servisi yeniden başlat.
Kod:sudo systemctl restart php-fpm
- systemctl enable servis_adı: Servisin sistem başlangıcında otomatik başlamasını sağla.
Kod:sudo systemctl enable ssh
- systemctl disable servis_adı: Servisin otomatik başlamasını engelle.
Kod:sudo systemctl disable postgresql
- systemctl status servis_adı: Servis durumunu kontrol et.
Kod:systemctl status docker
journalctl: Query the systemd journal.
Sistem günlüklerini (loglarını) görüntülemek için kullanılır. Servis sorunlarını gidermede çok yardımcıdır.
- journalctl -u servis_adı: Belirli bir servisin günlüklerini göster.
Kod:journalctl -u nginx.service --since "1 hour ago"
- journalctl -f: Günlükleri gerçek zamanlı olarak izle (follow).
Kod:journalctl -f
6. Ağ Komutları
Ağ bağlantılarını, trafiği ve sunucunun ağ ayarlarını yönetmek için kullanılır.
ssh: Secure Shell (Güvenli Kabuk).
Uzak bir sunucuya güvenli bir şekilde bağlanmak için kullanılır.
Kod:
ssh kullanici_adi@sunucu_ip_adresi
Kod:
ssh root@192.168.1.100 -p 2222
scp: Secure Copy (Güvenli Kopyalama).
Uzak sunucular arasında güvenli bir şekilde dosya kopyalamak için kullanılır.
- scp yerel_dosya kullanici@uzak_sunucu:/hedef/dizin: Yerelden uzağa kopyala.
Kod:scp important_data.zip user@remote:/home/user/backups/
- scp kullanici@uzak_sunucu:/kaynak/dosya yerel/dizin: Uzaktan yerel kopyala.
Kod:scp user@remote:/var/log/nginx/access.log .
rsync: Remote sync (Uzak senkronizasyon).
Dosyaları ve dizinleri yerel ve uzak konumlar arasında verimli bir şekilde senkronize etmek için kullanılır. Sadece değişen kısımları kopyalar.
Kod:
rsync -avz kaynak_dizin/ hedef_dizin
Kod:
rsync -avz /var/www/html/ user@remote:/var/www/html/
wget: Web get.
Web üzerinden dosya indirmek için kullanılır.
Kod:
wget https://example.com/software.tar.gz
Kod:
wget -c https://largefile.iso
curl: Client URL.
URL sözdizimi kullanan verileri göndermek veya almak için kullanılır. API testleri, web sayfası içeriği çekme vb. için idealdir.
Kod:
curl https://api.example.com/status
Kod:
curl -O http://example.com/another_file.zip
netstat (Eski, yerini ss veya ip almıştır): Network statistics (Ağ istatistikleri).
Aktif ağ bağlantılarını, yönlendirme tablolarını ve ağ arayüzü istatistiklerini gösterir.
Kod:
netstat -tunlp
ip addr: IP adresi.
Ağ arayüzlerinin IP adreslerini ve durumunu gösterir. ifconfig'in yerini almıştır.
Kod:
ip addr show
Kod:
ip a
7. Arşivleme ve Sıkıştırma Komutları
Dosyaları yedeklemek veya transfer etmek için sıkça kullanılır.
tar: Tape archive (Bant arşivi).
Birden fazla dosyayı tek bir arşiv dosyası (tarball) halinde birleştirmek için kullanılır. Sıkıştırma seçenekleriyle birlikte de kullanılabilir.
- tar -cvf arsiv.tar dosya1 dosya2 dizin: Arşiv oluştur.
Kod:tar -cvf web_yedek.tar /var/www/html
- tar -xvf arsiv.tar: Arşivi aç.
Kod:tar -xvf web_yedek.tar -C /tmp/restore_dir
- tar -czvf arsiv.tar.gz dosya_veya_dizin: Gzip ile sıkıştırılmış arşiv oluştur.
Kod:tar -czvf loglar.tar.gz /var/log/nginx
- tar -xzvf arsiv.tar.gz: Gzip sıkıştırılmış arşivi aç.
Kod:tar -xzvf loglar.tar.gz
gzip / gunzip: Sıkıştır / Sıkıştırmayı aç.
Tek bir dosyayı sıkıştırmak veya sıkıştırmayı açmak için kullanılır.
Kod:
gzip buyuk_dosya.log
Kod:
gunzip buyuk_dosya.log.gz
unzip: Zip dosyalarını aç.
Windows'ta yaygın olan .zip uzantılı arşivleri açmak için kullanılır.
Kod:
unzip yedek.zip
Kod:
unzip -d /hedef/dizin yazilim.zip
Önemli Not: Bu komutların çoğu root yetkisi gerektiren işlemler yapar. sudo komutunu kullanırken veya direkt root kullanıcısıyla çalışırken, yaptığınız işlemlerin sonuçlarını iyi anladığınızdan emin olun. Yanlış bir komut, sisteminizde geri dönülemez hasarlara yol açabilir. Özellikle rm -rf gibi komutları kullanırken iki kere düşünün!
Sonuç
Linux sunucu yönetiminde bu temel komutlara hakim olmak, size güçlü bir kontrol ve esneklik sağlayacaktır. Her komutun farklı seçenekleri ve daha derinlemesine kullanımları bulunmaktadır. Bu rehber bir başlangıç noktasıdır. Daha fazla bilgi ve örnek için her zaman komutun man sayfası (örneğin,
Kod:
man ls
Linux Foundation Hakkında Daha Fazla Bilgi