awk'in cut komutu şeklinde kullanımı:



Ornek:

echo "6/2/6268A17E8C0"

Ekran Ciktisi:

6/2/6268A17E8C0


Komut:

echo "6/2/6268A17E8C0"|awk -F "/" ''

Sonuc:

6268A17E8C0


Komut:

echo "6/2/6268A17E8C0"|awk -F "/" ''

Sonuc:

626268A17E8C0


Not:

awk'da -F parametresi verilen delimiter'e gore bolundirme yapar.

Grub ile Single User Mod (Tek Kullanılıcılı Mod) Acılışı

1 ) Giriş




Bu dokumanda GRUB ile nasıl Single User Mod'da acılış yapılabileceği gosterilmektedir.Bu işleme en cok ihtiyac duyulabilecek ornek olarak root şifresini bilmediğiniz yada unuttuğunuz durumda kullanım verilebilir.




2 )Kurulum




uzerinde herhangi bir GRUB yukleyici bulunan Linux ve/veya *nix işletim sistemi.




3 )Adım Adım Yapilmasi Gerekenler


LILO (Linux Loader) ile Linux yuklendiği zaman bildiğiniz uzere LILO satırında linux 1 yazıp Enter'a basmak yeterli olmaktadır.

Ancak GRUB cok daha kapsamlı ve gelişmiş bir yukleme yazılımı olduğundan GRUB ile ne yazıkki linux 1 şeklinde bir komut vermek gecerli olmayacaktır.

Bu durumda yapılması gerekenleri aşağıda adım adım bulabilirsiniz:

a-)Linux yuklu bilgisayar hangi cekirdek ile acılmak isteniyorsa GRUB 'ın grafik ekranı cıktığı kısımda ilgili kernel'ın uzerinde gelip "e" tuşuna basılır.

b-)Ekranda gorulen satırlardan kernel ile başlayan satır'ın uzerine gelinir ve tekrar "e" tuşuna basılır.

c-)Kernel ile başlayan satırın en sonuna "single" yazılır ve Enter'a basılır."b" tuşuna basılırsa sistem single user mod'da ve hic bir şifre sormadan root kullanıcı hakları ile acılacaktır.

Ve bizim GRUB menusu uzerinde yaptığımız hic bir değişiklik kalıcı olmayacaktır.

Cron dosyasi nerde?



Linux'da her kullanicinin kendi cron dosyasi kendi kullanici adi ile /var/spool/cron/ dizini icerisinde yer alır.

Genel olarak bir cron dosyasını duzenlemek icin ilgili kullanıcı ile calışırken crontab -e komutu yeterlidir.


Kullanıcımıza ait olan cron dosyasının iceriğini listelemek icin ise crontab -l komutu verilir.


Ancak cron dosyasının yedeğini alma ihtiyacı duyulunca yapılması gereken (bu ornek root kullanıcısı icin verilmiştir) cp /var/spool/cron/root /root/cron.backup şeklinde yedekleyebiliriz.

Pico Kullanımı (Metin Duzenleyici)

Pico Kullanımı (Metin Duzenleyici)



Pico, Linux'un ben bildim bileli en cok kullanılan metin duzenleyicisidir.Tum Linux dağıtımlarında da pico'yu bulmanız mumkundur.Linux'da herşey icin bir alternatif olması metin duzenleyiciler icinde gecerlidir.Yerine kullanabileceğiniz bircok metin duzenleyicinin(ornek vi editoru) olmasına rağmen diğerlerine gore daha kolay kullanımı sayesinde ilk sıradadır...Şimdi gelin bu kucuk belgeyle pico'yu nasıl ve hangi komutlarla kullanıcağı bir oğrenelim.



Oncelikle programı calıştırmak icin X ekranda veya terminalde(fark etmez) komut işlemcisine pico yazıyoruz.Karşımıza cıkan siyah ekranın alt bolumde kullanırken gerek duyacağınız komutlar yer almaktadır..

Herhangi bir dosyayı acmak icin Control + R tuşlarına basın.Karşınızdaki satıra dosyanın adını yazın ve enter'layın.

(Programın bazı surumlerinde dosya uzerinde değişiklik yapmak isterseniz, ayrıca A tuşuna basmanız gerekmektedir.Hatırlatırım..)

Dosyaya ekleyeceğiniz veya yazıcaklarınızı yazdıktan sonra Control + O tuşlarına basarak kaydetebilirsiniz...

Aşağıdaki komutlarda size gerek duyduğunuz kısımlarda yardımcı olacaktır.

Sola Git: Sol Ok Tuşu
Sağa Git: Sağ Ok Tuşu
Satırın Başına Git: Control + A
Satırın Sonuna Git: Control + E
Dosyayı Okumak/Acmak: Control + R
Dosyayı Kaydet: Control + O
Bulunduğunuz Satırı Sil: Control + K
Bir Sayfa Yukarı Cık: Control + Y
Bir Sayfa Aşağıya İn: Control + V
Dosyada Arama Yap: Control + W
Programdan Cık: Control + X
Pico Yardım Dosyası: Control + G

VI Editorune Hakim Olma

Uylaşımlar
Bu eğitsel yazıda aşağıdaki uylaşımlar kullanılacaktır:

^X bir kontrol karakterini gostermektedir. Orneğin eğer yazıda,^d gorurseniz bu, "control" tuşunu basılı tutarak ilgili harfe basacaksınız demektir. Bu ornek icin, "control" tuşunu basılı tutacak ve ardından d ye basacaksınız.


Başlamadan Once
Bu bolum, xterm gnome-terminali, kvt, aterm gibi modern terminal emulatorlerine sahip Linux kullanıcılarıyla ilgili değildir. Bu terminal pencereleriyle $TERM kabuk değişkeni daima doğru değeri alacaktır; bu yuzden bu konuda endişelenmenize gerek yoktur.

VI editoru tum ekranı kullanır; bu yuzden ne tur bir terminaliniz olduğunu bilmesi gerekir. Sisteme girdiğinizde, wiliki (wiliki, Hawaii Universitesindeki ana Muhendislik sunucusunun adıdır ) size hangi terminali kullandığınızı soracaktır. Karşınıza gelecek imlec şoyle gorunecektir:

TERM = (vt100)
Terminalinizin bir vt100 (veya vt100 gibi davranabilen bir emulator) olduğunu biliyorsanız, sisteme girdiğinizde terminal tipi icin "return" tuşuna basın. Eğer bir hp terminaliniz varsa, terminal turu icin "hp" yazın ve "return" e basın. Eğer ne tur terminaliniz olduğundan emin değilseniz sistem yoneticinize sorun veya sizin icin doğru terminal turunu ayarlayabilecek birinden yardım isteyin.


Eğer sisteme girdiğinizde bir hata yapar ve yanlış terminal turu girerseniz paniğe kapılmayın. Sistemden cıkın ve ayarları duzeltmek icin aşağıdaki komutları verin:

Once kabuğunuza ne tur terminale sahip olduğunuzu anlatmalısınız. ( Kabuğunuzun hangisi olduğunu bilmiyorsanız bunu oğrenmek icin echo $SHELL yazın.) Verilen orneklerde terminal turu "vt100" dur. Bunu kendi terminal turunuzle değiştirerek kullanmalısınız. C kabuğu (/bin/csh) icin komut şoyledir:


set term=vt100
Bourne Kabuğu (/bin/sh) veya Korn Kabuğu (/bin/ksh) icin komutlar ise şoyledir:

export TERM TERM=vt100
Ardından terminalinizi aşağıdaki komutla baştan ayarlayın:

tset
Artık terminal tipi (umuyoruz ki) doğru olarak ayarlandı ve VI'ı başlatmak icin hazırsınız.


VI Editorunu Başlatma
VI editoru, kullanıcıların yeni dosyalar yaratmasına veya varolan dosyaları değiştirmesine izin verir. VI editorunu başlatmak icin gereken komut, ardına dosya adı eklenerek verilecek vi komutudur. Orneğin gecici adlı bir dosyada değişiklik yapabilmek icin, vi gecici yazacak ve "return" tuşuna basacaksınız. VI'ı dosya adı olmadan da başlatabilirsiniz; fakat daha sonra calışmanızı kaydetmek istediğinizde VI'a hangi dosya adını kullanacağını belirtmek zorundasınız.

VI'ı ilk kez başlattığınızda sol tarafı tildelerle dolu bir ekran goreceksiniz. (Bir tilde şuna benzer: ~) Dosya sonundan sonraki tum boş satırlar bu şekilde gosterilir. Ekranınızın sonunda dosya adı gorunmelidir. Eğer onceden varolan bir dosya adı belirlediyseniz dosyanın boyutu da aynı yerde şu şekilde yazılı olmalıdır:


"dosya_adi" 21 lines, 385 characters
Eğer adını verdiğiniz dosya onceden yoksa, o zaman bunun yeni bir dosya olduğunu size şu şekilde gosterecektir:


"yeni_dosya" [New file]
Eğer VI'ı dosya adı olmadan başlattıysanız, ekranın son satırı VI başladığında boş olacaktır. Eğer ekranda bu beklenen sonuclar gorulmuyorsa terminal tipiniz yanlış ayarlanmış olabilir demektir. :q yazın ve VI'ın dışına cıkarak terminal tipinizi duzeltin. Nasıl yapılacağını bilmiyorsanız sistem yoneticinize danışın.


VI'ın Dışına Cıkma
Artık VI'a nasıl gireceğinizi bildiğinize gore nasıl cıkacağınızı da bilmeniz iyi olur. VI editoru iki mod a sahiptir ve VI'ın dışına cıkmak icin komut modunda olmanız gerekir. "Escape" veya "Esc" yazılı tuşa basın. (Terminalinizde boyle bir tuş yoksa ^[, veya control-[.) kombinasyonlarını deneyerek komut moduna gecin. Eğer "Escape" tuşuna bastığınızda zaten komut modunda iseniz, endişelenmeyin. Bir bip sesi gelebilir; fakat hala komut modunda olacaksınız.

VI'ı bırakmak icin komut :q dur. komut moduna girdiğinizde, "iki nokta ustuste" ve 'q' tuşlarının ardından "return" e basın. Eğer dosyanızda bir şekilde değişiklik yapılmışsa, editor bu konuda sizi uyaracak ve cıkmanıza izin vermeyecektir. Bu meajı gozardı etmek ve değişikikleri kaydetmeden VI'dan cıkmak icin :q! yazın.

Normal olarak bir editorde, yaptığınız değişiklikleri kaydetmeyi de isteyeceksiniz. Editorun iceriğini kaydetmek icin gereken komut :w dur. Bu komutu editorden cıkma komutuyla birleştirebilir ve :wq yazabilirsiniz. :w komutunun ardından bir dosya adı vererek yazdıklarınızı farklı bir dosya adıyla da kaydedebilirsiniz. Orneğin calıştığınız dosyayı dosya2 adıyla kaydetmek istiyorsanız: w dosya2 yazıp "return" e basmalısınız.

Değişikliklerinizi kaydedip VI'ı bırakmanın bir başka yolu ise ZZ komutudur. komut modundayken, ZZ yazın. Bu komut :wq ile aynı işi gorecektir. Dosyada herhangi bir değişiklik yapıldıysa bunlar kaydedilecektir. Bu yalnızca iki tuşa basarak editorden cıkmanın en kolay yoludur.


VI'ın İki Modu
Coğu kullanıcının VI editoru hakkında ilk oğrendiği şey, iki modunun olduğudur: komut ve yazım. komut modu, yazıda değişiklik yapabilmek icin gereken komutların girilmesine imkan verir. Bu komutlar genellikle bir ya da iki karakter uzunluğundadır ve cok az tuşa basarak girilebilir. yazım modu, klavyeden girilen her şeyin dosyaya yazılmasını sağlar.

VI komut modunda başlar. VI editorunu yazım moduna sokan bircok komut vardır. Bunalrın en sık kullanılanları ise a ve i dir. Bu iki komut aşağıda tanıtılmaktadır. Bir kez yazım moduna girdiğinizde, escape tuşuna basarak bu moddan cıkabilirsiniz. Eğer terminaliniz bunu desteklemiyorsa, ^[ birleşimi işe yaramalıdır(control-[). "escape" tuşuna iki kez basarsanız VI kesinlikle komut modunda olacaktır. Onceden komut modunda olmanız halinde escape e basmanız, editoru komut modundan cıkartmaz. Yalnızca, zaten komut modunda olduğunuzu size anlatan bir bip sesi duyabilirsiniz.


Komut Modunda Komutların Yazılması
Komut modu komutları genellikle şu bicimdedir: (Secime bağlı argumanlar, koşeli parantezler icinde verilmektedir)


[sayı] komut [nerede]
Kontrol karakterleri kullanan komutlar da dahil coğu komutlar bir karakter uzunluğundadır. Bu bolumde tanıtılan komutlar, VI editorunde en sık kullanılan komutlardır.
sayı, 1'den 9'a kadar olan rakamlardan herhangi biriyle başlayabilen bir sayıdır. Orneğin x komutu, imlecin altındaki bir tek karakteri siler. Eğer komut modundayken 23x yazarsanız, 23 karakter silinecektir.

Bazı komutlar secime bağlı bir nerede parametresi kullanabilirler. Bu parametreyle belgenin kac satırının ya da ne kadarının komuttan etkilendiği verilebilir. nerede parametresi aynı zamanda, imleci hareket ettiren herhangi bir komut olabilir.


Bazı Kolay VI Komutları
Bir kullanıcının VI'a yeni başlayabilmesi icin gereken bazı basit komutlar buradadır. Daha bircok uygun komut ileriki bolumlerde ele alınacaktır.

a
yazım moduna gir. Yazılan karakterler imlecin o anki yerinden sonraya eklenecektir. Bir sayı belirtirseniz, girilmiş olan yazının butunu o sayı kadar tekrar yazılacaktır.
h
imleci sola bir karakter hareket ettir.
i
yazım moduna gir.Yazılan karakterler imlecin o anki yerinden onceye eklenecektir. Bir sayı belirtirseniz, girilmiş olan yazının butunu o sayı kadar tekrar yazılacaktır.
j
imleci bir satır aşağı hareket ettir.
k
imleci bir satır yukarı hareket ettir.
l
imleci sağa bir karakter hareket ettir.
r
imlecin altındaki bir karakteri değiştir. Birden fazla karakteri değiştirmek icin sayı belirtin.
u
dosyadaki son değişikliği geri al. u komutunu tekrar vermek değişikliği yeniden yapacaktır.
x
imlecin altındaki bir karakteri sil. Sayı kac karakter silineceğini belirtir. İmlecten sonra gelen karakterler silinecektir.

VI'da Yazı Tamponları (Text Buffers)
VI editoru yazı parcacıklarını depolayacak 36 tampona ve bir de genel amaclı tampona sahiptir. Dosyadan bir yazı bloğu silindiğinde ya da kopyalandığında, bu parca genel amaclı tampona yerleştirilir. Coğu VI kullanıcısı diğer tamponları nadiren kullanır ve onlar olmadan da rahat edebilir. Eğer belirtilirse, yazı bloğu başka bir tamponda da saklanır. Tampon, " komutu kullanılarak belirtilir. " yazdıktan sonra, tamponu belirleyen bir harf veya hane girilmelidir. Orneğin, "mdd komutu, m tamponunu kullanır ve son iki karakter, bulunulan satırı sildirmeye yarar. Benzer şekilde yazı, p veya P komutları kullanılarak yapıştırılabilir. "mp komutu, m tamponunun iceriğini imlecin bulunduğu yerden sonraya yapıştırır. Sonraki iki bolumde kullanılan komutlar icin bu tamponlar, kelime veya paragrafların gecici depolama yerleri olarak belirlenebilir.


Kesme ve Kopyalama
Kesme icin genel olarak kullanılan komut d dir. Bu komut, yazıyı dosyadan siler. Komuttan once secime bağlı olarak bir sayı kullanılabilir ve ardına da bir hareket ettirme ozelliği eklenebilir. Eğer komutu tekrarlayarak dd yazarsanız, bulunulan satırı silersiniz. İşte bunların birkac farklı birleşimi:

d^
imlecin bulunduğu yerden satırın başına kadar siler
d$
imlecin bulunduğu yerden satırın sonuna kadar siler
dw
imlecin bulunduğu yerden sozcuğun sonuna kadar siler
3dd
imlecin bulunduğu yerden itibaren aşağıdaki uc satırı siler.
Bir de y komutu (kopyalama komutu) vardır ki, d komutuna benzer calışırken dosyadaki yazıyı silmeden onu alır.


Yapıştırma
Yapıştırma komutları p ve P dır. Tek farkları ise, p belirlenen veya genel tamponu imlec pozisyonundan sonra yapıştırırken; P nin imlecten once yapıştırmasıdır. Yapıştırma komutundan once bir sayı belirtmek, yazıyı belirlenen sayı kez tekrar yapıştırır.


Kodunuzu Hizalama ve Kontrol Etme
VI editoru, programcıların kodlarını istedikleri duzgunlukte bicimlendirmelerine yardımcı olacak ozelliklere sahiptir. Kodun icindeki her yuvalanma seviyesindeki hizayı ayarlayacak bir değişken vardır. Bunu ayarlamak icin bu yazının ozelleştirme bolumu ne goz atın. Orneğin, kaydırma genişliğini(shiftwidth) 4 karaktere ayarlamak icin gereken komut :set sw=4 tur.

Aşağıdaki komutlar satırlarınızı hizalar veya hizalamayı kaldırır. Bunlarla beraber bir sayı da belirtilebilir:

>
Bulunulan satırı bir kaydırma genişliği saga kaydırır.
VI editoru aynı zamanda kaynak kodunuzu, tek kalan parantez olup olmadığını kontrol etmek icin inceleyen bir ozelliğe sahiptir. % komutu, bir sağ paranteze karşı gelen sol parantezi aramaya (ya da tam tersi) yarar. İmleci bir parantezin ya da koşeli parantezin uzerine getirip % yazarsanız ona kaşılık gelecek parantez bulunacaktır. Karşılığı olmayan bir parantez bulunursa, VI bip sesi cıkartarak size bunu gosterecektir.


Kelime ve Karakter Arama
VI editoru iki ceşit aramaya sahiptir: katar veya karakter. Bir katar aramak icin, / ve ? komutları kullanılır. Bu komutları verdiğinizde yazdıklarınız, aradığınız katarı girdiğiniz ekranın en alt satırında gorulecektir. Bu iki komut yalnızca katarı aradıkları yonler acısından farklıdır. / komutu dosyada aşağı doğru arama yaparken, ? komutu yukarı doğru arama yapar. n ve N komutları onceki aramayı, sırasıyla, aynı veya zıt yonde tekrar ederler. VI'da bazı karakterlerin ozel anlamı vardır. Bunların, aranan ifadenin bir parcası olabilmeleri icin onlerine birer "" karakteri konmalıdır.

Ozel karakterler:

^
Satırın başı. (Aranan bir ifadenin başında.)
.
Tek bir karaktere karşı gelir.
*
Kendinden onceki karakterin sıfır veya daha fazla tekrarına karşı gelir.
$
Satırın sonu. (Aranan bir ifadenin sonunda.)
[
Bir dizi uyan veya uymayan karakteri başlatır.Orneğin: /f[iae]t şunlardan herhangi birine uyar: fit fat fet
^ ile kullanıldığında ise "[ ]" icindeki harfler dışında her şeye uyar: /a[^bcd] şunların hicbirine uymayacaktır: ab ac ad ;fakat a harfinin yanında b c d olmayan tum katarlara uyacaktır.
<
Birsozcuğun başlangıcını veya sonunu bulmak icin "" ardından bir ifade yazın.Orneğin: / yalnızca kaz sozcuğunu bulur; ikaz ve kaza gibi sozcukleri bulmaz.
>
Yukarıdaki ' komutları icin kullanılır.) Orneğin şu komutla kaydırma genişliğini 4'e ayarlarsınız: :set sw=4.
showmode (smd)
Bu secenek, editorun, icinde bulunduğunuz modunu gosterir. Eğer yazım modundaysanız ekranın en alt satırında INPUT MODE yazacaktır.
warn
Bu secenek, dosyada değişiklik yapıp henuz kaydetmediğiniz durumda sizi uyaracaktır.
window (wi)
Bu secenek VI'ın kullandığı penceredeki satırların sayısını ayarlayacaktır. Orneğin VI editorunu ekranınızın yalnızca 12 satırını kullanmak uzere ayarlamak istiyorsanız (orneğin modeminiz yavaş olduğu icin) şunu kullanmanız gerekecektir: :set wi=12.
wrapscan (ws)
Bu secenek kelime aramanın davranışını etkiler. Eğer wrapscan acıksa ve sozcuk dosyanın sonuna kadar bulunamadıysa aramaya baştan başlayacaktır.
wrapmargin (wm)
Bu secenek sıfırdan buyuk bir değer alırsa, editor kendiliğinden "word wrap" yapacaktır. Yani, sol kenardan belirtilen sayı kadar boşluk iceri girerseniz, 'return' e basmanıza gerek kalmadan sozcuk alt satıra inecektir. Orneğin, kenar kalınlığını (wrap margin) iki karaktere ayarlamak icin şunu yazmanız gerekecektir: :set wm=2.

Kısaltmalar ve Tuşları Başka Tuşlara Haritalama
VI editorunde yararlanılan bir EX editoru komutu abbreviate tir. Bu ozellik, belirtilen katarlar icin kısaltmalar yapabilmenizi sağlar. Komut şuna benzer: :ab katar yerine konulacak şey. Orneğin "Humuhumunukunukuapua`a" adını yazmak zorundaysanız ama butun ismi yazmak istemiyoranız bunun icin bir kısaltma kullanabilirsiniz. Bu ornek icin komutumuz şoyle girilebilir:
:ab 9u Humuhumunukunukuapua`a
Artık her 9u yazışınızda (ayrı bir kelime olarak), VI belirtilen kelime ya da kelimeleri girecektir. Eğer 9university yazarsanız bu kelimeyi değiştirmeyecektir.

Onceden belirtilmiş bir kısaltmayı kaldırmak icin gereken komut unabbreviate 'tir. Onceki orneği kaldırmak icin gereken komut ":una 9u" olacaktır. Kısaltmalarınzın bir listesini gorebilmek icin :ab yazmanız yeterlidir.

Ozelleştirme icin yararlı bir diğer EX editoru komutu haritalandırma komutudur. İki ceşit haritalandırma komutu vardır. Biri komut modu, diğeri yazım modu icindir. Bu iki komut sırasıyla :map ve :map! komutlarıdır. Haritalandırma, kısaltmaya benzer calışır. Ona bir tuş sıralaması verir ve onunla yer değiştirecek bir başka tuş sıralaması daha verirsiniz. (Yer değiştirilen tuş sıralamaları genellikle VI komutlarıdır.)


EXINIT Cevresel Değişkeni ve .exrc dosyası
VI editorunu ozelleştirmenin iki yolu vardır. Ana dizininizde .exrc adlı bir dosya yaratırsanız dosyadaki tum komutlar VI'ın acılışında okunacatır. Diğer yontem ise EXINIT adlı bir cevresel değişkeni ayarlamaktır. Secenekler, kabuğunuzun ayar dosyasında ayarlanacaktır. Eğer /bin/csh (C-Shell) kullanıyorsanız, gereken komut .cshrc dosyasına yazılır ve şoyledir:


setenv EXINIT '...'
Eğer /bin/sh veya /bin/ksh kullanıyorsanız, gereken komut .profile dosyasına yazılır ve şoyledir:

export EXINIT EXINIT='...'
Ornekteki gibi ... koymayın. Bu boşluğa, ayarlamak istediğiniz komutları girin. Orneğin, otomatik hizalama, satır numaralama ve uc karakterlik kenar genişliği ayarlamak istiyorsanız (C kabuğu icin) setenv komutu şoyle olacaktır:

setenv EXINIT 'set ai nu wm=3'
Eğer setenv EXINIT in icine birden fazla şey koymak istiyorsanız komutları bir boru ile ayırın (|). Orneğin komut modundaki 'g' komutunu 'G' ile değiştirmek icin komut :map g G, ve yukarıdaki komutla birleştirilerek şunu elde edersiniz:

setenv EXINIT 'set ai nu wm=3|map g G'
.exrc dosyasını yaratmak istiyorsanız, tamamen aynı şeyleri EXINIT den sonra gosterildiği gibi dosyaya yazmalısınız.


Terminalinizde Bir Sorun Olduğunda Calışmalarınızı Kurtarma
VI editoru, dosyanızın gecici bir kopyasını yazar ve siz ona kaydetmesini soylediğinizde veya yazma işi bittiğinde gecici kopyanıniceriğini asıl dosyaya koyar. Eğer doyanızı yazarken bir sorun cıkarsa VI editoru yaptığınız tum calışmaları kaydetmeye calışacak ve daha sonra kurtarmak icin depolayacaktır. (Not: Eğer siz herhangi bir dosya uzerinde calışırken VI olurse, size calışmanızı nasıl kurtaracağınıza dair bir elektronik ileti yollayacaktır. -r seceneği kurtarma anlamına gelen 'recovery' sozcuğu yerine gecer. Orneğin hayati dosyasında değişiklik yaparken kazayla sistemden cıktıysanız vi editorunun -r seceneği yardımcı olacaktır. Komut hemen hemen şuna benzeyecektir:
vi -r vitalinfo
-r seceneğini bir kez kullandıktan sonra kurtardığınız calışmayı kaydetmeniz ŞARTTIR. -r seceneği her kusurlu işleme icin bir kez işe yarayacaktır.


İş-İstasyonlarında VI Kullanımıyla İlgili Uyarı
İş-istasyonlarını kullanırken dikkat edilecek iki şey vardır: Aynı dosyayı aynı anda birden fazla yerde değiştirmek ve ekranın boyutunu değiştirmek.

VI asıl dosyanızın gecici bir kopyasını oluşturup bu kopyanın iceriğini dosyanın aslına kaydettiği icin, birden fazla konsoldan sisteme girmiş olmanız ve bir dosyayı birden fazla yerde VI kullanarak değiştiriyor olmanız durumunda bir pencerede kaydeder ardından da bir başka pencerede kaydederseniz ilk kayıt işleminde yaptığınız değişiklikler, ikinci kayıt tarafından silinecektir. Bu yuzden VI da her dosyanın bir tek kopyasını calıştırdığınızdan emin olun.

Bir iş-istasyonunda bir terminal programı kullanıyorsanız, ekranın boyutunu pencerenin kenarlarını surukleyerek değiştirebilirsiniz. Eğer bu ozellik duzgun calışmıyorsa bunun icin gereken komut :


eval `resize`
Bu da işe yaramazsa komutumuz:

eval `/usr/bin/X11R6/resize`
olacaktır. Bu, VI'ın ozellikle Vim gibi yeni surumleri icin nadir rastlanabilecek bir sorundur.
VI Komutlarının Ozeti
Bu liste VI komutlarının fonksiyonlarına gore sınıflandırılmış bir ozetidir. Erişilebilir başka komutlar da olabilir bu yuzden VI uzerine yazılmış elyordam sayfası adresini ziyaret edin. Kolay kullanım icin bu dosyayı kaydedebilir ve kullanmayacağınızı duşunduğunuz komutları silerek daha kısa bir dosya elde edebilirsiniz.

Kesme ve Yapıştırma/Yazı Silme
Yeni Yazı Yazma
İmleci Dosyanın İcinde Hareket Ettirme
İmleci Ekran Etrafında Dolaştırma
Yazıların Yerlerini Değiştirme
Yazı veya Karakter Arama
Karakter/Satır Bicimlemelerini(Formatting) Değiştirme
Kaydetme ve Cıkma
Derleme
EX Komutları
Kesme ve Yapıştırma/Yazı Silme

"
Tampon kullanan herhangi bir komut tarafından kullanılacak tamponu belirle. " işaretinden sonra bir tampona karşı gelecek hane ya da harf gir.
D
İmlecin bulunduğu yerden satır sonuna kadar sil.
P
Belirtilen tamponun iceriğini imleci bulunduğu yerden veya satırdan onceye yapıştır. Eğer tampon belirtilmemişse 'P' genel tamponu kullanacaktır.
X
İmlecin bulunduğu yerden onceki karakteri sil.
Y
Bulunulan satırı belirtilen tampona kopyala. Eğer tampon belirtilmemişse genel tampon kullanılacaktır.
d
nerede ye kadar sil. "dd" bulunulan satırı siler. Sayı verilirse o kadar satır silinir. Silinen her şey " komutuyla belirtilen tampona yerleştirilir. Eğer tampon belirtilmemişse genel tampon kullanılacaktır.
p
Belirtilen tamponun iceriğini imleci bulunduğu yerden veya satırdan sonraya yapıştır. Eğer tampon belirtilmemişse 'p' genel tamponu kullanacaktır.
x
İmlecin altındaki karakteri sil. Sayı verilirse o kadar karakter silinir. Karakterler imlecten sonra silinecektir.
y
nerede ye kadar kopyala ve sonucu tampona yerleştir. "yy" bulunulan satırı kopyalar. Tampon " komutuyla belirlenebilir. Sayı verilirse o kadar satır kopyalanır. Eğer tampon belirtilmemişse genel tampon kullanılacaktır.
Yeni Yazı Yazma

A
Bulunulan satırın sonuna ekle.
I
Bir satırın başından itibaren yaz.
O
(Harf olan O ) Bulunulan imlec pozisyonunun ustundeki yeni satırda komut moduna gir.
a
komut moduna gir. Yazılan karakterler bulunulan imlec pozisyonundan sonra yazılcaktır. Sayı belirtilirse girilen yazı o kadar tekrar edilerek yazılacaktır.
i
komut moduna gir. Yazılan karakterler bulunulan imlec pozisyonundan once yazılacaktır. Sayı belirtilirse girilen yazı o kadar tekrar edilerek yazılacaktır.
o
Bulunulan imlec pozisyonunun altındaki yeni satırda komut moduna gir.
İmleci Dosyanın İcinde Hareket Ettirme

^B
Bir sayfa geriye don. Sayı verilirse o kadar sayfa geri donulecektir.
^D
Yarım pencere ileri git. Sayı verilirse o kadar satır ileri gidilecektir.
^F
Bir sayfa ileriye git. Sayı verilirse o kadar sayfa ileri gidilecektir.
^H
İmleci sola bir karakter oynat. Sayı verilirse o kadar karakter gidilecektir.
^J
İmleci aynı kolonda bir satır aşağı oynat. Sayı verilirse o kadar satır aşağı inilecektir.
^M
Bir sonraki satırın ilk karakterine git.
^N
İmleci aynı kolonda bir satır aşağı oynat. Sayı verilirse o kadar satır aşağı inilecektir.
^P
İmleci aynı kolonda bir satır yukarı oynat. Sayı verilirse o kadar satır yukarı cıkılacaktır.
^U
Yarım pencere geri git. Sayı verilirse o kadar satır geri gidilecektir.
$
İmleci bulunulan satırın sonuna Sansurlenmiştir.ur. Sayı verilirse takip eden satırların sonuna gidilecektir.
%
İmleci karşılık gelen parantez veya koşeli parantezlerin uzerine Sansurlenmiştir.ur.
^
İmleci, boşluk olmayan ilk karakterin uzerine Sansurlenmiştir.ur.
(
İmleci cumlenin başına Sansurlenmiştir.ur.
)
İmleci bir sonraki cumlenin başına Sansurlenmiştir.ur.

İmleci sonraki paragrafa Sansurlenmiştir.ur.
|
İmleci sayı ile belirtilen kolona Sansurlenmiştir.ur.
+
İmleci, sonraki satırda boşluk olmayan ilk karakterin uzerine Sansurlenmiştir.ur.
-
İmleci, onceki satırda boşluk olmayan ilk karakterin uzerine Sansurlenmiştir.ur.
_
İmleci, bulunulan satırda boşluk olmayan ilk karakterin uzerine Sansurlenmiştir.ur.
0
(Sıfır) İmleci bulunulan satırın ilk kolonuna Sansurlenmiştir.ur.
B
İmleci, noktalama işaretlerini atlayarak, bir kelime geriye Sansurlenmiştir.ur.
E
İleri doğru, noktalama işaretlerini atlayarak, kelimenin sonuna git.
G
Sayı ile belirtilen numaralı satıra git. Eğer sayı verilmemişse dosyanın sonuna git.
H
İmleci, ekranın başındaki ilk boşluk olmayan karaktere Sansurlenmiştir.ur.
L
İmleci, ekranın sonundaki ilk boşluk olmayan karaktere Sansurlenmiştir.ur.
M
İmleci, ekranın ortasındaki ilk boşluk olmayan karaktere Sansurlenmiştir.ur.
W
İleri doğru, noktalama işaretlerini atlayarak, kelimenin başına git.
b
İmleci geriye doğru bir kelime Sansurlenmiştir.ur;eğer imlec bir kelimenin ortasındaysa imleci o kelimenin ilk karakterine Sansurlenmiştir.ur.
e
İmleci ileriye doğru bir kelime Sansurlenmiştir.ur;eğer imlec bir kelimenin ortasındaysa imleci o kelimenin son karakterine Sansurlenmiştir.ur.
h
İmleci bir karakter sola Sansurlenmiştir.ur.
j
İmleci bir satır aşağı Sansurlenmiştir.ur.
k
İmleci bir satır yukarı Sansurlenmiştir.ur.
l
İmleci bir karakter sağa Sansurlenmiştir.ur.
w
İmleci bir kelime ileri Sansurlenmiştir.ur; eğer imlec bir kelimenin ortasındaysa imleci ondan sonraki kelimenin ilk karakterine Sansurlenmiştir.ur.
İmleci Ekran Etrafında Dolaştırma

^E
Bir satır ileriye git. Sayı verilirse o kadar satır ileri gidilir.
^Y
Bir satır geriye git. Sayı verilirse o kadar satır geri gidilir.
z
Ekranı aşağıdaki seceneklerle tekrar ciz. "z" bulunulan satırı ekranın en başına getirir; "z." bulunulan satırı ekranın ortasına getirir; ve "z-" bulunulan satırı ekranın sonuna getirir. 'z' komutundan once bir sayı belirtirseniz, bulunulan satırı verilen numaralı satır yapar. Orneğin, "16z." 16 numaralı satırı ekranın ortasına getirir.
Yazıların Yerlerini Değiştirme

C
Bulunulan yerden satırın sonuna kadar git.
R
Ekrandaki karakterleri, Escape tuşuna basılana kadar, girilen karakterlerle değiştir.
S
Butun bir satırı değiştir.
c
nerede ye kadar değiştir. "cc" bulunulan satırı değiştirir. Sayı verilirse o kadar satır değiştirilir.
r
İmlecin altındaki karakteri değiştir. Birden fazla karakteri değiştirmek icin bir sayı verilmelidir.
s
İmlecin altındaki karakteri değiştir ve komut moduna geri don. Birden fazla karakteri değiştirmek icin bir sayı verilmelidir. Yer değiştirilecek son karaktere bir dolar işareti ($) yerleştirilecektir.


Yazı veya Karakter Arama


,
Son f, F, t veya T komutunu ters yonde tekrarla.
/
/ dan sonra verilen katarı dosyanın icinde aşağı doğru ara.
;
Son f, F, t veya T komutunu tekrarla.
?
? den sonra verilen katarı dosyanın icinde yukarı doğru ara.
F
'F' komutundan sonra verilen karakteri, bulunulan satırda geriye doğru ara. Eğer bulunursa imleci oraya hareket ettir.
N
'/' veya '?' ile verilen son aramayı tekrar et. Ters yonde ara.
T
'T' komutundan sonra verilen karakteri, bulunulan satırda geriye doğru ara. Eğer bulunursa imleci ondan sonraki sutuna hareket ettir.
f
'f' komutundan sonra verilen karakteri, bulunulan satırda ara. Eğer bulunursa imleci oraya hareket ettir.
n
'/' veya '?' ile verilen son aramayı tekrarla.
t
't' komutundan sonra verilen karakteri, bulunulan satırda ara. Eğer bulunursa imleci o karakterden onceki sutuna hareket ettir.
Karakter/Satır Bicimlemelerini(Formatting) Değiştirme

~
İmlecin altındaki karakteri buyukse kucuk harfe, kucukse buyuk harfe cevir.
<
nerede ye kadar olan satırları sola bir kaydırma genişliği kaydır. ">" bulunulan satırı sağa kaydırır ve yanında bir sayı da verilebilir.
J
Bulunulan satırı oncekiyle birleştir. Sayı verilirse o kadar sayıda satır birleştirilir.
Kaydetme ve Cıkma

^
"VI" modundan cık ve "EX" moduna gir. EX editoru, VI'ın uzerine kurulu olduğu satır editorudur. VI a geri donmek icin gereken EX komutu ":vi" dır.
Q
"VI" modundan cık ve "EX" modunda gir. ex editoru satır satır calışan bir editordur. VI a geri donmek icin gereken EX komutu ":vi" dır.
ZZ
Bir değişiklik yapılmışsa değşiklikleri kaydederek editorden cık.
Derleme

^G
Bulunulan dosya adını ve dosyadaki yeri goster.
^L
Ekranı temizle ve yeniden goster.
^R
Yanlış satırları silerek ekranı yeniden goster.
^[
Escape tuşu. Tamamlanmamış komutları iptal eder.
^^
En son değiştirilen dosyaya geri don.
!
Bir kabuk calıştır. Eğer bir belirtilmişse ! kullanılarak calıştırılan program, bu belirtilen satır(lar)ı standart girdi olarak kullanır ve bu satırların yerine calıştırılan programın standart cıktısını koyar. "!!" ise, bulunulan satırı standart girdi olarak algılarak programı calıştırır. Orneğin, "!4jsort" bulunulan imlec pozisyonundan itibaren beş satır alacak ve sort komutunu calıştıracaktır. Bu komutu yazdıktan sonra, komutu girebileceğiniz bir tek unlem işareti olacaktır.
&
Onceki ":s" komutunu tekrarla.
.
Dosyayı değiştiren son komutu tekrarla.
:
Bir EX editoru komutu yazmaya başla. Kullanıcı bir kez return tuşuna bastığında komut calıştırılacaktır.(Aşağıdaki bolume bekınız.)
@
Belirtilen tampondaki komutu yaz.
U
Bulunulan satırı, imlec satıra girmeden onceki haline getir.
m
'm' komutundan sonra sonra belirtilen karakterle, bulunduğun pozisyonu işaretle.
u
Dosyada yapılan son değişikliği geri al. Tekrar 'u' yazmak değişikliği yeniden yapacaktır.
EX Komutları
VI editoru, EX adlı bir başka editor uzerine inşaa edilmiştir. EX editoru yalnızca satır satır değişiklik yapar. VI Editorunden bir EX komutu girmeye başlamak istiyorsanız : komutunu kullanırsınız. Burada verilen liste tam değildir; fakat verilen komutlar, en sık kullanılanlardır. Eğer belli komutlarla (orneğin ":s" ve ":w") birden fazla satır değişikliğe uğratılacaksa komuttan once değişiklik aralığı belirtilmelidir. Orneğin, 3 ten 15 e kadar olan satırlardaki "from" sozcuklerini "this" ile değiştirmek icin verilmesi gereken komut şoyledir: ":3,15s/from/this/g" .

:ab string strings
Kısaltma. Eğer VI'da string1 ile ilgili bir sozcuk yazılırsa editor kendiliğinden onunla bağlantılı sozcukleri girer. Orneğin, ":ab usa United States of America" kısaltması her "usa" girilişinde "United States of America" kelimelerini yazacaktır.
:map keys new_seq
Haritalama. Bu ozellik bir veya bir dizi tuşu bir veya bir dizi farklı tuşa haritalar.
:q
VI'dan cık. Eğer değişiklik yapılmışsa editor ekrana bir uyarı mesajı yollayacaktır.
:q!
Değişiklikleri kaydetmeden VI'dan cık.
:s/kalıp/değişen_kalıp/secenekler
Yer değiştirme. Bu, belirtilen "kalıp" ı "değişen_kalıp" ın yerine koyar. Secenekler olmadan yalnızca kalıbın ilk gorulduğu yerde değişikliği yapar. 'g' seceneği verilirse kalıbın her bulunduğu yerde değişiklik yapılacaktır. Orneğin, ":1,$s/Dwayne/Dwight/g" komutu "Dwayne" bulunan her yere "Dwight" yazacaktır.
:set [all]
VI ve EX icin bazı ozelleştirici komutlar katar. ":set all" komutu butun olası secenekleri gosterir. (Bazı secenekler icin, VI'ı ozelleştirme ile ilgili bolume bakınız.)
:una string
Onceden ":ab" ile tanımlanmış kısaltmayı kaldırır.
:unm keys
":map" tarafından tanımlanmış haritalandırmayı ortadan kaldırır.
:vi dosya_adı
Yeni bir dosya yazmaya başlar. Eğer değişiklikler kaydedilmemişse editor size bir uyarıda bulunacaktır.
:w
Bulunulan dosyayı yaz.
:w dosya_adı
Tamponun iceriğini dosya_adı ile belirtilen dosyaya yaz.
:w >> dosya
Tamponun iceriğini dosya nın sonuna ekle.
:wq
Tamponun iceriğini yaz ve cık.

WGET Kullanımı...

GNU wget, Linux altıdaki internetten dosya veya dizin indirmek icin kullanılan cok pratik bir arac. WGET'deki bircok parametre sayesinde herturlu indirme yontemini uygulamak mumkun. Ancak bu parametrelerin ne kadarını biliyoruz ne kadarını bilmiyoruz. İşte size pratikte benim encok kullandığım parametreler ve kullanımları hakkında pratik bilgiler:


Resume ozelliğini kullanmak:

Bunun icin wget komutunu eklemeniz gereken parametre "-c" . Bu sayede yarıda kalmış downloadları veya başka bir zaman devam etmek istediğinizde kullanabilirsiniz. Genelde boyutu buyuk olan dosyalardada kullanabilirsiniz. Mesela bir ISO dosyası indirirken.

Orn:

wget -c http://erkan.iqchoice.com/basisrelease.tar.gz

NOT: Ceryanlar gitse bile veya 3 gun sonra aklıma gelse ve download ettirsem, tekrar kaldıgım yerden devam eder indirmeye.
TIPS: Mirror A da bir X dosyası var diyelim. Aynı X dosyası mirror B de de var. Herhangi bir sebebden dolayı, diyelimki %30 den sonra download hızı cok duştu. Sorun değil. Aynı dosya oldukları icin mirror B den download etmeye "-c" parametresi ile devam edebilirsiniz. Gene kaldıgı yerden devam eder.




Komple dizini indirmek:

İnternetteki bir siteyi veya bir dizini komple olarak indirmek istediğinizde "-r" veya "--recursive" parametresini kullanabilisiniz.

Orn:

wget -r http://erkan.iqchoice.com/OGo

NOT: URL olarak verdiğiniz yer bir dizin olmak zorunda.
Download olurken domain ve alt dizin yapısı aynen iner. (/erkan.iqchoice.com/OGo/ şeklinde)

"-r" parametresi ile "OG0" dizini benim bilgisayarıma dizin olarak indirilir. Eğer "OGo" dizininin yapı olarak inmesini istemiyorsa "-r -nd" parametresini kullanabilirim. Bu sayede "OGo" diye extra bir dizin oluşmaz ve sadece internetteki "OGo" dizinindeki ve altındaki dosyalar local PC me indirilir.

DIKKAT: "-r -nd" komutunu verirsem, aynı isimli dosya varsa, enson indirilen dosya local PC ye kaydolur. Diğeri ise otomatikman MOVE olur.


Eğer indirmek istediğiniz internet adresinin domain on takısını almak istemiyorsanız, "-nH" ekleyebilirsiniz:

Orn:

wget -r -nH http://erkan.iqchoice.com/OGo

NOT: Bu komutta domain dizin yapısı yerine sadece "OGo" dizin yapısı alınır.
(Sadece "/OGo" dizini şeklinde)



Soru:
İyi guzel ama bu başka dizinleride downlaod ediyor ? Oysa ben sadece belirli bir dizini download etsin istiyom.

Tabi. Eğer sizin belirlediğiniz bir dizinden başka dizinin download edilmesini istemiyorsanız "-m" veya "--mirror" paremetresine "-np" (--no-parent) eklediğinizde istediğiniz olur

Orn:

wget -m -np http://erkan.iqchoice.com/OGo

NOT: Bu sayede sadece verilen adresdeki dosyalar download edilir. Bunun dışına cıkılmaz.



Filter kullanmak veya sadece belirli dosyaları indirmek:

Bazen indirmek istediğiniz dizinde 100 lerce dosya vardır ama siz sadece bunlardan belirli dosyaları indirmek isteyebilirsiniz. Bu durumda JOKER(yıldız) "*" kullanamazsınız )

Aksine "-A" veya "--accept" kullanarak bu işinizi halledebilirsiniz.

Orn:

wget -r -A jpg,png http://erkan.iqchoice.com

NOT: Verilen URL adresinde ve alt dizinlerinde sadece JPG vePNG dosyaları indirilir.

Peki bunun tam tersi nasıl olacak ? Yani belirli bir filtre haricindeki butun dosyaları nasıl indireceksiniz?

Bunun icinde "-R" veya "--reject" kullanabilirsiniz.

Orn:

wget -r -R tar.gz,jpg http://erkan.iqchoice.com

NOT: Verilen URL adresinden tar.gz ve jpg dosyaları HARICINDE ne varsa indirir.



Proxy uzerinden kullanım:

Eğer bir proxy kullanıyorsanız , o zaman en guzel cozum /etc/wgetrc dosyasını acıp, ayar dosyasındaki satırdaki yere gerekli ayar yapmak.

Yada kısa sure icin proxy kullanıyorsanız veya sadece o dosya icin proxy kullanmak istiyorsanız;

export http_proxy=" http://meinproxy.provider.de:3128";
wget xxxxxxxxxxxxxxxxxxxxx

şeklinde kullanabilirsiniz.



Şifreli URL adreslerine wget ile erişim:

Download etmek istediğiniz bir adres herhangi bir şekilde şifrelenmiş ise ve bunu wget ile download etmek istiyorsanız, download işlemini 2 turlu yapabilirsiniz.

kolay yol:

wget http://KULLANICI:[email protected]/deneme.tar.gz
wget ftp://KULLANICI:[email protected]/deneme.tar.gz


Uzun yol:

wget ----http-user=KULLANICI --http-passwd=SIFRE http://erkan.iqchoice.com/deneme




Download'ı sınırlandırmak.

İnternet cıkışınız fazla değil ve bunu download icin harcamak istemiyorsanız "--limit-rate=INT_DEGER" şeklinde sınırlandırabilirsiniz.

Orn:

wget -c --limit-rate=4k http://erkan.iqchoice.com/basisrelease.tar.gz

NOT: Bu sayede sadece 4k ile indirilir.



Dosya icindeki URL adreslerinden download etsin

Her komut icin tekrar tekrar wget komutunu vermek istemiyorsunuz en guzel cozum butun dosyaların adreslerini bir text dosyası haline getirip "-i" veya "--input-file" parametresini kullanmak.

Orn:

wget -c --input-file=/home/erkan/download_dosyası

NOT: Dosya icinde belirtilen adresler indirilir.
DIKKAT: Dosyanın icini 1/2 dosya 1/2 dizin şeklinde yapmayın. Yoksa istediğiniz sonucu alamazsınız.



Local bilgisayarımda belirli bir adrese/dizine kaydolsun:

Wget iyi guzel ama komutu nereye verirsem oraya kaydediyor. Halbuki ben komutu verdiğim yere değil, aksine benim istedğimi bir yere kaydetmesini istiyorum.

Sorun değil, bunun icin "-P" veya "--directory-prefix" parametresini kullanabilirsiniz.

Orn:

wget -c http://erkan.iqchoice.com/basisrelease.tar.gz -P /home/erkan/my_downloadas/

NOT: Bu komut ile indirme işlemi komutu verdiğiniz yere değil, aksine "-P" ile belirlediğiniz yere yapılır.
Eğer belirtilen dizin yoksa otomatikman oluşturulur.



Sadece yeni / guncel dosyalar indirilsin:

Belirli bir adresden devamlı backup yapıyorsunuz veya dosya indiriyorsunuz. Aynı dosyaları tekrar indirmek biraz anlamsız olur. Peki napıcaksınız ?

Oda sorun değil. Bir adresden diyelim devamlı dosya indiriyuorsunuz. Ancak haftada bir kere. Ama her defasında aynı dosyaları indirmek istemiyosunuz. O zaman sadece en guncel dosyaları veya guncellenen dosyaları indirmek en doğrusu olacaktır. Bunun icin kullanılacak parametre ise "-N" veya "--timestamping" olacaktır.

Orn:

21.08.2003 de aşağıdaki komutu verdiniz:

wget -r -nH http://erkan.iqchoice.com/OGo


ve 21.09.2003 tarihinde aynı URL de acaba yeni dosya varmı yokmu diye kontrol edip, eğer varsa bunları indirmek istiyorsunuz:

wget -r -nH -N http://erkan.iqchoice.com/OGo


NOT: 2. işlemde sadece guncel olan dosyalar indirilir.



Passive FTP

Bazı FTP adreslerinden dosya indiremiyorum. Ama Browserden indirmeye calıştığımda normal olarak iniyor. Neden?

Bazı FTP serverleri sadece passive-ftp modunda izin verebilir. Bu durumda wget ile işlem yaparken
"--passive-ftp" parametresini eklemenizde fazda var.

Orn:

wget -c --passive-ftp ftp://erkan.iqchoice.com/basisrelease.tar.gz




LOG tutturmak:

Ben cok fanatik bir insanım ve istatistiklere onem veriyorum. WGET Log tutar mı?

Elbette tutar. Bunun icin "-o" veya "--output-file" parametresini kullanmanız yeterli olacaktır.

Orn:

wget -r -nH http://erkan.iqchoice.com/OGo -o log_dosyasi

NOT: Komuttan sonra bir "log_dosyasi" isminde dosya oluşur . İnceleyin.

Linux'la İletişimağı İşletimi ve Gozlemlenimi

Giriş
SNMP nedir?
Guvenlikle İlgilenim
MIB nedir?
SNMP'nin Geleceği Nedir?
Linux'la SNMP
MRTG: Coklu Yolverici Trafik Cizicisi
Diğer Programlar
Sonuclar Bu yazı ilk olarak Linux Jornal'da yayınlanmıştır. Yazarın izniyle, cevrilerek, buraya da alınmaktadır.

Giriş
Tum hesaplama olaylarinin iletişim ağı kavramı cevresinde dolaşır olduğu gunumuzde, sistem yonetmenlerinin işi gittikce altından kalkılmaz hale gelmektedir. Router, hub, sunumcu gibi kaynakların ve iletişimağındaki her kritik aygıtın kullanıma hazır tutulması yonetmenin temel gorevi olarak ortaya cıkmaktadır.

İşletmenlerin iletişimağı aygıtlarını denetim altında tutmaları icin cok sayıda neden bulunmaktadır. Bunlar arasında, bangenişliği kullanımı, bağlantıların yoneylem durumu, şişeboyunları, kablolama ya da aygıtlar arası bilgi aktarımındaki sorunlar gibi sıralanabilirler. İletişimağı etkinliğinin denetim altında tutulması da guvenlik sorunlarının ve olumsuz davranışların saptanması icin iyi bir başlangış noktası oluştururlar.

Bircpk durumda, bir kuruluşa ait iletişimağında uzaktaki iletişimağlarına (WAN: Geniş Alan İletişimağı) ya da Internet'e bağlantılar bulunur ve bu bağlantıların parasal Sansurlenmiştir.urulerinin belirlenmesinde butunuyle trafik hacmı taban alınabilir. Dolayısıilya bu bağlantılar uzerinden yapılan iletişimin istatistiğinin tutulması buyuk onem kazanİr. Bu X.25 bağlantılarının hala yaygın olduğu Avrupa'da cok yaygın olarak karşılaşılan bir gorevdir. Bu bağlantılar, gonderilen ve alınan paketler tabanında faturalandırılırlar.

Noktadan Noktaya veya Cer&#227;eve Gecikmeli turden bağlantılar genellikle duz bir tutar uzerinden faturalandırılırlar. Bunlarda telco denetim altında tutulması onemli olan bir bandgenişliği guvencesi ister.

Bu yazının son bolumunde, yonlendirici (router) arayuzlerindeki tafiğin denetim altında tutulmasına odaklanarak, bu bilginin buyuk bir grafiksel gosterilimiyle birlikte sunacağız. Bu, diğer tur bilgilerin denetim altında tutulmasında kullanılmak uzere de kolayca değiştirilebilir bir yapıdadır.

SNMP nedir?
Bu gereksinimlerin tumune yanıt olarak Basit İletişimağı İşletim Antlaşması (SNMP) adlı bir protokol verilebilir. 80'lerde tasarlanan SNMP'nun ilkbaştaki amacı farklı turden iletişimağlarının işletiminin, ıletişimağı'nda cok kucuk gerilmelere neden olabilecek basit bir tasarımla işletilmesiydi.

SNMP, TCP/IP aktarım duzey protokollerini kullanarak uygulama duzeyinde calışır. Dolayısıyla, altta yatan iletişimağı donanımı guzardı edebilir. Bu, işletim yazılımının IP'yi kullandığı ve bu yuzden de, yalnızca kendi fiziksel iletişimağına bağlı olanları değil, herhangi bir bağlı iletişimağındaki aygıtları denetleyebileceği anlamına gelir. Bunun sakıncalı yanları da vardır. Sozgelimi, IP yonlendiriminin iki aygıt arasınmda doğru calışmaması durumunda erekteki aygıta ulaşıp onu denetlemek ya da yeniden bicimlendirmek olanaksızdır.

SNMP mimarisinde iki ana oge bulunmaktadır: ajan ve yonetici. O bir sunumcu - istemci mimarisi olup ajan sunumcuya yonetici de istemciye karşılık gelmektedir.

Ajan denetim altında tutulan ya da yonetilen iletişimağı duğumlerinden her birinde calışan bir programdır. O, bicimlendirilmiş yapı icindeki ogelerin tumune bir arayuz sağlar. Bu ogeler, İşletim Bilgi Tabanı (MIB: Management Information Base) adını taşıiyan ve daha sonra acİklanacak olan bir veri yapısı icinde depolanırlar. Bu, yonetilecek bilgiyi alıkoyduğu surece sunumcu tarafı olup istemciden gudum bekler.

Yonetici iletişimağının denetlenen istasyonunda &#227;alışan bir yazılım olup rolu farklı iletişimağında calışmakta olan ajanlarla iletişim kurup ic verisi icin statistik veri toplamaktır. O, iletişimin istemci yanıdır.

SNMP gudum takımı icinde trap adlı ozel bir gudum bulunmaktadır. Bu gudum ajanlara, yoneticiye, hata, kapatım gibi olaylardan haberdar olması icin davetsiz veri gonederebilme yetkisi sağlar.

Temelde, SNMP, gercekleştirdiği tum işlemler getir-depola ilkesi cercevesi icinde kaldığı surece cok basit bir protokoldur ve bu durum az sayıda gudum iceren bir yağıyla calışma olanağı vermektedir. Bir işletmen bir ajan uzerinde yalnızca iki farklı işlem gercekleştirebilir: ajanın MIB'indeki bir değişkenin değerini ister ya da onu ayarlar. Bu iki işlem al istemi ve ayarla istemi olarak bilinir. Yalnızca ajan tarafından kullanılabilen ve al-yanıtı olarak bilinen ve al-istemine yanıt olan bir gudum de bulunmaktadır.

Protokolun genişletilebilirliği butunuyle MIB'in yeni şeyler depolayabilme sığasıyla ilişkilidir. Eğer bir uretici router gibi bir aygıta yeni gudumler eklemek isterse, onun veritabanına (MIB) uygun değişkenler eklemelidir.

Hemen hemen tum ureticiler kendilerinin, router, hub, işletim sistemi aygıtlarında SNMP ajanlarının surumlerini devreye sokarlar. Linux da bunun dışında değildir. Linux icin ozgurce erişilebilen SNMP ajanları Internet'te bulunabilir.

Guvenlikle İlgilenim
SNMP kokenlileştirme cizemleri (authentication schemes) icin cok az şey sunar. O yalnızca bir iki gecişsozcuklu cizemi destekler. public, işletmenin değişken değerleri icin istemde bulunmasına izin verir. private ise bu değerlerin atanmasına izin verir. SNMP'deki bu gecişsozcukleri communities olarak adlandırılır. Bir SNMP-işletimli iletişimağına bağlı olan her bir aygıt bu buyukluklerin bicimlendirilmiş olmasını gerektirir.

Cok alışılmış olanı public community'nin "public"e private comunity'nin de "private"e ayarlanmasıdır. Ancak, bu değerlerin değiştirilmesi kuruluşunuzun guvenlik politikasını yansıtması acısından cok onemlidir

MIB Nedir?
SNMP, protokol tarafından yonetilen bilgiye farklı bir olcut tanımlar.Bu olcut bilgiyi networkteki bir aygıt icinde korunan ve buradaki işlemlere izin verilmiş olarak tanımlar.Bilgi, bir ağac yapısında inşa edilmiştir.Ve her değişkene ulaşmak icin tek bir yol vardır.Yapılandırılmış bu ağac Yonetim Bilgi Tabanı (Management Informatıon Base) (MIB) olarak adlandırılır.Ve bircok RFC'de belgelendirilmiştir.

TCP/ IP 'in son surumu MIB-II 'dır ve RFC-1213 olarak tanımlanır.Bilgiyi TCP/ IP aygıtları 8 katagoride sahip olabilecek şekilde boler.(1.tabloda gorulduğu gibi)Bu bilgide olan her değişken bu gruplardan birine girer.

Cizelge 1. TCP/IP Bilgileri Kategori Bilgileri
sistem Konak ya da yolverici işletim sistem bilgileri
arayuzler İletişimağı arayuzleri bilgileri
adres-cevirisi Adres ceviri bilgileri
ip IP Antlaşma Bilgileri
icmp ICMP Antlaşma Bilgileri
tcp TCP Antlaşma Bilgileri
udp UDP Antlaşma Bilgileri
egp Dış Gecityolu Antlaşma Bilgileri

MIB'in belirli bir mufredat hakkındaki tanımı mufredatın sahip olduğu bilgiyi de ozelleştirir.Genelde MIB'in mufredatı yalnız sayıları depolar fakat onlar dizileri veya tablolar gibi daha karışık yapılarıda ihtiva eder.MIB'deki mufredat nesne(object) olarak da adlandırılır.Nesneler MIB ağacının yaprak boğumlarıdır, fakat bir nesne birden cok orneğe sahiptir.Mesela; bir tablo nesnesi.Bir object'in sahip olduğu değeri (value) bulmak icin ornek sayısına sayı eklenir.Ne zaman ki bir object icin bir ornek var olursa bu 0 ornek demektir.

Orneğin,interface kategorisindeki ifnumber nesnesi bir sayı icerir.Bu sayı bu aygıtta olan ve ayrıca interface numaralarını iceren bir sayıdır.Fakat IP kategorisinden ipRoutingTable nesnesi aygıtın takip edilecek cizelgesini icerir.

Bir nesnenin değerini (value) yeniden elde etmek icin orneğin numarasını kullanmayı unutmatın.Bu halde ,bir takip edici (Router) icindeki interfaces sayısı ifNumber.0 adlı ornekle gorulebilir.

Bir tablo nesnesi halinde; tablonun indeksi ozel bir orneği belirtmek icin son sayı gibi kullanılır.(Tablonun sırası).

MIB değişkenini tanımlamak ve belirtmek icin kullanılan bir başka olcute de yonetim bilgisinin yapısı denir. (Structure of management Information) (SIM). ISO dillerinden birinde yazılmış olan MIB değikenlerini ASN.1 diye adlandırır.Bu değişkenlerin formunu ve iceriğini şupheden uzak , acıklayıcı yapar.

ISO isim boşluğu diğer olcut kurumları icin olan diğer ağaclarla birlikte global isim boşluğu icerisindedir.ISO isim boşluğuyla birlikte MIB bilgisi icin ozel bir ağac vardır.Ağacın bu MIB tarafında butun protokollerden ve uygulamalardan olan nesneler(object) icin alan vardır.Boylece onların butun bilgileri acıklayıcı bir şekilde temsil edilir.

Şekil 1.'de TCP/ IP isim boşluğu IAB.'ın mgnt isim boşluğunun hemen altındadır.Ayrıca bu yapı her seviye icin bir sayı da belirtir.



Nesnenin MIB'de olması icin hemen hemen butun yazılımın temsili noktaya (leading dot(root)) ihtiyac duyduğunun bilinmesi onemlidirEğer leading dot 'ınız yoksa size .iso.org.dod.internet.mgmt.mib-2. 'den farklı bir yol sunacaktır.

Bu halde "Interfaces" kategorisinden ifnumber nesnesi şoyle adlandırılır:

.iso.org.dod.internet.mgmt.mib-2.interfaces.ifnumber
veya sayısal eşdeğeri şoyledir:
.1.3.6.1.2.1.2.1
ve ornek olarak:
.iso.org.dod.internet.mgmt.mib-2.interfaces.ifnumber.0
ya da onun sayısal eşdeğeri şu şekildedir:
.1.3.6.1.2.1.2.1.0
Satıcılar yarattıkca eklenebilen MIB'ler bu ağaca eklenebilir ve uygun RFC'ler kurulabilir

SNMP'nin Geleceği Nedir?
SNMPv2 denilen yeni bir tur geliştirildi.Bu; gercek protokolun guvenlik eksiğine hitap ediyor ve gizlilik ,doğruluk uzerine odaklanıp kontrolu sağlıyor.Ayrıca daha karışık değişken belirtimlerine izin veriyor ve farklı gudumleri ihtiva ediyor.SNMPv2'nin sorunu ise SNMPv1'in aksine hala kabul edilmiş bir olcut olmayışıdır.Ayrıca yazılımın ve ajentanın SNMPv2 surumunu bulmak yani yeni gudumlerinden yararlanmak oldukca zor.Gelecekte neler olacağı bilinmez...

Linux'la SNMP
En populer SNMP paketi CMU-SNMP 'dir. Carnegie Mellon Universitesi tarafından şekillendirilmiş ; Juergen Schoenwaelder ve Erik Schoenfelder tarafında Linux 'a kazandırılmıştır. SNMPv1 olcutu ile tamamen uygun olup SNMPv2'nin bazı yeni fonksiyonlarını icerir.

Dağıtım bazı yonetici aygıtlara (tool) sahiptir Ve bunlar komut satırı şeklinde SNMP ajentasını calıştıran aletlere emirler gonderirler.Linux altında calıştırmak uzere şekillendirilmiş bir SNMP ajenta programı da vardır.Bu, yoneticiye networkuzerinde interface'ler , routing table gibi konuların statulerinin bilgilerini sunar.

CMU-SNMP 'nin getirdiği en onemli yeniliklerden biri de SNMP C-API 'dir.Programcının dağıtımın network yeteneği hakkında daha karışık yonetici elaygıt (tool) yapmasına izin verir.

Linux sistem uzerine kurulum kolay fakat orjinal CMU dağıtımından biraz farklıdır.Dağııtm derlenmiş yonetici aygıtın ( the daemon, ve the API lıbrary) binary versiyonu ile gelir.

Oncelikle binary mi yoksa kaynak dağıtıcı mı alınacağına karar verilmelidir .Paketi internet uzerine kurmak kolaydır (Yandaki kaynaklara bakınız) Binary dağıtımı 2.0 Kernel serisini kullanır ve ELF tabanlıdır.Binary dağıtıcısının nasıl kullanılacağını anlataca&#