Vous êtes sur la page 1sur 22

Giriş

Temel linux komutları


Akademik uygulamalar

Linux konsol uygulamaları ve BASH programlama

Aydın ÜSTÜN
Selçuk Üniversitesi
e-posta: austun@selcuk.edu.tr

04.07.2010

Aydın ÜSTÜN (Selçuk Üniversitesi) Linux konsol ve bash (v.04.07.10)


Giriş
Temel linux komutları
Akademik uygulamalar

İçerik

1 Giriş
Temel kavramlar
SSH araçları

2 Temel linux komutları


Kabuk uygulamalarına giriş
Temel linux komutları
Awk

3 Akademik uygulamalar
Editörler
Bilim ve mühendislik uygulamaları
Yerel uygulamalar

Aydın ÜSTÜN (Selçuk Üniversitesi) Linux konsol ve bash (v.04.07.10)


Giriş
Temel kavramlar
Temel linux komutları
SSH araçları
Akademik uygulamalar

Tanımlar

Linux Linux çekirdeğine dayalı Unix benzeri işletim sistemine verilen


genel ad
Linux sunucu Linux kullanıcılarına (ya da genel olarak istemcilere)
dosya, yazıcı paylaşımı, veritabanı, DNS, web, ftp vb. hizmetleri
sunması amacıyla özel olarak tasarlanmış donamım ve yazılım sistemi
SSH (Secure SHell) Güvenli kabuk anlamına gelir. telnet, rlogin
gibi ağ üzerindeki uzak bir sunucuya bir başka bilgisayardan erişim
olanağı sağlar
BASH (Bourne Again SHell) Özgür yazılım projesi (GNU)
kapsamında hazırlanmış bir Unix kabuğudur. Kısaca komut satırı
yorumlayıcısı olarak tanımlanabilir.
Betik (Script) Bir veya birden fazla uygulamayı çalıştıran,
sonuçlarını denetleyen ve belli çıkışlara yönlendiren program

Aydın ÜSTÜN (Selçuk Üniversitesi) Linux konsol ve bash (v.04.07.10)


Giriş
Temel kavramlar
Temel linux komutları
SSH araçları
Akademik uygulamalar

PuTTY: Özgür SSH/Telnet istemcisi

Aydın ÜSTÜN (Selçuk Üniversitesi) Linux konsol ve bash (v.04.07.10)


Giriş
Temel kavramlar
Temel linux komutları
SSH araçları
Akademik uygulamalar

PuTTY: Özgür SSH/Telnet istemcisi

Aydın ÜSTÜN (Selçuk Üniversitesi) Linux konsol ve bash (v.04.07.10)


Giriş
Temel kavramlar
Temel linux komutları
SSH araçları
Akademik uygulamalar

SSH Secure Shell Transfer

Aydın ÜSTÜN (Selçuk Üniversitesi) Linux konsol ve bash (v.04.07.10)


Giriş
Temel kavramlar
Temel linux komutları
SSH araçları
Akademik uygulamalar

SSH Secure Shell Transfer

Aydın ÜSTÜN (Selçuk Üniversitesi) Linux konsol ve bash (v.04.07.10)


Giriş Kabuk uygulamalarına giriş
Temel linux komutları Temel linux komutları
Akademik uygulamalar Awk

Kullanıcılar ve sunucuya erişim


Linux kullanıcıları yönetici tarafından belirlenmiş (veya uygun
görülmüş) kullanıcı adı ve şifre yardımıyla sisteme giriş yapabilirler
login as : aydin
aydin@193 .255.245.202 ’ s password :
aydin@galileo :~ $

Bu şekilde sisteme giriş yapan kullanıcı, kendisi için diskte ayrılmış


ev dizininde (/home/username) kabuk uygulamalarını çalıştırabilir
Sisteme ilk girişten sonra güvenlik için kullanıcının passwd
komutuyla şifresini değiştirmesi önerilir. Şifreler en az 8 karakter ve
sayı-harf kombinasyonuyla oluşturulmalıdır
aydin@galileo :~ $ passwd
Changing password for aydin
( current ) UNIX password :
Enter new UNIX password :
Retype new UNIX password :
passwd : password updated successfully
aydin@galileo :~ $

Kabuktan çıkış ve SSH bağlantının kesilmesi için exit komutunun


yazılması yeterlidir
Aydın ÜSTÜN (Selçuk Üniversitesi) Linux konsol ve bash (v.04.07.10)
Giriş Kabuk uygulamalarına giriş
Temel linux komutları Temel linux komutları
Akademik uygulamalar Awk

Komut satırı ve komut çalıştırma

Komut satırı kabuk uygulamalarının çalıştırıldığı ve kabuk istemi işareti $


ile başlayan satırdır
aydin@galileo :~ $

Kabuk uygulamaları kabuk istemi işaretinden hemen sonra yazılan komut


ile çalıştırılır. İsteğe bağlı olarak bir komutu seçenekler ve argümanlar
izler. Aşağıda geçerli veya belirtilen bir dizin içerisindeki dosyaları
listeleyen ls komutunun üç değişik çalıştırılma biçimi gösterilmektedir.
aydin@galileo :~ $ ls
Mail cptlib geosoft journals . xls
aydin@galileo :~ $ ls -l
total 23208
drwx ------ 2 aydin aydin 4096 Mar 19 16:06 Mail
drwxr - xr -x 2 aydin aydin 4096 Mar 19 16:02 cptlib
drwxr - xr -x 5 aydin aydin 4096 Mar 19 16:06 geosoft
-rw -r -- r -- 1 aydin aydin 137728 Mar 19 16:09 journals . xls
aydin@galileo :~ $ ls -l cptlib
total 8
-rw -r -- r -- 1 aydin aydin 329 Mar 19 16:02 DEM_poster . cpt
-rw -r -- r -- 1 aydin aydin 2579 Mar 19 16:02 cd -d . cpt
aydin@galileo :~ $

Aydın ÜSTÜN (Selçuk Üniversitesi) Linux konsol ve bash (v.04.07.10)


Giriş Kabuk uygulamalarına giriş
Temel linux komutları Temel linux komutları
Akademik uygulamalar Awk

Kabuk işaretleri ve bilinmesi gerekenler


İşaret Görevi
komut ←֓ Komut satırını çalıştırır
; Aynı komut satırında komutları birbirinden bağımsız çalıştırır
&& Aynı komut satırında komutları birbirine bağımlı çalıştırır
~ Kullanıcının ev dizinine karşılık gelir
| Bir komutun standart çıktısını diğer komuta girdi olarak gönderir
> Standart çıktıyı bir dosyaya veya aygıta yönlendirir
< Bir dosya veya aygıttan gelen girdiyi komuta yönlendirir
>> Standart çıktıyı bir dosyaya veya aygıtın sonuna yönledirir
* Dosya adları içindeki herhangi bir karakter sınıfıyla eşleşir
? Dosya adları içindeki herhangi bir karakter ile eşleşir
[] Dosya adları içindeki olası bir karakter sınıfıyla eşleşir

Önemli
Kabuk işlemlerinde büyük-küçük harf ayrımı vardır
Komut, dosya ve dizin isimlerinde boşluk, yıldız ve Türkçe
harflerden mutlaka kaçınılmalıdır
Aydın ÜSTÜN (Selçuk Üniversitesi) Linux konsol ve bash (v.04.07.10)
Giriş Kabuk uygulamalarına giriş
Temel linux komutları Temel linux komutları
Akademik uygulamalar Awk

Dizin değiştirme komutları


Neredeyim?
aydin@galileo :~ $ pwd
/ home / aydin

Bulunduğum dizinin altındaki bir başka dizine gitmek istiyorum


aydin@galileo :~ $ cd cptlib
aydin@galileo :~/ cptlib$

Aynı işlemi mutlak konum tanımlayarak da yapabilirim


aydin@galileo :~ $ cd / home / aydin / cptlib
aydin@galileo :~/ cptlib$

Bir üst dizine çıkmak istiyorum


aydin@galileo :~/ cptlib$ cd ..
aydin@galileo :~ $

Doğrudan başlangıç ev dizinime gitmek istiyorum


aydin@galileo :~/ texsablon / SUsem$ cd ~
aydin@galileo :~ $

Aydın ÜSTÜN (Selçuk Üniversitesi) Linux konsol ve bash (v.04.07.10)


Giriş Kabuk uygulamalarına giriş
Temel linux komutları Temel linux komutları
Akademik uygulamalar Awk

Dizin-dosya oluşturma, kopyalama, taşıma ve silme


Geçerli dizinde dizin1 adında yeni bir dizin oluşturalım
aydin@galileo :~ $ mkdir dizin1

Dosya ve dizin (alt dizinleriyle birlikte) kopyalama


aydin@galileo :~ $ cp jeosoft / src / matris . cpp dizin1 /
aydin@galileo :~ $ cp -r jeosoft / inc / .

veya taşıma (. geçerli dizin anlamındadır)


aydin@galileo :~ $ mv jeosoft / src / matris . cpp dizin1 /
aydin@galileo :~ $ mv -r jeosoft / inc / .

Sembolik bağ oluşturma


aydin@galileo :~ $ ln -s ~/ jeosoft / inc / matris . h
aydin@galileo :~ $ ls -l
lrwxrwxrwx 1 aydin aydin 20 Jul 2 16:29 matris . h -> jeosoft / inc / matris . h

Bir veya birden fazla dosyayı (eşleştirme işaretleri kullanarak) silmek için
aydin@galileo :~ $ rm sil . dat abc *. txt

İçi boş bir dizini silmek için rmdir, belirtilen bir dizini alt dizinleriyle
birlikte silmek için rm -r dizinadi
aydin@galileo :~ $ rmdir dizin1 /
aydin@galileo :~ $ rm -r dizin2 /

rm komutunu kullanırken iki kez düşünülmelidir. Çoğu zaman silinenlerin geri getirilmesi şansı yoktur.

Aydın ÜSTÜN (Selçuk Üniversitesi) Linux konsol ve bash (v.04.07.10)


Giriş Kabuk uygulamalarına giriş
Temel linux komutları Temel linux komutları
Akademik uygulamalar Awk

Yardım ve bazı bilgi edinme komutları


Komut Açıklaması ve örneği
help Kabuk komutlarının listesini verir
man komut Komut hakkında sisteme kayıtlı kullanım kılavuzudur. Çıkış için q
date Sistem tarih ve zamanını verir
$ date
Fri Jul 2 20:20:50 EEST 2010
du -sm Geçerli dizinin MB cinsinden diskte ne kadar yer kapladığını verir
$ du -s
12768 .
history Son girilen komutların listesini verir
hostname Bilgisayarın konak adını verir
$ hostname
galileo
who Sistemde o an çalışan kullanıcılar hakkında bilgi verir
$ who
aydin pts/0 2010-07-02 20:23 (195.174.24.109)
uname -a Sistem hakkında bilgi verir
$ uname -a
Linux galileo 2.6.18-5-amd64 #1 SMP Tue Dec 18 21:39:26 UTC 2007 x86 64 GNU/Linux

Aydın ÜSTÜN (Selçuk Üniversitesi) Linux konsol ve bash (v.04.07.10)


Giriş Kabuk uygulamalarına giriş
Temel linux komutları Temel linux komutları
Akademik uygulamalar Awk

Dosyalarla çalışma (bilgi alma)


Komut Açıklaması ve örneği
file dosya Dosya hakkında bilgi verir
$ file linux.tex
linux.tex: LaTeX 2e document text
identify dosya Resim dosyaları hakkında bilgi verir
$ identify putty.png
putty.png PNG 456x436 456x436+0+0 DirectClass 35
more dosya Dosya içeriğini sayfa sayfa gösterir. Çıkış için q
less dosya İçeriğe daha detaylı bakış. Çıkış için q
cat dosya İçeriği standart çıktıya (ekrana) döker
head dosya İlk 10 satırını ekrana döker
tail dosya Son 10 satırını ekrana döker
cut -c M-N dosya Her satırda M’den ve N’ye (dahil) kadar olan karakterleri e
grep -e harita dosya İçeriğinde harita kelimesi geçen satırları ekrana döker
grep -v harita dosya İçeriğinde harita kelimesi geçmeyen satırları ekrana döker
sort dosya Satırları alfabetik olarak sıralar
sort -nr dosya Satırları sayısal olarak sıralar
wc dosya Satır, kelime ve karakter sayısını verir
wc -l dosya Satır sayısını verir
Aydın ÜSTÜN (Selçuk Üniversitesi) Linux konsol ve bash (v.04.07.10)
Giriş Kabuk uygulamalarına giriş
Temel linux komutları Temel linux komutları
Akademik uygulamalar Awk

Dosyalarla çalışma (arama ve sıkıştırma)


Komut Açıklaması ve örneği
locate dosya Veritabanında “dosya” kelimesi geçen kayıtlar aranır
find Belirtilen dizin ve alt dizinlerinde doğrudan arama. Örnekler
$ find . -print | grep tex
$ find / -name tex
$ find / -name tex 2> /dev/null
$ find / -name tex* 2> /dev/null
zip zip biçiminde sıkıştırma (alt dizinleri de kapsaması için -r)
$ zip -r dosya.zip dizin/
unzip zip biçimini açma
$ unzip dosya.zip
tar Unix/Linux sistemlerinin en bilindik sıkıştırma (ve açma) aracı
c sıkıştır, x aç, t gözat (sadece biri)
z tar.gz biçiminde açma, sıkıştırma ve göz atma
j tar.bz2 biçiminde açma, sıkıştırma ve göz atma
$ tar -cvf dosya.tar dizin/
$ tar -czvf dosya.tar.gz dizin/
$ tar -cjvf dosya.tar.bz2 dizin/
$ tar -xzvf dosya.tar.gz
Aydın ÜSTÜN (Selçuk Üniversitesi) Linux konsol ve bash (v.04.07.10)
Giriş Kabuk uygulamalarına giriş
Temel linux komutları Temel linux komutları
Akademik uygulamalar Awk

Ağ araçları
ftp dosya transfer protokolü. Sunucu adı, kullanıcı ve şifre gerektirir
aydin@galileo :~ $ ftp atlas . selcuk . edu . tr
Connected to atlas . selcuk . edu . tr .
220 Microsoft FTP Service
Name ( atlas . selcuk . edu . tr : aydin ): austun
331 Password required for austun .
Password :
230 User austun logged in .
Remote system type is Windows_NT .
ftp > quit
221

wget http/ftp üzerinden dosya indirme aracı


aydin@galileo :~ $ wget -q ftp :// ftp . ulakbim . gov . tr / ssh / SSHSecureShellClient -3.2.9. e
aydin@galileo :~ $ ls SSH *
SSHSecureShellClient -3.2.9. exe

ssh güvenli kabuk bağlantısı. Sunucu adı, kullanıcı ve şifre gerektirir


aydin@aydin - laptop :~ $ ssh aydin@193 .255.245.202
aydin@193 .255.245.202 ’ s password :
aydin@galileo :~ $

lynx interaktif web ve dosya tarayıcısı


aydin@aydin - laptop :~ $ lynx ftp :// ftp . ulakbim . gov . tr
aydin@galileo :~ $

Aydın ÜSTÜN (Selçuk Üniversitesi) Linux konsol ve bash (v.04.07.10)


Giriş Kabuk uygulamalarına giriş
Temel linux komutları Temel linux komutları
Akademik uygulamalar Awk

Çıktı yönlendirme (>, >>, | örnekleri)


pics dizin listesini dosyaya yönlendirelim ve ilk üç satırını ekrana dökelim
aydin@galileo :~ $ ls -l pics > liste
aydin@galileo :~ $ head -n 3 liste
total 5316
-rw -r -- r -- 1 aydin aydin 55789 2010 -03 -19 16:06 austun . tif
-rw -r -- r -- 1 aydin aydin 2501377 2010 -03 -19 16:06 selcuk - logo . eps

Bir önceki dosyanın sonuna, kaç satır bulunduğu bilgisini ekleyelim ve son
iki satırı ekrana dökelim
aydin@galileo :~ $ wc -l liste >> liste
aydin@galileo :~ $ tail -n 2 liste
-rw -r -- r -- 1 aydin aydin 240 2010 -03 -19 16:06 selcuk - unive risty . tex
7 liste

liste isimli dosyanın çıktısını grep komutuna girdi olarak gönderelim ve


içinde “.tif” geçen satır(lar)ı bulalım
aydin@galileo :~ $ cat liste | grep . tif
-rw -r -- r -- 1 aydin aydin 55789 2010 -03 -19 16:06 austun . tif

pics isimli dizindeki uzantısı “eps” olan dosyaları bulalım


aydin@galileo :~ $ ls pics /*. eps
pics / selcuk - logo . eps pics / selcuk - logol . eps

sonuçların yan yana değil alt alta verilmesini istiyorsak


aydin@galileo :~ $ ls pics /*. eps | tr ’ ’ ’\n ’
pics / selcuk - logo . eps
pics / selcuk - logol . eps

Aydın ÜSTÜN (Selçuk Üniversitesi) Linux konsol ve bash (v.04.07.10)


Giriş Kabuk uygulamalarına giriş
Temel linux komutları Temel linux komutları
Akademik uygulamalar Awk

Awk ile veri işleme


Kabuk uygulamalarıyla elde edilen sonuçların bazı durumlarda satır satır
taranarak başka biçimlere dönüştürülmesi (işlenmesi) istenir. Sütunlar halinde
birbirinden ayrılmış verilerin işlenmesinde awk güçlü bir yorumlayıcıdır ve
genellikle tek satırda yazılan komut bu iş için yeterli olur.
İçinde son deprem bilgilerinin yer aldığı bir dosyadan ilk iki satır
aydin@galileo :~ $ cat deprem . dat | head -n 2
2010.07.02 23:30:23 38.8477 27.9203 5.4 2.6 -.- -.- AKHISAR
2010.07.02 19:28:15 40.0053 36.4622 5.0 2.6 -.- -.- CAMLIBE L

Boşluk karakteri ile birbirinden ayrılmış 9 sütundan 3, 4 ve 9. sütun


aydin@galileo :~ $ cat deprem . dat | awk ’{ print $3 , $4 , $9 }’ | head -n 2
38.8477 27.9203 AKHISAR
40.0053 36.4622 CAMLIBEL

Şiddeti 3’den fazla ($6>3) olanların yeri ve zamanı


aydin@galileo :~ $ awk ’{ if ($6 >3) print $1 , $2 , $3 , $4 , $9 }’ d eprem . dat
2010.07.01 10:52:45 40.6273 34.9480 CORUM
2010.07.01 08:03:53 38.4522 39.1315 GOZELI - SIVRICE

Konum bilgisini karşı enlem ve boylam olarak iki basamaklı gösterelim


aydin@galileo :~ $ awk ’{ printf ("%.2 f %.2 f % -20 s\ n " ,90 - $3 , $4 , $9 )} ’ deprem . dat
49.37 34.95 CORUM
51.55 39.13 GOZELI - SIVRICE

Aydın ÜSTÜN (Selçuk Üniversitesi) Linux konsol ve bash (v.04.07.10)


Giriş Editörler
Temel linux komutları Bilim ve mühendislik uygulamaları
Akademik uygulamalar Yerel uygulamalar

Editörler

Editör
Editör metin dosyalarının oluşturulması, düzenlenmesi ve dosya sisteminde kaydedilmesi
işini yapan programdır. Her işletim sistemin temel bilşenlerinden biridir. Metin
editörleriyle veri, konfigrasyon ve kaynak kodları içeren dosyalar düzenlenir. Kullanımı:
aydin@galileo :~ $ editoradi [ secenekler ] dosya_adi

Editör adı Açıklaması ve kullanımı


nano Linux’a yeni başlayanların kullanabileceği en uygun editör
Ctrl tuşlarını kullanır (çıkış ctrl+X)
Kişisel (kullanıcıya özgü) ayarlar için
$ cp /etc/nanorc ~/.nanorc
$ nano ~/.nanorc renklendirmeyi düzenleyebilirsiniz
mcedit Midnight Commander’in editörüdür. Her sistemde olmayabilir.
Menu tuşlarını kullanır (çıkış F10 veya esc+0)
vim Unix/Linux kullanıcılarının gözde editörü
Türkçe yardım http://tr.pardus-wiki.org/Vim adresinden
alabilirsiniz veya $ vimtutor diyerek interaktif bir eğitime
hemen başlayabilirsiniz

Aydın ÜSTÜN (Selçuk Üniversitesi) Linux konsol ve bash (v.04.07.10)


Giriş Editörler
Temel linux komutları Bilim ve mühendislik uygulamaları
Akademik uygulamalar Yerel uygulamalar

Uygulama geliştirme ve bilimsel hesaplama

g++ kendi yazdığınız c/c++ kaynak kodlarınızı derlemenizi sağlar.


Aşağıdaki kodu deneme.c dosyasına yazalım
aydin@galileo :~ $ nano deneme . c
# include < stdio .h >
int main ()
{
printf (" Merhaba Dunya \ n ");
return 0;
}
aydin@galileo :~ $ g ++ deneme . c -o deneme
aydin@galileo :~ $ ls deneme *
deneme deneme .c
aydin@galileo :~ $ ./ deneme
Merhaba Dunya

octave matlab benzeri hesaplayıcı ve geliştirme ortamı


aydin@galileo :~ $ octave
octave :1 > format long
octave :2 > a =6387137; f =1/298.257222101
f = 0.003352810681 18 23 2
octave :3 > b = a *(1 - f)
b = 6356752.3141403 6
octave :4 > exit

Aydın ÜSTÜN (Selçuk Üniversitesi) Linux konsol ve bash (v.04.07.10)


Giriş Editörler
Temel linux komutları Bilim ve mühendislik uygulamaları
Akademik uygulamalar Yerel uygulamalar

galileo’da jeodezi-kartografya uygulamaları

Komut Açıklaması ve kullanımı


ell2gkr Elipsoidal koordinatlardan Gauss-Kruger koordinatlara
ell2xyz Elipsoidal koordinatlardan global kartezyen koordinatlara
gkr2ell Gauss-Kruger koordinatlardan elipsoidal koordinatlara
geodesic Elipsoit yüzeyinde 2. temel ödev çözümü (Vincenty’ye göre)
hgt2xyz SRTM hgt dosyasından boylam, enlem ve yük. (jeoitten) bilgisine
harm2hgt GGM katsayılarından gravite alanı ve yükseklik sistemlerine
harm2und GGM katsayılarından jeoit yüksekliği, çekülsapması bileşenlerine
meanstd Bir dizinin istatistiksel özelliklerini verir
nmea2gga GPS NMEA mesajından navigasyon bilgisine
nmea2kml GPS NMEA mesajından kml (Google Earth) biçimine
sph2xyz Yermerkezli küresel koordinatlardan kartezyen koordinatlara
srtmhgt Enlem ve boylam bilgisi bilinen bir nokta için SRTM yuksekliği
xyz2ell Global kartezyen koordinatlardan elipsoidal koordinatlara
xyz2sph Global kartezyen koordinatlardan yermerkezli küresel koordinatlara
Komutların kullanımı hakkında bilgi almak için
$ komut -h

Aydın ÜSTÜN (Selçuk Üniversitesi) Linux konsol ve bash (v.04.07.10)


Giriş Editörler
Temel linux komutları Bilim ve mühendislik uygulamaları
Akademik uygulamalar Yerel uygulamalar

Son

Teşekkürler...
Sorular???

Aydın ÜSTÜN (Selçuk Üniversitesi) Linux konsol ve bash (v.04.07.10)

Vous aimerez peut-être aussi