Komutlarin Birlikte Kullanilmasi - PowerPoint PPT Presentation

1 / 26
About This Presentation
Title:

Komutlarin Birlikte Kullanilmasi

Description:

Title: Slide 1 Author: mustafa sarioz Last modified by: Tuna G ksu Document presentation format: Ekran G sterisi (4:3) Other titles: Arial DejaVu LGC Sans Calibri ... – PowerPoint PPT presentation

Number of Views:57
Avg rating:3.0/5.0
Slides: 27
Provided by: musta90
Category:

less

Transcript and Presenter's Notes

Title: Komutlarin Birlikte Kullanilmasi


1
BILGISAYAR PROGRAMCILIGI BÖLÜMÜ AÇIK KAYNAK
ISLETIM SISTEMI DERSI
Komutlarin Birlikte Kullanilmasi
2
Standart Giris/Çikis/Hata ve Yönlendirme
  •  Linux isletim sisteminde çalistirilan her komut
    3 dosya isaretçisine sahiptir  
  • Standart Giris (stdin) Çalisan programin ,
    dosya gibi ek kaynaklar açmadan veri okumak için
    kullanacagi kaynagi belirtir. Varsayilan olarak
    veri girisi klavyeden okuma seklinde
    gerçeklestirir.
  • Standart Çikis (stdout) Çalisan programin
    çiktilarini gönderecegi kaynagi belirtir.
    Varsayilan kaynak terminal penceresidir.
  • Standart Hata (stderr) Çalisan programin hata
    çiktilarini gönderecegi kaynagi belirtir.
    Varsayilan kaynak terminal penceresidir.
  • Her dosya isaretçisi bir numara ile belirtilir.
    Standart giris 0 , standart çikis 1 , standart
    hata 2 degerlerine sahiptir.

3
Standart Giris/Çikis/Hata ve Yönlendirme
  •  Komut çalistiginda veri girisinin belli bir
    dosyadan yapilmasi istendiginde lt karakteri
    ile bir dosya standart girise yönlendirilebilir.
  • komut ltdosya

4
Standart Giris/Çikis/Hata ve Yönlendirme
  • Standart çikis ve hatanin yönlendirilme islemi
    temel olarak gt karakteri ile yapilmaktadir.
    Yönlendirme için temel kullanim sekli asagidaki
    gibidir   komut n gt dosya 
  • n sayisi hangi dosya isaretçisinin
    yönlendirilecegini belirtir. Bu sayi verilmedigi
    takdirde veya 1 olarak verildigi takdirde
    standart çikis için yönlendirme yapilir.

5
Standart Giris/Çikis/Hata ve Yönlendirme
  • Örnek ls komutunun çiktisinin bir dosyaya
    yönlendirilmesi. Yönlendirme islemi komut
    çalistirilmadan gerçeklestirildigi için ilk ls
    çiktisinda gözükmeyen sonuç dosyasi ls_cikti ,
    ikinci ls çiktisinda gözükecektir.

gulshat_at_localhost ls -l total 4 -rw-r--r--
1 tufan users 0 Aug 20 1229
abcd -rw-r--r-- 1 tufan users 0
Aug 20 1229 abfd -rw-r--r-- 1 tufan users
0 Aug 20 1229 abfg -rwxr-xr-x 1 root
root 41 Aug 20 1642
degisken.sh gulshat_at_localhost ls -l
gtls_cikti gulshat_at_localhost cat ls_cikti
total 4 -rw-r--r-- 1 tufan users
0 Aug 20 1229 abcd -rw-r--r-- 1 tufan
users 0 Aug 20 1229 abfd -rw-r--r--
1 tufan users 0 Aug 20 1229
abfg -rwxr-xr-x 1 root root 41
Aug 20 1642 degisken.sh
6
Standart Giris/Çikis/Hata ve Yönlendirme
  • Eger n sayisi 2 olarak verilirse standart hata
    için yönlendirme yapilir.
  • gulshat_at_localhost ls olmayan_dosya
  • ls olmayan_dosya No such file or directory
  • gulshat_at_localhost ls olmayan_dosya 2gtls_hata
  • gulshat_at_localhost cat ls_hata
  • ls olmayan_dosya No such file or directory

7
Standart Giris/Çikis/Hata ve Yönlendirme
  •  gt operatörü ile yapilan yönlendirilmede hedef
    dosya yok ise yaratilir , varsa içerigi
    sifirlanir. Içerigin sifirlanmasi yerine var olan
    dosyanin sonuna ekleme yapmak için gtgt operatörü
    kullanilmalidir. Bu durumda hedef dosya yok ise
    yaratilacak , var ise yapilacak eklemeler
    dosyanin sonuna yapilacaktir.
  •  Standart hata ile standart çikisin ayni dosyaya
    yönlendirilmesi çokça kullanilan bir
    yönlendirmedir. Bu yönlendirme 3 farkli sekilde
    gerçeklestirilebilir
  •   gt dosya
  • gt dosya
  • gtdosya 2gt1

8
Standart Giris/Çikis/Hata ve Yönlendirme
  • gulshat_at_localhost ls -l olmayan_dosya
    olan_dosya 2gtls_hata gtls_cikti
  • gulshat_at_localhost cat ls_hata ls_cikti
  • ls olmayan_dosya No such file or directory
  • -rw-r--r-- 1 tufan users 0 Aug 22
    1406 olan_dosya
  • gulshat_at_localhost cat ls_hata
  • ls olmayan_dosya No such file or directory
  • gulshat_at_localhost cat ls_cikti
  • -rw-r--r-- 1 tufan users 0 Aug 22 1406
    olan_dosya
  • gulshat_at_localhost ls -l olmayan_dosya
    olan_dosya gtls_cikti
  • gulshat_at_localhost cat ls_cikti
  • ls olmayan_dosya No such file or directory
  • -rw-r--r-- 1 tufan users 0 Aug 22 1406
    olan_dosya

9
Bir Komutun Çiktisini Baska Bir Komutun Verisi
Olarak Kullanmak
  • Linux isletim sistemi bir komutun çiktisini diger
    komutun girisi olarak kullanilmasini saglayan
    Unix borularini (pipe) desteklemektedir. Bu
    islemin gerçeklestirilmesi için operatörü
    kullanilir.
  • Komut1 komut2

10
Bir Komutun Çiktisini Baska Bir Komutun Verisi
Olarak Kullanmak
  • gulshat_at_localhost cat ls_cikti wc -l
  • 11
  • gulshat_at_localhost cat ls_cikti grep ab
  • -rw-r--r-- 1 tufan users 0 Aug 20
    1229 abcd
  • -rw-r--r-- 1 tufan users 0 Aug 20
    1229 abfd
  • -rw-r--r-- 1 tufan users 0 Aug 20
    1229 abfg
  • -rw-r--r-- 1 tufan users 0 Aug 20
    1455 absd
  •  
  • Unix borulari sayesinde bir önceki komutun
    çiktisi üzerinde islem yapabilen komutlar
    kullanilabilmektedir. Bu kullanim sekli en çok
    grep,sort,wc,cut gibi filtre programlari
    tarafindan terçih edilmektedir. 

11
Tee Komutu
  • Tee komutu standart giristen okudugunu hem
    standart çikisa hem de dosyaya yazmak için
    kullanilan bir komuttur. Temel kullanim sekli
    asagidaki gibidir
  • tee -a dosya_ismi
  • -a parametresi kullanildigi ve hedef dosya var
    oldugu takdirde , hedef dosyanin içerigi
    sifirlanmaz ve sonuna ekleme yapilir. Aksi
    durumlarda dosyanin içerigi sifirlanir. 
  • Tee komutu çogunlukla Unix borulari ile yapilan
    yönlendirmelerde kullanilir. Belli bir komutun
    çiktisini hem ayni anda ekranda görüp hem de bir
    dosyaya kaydetmek istenildigi durumlarda tee
    komutu kullanilmaktadir.

12
Tee Komutu
  • gulshat_at_localhost tee tee_cikti lt tee_deneme
  • Tee komutu için deneme
  • 123
  • 456
  • gulshat_at_localhost cat tee_cikti
  • Tee komutu için deneme
  • 123
  • 456

13
Filtreler
  •  Filtreler çogunlukla metin dosyalari üzerinde
    islem yapan programlardir. En çok kullanilan
    program dosya içersinde metin bulmak için
    kullanilan grep programidir.
  • Filtreler çogunlukla baska bir programin
    çiktisini alip islerler. Bu yüzden çogu filtre
    unix borulari ile beraber kullanilir. 
  • gulshat_at_localhost ls -l wc -l
  • 58

14
wc Komutu
  • Bir dosyadaki byte , kelime ve satirlari saymak
    için wc komutu kullanilir. Bu komutun temel
    yapisi asagidaki gibidir
  • wc seçenekler dosya
  •  Islenecek dosya verilmedigi takdirde wc komutu
    verileri standart giristen okuyacagini
    varsaymaktadir. Bu sayede wc komutu Unix borulari
    ile bir önceki komutun çiktisini alip
    isleyebilmektedir.
  •  wc komutu ile kullanilanabilecek temel
    seçenekler asagidaki gibidir
  • -c Dosyadaki bytelari sayar.
  • -l Dosyadaki satirlari sayar.
  • -w Dosyadaki kelimeleri sayar.
  • -L Dosya içindeki en uzun satirin boyutunu
    gösterir.

15
wc Komutu
  •  bash-3.2 cat ornek
  • wc icin ornek
  • 123
  • en uzun satir bu ve boyu 27
  • bash-3.2 cat ornek wc -c
  • 47
  • bash-3.2 cat ornek wc -w
  • 11
  • bash-3.2 cat ornek wc -l
  • 4
  • bash-3.2 cat ornek wc -L
  • 27

16
Metin Dosyalarinin Içeriklerinin Siralanmasi
  • Metin dosyalari üzerinde siralama islemi sort
    komutu ile yapilir. Bu komut satirlari verilen
    siralama kriterine göre siralar ve sonucu
    standart çikisa aktarir. Komutun temel kullanim
    sekli asagidaki gibidir  
  • sort seçenek dosya  
  • Dosya ismi verilmedigi takdirde veriler standart
    giristen okunacaktir.

17
Metin Dosyalarinin Içeriklerinin Siralanmasi
  • Sort komutu ile kullanilabilecek temel seçenekler
    asagidaki gibidir
  • -k POS1,POS2 Bu parametre ile siralama için
    kullanilacak alan numarasi verilir. POS1 degeri
    siralama için kullanilacak alanlar için baslangiç
    degeridir. POS2 degeri ise siralama alanlari için
    bitis
  • -r Karsilastirma sonuçlarini tersten islemek
    için kullanilir.
  • -l Siralama islemini yaparken locale
    bilgisinide kullanilmasini saglar.
  • -M Ay isimlerini baz alan siralama yapilmasini
    saglamak için kullanilir.
  • -t SEP Alan ayiraci olarak bosluk veya tab
    yerine SEP ile belirtilen karakterin
    kullanilmasini saglar.
  • -m Siralanmis dosyalari birlestirmek için
    kullanilir. Birlestirilecek dosyalar kendi
    içlerinde siralanmis olmalidir.
  • -o dosya Siralanmis verinin standart çikis
    yerine dosyaya yazilmasini saglar.
  • -f Büyük küçük harf ayrimini ortandan kaldirir.
  • -n Numerik olarak siralama yapmak için
    kullanilir.
  • -g Bu seçenek de numerik siralama yapmak için
    kullanilir. n seçeneginden farki gerçel sayilar
    üzerinde de islem yapabilmesidir. Sayilarin
    gösterilmesi için kullanilan bilimsel notasyonu
    (scientific notation) destekler. (1.5e-23 ,
    15e24)?

18
Metin Dosyalarinin Içeriklerinin Siralanmasi
  • ls l komutunun çiktisinda dosyanin en son
    degistigi tarihin ay bilgisi altinci , gün
    bilgisi yedinci alanda bulunmaktadir. Dosyanin
    boyutu bilgisi ise 5. alandadir. Siralama
    alfabetik olarak yapilacaktir.

19
Metin Dosyalarinin Içeriklerinin Siralanmasi
  • gulshat_at_localhost ls -l
  • total 24436
  • -rw-r--r-- 1 tufan users 453 Feb 12
    2001 dosya_1
  • -rw-r--r-- 1 tufan users 11827208 Jul 23
    1203 dosya_2
  • -rw-r--r-- 1 tufan users 1356543 Aug 24
    1251 dosya_3
  • -rw-r--r-- 1 tufan users 11827208 Aug 24
    1256 dosya_4
  • gulshat_at_localhost ls -l sort -k6,6
  • total 24436
  • -rw-r--r-- 1 tufan users 11827208 Aug 24
    1256 dosya_4
  • -rw-r--r-- 1 tufan users 1356543 Aug 24
    1251 dosya_3
  • -rw-r--r-- 1 tufan users 453 Feb 12
    2001 dosya_1
  • -rw-r--r-- 1 tufan users 11827208 Jul 23
    1203 dosya_2

20
Metin Dosyalarinin Içeriklerinin Siralanmasi
  • Altinci alandaki bilgi ay bilgisi oldugu için
    altinci alan için siralama yaparken M
    seçeneginin kullanilmasi gerekmektedir.
  • gulshat_at_localhost ls -l sort -k6,6M
  • total 24436
  • -rw-r--r-- 1 tufan users 453 Feb 12
    2001 dosya_1
  • -rw-r--r-- 1 tufan users 11827208 Jul 23
    1203 dosya_2
  • -rw-r--r-- 1 tufan users 11827208 Aug 24
    1256 dosya_4
  • -rw-r--r-- 1 tufan users 1356543 Aug 24
    1251 dosya_3 
  • Bir sort komutunda birden fazla k seçenegi
    kullanilabilir. Seçeneklerin kullanim sirasi
    yapilacak siralama islemini etkileyecektir.

21
Metin Dosyalarinin Içeriklerinin Siralanmasi
  • ls l çiktisini ilk olarak Ay , sonra gün en
    son boyuta göre siralamak için gerekli komut
    nedir?

22
Metin Dosyalarinin Içeriklerinin Siralanmasi
  • gulshat_at_localhost ls -l sort -k7,7 -k6,6M
    -k5,5
  • total 24436
  • -rw-r--r-- 1 tufan users 453 Feb 12
    2001 dosya_1
  • -rw-r--r-- 1 tufan users 11827208 Jul 23
    1203 dosya_2
  • -rw-r--r-- 1 tufan users 11827208 Aug 24
    1256 dosya_4
  • -rw-r--r-- 1 tufan users 1356543 Aug 24
    1251 dosya_3

23
Metin Içinde Arama ve Grep Komutu
  • Metin dosyalari arasinda istenilen paternleri
    aramak için grep komutu kullanilmaktadir. Grep
    komutu dosyalar üzerinde istenilen metin
    parçasini arar ve bu metin parçasini içeren
    satirlari standart çikisa kopyalar.
  • Temel kullanim sekli asagidaki gibidir
  • grep seçenekler patern dosya
  • Dosya ismi verilmedigi takdirde verilerin
    standart giristen okunacagi varsayilir. Bu sayede
    Unix borulari kullanilarak bir komutun çiktisinda
    istenilen bir metin parçasi aranabilir. 

24
Metin Içinde Arama ve Grep Komutu
  • Grep ile kullanilan temel seçenekler asagidaki
    gibidir   
  • -l Metin parcasinin geçtigi satirlarin
    gösterilmesi yerine metin parçasinin geçtigi
    dosyalarin isimleri gösterilir. Çogunlukla bir
    dizin içinde belirli bir kelimeyi içeren
    dosyalarin bulunmasi islevinde kullanilir.
  • -c Metin parçasinin geçtigi satirlarin
    gösterilmesi yerine , metin parçasinin bulundugu
    satir sayisinin gösterilmesini saglar.
  • -i Büyük küçük harf ayrimini ortandan
    kaldirir.
  • -f dosya Aranmasi istenen metin parçaçiklarini
    bir dosyadan okumak için kullanilir.
  • -n veya --line-number Bulunulan satirin
    dosyadaki satir numarasi da gösterilir.
  • -e metin_parcasi veya regexpmetin_parcasi
    Metin içinde aranmasi istenen metin parçasi
    istendigi takdirde bu seçenek ile de verilebilir.
    Özellikle ile baslayan metin
    parçaçiklarinda kullanilmalidir.
  • -v Aranan metin parçasinin bulunmadigi
    satirlari gösterir.
  • -x veya --line-regexp Tam bir satir olarak
    metin parçasini içeren satirlarin bulunmasini
    saglar.
  • -A satir_sayisi Bulunan satirdan sonra
    istenilen satir sayisi kadar satirin
    bastirilmasini saglar.
  • -B satir_sayisi Bulunan satirdan önce istenilen
    satir sayisi kadar satirin bastirilmasini saglar.
  • -r Rekürsif arama için kullanilir. Aranmasi
    gereken dosya bir dizin ise ve r seçenegi
    kullanilmis ise grep dizinin içindeki tüm dizin
    ve dosyalari da tarar.

25
Metin Içinde Arama ve Grep Komutu
  • -d hareket Grep programinin bir dizine
    rastladiginda yapmasi gereken hareketi ayarlamak
    için kullanilir. Varsayilan hareket read yani
    okumadir. Bu islem bazi dosya sistemleri
    tarafindan desteklenmemektedir. Bu durumda grep
    programi hata verecektir. Eger hareket olarak
    skip degeri atanirsa grep hiç bir hata vermeden
    dizinleri atlayacaktir. Eger hareket olarak
    recurse verilirse grep dizinin içindeki dosya
    ve dizinleri rekürsif olarak tariyacaktir.
  • -n veya --no-filename Birden fazla dosya
    arandigi zaman grep programimetin parcasini
    buldugu satiri bastirmadan önce , satiri buldugu
    dosya ismini gösterir. Bu seçenekle bu özellik
    kapatilir.
  • -a veya --text Grep programi aranan metin
    parçasini binary bir dosyada buldugu takdirde
    bulunan satiri göstermek yerine kullaniciya
    aranan metin parçasinin bir binary dosyada
    bulundugu bildirir. Grepin binary dosyalarda da
    buldugu satirlari göstermesi için bu seçenek
    kullanilmalidir.
  • -w veya --word-regexp Aranan metin parcasinin
    kelime olarak bulundugu satirlarin seçilmesi için
    kullanilir. Örnek olarak , aranan metin
    parçasinin linux oldugu durumlarda linux
    sistemi arama kriterine uyarken linuxun
    komutlari arama kriterine uymamaktadir.

26
Kaynaklar
  • Ders Notlari Mustafa Sariöz
  • Ders Notlari Gulshat Kulzhabayeva
Write a Comment
User Comments (0)
About PowerShow.com