Linux'ta Kabuk ve Kabuk Programlama

Benzer belgeler
Bilgi ve İletişim Teknolojileri (JFM 102) Ders 7. LINUX OS (Sistem Yapısı) BİLGİ & İLETİŞİM TEKNOLOJİLERİ. LINUX Yapısı

Linux Dosya Yapısı. Eren BAŞTÜRK.

Kabuk Programlama (Bash)

KABUK PROGRAMLAMA (shell programming- scripting)

qmail ile üniversite mail sistemi yönetimi Devrim Sipahi Dokuz Eylül Üniversitesi

Shell(Bash,sh, zsh,) Programming- Kabuk Programlama

GELİŞMİŞ DÜZEY BASH BETİK PROGRAMI

PBS Betiği Hazırlama ve PBS Komutları. Feyza Eryol

Java ve Linux. Bora Güngören Portakal Teknoloji Akademik Bilişim

İşletim Sistemleri. İşletim Sistemleri. Dr. Binnur Kurt Omega Eğitim ve Danışmanlık

İŞLETİM SİSTEMİ KATMANLARI (Çekirdek, Kabuk ve diğer temel kavramlar) Öğr.Gör. Dr. Dr. Şirin KARADENİZ

Regular Expressions Version 0.1

Linux altında komut satırında...

Yazılım Nedir? 2. Yazılımın Tarihçesi 3. Yazılım Grupları 4 Sistem Yazılımları 4 Kullanıcı Yazılımları 5. Yazılımın Önemi 6

Açık Kaynak Kodlu Yazılım

R ile Programlamaya Giriş ve Uygulamalar

qmail ile üniversite mail sistemi yönetimi Devrim Sipahi Dokuz Eylül Üniversitesi

Bilgi ve İletişim Teknolojileri (JFM 102) Ders 10. LINUX OS (Programlama) BİLGİ & İLETİŞİM TEKNOLOJİLERİ GENEL BAKIŞ

Bilgi Güvenliği Denetim Sürecinde Özgür Yazılımlar. Fatih Özavcı Bilgi Güvenliği Danışmanı

PROGRAMLAMAYA GİRİŞ. Öğr. Gör. Ayhan KOÇ. Kaynak: Algoritma Geliştirme ve Programlamaya Giriş, Dr. Fahri VATANSEVER, Seçkin Yay.

Linux e Giriş ve Dağıtımlar

Temel Linux Eğitimi. İçindekiler

BİLGİ İŞLEM DERS 1. Yrd Doç Dr. Ferhat ÖZOK MSGSU FİZİK BÖLÜMÜ MSGSU FİZİK BÖLÜMÜ

PBS Betiği Hazırlama ve PBS Komutları

Uzaktan Eğitim Uygulama ve Araştırma Merkezi

Bash ile Programlama. Cem Ahmet Mercan. Ulusal Yüksek Başarımlı Hesaplama Merkezi (UHeM) 13 Temmuz 2017

Dosya/Dizin İzinleri. Okuma (r) Yazma (w) Çalıştırma (x) Dosya içeriğini görebilir mi? (Klasörler için) dosya listesini alabilir mi?

Yazılım Mühendisliğine Giriş 2018 GÜZ

İŞLETİM SİSTEMİ KATMANLARI (Çekirdek, kabuk ve diğer temel kavramlar) Bir işletim sisteminin yazılım tasarımında ele alınması gereken iki önemli konu

A. Murat Eren AWK Programlama Dili

k ise bir gerçek sayı olsun. Buna göre aşağıdaki işlemler Matlab da yapılabilir.

Python GELECEK. Barış Metin Linux Sistemleri. Python Programlama Dili

Pardus 2013 te Metin Editörleri

Linux Assembly Programlamaya Giriş

1 PROGRAMLAMAYA GİRİŞ

Ruby Nedir? 1.1 Amaçlar. 1.2 Ruby nin Yapısal Sıradüzeni

MATLAB Semineri. EM 314 Kontrol Sistemleri 1 GÜMMF Elektrik-Elektronik Müh. Bölümü. 30 Nisan / 1 Mayıs 2007

PHP'ye Giriş Türkiye PHP Grubu - Linux Şenlikleri PHP Eğitim / Tanıtım Seminerleri Ankara, 11 Mayıs 2006 Hidayet Doğan <hdogan@hido.

Düzenli İfadeler & Kullanım Alanları

Düzenli İfadeler & Kullanım Alanları

Internet Programming II

EYLÜL 2012 İŞLETİM SİSTEMLERİ. Enformatik Bölümü

Linux Kurulumu (Sürüm 1.52) İçindekiler

İşletim Sistemleri; İÇERİK. Yazılım BİLGİ TEKNOLOJİLERİ VE UYGULAMALARI Yazılım Türleri

İşletim Sistemleri. Bilgisayar Mühendisliğine Giriş. Teknoloji Fakültesi / Bilgisayar Mühendisliği. Öğr.Gör.Günay TEMÜR

BİT in Temel Bileşenleri (Yazılım-1)

yazılabilir. Bundan sonra programın ismi yazılıp enter tuşuna basıldığı zaman bir program Linux komutuymuş gibi çalışacaktır.

LABORATUVAR ÇALIŞMASI 1 - Python a Giriş

Bilgisayar Teknolojileri Bölümü Bilgisayar Programcılığı Programı. Öğr. Gör. Cansu AYVAZ GÜVEN

Atılım Üniversitesi Bilgi & Đletişim Teknolojileri Müdürlüğü Sistem Yönetim Uzman Yardımcısı Görev Tanımı

BMT 101 Algoritma ve Programlama I 7. Hafta. Yük. Müh. Köksal Gündoğdu 1

Sistem Programlama. (*)Dersimizin amaçları Kullanılan programlama dili: C. Giriş/Cıkış( I/O) Sürücülerinin programlaması

BLM 111 Algoritma ve Programlama I Güz 2018

Dekleratif Programlama. Örnek : Aile Ağacı. SWI-Prolog. Prolog Dekleratif programlama dili

Görsel Programlama DERS 03. Görsel Programlama - Ders03/ 1

MATLAB a GİRİŞ. Doç. Dr. Mehmet İTİK. Karadeniz Teknik Üniversitesi Makine Mühendisliği Bölümü

Ders Tanıtım Sunumu. Internet Programming II. Elbistan Meslek Yüksek Okulu Bahar Yarıyılı. 26 Şub Öğr. Gör.

Nasıl Pardus Geliştiricisi Olunur?

Atılım Üniversitesi Bilgi & Đletişim Teknolojileri Müdürlüğü Sistem Yönetim Uzmanı Görev Tanımı

Ulak-CSIRT Balküpü Çalışma Grubu

Metasploit Framework ile Güvenlik Denetimi. Fatih Özavcı Bilgi Güvenliği Danışmanı fatih.ozavci at gamasec.net

İŞLETİM SİSTEMLERİ. (Operating Systems)

İşletim Sistemi. BTEP205 - İşletim Sistemleri

Giriş. Prof.Dr. Bahadır AKTUĞ JFM212 Python ile Mühendislik Uygulamaları. *Kaynakça bölümünde verilen kaynaklardan derlenmiştir.

Çoktan Seçmeli Değerlendirme Soruları Akış Şemaları İle Algoritma Geliştirme Örnekleri Giriş 39 1.Gündelik Hayattan Algoritma Örnekleri 39 2.Say

Öğr. Gör. Serkan AKSU 1

man komut man ls (ls komutu hakkında bilgi verir.) man pwd (pwd komutu hakkında bilgi verir.)

Bitirme Ödevi Sunumu PLATFORM BAĞIMSIZ BENZETİM PROGRAMI. Danışman : Yrd.Doç.Dr. D Feza BUZLUCA Gökhan Akın ŞEKER

NETFİLTER VE LİNUX TABANLI BİR FİREBOX TASARIMI

Fen ve Mühendislik Uygulamaları ile MATLAB

BİLGİSAYAR PROGRAMLAMA Araş. Gör. Ahmet ARDAHANLI. Kafkas Üniversitesi Mühendislik Fakültesi

$ echo $PATH /sbin:/bin:/usr/sbin:/usr/bin:/usr/x11r6/bin: /usr/local/sbin:/usr/local/bin:/usr/games:.

ÖĞRENME-ÖĞRETME YÖNTEM VE TEKNİKLERİ. Anlatım, soru-cevap, İnternetten araştırma. Anlatım, soru-cevap,

Veri Yapıları. Amaçlar: Temel Veri Yapılarını Tanımlamalı Veri Yapılarını Veri Modeli ve Türlerini Öğreneceksiniz. İçindekiler:

İşletim Sisteminin Katmanları

1 RUBY HAKINDA 1 Ruby nin Gelişim Hikayesi 1 Neden Ruby? 1 Neden Bu Kadar Popüler? 2

Linux un Tarihsel gelişimi

YZM 3102 İşletim Sistemleri

İşletim Sistemi Nedir?

Komut Penceresi ile Çalışmaya Başlamak

İçindekiler. KISIM 1 Temel Programlama 1. Bölüm 1: Programlama ve Python 3. Bölüm 2: Değişkenler, İfadeler ve Deyimler 13. Giriş 4

08217 Internet Programcılığı I Internet Programming I

MAKE İLE PROJE YÖNETİMİ VE MAKEFILE YAZIMI

MATLAB A GİRİŞ. EE-346 Hafta-1 Dr. Ayşe DEMİRHAN

Temel Bilişim Eğitimi

BİLİŞİM TEKNOLOJİLERİ

HSancak Nesne Tabanlı Programlama I Ders Notları

İŞLETİM SİSTEMLERİ. Enformatik Bölümü

Programlama Dili Prensipleri. Lab Notları 8 ve 9

C++ Giriş Ders 1 MSGSU Fizik Bölümü Ferhat ÖZOK Kullanılacak kaynak: Published by Juan Soulié

Script. Statik Sayfa. Dinamik Sayfa. Dinamik Web Sitelerinin Avantajları. İçerik Yönetim Sistemi. PHP Nedir? Avantajları.

Sınav tarihi : Süre : 60 dak.

Unix İşletim Sistemi Ailesi Afşin Taşkıran

Sınav tarihi : Süre : 60 dak. a) strstr b) strchr c) strcat d) strcpy e) strlen. a) b) d) e) 0

PHP I PHP I. E. Fatih Yetkin. 26 Eylül 2011

BİLGİSAYAR MÜHENDİSLİĞİ BÖLÜM BAŞKANLIĞI DERS TANITIM BİLGİLERİ

Java Temel Özellikleri

Nesneye Yönelik Programlama (OOP) 7.Hafta

Yazılım Mühendisliğine Giriş 4. Hafta 2016 GÜZ

if (ad == "Sabri") Console.WriteLine("Merhaba Sabri. Ne zamandır gözükmüyodun...");

Transkript:

Linux'ta Kabuk ve Kabuk Programlama

Kabuk Nedir? Kabuk, kullanıcı ile bilgisayar sistemi arasındaki bir yazılım katmanıdır. Kabuk, kullanıcının hareketlerini yorumlayıp, işletim sistemini ve uygulamaları isteklerden haberdar eder. Kabuk, bir komut yorumlayıcıdır (command interpreter); komutları direk olarak işlemeden önce onları yorumlar.

Kabuk Nedir? Kullanıcı Komutları İşletim Sistemi ve Uygulamalar Kabuk Kullanıcı Betikleri

Kabuk ile Neler Yapılır? Program çalıştırılabilir, Girdi/Çıktı yönlendirmesi yapılabilir, Boru (pipe) işlemi yapılabilir, Görev denetimi yapılabilir. Ayrıca kabuk, metakarakter kullanımına ve, Programlama dili sayesinde betik yazımına da (shell scripting) olanak sağlar.

Çok Kullanılan Kabuklar sh (Bourne Shell), Steven BOURNE, AT&T Bell Labs csh (C Shell), Bill JOY, University of California (vi, Unix, NFS, Sparc) tcsh (TC Shell), Christos ZOULAS, (csh + {cle, his, clc}) ksh (Korn Shell), David KORN, AT&T Bell Labs (f. of {awk, icon, perl, rexx, tcl}) bash (Bourne Again Shell) GNU (Brian FOX, Chet RAMEY) korn ve c kabuklarının kullanışlı özelliklerini almıştır. sh ile tamamen uyumludur. IEEE POSIX P1003.2/ISO 9945.2 Shell and Tools standartlarına uygundur. sh kabuğu için yazılmış neredeyse tüm betikler, değişiklik gerektirmeden çalıştırılabilir.

Çok Kullanılan Kabuklar sh c tc korn bash komut geçmişi hayır evet evet evet evet komut değişkenleri hayır evet evet evet evet kabuk betikleri evet evet evet evet evet dosya ismi tamamlama hayır evet* evet evet* evet komut satırı değişikliği hayır hayır evet evet* evet görev kontrolü hayır evet evet evet evet

Kabuğun Fonksiyonları > Program Çalıştırma [user@host dizin]# program_adi <argümanlar>

Kabuk Fonksiyonları > Girdi/Çıktı Yönlendirme

Kabuk Fonksiyonları > Boru (pipe( pipe) ) İşlemi

Kabuk Fonksiyonları > Boru (pipe( pipe) ) İşlemi

Kabuk Fonksiyonları > Metakarakterler > *

Kabuk Fonksiyonları > Metakarakterler >?

Kabuk Fonksiyonları > Metakarakterler > ;

Kabuk Fonksiyonları > Metakarakterler > ^

Kabuk Fonksiyonları > Metakarakterler > $

Kabuk Fonksiyonları > Metakarakterler > $

Kabuk Fonksiyonları > Metakarakterler > []

Kabuk Fonksiyonları > Metakarakterler > {, }

Kabuk Fonksiyonları > Metakarakterler > ', ve \

Kabuk Fonksiyonları > İleri Düzey Komutlar

Kabuk Fonksiyonları > İleri Düzey Komutlar

Kabuk Fonksiyonları > İleri Düzey Komutlar tr grep sort uniq sed...

Kabuk Programlama Dili Kabuk programlama dili ile yazılan tüm betiklerin ilk satırında #!/bin/bash yazmalıdır. Kabuk betiklerinin çalıştırılabilmesi için, betik dosyasının çalıştırma izninin verilmiş olması gerekmektedir, chmod +x betik.sh komutu ile dosyanın çalıştırma izni açılabilir.

Kabuk Programlama ile Neler Yapılmaz? GUI ya da grafik manüplasyonu gerektiren uygulamalarda, Cross Platform uygulamalarında, Kompleks uygulamalarda (örneğin veri türünün kontrol edilmesi gereken, kritik fonksiyonlara sahip uygulamalarda), Port ya da I/O soketlerini kullanan uygulamalarda, Dinamik bellek yönetimi gerektiren geniş uygulamalarda, Karmaşık veri yapılarına ihtiyaç duyacak (Bağlı Liste, Ağaç Yapısı vs.) uygulamalarda, Donanıma direk erişim için kullanılacak uygulamalarda, Görev Kritik uygulamalarında, Güvenliğin çok mühim olduğu noktalarda ya da hızın ön planda olduğu uygulamalarda, Kapalı kod gerektiren uygulamalarda (Kabuk betikleri açık kodlu olmak zorundadır) kabuk programlama kullanılamaz, kullanılmamalıdır.

Programlama > Kabuk Değişkenleri > $#

Programlama > Kabuk Değişkenleri > $0, $1, $2...

Programlama > Kabuk Değişkenleri > $?

Programlama > Kullanıcı Tanımlı Değişkenler

Programlama > Kıyas Operatörleri S1 eq S2 (S1 ve S2 birbirine eşit mi?) S1 ne S2 (S1 ve S2 birbirinden farklı mı?) S1 qt S2 (S1, S2'den büyük mü?) S1 qe S2 (S1, S2'den büyük eşit mi?) S1 le S2 (S1, S2'den küçük mü?) S1 lt S2 (S1, S2'den küçük eşit mi?)...

Programlama > Dosya İşletmenleri f dosya (dosya dosyası mevcut mu?) d dosya (dosya dosyası bir dizin mi?) s dosya (dosya dosyası mevcut ve boyutu 0'dan farklı mı?) L dosya (dosya sembolik link mi?) S dosya (dosya soket mi?)...

Programlama > Kontrol Yapıları > if then else fi

Programlama > Kontrol Yapıları > case esac

Programlama > Kontrol Yapıları > for do done

Programlama > Kontrol Yapıları > for do done (C Style)

Programlama > Fonksiyon Tanımlama

Programlama > Yerel Değişkenler

Programlama > Diğerleri... while until continue break...

Programlama > Belgeler BASH Programming Intro HOWTO Advanced BASH HOWTO AWK Programming HOWTO Cool Commands mini HOWTO Ve şu anda üniversitemizde hazırlanmakta olan İleri BASH Programlama, AWK Programlama, Sed ve Düzenli İfadeler belgeleri...

Teşekkürler A. Murat EREN meren@comu.edu.tr http://zion.comu.edu.tr/~evreniz http://seminer.linux.org.tr/