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

Ebat: px
Şu sayfadan göstermeyi başlat:

Download "İşletim Sistemleri. İşletim Sistemleri. Dr. Binnur Kurt binnur.kurt@gmail.com. Omega Eğitim ve Danışmanlık http://www.omegaegitim.com."

Transkript

1 İşletim Sistemleri Dr. Binnur Kurt Omega Eğitim ve Danışmanlık 1 S a y f a

2 İÇİNDEKİLER 1. İşletim Sistemi Prosesler 4. İplikler 5. İplikler Arası Eş Zamanlama 6. Prosesler Arası İletişim 7. İş Sıralama 8. Prosesler Arası Eş zamanlama 9. Bellek Yönetimi 10. Dosya Sistemi 11. Soket Haberleşme 2 S a y f a

3 BÖLÜM 2 Bölümün Amacı Bölüm sonunda aşağıdaki konular öğrenilmiş olacaktır: Kabuğun özellikleri ve işletim sistemindeki görevleri komut formatı programlama o Değişkenler o Aritmetik İşlemler o Koşullar ve Döngüler o Fonksiyonlar 3 S a y f a

4 2.1 nedir? İşletim sistemlerinde, çekirdek sistem kaynaklarını yönetmekten sorumludur. Bunun için çok sayıda servisten oluşur. Bu servisler genel olarak prosesler arasında işlemci ve bellek gibi kaynaklara erişimini düzenler. Servislere sistem çağrıları ile ulaşılır. İşletim sistemi ile kullanıcı programları arasında tanımlanmış bir arayüz vardır. Bu arayüz bir dizi yordamdan oluşur. Bu yordamların neler olduğu, aldıkları parametreler ve parametre tipleri IEEE POSIX standardı tarafından tanımlanmıştır. Bu yordamlara ulaşmak için trap işletimci komutundan yararlanılır. trap kesmesi ile birlikte kontrol ilgili yordama geçer ve kod çekirdek seviyesinde koşmaya başlar. Ancak sistem çağrıları alt düzey çağrılar olduğu için, sistem yönetimi ile ilgili işler için sistem çağrılarını kullanmak zordur. Bunun için sistem komutlarını kullanıyoruz. Örneğin dosya kopyalamak için cp komutu kullanılır. kullanıcı için bir komut satırı sağlar ve buradan kullanıcının girdiği komutları çalıştırır ve sonucu listeler. Kabuğun görevleri aşağıdaki gibi sıralanabilir: a. Çekirdek ile kullanıcı arasında bir arayüz tanımlar. b. Komut satırı yorumlayıcısıdır. Kullanıcıdan aldığı komutları çekirdeğin anlayacağı sistem çağrılarına dönüştürür. c. Programlama ortamı sağlar. Böylelikle karmaşık komutlar ya da periyodik olarak çalıştırılacak işler bir betik haline getirilebilir. Bu betikler ilgili kabuk tarafından çalıştırılır. 2.2 Türleri Tarihsel olarak Unix işletim sistemi geliştirilirken çok sayıda kabuk yazıldığını görüyoruz. Bunlar arasında çok sık karşılaştığımız kabukların listesini aşağıda veriyorum: Bourne Shell sh Korn Shell ksh C Shell csh TC Shell tcsh B(ourne)A(gain) Shell bash Desktop Korn Shell dtksh Job Control Shell jsh Restricted Shell rsh Z Shell zsh Bu kabuklar arasında hız, güvenlik seviyesi, programlama yetenekleri gibi farklılıklar bulunur. Bu kabuklardan sıkça kullanılan birkaç tanesine bir göz atalım Bourne Shell (sh) AT&T Bell laboratuvarında Steve R. Bourne tarafından yazılmıştır. betiklerinde en çok tercih edilen kabuktur. Bourne kabuğu, hız ve taşınabilirliği ile öne çıkmaktadır. Solaris işletim sisteminde varsayılan kabuk sh dır. Ancak bazı önemli eksikleri bulunmaktadır: eski komutları hatırlamaz, aritmetik ve mantıksal işleçler 4 S a y f a

5 bulunmaz. root kullanıcısı için varsayılan imleç # ve diğer kullanıcılar için ise imleç $ sembolleridir. Solaris işletim sisteminde açılış betikleri Bourne kabuğu tarafından çalıştırılır C Shell (csh) California Üniversitesinde, Bill Joy tarafından yazılmıştır. Önceki komutları hatırlaması, aritmetik ve C benzeri ifadeler yazılabilmesi ve takma isim tanımlanabilmesi en önemli özellikleridir. Ancak Bourne kabuğundan daha yavaştır. root kullanıcısı için varsayılan imleç # ve diğer kullanıcılar için ise imleç % sembolleridir Korn Shell (ksh) AT&T Bell laboratuvarında David Korn tarafından yazılmıştır. Bourne kabuğunu kapsar. Bu nedenle Bourne kabuğu için yazılan betikler Korn kabuğunda da çalışabilir. C kabuğu ile benzer özelliklere sahiptir. Önceki komutları hatırlar, aritmetik ve mantıksal işlemleri destekler, dizi ve fonksiyon tanımlanabilir. C kabuğundan daha hızlıdır. root kullanıcısı için varsayılan imleç # ve diğer kullanıcılar için ise imleç $ sembolleridir. GNU/Linux işletim sisteminde varsayılan kabuk BASH dir. 2.3 Komut Formatı kullanıcıdan aldığı komutları çalıştırır. Bu komutların belirli bir formatı vardır. Komutlar ile verilen seçenek ile parametre değerlerini alırlar. Komutların düzgün kullanımı için seçeneklerin ve parametrelerin neler olduğunun bilinmesi gerekir. Bunun için öncelikli olarak man komutuna başvurulabilir: [student@server1 ~]$ man cal 5 S a y f a

6 Bir komutu eğer izin veriyorsa birden fazla seçenekle ya da seçeneksiz olarak çalıştırabiliriz: ~]$ uname Linux ~]$ uname -a Linux server1.example.com el6uek.x86_64 #1 SMP Thu Nov 7 17:01:44 PST 2013 x86_64 x86_64 x86_64 GNU/Linux [student@server1 ~]$ uname -i x86_64 [student@server1 ~]$ uname -r el6uek.x86_64 [student@server1 ~]$ uname -s Linux [student@server1 ~]$ uname -r -s Linux el6uek.x86_64 [student@server1 ~]$ uname -s -r Linux el6uek.x86_64 [student@server1 ~]$ uname -rs Linux el6uek.x86_64 [student@server1 ~]$ uname -sr Linux el6uek.x86_64 [student@server1 ~]$ uname -rs -i Linux el6uek.x86_64 x86_64 [student@server1 ~]$ uname -rsi Linux el6uek.x86_64 x86_64 [student@server1 ~]$ uname -r -s -i Linux el6uek.x86_64 x86_64 Yukarıda uname komutunu herhangi bir seçenek vermeden çalıştırdık. Birden fazla seçenek vererek çalıştırdık. Birden fazla seçenek alması durumunda bu seçenekleri toplu olarak verebileceğimiz gibi ayrı ayrı da verebiliriz: -sir ile -s i -r aynı anlama gelir. Benzer şekilde si -r ile -s i -r aynı anlama gelir. Bazen komutlar parametre alabilirler. Cal komutu ekrana takvimi döker. Eğer bir parametre verilmemiş ise içinde bulunulan yılın ve ayın takvimini ekrana döker. İstenirse ay ve yıl parametreleri verilebilir: [student@server1 ~]$ cal September 2014 Su Mo Tu We Th Fr Sa [student@server1 ~]$ cal July 1973 Su Mo Tu We Th Fr Sa S a y f a

7 İstenirse sadece yıl parametre olarak verilerek o yılın takvimi ekrana dökülebilir: [student@server1 ~]$ cal January February March Su Mo Tu We Th Fr Sa Su Mo Tu We Th Fr Sa Su Mo Tu We Th Fr Sa April May June Su Mo Tu We Th Fr Sa Su Mo Tu We Th Fr Sa Su Mo Tu We Th Fr Sa July August September Su Mo Tu We Th Fr Sa Su Mo Tu We Th Fr Sa Su Mo Tu We Th Fr Sa October November December Su Mo Tu We Th Fr Sa Su Mo Tu We Th Fr Sa Su Mo Tu We Th Fr Sa Yukarıdaki örneklerden de anlaşılacağı gibi komutların kaç parametre alabildikleri ve parametrelerin sırasının bir önemi bulunmaktadır. Bu sıralamanın ne olduğunu öğrenmek için man komutu ile kullanım kılavuzunu (=Manual Page) okumak gerekir. Bazen komutlar hem seçenek hem de parametre verilerek çalıştırılır: [student@server1 /]$ ls bin boot cgroup dev etc home lib lib64 lost+found media misc mnt net opt oradata proc root sbin selinux srv sys tmp usr var [student@server1 /]$ ls -l total 106 dr-xr-xr-x. 2 root root 4096 Apr 30 03:49 bin dr-xr-xr-x. 5 root root 1024 Apr 29 11:31 boot drwxr-xr-x. 10 root root 4096 Apr 29 11:38 cgroup drwxr-xr-x. 20 root root 4260 Sep 22 00:34 dev drwxr-xr-x. 125 root root Sep 22 00:38 etc drwxr-xr-x. 5 root root 4096 Apr 30 02:22 home drwxr-xr-x. 11 root root 4096 Nov lib dr-xr-xr-x. 10 root root Apr 30 03:49 lib64 drwx root root Apr 29 11:09 lost+found drwxr-xr-x. 3 root root 4096 Sep 22 00:35 media 7 S a y f a

8 drwxr-xr-x. 2 root root 0 Sep 16 18:44 misc drwxr-xr-x. 4 root root 4096 Apr 30 06:02 mnt drwxr-xr-x. 2 root root 0 Sep 16 18:44 net drwxr-xr-x. 15 root root 4096 May 12 01:26 opt drwxr-xr-x. 3 oracle oracle 4096 Apr 30 03:37 oradata dr-xr-xr-x. 180 root root 0 Sep 16 18:44 proc dr-xr-x root root 4096 Sep 22 01:34 root dr-xr-xr-x. 2 root root May 6 09:35 sbin drwxr-xr-x. 7 root root 0 Sep 16 18:44 selinux drwxr-xr-x. 2 root root 4096 Nov srv dr-xr-xr-x. 13 root root 0 Sep 16 18:44 sys drwxrwxrwt. 20 root root 4096 Sep 22 01:50 tmp drwxr-xr-x. 15 root root 4096 May 11 20:58 usr drwxr-xr-x. 22 root root 4096 Apr 29 11:28 var [student@server1 /]$ ls -l /var total 80 drwxr-xr-x. 2 root root 4096 Apr 29 11:28 account drwxr-xr-x. 17 root root 4096 Apr 29 11:38 cache drwxr-xr-x. 2 root root 4096 Nov crash drwxr-xr-x. 2 root root 4096 Oct cvs drwxr-xr-x. 3 root root 4096 Apr 29 11:28 db drwxr-xr-x. 3 root root 4096 Apr 29 11:25 empty drwxr-xr-x. 2 root root 4096 Nov games drwxrwx--t. 2 root gdm 4096 Nov gdm drwxr-xr-x. 46 root root 4096 Apr 30 02:17 lib drwxr-xr-x. 2 root root 4096 Nov local drwxrwxr-x. 6 root lock 4096 Sep 21 21:11 lock drwxr-xr-x. 14 root root 4096 Sep 21 21:11 log lrwxrwxrwx. 1 root root 10 Apr 29 11:10 mail -> spool/mail drwxr-xr-x. 2 root root 4096 Nov nis drwxr-xr-x. 2 root root 4096 Nov opt drwxr-xr-x. 2 root root 4096 Nov preserve drwxr-xr-x. 32 root root 4096 Sep 21 20:38 run drwxr-xr-x. 14 root root 4096 Apr 29 11:22 spool drwxrwxrwt. 3 root root 4096 Sep 11 10:52 tmp drwxr-xr-x. 6 root root 4096 Apr 29 11:21 www drwxr-xr-x. 3 root root 4096 Apr 29 11:21 yp Bazen uzun soluklu bir komutu çalıştırdığımızda, tamamlanmasını beklemeden sonlandırmak isteriz. Bu durumda Ctrl+C tuşlarına basmamız yeterli olur: [student@server1 /]$ sleep 10 (10 saniye sonra) [student@server1 /]$ sleep 10 ^C her seferinde tek bir komut çalıştırır. Bazen birden fazla komutu tek bir seferde verip, çalıştırılmasını isteriz. Bu durumda birden fazla komutu, komutlar arasına ; sembolü koyarak giriyoruz: [student@server1 /]$ cal ; date ; uname -rs July 1973 Su Mo Tu We Th Fr Sa S a y f a

9 Mon Sep 22 01:58:19 EEST 2014 Linux el6uek.x86_ Alt Her kullanıcı için bir varsayılan kabuk vardır. Bunu echo $SHELL komutu ile öğrenebiliriz: ~]$ echo $SHELL /bin/bash Bu örnekte varsayılan kabuğun Bash olduğunu anlıyoruz. Şu an kullanmakta olduğumuz kabuğu anlamak için ps komutunu çalıştırmamız yeterli olur: ~]$ ps PID TTY TIME CMD 3819 pts/0 00:00:00 bash 3843 pts/0 00:00:00 ps ps komutu açtığımız terminalde çalışan uygulamaların listesini verir. Tüm çalışan uygulamaların yani proseslerin listesini almak için ps -fe komutunu kullanıyoruz: Bu örnekte Bash kabuğu ile konuştuğumuzu anlıyoruz. (Şekil-2.1) 9 S a y f a

10 Şekil-2.1 Bash kabuğunun çalıştığı terminal penceresi Bir kabuktan diğerine geçiş yapmak mümkündür. Bunun için basitçe geçiş yapmak istediğimiz kabuğun komutunu çalıştırmak yeterli olur. Geçiş yaptığımız kabuğa alt kabuk adını veriyoruz. Şimdi önce Korn kabuğuna ardından C kabuğuna geçiş yapalım: [student@server1 ~]$ ksh $ ps PID TTY TIME CMD 3819 pts/0 00:00:00 bash 5746 pts/0 00:00:00 ksh 5747 pts/0 00:00:00 ps $ csh [student@server1 ~]$ ps PID TTY TIME CMD 3819 pts/0 00:00:00 bash 5746 pts/0 00:00:00 ksh 5749 pts/0 00:00:00 csh 5757 pts/0 00:00:00 ps Oluşan yapıyı Şekil-2.2 den izleyebilirsiniz. Tekrar üst kabuğa geri dönmek için ise exit komutu çalıştırılır: [student@server1 ~]$ exit $ ps PID TTY TIME CMD 3819 pts/0 00:00:00 bash 5746 pts/0 00:00:00 ksh 5801 pts/0 00:00:00 ps $ exit [student@server1 ~]$ ps PID TTY TIME CMD 3819 pts/0 00:00:00 bash 5802 pts/0 00:00:00 ps 10 S a y f a

11 bash exit ksh ksh exit csh csh Şekil-2.2 Alt kabuklar arası geçişler 2.5 Değişkenleri Alt kabuk kavramı özellikle çevre değişkenleri ile çalışırken önemlidir. İki tür çevre değişkeni bulunur: Yerel ve Global. Çevre değişkeni tanımlamak son derece kolaydır: ~]$ VAR1=deneme deneme Burada VAR1 değişkeni yerel bir değişkendir. Değişkenlerin değerlerini echo komutu ile öğrenebiliriz. echo komutu ile değişkeni adreslerken değişkeninin adının önüne $ sembolü koyuyoruz. Yerel değişken olduğu için bir alt kabukta çalışmaya başladığımızda değerine erişemiyoruz: [student@server1 ~]$ ksh $ echo $VAR1 $ exit deneme Değişkeni global yapmak için ise export komutunu kullanıyoruz: [student@server1 ~]$ export VAR1=deneme deneme [student@server1 ~]$ ksh $ echo $VAR1 deneme $ exit deneme Şimdi VAR1 değişkeni global bir değişkene dönüştüğünden Korn kabuğundan değerine ulaşabildik. 11 S a y f a

12 Yerel ve global değişkenler arasındaki farkı gösteren başka bir örneği aşağıda bulabilirsiniz. Bu örnek x değişkeninin yerel değişken olarak, name değişkeninin ise export komutu ile global değişken olarak tanımlandığına dikkat ediniz: [student@server1 ~]$ x=108 [student@server1 ~]$ name="john Locke" [student@server1 ~]$ echo $name $x John Locke 108 [student@server1 ~]$ export name [student@server1 ~]$ ksh $ print $x $ print $name John Locke $ exit [student@server1 ~]$ Korn alt kabuğunda name değişkenine erişebilirken x değişkenine erişemedik. export komutunun kullanımına ilişkin diğer detayları aşağıdaki örneği inceleyerek öğreneceğiz: [student@server1 ~]$ var=value [student@server1 ~]$ export var [student@server1 ~]$ var=value ; export var [student@server1 ~]$ export var=value [student@server1 ~]$ export x=108 y=549 z=4629 [student@server1 ~]$ echo $x 108 [student@server1 ~]$ echo $y 549 [student@server1 ~]$ echo $z 4629 ; ile birden fazla komutu tek bir seferde kabuğa geçirmemiz mümkündür: var=value ; export var Burada yapılan işlem export var=value ile yapılan işlemle aynıdır. export komutu ile bir kerede birden fazla değişken tanımlanabilir. değişkenlerine erişmek için daha yetenekli olan ${} gösterimi de kullanılmaktadır: [student@server1 ~]$ counter=1 [student@server1 ~]$ echo $counter 1 [student@server1 ~]$ echo ${counter} 1 ${} gösteriminin başka yetenekleri de vardır. Bu yetenekleri aşağıdaki örneklerde görmeye çalışalım: [student@server1 ~]$ var=x [student@server1 ~]$ echo ${var:-y} x [student@server1 ~]$ var= [student@server1 ~]$ echo ${var:-y} y [student@server1 ~]$ unset var [student@server1 ~]$ echo ${var:=y} 12 S a y f a

13 y ~]$ echo ${var:=z} y [student@server1 ~]$ echo $var y Burada ${var:-y} ile var değişkenin değeri yoksa y değerini kullanması isteniyor. Burada değişkenin değerinin değişmediğine dikkat edin. Eğer değişkeninin değerinin değişmesini istiyorsanız ${var:=y} gösterimini kullanmalısınız. Değişkenin değeri üzerinde + sembolü kullanılarak bitiştirme işlemi yapılabilir: [student@server1 ~]$ for f in > do > list=${list:+$list,}$f > done [student@server1 ~]$ echo $list 4,8,15,16,23,42 Değişken çift tırnak içinde kullanıldığında değişkeninin içeriğindeki görünmeyen karakterler ekrana basılır: [student@server1 ~]$ list="a b c d e f" [student@server1 ~]$ echo $list a b c d e f [student@server1 ~]$ echo "$list" a b c d e f 2.6 Betikleri Çok sık çalıştırdığımız kalabalık seçenekleri olan ya da karmaşık komutları betik dosyası oluşturarak komut satırından kolayca erişilebilir hale getirebiliriz. Bunun dışında periyodik olarak çalıştırılacak işlerimiz varsa, yine bu işleri, betik dosyası oluşturup örneğin crontab servisini kullanarak otomatik olarak çalıştırabiliriz. Benzer şekilde basit karmaşıklıktaki sistem seviyesindeki problemler için betik yazmayı tercih ederiz. Daha karmaşık problemler için Perl, Python gibi daha üst düzey dilleri kullanmayı tercih ederiz. Betik dosyaları oluşturulurken belirli bir kabuk tercih edilir ve çalıştırmasını istediğimiz kabuğu ilk satırda belirtiriz: #!/bin/sh set -- * files=$# set -- */ dirs=$# echo Dosya sayisi ($PWD): $files echo Katalog sayisi ($PWD): $dirs Yukarıdaki betiği first.sh dosyasında oluşturmuş olalım. Bu betiği çalıştırabilmek için çalışma yetkisi vermemiz gerekir: [student@server1 ~]$ chmod +x first.sh Artık çalıştırabiliriz: [student@server1 ~]$./first.sh Dosya sayisi (/home/student): S a y f a

14 Katalog sayisi(/home/student): 16 Betiği çalıştırmanın başka yolları da bulunmaktadır: a.. komutu ile çalıştırmak ~]$../first.sh Dosya sayisi (/home/student): 19 Katalog sayisi(/home/student): 16 b. source komutu ile çalıştırmak ~]$ source./first.sh Dosya sayisi (/home/student): 19 Katalog sayisi(/home/student): 16 c. betik dosyasının adını vererek çalıştırmak ~]$./first.sh Dosya sayisi (/home/student): 19 Katalog sayisi(/home/student): 16 d. komutu ile çalıştırmak ~]$ sh./first.sh Dosya sayisi (/home/student): 19 Katalog sayisi(/home/student): 16 a, b ve d de verilen yöntemlerde betik dosyasının çalışma izninin olmasına bakılmaz. a ve b yöntemlerinde betik mevcut kabuk tarafından çalıştırılır, ayrı bir proses yaratılmaz. c ve d de ise alt kabuk yaratılır ve betik bu alt kabuk tarafından çalıştırılır. Bu yüzden betik içinde tanımlana değişkenler export komutu ile tanımlanmış olsa bile, betik çalıştırılıp, kabuğa dönüldüğünde değişkene erişilemez: [student@server1 ~]$../second.sh deneme [student@server1 ~]$ unset VAR1 [student@server1 ~]$ source./second.sh deneme [student@server1 ~]$ unset VAR1 [student@server1 ~]$./second.sh [student@server1 ~]$ sh./second.sh [student@server1 ~]$ second.sh betiğinin içeriği aşağıdaki gibidir: #!/bin/sh export VAR1=deneme 14 S a y f a

15 2.7 Özel Değişkenleri la çalışırken kullanabileceğimiz özel değişkenler vardır. Şimdi bu değişkenlere bir göz atalım: $$ Çalışan prosesin proses kimlik numarasını verir ~]$ cat third.sh #!/bin/sh echo $$ ~]$ ps PID TTY TIME CMD 3819 pts/0 00:00:00 bash 9876 pts/0 00:00:00 ps ~]$ echo $$ 3819 ~]$./third.sh 9879 ~]$../third.sh 3819 ~]$ source./third.sh 3819 ~]$ sh./third.sh 9888 $? Son çalıştırılan prosesin exit değerini verir. Eğer sıfırsa işlem başarılı olmuştur. Sıfır dışındaki tüm değerler bir problemi işaret eder. Betiklerde hatalı durumları yakalamak için kullanılır. ~]$ ls /nodir ls: cannot access /nodir: No such file or directory ~]$ echo $? 2 [student@server1 ~]$ ls / bin dev lib media net proc selinux tmp boot etc lib64 misc opt root srv usr cgroup home lost+found mnt oradata sbin sys var [student@server1 ~]$ echo $? 0 [student@server1 ~]$ true ; echo $? 0 [student@server1 ~]$ false ; echo $? 1 $! Arka planda çalıştırılan prosesin kimlik numarasını öğrenmek için kullanılır. Aşağıdaki betik arka planda bir hesap makinası açar ve 10 saniye sonra bu hesap makinasını kapatır: 15 S a y f a

16 #!/bin/sh gcalctool & while true ; do pid=$! sleep 10 kill -9 $pid break done & # Değişkenin içeriğinin karakter uzunluğunu verir. [student@server1 ~]$ export var="hello Mars" [student@server1 ~]$ echo ${#var} 10 % Değişkenin içeriğinden sağdan ilk eşleşmeyi siler. %% Değişkenin içeriğinden sağdan ilk eşleşmeyi siler. # Değişkenin içeriğinden soldan ilk eşleşmeyi siler. ## Değişkenin içeriğinden soldan ilk eşleşmeyi siler. [student@server1 ~]$ var=/usr/local/bin/example [student@server1 ~]$ echo ${var%/*} /usr/local/bin [student@server1 ~]$ var=usr/local/bin/example [student@server1 ~]$ echo ${var%%/*} usr [student@server1 ~]$ var=usr/local/bin/example [student@server1 ~]$ echo ${var#*/} local/bin/example [student@server1 ~]$ var=usr/local/bin/example [student@server1 ~]$ echo ${var##*/} Example [student@server1 ~]$ export var=abcdef [student@server1 ~]$ echo ${var%${var#?}} a [student@server1 ~]$ echo ${var#${var%?}} f ${var//pattern/string} var değişkenindeki tüm PATTERN leri STRING ile değiştirir. [student@server1 ~]$ echo -e "${var}\n${var//?/~}" - ~~~~~~~~~~~~~~~ ${var:offset:length} var değişkeninde OFFSET ten itibaren LENGTH adet karakteri getirir [student@server1 ~]$ export var=abcdefgh [student@server1 ~]$ echo ${var:3:2} de 16 S a y f a

17 ~]$ echo ${var:3} defgh 2.8 Aritmetik İşlemler Korn kabuğu ile çalışırken değişkenler üzerinde aritmetiksel ve mantıksal işlemler yapabiliriz. Aritmetik işlemler için toplama, çıkarma, çarpma, bölme ve bölümden kalan operatörlerini kullanabiliriz. Bu operatörlerin listesini Tablo-2.1 de bulabilirsiniz: Operatör İşlem Örnek Sonuç + Toplama ((x = )) 49 - Çıkarma ((x = )) 75 * Çarpma ((x = 4 * 5)) 20 / Bölme ((x = 10 / 3)) 3 % Bölümden Kalan ((x = 10 % 3)) 1 Tablo-2.1 Aritmetik İşlemler Korn kabuğunda tüm aritmetik işlemler tamsayı aritmetiği olarak gerçekleştirilir. Kayan noktalı sayılar için bir çözüm bulunmaz. Kayan noktalı sayılar ile işlem yapmak için bc komutunu kullanıyoruz. bc komutu bilimsel hesaplamalar da olmak üzere her türlü karmaşıklıktaki hesaplamalar için istenilen hassasiyette hesaplama yapılmasına izin verir: [student@server1 ~]$ echo "scale=8; a(1)*4" bc -l [student@server1 ~]$ echo "scale=16; a(1)*4" bc -l [student@server1 ~]$ echo "scale=64; a(1)*4" bc -l [student@server1 ~]$ echo "scale=256; a(1)*4" bc -l \ \ \ S a y f a

18 Yukarıdaki örnekte PI sayısını istenilen basamak değerine kadar hesaplanabildiğini görüyoruz. Burada a(1), arctan trigonometrik fonksiyonunu göstermektedir. arctan(1) PI/4 dür. 2.9 Koşullu İfadeler Sonlanan her prosesin bir çıkış değeri bulunur. Bu değere göre prosesin başarılı olarak sonlanıp sonlanmadığı anlaşılabilir. 0 değeri işlemin başarıyla gerçekleştiğini gösterir. Sıfırdan her farklı değer işlemin başarısız olduğu anlamına gelir: [student@server1 /]$ if grep root /etc/passwd > then > echo "root bulundu." > fi root:x:0:0:root:/root:/bin/bash operator:x:11:0:operator:/root:/sbin/nologin root bulundu. ya da [student@server1 /]$ if grep root /etc/passwd > /dev/null > then > echo "root bulundu." > fi root bulundu. Bir betiği belirli bir sayıda parametre ile çalıştırmak gerekiyorsa, bunun testi aşağıdaki gibi yapılabilir: if (( $#!= 2 )) then print "KULLANIM: $0 arg1 arg2 " exit fi 2.10 Döngüler Döngü oluşturmak için birkaç yöntem bulunmaktadır. Bunlardan ilki for yapısını kullanmaktır: [student@server1 /]$ for meyve in elma portakal muz kavun karpuz > do > echo "Meyve: $meyve" > done Meyve: elma Meyve: portakal Meyve: muz Meyve: kavun Meyve: karpuz İkinci yöntem while yapısını kullanmaktır. while döngüsünde döngü koşulu doğru olana kadar döngü bloğu tekrar tekrar çalıştırılır. Aşağıdaki örnekte sayısal loto için 1-49 arasında biri birinden farklı altı sayı rastgele olarak belirlenmektedir: 18 S a y f a

19 #!/bin/ksh (( r = RANDOM % )) list="$r\n" for i in ; do while true ; do (( r = RANDOM % )) echo "$list" grep "^$r$" > /dev/null if (( $?!= 0 )) ; then break fi done list="$list\n$r" done list=$(echo "$list" sort -n) echo $list Üçüncü yöntem until yapısını kullanmaktır. until döngüsünde while döngüsünün tersine, test koşulu yanlış olduğu sürece döngü döner: #!/bin/ksh num=1 until (( num == 6 )) do echo "The value of num is: $num" (( num = num + 1 )) done print "Done." Dizi kullanan örnek bir döngü uygulamasını inceleyelim: #!/bin/ksh for i in ; do ((r= $RANDOM % )) numbers[$i]=$r done for j in ${numbers[*]} ; do echo $j done sort -n Bu örnekte, ilk for döngüsünde sayısal loto için 1-49 arasında altı sayı rastgele olarak belirlenmekte ve numbers isimli dizide saklanmaktadır. İkinci for döngüsünde ise numbers dizindeki değerler taranarak, sıralı olacak şekilde ekrana yazılmaktadır. Sıralama işlemi için sort komutundan yararlanılmıştır. sort komutunun sayısal değer olarak değerlendirmesi ve sıralaması için n seçeneği verilmiştir Fonksiyonlar Çok sık karşılaşılan problemlerin çözümünü fonksiyon olarak ayrı bir dosyada saklayabilirsek, aynı problemle tekrar karşılaştığımız betikte fonksiyonu çağırarak çözüme hızlıca ulaşabiliriz. Fonksiyonlar betiklerimizden ayrı dosyalarda bir dizinde 19 S a y f a

20 saklanırlar. Bu dosyaların çalıştırma yetkisine de sahip olması gerekmez. Kabuğa, fonksiyonların yer aldığı bu dosyaların dizinini, FPATH sistem değişkeni ile tanıtıyoruz: ~]$ mkdir fun ~]$ export FPATH=$HOME/fun Bu dizinde sadece fonksiyon dosyalarının olmasına dikkat etmelisiniz. Fonksiyon ismi ile dosya ismi aynı olmalıdır. Fonksiyonun genel yazımı aşağıdaki gibidir: function hello { print Merhaba $1 } Burada function anahtar kelimedir. Her fonksiyonun bir adı olmalıdır. Yukarıdaki örnekte fonksiyonun adı hello dur. Fonksiyonlar parametre alabilirler. Fonksiyonun aldığı parametrelere erişmek için $ sembolünden yararlanıyoruz. İlk parametreye ulaşmak için $1 i ikinci parametreye ulaşmak için ise $2 tanımlamasını kullanıyoruz. Dokuzuncu parametreden sonra kıvırcık parantez kullanılmalıdır. Örneğin onuncu parametre için ${10} gösterimi kullanılmalıdır. [student@server1 fun]$ pwd /home/student/fun [student@server1 fun]$ ls hello [student@server1 fun]$ cat hello function hello { print "Merhaba $1" } Şimdi hello isimli fonksiyonu kullanacağımız basit bir betik yazalım: [student@server1 ~]$ cat test_hello.ksh #!/bin/ksh lost[1]="jack Shephard" lost[2]="kate Austen" lost[3]="james Ford" IFS=, for name in ${lost[*]} do hello $name done [student@server1 ~]$./test_hello.ksh Merhaba Jack Shephard Merhaba Kate Austen Merhaba James Ford Yukarıdaki örnekte lost dizisine üç değer atadık. Bu nedenle döngü üç defa döndü ve hello fonksiyonu üç defa çalıştırıldı. 20 S a y f a

Linux'ta Kabuk ve Kabuk Programlama

Linux'ta Kabuk ve Kabuk Programlama 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ı

Detaylı

Linux Dosya ve Dizin Yapısı

Linux Dosya ve Dizin Yapısı Linux Dosya ve Dizin Yapısı Dosya ve Dizin Sistemi Linux te kök dizin (/) sembolü ile ifade edilir. Windowsta kök dizin C: ise Linux ta / sembolüdür. 1 Kök dizini (/) İşletim Sisteminin çalışabilmesi için

Detaylı

Temel Linux Eğitimi 1., 2. ve 3. Bölümler

Temel Linux Eğitimi 1., 2. ve 3. Bölümler Süha TUNA Bilişim Enstitüsü UHeM Yaz Çalıştayı - 11.06.2012 İçerik 1. Linux, Kavramlar ve Dizin Yapısı 2. Temel Linux Komutları 3. Sunucuya Uzaktan Bağlanma 1. Linux, Kavramlar ve Dizin Yapısı Linux Linux,

Detaylı

Linux işletim sistemlerinde dosya hiyerarşisinde en üstte bulunan dizindir. Diğer bütün dizinler kök dizinin altında bulunur.

Linux işletim sistemlerinde dosya hiyerarşisinde en üstte bulunan dizindir. Diğer bütün dizinler kök dizinin altında bulunur. Dosya Sistemi ve Çalışma Mantığı Dosya Sistemi Disk üzerindeki dosyaların düzenlenmesini ve bir işletim sisteminde dosyaların izlerinin bulunmasını sağlayan yapıya Dosya Sistemi (File System) denir. Linux

Detaylı

Linux ta komutlar hakkında yardım almak için aşağıdaki komutlar kullanılır : - man - info - whatis - apropos

Linux ta komutlar hakkında yardım almak için aşağıdaki komutlar kullanılır : - man - info - whatis - apropos Yardım Komutları Linux ta komutlar hakkında yardım almak için aşağıdaki komutlar kullanılır : - man - info - whatis - apropos Yardım Komutları man komut Parametre olarak aldığı komut hakkında bilgiyi ekranda

Detaylı

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

man komut man ls (ls komutu hakkında bilgi verir.) man pwd (pwd komutu hakkında bilgi verir.) Yardım Komutları man komut Parametre olarak aldığı komut hakkında bilgiyi ekranda gösterir. man ls (ls komutu hakkında bilgi verir.) man pwd (pwd komutu hakkında bilgi verir.) Komut çalıştırıldığında uzun

Detaylı

Kazanımlar. Linux nedir? Linux dizin yapısı. Linux kabuğu nedir? Temel kabuk komutları. Bash programlama. Dosya işlemleri. Süreç yönetimi.

Kazanımlar. Linux nedir? Linux dizin yapısı. Linux kabuğu nedir? Temel kabuk komutları. Bash programlama. Dosya işlemleri. Süreç yönetimi. Linux 101 Kazanımlar Linux nedir? Linux dizin yapısı Linux kabuğu nedir? Temel kabuk komutları Bash programlama Dosya işlemleri Süreç yönetimi Sıkıştırma Sistem hakkında bilgi edinme Kullanıcı yönetimi

Detaylı

16-18 Nisan 2012 Pazartesi-Çarsamba 9:30-12:30. Temel Linux Eğitimi. Süha TUNA. http://www.be.itu.edu.tr/egitimler/

16-18 Nisan 2012 Pazartesi-Çarsamba 9:30-12:30. Temel Linux Eğitimi. Süha TUNA. http://www.be.itu.edu.tr/egitimler/ 16-18 Nisan 2012 Pazartesi-Çarsamba 9:30-12:30 Temel Linux Eğitimi Süha TUNA http://www.be.itu.edu.tr/egitimler/ Bölüm 1 Linux İşletim Sistemi Linux Linux, UNIX benzeri, açık kaynak kodlu bir işletim sistemidir.

Detaylı

$ rm dosya1 dosya2 dosya3 dosya4 dosya5 dosya6 dosya7 dosya8

$ rm dosya1 dosya2 dosya3 dosya4 dosya5 dosya6 dosya7 dosya8 Joker karakterler Günlük Linux kullanımında çok defa bir operasyonu tek seferde birden fazla nesne için çalıştırmak isteyebileceğiniz (rm gibi) durumlarla karşılaşabilirsiniz. Böyle durumlarda, aşağıdaki

Detaylı

Kabuk Programlama (Bash)

Kabuk Programlama (Bash) Kabuk Programlama (Bash) Erkan Esmer Ocak, 2013 İçindekiler 1 Giriş.................................................... 2 2 Kabuk(Shell)............................................... 3 3 Çekirdek(Kernel).............................................

Detaylı

AÇIK KAYNAK İŞLETİM SİSTEMLERİ - BÖLÜM 1. Temel komutlar,dosya ve Dizin İşlemleri, Kullanıcı ve Grup İşlemleri

AÇIK KAYNAK İŞLETİM SİSTEMLERİ - BÖLÜM 1. Temel komutlar,dosya ve Dizin İşlemleri, Kullanıcı ve Grup İşlemleri AÇIK KAYNAK İŞLETİM SİSTEMLERİ - BÖLÜM 1 Temel komutlar,dosya ve Dizin İşlemleri, Kullanıcı ve Grup İşlemleri https://www.youtube.com/channel/uc3bcgwoodnxga3i7oqjipta www.ayazagan.com İçindekiler LİNUX

Detaylı

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

Bilgi ve İletişim Teknolojileri (JFM 102) Ders 7. LINUX OS (Sistem Yapısı) BİLGİ & İLETİŞİM TEKNOLOJİLERİ. LINUX Yapısı Ders 7 LINUX OS (Sistem Yapısı) BİLGİ & İLETİŞİM TEKNOLOJİLERİ 1 LINUX Yapısı LINUX işletim sisteminin diğer işletim sistemleri gibi kendine özgü bir yapısı vardır. LINUX yapısı ve bileşenleri aşağıdaki

Detaylı

LINUX YAPISI VE KOMUTLARI

LINUX YAPISI VE KOMUTLARI LINUX YAPISI VE KOMUTLARI Bazı Özellikleri: Unix, komutların ve dosya isimlerinin küçük/büyük harf olmalarına dikkat eder. mozilla ve Mozilla tamamen farklı komutlar olabilir. Sisteme giriş yaptığınız

Detaylı

CHAPTER 3. ZAMANLANMIŞ GÖREVLER (Automated Tasks)

CHAPTER 3. ZAMANLANMIŞ GÖREVLER (Automated Tasks) CHAPTER 3 ZAMANLANMIŞ GÖREVLER (Automated Tasks) 3.1 Zamanlanm ış Görevler Linux ta belirli aralıklarla yapılması gereken görevler, zamanı gelince otomatik olarak çalıştırılacak şekilde yapılandırılabilir.

Detaylı

LİNUX. Dosyalar ve dizinler

LİNUX. Dosyalar ve dizinler LİNUX Dosyalar ve dizinler Dosya sistemi Linux işletim sisteminde de dosya ve dizinler diğer Unix türevi işletim sistemlerinde olduğu gibi hiyerarşik yapıya sahiptir. En üst düzeyde olan kök dizini olarak

Detaylı

LABORATUVAR ÇALIŞMASI 1 - Python a Giriş

LABORATUVAR ÇALIŞMASI 1 - Python a Giriş LABORATUVAR ÇALIŞMASI 1 - Python a Giriş Bu Çalışmanın Amacı Bu çalışmadaki amacımız, kullandığımız sistem ve kullanım hedefimiz için en uygun olan Python sürümünü bilgisayarımıza yükleyerek bilgisayarımızı

Detaylı

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

Uzaktan Eğitim Uygulama ve Araştırma Merkezi JAVA PROGRAMLAMA Öğr. Gör. Utku SOBUTAY İÇERİK 2 Java Veri Tipleri ve Özelilkleri Değişken Tanımlama Kuralları Değişken Veri Tipi Değiştirme (Type Casting) Örnek Kodlar Java Veri Tipleri ve Özelilkleri

Detaylı

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

BİLGİ İŞLEM DERS 3. Yrd Doç Dr. Ferhat ÖZOK MSGSU FİZİK BÖLÜMÜ MSGSU FİZİK BÖLÜMÜ BİLGİ İŞLEM MSGSU FİZİK BÖLÜMÜ DERS 3 Yrd Doç Dr. Ferhat ÖZOK MSGSU FİZİK BÖLÜMÜ TEMEL LINUX KOMUTLARI Bütün işletim sistemlerinde grafik arayüz yardımı herhangi bir komut yazmadan işlemler gerçekleştirilebilir

Detaylı

Komutlar (Devam) ls -a > deneme (ls -a komutunun çıktısı deneme isimli. ls -a >> deneme (ls -a komutunun çıktısı deneme

Komutlar (Devam) ls -a > deneme (ls -a komutunun çıktısı deneme isimli. ls -a >> deneme (ls -a komutunun çıktısı deneme Komutlar (Devam) Komut satırında >, >> simgeleri özel anlam taşır. ls -a > deneme (ls -a komutunun çıktısı deneme isimli dosyaya yönlendirilir. Eğer dosya yoksa yaratılır, varsa da üzerine yazılır.) ls

Detaylı

PBS Betiği Hazırlama ve PBS Komutları. Feyza Eryol feyza@ulakbim.gov.tr

PBS Betiği Hazırlama ve PBS Komutları. Feyza Eryol feyza@ulakbim.gov.tr PBS Betiği Hazırlama ve PBS Komutları Feyza Eryol feyza@ulakbim.gov.tr İçerik TR-Grid Altyapısı PBS Betik Dili PBS Seçenekleri PBS Betiğinin Hazırlanması PBS Komutları Uygulamalar TR-Grid Altyapısı - I

Detaylı

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

Linux altında komut satırında... -Kabuk (Shell) Unix ve benzeri işletim sistemlerinde kullanıcının komut yazmasını sağlayan, bu komutları yorumlayarak gerekli işlemleri yapan programlara kabuk (shell) adı verilir. Linux da bir kullanıcı

Detaylı

Matematiksel Operatörler

Matematiksel Operatörler Matematiksel Operatörler Genel olarak matematiksel işlemlerde kullanılan operatörlerdir. Operatör Anlamı Açıklama ^ Üs Alma C^3 Matematikdeki üs operatörüdür. Verilen ilk sayının ikinci sayı kadar kuvvetini

Detaylı

Regular Expressions Version 0.1

Regular Expressions Version 0.1 Regular Expressions Version 0.1 Hüseyin Kaya hkaya@be.itu.edu.tr 2001 Özet Bu belge Linux and Unix Shell Programming adlı kitaptan faydalalınarak yazılmıştır. Kitabın yazarı David Tansley. İngilizce bilenler

Detaylı

Temel Linux Eğitimi. İçindekiler

Temel Linux Eğitimi. İçindekiler Temel Linux Eğitimi İçindekiler 1. Linux Topluluğu ve Açık Kaynak Sistemlerde Kariyer İmkanları...3 1.1 Linux tarihsel gelişim ve popüler İşletim Sistemleri...3...3...3...3 1.2 Ana Açık Kaynak Uygulamalar...3...3...3...3

Detaylı

3. DOSYA SİSTEMİ VE ÇALIŞMA MANTIĞI

3. DOSYA SİSTEMİ VE ÇALIŞMA MANTIĞI 3. DOSYA SİSTEMİ VE ÇALIŞMA MANTIĞI 3.1. Dosya Sistemi Dosya sistemi disk üzerindeki dosyaların organize edilmesidir. Bir işletim sisteminin bir disk veya bölümleri üzerindeki dosyalarının izlerini bulmak

Detaylı

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

BİLGİ İŞLEM DERS 1. Yrd Doç Dr. Ferhat ÖZOK MSGSU FİZİK BÖLÜMÜ MSGSU FİZİK BÖLÜMÜ BİLGİ İŞLEM MSGSU FİZİK BÖLÜMÜ DERS 1 Yrd Doç Dr. Ferhat ÖZOK MSGSU FİZİK BÖLÜMÜ İŞLETİM SİSTEMİ OS(Operating System) İşletim sistemi temel olarak, belli girdileri alıp derleyen ve sonuçları üreten program

Detaylı

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

GELİŞMİŞ DÜZEY BASH BETİK PROGRAMI GELİŞMİŞ DÜZEY BASH BETİK PROGRAMI Yazar: Mendel Cooper Telif Hakları "Gelişmiş Bash-Betikleme Kılavuzu" Mendel Cooper tarafından yazılmıştır, 2000 Her hakkı saklıdır. Bu belge sadece, Açık Yayın Lisansında

Detaylı

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

Bash ile Programlama. Cem Ahmet Mercan. Ulusal Yüksek Başarımlı Hesaplama Merkezi (UHeM) 13 Temmuz 2017 Bash ile Programlama Cem Ahmet Mercan Ulusal Yüksek Başarımlı Hesaplama Merkezi (UHeM) 13 Temmuz 2017 Neden, Niye, Ne gerek var? Python daha iyi! C daha hızlı! Java her yerde... 1) Zaten yapmayı bildiğimiz

Detaylı

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

Linux Dosya Yapısı. Eren BAŞTÜRK. Linux Dosya Yapısı Eren BAŞTÜRK basturkeren@gmail.com Giriş Kernel Derleme Ramdisk oluşturma /dev/shm Aygıtı Kabuk Programlama Dosya Türlerinin Sisteme Yüklenmesi Linux Dosya Yapısı Giriş Kernel Derleme

Detaylı

KABUK PROGRAMLAMA (shell programming- scripting)

KABUK PROGRAMLAMA (shell programming- scripting) KABUK PROGRAMLAMA (shell programming- scripting) 2 Kabuk Programlamaya Giriş Her kabuğun kendine özgü programlama dili yapısı vardır. Bash kabuğu ise güçlü programlama özellikleriyle karmaşık programların

Detaylı

*nix' lerde Etkin ve Pratik Arama Yöntemleri

*nix' lerde Etkin ve Pratik Arama Yöntemleri *nix' lerde Etkin ve Pratik Arama Yöntemleri /****************************************************************************** * Bâkır EMRE * * emre [at] enderunix [dot] org * * EnderUNIX Yazılım Geliştirme

Detaylı

Linux Dosya Yapısı. Eren BAŞTÜRK. basturkeren@gmail.com www.erenbasturk.com

Linux Dosya Yapısı. Eren BAŞTÜRK. basturkeren@gmail.com www.erenbasturk.com Linux Dosya Yapısı Eren BAŞTÜRK basturkeren@gmail.com www.erenbasturk.com Giriş Linux Dosya Yapısı Linux Dosya Sistemleri Ubuntu İşletim Sistemi Komut Satırında Linux Linux Dosya Yapısı Giriş Linux Dosya

Detaylı

Temel Linux Komutları

Temel Linux Komutları Yrd.Doç.Dr. Murat Olcay ÖZCAN Temel Linux Komutları Linux Komut Yapısı Örnek: > ls l /home/coldfish > cd /home/coldfish Yardım Komutları Linux ta komutlar hakkında yardım

Detaylı

Komut Penceresi ile Çalışmaya Başlamak

Komut Penceresi ile Çalışmaya Başlamak Komut Penceresi ile Çalışmaya Başlamak Gökhan SELAMET Terminal Penceresi / CLI Nasıl Açılır Standart Olarak Bilgisayar Adı Bulunduğu Dizin Kullanıcı Yetki Klasör Sistemi Terminalde çalışırken üç önemli

Detaylı

Bilgisayar Programlama MATLAB

Bilgisayar Programlama MATLAB What is a computer??? Bilgisayar Programlama MATLAB Prof. Dr. İrfan KAYMAZ What Konular is a computer??? MATLAB ortamının tanıtımı Matlab sistemi (ara yüzey tanıtımı) a) Geliştirme ortamı b) Komut penceresi

Detaylı

PHP, nesne-yönelimli (object-oriented) bir dil olduğu için, nesne oluşturma imkânına ve bunların kullanılmasını sağlayan metodlara da sahiptir.

PHP, nesne-yönelimli (object-oriented) bir dil olduğu için, nesne oluşturma imkânına ve bunların kullanılmasını sağlayan metodlara da sahiptir. PHP'nin Temelleri PHP Nedir? PHP, bir programlama dili olarak, değişkenler, değişkenlerin değerleriyle bir işlem yapmayı sağlayan işlemciler (operatörler), işlemcilerle oluşturulan deyimler ve nihayet

Detaylı

HSancak Nesne Tabanlı Programlama I Ders Notları

HSancak Nesne Tabanlı Programlama I Ders Notları DİZİLER Bellekte ard arda yer alan aynı türden nesneler kümesine dizi (array) denilir. Bir dizi içerisindeki bütün elemanlara aynı isimle ulaşılır. Yani dizideki bütün elemanların isimleri ortaktır. Elemanlar

Detaylı

C Konsol ve Komut Satırı

C Konsol ve Komut Satırı C Konsol ve Komut Satırı Öğr. Gör. M. Ozan AKI Rev 1.0 C:\> Konsol ekranı, işletim sistemi ve dosya yönetiminin metin tabanlı yönetilebilmesini sağlayan arabirimdir. Windows işletim sistemi ortaya çıkmadan

Detaylı

BİL-142 Bilgisayar Programlama II

BİL-142 Bilgisayar Programlama II BİL-142 Bilgisayar Programlama II (C/C++) Hazırlayan: M.Ali Akcayol Gazi Üniversitesi Bilgisayar Mühendisliği Bölümü Konular Giriş Sınıflar, Nesneler, Fonksiyon ve Veri Üyeleri Sınıf ve Fonksiyon Üyeleri

Detaylı

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

yazılabilir. Bundan sonra programın ismi yazılıp enter tuşuna basıldığı zaman bir program Linux komutuymuş gibi çalışacaktır. DERS 8: 7. Kabuk Programlamaya Giriş Her kabuğun kendine özgü programlama dili yapısı vardır. Bash kabuğu ise güçlü programlama özellikleriyle karmaşık programların rahatça yazılmasına izin verir. Mantıksal

Detaylı

Python Programlama Dili

Python Programlama Dili Python Programlama Dili 3. Python da Döngüler Bu bölümde iki tane döngüden bahsedeceğiz: while ve for döngüleri. Ayrıca bu bölümde döngüler dışında break ve continue deyimleri ile range() ve len() fonksiyonlarına

Detaylı

qmail ile üniversite mail sistemi yönetimi Devrim Sipahi Dokuz Eylül Üniversitesi devrim.sipahi@deu.edu.tr

qmail ile üniversite mail sistemi yönetimi Devrim Sipahi Dokuz Eylül Üniversitesi devrim.sipahi@deu.edu.tr qmail ile üniversite mail sistemi yönetimi Devrim Sipahi Dokuz Eylül Üniversitesi devrim.sipahi@deu.edu.tr Üniversitelerde kullanılan mail sisteminin iki belirgin özelliği vardır. 1. Çok sayıda kullanıcı

Detaylı

Bil101 Bilgisayar Yazılımı I. M. Erdem ÇORAPÇIOĞLU Bilgisayar Yüksek Mühendisi

Bil101 Bilgisayar Yazılımı I. M. Erdem ÇORAPÇIOĞLU Bilgisayar Yüksek Mühendisi Bil101 Bilgisayar Yazılımı I Bilgisayar Yüksek Mühendisi Editör Disk 1)Kaynak kodlar editör aracılığı ile oluşturulur. (.c) Kaynak dosya Önişleyici Disk 2)Önişleyici kodlar içerisindeki ilk işleme işini

Detaylı

Aşağıda listelenen temel linux komutları bilgisayarınızın komut satırında çalıtırılacaktır.

Aşağıda listelenen temel linux komutları bilgisayarınızın komut satırında çalıtırılacaktır. Genel amaçlı komutları Aşağıda listelenen temel linux komutları bilgisayarınızın komut satırında çalıtırılacaktır. help Kabuk komutlarının listesini gösterir. Bu komutların herbiri için help komut_ismi

Detaylı

C#(Sharp) Programlama Dili

C#(Sharp) Programlama Dili Değişkenler C#(Sharp) Programlama Dili Program yazarken her zaman sabit verilerle çalışmayız, çoğu zaman programımızda bir verinin kullanıcının davranışına göre değişmesi gerekir. Kullanıcıdan bir metin

Detaylı

PASCAL PROGRAMLAMA DİLİ YAPISI

PASCAL PROGRAMLAMA DİLİ YAPISI BÖLÜM 3 PASCAL PROGRAMLAMA DİLİ YAPISI 3.1. Giriş Bir Pascal programı en genel anlamda üç ayrı kısımdan oluşmuştur. Bu kısımlar bulunmaları gereken sıraya göre aşağıda verilmiştir. Program Başlığı; Tanımlama

Detaylı

BİLGİSAYAR PROGRAMLAMA DERSİ

BİLGİSAYAR PROGRAMLAMA DERSİ BİLGİSAYAR PROGRAMLAMA DERSİ 3. DERS NOTU Konu: MATLAB de Temel İşlemler Hazırlayan: Yrd. Doç. Dr. Ahmet DUMLU 1 MATLAB (Matrix Laboratory) sayısal hesaplama dilidir. MathWorks firması tarafından geliştirilmiş

Detaylı

Yrd. Doç. Dr. A. Burak İNNER

Yrd. Doç. Dr. A. Burak İNNER Yrd. Doç. Dr. A. Burak İNNER Kocaeli Üniversitesi Bilgisayar Mühendisliği Yapay Zeka ve Benzetim Sistemleri Ar-Ge Lab. http://yapbenzet.kocaeli.edu.tr Bu derste Li u e ko ut satırı ara üzü hakkı da ilgi

Detaylı

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?

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? Dosya/Dizin İzinleri 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 ait 3 tür izin vardır: - Dosya

Detaylı

Pardus ta Komutlarla Çalışmak

Pardus ta Komutlarla Çalışmak KONSOL KOMUTLARI Pardus ta Komutlarla Çalışmak Pardus üzerinde şu ana kadar tüm işlemlerimizi grafik ara yüz ile fare ve klavyeyi kullanarak gerçekleştirdik. Şimdiye kadar yaptığımız tüm işlemler ve daha

Detaylı

Excel Formüller ve Fonksiyonlar. Yusuf MANSUROĞLU Mühendislik Hizmetleri Müdür Yardımcısı 11.02.2015

Excel Formüller ve Fonksiyonlar. Yusuf MANSUROĞLU Mühendislik Hizmetleri Müdür Yardımcısı 11.02.2015 Excel Formüller ve Fonksiyonlar Yusuf MANSUROĞLU Mühendislik Hizmetleri Müdür Yardımcısı 11.02.2015 Excel de Yapabileceklerimiz Temel aritmetik işlemler (4 işlem) Mantıksal karşılaştırma işlemleri (>,>=,

Detaylı

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

Shell(Bash,sh, zsh,) Programming- Kabuk Programlama dostaki bat dosyasi gibi çalışabilir dosyalar oluşturma Linux altında hızlı ve pratik programlama yapmanın en kısa yolu shell(kabuk) programlamadır diyebiliriz. İşletim sisteminin doğal komutlarını çalıştırma

Detaylı

Değişkenler. Geçerli değişken isimleri : baslamazamani, ad_soyad, x5 Geçersiz değişken isimleri : 3x, while

Değişkenler. Geçerli değişken isimleri : baslamazamani, ad_soyad, x5 Geçersiz değişken isimleri : 3x, while Değişkenler Değişkenler bir bilginin bellekteki konumunu temsil eden sembolik isimlerdir. Bilgisayarda hemen hemen tüm işlemler bellekte yapılır. Program çalıştırıldığında değişken ve bu değişkenin türüne

Detaylı

OMÜ HAVACILIK VE UZAY BİLİMLERİ FAKÜLTESİ METEOROLOJİ MÜHENDİSLİĞİ BÖLÜMÜ MET103 BİLGİSAYAR PROGRAMLAMA I BÜTÜNLEME SINAVI

OMÜ HAVACILIK VE UZAY BİLİMLERİ FAKÜLTESİ METEOROLOJİ MÜHENDİSLİĞİ BÖLÜMÜ MET103 BİLGİSAYAR PROGRAMLAMA I BÜTÜNLEME SINAVI OMÜ HAVACILIK VE UZAY BİLİMLERİ FAKÜLTESİ METEOROLOJİ MÜHENDİSLİĞİ BÖLÜMÜ MET103 BİLGİSAYAR PROGRAMLAMA I BÜTÜNLEME SINAVI 23.01.2016 1. (6 puan) İnternetten, kod.txt isimli bir dosyayı Linux kurulu bir

Detaylı

2 ALGORİTMA VE AKIŞ DİYAGRAMLARI

2 ALGORİTMA VE AKIŞ DİYAGRAMLARI İÇİNDEKİLER IX İÇİNDEKİLER 1 GİRİŞ 1 Kitabın Amacı 1 Algoritmanın Önemi 2 Bilgisayarın Doğuşu ve Kullanım Amaçları 3 Programlama Dili Nedir? 3 Entegre Geliştirme Ortamı (IDE) Nedir? 4 2 ALGORİTMA VE AKIŞ

Detaylı

BİLGİSAYAR PROGRAMLAMA MATLAB

BİLGİSAYAR PROGRAMLAMA MATLAB BİLGİSAYAR PROGRAMLAMA MATLAB Arş. Gör. Ahmet ARDAHANLI Kafkas Üniversitesi Mühendislik Fakültesi Bu hafta? 1. Matlab ve Programlama Ortamı 2. Matlab Komut Penceresi 3. Matlab de değişken tanımlama 4.

Detaylı

Temel Li nux Eği t i mi 4. 5. 6. Böl üm

Temel Li nux Eği t i mi 4. 5. 6. Böl üm Temel Li nux Eği t i mi 4. 5. 6. Böl üm C. Ahmet MERCAN İ TÜ Bi l i şi m Enst i t üsü 11 Hazi r an 2012 Bölüm 4 Kullanıcılar, Haklar 3 Kullanıcılar Linux'ta her kullanıcının bazı temel özellikleri vardır:

Detaylı

Temel LINUX Komutları

Temel LINUX Komutları Ders 8 LINUX OS (Temel Komutlar) BİLGİ & İLETİŞİM TEKNOLOJİLERİ 1 Konsole kullanımı için birçok komut bulunmaktadır. Bunlardan bir kısmı betik (script) yazımında kullanılır. Burada gereksinim duyulan en

Detaylı

Yukarıdaki kod aksi belirtilmediği sürece sürekli çalışır. Yani ekrana sürekli Bilgisayar çıldırdı! yazısı gelir. Ancak;

Yukarıdaki kod aksi belirtilmediği sürece sürekli çalışır. Yani ekrana sürekli Bilgisayar çıldırdı! yazısı gelir. Ancak; break komutu: Döngüyü sonlandıran bir komuttur. Ör: while True: print("bilgisayar çıldırdı!") Çıktı: Sonsuz döngü Yukarıdaki kod aksi belirtilmediği sürece sürekli çalışır. Yani ekrana sürekli Bilgisayar

Detaylı

Özyineleme (Recursion)

Özyineleme (Recursion) C PROGRAMLAMA Özyineleme (Recursion) Bir fonksiyonun kendisini çağırarak çözüme gitmesine özyineleme (recursion), böyle çalışan fonksiyonlara da özyinelemeli (recursive) fonksiyonlar denilir. Özyineleme,

Detaylı

qmail ile üniversite mail sistemi yönetimi Devrim Sipahi Dokuz Eylül Üniversitesi devrim.sipahi@deu.edu.tr

qmail ile üniversite mail sistemi yönetimi Devrim Sipahi Dokuz Eylül Üniversitesi devrim.sipahi@deu.edu.tr qmail ile üniversite mail sistemi yönetimi Devrim Sipahi Dokuz Eylül Üniversitesi devrim.sipahi@deu.edu.tr Üniversitelerde kullanılan mail sisteminin iki belirgin özelliği vardır. 1. Çok sayıda kullanıcı

Detaylı

Kullanım şekli: cal <ay> <yıl> Bu komut ile takvim görüntülenebilir.

Kullanım şekli: cal <ay> <yıl> Bu komut ile takvim görüntülenebilir. 2 Sistem Komutları Kullanım şekli: cal Bu komut ile takvim görüntülenebilir. Ay ve yıl bilgisi belirtilmediğinde, sadece içinde bulunulan ayın takvimi görüntülenecektir. Sadece yıl bilgisi verilirse,

Detaylı

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

Çoktan Seçmeli Değerlendirme Soruları Akış Şemaları İle Algoritma Geliştirme Örnekleri Giriş 39 1.Gündelik Hayattan Algoritma Örnekleri 39 2.Say İÇİNDEKİLER 1. Bilgisayarın Yapısı Ve Programlama Dilleri Giriş 1 Bilgisayar ve Programlamanın Kısa Bir Tarihçesi 2 Donanım ve Yazılım Kavramları 3 Bilgisayarın Donanımsal yapısı 4 Giriş Birimi (Input

Detaylı

Linux Komutları. Temel Linux Komutları - Sed ve Awk, Kabuk Programlama - Bash / Csh, Süreç Otomasyonu - crontab vb.

Linux Komutları. Temel Linux Komutları - Sed ve Awk, Kabuk Programlama - Bash / Csh, Süreç Otomasyonu - crontab vb. Linux Komutları Temel Linux Komutları - Sed ve Awk, Kabuk Programlama - Bash / Csh, Süreç Otomasyonu - crontab vb. ls komutu ls [dizin] : Dizin içeriğini gösterir. Dizin verilmezse içinde bulunulan dizini

Detaylı

ÜNİTE 9 ÜNİTE 9 MICROSOFT EXCEL - II TEMEL BİLGİ TEKNOLOJİLERİ İÇİNDEKİLER HEDEFLER

ÜNİTE 9 ÜNİTE 9 MICROSOFT EXCEL - II TEMEL BİLGİ TEKNOLOJİLERİ İÇİNDEKİLER HEDEFLER ÜNİTE 9 MICROSOFT EXCEL - II BAYBURT ÜNİVERSİTESİ UZAKTAN EĞİTİM MERKEZİ İÇİNDEKİLER Çalışma sayfasına yeni nesneler eklemek Veriler ile ilgili işlemler Grafikler ler Sıralama Yapmak Filtreleme Yapmak

Detaylı

Bir üst dizinde yer alan prog1 programını çalıştırmak için aşağıdaki komutlardan hangisini çalıştırmak gerekir?

Bir üst dizinde yer alan prog1 programını çalıştırmak için aşağıdaki komutlardan hangisini çalıştırmak gerekir? LİNUX AĞ YÖNETİMİ VİZE HAZIRLIK SORULARI lsmod aşağıdaki hangi bilgiyi verir? A) Bütün yüklü modüller B) Bütün güncellenebilir modüller C) En son kullanılan modüller D) Bütün kaldırılmış modüller E) Bütün

Detaylı

Temel Bilgisayar Programlama Final Sınavı Çalışma Notları

Temel Bilgisayar Programlama Final Sınavı Çalışma Notları Diziler Temel Bilgisayar Programlama Final Sınavı Çalışma Notları (Dr. Övünç ÖZTÜRK, Dr. Tahir Emre KALAYCI) (İnşaat Mühendisliği ve Gıda Mühendisliği Grupları İçin) Diziler aynı türden bilgileri saklamak

Detaylı

BİLG Dr. Mustafa T. Babagil 1

BİLG Dr. Mustafa T. Babagil 1 BİLG214 20.10.2009 Dr. Mustafa T. Babagil 1 Yapısal bilgi türlerinin tanımlanması. (C++ daki struct yapısı. ) Daha önce öğrenmiş olduğumuz bilgi tipleri char, int ve float v.b. değişkenler ile dizi (array)

Detaylı

LİNUX. Dosyalar ve dizinler

LİNUX. Dosyalar ve dizinler LİNUX Dosyalar ve dizinler Dosya sistemi Linux işletim sisteminde de dosya ve dizinler diğer Unix türevi işletim sistemlerinde olduğu gibi hiyerarşik yapıya sahiptir. En üst düzeyde olan kök dizini olarak

Detaylı

Endüstri Mühendisliği Bölümü Bilgisayar Programlama Ders Notları

Endüstri Mühendisliği Bölümü Bilgisayar Programlama Ders Notları 8- Turbo Pascal Programlama İle Dosya İşlemleri Dosya işlemleri bilgisayar programlamada verilerin tekrar kullanılması açısından çok önemlidir. Yazılan bilgisayar programlarında elde edilen sonuçlar eğer

Detaylı

1.1. Yazılım Geliştirme Süreci

1.1. Yazılım Geliştirme Süreci Kazanımlar Bu bolümde; Yazılım geliştirme sureci konusunda bilgi sahibi olacak, Yazılım geliştirme surecinde gerekli olan araçları tanıyacak, Python dilinde program geliştirme ortamlarını inceleyebileceksiniz.

Detaylı

Diziler İndisli Değişkenler

Diziler İndisli Değişkenler Diziler İndisli Değişkenler Aynı tür bilgileri (öğrenci isimleri, şehir isimleri, kapı numaraları, fakülteler vbg.) bellekte tutmak için kullanabileceğimiz listelere dizi adı verilir. Dizi kullanmanın

Detaylı

WebInstaller. 1. Kurulum Đçin Gereksinimler

WebInstaller. 1. Kurulum Đçin Gereksinimler WebInstaller Ürün Grubu [X] Fusion@6 [X] Fusion@6 Standard Kategori [X] Yeni Fonksiyon Versiyon Önkoşulu @6 Uygulama E-Netsis.Net uygulamasının kurulumu Netsis\ENetsis.Net\Kurulum dizininde bulunan NetsisWebInstall.exe

Detaylı

SIMAN KULLANIM KILAVUZU

SIMAN KULLANIM KILAVUZU SIMAN KULLANIM KILAVUZU Önder Öndemir SIMAN Simülasyon programı Model Çatı ve Deneysel Çatı olmak üzere iki kısımdan oluşur. Model çatı genel itibariyle modullerin ve işlem bloklarının yazıldığı kısımdır.

Detaylı

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

Uzaktan Eğitim Uygulama ve Araştırma Merkezi JAVA PROGRAMLAMA Öğr. Gör. Utku SOBUTAY İÇERİK 2 Java da Kapsülleme (Erişim Denetleyiciler) Java da Sınıf Oluşturmak Java da Nesne Oluşturmak Java da Constructor Kavramı Java da This Kavramı Java da Constructor

Detaylı

Temel Linux Bilgileri Türk Standardları Enstitüsü Yazılım Test ve Belgelendirme Dairesi Başkanlığı

Temel Linux Bilgileri Türk Standardları Enstitüsü Yazılım Test ve Belgelendirme Dairesi Başkanlığı Temel Linux Bilgileri Türk Standardları Enstitüsü Yazılım Test ve Belgelendirme Dairesi Başkanlığı Tarih 1 Temel Linux Kullanımı Temel Komut Serisi-1 Linux Dosya Sistemi Linux Komut Serisi-2 Network Ayarları

Detaylı

FreeBSD Erişim Kontrol Listeleri

FreeBSD Erişim Kontrol Listeleri FreeBSD Erişim Kontrol Listeleri Unix dosya izinleri çok esnek ve nerdeyse bütün erişim problemlerini çözebiliyorlar.peki ya çözemedikleri?her dosyayı başka bir kullanıcı ile paylaşmak için yeni bir grup

Detaylı

İNTERNET PROGRAMCILIĞI DERSİ ÇALIŞMA SORULARI

İNTERNET PROGRAMCILIĞI DERSİ ÇALIŞMA SORULARI İNTERNET PROGRAMCILIĞI DERSİ ÇALIŞMA SORULARI 1) Aşağıdaki seçeneklerin hangisinde PHP kod yazımı doğru olarak verilmiştir? A) B) C).. D) 2) PHP ile hazırlanmış

Detaylı

Yrd. Doç. Dr. A. Burak İNNER

Yrd. Doç. Dr. A. Burak İNNER Yrd. Doç. Dr. A. Burak İNNER Kocaeli Üniversitesi Bilgisayar Mühendisliği Yapay Zeka ve Benzetim Sistemleri Ar-Ge Lab. http://yapbenzet.kocaeli.edu.tr Li u Ko ut Satırı Arayüzü(CLI), yüzlerce komutla çok

Detaylı

Pointer Kavramı. Veri Yapıları

Pointer Kavramı. Veri Yapıları Pointer Kavramı Veri Yapıları Pointer Kavramı- Pointer Nedir? Göstericiler, işaretçiler ya da pointer adı da verilmektedir. Gösterici (pointer); içerisinde bellek adresi tutan değişkenlerdir. Şu ana kadar

Detaylı

Microsoft Excel. Çalışma Alanı. Hızlı Erişim Çubuğu Sekmeler Başlık Formül Çubuğu. Ad Kutusu. Sütunlar. Satırlar. Hücre. Kaydırma Çubukları

Microsoft Excel. Çalışma Alanı. Hızlı Erişim Çubuğu Sekmeler Başlık Formül Çubuğu. Ad Kutusu. Sütunlar. Satırlar. Hücre. Kaydırma Çubukları Microsoft Excel Microsoft Excel yazılımı bir hesap tablosu programıdır. Excel, her türlü veriyi (özellikle sayısal verileri) tablolar ya da listeler halinde tutma ve bu verilerle ilgili ihtiyaç duyacağınız

Detaylı

Bölüm 10: PHP ile Veritabanı Uygulamaları

Bölüm 10: PHP ile Veritabanı Uygulamaları Bölüm 10: PHP ile Veritabanı Uygulamaları -231- Öğr.Gör. Serkan DİŞLİTAŞ 10.1. PHP PHP, platformdan bağımsız sunucu taraflı çalışan betik bir web programlama dilidir. PHP programlama dili ile MySQL, MSSQL,

Detaylı

R ile Programlamaya Giriş ve Uygulamalar

R ile Programlamaya Giriş ve Uygulamalar R ile Programlamaya Giriş ve Uygulamalar İçerik R ye genel bakış R dili R nedir, ne değildir? Neden R? Arayüz Çalışma alanı Yardım R ile çalışmak Paketler Veri okuma/yazma İşleme Grafik oluşturma Uygulamalar

Detaylı

Php İle Mysql Veritabanından Bilgi Çekme

Php İle Mysql Veritabanından Bilgi Çekme Mysql_fetch_assoc, mysql_fetch_row, mysql_fetch_object, mysql_fetch_array ve mysql_result metodları Uygulamada kullanacağımız veritabanı Veritabanı: kitaplik Tablo: kitaplar isbn adi yazari 944503382 Adım

Detaylı

Fen ve Mühendislik Uygulamaları ile MATLAB

Fen ve Mühendislik Uygulamaları ile MATLAB Fen ve Mühendislik Uygulamaları ile MATLAB Doç. Dr. M. Akif CEVİZ Atatürk Üniversitesi Mühendislik Fakültesi Makine Mühendisliği Bölümü M-Dosyaları Kontrol İfadeleri - İlişkisel ve Mantıksal Operatörler

Detaylı

Yukarıdaki örnekte görüldüğü üzere her php komut satırı noktalı virgül (;) ile biter.

Yukarıdaki örnekte görüldüğü üzere her php komut satırı noktalı virgül (;) ile biter. PHP Kod Yapısı Basit PHP Kod Yapısı PHP Scriptleri ile başlar ve ile biter. PHP Kodlarımız bu aralığa yazılır. Ayrıca çoğu sunucu

Detaylı

JAVASCRIPT JAVASCRIPT DİLİ

JAVASCRIPT JAVASCRIPT DİLİ JAVASCRIPT JAVASCRIPT DİLİ Netscape Navigator 2.0 ile birlikte geliştirilen JavaScript dili istemci taraflı (client-side) script dilidir. Web sayfalarında dinamik içerik sağlamak ya da kullanıcıyla iletişim

Detaylı

MTK467 Nesneye Yönelik Programlama. Hafta 4 - Döngüler Zümra Kavafoğlu https://zumrakavafoglu.github.io/

MTK467 Nesneye Yönelik Programlama. Hafta 4 - Döngüler Zümra Kavafoğlu https://zumrakavafoglu.github.io/ MTK467 Nesneye Yönelik Programlama Hafta 4 - Döngüler Zümra Kavafoğlu https://zumrakavafoglu.github.io/ while döngüsü while(koşul){ } döngü ifadeleri Koşul boolean değerli olmalıdır. Koşulun değeri true

Detaylı

ELN1001 BİLGİSAYAR PROGRAMLAMA I

ELN1001 BİLGİSAYAR PROGRAMLAMA I ELN1001 BİLGİSAYAR PROGRAMLAMA I DEPOLAMA SINIFLARI DEĞİŞKEN MENZİLLERİ YİNELEMELİ FONKSİYONLAR Depolama Sınıfları Tanıtıcılar için şu ana kadar görülmüş olan özellikler: Ad Tip Boyut Değer Bunlara ilave

Detaylı

İNTERNET PROGRAMCILIĞI - II

İNTERNET PROGRAMCILIĞI - II BÖLÜM 3 PHP İÇERİSİNDE DEĞİŞKENLERİN KULLANIMI Önce "değişken" ne demek onu tanımlamakla başlayalım. Değişken en basit tanımı ile bir verinin saklanmasında kullanılan hafıza alanıdır. PHP içerisinde bir

Detaylı

Veri Yapıları ve Algoritmalar

Veri Yapıları ve Algoritmalar 1 Ders Not Sistemi Vize : % 40 Final : % 60 Kaynaklar Kitap : Veri Yapıları ve Algoritma Temelleri Yazar: Dr. Sefer KURNAZ Internet Konularla ilgili web siteleri 2 Algoritma : «Belirli bir problemin çözümünde

Detaylı

Aynı tipten çok sayıda değişken topluluğudur. X Y Score1 Score2 (0) (1) (2)...

Aynı tipten çok sayıda değişken topluluğudur. X Y Score1 Score2 (0) (1) (2)... Array (Diziler) Array Aynı tipten çok sayıda değişken topluluğudur. Birden fazla aynı tipteki değerle işlem yapmayı kolaylaştırır. X Y Score1 Score2 40 56 Grade 40 56 80 (0) (1) (2)... (13) Array tanımlama:

Detaylı

1 NEDEN PROGRAMLAMA ÖĞRENMELIYIZ?

1 NEDEN PROGRAMLAMA ÖĞRENMELIYIZ? İÇİNDEKİLER VII İÇİNDEKİLER 1 NEDEN PROGRAMLAMA ÖĞRENMELIYIZ? 1 Neden Python? 3 Python Neden Bütün Hacker ların Favori Programlama Dili? 4 Hangi Editörü Kullanmalıyım? 5 Bu Kitabı Nasıl Kullanmayalıyım?

Detaylı

1. Excel Dönüşümü : 2. Rapor Master Tanımları :

1. Excel Dönüşümü : 2. Rapor Master Tanımları : Programın Amacı : Bu Program As/400 Sistemindeki herhangi bir veya birden fazla file ı kullanarak istenilen şekilde sorgulama yaparak elde edilen bilgileri Excel Formatında Pc deki istenilen bir yere kaydetmek.

Detaylı

Linux konsol uygulamaları ve BASH programlama

Linux konsol uygulamaları ve BASH programlama Linux konsol uygulamaları ve BASH programlama Aydın ÜSTÜN Selçuk Üniversitesi e-posta: austun@selcuk.edu.tr 04.07.2010 İçerik Giriş 1 Giriş Temel kavramlar SSH araçları 2 3 Editörler Bilim ve mühendislik

Detaylı

Öğr. Gör. Serkan AKSU http://www.serkanaksu.net. http://www.serkanaksu.net/ 1

Öğr. Gör. Serkan AKSU http://www.serkanaksu.net. http://www.serkanaksu.net/ 1 Öğr. Gör. Serkan AKSU http://www.serkanaksu.net http://www.serkanaksu.net/ 1 JavaScript JavaScript Nedir? Nestcape firması tarafından C dilinden esinlenerek yazılmış, Netscape Navigator 2.0 ile birlikte

Detaylı

Genel Programlama II

Genel Programlama II Genel Programlama II 22.03.2011 1 Yapılar ( Structures ) Yapılar ( structures ); tam sayı, karakter vb. veri tiplerini gruplayıp, tek bir çatı altında toplar. Bu gruplandırma içinde aynı ya da farklı veri

Detaylı

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

$ echo $PATH /sbin:/bin:/usr/sbin:/usr/bin:/usr/x11r6/bin: /usr/local/sbin:/usr/local/bin:/usr/games:. Dosyaları bulmak Linux sistemleri içlerinde yüzlerce dosya barındırmaktadır. Her ne kadar bu dosyaların yerlerini kaybetmeyecek kadar usta olsanız bile, büyük bir ihtimalle bir tanesini bulmak için ara

Detaylı

BİLGİSAYAR MÜHENDİSLİĞİ ALGORİTMA VE PROGRAMLAMA II 2.HAFTA SWİTCH (CASE), SAYAÇLAR, DÖNGÜLER,

BİLGİSAYAR MÜHENDİSLİĞİ ALGORİTMA VE PROGRAMLAMA II 2.HAFTA SWİTCH (CASE), SAYAÇLAR, DÖNGÜLER, BİLGİSAYAR MÜHENDİSLİĞİ ALGORİTMA VE PROGRAMLAMA II 2.HAFTA SWİTCH (CASE), SAYAÇLAR, DÖNGÜLER, C++ İÇİN UFAK HATIRLATMALAR Değişken adları bir harf ile başlamalıdır. (a-z, A-Z). Değişken adı numara içerebilir.

Detaylı

Linux un Tarihsel gelişimi

Linux un Tarihsel gelişimi Linux un Tarihsel gelişimi Unix, 1969 yılında, Ken Thompson ve Dennis Ritchie tarafından Bell Laboratuvarları'nda geliştirilmiş, çok kullanıcılı, çok görevli yapıyı destekleyen bir bilgisayar işletim sistemidir.

Detaylı