Python Dersleri 1. Phyton temel bilgiler

  • Python genelde linux ve macde varsayılan olarak kurulu gelirken windowsda bilgisayarınıza indirip kurmanız gerekir.
  • Python php ve perl gibi interpreted yani yorumlanan bir dildir, yazım kuralları basittir ve bir komuttan diğerine örneğin başka dillerde olduğu gibi (;) noktalı virgülle değil satırlarla geçilir.
  • Python büyük küçük harf duyarlı bir dildir dolayısıyla “degisken” ile “Degisken” aynı degildir.
  • sisteminizde python kurulu olup olmadığını anlamak için windowsda command promtda phyton, linuxda terminalde python veya python3 yazabilirsiniz. Linuxda python komutu versiyon 2 yi çalıştırabilir o yüzden python3 komutunu çalıştırmakta fayda vardır. Komutu çalıştırdığınız zaman python yorumlayıcısı açılır
  • Python dosya uzantısı olarak ” .py ” formatını kullanır.
  • Diğer çoğu dilde olduğu gibi python programlama dilinde de bazı işlevleri yerine getirmek için dile gömülü anahtar kelimeler vardır ve bu anahtar kelimeler yazacağını programda değişken olarak kullanılamaz.
Falseawaitelseimportpass
Nonebreakexceptinraise
Trueclassfinallyisreturn
andcontinueforlambdatry
asdeffromnonlocalwhile
assertdelglobalnotwith
asyncelififoryield
Phyton programlama dili anahtar kelimeleri
  • Python 3 versiyonundan itibaren utf8 desteği eklenmiştir. Bu yüzden değişken, method ve sınıf isimlerini sadece ingilizce dilinde yazmak zorunda kalmazsınız.
  • Python’da sınıf,degisken ve method ismi olarak harf, sayı ve ( _ ) alt çizgi kullanabilirsiniz fakat bu tanımlamalar sayı ile başlayamaz.
  • Python’da kodlar girinti ile başlar ve ilk girintisiz kodda biter.
  • Farklı kodları tek satırda yazmak istersek ( ; ) noktalı virgül kullanırız.
  • bir satırı alt satırda devam ettirmek istersek ( \ ) sola yatık eğik çizgi kullanırız.
  • Ayrıca parantez () , köşeli parantez [] ve süslü parantez {} birden çok satıra aynı kodu yazmamızı sağlar.
  • Python’da yorumlar için diez ( # ) sembolü kullanılır. Diğer programlama dillerinde olduğu gibi yorumlar yorumlayıcı tarafından es geçilir ve kodunuzu etkilemez.
  • Çok satırlı yorumlar için her satırın başına diez sembolü koyulabileceği gibi sadece başına ve sonuna 3’er tane çift veya tek tırnak konularak da yapılabilir.
Programlama, Python kategorisine gönderildi | , , ile etiketlendi | Yorum yapın

Linux Dersleri 46. crontab komutu

crontab komutu linuxda tekrarlanan veya tek seferli zamanlanmış görevler oluşturmak için kullanılır.

Kullanımı aşağıdaki şekildedir;

  • crontab -e

Komutu girdiğiniz zaman bir editör açılır ve bu editör eğer daha önce bir crantab oluşturmadıysanız genelde boş olur.

  • crontab -l

crontabda ekli işleri (job) listeler.

  • crontab -r

crontabı kaldırmak için kullanılır.

  • crond

Zamanlamayı yürüten crontab deamon veya servisidir

  • systectl status crond

crond servisini görmek için kullanırız.

crontab -e komutunu çalıştırdığımızda editöre ekleyeceğimiz format aşağıdaki şekilde olmalıdır.

Dakika (0-59)Saat (0-23)Ayın günü (1-31)Ay (1-12)Haftanın Günü (0-6) Pazardan CumartesiyeÇalıştırılacak komut
*****komut

Ör : 15 23 10 10 * echo “ilk crontab yazım” > /home/faruk/crontabyazim

Yukardaki örnekte saat 23’ü 15 geçe Ekim ayının 10. günü “ilk crontab yazım” metnini /home/faruk klasörünün altındaki crontabyazım dosyasına kaydedecektir.

İşletim sistemleri, Linux kategorisine gönderildi | , , ile etiketlendi | Yorum yapın

Linux Dersleri 45. kill komutu

kill komutu normal şekilde sonlanmayan processleri sonlandırmamıza yarayan kullanışlı bir komuttur. Komutun temel kullanımı aşağıdaki şekildedir.

  • kill opsiyon PID

Yukardaki örnekte opsiyon gönderilecek sinyal adı veya numarasıyken PID işlemin PID numarasıdır. PID numarasını önceki derslerden öğrendiğimiz gibi top veya ps -ef komutuyla öğrenebiliriz. kill komutu opsiyonsuz da kullanılabilir. kill komutunun bazı opsiyonları aşağıdaki şekildedir.

  • kill -l

Tüm signal numaralarını ve adlarını ekranda gösterir.

En sık kullanılan kill opsiyonları;

  • kill PID

Varsayılan sonlandırma sinyali ile işlemi sonlandırır.

  • kill -1

İşlemi sonlandırıp yeniden başlatır.

  • kill -2

Klavyeden sonlandırmaya çalışır (Ctrl+C tuşu gibi)

  • kill -9

Zorlayarak işlemi sonlandırır.

  • kill 15

İşlemi nazikçe sonlandırır böylece program tekrar açıldığında hata alma olasılığınız azalır, bazı işlemler kapatılmadan önce kaydedilmek isteyebilir.

  • killall işlemadı

Bir işlemin kendisini, bağlantılı olduğu işlemleri ve alt işlemlerini sonlandırır.

  • pkill opsiyon işlemadı

Bir işlemi PID numarası yerine adı vasıtasıyla sonlandırmaya yarar

İşletim sistemleri, Linux kategorisine gönderildi | , , , ile etiketlendi | Yorum yapın

Linux Dersleri 44. top komutu

top komutu linux sistem adminlerinin sıklıkla kullandığı bir komuttur. Linux uç birimininde top yazarak çalışan sistem processlerini veya threadlerini gerçek zamanlı olarak görmeye yarar. top komutunu kullandığınız zaman interaktif bir pencere açılır ve çeşitli komutlarla bu interaktif pencerede process ve threadlerle ilgili işlemler yapabilirsiniz. İnteraktif moddan çıkmak için “q” tuşuna basmanız yeterli olur. Komutu kullanmak için root yetkisi gerekmese de interaktif modda kill vb işlem yapmak için root yetkisi gerekir.

top komutunu kullandığınızda process veya threadlerle ilgili şu özellikleri görürsünüz.

  • PID : işlemin benzersiz process id’sini gösterir.
  • USER : İşlemin sahibi kullanıcıyı gösterir.
  • PR : İşlemin kernele göre zamanlama önceliğini gösterir.
  • NI : İngilizce Nice Value Task olan işlemin öncelik sıralamasını gösterir, Negatif bir sayı daha önceliklidir.
  • VIRT : İşlem tarafından kullanılan toplam sanal belleği gösterir.
  • RES : İşlem tarafından ramda kullanılan alanı gösterir.
  • SHR : İşlem tarafından kullanılan paylaşımlı belleği gösterir.
  • S : İşlem durumunu tek harfli olarak gösterir.
  • %CPU : İşlemin kullandığı cpu yüzdesini gösterir.
  • %MEM : İşlemin kullandığı bellek yüzdesini gösterir.
  • TIME+ : İşlemin harcadığı cpu zamanını gösterir.
  • load average : Sistemin sırasıyla son 1, 5 ve 15 dakikalık ortalama cpu yükünün gösterir.
  • zombie : işlevini tamamlamış fakat hala üst process’ine bunu bildirmemiş alt processlere zombir process denir.
  • sleeping : görevini henüz tamamlamamış, beklemede olan processlerdir

top – u kullanıcı

Belli bir kullanıcının kullandığı işlemleri gösterir.

  • top komutunu çalıştırdıktan sonra “c” tuşuna basarsanız her işlemin tam çalıştığı yeri gösterir.
  • top komutunu çalıştırdıktan sonra “k” tuşuna basarsanız sizden bir PID numarası girmenizi ister ve girdiğiniz numaralı işlemi sonlandırır (kill)
  • top komutunu çalıştırdıktan sonra “M” (shift+m) ve “P” (shift+p) tuşlarına basarsanız işlemleri ram kullanıma göre sıralar

Not: top komutu (değiştirilmediği sürece) her 3 saniye bir yenileme yapar.

İşletim sistemleri, Linux kategorisine gönderildi | , , , , , , , , , , , , , , ile etiketlendi | Yorum yapın

Linux Dersleri 43. ps komutu

ps komutu ingilizce process status anlamına gelir ve içinde bulunduğumuz shellde çalışan processleri görmenize yarar.

Ör : ps -e

Yukardaki örnekte sistemdeki tüm processleri listeler.

Ör : ps aux

Yukardaki örnekte sistemdeki tüm processleri bsd formatında listeler.

Ör : ps -ef

Yukardaki örnekte sistemdeki tüm processleri listeler. Ekstradan userid, system zamanı gibi bilgiler verir.

Ör : ps -u kullanıcıadı

Bir kullanıcı tarafından çalıştırılan veya yönetilen processleri listeler

İşletim sistemleri, Linux kategorisine gönderildi | , ile etiketlendi | Yorum yapın

Linux Dersleri 42. systemctl

  • systemctl linux servislerini ve hatta 3.parti servisleri kontrol etmeye yarayan bir araçtır.
  • Centos 7 ile birlikte service komutunun yerini almıştır.

Bazı kullanım şekli;

  • systemctl (systemctl list-units ile aynı işlevi görür)

Sistemdeki aktif servisleri gösterecektir.

  • systemctl list-units –all

Sistemdeki aktif olsun olmasın tüm servisleri gösterir.

  • systemctl start | stop | status servisadı.aplikasyon (sadece aplikasyon adını yazarak da genelde kullanılabilir)

Yukardaki komut istediğimiz servisi sırasıyla başlatmaya, durdurmaya veya durum bilgisini almaya yarar.

  • systemctl enable aplikasyon

Yukarıdaki komut aplikasyonumuzun sistem her boot edildiğinde başlatılmasını sağlar, bunun için sistem arkplanda /lib/systemd/system veya /etc/systemd/system içinde bulunan servis dosyasından sembolink link oluşturup diskte systemdnin otomatik başlatılacak dosyaların bulunduğu yere atar.

  • systemctl disable aplikasyon

Yukardaki komut aplikasyonunun otomatik başlatılmasını sağlayan sembolik linki kaldırır.

  • systemctl status aplikasyon

Yukardaki komut servis durumunu, cgroup hiyararşini ve birkaç log satırını gösterir.

  • systemctl restart aplikasyon

Yukardaki komut servisi yeniden başlatmamızı sağlar

  • systemctl reload aplikasyon

Yukardaki komut restart ile aynıdır, servisi yeniden başlatmamızı sağlar

  • systemctl restart-or-reload aplikasyon

Yukardaki komut eğer aplikasyonda restart veya reload komutlarından hangisini çalıştıracağımızdan emin değilsek kullanabiliriz.


systemctl ile bilgisayarımızı aşağıdaki şekilde yeniden başlatabilir, kapatabilir veya halt edebiliriz.

  • systemctl poweroff
  • systemctl reboot
  • systemctl halt

Not: Ayrıca kendi istediğimiz dosyaları systemctl tarafından kontrol edilmesini istiyorsak /etc/systemd/system klasörü altına servisadı.service adı altında kaydederek yapabiliriz. Bu şekilde yarattığımız dosyaların belli bir formata uyması gerekmektedir

Ör :

[Unit]
Description=<Servis tanımı>

[Service]
User=<kullanıcı adı ör: root>
WorkingDirectory=<servisin klasörü ör: /root>
ExecStart=<çalıştırılacak script adı>
# Ekstra parametreler
Restart=always
RestartSec=3

[Install]
WantedBy=multi-user.target

eğer bir phyton eklemek istersek şu şekilde yapabiliriz.

[Unit]
Description=<Servis tanımı>

[Service]
User=<kullanıcı adı ör: root>
WorkingDirectory=<Phyton scriptinin bulunduğu klasör>
ExecStart=/home/user/.virtualenv/bin/python main.py
# Ekstra parametreler
Restart=always
RestartSec=3
# /home/user/.virtualenv/bin/python 'u kendi virtualenv and main.py dosyalarınızın olduğu yerle değiştirin

[Install]
WantedBy=multi-user.target
İşletim sistemleri, Linux kategorisine gönderildi | , , , , ile etiketlendi | Yorum yapın

Linux Dersleri 41. Linuxda prosesler, görevler ve zamanlayıcılar

  • Application / Service

Linuxda application yani programlar aynı zamanda bir servis gibidirler. Windowsdaki word, powerpoint veya ntp, nfs, apache, rsyslog gibi.

  • Script

Scriptler bir dosyaya yazılan ve çalıştırılabilir olan dosyalardır. Örneğin linuxda shell scriptleri ve temel komutları; adduser, pwd, cd vb. birer scripttir.

  • Process

Bir uygulama çalıştırdığımızda bir veya daha fazla process ve bunlara bağlı idler oluşturur.

  • Deamon

Deamon processlerden farklı olarak özel olarak durdurulmadığı sürece arka planda çalışan processlerdir.

  • Threads

Her process bir veya daha fazla thread üretir. Thread processle aynı işlevi görmekle beraber daha ufak görevler için üretilir.

  • Job

Bir zamanlayıcı tarafından belirli bir zamanda çalışması için oluşturulmuş process veya threadlerdir.


PROCESS VE SERVİS KOMUTLARI

  • Systemctl (eski adıyla service)
  • ps

Sistemde çalışan processleri göstermeye yarar

  • top

Sistemdeki bütün processleri detaylı şekilde gösterir. Bu detaylar arasında kullanılan ram ve cpu miktarları, kullanıcılar vs.

  • kill

Process sonlandırmak için kullanılır process adıyla veya idsiyle kullanılır.

  • crontab

Aplikasyonları, processleri veya servisleri zamanlamak için kullanılır. crontable bir process eklediğimiz zaman linux literatüründe bu artık bir job olmuş olur.

  • at

crontable aynı işlevi görür tek farkı zamanlanmış işlem sadece 1 kere çalışır.

İşletim sistemleri, Linux kategorisine gönderildi | , , , , , , , , , , , ile etiketlendi | Yorum yapın

Linux Dersleri 40. Yararlı sistem komutları

  • date

Sistem zamanını verir.

  • uptime

Sırasıyla sistem zamanını, ne kadar zamandır sistemin çalışır vaziyette olduğunu, kaç kullanıcının halihazırda giriş yaptığını ve son olarak 1, 5 ve 15 dakikalık ortalama cpu yükünü yüzde olarak verir.

  • hostname

Linux makinamızın adını verir.

  • uname

Bağlandığımız bilgisayarın kernel adını verir.

  • uname -n

hostname komutuyla aynıdır, bağlandığımız bilgisayarın diğer bilgisayarlarla iletişim kurarken kullandığı ağ adını verir.

  • uname -r

Bağlandığımız bilgisayarın kernel versiyonunu verir.

  • uname -p

Bağlandığımız bilgisayarın işlemci mimarisini verir.

  • uname -a

Bağlandığımız bilgisayarın yukarda saydığımız tüm bilgilerini toplu halde verir.

  • which komutadı

Kullandığımız komutun linuxun hangi klasörü altında bulunduğunu gösterir. Unutmayın ki linuxda her şey bir dosyadır.

  • cal

Takvimi gösterir.

  • Ör : cal 9 1975

1975 yılında 9. ay olan Eylül ayının takvimini gösterir, bu şekilde o ayın takvimine bakarak hangi günde doğduğunuzu bulabilirsiniz 🙂

  • Ör : cal 1990

1990 senesinin bütün aylarını gösterir.

  • bc

Binary calculator’ın kısaltılmışıdır hesap makinesi işlevi görür.

İşletim sistemleri, Linux kategorisine gönderildi | , , , , , , , , ile etiketlendi | Yorum yapın

Linux Dersleri 38. Kullanıcılarla iletişim

  • users

Bu komutla sisteme giriş yapmış (login) kullanıcıları listeler

  • wall

Sistem geneli bir mesaj yazmanızı sağlar, yazdığınız mesaj sisteme giriş yapmış aktif bütün kullanıcılar tarafından görülür, sistemi yeniden başlatacaksanız ve kullanıcıları uyarmak isterseniz wall komutuyla kullanıcıları bilgilendirmek işe yarar. Yazdığınız mesajdan “ctrl + d” ile çıkabilirsiniz. Mesaj yazılır yazılmaz bütün kullanıcılara gider. Kullanıcılar mesaj alanından “enter” a basarak çıkabilirler.

  • write kullanıcıadı

Belli bir kullanıcıya mesaj yazmak için kullanılır. Mesaj yazdıktan sonra enter tuşuna basar basmaz mesaj kullanıcıya gider. Kullanıcı mesajın kimden geldiğini görür. Mesajı yazan kişi gene “ctrl+d” ile mesajdan çıkabilir.

İşletim sistemleri, Linux kategorisine gönderildi | , , , ile etiketlendi | Yorum yapın
Page 3 of 9
1 2 3 4 5 9