Kabuk ve Kısayollar-II

Slides:



Advertisements
Benzer bir sunumlar
Kabuk ve Kısayollar-I.
Advertisements

Bölüm 11 Metin Dosyaları Metin Dosyaları Dosya Açma ve Kapama
X86 Assembly Programlama Dilinde
Kullanıcı ve Grup Yönetimi
Text Editörü BİLGİSAYAR PROGRAMCILIĞI BÖLÜMÜ
Dosya ve Klasör İşlemleri
Arama işlemleri ve Dosya İzinleri
Değişkenler ve bellek Değişkenler
JavaScript Birinci Hafta.
KLAVYE KULLANIMI.
WORD ÖZET WORD’ü başlatmak için; Görev Çubuğu’ndan Başlat + Programlar + Word Yeni paragrafa başlarken ENTER tuşu kullanılır.
BPR152 ALGORİTMA VE PROGRAMLAMA - II
BİLGİ ve İletİŞİM TeknolojİSİ
C Programlama Diline Giriş
4 Kontrol Yapıları: 1.Bölüm.
Javascript Oğuz İNAL.
Dizi (array) değişkenleri
Bölüm 9 Dizgiler Dizgi Tanımı Dizgi Girdi İşlemleri
Tek Tablo İçinde Sorgulamalar
Komutların Birlikte Kullanılması
Kullanıcı ve Grup İşlemleri
NESNEYE YÖNELİK PROGRAMLAMA
PHP 4’ün Yenilikleri VIII. “Türkiye’de İnternet” Konferansı İstanbul, Aralık 2002 Hidayet Doğan.
İNTERNET PROGRAMCILIĞI I BTP 207 Ders 9. Tek değişkende birden fazla bilgi tutulmak istendiğinde kullanılır. Kullanım şekli: var dizi_adı= new Array(eleman1,
Bilgisayar Uygulamaları II
C#.NET 5.0 C# .NET 5.0 Eğitimleri Volkan KANAT.
Kabuk ve Kısayollar BİLGİSAYAR PROGRAMCILIĞI BÖLÜMÜ
TASMA ÇOMAR UNIX PARDUS % LINUX $ PİSİ YALI.
Lınux Command arch:Makine mimarisi hakkinda bilgi verir. “uname -m” komutu ile ayni isleve sahiptir. cat [dosya]:Dosyalari ardarda siralayarak standart.
Temel Bilgisayar Bilimleri Dersi (Microsoft Powerpoint)
Microsoft EXCEL (2) Kapsam Kopyalama, Yapıştırma Açıklama Ekleme Satır ve Sütunların Boyutlandırılması Bitişik Hücrelere Dayanarak Otomatik Veri Girme.
Paralel Programlamaya Giriş
Metotlar.
Dosya İşlemleri BİLGİSAYAR PROGRAMCILIĞI BÖLÜMÜ
Akış Kontrol Mekanizmaları
Celal Bayar Üniversitesi Hasan Ferdi Turgutlu Teknoloji Fakültesi
BM-103 Programlamaya Giriş Güz 2014 (7. Sunu)
Diziler Adres Kavramı Nesnelerin Adresleri sizeof Operatörü
Komutların Birlikte Kullanılması BİLGİSAYAR PROGRAMCILIĞI BÖLÜMÜ AÇIK KAYNAK İŞLETİM SİSTEMİ DERSİ.
Microsoft Office Access
PHP Dosya İşlemleri.
Editörler Asli Ergün.
Dosya İzinleri Öğr. Gör. Mustafa SARIÖZ BİLGİSAYAR TEKNOLOJİLERİ VE PROGRAMLAMA BÖLÜMÜ BİLG 223 AĞ İŞLETİM SİSTEMLERİ DERSİ.
Dosya İşlemleri Öğr. Gör. Mustafa SARIÖZ BİLGİSAYAR TEKNOLOJİLERİ VE PROGRAMLAMA BÖLÜMÜ BİLG 223 AĞ İŞLETİM SİSTEMLERİ DERSİ.
Microsoft EXCEL (1).
Dosya İşlemleri Öğr. Gör. Mustafa SARIÖZ BİLGİSAYAR TEKNOLOJİLERİ VE PROGRAMLAMA BÖLÜMÜ BİLG 223 AĞ İŞLETİM SİSTEMLERİ DERSİ.
Kabuk işlemleri.
Paralel Programlamaya Giriş
TEMEL LİNUX KOMUTLARI.
Celal Bayar Üniversitesi Hasan Ferdi Turgutlu Teknoloji Fakültesi
KABUK İŞLEMLERİ.
Celal Bayar Üniversitesi Hasan Ferdi Turgutlu Teknoloji Fakültesi
BMS-301 Kabuk Programlama Güz 2015 (2. Sunu) (Yrd. Doç. Dr. Deniz Dal)
BMS-301 Kabuk Programlama Güz 2015 (3. Sunu) (Yrd. Doç. Dr. Deniz Dal)
Linux İşletim Sistemi Metin Editörleri
BMS-301 Kabuk Programlama Güz 2015 (5. Sunu) (Yrd. Doç. Dr. Deniz Dal)
Yardım Komutları Linux’ta komutlar hakkında yardım almak için aşağıdaki komutlar kullanılır : - man - info - whatis - apropos.
BM-308 Paralel Programlamaya Giriş Bahar 2016 (1. Sunu) (Yrd. Doç. Dr. Deniz Dal)
ITEC115 - BİLGİSAYARA GİRİŞ ITEC190 - HUKUK İÇİN BİLGİSAYAR
 Linux’te temel dosya sistemi güvenliği kullanıcıların dosya ve dizinler üzerindeki erişim izinlerinin belirlenmesiyle sağlanır. Bir dosya veya dizinlere.
Ünite II: Bilgisayarı Kullanma ve Yönetme Basit Düzenlemeler Yapma Dosyaları Düzenleme Yazdırma.
Linux Komutları.
Paralel Programlamaya Giriş
STRING FONKSİYONLARI Dim ders As String
BİLGİ ve İletİŞİM TeknolojİSİ
KELİME İŞLEMCİLER (Bölüm 2)
Bilgisayar Bilimi Döngüler.
NİŞANTAŞI ÜNİVERSİTESİ
Dosya/Dizin İzinleri - Dosya sahibinin izinleri (Dosyanın sahibi : u)
NİŞANTAŞI ÜNİVERSİTESİ
Sunum transkripti:

Kabuk ve Kısayollar-II

Standart Giriş/Çıkış/Hata ve Yönlendirme  Linux işletim sisteminde çalıştırılan her komut 3 dosya işaretçisine sahiptir :  Standart Giriş (stdin) : Çalışan programın , dosya gibi ek kaynaklar açmadan veri okumak için kullanacağı kaynağı belirtir. Varsayılan olarak veri girişi klavyeden okuma şeklinde gerçekleştirir. Standart Çıkış (stdout) : Çalışan programın çıktılarını göndereceği kaynağı belirtir. Varsayılan kaynak terminal penceresidir. Standart Hata (stderr) : Çalışan programın hata çıktılarını göndereceği kaynağı belirtir. Varsayılan kaynak terminal penceresidir. Her dosya işaretçisi bir numara ile belirtilir. Standart giriş 0 , standart çıkış 1 , standart hata 2 değerlerine sahiptir.

 Komut çalıştığında veri girişinin belli bir dosyadan yapılması istendiğinde “ < “ karakteri ile bir dosya standart girişe yönlendirilebilir. komut <dosya [gulshat@localhost]$ cat input_yonlendir Standart Giris yönlendirmesi için örnek 123 456 

Standart çıkış ve hatanın yönlendirilme işlemi temel olarak “>” karakteri ile yapılmaktadır. Yönlendirme için temel kullanım şekli aşağıdaki gibidir :  komut [n]>dosya  n sayısı hangi dosya işaretçisinin yönlendirileceğini belirtir. Bu sayı verilmediği takdirde veya 1 olarak verildiği takdirde standart çıkış için yönlendirme yapılır. Eğer n sayısı 2 olarak verilirse standart hata için yönlendirme yapılır.  Örnek : ls komutunun çıktısının bir dosyaya yönlendirilmesi. Yönlendirme işlemi komut çalıştırılmadan gerçekleştirildiği için ilk ls çıktısında gözükmeyen sonuç dosyası ls_cikti , ikinci ls çıktısında gözükecektir. [gulshat@localhost]$ ls -l total 16 -rw-r--r-- 1 tufan users 0 Aug 20 12:29 abcd -rw-r--r-- 1 tufan users 0 Aug 20 12:29 abfd -rw-r--r-- 1 tufan users 0 Aug 20 12:29 abfg -rw-r--r-- 1 tufan users 0 Aug 20 14:55 absd -rwxr-xr-x 1 root root 41 Aug 20 16:42 degisken.sh [gulshat@localhost]$ ls -l >ls_cikti [gulshat@localhost]$ cat ls_cikti

 “>” operatörü ile yapılan yönlendirilmede hedef dosya yok ise yaratılır , varsa içeriği sıfırlanır. İçeriğin sıfırlanması yerine var olan dosyanın sonuna ekleme yapmak için “>>” operatörü kullanılmalıdır. Bu durumda hedef dosya yok ise yaratılacak , var ise yapılacak eklemeler dosyanın sonuna yapılacaktır.  Standart hata ile standart çıkışın aynı dosyaya yönlendirilmesi çokça kullanılan bir yönlendirmedir. Bu yönlendirme 3 farklı şekilde gerçekleştirilebilir :   >& dosya &>dosya >dosya 2>&1

[gulshat@localhost]$ ls olmayan_dosya ls: olmayan_dosya: No such file or directory [gulshat@localhost]$ ls olmayan_dosya 2>ls_hata [gulshat@localhost]$ cat ls_hata [gulshat@localhost]$ touch olan_dosya [gulshat@localhost]$ ls -l olmayan_dosya olan_dosya -rw-r--r-- 1 tufan users 0 Aug 22 14:06 olan_dosya [gulshat@localhost]$ ls -l olmayan_dosya olan_dosya 2>ls_hata [gulshat@localhost]$ ls -l olmayan_dosya olan_dosya 2>ls_hata >ls_cikti [gulshat@localhost]$ cat ls_hata ls_cikti [gulshat@localhost]$ cat ls_cikti -rw-r--r-- 1 tufan users 0 Aug 22 14:06 olan_dosya [gulshat@localhost]$ ls -l olmayan_dosya olan_dosya &>ls_cikti -rw-r--r-- 1 tufan users 0 Aug 22 14:06 olan_dosya

Bir Komutun Çıktısını Başka Bir Komutun Verisi Olarak Kullanmak Linux işletim sistemi bir komutun çıktısını diğer komutun girişi olarak kullanılmasını sağlayan Unix borularını (pipe) desteklemektedir. Bu işlemin gerçekleştirilmesi için “ | “ operatörü kullanılır. Komut1 | komut2 [gulshat@localhost]$ cat ls_cikti | wc -l 11 [gulshat@localhost]$ cat ls_cikti | grep ab -rw-r--r-- 1 tufan users 0 Aug 20 12:29 abcd -rw-r--r-- 1 tufan users 0 Aug 20 12:29 abfd -rw-r--r-- 1 tufan users 0 Aug 20 12:29 abfg -rw-r--r-- 1 tufan users 0 Aug 20 14:55 absd   Unix boruları sayesinde bir önceki komutun çıktısı üzerinde işlem yapabilen komutlar kullanılabilmektedir. Bu kullanım şekli en çok grep,sort,wc,cut gibi filtre programları tarafından terçih edilmektedir. 

Tee Komutu Tee komutu standart girişten okuduğunu hem standart çıkışa hem de dosyaya yazmak için kullanılan bir komuttur. Temel kullanım şekli aşağıdaki gibidir : tee [-a] dosya_ismi -a parametresi kullanıldığı ve hedef dosya var olduğu takdirde , hedef dosyanın içeriği sıfırlanmaz ve sonuna ekleme yapılır. Aksi durumlarda dosyanın içeriği sıfırlanır.  [gulshat@localhost]$ tee tee_cikti < tee_deneme Tee komutu için deneme 123 456 [gulshat@localhost]$ cat tee_cikti Tee komutu çoğunlukla Unix boruları ile yapılan yönlendirmelerde kullanılır. Belli bir komutun çıktısını hem aynı anda ekranda görüp hem debir dosyaya kaydetmek istenildiği durumlarda tee komutu kullanılmaktadır.

Filtreler  Filtreler çoğunlukla metin dosyaları üzerinde işlem yapan programlardır. En çok kullanılan program dosya içersinde metin bulmak için kullanılan grep programıdır. Filtreler çoğunlukla başka bir programın çıktısını alıp işlerler. Bu yüzden çoğu filtre unix boruları ile beraber kullanılır.  [gulshat@localhost]# ls -l | wc -l 58

wc Komutu Bir dosyadaki byte , kelime ve satırları saymak için wc komutu kullanılır. Bu komutun temel yapısı aşağıdaki gibidir : wc [seçenekler] [dosya]  İşlenecek dosya verilmediği takdirde wc komutu verileri standart girişten okuyacağını varsaymaktadır. Bu sayede wc komutu Unix boruları ile bir önceki komutun çıktısını alıp işleyebilmektedir.  wc komutu ile kullanılanabilecek temel seçenekler aşağıdaki gibidir : -c : Dosyadaki byteları sayar. -l : Dosyadaki satırları sayar. -w : Dosyadaki kelimeleri sayar. -L : Dosya içindeki en uzun satırın boyutunu gösterir.  [gulshat@localhost]$ cat wc_ornek wc icin ornek 123 en uzun satir bu ve boyu 27  [gulshat@localhost]$ ls -l wc_ornek -rw-r--r-- 1 tufan users 47 Aug 23 11:05 wc_ornek [gulshat@localhost]$ cat wc_ornek | wc -c 47 [gulshat@localhost]$ cat wc_ornek | wc -w 11 [gulshat@localhost]$ cat wc_ornek | wc -l 4 [gulshat@localhost]$ cat wc_ornek | wc -L 27

Metin Dosyalarının İçeriklerinin Sıralanması Metin dosyaları üzerinde sıralama işlemi sort komutu ile yapılır. Bu komut satırları verilen sıralama kriterine göre sıralar ve sonucu standart çıkışa aktarır. Komutun temel kullanım şekli aşaağıdaki gibidir :  sort [seçenek] dosya   Dosya ismi verilmediği takdirde veriler standart girişten okunacaktır.Sort komutu ile kullanılabilecek temel seçenekler aşağıdaki gibidir: -k POS1[,POS2] : Bu parametre ile sıralama için kullanılacak alan numarası verilir. POS1 değeri sıralam için kullanılacak alanlar için başlangıç değeridir. POS2 değeri ise sıralama alanları için bitiş -r : Karşılaştırma sonuçlarını tersten işlemek için kullanılır. -l : Sıralama işlemini yaparken locale bilgisinide kullanılmasını sağlar. -M : Ay isimlerini baz alan sıralama yapılmasını sağlamak için kullanılır. -t SEP : Alan ayıracı olarak boşluk veya tab yerine SEP ile belirtilen karakterin kullanılmasını sağlar. -m : Sıralanmış dosyaları birleştirmek için kullanılır. Birleştirilecek dosyalar kendi içlerinde sıralanmış olmalıdır. -o dosya : Sıralanmış verinin standart çıkış yerine dosyaya yazılmasını sağlar. -f : Büyük küçük harf ayrımını ortandan kaldırır. -n : Numerik olarak sıralama yapmak için kullanılır. -g : Bu seçenek de numerik sıralama yapmak için kullanılır. –n seçeneğinden farkı gerçel sayılar üzerinde de işlem yapabilmesidir. Sayıların gösterilmesi için kullanılan bilimsel notasyonu (scientific notation) destekler. (1.5e-23 , 15e24)

[gulshat@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 12:03 dosya_2 -rw-r--r-- 1 tufan users 1356543 Aug 24 12:51 dosya_3 -rw-r--r-- 1 tufan users 11827208 Aug 24 12:56 dosya_4 “ls –l” komutunun çıktısında dosyanın en son değiştiği tarihin ay bilgisi altıncı , gün bilgisi yedinci alanda bulunmaktadır. Dosyanın boyutu bilgisi ise 5. alandadır. Altıncı alandaki bilgi ay bilgisi olduğu için altıncı alan için sıralama yaparken –M seçeneğinin kullanılması gerekmektedir. Bu anahtar kullanılmadığı takdirde sıralama alfabetik olarak yapılacaktır. [gulshat@localhost]$ ls -l | sort -k6,6 [gulshat@localhost]$ ls -l | sort -k6,6M -rw-r--r-- 1 tufan users 1356543 Aug 24 12:51 dosya_3  Bir sort komutunda birden fazla –k seçeneği kullanılabilir. Seçeneklerin kullanım sırası yapılacak sıralama işlemini etkileyecektir.

[gulshat@localhost]$ cat sort_deneme linux kurs isletim sistem  [gulshat@localhost]$ sort sort_deneme   Örnek : “ls –l” komutu çıktısını sort komutu yardımı ile dosya boyutuna göre sıralamak :  [gulshat@localhost]$ ls -l total 12884 -rw-r--r-- 1 tufan users 453 Aug 24 12:51 dosya_1 -rw-r--r-- 1 tufan users 11827208 Aug 24 12:51 dosya_2 -rw-r--r-- 1 tufan users 1356543 Aug 24 12:51 dosya_3 Dosya boyutları “ls –l” çıktısının beşinci alanında bulunmaktadır. Bu yüzden beşinci alan üzerinde sıralama yapılmalıdır.  [gulshat@localhost]$ ls -l|sort -k 5,5 -rw-r--r-- 1 tufan users 453 Aug 24 12:51 dosya_1 

Örnek : “ls –l” çıktısını ilk olarak Ay , sonra gün en son boyuta göre sıralamak için :  [gulshat@localhost]$ ls -l | sort -k5,5 -k6,6M -k7,7 total 24436 -rw-r--r-- 1 tufan users 11827208 Jul 23 12:03 dosya_2 -rw-r--r-- 1 tufan users 11827208 Aug 24 12:56 dosya_4 -rw-r--r-- 1 tufan users 1356543 Aug 24 12:51 dosya_3 -rw-r--r-- 1 tufan users 453 Feb 12 2001 dosya_1 [gulshat@localhost]$ ls -l | sort -k7,7 -k6,6M -k5,5 İlk olarak ay , sonra gün en son boyut bilgisine göre sıralama yapmak için sort komutu aşağıdaki şekilde kullanılmalıdır :  [gulshat@localhost]$ ls -l | sort -k6,6M -k7,7 -k5,5 -rw-r--r-- 1 tufan users 1356543 Aug 24 12:51 dosya_3 

Örnek : İkinci alanın bir ve ikinci karakterlerini baz olarak sıralama yapmak için Sırala işlemi ikinci alanın birinci karakteri ile başlayıp ikinci karakteri ile biteceğinden –k seçeneğine başlangıç değeri olarak 2.1 , bitiş değeri olarak 2.2 gönderilmelidir. 2.1 ikinci alanın birinci karakteri , 2.2 ikinci alanın ikinci karakterini belirtmektedir. [gulshat@localhost]$ sort -k 2,2 sort_karakter linax deneme isletim destegi linux kurs [gulshat@localhost]$ sort -k 2.1,2.2 sort_karakter

Metin İçinde Arama ve Grep Komutu Metin dosyaları arasında istenilen paternleri aramak için grep komutu kullanılmaktadır. Grep komutu dosyalar üzerinde istenilen metin parçasını arar ve bu metin parçasını içeren satırları standart çıkışa kopyalar. Temel kullanım şekli aşağıdaki gibidir : grep [seçenekler] patern [dosya] Dosya ismi verilmediği takdirde verilerin standart girişten okunacağı varsayılır. Bu sayede Unix boruları kullanılarak bir komutun çıktısında istenilen bir metin parçası aranabilir.  Grep ile kullanılan temel seçenekler aşağıdaki gibidir :   -l : Metin parcasının geçtiği satırların gösterilmesi yerine metin parçasının geçtiği dosyaların isimleri gösterilir. Çoğunlukla bir dizin içinde belirli bir kelimeyi içeren dosyaların bulunması işlevinde kullanılır. -c : Metin parçasının geçtiği satırların gösterilmesi yerine , metin parçasının bulunduğu satır sayısının gösterilmesini sağlar. -i : Büyük – küçük harf ayrımını ortandan kaldırır. -f dosya : Aranması istenen metin parçaçıklarını bir dosyadan okumak için kullanılır. -n veya --line-number : Bulunulan satırın dosyadaki satır numarası da gösterilir. -e metin_parcası veya –regexp=metin_parcası : Metin içinde aranması istenen metin parçası istendiği takdirde bu seçenek ile de verilebilir. Özellikle ‘ – ‘ ile başlayan metin parçaçıklarında kullanılmalıdır. -v : Aranan metin parçasının bulunmadığı satırları gösterir. -x veya --line-regexp : Tam bir satır olarak metin parçasını içeren satırların bulunmasını sağlar. -A satır_sayısı : Bulunan satırdan sonra istenilen satır sayısı kadar satırın bastırılmasını sağlar. -B satır_sayısı : Bulunan satırdan önce istenilen satır sayısı kadar satırın bastırılmasını sağlar. -r : Rekürsif arama için kullanılır. Aranması gereken dosya bir dizin ise ve –r seçeneği kullanılmış ise grep dizinin içindeki tüm dizin ve dosyaları da tarar.

-d hareket : Grep programının bir dizine rastladığında yapması gereken hareketi ayarlamak için kullanılır. Varsayılan hareket “read” yani okumadır. Bu işlem bazı dosya sistemleri tarafından desteklenmemektedir. Bu durumda grep programı hata verecektir. Eğer hareket olarak “skip” değeri atanırsa grep hiç bir hata vermeden dizinleri atlayacaktır. Eğer hareket olarak “recurse” verilirse grep dizinin içindeki dosya ve dizinleri rekürsif olarak tarıyacaktır. -n veya --no-filename : Birden fazla dosya arandığı zaman grep programımetin parcasını bulduğu satırı bastırmadan önce , satırı bulduğu dosya ismini gösterir. Bu seçenekle bu özellik kapatılır. -a veya --text : Grep programı aranan metin parçasını binary bir dosyada bulduğu takdirde bulunan satırı göstermek yerine kullanıcıya aranan metin parçasının bir binary dosyada bulunduğu bildirir. Grep’in binary dosyalarda da bulduğu satırları göstermesi için bu seçenek kullanılmalıdır. -w veya --word-regexp : Aranan metin parcasının kelime olarak bulunduğu satırların seçilmesi için kullanılır. Örnek olarak , aranan metin parçasının “linux” olduğu durumlarda “linux sistemi” arama kriterine uyarken “linuxun komutları” arama kriterine uymamaktadır.