PYTHON STARTSWITH ve ENDSWITH KULLANIMI








          İlk görseli yorumlamakla başlayalım anlatmaya

for döngüsünde liste içerisindeki elemanları dönderiyor  ve altındaki if ile kontrol sağlıyoruz. Tam olarak yaptığı şey listeden for ile dönderdiğimiz değişkenler i'ye atanıyor ve i'nin üzerinde işlemler yapılıyor.

i.startswith('er')==True  ifadesi ile i'ye atanan eleman 'er' ile başlıyor mu diye kontrol ediyor ve  eğer sonuç doğruysa çıktı veriyor 

print("-"*50)       demek 50 adet   '-'  karakteri yazdır demek 

i.endswith('li')==True  ifadesi ile de  i'ye atanan eleman 'li' ile mi bitiyor onu kontrol ediyor ve eğer sonuç doğruysa çıktı veriyor 

işlemin çıktısı aşağıdaki gibi olacak.



LINUX'ta NANO EDITORU KULLANIMI







Linux'ta grafik arayüz haricinde, komut satırından(Terminal, konsol, uçbirim) da metin düzenleme yapılabilir ve hatta bu editörler oldukça gelişkindirler.

Bunlardan bazılar  vi/vim , emacs ,nano 

Vi/vim oldukça kapsamlı öğrenilmesi biraz zor olsa da öğrendikten sonra işleri oldukça kolaylaştıran bir metin editörü.

Emacs hiç kullanmadığımdan birşey diyemiceğim ancak vim ile çok sıkı rakip oldğu söylenir, kullanıcıların kimisi en iyisinin vi/vim olduğunu söyler kimisi de emacs'ın en iyisi olduğunu söyler.

Nano ise bunlara nazaran daha basit işlerde kullanılır. Tercih edilmesinin nedeni çok praktik ve kolay kullanıma sahip olması.

Komut satırına nano yazıp enter'a tıkladığınızda aşağıdaki gibi bir görüntü elde edersiniz.







Ekranın alt kısmında kimi kombinasyonlar vardır. Siz hiç kullanmayı bilmiyor olsanız da bu kombinasyonlara bakarak istediğinizi yapabilirsiniz.

Harflerden önce gelen  ^ isareti CTRL   tuşu ile beraber kullanılması manasına gelir.

Yani ^X  demek  CTRL + X' e beraber basılması(kullanılması) demek.

Ayrıca M-D, şeklinde bir tuş kombinasyonuyla da karşılaşabilirsiniz. Bu META + D demektir,
burada META tuşu Esc'dir


  • ^G: yardım sistemine erişim. Belki de nano editorün en önemli özelliklerinden birisidir ve duruma göre seçenek sunar.
  • ^X: editörden çıkar. Eğer dosyada yapılmış değişiklikler varsa, dosyayı kaydetmeniz istenecektir.
  • ^O: dosyayı kaydeder.
  • ^J: palagrafı ortalar
  • ^R: bir dosyanın içeriğini yerleştirir
  • ^W: metin içinde öbek arar
  • ^Y, ^V: eğer ekran bir pencereye sığamıyorsa  ctrl+y ile yukarı ctrl+v ile de aşağı pencereygelirsiniz.
  • ^K: bütün satırı siler
  • ^U: ^K kesilen ile metni yapıştırır.
  • ^C: kürsörü pozisyona getirir (satır, sütun, ve karakter)










Linux Find komutunun GUI olarak kullanılması



#!/usr/bin/python3

import os , subprocess , tkinter
from tkinter import *

from  tkinter.filedialog   import   askdirectory
from  tkinter   import   scrolledtext


def klasorSec():

    folder = askdirectory(initialdir="/home/aspa", title='Klasor Secin')

    isim=str(folder)
    print(isim)

    klasorAl.insert(0,isim)



def ara():
    klasor=klasorAl.get()
    dosyaAdi=isimAL.get()

    yol2='find '+klasor+ ' -name' + " '"+dosyaAdi+"'"

    a=subprocess.check_output([yol2],shell=True)

    metin.insert(END, a.decode())

    #print(a.decode())





pencere = Tk()
pencere.title("DOSYA  ARA")
pencere.geometry("570x450")
pencere.resizable(False, False)


etiket = Label(text="Konum Sec ", fg="magenta", bg="light green")
etiket.place(x=5, y=5, width=80, height=30)


klasorAl = Entry(pencere)
klasorAl.place(x=100, y=5, width=350, height=30)



btn = Button(text="Dizin Sec ", bg="orange", fg="navy", command=klasorSec)
btn.place(x=470, y=5 ,width=90, height=30)


etiket2 = Label(text="Dosya İsmi Gir ", fg="magenta", bg="light green")
etiket2.place(x=5, y=50, width=80, height=30)


isimAL = Entry(pencere)
isimAL.place(x=100, y=50, width=350, height=30)


btn2 = Button(text="ARA", bg="orange", fg="navy", command=ara)
btn2.place(x=470, y=50 ,width=90, height=30)


metin= Text()
metin.place(x=5, y=100, width=560, height=345)
metin.focus_set()

scroller = Scrollbar(pencere)
scroller.place(x=550, y=415)




scroller.config(command=metin.yview)
metin.config(yscrollcommand=scroller.set)





mainloop()

İSTENİLEN ASAL SAYININ BULUNMASI PYTHON KODU







Öcelikle bir liste tanımlıyoruz ve tek asal sayı olan 2 sayısını en başta ekliyoruz.

Daha sonra döngüyü arttırmak için bir i değişkeni tanımlıyoruz.

Sonra x ile kullanıcıdan integer bir değer almasını sağlıyoruz.

İlk kontrolü birinci asal sayi mı isteniyor diye bakıyoruz. Eğer öyleyse çıktıyı veriyor ve i değişkeninin değerini 0 yapıyoruz buda döngüye  girmesini engelliyor.


Eğer birden farklı bir sayı girildiyse işlemimiz döngüye giriyor ve i değerini bir arttırıyoruz.
İkinci satırda asal diye bir değişken tanımlıyoruz ve değerini Treu  olarak belirliyoruz.

Daha sonra for döngüsüyle 2'den i değişkenine kadar olan sayıları tek tek i'ye modunu alıyoruz. Eğer sonuç 0 ise asal diğişkeninin değerini False olarak tanımlıyoruz ve break ile for döngüsünden çıkıyoruz.

Daha sonra ilk kontrolü asal değeri True mu diye bakıyoruz. Eğer sayı alsal ise  listeye ekliyoruz.

Ve son olarak ta listenin boytuyla istediğimiz sayıya olaştımı diye bakıyoruz. Eğer ulaştıysa çıktıyı veriyor ve döngüyü sonlandırıyoruz.

Linux Hakında




linux-logo


Linux, Linus Torvalds adında Finlandiya'lı bir bilgisayar mühendisinin öncelikle kendi bilgisayarında kullanmak için başlattığı bir çalışma ile meydana gelmiştir. 1991 yılında çekirdeği oluşturmaya başlayan Torvalds daha sonra internet yolu ile yazmış olduğu kodları tüm dünyaya açar ve bir çok farklı programcı tarafından desteklenerek Linux inanılmaz bir hızla ivme kazanır.

Hızlı bir sürecin sonunda Linus'un geliştirdiği çekirdek, GNU hareketinin bir meyvesi ve aynı zamanda taşıyıcısı haline gelmiştir. GNU için yazılmış özgür yazılımlar çok kısa süre içerisinde Linux çekirdeği ile uyumlu çalışabilecek hale getirilmiş ve ortaya güçlü, esnek ve açık kaynak kodlu bir işletim sistemi çıkmıştır.
GNU/Linux olarak anılması gereken işletim sistemi zaman içerisinde telaffuz kolaylıklarından ötürü Linux olarak anılmaya başlanmıştır.

Çok geniş bir donanım desteğine sahip olan Linux çekirdeği; sunucu bilgisayarlar,masaüstü-dizüstü bilgisayarlar, iş istasyonları, akıllı telefonlar, yeni nesil TV'ler, tabletler, araç içi sistemler ve süper bilgisayarlarda kullanılmaktadır. Linux sunucu isletim sistemlerinde kullanılan oranı bakımından dünya çapında ilk sırada tercih edilmekte ve dünyanın en güçlü  10 süper bilgisayarında kullanılmaktadır.

Masaüstü ya da sunucu bilgisayarlara yönelik olarak hazırlanan Linux sistemler özel olarak Linux dağıtımı ("GNU/Linux dağıtımı" ya da kısaca "dağıtım") olarak isimlendirilmektedir. Popüler Linux dağıtımlarından bir kaçı;  Debian,  Ubuntu,  Fedora,  Linux Mint,  openSUSE, Arch,  Centos şeklinde örneklendirilebilir.



Linux, fikirsel ve teknik anlamda Unix’den esinlenilerek geliştirilmiştir. Ancak Linux'un Unix ile herhangi bir kod ortaklığı bulunmamaktadır yani Linux'un kodları sıfırdan başlanılarak yazılmıştır.

Linux dağıtımların, kullanıcılar için asıl görünen yüzünü teşkil eden parçası, dağıtımın kullandığı "masaüstü ortamı"dır. Linux'ta kullanıcılarının beğenisine ve kullanılan bilgisayarın sistem kaynağı düzeyine göre çeşitli masaüstü ortamı seçenekleri bulunmaktadır.

Bunlardan bazıları şöyle;
                         Gnome3                                                                   KDE5-Plasma
                                 
                       Cinnamon                                                                   Unity
                                








Linux'ta dosya ve dizinlerin erişim hakları






Eğer komut satırına  ls  -l  yazarsanız, listelediğiniz dosya ya da dizinlerin başında 10 karakterlik farkı kombinaslar hafrler(rwx) olduğunu görürsünüz

en baştaki karakter eğer

d   ise    -->    dizin
-    ise    -->    dosya 
l    ise    -->     link 'tir


geriye kalan 9 karakteri üçerli üç farklı guruba ayırıyoruz.

Yukarıda ki görselde de görüldüğü üzere;

 ilk üç karakter  dosya sahibinin erişim hakları                   ile dösterilir

ortadaki üç karakter gurubun yetkileri(hakları)               g     ile gösterilir

son üç karakter ise diğer kullanıcıların da yetkileridir     o    ile gösterilir

şimdi bu yetkileri nasıl verdiğimizi görelim 


Dosya  ya da  dizine çalıştırma izni aşağıdaki gibi verilir.
Bu yöntemle dosya ya da dizinin hem sahibi hem grubu hem de diğerleri için vermiş olursunuz

chmod +x dosya_adi      ya da  chmod +x   dizin_adi   


Dosya  ya da  dizine yazma izni aşağıdaki gibi verilir. 
Aynı şekilde tüm kullanıcılar için geçerli.

chmod +w dosya_adi      ya da  chmod +w  dizin_adi   

Dosya  ya da  dizine okuma izni aşağıdaki gibi verilir. 
Aynı şekilde tüm kullanıcılar için geçerli.

chmod +r dosya_adi      ya da  chmod +r  dizin_adi   


Ancak bazı durumlarda bütün kullanıcı gurupları için aynı izni vermek istemeyebilirsiniz.

bu tür durumlarda önce yetkinin kime verileceği  daha sonra +verilmek istenen izin

mesela sadece guruba çalıştırma yetkisi verilmesi isteniyorsa

chmod  g +x dosya_adi   ya da  dizin_adi


sadece kullanıcıya okuma ve yazma yetkisi verilmek istenitrse

chmod  u+rw dosya_adi   ya da  dizin_adi














Linux'ta .bin, .sh ve .run uzantılı dosyaları çalıştırma


                             

Linux’ta .bin .sh ve .run uzantılı dosyaların nasıl çalıştırıldığına dair çok sık sorular soruluyor bu yüzdendir ki bu yazıyı paylaşma gereği duydum
Çalıştırmak istediğimiz dosyanın adı dosya1.bin,  dosya2.sh  dosya3.run olsun
Öncelikle uçbirim (terminal, konsol) açalım.  Sonra da aşağıdaki komutu yazarak dosyanın bulunduğu dizine geçelim:
cd /dosyanın/bulunduğu/dizin (orn:  cd /home/ersin/)
Sonra da aşağıdaki komutu yazarak  dizinde bulunan dosyamızı çalıştırılabilir hale getirelim:
chmod   +x   dosya1.bin   
chmod   +x   dosya2.sh 
chmod   +x   dosya3.run
              ya da 
dosyaya tüm izinleri de verebilirsiniz (şu şekilde)
chmod   777   dosya1.bin   
chmod   777   dosya2.sh 
chmod   777   dosya3.run 
Şimdi de dosyayı çalıştırmak için:
sh  ./dosya1.bin
sh  ./dosya2.sh
sh  ./dosya3.run
veya
./dosya1.bin
./dosya2.sh
./dosya3.run
yazalım. Hepsi bu.