LINUX

Linux'a Giriş

1. Giris

Linux, ucuz kisisel bilgisayarlar için yazilan, Unix'in serbestçe dagitilabilen bir gerçeklestirimidir (386 larda gelistirilmistir
ve simdi 486, 586, Pentium, Sun Sparc ve DEC Alpha donanimini da desteklemektedir). X Windows, Emacs, TCP/IP ag olusturumu (SLIP
dahil) ve birçok uygulamayi desteklemektedir.

2. Baslamadan Önce

Linux'u kurmadan önce, makinenizin Linux için yeterli olup olmadigini bilmeniz ve uygun bir Linux seçmeniz gereklidir.

3. Donanim gereksinimleri

Intel sürümleri için, suna benzer bir donanim yapilanisi gereklidir:Herhangi bir ISA, EISA, VESA yerel yol ya da PCI 80386, 80486, Pentium ya da P-6 sistem yeterlidir.386SX'ten P-6'ya kadar herhangi bir mikroislemci yeterlidir. Matematik yardimci islemcisine gereksiniminiz yok, ama bulunmasi iyidir.En az 4 megabayt ana bellege ihtiyaciniz var. Teknik olarak Linux, 2 megabayt ana bellek ile de çalisir, fakat çogu yazilim ve kurulumlar 4 megabayt ana bellek gerektirmektedir. Ne kadar çok hafiza olursa o kadar rahat olursunuz. X-Windows kullanmayi düsünüyorsaniz 8 ya da 16 megabayt hafiza tavsiye edilir.

Sabit diskinizde Linux için ayrilmis bir yere ihtiyaciniz olacak.Ayrilan yerin büyüklügü ne kadar yazilim yükleyeceginize bagli. Çogu
kurulumlarda 40 ile 80 megabayt arasi yere ihtiyaç duyulur. Bu; yazilim için,aL Ver alani (sanal RAM) için ve kullanicilara gerekli alani
kapsar.10 megabayt ya da daha az bir alan ayirarak Linux çalistirmaniz olasi oldugu gibi, 500 megabayt ya da daha fazla alan da ayirabilirsiniz. Bu alan ne kadar yazilim yükleyeceginize ve ne kadar alana ihtiyaciniz olduguna bagli olarak degisir.

4.KuruLum (genel)

Rawrite komutunu kullanarak boot disketleri olusturabilirsiniz.Yani bi $ekilde boot disketi olusturduktan sonra boLumleme yani harddiskde linux ve dos icin olan alanlari duzenleme isi gelir.Ornek:

ilk olarak "p" komutu ile su anki paylastirma tablosunu görüntüleriz.
Gördügünüz gibi /dev/hda1 (/dev/hda 'daki ilk bellek bölümü) 61693
blokluk bir DOS bellek bölümüdür.

Command (m for help): p
Disk /dev/hda: 16 heads, 38 sectors, 683 cylinders
Units = cylinders of 608 * 512 bytes

Device Boot Begin Start End Blocks Id System
/dev/hda1 * 1 1 203 61693 6 DOS 16-bit >=32M

Command (m for help):

Daha sonra yeni bir bellek bölümü yaratmak için "n" komutunu
kullaniriz. Linux kök bellek bölümü 80 megabayt olacak.

Command (m for help): n
Command action
e extended
p primary partition (1-4)
p

Burada bize sorulan genisletilmis mi yoksa ana bellek bölümü mü
yaratmak istedigimizdir. Birçok durumda, sürücü basina dört bellek
bölümünden fazlasini istemiyorsaniz ana bellek bölümlerini
kullanirsiniz. Daha fazla bilgi için daha önceki "Tekrar paylastirma"
bölümüne bakin.

Partition number (1-4): 2
First cylinder (204-683): 204
Last cylinder or +size or +sizeM or +sizeK (204-683): +80M

ilk silindir, son bellek bölümünün biraktigi yerden sonraki silindir
olmalidir. Buradaki durumda /dev/hda1 203. silindirde bitti ve yeni
bir bellek bölümünü 204. silindirden baslayarak yaratacagiz.

Gördügünüz gibi "+80M" gibi bir gösterim kullanirsak, bu 80
megabaytlik bir alani belirtir. Buna benzer olarak "+80K" da 80
kilobaytlik bir bellek bölümünü ve de "+80" de 80 baytlik bir bellek
bölümünü gosterir
Warning: Linux cannot currently use 33090 sectors of this partition

Bu uyari mesajini görürseniz, dikkate almaniz gerekmez. Bu, Linux
dosya sistemlerinin sadece 64 megabayt olabildigi zamandan kalma bir
mesajdir. Yeni dosya sistemi çesitleri ile böyle bir durum söz konusu
degildir... bellek bölümleri simdi 4 terabayt'a kadar olabilir.

Daha sonra /dev/hda3 adindaki 10 megabaytlik getir-götür bellek
bölümünü yaratiyoruz.

Command (m for help): n
Command action
e extended
p primary partition (1-4)
p

Partition number (1-4): 3
First cylinder (474-683): 474
Last cylinder or +size or +sizeM or +sizeK (474-683): +10M

Tekrar paylastirma tablosunun içerigini gösteriyoruz. Buradaki
bilgileri, özellikle de her bellek bölümünün blok olarak boyutunu
bir kenara yaziniz. Bu bilgilere daha sonra ihtiyaciniz olacak.

Command (m for help): p
Disk /dev/hda: 16 heads, 38 sectors, 683 cylinders
Units = cylinders of 608 * 512 bytes

Device Boot Begin Start End Blocks Id System
/dev/hda1 * 1 1 203 61693 6 DOS 16-bit >=32M
/dev/hda2 204 204 473 82080 83 Linux native
/dev/hda3 474 474 507 10336 83 Linux native

Linux getir-götür bellek bölümünün (burada /dev/hda3) "Linux native"
(Linux yerel) tipinde olduguna dikkat edin. Getir-götür bellek
bölümünün tipini kurma programinin dogru algilamasi için "Linux swap"
(Linux getir-götür) olarak degistirmemiz gerekmektedir. Bunu yapmak
için fdisk'in "t" komutunu kullaniyoruz.

Command (m for help): t
Partition number (1-4): 3
Hex code (type L to list codes): 82

Eger tip kodlarinin bir listesini görmek için "L" komutunu kullanirsaniz, 82'nin Linux getir-götür bellek bölümüne ait oldugunu göreceksiniz.
Fdisk'ten çikmak ve de paylastirma tablosundaki degisiklikleri korumak için "w" komutunu kullaniniz. Fdisk'ten degisiklikleri korumadan
çikmak için "q" komutunu kullaniniz.Fdisk'ten çiktiktan sonra, makinenizi yeniden baslatmaniz ve degisikliklerin etkili olup, olmadigini kontrol etmeniz istenebilir.Genelde fdisk kullandiktan sonra sistemi yeniden baslatmaya gerek yoktur. Fdisk ve cfdisk'in modern sürümleri, sistemi yaniden baslatmaya gerek duymadan bellek bölümlerini güncelleyebilirler.

Temel Komutlar

A.1-) Dosyalarin listesini nasil elde edebilirim ?

ls komutu ile.
ls (secenekler) (dosya veya dizin...)
Secenekler:
-C : Goruntu cok kolonlu ve dosya isimleri azalan sirada olacaktir.
-F : Dosya isimleri sonunda * dizin isimleri sonunda / isaretleri goruntulenerek birbirinden ayirt edilmelerini saglar.
-R : Belirlenen bir dizin icindeki dosylar yanisira varsa tum alt dizinler icerikleriyle birlikte listeler.
-a : . ile baslayan dosyalar dahil dizinin tum icerigini listeler.
-c: Dosyalari siralamak veya bastirmak amaciyla i-dugumlerinin en son duzletme tarihlerini kullanir.
-l : Dosyalar hakkinda daha ayrintili bilgi verir.
-g : Eger ayrintili liste aliniyorsa yani tum bilgiler listelenecek ise ve bu listede doyanin sahibinin grup adiyla birlikte yer almasi isteniyorsa bu secenek kullanilir.
-i : Her dosyayi idugumleri ile birlikte goruntuler.
-m : Dosya isismleri virgullerle birbirinden ayrilarak listelenir.
-n : Ayrintili listede yer alan ID numaralarini listeler.
-o : Ayrintili listeye grup adlarinin dahil edilmesini saglar.
-p : Dizinlerin / isaretiyle simgelenmesini saglar.
-q : Dosya isimleri icinde ? gibi grafik olmayan karakterler varsa bunla rin listelenmesine yardimci olurlar.
-r : Siralamayi ters yonden yapar.
-s : Blok cinsinden dosyalarin boyutunu verir.
-t : Dosyalarin degisime ugrama zamanlarina gore siralanmasini saglar.
-u : Dosyalara en son erisim zamanlarina gore siralanmasini saglar.
Ornek :
ls -l kursun*
--w-rw--w- 1 e065247 B386 603 Oct 24 22:14 kursun.tar.gz
--w-rw--w- 1 e065247 B386 607 Oct 24 22:23 kursun.html

A.2-) Bir dosyayi baska bir yere yada isme nasil kopyalayabilirim ?

cp komutu ile .
Kullanimi :
cp -[secenek] dosya baskabir_dosya_ismi
Ornek :
cp kursun.html s.html // kursun.html'i s.html'e kopyalar.
cp s.html ~/tmp // s.html'i HOME dizinimdeki /tmp dizininin altina kopyalar
cp -r ~/tmp ~/dump // HOME dizindeki tmp dizinini dump dizininin altina kopyalar.

A.3-) Nasil dizin olusturabilirim, ve silebilirim ?

mkdir dizin_ismi // dizin olusturur
rmdir dizin_ismi // ici bos olan bir dizini siler.

A.4-) Dosyalari yada dizinleri baska biryere nasil tasiyabilirim ?

mv komutu ile dosyalari baska bir dizine, hatta dizinleri baska dizinlere tasiyabilirsiniz. Bu islemin sonunda orjinal dizini'in icindeki dosyalarin isimlerinde bir degisiklik olmaz. Mv komutu DOS'taki rename ve move komutuna benzer, ancak onlardan cok daha beceriklidir.

Kullanimi :
mv dosya1 dosya2

A.5-) Dosyalari nasil silebilirim ?

Unix'te dosyalari silmek icin rm komutu kullanilir. Aslinda rm'nin yaptigi sey dosyanin sahip oldugu linklerden birini cikarmaktir. Eger dosyanin sadece bir link'i varsa sonucta dosya silinir.

DIKKAT : Unix'te DOS'takine benzer bir UNDELETE komutu yoktur (mimarilerinin farkli olmasindan dolayi) bu sebeple dosyalarinizi silerken cok dikkatli olmaniz gerekir. Eger bir dosya'yi yanlislikla silerseniz, system sorumlunuza basvurun, belki backup'lardan dosyanizi geri getirebilir.

Kullanimi :
rm -[secenekler] Dosya_ismi Dosya_ismi ...
Secenekler :
-e : Dosyanin silinmesinden sonra ekrana bilgi verir.
-f : Sormadan write-protected dosyali siler.
-i : Dosyayi silmeden once bunun dogrulugunu sorar.
-r : Recursive olarak alt dizinleri siler.
-R : -r ile aynidir.
Ornek :
rm kursun* // bulundugumuz dizindeki kursun ile baslayan tum dosyalari siler
rm -rf tmp // tmp dizinini ve alt dizinlerini uyarmadan siler.

A.6-) Systemdeki islemler hakkinda nasil bilgi alabilirim ?

ps komutu ile.
Kullanim :
ps (secenekler)
Secenekler:
-e : Tum islemlerle ilgili bilgilerin goruntulenmesini saglar.
-d : Grup liderleri haric tum islemler hakkinda bilgi verir.
-a : Grup liderleri ve terminallerle iliskisi olanlar disinda kalan tum islemler hakkinda bilgi verir.
-f : Tam listenin uretilmesine olanak tanir.
-l : Ayrintili listeyi goruntuler.
-c dosya : /dev/swap in bulundugu yerde swapdev dosyasini kullanir.
-t liste : Liste icinde yer verilen terminallerden yurutulen islemler hakkinda ozel bilgi saglar.
-p liste : Listede ID numaralari tanimlanan islemlere iliskin ozel bilgileri goruntuler.
-u liste : Belirlenen kullanicilarla iliskili islemlere ait ozet bilgi.
-g liste : Grup liderlerinin iliskili oldugu islemler hakkinda o bilgi.
x : Sahip oldugunuz tum islemleri lsiteler .
Ornek :
/home/e065247/m>ps x
        PID    TTY   STAT   TIME COMMAND
      81024  pts/7    R     0:00 ps x
     113626      -    S     0:00 xterm
     117927  pts/7    S     0:00 -csh
     125165  pts/5    S     0:05 telnet rorqual
     129499 pts/12    S     0:00 -csh
     132296  pts/5    S     0:00 -usr/local/bin/tcsh
     167106      -    S     0:06 aixterm
     198577      -    S     0:00 sh /usr/bin/X11/startx -t -wait
     231908 pts/12    S     0:00 telnet rorqual
     236990      -    S     0:00 mwm
     244646      -    S     0:00 xterm
Sahip oldugum bir islemi nasil kesebilirim ?
kill (-sinyal) PID

PID numaralari ps komutu ile gorunur.Bir cok sinyal tanimlanabilir. Bunlardan -9 islemi oldurur.


A.7-) Yerini bilmedigim bir dosyayi nasil bulurum ?

Find programi ile bulabilirsiniz.
Kullanimi :
find yol tanimi secenekler
Secenekler:
-name isim : aranilacak dosyanin ismi.
-perm izin : Izinleri oktal olarak belirlenmis dosyalarin aranilmasi.
-links n : linke sahip dosyalar.
-user kullanici : Belirli bir kullaniciya ait dosyalarin aranmasi.
-group isim : Belirli bir gruba dahil dosyalarin aranmasi.
-atime n : n gun icinde erisilen dosyalar.
-mtime n : n gun icinde islem goren dosyalar.
-ctime n : n gun icinde degistirilen dosyalar.
-print : bulunan dosyalarin ekranda goruntulenmesini saglar.
Ornek :

Bulundugum dizinden itibaren tum alt-dizinlerdeki "kursun" ile baslayan dosyalari bulmak icin;

find . -name "kursun*" -print
./faq/kursun.tar.gz
./faq/kursun.html
./kursun
./kursun/kursun
./kursun/kursun.c

Not1 : Burada arayacagim dosyada wildcard kullandigim icin " " isaretini kullandim. Eger dosyanin tam ismini biliyorsaniz buna gerek yoktur.

Not2 : Eger bir aramayi root'tan ( / ) baslatirsaniz cok buyuk olasilikla bazi dosyalari okumaya izininiz olmadigi icin size bunu belirten bir uyari mesaji verilecektir, ve bu mesajlar arasinda aradiginiz sey ekrana yazilsa bile bunu gozden kacirabilirsiniz. Bu sebeple ciktiyi bir dosyaya yoneltip, daha sonra o dosyayi okumanizda fayda vardir.

Ornek :
find / -name gzip -print > gzip

A.8-) Sifremi nasil degistirebilirim ?

Kullanicinin sifrelerini degistirmek icin passwd programi kullanilir. Bazi systemlerde yppasswd olarakta gecebilir. Bu komut'u yazdiktan sonra sizden ilk olarak eski sifreniz ardindan yeni sifreniz sorulacaktir. Daha sonra tekrar yeni sifreniz kontrol amaci ile sorulur. Eger bir hata yapmadiysaniz sifreniz degistirilir.

Iyi sifreler nasil olmalidir ?

Icinde noktalama isareti,rakam,bosluk ve hatta kontrol karakterleri bulunduran sifreler secin. Icinde bunlardan bir tane bile olsa boyle bir sifrenin bulunma olasiligi son derece dusuktur. Eger bu karakterlerin sayisini arttirirsaniz bulunma olasiligi kat kat duser.

Kotu sifrelere birkac ornek :
murat
balci
Mbalci
Ankara
Hello
.....
Iyi sifrelere birkac ornek :
.bir/iki
[mb&elf]
vs..vs..

Tabii guzel sifre secereken bunlarin kolaylikla unutulmayacak seyler olmamasinada dikkat etmeniz gerekir ! . Ayrica sifrelerinizi ASLA biryere yazmayin !.


A.9-) Bir dosyanin izinlerini nasil degistirebilirim ?

chmod izin modu dosya:Bir dosyaya verilen izinlerin degistirilmesi.
ls -l [dosya] yazdiginizda en solda gorulen bilgiler, o dosyanin izinlerini gosterir.
Ornek :
ls -l kursun*
--w-rw-r-- 1 e065247 B386 603 Oct 24 22:14 kursun.tar.gz

Goruldugu gibi en soldaki kisim 10 tane alandan olusmaktadir. Bunlarinin ilk'i dosyanin niteligini ( dizin yada dosya ) sonraki 9'u da o dosyanin izinlerini gosterir.

Eger en soldaki alan "d" ile baslarsa bu onun bir dizin oldugunu, "-" ile baslarsa normal bir dosya oldugunu gosterir ( buarada unix'te her dizin ozel bir dosyadir ! )

Bu ilk karakterden sonra gelen 9 karakter de kendi aralarinda 3 gruba bolunur.

Ilk 3 Alan : Kullanici izinlerini
Sonraki 3 Alan : Grup ile ilgili izinleri
En Sagdaki 3 Alan : Diger kullanicilarla ilgili izinleri gosterir.
Herbir bolumde 3'e bolunur :
r : Read ( okuma ) hakki;
w : Write ( yazma ) hakki;
x : Execute ( calistirma ) hakki.
Ornek :
-rw-r--r-- 1 e065247 B386 533 Oct 24 21:35 sen_aglama.html

gibi bir dosya bu dosyanin herkes tarafindan okunabilir oldugunu, ama sadece o dosyanin sahibi tarafindan yazilabilir oldugunu gosterir.

chmod programinda kullanilan izin modlari iki turlu belirtilebilir :
1- Numerik olarak :
r'nin degeri : 4
w'nin degeri : 2
x'in degeri : 1 dir.
Ornekler :

ORANTILI IZIN KODLARI

------------------------------------------------
Orantili kod - Izin durumu -
------------------------------------------------
0400 - Dosya sahibi icin okuma -
0200 - Dosya sahibi icin yazma -
0100 - Dosya sahibi icin calistirma -
0040 - Gruptakiler icin okuma -
0020 - Gruptakiler icin yazma -
0010 - Gruptakiler icin calistirma -
0004 - Digerleri icin okuma -
0002 - Digerleri icin yazma -
0001 - Digerleri icin calistirma -
------------------------------------------------
ls -l
--w-rw--w- 1 e065247 B386 603 Oct 24 22:14 kursun.tar.gz
--w-rw--w- 1 e065247 B386 607 Oct 24 22:23 kursun.html
chmod 0220 kursun* // Kullaniciya ve grub'a yazma hakki verelim
ls -l
--w--w---- 1 e065247 B386 603 Oct 24 22:14 kursun.tar.gz
--w--w---- 1 e065247 B386 607 Oct 24 22:23 kursun.html
2- Karakter olarak :
u : Dosyanin sahibi.
g : Grup
o : Digerleri
a : Herkes
+ : Izin vermek
- : Izinleri kaldirmak.
= : Belirli bir izin atamak uzere.
chmod go+r kursun* // Ek olarak gruba'a ve digerlerine okuma hakki verelim
ls -l
--w-rw-r-- 1 e065247 B386 603 Oct 24 22:14 kursun.tar.gz
--w-rw-r-- 1 e065247 B386 607 Oct 24 22:23 kursun.html

A.10-) Sahip oldugum dosyalarin nekadar yer kapladigini nasil ogrenebilirim ?

Baslica 2 yolu vardir;

1- du komutu. du komutu bunundugunuz dizinden itibaren tum alt dizinleri tarayarak block cinsinden nekadar yer kapladigini gosterir.Block size'lari genelde 512 byte'tir bu sebeple cikan sayiyi iki'ye bolerek o dizinin nekadar yer kapladigini gorebilirsiniz. En asagidada toplam miktar belirtilir.

Ornek :
/home/e065247/m>du
72 ./.m
8 ./m
8 ./ch
496 ./temp
632 .

2- quota komutu. quota komutu toplam olarak nekadar yer kapladiginizi ve sizin nekadar yazma hakkinizin oldugunu gosterir. Ayni zamanda eger gecici disk sinirinizi astiysaniz, kalan gun miktari vs. gibi bilgileride gosterir.

Ornek :
/home/e065247/m>quota
Disk quotas for user e065247 (uid 517):
Filesystem blocks quota limit grace files quota limit grace
/home211 2748 3000 5000 302 1000 1500

A.11-) Kimlerin calistigini nasil ogrenebilirim ?

w [secenekler]

w komutu sistemin yuku, ve calisanlarin faaliyetleri konusunda bazi bilgiler verir. Komutu calistirdiktan sonra cikan bilgilerden ilki, sistem hakkindadir : sistem saati, o anda kac kisinin acik oldugu, ve sistemin yuku gibi.. Sistem yuku genelde 0 ile 40 arasinda degisen bir deger ile gosterilir. Eger sistemin yuku 0-5 arasinda ise fazla yuklu olmadigini soyleyebiliriz o anda sistemin. Ancak bazi cok kullanicili yada agir islerin yapildigi makinlerde bu sayi 5 ten cok cok fazla olabilir.

Bu ilk satirin ardindan gelen satirlarda siralar halinde kullanicilarla ilgili bilgiler bununur. Soldan saga dogru ;

Ilk alan : Kullanici'nin userid si.
2. alan : Baglandigi tty'si.
3. alan : Nezaman login oldugu.
4. alan : Enson komutu calistrmasindan sonra gecen zaman. (idle time)
5. alan : Makinenin acilmasindan beri yapilan process'lerin getirdigi toplam yuk.
6. alan : Yapilan en son isin verdigi yuk.
7. alan : Yaptigi is !
Ornek :
/home/e065247/m>w e065247
01:09AM up 10 hrs, 40 users, load average: 2.44, 5.04, 5.33
User tty login@ idle JCPU PCPU what
e065247 pts/5 11:50PM 1 5 5 telnet
e065247 pts/7 11:56PM 0 1 0 w
e065247 pts/12 11:50PM 0 0 0 telnet

A.12-) Dosyalarin ciktilarini Printer'den nasil alabilirim ?

lp (secenekler) dosyalar
Burda dosya hemen yazdirilmayarak spool a atilacaktir.
Secenekler:
-c : Lp komutu kullanildiginda yazdirilacak dosyanin bir kopyasinin olusturulmasi isteniyorsa -c secenegi kullanilir.bu secenek kullanilmadiginda kopyalama islemi yerine link islemi gerceklestirilir.
-dyazici : Yazma isleminin yapilacagi yazicinin veya yazicilar sinifinin belirlenmesi amaciyla bu secenek tercih edilir.
-m : Dosyalarin yazicidan bastirilmasi ardindan measj gonderilmesine olanak saglar.
-nsayi : Yazdirilacak dosyanin kopya sayisini saprtamak uzere bu secenekten yararlanilir.kullanilmassa 1 oldugu varsayilir.
-s : lp den "request id is.."gibi mesajlarin atilmasini saglar.
-tbaslik : Yazicidan alinan cikisa bir basligin yazdirilmasi isteniyorsa bu secenek kullanilir.
Yaziciya yolladigim dosyanin durumunu nasil ogrenebilirim ?
lpstat (secenekler)
Secenekler:
-a(liste) : Listede belirtilen yazicilara gonderilen istekler hakkinda bilgi verir.
-c(liste) : Yazici siniflari ve onlarin uyelerini goruntuler.
-d :sistemin kabul ettigi yaziciyi goruntuler.
-o(liste) : Yazdirilmak uzere gonderilen dokumleri goruntuler.Liste yazici isimlerini siniflari ve istekleri kapsar.
-r : Lp istek tablosunun durumunu goruntuler.
-s : Sistemin kabul ettigi yazicinin ismi ver herbir yazicinin sahip oldugu ozel dosya isimlerini goruntuler.
-t : Tum durum raporunu goruntuler.
-u(liste): Liste icinde belirtilen kullanicilara iliskin durum raporunu goruntuler.
Yaziciya yolladigim bir dosyayi henuz basilmadi ise iptal edebilirmiyim ?
Evet.
cancel (liste numarasi) (yazicilar)

A.13-) Nasil Alias tanimlayabilirim ?

Alias tanimlamalari kullandiginiz shell programina gore degisir.
C tabanli shell'lerde ( csh , tcsh ) bu is oldukca kolaydir ;
Kullanimi : alias kisaltma 'komut dizisi'
Ornek : alias dir 'ls -lFa | more'
bundan sonra her dir yazdiginizda ls -lFa | more komut dizisi isleyecektir.

Sh tabanli shellerde ( sh, ksh vs.) :

Kullanimi : alias kisaltma="komut dizisi"
Ornek : alias dir="ls -lFa |more"

A.14-) Bir dosyanin icini gormek icin hangi programlari kullanabilirim ?

cat [dosya_ismi] [dosya_ismi] ...

Bir dosyanin icine bakmaya yarar. Dosyanin icerigi hicbir sekilde durmadan ekrandan akip gecer. Boylari kucuk olan dosyalara bakmak icin kullanilabilir, ancak buyuk dosyalara bakmak icin ugun degildir. Ancak baska amaclar icin kullanilabilir ornegin :

cat file1 >> file2

komutu file1 dosyasinin icerigini file2 dosyasinin arkasina kopyalar. Bu islem sonunda file1'in iceriginde bir degisiklik olmaz.

pg secenekler (dosya..)
Secenekler:
-numara: Her defasinda goruntulenecek satirlarin sayisini gosterir.
-p dizgi: Normal olarak sayfanin en alt satirinda (:)isareti olasarak kullanicinin return a basmasi beklenir.
-c:Her bir sayfa goruntulenmeden once ekran temizlenir ve imlece baslangic konumuna doner.
-e: Her dosyanin sonunda kullanicinin return a basmasi gerekmez.
-n: Normal olarak komutlar yeni satir karakteri ile son bulur.Otomatik olarak komut sonunun belirlenmesine olanak saglar.
-s: msg lerin goruntulenmesini saglar.
+satir no: Belirli bir satirdan itibaren dosya goruntulenmek isteniyorsa dogrudan satir numarasi yazmak sureti ile bu saglanir.
+/kalip/: Belirlenen kalibi iceren ilk satiri bulmak amaciyla bu tur bir tanim yapilabilir.

more [dosya_ismi] [dosya_ismi] ...

Bir dosyanin icerigini ekranda gormek icin kullanilir, ancak cat'ta oldugu gibi dosya'nin icerigi ekrandan kayip gecmez. Her sayfanin sonunda ekrannin sol alt kosesinde --More--(x%) seklinde bir yazi belirir. Buradaki x' dosyanin yuzde kacinin goruldugunu gosterir. Bu dosyanin buyuklugu hakkinda size bilgi verebilir. --More--(x%) yazisini gordukten sonra asagidaki tus'lari kullanabilirsiniz.

SPC : Arka sayfaya gecilmesini saglar.
K : K'herhangi bir tam sayidir. Bu sayi kadar ileriye gidilmesini saglar
Kb : K sayisi kadar geri donulmesini saglar.
Ks : K sayisi kadar ileri gidilir, ancak aradaki satirlar goruntulenmez.
= : Bulundugunuz satir numarasi verilir.
/ : Dosyada arama yapmak icin kullanilir.
v : vi editorunu cagirir.
q : programdan cikar.

less [secenekler] [dosya] [dosya] ....

More ve vi programlarinin bir karisimidir denilebilir. Ileri oldugu gibi geriye dogruda kolaylikla islem yapilabilmesini saglar.

H, h : Komutlarin kisabir ozetini gosterir.
SPC,^V,f,^F : Arka sayfaya gecer.
Kz : K sayisi kadar ileri gider.
RETURN,e,j : Bir satir ileri gider.
d,^D : Yarim sayfa ileri gider.
b,^B : Bir sayfa geriye gider.
y,k : Bir satir geriye gider.
u,^U : Yarim sayfa geriye gider.
r,^R,^L : Ekrani temizler.
q : Programdan cikar.
Rg : R'inci satira gider (default degeri 1 dir )
Rp,R% : Dosyanin yuzde R'ina gider.
! : Shell acmanizi saglar (exit geri doner).
/ : Arama yapmanizi saglar.

most [dosya]

More ve less'in karisimidir denebilir. Ikisininde farkli ozelliklerini almistir. Eger systeminizde varsa bunu kullanmanizi tavsiye ederim. 'h' ile kullanilan tuslar hakkinda bir bilgi alabilirsiniz.

 

Internet Bağlantısı

Linuxta modemi tanitmak icin yapmaniz gereken seyler asama asama
sunlardir:

1. Oncelikle modeminizin hangi aygit dosyasina ve irq ya sahip oldugunu
bulmaniz gerekir. Bunun icin bir program hazirlanmasi dusunulmektedir ama
su an icin elle yapmalisiniz. Modemin bagli bulundugu aygiti bulmak icin
dip programini kullanabilirsiniz.

dip -t  yaziniz;
DIP: Dialup IP Protocol Driver version 3.3.7o-uri (8 Feb 96)
Written by Fred N. van Kempen, MicroWalt Corporation.

DIP> port cua4
DIP: tty_open: cannot get current state!

ornekte goruldugu gibi dip -t komutunu girdiginizde DIP> seklinde bir komut girisi goreceksiniz. Burada modem inizin bagli olabilecegi 4 aygit
olabilir. Eger mouse unuz DOS taki COM1 de ise olasilik 3'e duser, bunun anlami modemin cua0 aygitinda olmadigidir, geriye sadece cua1 (COM2), cua2(COM2) ve cua3 (COM4) aygitlari kalir. Bu uc olasiligi port komutunu kullanarak deneyebilirsiniz. Eger dip programi yukarida gorulen hatayi vermeyip DIP> ciktisini verirse dogru portu buldunuz demektir.

Ornek:

DIP> port cua2
DIP>

Simdi sira irq'yu bulmaya geldi. Normalde irq 3 veya irq 4 olmalidir,fakat bazi durumlarda modeminizin irq su degismis olabilir. Bunu anlamak
icin cat /proc/interrupts komutunu verin.

cat /proc/interrupts
0: 439984 timer
1: 28367 keyboard
2: 0 cascade
11: 61497 + serial
4: 7214 + serial
7: 1 sound blaster
9: 0 mpu401
13: 1 math error
14: 63955 + ide0
15: 4 + ide1

Bu ciktida serial yazan iki satir goreceksiniz, birisi mousea ait digeri modeme aittir. Burada mousea ait olan irq 4 olmalidir. Digeri ise
modemdir. Bu sayi modeme iliskin irq degerini verir. Eger bu sayi 3 ise hic bir islem yapmaniza gerek yoktur, eger farkli bir degerse su komutu
vermelisiniz.* Modem aygitinizin cua3 ve irq degerinin 11 oldugunu varsayarsak,

setserial /dev/cua3 irq 11

bu islemden sonra modem e ait irq ayarlanmis olur. Bu komutun etkisi sadece o oturuma iliskindir, yani her boot isleminde komutun etkisi
yokolur o yuzden eger bu komutu vermeniz gerekliyse /etc/rc.d/rc.local  dosyasi icersine ekleyin.


2. Ayarlarin Dogru Olup Olmadiginin Sinanmasi

Ayarlarinizi yaptiktan sonra dip programi ile modemin dogru calisip calismadigini sinayabilirsiniz. Bunun nasil yapildigini anlatmadan once
dip programini biraz taniyalim. Dip programinda iki kip vardir; birinci kip normal kiptir, ikincisi ise TERM kipidir. TERM kipinde girilen her komut modem tarafindan HAYES komut setinde bir komut olarak algilanir. TERM moduna gecmek icin term komutunu vermeniz yeterlidir, TERM modundan cikmak icinse ^] yani (CTRL+] tus kombinasyonu) gerekir.

dip -t
DIP: Dialup IP Protocol Driver version 3.3.7o-uri (8 Feb 96)
Written by Fred N. van Kempen, MicroWalt Corporation.

DIP> port cua4
DIP> TERM
[ Entering TERMINAL mode. Use CTRL-] to get back ]
atz
OK

yukarida ornekte goruldugu gibi, term moduna gecildiginde atz komutunu verin (HAYES komut setinde modemi resetleyen komut), eger komutu yazarken yazdiginizi goruyorsaniz ve OK ciktisini aliyorsaniz ayarlariniz saglamdir, eger degilse maalesef ayarlarinizi yanlis yapmissiniz demekir,1. bolumu bir daha okuyun.

3. DIP Ile PPP Baglanti

Bu kisimda dip in script ozelligine girmeden , en eski yontem ile PPP baglantisinin nasil alindigi anlatilacaktir.
Ilk once assagidaki ciktiyi inceleyin,

# dip -t
DIP: Dialup IP Protocol Driver version 3.3.7o-uri (8 Feb 96)
Written by Fred N. van Kempen, MicroWalt Corporation.

DIP> port cua1
DIP> get $local 0.0.0.0
DIP> get $remote 0.0.0.0
DIP> get $mru 542
DIP> get $mtu 542
DIP> speed 57600
DIP> term
[ Entering TERMINAL mode. Use CTRL-] to get back ]
ath0
OK
atdt0822xxxxxxx

CONNECT 57600

Username : xxxxx
Password : xxxxx

Async interface address is unnumbered (Ethernet0)
Your IP address is xxx.xxx.xxx.xxx MTU is 542 bytes
Header compression will match your system.

[ Back to LOCAL mode. ]
DIP> mode PPP
#


Simdi bu ciktiyi inceleyelim,Oncelikle dip -t yazarak dip programini calistirdik daha sonra az once anlatildigi gibi port komutu ile modemin bagli oldugu aygiti tanimladik.get komutu bir parametrenin degerini vermek icin kullanilir, burada local ve remote parametreleri sira ile bizim modemimizin bagli oldugu aygitin IP sini ve modemimizin bagli oldugu karsi modemin aygitinin IP sini gosterir.Bunlara 0.0.0.0 degerinin verilmesi, bu IP leri programin otomatik almasi gerektigi anlamina gelir, yani bu IP ler program tarafindan otomatik olarak ayarlanacaktir. mru ve mtu parametreleri ise modemin gonderecegi ve cekecegi enbuyuk paket buyuklugunu gosterir bu parametrenin optimum degeri
542 dir, ama bu parametreleri vermeniz zorunlu degildir, speed komutu aygitinizin (dolayisi ile modeminizin) maximum transfer hizini belirler,
eger belirtmezseniz 38400 degerini alir, eger modeminiz v42bis ozelligine sahipse ve sIkIstIrma yapabiliyorsa bu hizi daha yuksek
tutabilirsiniz, daha sonra term komutu ile TERM moduna geciyoruz ve HAYES komut setini kullanarak numaramizi ceviriyoruz, ath0 komutu modemi ilk kullanim icin hazirlar ve atdt komutu ise belirtilen telefon numarasini cevirir, numarayi cevirdikten sonra CONNECT seklinde bir mesaj alacaksiniz ve komut girdisi goreceksiniz, burasi ISP nize bagli olarak degisir, burada kullanici kodu ve sifrenizi girdikten sonra ISP nizden gelen
Async interface address is unnumbered (Ethernet0)
Your IP address is xxx.xxx.xxx.xxx MTU is 542 bytes
Header compression will match your system.

ciktisini gormelisiniz, bu cikti baglantinin gerceklestigi anlamina gelir,bu asamada ctrl ] komutunu vererek TERM modundan cikin ve mode PPP komutunu verin, tekrar kabuk ortamina duseceksiniz. Artik internete baglisiniz.

Kernel Derleme

Sisteme root olarak giris yapin ve /usr/src dizinine geçin. Linux'un kurulmasi asamasinda çekirdekleri de kurmus iseniz bu dizinde 'linux' isminde ve eski çekirdegin kaynak kodlarini kapsayan bir alt dizin göreceksiniz. Genellikle her kullanicinin yaptigi, bu dizinin ismini o an çalisan çekirdegin sürümüne göre degistirmektir. Çekirdek sürümünü bulmak için ise uname -r komutunu kullanabilirsiniz.

$ uname -r
  2.0.30

Bu komuttan çekirdegin 2.0.30 sürümü oldugunu anlayabiliriz.

Çekirdek kodunu içeren paketi açmadan önce /usr/src dizinine kopyalayin, ve açmadan önce bu dizinde 'linux' isimli bir dizinin olmadigina emin olun. simdi /usr/src içinde iken sikistirilmis çekirdek kodunu 'tar' komutu yardimiyla açin.

# tar -zxf linux-x.y.z.tar.gz

Komutun isletimi bitince 'linux' dizini olusur. ilk defa derleme islemi yapacaksaniz asagidaki komutlari sirasiyla yazin.

# cd /usr/include 
# rm -rf asm linux scsi 
# ln -s /usr/src/linux/include/asm-i386 asm 
# ln -s /usr/src/linux/include/linux linux 
# ln -s /usr/src/linux/include/scsi scsi 
# cd /usr/src/linux 
# make mrproper

Çekirdek Konfigürasyonu

/usr/src/linux dizini altinda iken make config yazin. Bu komut, bir konfigürasyon dosyasi yaratmak amaciyla sorular sorar.

Karsiniza çikan sorulara 'y' (evet) veya 'n' (hayir) ile cevap vermeniz gerekir. Bazi aygit sürücülerde 'm' seçenegi de olabilir. Bunun anlami, sistem o programi modül olarak derleyecek ve çekirdege dahil etmeyecek demektir. Kullanici derleme asamasindan sonra istedigi zaman bu modülü çekirdege dahil edebilir, isini bitirdikten sonra da çikarabilir.

2.0.x ve daha yukari sürümlerde '?' tusuna basmakla daha ayrintili bilgi alabilirsiniz. Asagida bazi konfigürasyon parametreleri verilmistir.

Matematik islemci emülasyonu (Kernel math emulation)
Kullandiginiz makinanin islemcisi yardimci matematik islemcisine sahip degilse (486SX, 386SX veya daha düsük makinalar) bu seçenege evet cevabini vermelisiniz.
Normal (MFM/RLL) disk ve IDE disk/cdrom destegi (Normal disk and IDE disk/cdrom support)
Hemen herkesin kullandigi PC sabit disklerinin standart olmasi sebebiyle bu seçenege 'y' cevabi verilebilir. Daha ileride SCSI sabit disk ve cdrom destegi de sorulacaktir. Ardindan gelecek olan 'old disks-only' ve 'new IDE' sürücülerinden birini seçerken, aralarindaki farkin ilkinde tek arabirim üzerinden iki adet diski desteklemesi, digerinde ise ikinci arabirim ile birlikte IDE/ATAPI cdrom'lari desteklemesidir.
Ag destegi (Networking support)
Makinaniz herhangi bir ag üzerinde ise (internet gibi), veya internet'e baglanmak için SLIP, PPP gibi programlari kullanmak istiyorsaniz bu bölüme 'y' cevabi vermelisiniz. Fakat, ag üzerinde olmasaniz bile her geçen gün yeni yeni uygulama programlarinin ve paketlerin ag destegine ihtiyaci oldugunu düsünürsek (X Window gibi) bu bölüme 'y' cevabi vermeniz sart görünüyor.
En fazla 16Mb hafiza (Limit memory to low 16Mb)
Bazi hatali 386 DMA denetleyicileri hafizanin 16Mb'tan yüksek bölümlerine ulasamazlar. Çok nadir görülen bu durum makinanizda varsa bu seçenegi 'y' ile geçin.
System V IPC (System V IPC):
IPC (Interprocess Communication) destegi verir. Bazi Perl programlari ve oyunlar (DOOM gibi) bu seçenek olmadan çalisamazlar. Bu durumda ne yaptiginizi iyi bilmiyorsaniz bu seçenege 'y' -evet- cevabi verin.
islemci tipi (386, 486, Pentium, PPro):
Burada, çekirdeginizi hangi tür makina için derliyorsaniz, o makinanin tipini giriniz.
SCSI destegi (SCSI Support):
SCSI aygitlariniz var ise bu seçenek için 'evet' deyin. Daha sonra da karsiniza gelecek SCSI aygitlar arasindan size uygun olanlari alin.
Ag karti destegi (Network Device Support):
Aga baglanmak için bir kart kullanacaksaniz veya SLIP, PPP baglantilari, ya da paralel port üzerinden yapacaginiz her türlü islemler için bu seçenegi isaretleyin. Ardindan ekrana gelen kart tiplerinden uygun olanlarini seçin.
Dosya sistemleri (Filesystems):
Burada, asagidaki dosya sistemlerinden kullanmak istediklerinizi seçebilirsiniz.
  • minix: Yeni dagitimlar , artik tarih olmaya baslayan bu dosya sistemini desteklememekte. Bazi kurtarma disketleri yaratmak için daha yaygin, fakat daha az kararli olan ext2 dosya sistemine tercih edilirler.
  • Extended file system (ext): Bu da artik kullanimi olmayan bir dosya sistemi. Destegini ekleyip eklememek size kalmis.
  • Second extended file system (ext2): Linux'un kullandigi en önemli dosya sistemi. Alinmasi sart.
  • xiafs: Artik kullanilmiyor.
  • msdos: Sabit diskinizde DOS bölümü varsa, ya da DOS disketi kullanmak istiyorsaniz, alin.
  • umsdos: MS-DOS dosya sistemine bazi yenilikler (uzun dosya isimleri gibi) getirilerek olusturulan bir teknoloji. MS-DOS destegi almadiysaniz buna da gerek yok.
  • proc: Bu aslinda gerçek bir dosya sistemi degil, çekirdek görüntüsüdür. `y' cevabini vermezseniz ileride basiniz çok agrir.
  • NFS: Linux makinaniz bir ag üzerinde kurulu iken ag üzerindeki diger makinalarin dosya sistemlerini kullanabilmenizi saglar.
  • ISO9660: CD-ROM sürücünüzü Linux altinda kullanabilmek için 'y' cevabi verin.
  • OS/2 HPFS: OS/2 dosya sistemlerini okuyabilmek için 'y' cevabi verin.
  • System V: Bir UN*X sürümü olan System V makinalarinin dosya sistemleri üzerinde çalisabilmeyi saglar.
Karakter aygitlar (Character devices):
Bu bölümde yazici, fare ve bazi teyp yedekleme sürücüleri gibi karakter aygitlari (iletisimini karakter karakter saglayan aygitlar) için sürücüleri ekleyebilirsiniz.
Ses karti (Sound Card Support):
Linux'un ses kapasitesini "duyabilmek" için bu destegi ekleyin.
Çekirdek islemleri (Kernel Hacking):
Çekirdekten dogan hatalarin bulunmasini kolaylastiran bu seçenek, programcilara yönelik.

Tüm bu islemlerin ardindan make config komutunun görevi bitmis olur.

Temizlik

Fazla dosyalari temizlemek, gerekli olan dosyalarin da yerinde olup olmadigini kontrol etmek için , sirasiyla

# make dep 
# make clean

yazin. Ardindan tüm nesne dosyalari ve eski sürümden arta kalan dosyalar silinecektir. Bu adimi es geçmemelisiniz.

Temizlik isleminden sonra,

# make zImage                   , veya 
# make zdisk

yazin. Eger bir kisisel bilgisayarda çalisiyorsaniz, ilk seçenekte çekirdek derlenip /usr/src/linux/arch/i386/boot dizini altina zImage adiyla yerlestirilecektir. Buraya yerlestirilmeden önce yerden kazanmak için çekirdek sikistirilir. Diger durumda ise yeni çekirdek sabit disk yerine A: disket sürücüsüne yazilir. Disket üzerine yazmanin bir avantaji, kararli olmayan ve sistemi açmayan çekirdek ile karsilasilmasi halinde, sistemi sabit disk üzerindeki eski çekirdekten açabilme imkani birakmasidir.

Çekirdegin Kurulmasi

LILO, bilgisayarin açilisi aninda çekirdek ile ilgili düzenlemeleri okur, buna göre hangi çekirdekten açmasi gerektigini anlar. Konfigürasyon dosyasi biraz karmasik olmasina ragmen kullanim asamasinda büyük yararlar saglar. /etc/lilo.conf dosyasinin içinde gerekli olan kurulum bilgileri vardir. Bu dosyanin bir bölüm asagida görülüyor.

image = /vmlinuz
  label = linux 
  root = /dev/hda1 

other = /dev/hda1
  label = dos
  table = /dev/hda

image = ibaresi kurulu olan çekirdege isaret eder. Çogu kullanici bu kisma vmlinuz yazar. label = bölümünde hangi isletim sistemi veya çekirdek sürümünun açilista kullanilacagi yazilir. Hemen altindaki root bölümünde ise label = kisminda seçilen isletim sisteminin hiyerarsik sirada en üst dizin yapisi yazilir. Eski çekirdegin bir yedegini alin ve yeni derlediginiz çekirdegi image = satirinda belirtilen yere kopyalayin.

# cp zImage /vmlinuz

simdi LILO programini çalistirin. Komut satirinda lilo yazmak yeterlidir. `*' karakteri, çalistirilacak ilk çekirdegi veya sistemi gösterir.

# lilo 
Added linux * 
Added dos

 

Yeni bir çekirdegi derledikten sonra LILO üzerinden ekleme yapmak ve açilis aninda kullanmak için /etc/lilo.conf dosyasindaki

image = /vmlinuz
  label = Linux 
  root = /dev/hda1 

satirlarinin kopyasini çikarin, image , label ve root yerine sirasiyla yeni derlenen çekirdegin sabit disk üzerindeki yerini, ismini ve Linux isletim sisteminizin kök dizinini yazin. Bunlara ek olarak, açilis aninda bekleme saglamak ve seçim yapabilmek için konfigürasyon dosyasinin basina delay = xxx ekleyebilirsiniz. xxx sayisi, gecikme zamani saniyenin onda biri olarak verilir. Bu sayede açilis aninda , örnegin shift tusuna basilarak istenen çekirdegin ismi (label = satirinda yazilan isim) seçilir ve çalistirilir.

!Bu kadar haddi kolay gelsin!

En iyi 800x600 çözünürlükte, Internet Explorer ile ve 16 bit renk ile görüntülenir.

Copyright 1999-2000 © mESCi