1 / 35

Linux Bazı Komutlar ve Scripting

Linux Bazı Komutlar ve Scripting. diff ve patch. diff dosyalar arasındaki farkları gösterir. diff –u my_file my_file.orig | less patch farkları dosyaya uygular. diff –u my_file my_file.orig > my_patch patch my_file < mypatch bu şekilde my_file ve my_file.orig aynı olur.

abril
Download Presentation

Linux Bazı Komutlar ve Scripting

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Linux Bazı Komutlar ve Scripting

  2. diff ve patch • diff dosyalar arasındaki farkları gösterir. diff –u my_filemy_file.orig | less • patch farkları dosyaya uygular.diff –u my_filemy_file.orig> my_patchpatch my_file < mypatchbu şekilde my_fileve my_file.origaynı olur.

  3. Head ve Tail • head -n 5 flavours.txt • İlk 5 satırı yazar • tail -n 5 flavours.txt • Son 5 satırı yazar.

  4. Sort • Sort file.txt • Dosyayı sıralar. • $ sort –t "," -k1, file.txt • , ile ayrılan alanlardan 1. gore sırala. • sort -u file.txt • Sırala ve tekrarları sil • sort -r file.txt • Tersten sırala

  5. Wc (Word Count) • wc myfile.txt • 5    13    57   myfile.txt • 5 = Satır13 = Kelime57 = Karakter • ls -l | wc –l • Bulunan yerde dosya ve klasor satır sayısını verir.

  6. Df ve du • Df = Boş alanı gosterir • df -h • Du = Dosyaların tuttuğu yeri gosterir. • du -s *.txt • du -h /tmp

  7. grep – patern aramak • grep <kelime> <DOSYA> • Özel Karakterler: • ^ - Satır başı$ - Satır sonu • Nokta (.) herne karakter olursa olsun • [ ]Karakter sınıfı grubu: • [aeiou] – tek sesli harf • [a-zA-z0-9] – tek harf veya sayı • [^0-9] – Sayı olmayan herhangibir karakter

  8. Grep -devam • *anlamı “sıfır veya çok kere” • ? Means “sıfır veya bir kere” -i : harf duyuarlılığı olmadan ara. -n : satır numaraları yaz -v : uyusmayan satır numaralarını yaz -l : Sadece cıktısı yazılabilecek dosyaları listele.

  9. grep örnekler • Boş satırları yaz:grep –v ’^$’ my_file.txt • my_functionçağrıldığı satırları yaz:grep –n ’my_function *(’ my_code.c • grep –v ‘test’ myfiles.txt

  10. find • find dosyalarını yerini bulmak için kullanılır. • find / -name foo Komutu foo dosyasını tüm dizinde arar. • find /home/david -name 'index*‘ İndex ile baslayan dosyaları gosterir.

  11. find ornekler • Uzantısı*.c* ve *.h* yaz.find . –name ’*.[ch]*’ –a –print • www klasöru haricindeki tüm dosya ve klasörleri herkesin ulasabileceği şekilde haklarını değiştir.find . –path ”./www*” –prune –o –exec | chmod go-rwx {} \; • *.c* dosyalarının ne kadar buyuk olduğunu bul?expr `find –name ’*.c*’ –printf ”%k + ”` 0

  12. Gzip Gunzip • gzip file.txt • gunzip file.txt.gz • gzip -c file1 file2 > foo.gz • cat file1 file2 | gzip > foo.gz

  13. Tar • tar -cvf file.tar file1 file2 file3 • tar -cvf dir.tar dir1 dir2 • tar -cvwf file.tar myfile.txt • tar -cvwf home.tar home/ • tar -xvwf myfile.tar • tar -xvwzf myfile.tar.gz

  14. Script Ornekleri #!/bin/bash clear echo “Bugun tarihi ‘date’" echo ~stepp/cowsay `whoami` echo “Su anki kullanıcılar:" w | grep -v USER | sort echo

  15. Script Değişkenleri

  16. #!/bin/bash echo “Script adı $0” echo “1. Komut argumanı $1” echo “$# Kadar arguman vardı ve bunlar: $@” Example.sh argument1 argument2 argument3 • Her .txt dosyasını,.txt2 şeklinde değiştiren script yazın. for file in *.txt; do mv $file ${file}2 done

  17. Karşılaştırma Terimleri if [ $USER = "stepp" ]; then echo “Merhaba, Stepp!" fi LOGINS=`w | wc -l` if [ $LOGINS -gt 10 ]; then echo “Sistem cokyogun!" fi

  18. Script Ornekler #!/bin/bash # Body Mass Index (BMI) calculator –Vücut index Hesaplama if [ $# -lt 2 ]; then echo "Usage: $0 kiloboy" exit 1 fi let H2=“$2 * $2” let BMI="703 * $1 / $H2" echo “Sizin VucutIndeksi( Body Mass Index (BMI)) is $BMI" if [ $BMI -le 18 ]; then echo “Çok zayıfsın….." elif [ $BMI -le 24 ]; then echo “Normal Kilo…..." elif [ $BMI -le 29 ]; then echo “Exersiz zamanı, kilo almıssın…." else echo “Takma kafana…." fi

  19. Ornek PS3=“Sevdiğin kişi sec!” Select CHOICE in “Josh” “Marty” “Dave” “HAL” “Me”; do case $CHOICE in “Josh”|”Marty”) echo “Akıllı Secim.” ;; ”Dave”|”HAL”) echo “Bu senin son secimin.” ;; “Me”) echo “Super secim..” ;; esac break done

  20. Mantık ifade Karşılaştırma # >= 10 fazla process varsa kullanıcıları # ve kullanıcı sayısı >= 5 ise kullanıcıları uyar. LOGINS=`w | wc -l` PROCESSES=`ps -u $USER | wc -l` if [ $LOGINS -gt 5 -a$PROCESSES -gt 10 ]; then echo “System yoğun, process azaltın!" fi

  21. Ornekler • $ find /mp3klasor -name '*.mp3' -size -5000k •  /mp3klasor adlı klasorde, boyu 5000 Kilobytes ( < 5MB) az mp3 dosyalarını bulur. • $ find /mp3klasor-name 'Metallica*‘ -and -size +10000k  • /mp3klasor adlı klasorde, boyu 10000 kilobytes (> 10 MB)buyuk VE adı 'Metallica‘ ile baslayan dosyaları bulur. • $ find / mp3klasor -n -size +10000k ! -name "Metallica*“ • /mp3klasor adlı klasorde, boyu 10000 kilobytes (> 10 MB)buyuk ve adı 'Metallica‘ ile baslamayan dosyaları bulur. • $ find / mp3klasor -n -name 'Metallica*' -or -size +10000k/mp3klasor adlı klasorde, boyu 10000 kilobytes (> 10 MB)buyuk VEYA adı 'Metallica‘ ile baslayan dosyaları bulur.

  22. Ornek • #!/bin/bashmkdir trashmv * trashrm -rf trashrmdir trashecho “Tum dosyalar silindi!"

  23. Ornek • #!/bin/bash# Bu program 1 den 10 a kadar sayar:for i in 1 2 3 4 5 6 7 8 9 10; do    echo $idone

  24. Script Ornekler • #!/bin/bashif test -f /etc/foothen    # dosya var, kopyala ve message yaz .    cp /usr/foo .    echo "Done."else    # dosya yok , message yaz ve çık.    echo "This file does not exist."    exitfi

  25. Script kontrol parametreleri • Command Line Parameters for ' test ' • -d klasör kontrol • -e dosya bulunması kontrolü • -f sıradan dosya kontrolu • -r okunabilirlik kontrolu • -s dosya boyu kontrolu • -w yazılabilirlik kontrolu • -xcalıstırılabilirlikkontrolu

  26. Ornek • #!/bin/bashx=0;     while [ "$x" -le 10 ]; do    echo “Su anki x: $x"    # x değerini artır:    x=$(expr $x + 1)    sleep 1done

  27. Ornek • Aşağıdaki program .html ekini dosyaların sonuna ekler • #!/bin/bashfor file in *; do    echo “Sonuna .html eklene dosya $file..."    mv $file $file.html    sleep 1done

  28. Ornek-case • #!/bin/bashx=5    # Değer kontrolu x:case $x in   0) echo “x degeri : 0.”  ;;   5) echo " x degeri : 5.”  ;;   9) echo " x degeri : 9.“  ;;   *) echo “Tanımlanmamıs deger."esac

  29. Ornek-if • #!/bin/bashx=5    if [ "$x" -eq 0 ]; then    echo “x degeri : 0."elif [ "$x" -eq 5 ]; then    echo " x degeri : 5."elif [ "$x" -eq 9 ]; then    echo " x degeri : 9."else    echo “Tanımlanmayan deger."fi

  30. Ornek- Hesap Makinesi • #!/bin/bashx=5  y=3   add=$(($x + $y))   # Toplamasub=$(($x - $y))   # Cıkarmamul=$(($x * $y))   # Carpmadiv=$(($x / $y))   # Bolmemod=$(($x % $y))   # Mod alma- Kalanı bulma# print out the answers:echo “Toplam: $add"echo “Fark: $sub"echo “Çarpım: $mul"echo “Bolum: $div"echo “Kalan: $mod"

  31. Ornek-Selamlama1 • #!/bin/bash# Isım okur ve selamlarecho -n “Isminizi Girin: "read user_nameecho “Merhaba $user_name!"

  32. Ornek-Selamlama2 • #!/bin/bash# # Isım okur ve selamlar echo -n "Isminizi Girin: "read user_name# Kullanıcı boş enter basarsa…if [ -z "$user_name" ]; then    echo “Isminizisoylemediniz!"    exitfiecho “Merhaba $user_name!"

  33. Fonksiyon Kullanımı • #!/bin/bash# hello() fonksiyonu selamlama message yazarhello(){    echo “hello() fonksiyonundan merhaba"} echo “ Fonksiyonhello()cagrılıyor..."# hello() functioncagır:helloecho “Sımdi fonksiyon hello()dısına cıktın"

  34. Compiling • $> gcc A.c B.c –o myApp.exe A.c B.c B.h “gcc” Preprocessor Compile Link

  35. Build: make • gcc –c A.c • gcc –c B.c • gcc A.o B.o –o myApp.exe A.c B.c B.h make Makefile myApp.exe

More Related