Program ve Özellikleri:
Program ekle kaldrı olarak da bilinen bu özellikle bilgisayarınızdaki gereksiz programları kaldırabilir veya üzerinde değişimler yaabilirsiniz.
Bu blogu kendimi geliştirmek ve gelişirken sizinle de bilgilerimi paylaşmak için yapıyorum
/etc/passwd
veya /etc/shadow
dosyasında tutulur. /etc/passwd
dosyasındaki şifreleri kırmaya çalışan çeşitli yazılımlar bulunmaktadır. Bunların en etkililerinden ve en yaygın kullanılanlarından biri Crack isimli programdır. Alec E. Muffett tarafından geliştirilen Crack, sözlük saldırısı yöntemini kullanan bir şifre kırma programıdır. Giriş olarak verilen sözlüklerdeki sözcükleri şifre dosyasındaki 'salt' bilgileriyle şifreleyerek şifre olarak kullanılıp kullanılmadıklarına bakar. Ayrıca sistemin kullanıcı bilgilerinden de olası şifreler üretmeye çalışır. Bu paketi ftp.metu.edu.tr adresinden temin edebilirsiniz.-rwxr-x--- 1 uyar users 4030 Dec 4 15:30 dene
Dizinler için de aynı erişim hakları modeli geçerlidir. Bir dizin üzerindeki okuma izni, dizin altındaki programların listesinin alınıp alınamayacağını, yazma izni dizinde yeni bir dosya yaratılıp yaratılamayacağını, çalıştırma izni de o dizine geçilip geçilemeyeceğini belirler. Yetkili kullanıcının (root) bütün dosyalar ve dizinler üzerinde (birkaç sistem dosyası ve dizini haricinde) bütün işlemleri yapma yetkisi vardır.rsh
, rcp
ve rlogin
komutlarının kullanılmasında şifre denetimlerinin atlanabilmesi için ya tüm kullanıcılar için geçerli sistem dosyasında (/etc/hosts.equiv
) ya da kullanıcıya özel erişim dosyasında (.rhosts
) ayarlamalar yapılmalıdır. Sistem dosyasında yer alan makinalar güvenilen (trusted) makinalar kabul edilirler ve bu makinalardan bağlanan kullanıcıların isimleri yerel şifre dosyasında varsa şifre denetimi yapılmaz./etc/rc.d/rc.*
) ilgili sunucuları çalıştıran satırlar (özellikle netstat ve systat) kaldırılmalıdır./etc/syslog.conf
) belirtilir. Genellikle makina ilk açıldığı zaman /var/adm/messages
dizini altındaki messages
, xferlog
, syslog
gibi dosyalara yazılan bu bilgileri isteğinize göre daha sistematik bir yapıda saklamak da mümkündür. Ağ ile ilgili hizmetleri denetleyen süreçler (tcpwrapper, xinetd gibi paketler) kayıt dosyalarına girmesini istedikleri bilgileri syslogd sürecine bildirirler.
XF86Setup
programı ile bir fare yardımıyla rahatlıkla ve kısa sürede X konfigürasyonu tamamlanabiliyor. Ücretli sürümlerden bir tanesi elinizin altında ise işler daha da kolaylaşıyor, neredeyse donanım hakkında hiç bir şey bilmeden X kurulabiliyor.XF86Config(1)
ve Xfree86(1)
man sayfalarını okuyun. Bu dosyalarda X Window için oluşturulacak olan /etc/XF86Config
dosyasının hakkında detaylı bilgi vardır. XF86Config dosyası X açılırken okunur ve fare, ekran çözünürlüğü, renk sayısı gibi özellikler belirlenir. Ekranınızın kalitesine göre açmak istediğiniz çözünürlük hakkında bir miktar fikir sahibi olmalısınız. Bazı eski ekranlar 1024x768 çözünürlüğü desteklemezler, bu yüzden 800x600 gibi düşük bir çözünürlük ile işe başlayın. Daha ayrıntılı bilgi için XFree86-HOWTO dökümanlarına göz atabilirsiniz.Section "Files"
RgbPath "/usr/X11R6/lib/X11/rgb"
FontPath "/usr/X11R6/lib/X11/fonts/misc"
FontPath "/usr/X11R6/lib/X11/fonts/75dpi"
EndSection
İstediğimiz kadar yazıtipi girişi yapabiliriz. Üç tanım satırının arasına, örneğin X altında kullanacağımız Türkçe yazıtiplerini yerleştirelim. Bu yazıtiplerini daha önce kurmuş ve gerekli konfigürasyon işlemlerini yapmış olmanız gereklidir. X için Türkçe yazıtiplerini ftp.metu.edu.tr adresinde bulabilirsiniz. Adreste yazıtiplerinin nasıl kurulacağına ilişkin gerekli dökümanlar da bulunmaktadır.Section "Files"
RgbPath "/usr/X11R6/lib/X11/rgb"
FontPath "/usr/X11R6/lib/X11/fonts/misc"
FontPath "/usr/X11R6/lib/X11/fonts/75dpi"
FontPath "/usr/X11R6/lib/X11/fonts/turkce/75dpi"
EndSection
Klavye ve farenin tanımlandığı bölümler, ``Keyboard'' ve ``Pointer'' adı altındadır. Açıklama satırlarının başında ``#'' karakteri yeralır. Örnek dosyanın yeraldığı makinada farenin kullandığı protokol, ``MouseSystems'' olup hemen her standart fare için bu protokol önerilir. Diğer protokoller arasında Busmouse, Logitech, Microsoft, MMSeries, Mouseman, MouseSystems, PS2, MMHitTab/ vardır. X açıldığı zaman herşey yolunda gitmesine rağmen farenin ikonu hareket etmiyor veya ekranda deli gibi oradan buraya koşuşturuyorsa farenin kullandığı protokolü değiştirin. Bazı farelerin altındaki küçük anahtarın bulunduğu konumu değiştirmeniz de işe yarayabilir.Section "Keyboard"
Protocol "Standard"
Autorepeat 500 5
ServerNumLock
EndSection
Section "Pointer"
Protocol "MouseSystems"
Device "/dev/mouse"
Emulate3buttons # iki tuslu microsoft farede 3. tusun,
# iki tusla basilmasini saglamak icin...
ChordMiddle # 3 tuslu Logitech fareler icin
EndSection
Farenin kullandığı seri port /dev/mouse 'dur. Bu dosya, genellikle uygun olan bir seri arabirime (örneğin /dev/ttyS0) bağlıdır.XF86Config
dosyasının en önemli bölümü monitörle ilgili bilgilerin yeraldığı kısımdır. Bu bölümde monitörün yatay (Horizontal Sync) ,düşey frekansları (VertRefresh) ve frekans aralıklarıyla sürücü saat frekansı (dot-clock frequency) belirtilir. Kullandığınız monitörle ilgi konfigürasyon sırasında girilen bilgiler bu bölümde yeralır.Section "Monitor"
Identifier "CTX 5468 NI"
HorizSync 30-38, 47-50
VertRefresh 50-90
# Modes : Name Dotclock horiz vert
Modeline "640x480" 25 640 664 760 800 480 491 ...
...
EndSection
``Identifier'', kullanılan monitörün tipini verir. X bunu kullanmaz, istediğiniz herhangi bir kelimeyi yazabilirsiniz. HorizSync, monitörün yatay frekansını kHz cinsinden belirtir. VertRefresh ise monitörün tazeleme frekansı olup Hz cinsindendir. Her iki değer, frekans aralığı veya tek sayı olarak verilebilir.Section "Screen"
...
Depth 8
Modes "1024x768" "800x600"
ViewPort 0 0
Virtual 1024 768
EndSubsection
EndSection
Driver kısmında kullanılacak olan X sunucusunun tipi (SVGA, hızlandırılmış, vb.) girilir. S3, Weitek, ATI gibi hızlandırılmış bir görüntü kartı kullanılıyorsa ``Accel'', normal (generic) bir kart ve kaliteli bir monitör varsa ``SVGA'' ve siyah beyaz VGA bir monitörle birlikte tek renk (monochrome) destekleyen kart kullanılıyorsa ``VGA2'' yazılıdır./usr/X11/bin
olduğundan emin olun.$ startx
Ekranda X sunucunun dosyadan okuduğu satırlar ile ilgili bilgileri sırayla göreceksiniz. Ardından ekran kararacak ve X açılacaktır. Hevesinizi aldıktan sonra Control-Alt-Backspace (Delete değil! :) tuşlarına basın ve X sunucusunu öldürerek başladığınız vt100 terminaline geri dönün.$ startx > /tmp/hatalar 2>&1
Ekrana çıkması gereken tüm satırlar /tmp/hatalar
dosyasına yönlendirilecektir. Çipseti doğru olarak seçmek için SuperProbe
programını kullanabilirsiniz. Bu komutu kullandıktan sonra ekrandaki çıktıdan aldığınız bilgileri konfigürasyon sırasında programa girin.startx
komutu, ev dizini içindeki .xinitrc
dosyasını arar. Bulamazsa sistemde /usr/X11/lib/X11/xinit/
dizini içinde yeralan xinitrc dosyasını okur. Bu dosyanın içine X açıldığı zaman başlayacak olan programları koyabilir, ekranın renk düzenlemesini yapabilirsiniz. Örnek bir .xinitrc
dosyası aşağıdaki gibidir :#!/bin/bash
#
#start xterms
#
xterm -geometry 80x25+10+10 -bg black -fg white &
xterm -geometry 80x25 -bg darkgray -fg white &
xclock &
xload &
xbiff &
xsetroot -solid darkblue &
# startx wm
exec fvwm
#
.xinitrc
dosyası gayet kolay ve anlaşılır bir dile sahiptir. Sadece hangi X programlarını çalıştırmak istediğinizi buraya yazın ve arkaplanda bırakın (bunu unutursanız X'ten çıkıncaya kadar sadece ilk program çalışır). İlk iki satırda xterm çalıştırılıyor. Hemen hemen tüm X programlarının ortak özelliği, kullanıcının bu programları ekranda hangi koordinatlara yerleştirileceklerini belirleyebilmesidir. İlk xterm programı 80x25 karakter boyutlarında olup sol üst köşeden itibaren 10 piksel sola, 10 piksel sağa yerleştirilecektir. Xterm'ün arkaplan ve yazıtipi rengi sırayla -bg ve -fg parametreleriyle belirtilir. Renkler ingilizce isimleriyle verilir. Bunlar hakkında daha fazla bilgi için /usr/X11/lib/X11
dizini altındaki rgb.txt
dosyasına göz gezdirin.xsetroot
, bazı hoş özellikleri olan bir programdır. Bu satırdaki görevi, X Window arkaplan rengini koyu mavi yapmaktır. Unutmayın, .xinitrc
dosyasının içine X açılırken başlatmak istediğiniz her programı koyabilirsiniz..fvwmrc
dosyasını okumaya çalışır, bu dosyayı bulamazsa sistemdeki örnek fvwmrc dosyasını (/usr/X11/lib/X11/fvwm/system.fvwmrc
) açılış konfigürasyon dosyası olarak kabul eder. Eğer Slackware 3.0'dan daha yeni bir dağıtım kullanıyorsanız, sistemde X açarken öntanımlı olarak fvwm95 kullanıyor olacaksınız. fvwm95 pencere yöneticisinin örnek konfigürasyon dosyalarını /usr/X11/lib/X11/fvwm95-2
dizininde bulabilirsiniz. Beğeninize hitap eden pencere denetleyicisine uygun olarak sistemde yeralan örnek dosyayı kopyalayıp zevkinize göre istediğiniz değişiklikleri yapabilirsiniz. Burada fvwm'in birkaç özelliğine değinip örnek bir konfigürasyon dosyasındaki bazı satırları inceleyeceğiz.#set up colors
StdForeColor white
StdBackColor midnightblue
HiForeColor white
HiBackColor red
Font -adobe-helvetica-meduum-r-normal-*-*-120-*
WindowFont -adobe-helvetica-bold-r-normal-*-*-120-*
#
Farenin üzerinde kalan pencerelerin rengini (ki bu sırada pencereye klavyeden bilgi girişi yapılabilir) diğerlerinden ayırmak mümkündür. Böylece kullanıcı hangi pencerenin aktif olduğuna dair tereddüte düşmez. HiForeColor ve HiBackColor değerlerinin gösterdiği renk, aktif pencerenin rengidir. ForeColor, pencerede yeralan metnin rengi, BackColor ise pencere arkaplan rengini temsil eder.Style "xclock" NoBorder
Style "xbiff" StaysOnTop
Style "xterm" Sticky
İlk sırada yeralan komut ile xclock saat programı, fvwm tarafından penceresiz olarak ekrana konuyor. İkinci komut ile xbiff uygulama programı, üzerine hangi pencere gelirse gelsin üstte kalıyor. Sticky ise Pager yardımıyla pencere değiştirdiğiniz zaman istediğiniz programın ekranda eski yerini almasını sağlıyor.Popup "Menu ismi"
Title "XClients"
Exec "Mosaic" exec Mosaic &
Exec "xterm" exec xterm &
Exec "emacs" exec emacs &
Nop ""
Exec "rlogin" exec xterm -e rlogin orca &
Exec "telnet" exec xterm -e telnet &
Nop ""
Exec "xcalc" exec xcalc &
Exec "xman" exec xman &
EndPopup
Farenin tuşuna basılınca ekrana, exec kelimesinin sağında yeralan ve iki tırnak içine alınan menü başlıkları gelir. Her menü başlığının karşısında, o program seçildiği zaman çalışacak olan program yeralır. ``Nop'', menü üzerinde yatay bir çizgi çeker.$ xlsfonts
Ekran büyük bir hızla kayacak ve xinitrc dosyasının FontPath parametresinin gösterdiği dizin altındaki dosyaları temsil eden yazıtipleri ekrana gelecektir. Her satır, bir yazıtipi ismine tekabül eder. Görüldüğü gibi X altında kullanılan yazıtipleri isimleri gayet uzun olup toplam 14 parametreden oluşur. Bu satırlardan uygun olan birini seçip (örneğin kalın yazıtipini)$ xlsfonts | grep bold
veya belirli bir sırayı izlemek için $ xlsfonts -fn -*-*-bold-*-*-*-*-*-*-70-iso8859-9
komut satırı üzerinden diğer xterm'ü açabilirsiniz. $ xterm -fn -misc-fixed-bold-r-normal--13-100-100-100-c-70-iso8859-9
iso8859-9, içinde Türkçe yazıyüzlerinin bulunduğu standartı gösterir. xterm
altında -fn
parametresi ile rahatlıkla görülebilir, böylelikle Türkçe okuyabilirsiniz. ftp.metu.edu.tr adresinden temin edeceğiniz Turkcebdf.tgz paketinin içinden çıkan küçük program, Türkçe klavye dağılımını ayarlıyor. Bu program çalıştırıldıktan sonra Alt tuşu yardımıyla Türkçe karakterlerin basılmasını sağlanabilir. Örnek olarak Alt-u ile ü, Alt-i ile ı karakterleri görüntülenebilir.pine
'ın Setup->Config menüsünde ya da .pinerc
dosyasında bulunan character-set değişkenine iso8859-9 değerini vermelisiniz. elm
için de benzer şekilde .elmrc
dosyasında ayarlama yapılmalıdır.
ftp
vazgeçemeyeceğiniz bir program olacakır. # ftp linux.org.tr
yazın. Ekranda aşağıdaki gibi bir görüntü gelecektir. Ncftp, ftp yapmak için gerekli olan kullanıcı kodunu ve şifreyi kendisi gönderir ve otomatik olarak karşıdaki adrese bağlanır. Eğer ftp kullanıyor olsaydınız, kullanıcı kodu için anonymous veya ftp, şifre için de e-posta adresini girmeniz gerekecekti.linux:~$ ftp linux.org.tr
Connected to linux.org.tr.
220 metu FTP server (Version wu-2.4(1) Tue Aug 8 15:50:43 CDT 1996) ready.
Name (linux.org.tr:root): ftp
331 Guest login ok, send your complete e-mail address as password.
Password:
230-Welcome, archive user! This is an experimental FTP server. If have any
230-unusual problems, please report them via e-mail to root@metu
230-If you do have problems, please try using a dash (-) as the first character
230-of your password -- this will turn off the continuation messages that may
230-be confusing your ftp client.
230-
230 Guest login ok, access restrictions apply.
Remote system type is UNIX.
Using binary mode to transfer files.
ftp>
Karşıdaki makinaya bağlandık ve önümüze bir komut satırı çıktı. Bu komut satırında kullanılabilecek ftp komutlarının listesini görmek için ftp> help
yazın. Bir komut hakkında daha ayrıntılı bilgi elde etmek için ise 'help' komutunun hemen ardından ftp komutunu getirebilirsiniz. Şimdi patika ismini bildiğimiz bir dosyayı kendi hesabımıza çekelim. Öncelikle nerede olduğumuzu görelim. Bunun için Linux komutunun benzeri olan ls
veya dir
komutunu kullanın.ftp> dir
200 PORT command successful.
150 Opening ASCII mode data connection for /bin/ls.
total 9
drwxrwxr-x 8 root wheel 1024 Jan 7 1980 .
drwxrwxr-x 8 root wheel 1024 Jan 7 1980 ..
drwxrwxr-x 2 root wheel 1024 Jan 7 1980 bin
drwxrwxr-x 2 root wheel 1024 Jan 7 1980 etc
drwxrwxr-x 2 root wheel 1024 Dec 3 1993 incoming
drwxrwxr-x 2 root wheel 1024 Nov 17 1993 lib
drwxrwxr-x 12 root wheel 1024 Feb 14 08:08 pub
drwxrwxr-x 3 root wheel 1024 Jan 7 1980 usr
-rw-r--r-- 1 root root 312 Aug 1 1994 welcome.msg
226 Transfer complete.
Bir ftp adresine bağlandıktan sonra genelde her adreste yeralan pub , incoming, bin gibi dizinler göreceksiniz. Bunlardan şu an için işimize yarayanı pub dizini olacaktır. Bir dizine girmek için yine bir UNIX komutu olan 'cd' ve ardından 'pub' yazın.ftp> cd pub
Şimdi `pub' dizini altındayız. Genellikle her türlü program, uygulama yazılımı, ağ uygulamaları ve çeşitli dosyalar bu dizin altında bulunur. Burada hangi dosya ve dizinler olduğunu görelim.ftp> dir
200 PORT command successful.
150 Opening ASCII mode data connection for /bin/ls.
total 12
drwxrwxr-x 12 root wheel 1024 Feb 14 08:08 .
drwxrwxr-x 8 root wheel 1024 Jan 7 1980 ..
drwxr-xr-x 2 root root 1024 Feb 14 08:07 X
drwxr-xr-x 2 root root 1024 Feb 14 08:07 applications
drwxr-xr-x 2 root root 1024 Feb 14 08:07 development
drwxr-xr-x 2 root root 1024 Feb 14 08:08 distributions
drwxr-xr-x 2 root root 1024 Feb 14 08:07 docs
drwxr-xr-x 2 root root 1024 Feb 14 08:07 games
drwxr-xr-x 2 root root 1024 Feb 14 08:07 graphics
drwxr-xr-x 2 root root 1024 Feb 14 08:09 kernel
drwxr-xr-x 2 root root 1024 Feb 14 08:07 network
drwxr-xr-x 2 root root 1024 Feb 14 08:07 sunsite
226 Transfer complete.
ftp>
Örneğin 'kernel' dizini altında yeralan bir çekirdek dosyasını kendi makinamıza alalım.ftp> cd kernel
250 CWD command successful.
Ftp protokolünde, dosyaların bir makinadan diğerine taşınması esnasında dosyanın çalıştırılabilir (arşivler, sıkıştırılmış dosyalar ve diğerleri) veya metin dosyası olması hayati önem taşır. İnternet üzerinde, zamandan tasarruf amacıyla tüm dosyalar ASCII formatta taşınırlar. Çalıştırılabilir dosyalar 8 bitlik karakterlerden oluştuğu için bunları indirebilmek için taşıma işleminin 8 bit halinde yapılması gerekir. 'ftp' komutunu kullanıyorsanız çalıştırılabilir dosyaları çekmeden önceftp> binary
yazın. Dosyanın türünü bilmediğiniz durumlarda yine 'binary' komutunu kullanın. Siz en iyisi, ftp yaparken karşıdaki makinaya girdikten hemen sonra 'binary' yazın. ncftp
kullanırken program bunu sizin için otomatik olarak yapacaktır. linux-1.3.56.tar.gz
programını 'kernel' dizininin altına çekelim. Bunun için lcd
komutunu kullanalım.ftp> lcd /root/kernel
Local directory now /root/kernel
Artık istediğimiz dosyayı indirebiliriz. Dosyaları almak için get
komutu kullanılır. ftp> dir
200 PORT command successful.
150 Opening ASCII mode data connection for /bin/ls.
total 5838
drwxr-xr-x 2 root root 1024 Feb 14 08:09 .
drwxrwxr-x 12 root wheel 1024 Feb 14 08:08 ..
-rw-r--r-- 1 root root 5951488 Feb 14 08:10 linux-1.3.56.tar.gz
226 Transfer complete.
ftp> get linux-1.3.56.tar.gz
200 PORT command successful.
150 Opening BINARY mode data connection for linux-1.3.56.tar.gz (5951488 bytes).
226 Transfer complete.
5951488 bytes received in 26 secs (2.2e+02 Kbytes/sec)
26 saniye içinde yaklaşık 6 MB büyüklüğündeki dosyayı çektik. Sizin İnternet'e bağlantı hızınıza bağlı olarak dosyayı yerel diske yazma süresinde değişiklikler olabilir. Yukarıdaki işlemleri istediğiniz kadar tekrar edip gereken dosyaları çektikten sonra ftp'den çıkmak için ftp> quit
221 Goodbye.
komutunu kullanın. Sunucu makinayla bağlantınız kesilecek ve kabuk komut satırına geri döneceksiniz.httpd.conf
dosyasındaki ServerRoot (httpd yazılımının açıldığı yer) ve ServerName (makina ismi), srm.conf
dosyasındaki DocumentRoot (ana sayfanın dosyalarının tutulduğu dizin), ScriptAlias (CGI programlarının bulunduğu dizin) ve Directory (CGI programlarıın bulunduğu dizine ait parametreler) değişkenleridir. Dosyada hiç değişiklik yapmadan da sunucunun istediği dizinler üzerinde gerekli sembolik bağlantıları, istediğiniz dizini işaret edecek şekilde yerleştirmek mümkündür./etc/rc.d/rc.inet2
programının içinde httpd ile ilgili satırın başında varsa '#' karakterlerini kaldırın. Böyle bir satır yoksa aşağıdaki komutu ekleyebilirsiniz.httpd -f <konfigurasyon-dosyasi>
konfigürasyon dosyası yerine httpd.conf
dosyasının bulunduğu yer girilir. (örneğin /home/httpd/conf/httpd.conf
)<title> Burasi konunun yazilacagi yer </title>
<h1> Bu, 1 numarali baslik </h1>
HTML dunyasina hosgeldiniz. <br>
Birinci paragrafimiz. <p>
Bu da ikinci.. <p>
HTML yazarken, metnin Web programının anlayacağı şekilde gösterilebilmesi için belirteçler kullanır. Yukarıdaki örnekte:<title>
ve </title>
belirteçleri, dökümanın konusunu gösterir.<h1>
ve </h1>
belirteçleri, dökümanın başlığını tanımlar. <p>
belirteci, paragraf tanımlar.<title> Sayfamin konusu </title>
HTML, 1'den 6'ya kadar numaralanmış 6 çeşit başlık destekler. Başlıklar normal karakterlerden daha büyük ve kalın yazılırlar. Temel olarak,<Hy> Sayfamin basligi </Hy>
olarak tanımlanmış bir belirteçte y, 1 ile 6 arası bir değer alabilir. Y sayısı arttıkça yazıtipinin büyüklüğü azalır. Pek çok uygulamada, sayfanın konusu ile başlığını aynı tutabilirsiniz.HTML'ye hosgeldiniz <br>
Bu ilk paragraf <p>
Satır sonu belirteci : Paragraf, iki satır arasında bir satır boşluk bırakırken, satır sonu belirteci kullanıldığı kursör alta geçer ve takip eden tüm metin,boşluk bırakmadan bir alttan yazılır.Bu ilk satir. <br>
Ikinci satir daha uzun. <br>
Ama bu bir paragraf sonu.. <p>
Paragraflar ortalanırken <center> ve </center> belirteçlerinden yararlanılır. Ortalanması istenen tüm metin, bu iki belirtecin arasına yazılır.<center>
Linux Sayfasi
</center>
HTML'nin en büyük özelliklerinden birisi, tek sayfa ile sınırlı kalmamasıdır. Böylece bir sayfadan diğerine bağlantı yapılabilir. HTML'in bu görevini yerine getirmesini sağlayan belirteç <a>'dır. Dökümanınızdan başka dökümana bağlantı yapabilmek için:<a href="internet.html"> Internet nedir? </a>
Ekranda "İnternet Nedir?" yazısı belirecek ve kullanıcıdan burayı seçmeyi bekleyecektir. Kullanıcı fare ile bu yazı üzerine tıkladığında ise program kontrolü yine bir HTML dosya olan internet.html dosyasına bırakacaktır. Bu durumda bulunduğunuz dizinden farklı bir dizindeki dosyaya bağlantı yapmak isterseniz, o dosyanın ait olduğu dizini yazmak zorundasınız. Buna göre linux/shells/bash.html
dosyasını kullanabilmek için<a href="linux/shells/bash.html"> Bash </a>
şeklinde bir belirteç yazmak gerekir.URL-ismi://makina-ismi[:port]/dizinler/dosya-ismi
Burada URL,<a href=http://www.linux.org.tr/> Linux Kullanıcıları Grubu </a>
<ul>
<li> Elma
<li> Armut
</ul>
Örnek, ekranda şu şekilde görülür :<ol>
<li> Linux
<li> Digerleri :-)
</ol>
ekrana şunları yazar:<pre>
PATH=.:~/bin/:$PATH
export PATH
# Set up the terminal:
stty erase "^?" kill "^U" intr "^C" eof "^D"
stty hupcl ixon ixoff
date '+Tarih :%D'
TERM=vt100
</pre>
ekranda şu şekilde görünür : PATH=.:~/bin/:$PATH
export PATH
# Set up the terminal:
stty erase "^?" kill "^U" intr "^C" eof "^D"
stty hupcl ixon ixoff
date '+Tarih :%D'
TERM=vt100
Eğer Web sayfalarını gezerken grafik destekleyen bir program (Mosaic, Netscape) kullanıyorsanız, ekranda resimlerin, arkaplanların ve hatta animasyonların olduğunu farketmişsinizdir. Bu resimler genellikle X Bitmap (XBM) , GIF, veya JPG formatlı olurlar ve dosyaya görsel bir çekicilik katarlar. Buna rağmen aynı ekranda çok miktarda resim kullanmaktan sakınmalıdır, çünkü bu durumda resimler kullanıcıya daha geç bir sürede ulaşır.<img src="resmin bulundugu dizin">
demeniz yeterlidir. Burada, nasıl HTML dökümanların hepsi .html
ile bitiyorsa, tüm resim dosyalarının sonu da .xbm
, .gif
veya .jpg
ile bitmelidir.public_html
isimli bir dizin açın ve buraya girin. İstediğiniz örnek bir HTML dosyası yaratıp index.html
isminde kaydedin.$ cd ~
/home/gorkem
$ mkdir public_html
$ cd public_html
$ ls index.html
index.html
Ardından aşağıdaki satırları yazın. Burada web için kullanılan tarayıcı lynx'tir. Eğer X ortamında çalışıyorsanız Netscape de kullanabilirsiniz.$ lynx http://cclub.metu.edu.tr/~ilker
Hazırladığınız web sayfası ekrana gelecektir.Content-type: text/html
olmalı. İkincisi ise boş bir satır. Aşağıdaki C örneği bu konuda daha açıklayıcı olacaktır. Bundan sonra ekrana yazacağınız herşey web tarayıcısı tarafından HTML ile yazılmış bir döküman olarak değerlendirilecektir.helloworld.c
göruyorsunuz./* helloworldcgi.c -- ilk CGI programi. Bu program formdan gelen girdiyi
* dikkate almayip, sadece ekrana(html tarayicisina) 'hello world' yazisini
* basar
*/
#include <stdio.h>
main (){
/* DIKKAT!!! asagidaki satir olmazsa programiniz calismaz.
*/
printf("Content-type: text/html\n\n");
printf("hello world!");
}
Aynı örneği bir bash programı olarak yazacak olsaydık:#!/bin/bash
# CGI icin ornek kabuk programi
echo 'Content-type: text/html'
echo
echo
echo 'hello world!'
Bu dökümanın bundan sonraki kısmındaki örnekler C için hazırlanmıştır. CGI programı yazmak için gereken daha fazla bilgi sadece, C (ya da ilgili dil) ve HTML bilgisine ek olarak sadece programınızın girdiyi nasıl alacağı. C için en sevdiğiniz C kitabını, HTML içinse İnternet üzerinde bulacağınız dökümanları öneririz.<hr>
<p>
<form method="POST" action="http://penguen.cclub.metu.edu.tr/cgi-bin/deneme"<P>
E-mail adresiniz : <INPUT NAME="e-mail" SIZE=38></P><P>
Isminiz : <INPUT NAME="isim" SIZE=42><P>
Buraya birseyler yazabilirsiniz: <P>
<TEXTAREA name="body" rows=10 cols=50> birseyler </TEXTAREA>
<P>
<input type="submit" value="Gonder">
<input type="reset" value="Temizle"></P>
</FORM>
<p>
<hr>
Form, hayali penguen.cclub.metu.edu.tr adresi üzerindeki "deneme" isimli programı çalıştıracak şekilde ayarlanmıştır.