{
  "$type": "site.standard.document",
  "bskyPostRef": {
    "cid": "bafyreied2vy3bcww5mzfrswfnu55p3ynjsxqma4b6ggaopcu3dtnerusbi",
    "uri": "at://did:plc:25rdn5elo5izoxrmtis34zuk/app.bsky.feed.post/3mokju4djr3p2"
  },
  "coverImage": {
    "$type": "blob",
    "ref": {
      "$link": "bafkreidfwdnhmmcq46kcgqwzzzssauxwzstvkp4q7xpmr6wg3g5ecuszki"
    },
    "mimeType": "image/webp",
    "size": 64302
  },
  "path": "/vebendeakademi/python-gelistiricileri-icin-temel-linux-komut-seti-ve-uygulamali-rehber-5884",
  "publishedAt": "2026-06-18T09:22:17.000Z",
  "site": "https://dev.to",
  "tags": [
    "beginners",
    "linux",
    "python",
    "tutorial"
  ],
  "textContent": "#  **Temel Linux Komutları + Cron Job + Python Servis Çalıştırma + SSH (Production Minimum Rehber)**\n\nBu doküman, Python geliştiren bir kişinin **production ortamında Linux’u yönetebilmesi için gereken minimum çekirdek bilgi setini** içerir. Amaç; sistem kurmak değil, **sistemi yönetebilmek ve debug edebilmek** tir.\n\n#  **1. Linux Temel Komut Seti (Mutlak Minimum)**\n\n##  **1.1 Sistem içinde gezinme**\n\n\n    pwd\n\n\nBulunduğun dizini gösterir.\n\n\n\n    ls -la\n\n\nTüm dosyaları detaylı listeler.\n\n\n\n    cd /var/www\n    cd ~\n    cd ..\n\n\nDizin değiştirme komutları.\n\n##  **1.2 Dosya işlemleri**\n\n\n    mkdir app\n    touch app.py\n    cp app.py app_backup.py\n    mv app.py /opt/app/\n    rm file.txt\n    rm -rf folder/\n\n\n📌 Kritik not:\n\n  * `rm -rf` üretim ortamında en riskli komuttur.\n\n\n\n##  **1.3 Dosya içeriği inceleme**\n\n\n    cat file.txt\n    less file.txt\n    head -n 20 file.txt\n    tail -f file.txt\n\n\n📌 Özellikle:\n\n  * `tail -f` → canlı log izleme\n\n\n\n##  **1.4 Arama işlemleri**\n\n\n    grep \"ERROR\" logs.txt\n    grep -r \"config\" .\n    find . -name \"*.py\"\n\n\n##  **1.5 Sistem durumu**\n\n\n    top\n    ps aux\n    df -h\n    free -h\n\n\n##  **1.6 Süreç yönetimi**\n\n\n    kill -9 PID\n\n\nPID: process ID\n\n#  **2. SSH (Uzak Sunucuya Bağlanma)**\n\nSSH, Linux sistem yönetiminin temelidir.\n\n##  **2.1 SSH ile bağlanma**\n\n\n    ssh root@SERVER_IP\n\n\nÖrnek:\n\n\n\n    ssh root@185.12.45.90\n\n\n##  **2.2 SSH key ile bağlanma (önerilen)**\n\n\n    ssh -i key.pem root@SERVER_IP\n\n\n##  **2.3 Hetzner Cloud üzerinden SSH erişimi**\n\nHetzner Cloud üzerinde oluşturulan bir server için süreç:\n\n###  1. Server oluşturulur\n\n  * Hetzner panelinden bir Cloud Instance açılır\n  * Ubuntu/Debian image seçilir\n\n\n\n###  2. Public IP alınır\n\nÖrnek:\n\n\n\n    167.235.45.12\n\n\n###  3. SSH bağlantısı\n\n\n    ssh root@167.235.45.12\n\n\n###  4. İlk giriş kontrolü\n\n\n    whoami\n    uname -a\n\n\n#  **3. Python Script’i Linux Servis Olarak Çalıştırma (systemd)**\n\nProduction’da en doğru yöntem: **systemd service**\n\n##  **3.1 Servis dosyası oluşturma**\n\n\n    sudo nano /etc/systemd/system/python-app.service\n\n\n##  **3.2 Servis tanımı**\n\n\n    [Unit]\n    Description=Python Application Service\n    After=network.target\n\n    [Service]\n    ExecStart=/usr/bin/python3 /opt/app/app.py\n    WorkingDirectory=/opt/app\n    Restart=always\n    User=root\n\n    [Install]\n    WantedBy=multi-user.target\n\n\n##  **3.3 Servisi başlatma**\n\n\n    sudo systemctl daemon-reload\n    sudo systemctl start python-app\n    sudo systemctl enable python-app\n\n\n##  **3.4 Servis durumu**\n\n\n    sudo systemctl status python-app\n\n\n##  **3.5 Log kontrol**\n\n\n    journalctl -u python-app -f\n\n\n#  **4. Cron Job (Zamanlanmış Görevler)**\n\nCron, Linux’un en kritik otomasyon aracıdır.\n\n##  **4.1 Cron mantığı**\n\n\n    * * * * * command\n    │ │ │ │ │\n    │ │ │ │ └── Gün (hafta)\n    │ │ │ └──── Ay\n    │ │ └────── Gün\n    │ └──────── Saat\n    └────────── Dakika\n\n\n##  **4.2 Cron açma**\n\n\n    crontab -e\n\n\n##  **4.3 Örnek kullanım senaryoları**\n\n###  Her dakika çalıştırma\n\n\n    * * * * * /usr/bin/python3 /opt/app/task.py\n\n\n###  Her 5 dakikada bir\n\n\n    */5 * * * * /usr/bin/python3 /opt/app/task.py\n\n\n###  Her gün saat 03:00 backup\n\n\n    0 3 * * * /usr/bin/python3 /opt/app/backup.py\n\n\n###  Sistemi kontrol eden job\n\n\n    */10 * * * * /usr/bin/python3 /opt/app/healthcheck.py\n\n\n##  **4.4 Cron log kontrol**\n\n\n    grep CRON /var/log/syslog\n\n\n#  **5. Log Yönetimi (Production kritik)**\n\n\n    tail -f /var/log/syslog\n    journalctl -f\n\n\n#  **6. Network ve Port Kontrol**\n\n\n    ss -tulnp\n    netstat -tulnp\n\n\n📌 Açık portları gösterir.\n\n#  **7. Servis ve Process Debug**\n\n\n    ps aux | grep python\n    top\n    htop\n\n\n#  **8. Dosya transfer ve deploy**\n\n##  SCP ile gönderim\n\n\n    scp app.py root@SERVER_IP:/opt/app/\n\n\n##  SSH üzerinden direkt işlem\n\n\n    ssh root@SERVER_IP \"ls -la /opt/app\"\n\n\n#  **9. Minimal Production Workflow (Gerçek Hayat)**\n\n##  Senaryo: Python servis deploy\n\n###  1. Sunucuya bağlan\n\n\n    ssh root@SERVER_IP\n\n\n###  2. Kodları yükle\n\n\n    scp -r project/ root@SERVER_IP:/opt/app/\n\n\n###  3. Servisi başlat\n\n\n    systemctl restart python-app\n\n\n###  4. Log izle\n\n\n    journalctl -u python-app -f\n\n\n###  5. Cron ile otomasyon\n\n\n    crontab -e\n\n\n#  **10. Özet (Minimum Bilgi Haritası)**\n\nBir Python geliştiricisi için Linux’ta **olmazsa olmaz çekirdek set:**\n\n###  ✔ Dosya yönetimi\n\n  * ls, cd, cp, mv, rm\n\n\n\n###  ✔ Sistem kontrol\n\n  * ps, top, kill, df, free\n\n\n\n###  ✔ Log ve debug\n\n  * tail -f, journalctl, grep\n\n\n\n###  ✔ SSH erişim\n\n  * ssh root@ip\n  * scp\n\n\n\n###  ✔ Servis yönetimi\n\n  * systemctl start/stop/status\n\n\n\n###  ✔ Cron job\n\n  * crontab -e\n  * zamanlama mantığı\n\n\n\n#  **Sonuç**\n\nLinux tarafında gerçek üretim becerisi:\n\n> “Komut bilmek” değil, **sistemi uzaktan yönetebilmek ve otomasyonu kurabilmektir.**\n\nBu 5 alanı (SSH + systemd + cron + log + process) bilen bir geliştirici artık **production seviyesine çıkmış olur**.",
  "title": "Python Geliştiricileri İçin Temel Linux Komut Seti ve Uygulamalı Rehber"
}