Linux Komutları - 2
Linux Komutları - 2
Bu videoda linuxta süreç yönetimi, servis yönetimi, firewall ayarlamaları, ssh, ve crontab komutlarının nasıl kullanıldığını anlattım. Aşağıdaki lab videomda da bu komutları kullanarak bir lab çalışması yaptım. Komutlara ve açıklamalarına sayfanın aşağısından erişebilirsiniz. Lab çalışmalarında yer vermediğim crontab kavramını ve video içerisinde kendi oluşturduğumuz servisin adım adım nasıl oluşturulacağını da burada açıkladım.
Adım Adım Servis Oluşturma
Kopyala
#Öncelikle dosya oluşturacağız ve içerisini dolduracağız.
nano /opt/sample-service.py
from time import sleep
import sys
print("Ornek servis basladi")
saniye = 0
while True:
print("Program {} saniye once basladi".format(saniye))
sys.stdout.flush()
sleep(1)
saniye += 1Kopyala
#Dosyaya çalıştırma izni ver
chmod +x /opt/sample-service.py
Kopyala
#Servis dosyasını oluşturup içerisini dolduruyoruz.
sudo nano /etc/systemd/system/sample.service
[Unit]
Description=Ornek Servis
[Service]
Restart=on-failure
RestartSec=10
WorkingDirectory=/opt
ExecStart=/usr/bin/python /opt/sample-service.py
ExecStop=/bin/kill -INT $MAINPID
[Install]
WantedBy=multi-user.targetKopyala
#Servis oluşturmayı tammladık. Şimdi de aşağıdaki kodları teker teker çalıştırıyoruz.Bu komutlar servisin systemd'ye tanıtılmasını, başlatmayı, otomatik etkinleştirmeyi sağlar.
systemctl daemon-reload
Servisi etkinleştir (boot'ta başlasın):
systemctl enable sample.service
systemctl start sample.serviceKopyala
#Servisin durumunu kontrol ettikten sonra çalıştığını anlamak için log kayıtlarını görüntüleyelim.
systemctl status sample.service
journalctl -u sample.service -f
Eğer loglarda kayıtları görüyorsanız servis başarıyla çalışıyor demektir. Servis oluşturma işlemimiz tamamlandı.
Crontab
Tek seferlik ve periyodik görev çalıştırma olarak iki farklı şekilde zamanlanmış görevler oluşturabiliriz.
Tek Seferlik Görev
Kopyala
at saat
echo "mesaj" > /tmp/gorev.txt
ctrl + d
#Komutun oluşturulup oluşturulmadığını gösterir.
atqPeriyodik Görev
Lab - 2
Süreç Yönetimi Komutları
Kopyala
#Sistemde çalışan işlemleri (process) gösterir.
1) ps
#Tüm kullanıcıların işlemlerini detaylı bir şekilde gösterir.
2) ps aux
#Sadece mevcut kullanıcıya ait işlemleri tam formatla gösterir.
3) ps -fU $USER
#Tüm işlemleri ağaç (hiyerarşi) yapısıyla gösterir.
4) ps -ef --forest
#İşlem ağaçlarını grafiksel olarak gösterir.
5) pstree
#Canlı olarak sistemdeki işlemleri, CPU ve RAM kullanımını gösteren etkileşimli bir araçtır.
6) top
#top komutunun gelişmiş versiyonudur.
7) htop
#Processi zorla sonlandırır.
8) kill -9 PID
#İşlemin nice (öncelik) değerini -20 yapar. Bu en yüksek önceliktir.
9) renice -n -20 PIDServis Yönetimi Komutları
Kopyala
#Sistemde aktif olan tüm servis ünitelerini listeler.
1) systemctl list-units --type=service
#cups servisini durdurur.
2) systemctl stop cups
#cups servisi hakkında detaylı bilgi verir.
3)systemctl status cups
#cups servisi gerçekten durdurulmuş mu, kontrol etmek için kullanılır.
4) systemctl list-units --type=service --all --state=inactive | grep cups
#cups servisini başlatır.
5) systemctl start cups
#cups servisi şu anda çalışıyor mu, kontrol etmek için kullanılır.
6) systemctl list-units --type=service --all --state=running | grep cups
#Sistem açıldığında otomatik başlatılması aktif olan servis dosyalarını listeler.
7) systemctl list-unit-files --state=enabled
#Sistem açıldığında başlatılmayan servisleri listeler.
8) systemctl list-unit-files --state=disabled
#cups servisini sistem açılışında otomatik başlamayacak şekilde devre dışı bırakır.
9) systemctl disable cups
#cups.service gerçekten devre dışı mı, kontrol eder.
10) systemctl list-unit-files --state=disabled | grep cups.service
#cups servisini sistem açıldığında otomatik başlasın diye etkinleştirir.
11) systemctl enable cups
#cups servisi etkin mi kontrol edilir.
12) systemctl list-unit-files --state=enabled | grep cups.service
#Sadece cups servisine ait günlük (log) kayıtlarını gösterir.
13) journalctl -u cups.service
#Tüm sistem günlüklerini (loglarını) gösterir.
14) journalctlAygıt Yönetimi Komutları
Kopyala
#Sistemde yüklü (aktif) olan kernel modüllerini listeler.
1) lsmod
#ip_tables modülü hakkında detaylı bilgi verir.
2) modinfo ip_tables
#Donanım aygıtlarının temsil edildiği /dev dizinindeki cihaz dosyalarını uzun formatta listeler.
3) ls -l /dev/
#PCI cihazlarını listeler.
4) lspci
#USB portlarına bağlı aygıtları listeler.
5) lsusb
#Donanım hakkında kapsamlı bilgi verir (RAM, CPU, disk, anakart vs.).
6) lshw
#Yalnızca bellek (RAM) donanım bileşenlerini listeler.
7) lshw -C memory
#Ağ arayüzlerini kısaltılmış formatta listeler.
8) lshw -C network -short