Python Geliştiricileri İçin Temel Linux Komut Seti ve Uygulamalı Rehber

작성자

카테고리:

← 피드로
DEV Community · Vebende Akademi · 2026-06-18 개발(SW)
Cover image for Python Geliştiricileri İçin Temel Linux Komut Seti ve Uygulamalı Rehber

Vebende Akademi

Temel Linux Komutları + Cron Job + Python Servis Çalıştırma + SSH (Production Minimum Rehber)

Bu 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 edebilmektir.

1. Linux Temel Komut Seti (Mutlak Minimum)

1.1 Sistem içinde gezinme

pwd

Enter fullscreen mode Exit fullscreen mode

Bulunduğun dizini gösterir.

ls -la

Enter fullscreen mode Exit fullscreen mode

Tüm dosyaları detaylı listeler.

cd /var/www
cd ~
cd ..

Enter fullscreen mode Exit fullscreen mode

Dizin değiştirme komutları.

1.2 Dosya işlemleri

mkdir app
touch app.py
cp app.py app_backup.py
mv app.py /opt/app/
rm file.txt
rm -rf folder/

Enter fullscreen mode Exit fullscreen mode

📌 Kritik not:

  • rm -rf üretim ortamında en riskli komuttur.

1.3 Dosya içeriği inceleme

cat file.txt
less file.txt
head -n 20 file.txt
tail -f file.txt

Enter fullscreen mode Exit fullscreen mode

📌 Özellikle:

  • tail -f → canlı log izleme

1.4 Arama işlemleri

grep "ERROR" logs.txt
grep -r "config" .
find . -name "*.py"

Enter fullscreen mode Exit fullscreen mode

1.5 Sistem durumu

top
ps aux
df -h
free -h

Enter fullscreen mode Exit fullscreen mode

1.6 Süreç yönetimi

kill -9 PID

Enter fullscreen mode Exit fullscreen mode

PID: process ID

2. SSH (Uzak Sunucuya Bağlanma)

SSH, Linux sistem yönetiminin temelidir.

2.1 SSH ile bağlanma

ssh root@SERVER_IP

Enter fullscreen mode Exit fullscreen mode

Örnek:

ssh [email protected]

Enter fullscreen mode Exit fullscreen mode

2.2 SSH key ile bağlanma (önerilen)

ssh -i key.pem root@SERVER_IP

Enter fullscreen mode Exit fullscreen mode

2.3 Hetzner Cloud üzerinden SSH erişimi

Hetzner Cloud üzerinde oluşturulan bir server için süreç:

1. Server oluşturulur

  • Hetzner panelinden bir Cloud Instance açılır
  • Ubuntu/Debian image seçilir

2. Public IP alınır

Örnek:

167.235.45.12

Enter fullscreen mode Exit fullscreen mode

3. SSH bağlantısı

ssh [email protected]

Enter fullscreen mode Exit fullscreen mode

4. İlk giriş kontrolü

whoami
uname -a

Enter fullscreen mode Exit fullscreen mode

3. Python Script’i Linux Servis Olarak Çalıştırma (systemd)

Production’da en doğru yöntem: systemd service

3.1 Servis dosyası oluşturma

sudo nano /etc/systemd/system/python-app.service

Enter fullscreen mode Exit fullscreen mode

3.2 Servis tanımı

[Unit]
Description=Python Application Service
After=network.target

[Service]
ExecStart=/usr/bin/python3 /opt/app/app.py
WorkingDirectory=/opt/app
Restart=always
User=root

[Install]
WantedBy=multi-user.target

Enter fullscreen mode Exit fullscreen mode

3.3 Servisi başlatma

sudo systemctl daemon-reload
sudo systemctl start python-app
sudo systemctl enable python-app

Enter fullscreen mode Exit fullscreen mode

3.4 Servis durumu

sudo systemctl status python-app

Enter fullscreen mode Exit fullscreen mode

3.5 Log kontrol

journalctl -u python-app -f

Enter fullscreen mode Exit fullscreen mode

4. Cron Job (Zamanlanmış Görevler)

Cron, Linux’un en kritik otomasyon aracıdır.

4.1 Cron mantığı

* * * * * command
│ │ │ │ │
│ │ │ │ └── Gün (hafta)
│ │ │ └──── Ay
│ │ └────── Gün
│ └──────── Saat
└────────── Dakika

Enter fullscreen mode Exit fullscreen mode

4.2 Cron açma

crontab -e

Enter fullscreen mode Exit fullscreen mode

4.3 Örnek kullanım senaryoları

Her dakika çalıştırma

* * * * * /usr/bin/python3 /opt/app/task.py

Enter fullscreen mode Exit fullscreen mode

Her 5 dakikada bir

*/5 * * * * /usr/bin/python3 /opt/app/task.py

Enter fullscreen mode Exit fullscreen mode

Her gün saat 03:00 backup

0 3 * * * /usr/bin/python3 /opt/app/backup.py

Enter fullscreen mode Exit fullscreen mode

Sistemi kontrol eden job

*/10 * * * * /usr/bin/python3 /opt/app/healthcheck.py

Enter fullscreen mode Exit fullscreen mode

4.4 Cron log kontrol

grep CRON /var/log/syslog

Enter fullscreen mode Exit fullscreen mode

5. Log Yönetimi (Production kritik)

tail -f /var/log/syslog
journalctl -f

Enter fullscreen mode Exit fullscreen mode

6. Network ve Port Kontrol

ss -tulnp
netstat -tulnp

Enter fullscreen mode Exit fullscreen mode

📌 Açık portları gösterir.

7. Servis ve Process Debug

ps aux | grep python
top
htop

Enter fullscreen mode Exit fullscreen mode

8. Dosya transfer ve deploy

SCP ile gönderim

scp app.py root@SERVER_IP:/opt/app/

Enter fullscreen mode Exit fullscreen mode

SSH üzerinden direkt işlem

ssh root@SERVER_IP "ls -la /opt/app"

Enter fullscreen mode Exit fullscreen mode

9. Minimal Production Workflow (Gerçek Hayat)

Senaryo: Python servis deploy

1. Sunucuya bağlan

ssh root@SERVER_IP

Enter fullscreen mode Exit fullscreen mode

2. Kodları yükle

scp -r project/ root@SERVER_IP:/opt/app/

Enter fullscreen mode Exit fullscreen mode

3. Servisi başlat

systemctl restart python-app

Enter fullscreen mode Exit fullscreen mode

4. Log izle

journalctl -u python-app -f

Enter fullscreen mode Exit fullscreen mode

5. Cron ile otomasyon

crontab -e

Enter fullscreen mode Exit fullscreen mode

10. Özet (Minimum Bilgi Haritası)

Bir Python geliştiricisi için Linux’ta olmazsa olmaz çekirdek set:

✔ Dosya yönetimi

  • ls, cd, cp, mv, rm

✔ Sistem kontrol

  • ps, top, kill, df, free

✔ Log ve debug

  • tail -f, journalctl, grep

✔ SSH erişim

  • ssh root@ip
  • scp

✔ Servis yönetimi

  • systemctl start/stop/status

✔ Cron job

  • crontab -e
  • zamanlama mantığı

Sonuç

Linux tarafında gerçek üretim becerisi:

“Komut bilmek” değil, sistemi uzaktan yönetebilmek ve otomasyonu kurabilmektir.

Bu 5 alanı (SSH + systemd + cron + log + process) bilen bir geliştirici artık production seviyesine çıkmış olur.

원문에서 계속 ↗

코멘트

답글 남기기

이메일 주소는 공개되지 않습니다. 필수 필드는 *로 표시됩니다