Professional Documents
Culture Documents
Linux
Linux
Kaya O§uz
1 Ksaca Linux
Linux, Unix
1 türevi bir i³letim sistemidir. Unix sistemleri yap ve i³leyi³
1.1 Kabuk
1
http://en.wikipedia.org/wiki/Unix
1
Yukarda görülen giri³ ekran sonras metinlerde kabuk bize gerekli bilgileri
veriyor. Kullanc admz kaya, makine ad koguz_310, bulundu§umuz
dizin ise, ~ karakteri ile gösterilen, herkesin ev dizinine i³aret eden dizin.
En sondaki $ i³areti ise kullanc türümüzün normal bir kullanc oldu§unu
gösteriyor. Unix türevi i³letim sistemlerinde sistem yöneticisi kullancsnn
ad roottur ve sistem üzerinde bütün de§i³iklikleri bu kullanc ile yaparz.
Ama root, günlük kullanm için tavsiye edilmez. Bunun nedeni root'un sistem
üzerindeki gücüdür, yanl³ bir i³lemle sistemi bozabiliriz. E§er sisteme root
ile girmi³ olsaydk, $ i³areti yerine # i³areti bizi bekliyor olacakt. Bu belge
içinde ve genelde bütün linux belgelerinde e§er komuttan önce # i³aretini
görürseniz, bu komutu root olarak çal³trmanz gerekti§ine bir i³arettir.
1.2 Path
2
Komut Açklama
Linux dosya sistemi, sabit disk ve DVD sürücülere verilen harf sisteminden
farkldr. Bütün dosya sistemi kök dizin içine ba§lanr. Kök dizin '/' ile gös-
terilir.
kaya@koguz_310 ~ $ cd /
kaya@koguz_310 / $ ls
bin dev home media opt root sys usr
boot etc lib mnt proc sbin tmp var
Yukarda da görüldü§ü gibi kök dizin içinde birçok dizin vardr. Bunlarn
önemli olanlarna ksaca de§inelim. bin dizininde çal³trlabilir dosyalar olur.
Örne§in yukardaki ls komutu bu dizinde yer alr. home dizini kullanclarn
ev dizinlerinin bulundu§u dizindir. etc sistem ayar dosyalarnn bulundu§u
dizindir. mnt ve media sabit disk ve CD/DVD sürücülerin, USB Flash bellek-
lerin ba§land§ dizindir. Genelde bu dizin içinde aygtn ad altnda bir dizin
olu³turulur ve aygt bu dizine ba§lanr. Böylece dosya sisteminin bir parças
3
Okuma Yazma Çal³trma
Kullanc + + -
Grup + - -
Di§erleri + - -
olur. usr, Windows'taki Program Files gibi sistemi kurulu olan programlar,
belgeleri ve dosyalar içerir.
Linux'ta her dosyann bir sahibi vardr. Yine her dosyann okuma, yazma ve
çal³trma izinleri vardr. Bütün bunlar bir araya gelince, bir dosyann sahibi,
sahibinin dahil oldu§u kullanc grubu ve geri kalanlar olmak üzere üç farkl
kullanc tipi için üç farkl izin (okuma, yazma, çal³trma) haklar olur.
Tablo 2'de bir dosya için örnek izinler gösterilmi³tir. Burada dosyann okuma
izni herkes için vardr. Yazma izni ise sadece kullancya aittir. Çal³trma izni
ise hiçbir kullanc için yoktur. Dosya izinlerini belirlemek için chmod komu-
tunu kullanrz. Bu komut izinleri belirlemek için 3 basamakl bir say alr.
Örne§in chmod 644 dosya komutu ile yukardaki tablodaki sonucu elde ede-
biliriz. Buradaki rakamlardan ilki (6) kullancy göstermektedir, ikincisi (4)
grubu, üçüncüsü de di§erlerini. Bu de§erleri elde etmek için okuma, yazma
ve çal³trma izinleri için belirlenen saylar topluyoruz. Okuma izni için 4,
yazma için 2, çal³trma içinse 1 kullanyoruz. Bu durumda, kullancnn izin-
leri olan okuma ve yazma için 4+2 i³lemi ile 6 elde ediyoruz. Grup ve di§er-
lerinin sadece okuma izinleri oldu§u için onlar sadece 4 de§eri ile kalyorlar.
E§er hiçbir izin vermeyeceksek 0 kullanabiliriz; örne§in 700 okuma, yazma
ve çal³trma izinlerini sadece kullancya verir. Di§er kullanclar bu dosyay
okuyamazlar, de§i³iklik yapamazlar ve de§i³tiremezler.
Baz i³lemler için ister istemez root olmanz gerekecekir. Bu belgenin de-
vamnda bunlara de§inece§iz. Bu i³lem için, her ³eyden önce root parolasn
bilmeniz gerekmektedir. Kabukta i³lerinizi yaparken bir an için root olmanz
gerekirse, kabuktan çkp tekrar root ile giri³ yapmak yerine o kabuk içinde
su komutu ile root olabilirsiniz. su komutu sizden root parolasn isteyecek,
arkasndan kabukta # i³areti belirecektir. Bu durumda verece§iniz komut-
larda çok dikkatli olmalsnz. ³iniz bitti§inde exit komutu ile root olmaktan
çkabilirsiniz.
4
1.6 Pipe
Pipe i³lemi, | i³areti ile bir komut çktsn ba³ka bir komuta yönlendirmeye
(piping) denir. Örne§in, ls komutu verdi§inizde ekran çok fazla doluyor ve
rahat görüntüleyemiyorsanz bunu dosya görüntüleyici less komutuna yön-
lendirebilirsiniz: ls | less. Yönlendirdi§iniz bu çkt içinde, less sayesinde,
arama yapabilir, yukar ve a³a§ gezinebilirsiniz. E§er çktda bir ³ey ar-
yorsanz grep komutuna yönlendirebilirsiniz. Bu komut ile çktda arad§nz
ifadeyi içeren satrlar görebilirsiniz. Örne§in, çal³an i³lemleri gösteren ps
aux komutu çktsnda, arad§mz programn adn yazarak ilgili satrlar
görebiliriz; ps aux | grep calisanDosya.
Herhangi bir komutun çktsn bir dosyaya > i³areti ile aktarabilirsiniz. Ör-
ne§in, ls > dosyaAdi derseniz, ls komutunun çkts dosyaAdi denen dosyaya
yazlr.
2 A§ Komutlar
Son zamanlarda bir a§a ba§lanrken genelde ba§lanlan a§dan bir IP ad-
resi ve di§er bilgiler istenir. Ama bu i³lemleri elimizle yapmak istersek bu
bölümün devamnda anlatlan kablolu ve kablosuz ba§lant komutlarn in-
celeyebilirsiniz.
Linuxta a§ aygtlar genelde eth ifadesi ile ba³lar. lk ethernet kart eth0,
varsa di§er ethernet kartlar eth1, eth2 ³eklinde devam eder. A§ kartlarnn
durumunu görmek için ifcong komutunu verebilirsiniz. Normal kullanc
olarak a§ kartlarnn ayarlar üzerinde de§i³iklik yapamazsnz. Bu i³lem için
root olmanz gerekmektedir.
5
Bir ethernet kartn etkisiz hale getirmek için ifcong eth0 down, tekrar etkin
hale getirmek için ifcong eth0 up komutunu verebilirsiniz. Bu i³lemler daha
önceki ayarlarnz silebilir.
E§er ba³ka bir bilgisayar üzerinden internete çkacaksanz route komutu ile
öntanml gateway ayarlayabilirsiniz. route tek ba³na yönlendirme tablosunu
basar. Paketlerin yönlenmesini istedi§iniz makinenin IP'sinin 192.168.1.50
oldu§unu dü³ünerek, route add default gw 192.168.1.50 komutu ile paketlerin
bu makine üzerinden gitmesini sa§layabilirsiniz.
Ayarlar yaptktan sonra sistemi test etmek için genelde ping komutu kullan-
lr. Bu komut belirtilen adrese küçük paketler gönderir ve ondan ayn ³ekilde
cevap ister. Ba§lantnn çal³t§n, internet ba§lantsnn kontrol edilmesi
için kullanlr. Kullanm, test edilmek istenen IP adresi ile ping 192.168.1.2
³eklindedir.
Daha önce belirtti§imiz /etc dizinindeki baz dosyalar a§ ile ilgili ayarlar
tutar. Bunlardan ilki /etc/hosts dosyasdr. Burada IP adresini bildi§imiz
makinelere isim verebiliriz. Bu dosyada 127.0.0.1 genelde localhost olarak
hazr tanmldr. A§daki di§er bilgisayarlar buraya eklerseniz, IP adresleri
yerine bu isimleri kullanabilirsiniz.
SSH, uzaktaki bir makineye ba§lanmanz sa§lar. Linux üzerinde ssh istem-
cisi ile birlikte gelir. Ba§lanmak için ssh 10.0.50.18 -l kullanici komutunu
6
verebilirsiniz. Buradaki IP adresi yerine ba§lanaca§nz adresin bir ad varsa
(mesela ssh.google.com gibi) onu da yazabilirsiniz. -l parametresi giri³ için
kullanaca§nz kullanc adn belirlemenizi sa§lar. Sisteme giri³ yaptktan
sonra, kabuk i³lemlerini istedi§iniz ³ekilde kullanabilirsiniz.
vi, (vi-ay, vay), Emacs ile birlikte Linux altndaki en ünlü dosya düzenleyici-
lerden biridir. Ne yazk ki bu belge bu düzenleyici tantmak için fazla küçük-
tür. Baz dosyalar düzenlemeniz gerekti§inde sistemde sadece vi olabilir. Bu
durumda belge içinde gezinip, düzenleme yapp, kaydedip çkma kadar i³inizi
görecek bir anlatm olacak bu. vi'da iki tane durum vardr, biri düzenleme
durumu, di§eri de komut durumu. vi ilk ba³lad§nda komut durumunda sizi
bekleyecektir. Böylece açt§nz dosyay düzenleyemeyebilirsiniz. Düzenleme
durumuna geçmek için i (insert) ya da a (append) tu³larndan birine basa-
bilirsiniz. Düzenlemeniz bitince, Esc tu³u ile komut durumuna geçebilirsiniz.
Bu durumda iken :w yazp Enter'a basarsanz dosyanz kaydedilecektir. Kay-
dedip çkmak için :wq (write and quit), yapt§nz de§i³iklikleri kaydetmeden
çkmak için :q! komutlarn verebilirsiniz. E§er ba³langçta bir dosya ad ver-
mediyseniz kaydetme i³lemini :w dosyaadi ³eklinde kullanabilirsiniz. Daha
fazla bilgi ve bu düzenleyiciyi ö§renmek için :help komutu verebilirsiniz.
Bu iki düzenleyici de benzer olduklar için onlar tek bir ba³lk altna aldm.
nano dosya düzenleme ve kaydetme i³lemlerini ekrann altndaki ksayollarla
gösterir. Bu ksayollarda ^ i³areti Ctrl tu³unu gösterir.
3.3.1 passwd
7
3.3.2 pwd
3.3.4 echo
Ekrana bir satr metin basmaya yarar. echo merhaba dünya komutu ile
ekran bu ifadeyi yazdrabilirsiniz.
3.3.6 alias
df, disk free, du ise disk usage anlamna gelir. kisini de disk üzerinde kalan
ve/veya kullanlan yerleri görebilmek için kullanabilirsiniz. kisi için de -
h parametresi kalan yerleri daha rahat okunacak ³ekilde biçimlendirir. du
komutu için içinde bulundu§unuz dizini verebilirsiniz: du -h .
3.3.8 tar
Linux altnda dosyalar genelde tar.gz olarak sk³trlr. Bir tar.gz dosyasn
açabilmek için tar -xzf dosya.tar.gz komutunu verebilirsiniz. Bir dizini sk³-
trmak için tar -czf dizin.tar.gz dizinAdi/ komutunu verebilirsiniz.
8
3.3.9 kill, killall
kill ve killall i³lemleri durdurmanza, son vermenize yardmc olur. kill kul-
land§nzda i³lem id'sini, killall kulland§nzda da i³lem adn vermeniz ge-
reklidir. ³lem id'lerini görebilmek için ps aux komutunu kullanabilirsiniz.
Örne§in, 9932 numaral i³lemi öldürmek için kill -KILL 9932 verebilirsiniz.
E§er uygulama adn biliyorsanz killall -KILL uygulamaAdi komutu i³inizi
görecektir. Burada -KILL i³leme gönderilen bir sinyaldir. Di§er sinyalleri kill
-l parametresi ile görebilirsiniz.
3.3.10 ln
Linux, elbette burada bitmiyor. Daha fazlasn ö§renmek ve daha çok kullan-
mak için internette ksa bir arama yapmanz yeterli olacaktr. A³a§da baz
ba³langç noktalar verilmi³tir.
• http://www.belgeler.org/
• http://www.linux.org/lessons/
• http://www.tldp.org/
• http://comp.ieu.edu.tr/bimeko/web/linuxKomutlari.pdf