{
"$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"
}