![]() |
|
|||||||
| Üye Ol | SSS | Sxe indir | Sosyal Gruplar | Takvim | Resim Galerisi | Etiketler | Bütün Forumları okunmuş kabul et |

Linux İşletim Sistemleri bölümünde Linux İşletim Sistemi(Süper Bilgiler-1) konusu , awk'in cut komutu şeklinde kullanımı: Örnek: echo "6/2/6268A17E8C0" Ekran Çiktisi: 6/2/6268A17E8C0 Komut: echo "6/2/6268A17E8C0"|awk -F "/" '{print $3}' Sonuç: 6268A17E8C0 Komut: echo "6/2/6268A17E8C0"|awk -F "/" '{print $1$2$3}' Sonuç: 626268A17E8C0 Not: awk'da -F parametresi verilen delimiter'e göre bölündirme yapar. Grub ile ...
![]() |
|
|
LinkBack | Konu Seçenekleri |
|
|
#1 (permalink) |
|
Uzman Üye
![]() E-Güven: (5/100)
|
awk'in cut komutu şeklinde kullanımı:
Örnek: echo "6/2/6268A17E8C0" Ekran Çiktisi: 6/2/6268A17E8C0 Komut: echo "6/2/6268A17E8C0"|awk -F "/" '{print $3}' Sonuç: 6268A17E8C0 Komut: echo "6/2/6268A17E8C0"|awk -F "/" '{print $1$2$3}' Sonuç: 626268A17E8C0 Not: awk'da -F parametresi verilen delimiter'e göre bölündirme yapar. Grub ile Single User Mod (Tek Kullanılıcılı Mod) Açılışı 1 ) Giriş Bu dökümanda GRUB ile nasıl Single User Mod'da açılış yapılabileceği gösterilmektedir.Bu işleme en çok ihtiyaç duyulabilecek örnek olarak root şifresini bilmediğiniz yada unuttuğunuz durumda kullanım verilebilir. 2 )Kurulum üzerinde herhangi bir GRUB yükleyici bulunan Linux ve/veya *nix işletim sistemi. 3 )Adım Adım Yapilmasi Gerekenler LILO (Linux Loader) ile Linux yüklendiği zaman bildiğiniz üzere LILO satırında linux 1 yazıp Enter'a basmak yeterli olmaktadır. Ancak GRUB çok daha kapsamlı ve gelişmiş bir yükleme yazılımı olduğundan GRUB ile ne yazıkki linux 1 şeklinde bir komut vermek geçerli olmayacaktır. Bu durumda yapılması gerekenleri aşağıda adım adım bulabilirsiniz: a-)Linux yüklü bilgisayar hangi çekirdek ile açılmak isteniyorsa GRUB 'ın grafik ekranı çıktığı kısımda ilgili kernel'ın üzerinde gelip "e" tuşuna basılır. b-)Ekranda görülen satırlardan kernel ile başlayan satır'ın üzerine 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 hiç bir şifre sormadan root kullanıcı hakları ile açılacaktır. Ve bizim GRUB menüsü üzerinde yaptığımız hiç 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 içerisinde yer alır. Genel olarak bir cron dosyasını düzenlemek için ilgili kullanıcı ile çalışırken crontab -e komutu yeterlidir. Kullanıcımıza ait olan cron dosyasının içeriğini listelemek için ise crontab -l komutu verilir. Ancak cron dosyasının yedeğini alma ihtiyacı duyulunca yapılması gereken (bu örnek root kullanıcısı için verilmiştir) cp /var/spool/cron/root /root/cron.backup şeklinde yedekleyebiliriz. Pico Kullanımı (Metin Düzenleyici) Pico Kullanımı (Metin Düzenleyici) Pico, Linux'un ben bildim bileli en çok kullanılan metin düzenleyicisidir.Tüm Linux dağıtımlarında da pico'yu bulmanız mümkündür.Linux'da herşey için bir alternatif olması metin düzenleyiciler içinde geçerlidir.Yerine kullanabileceğiniz birçok metin düzenleyicinin(örnek vi editörü) olmasına rağmen diğerlerine göre daha kolay kullanımı sayesinde ilk sıradadır...Şimdi gelin bu küçük belgeyle pico'yu nasıl ve hangi komutlarla kullanıcağı bir öğrenelim. Öncelikle programı çalıştırmak için X ekranda veya terminalde(fark etmez) komut işlemcisine pico yazıyoruz.Karşımıza çıkan siyah ekranın alt bölümde kullanırken gerek duyacağınız komutlar yer almaktadır.. Herhangi bir dosyayı açmak için 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ı sürümlerinde dosya üzerinde 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/Açmak: Control + R Dosyayı Kaydet: Control + O Bulunduğunuz Satırı Sil: Control + K Bir Sayfa Yukarı Çık: Control + Y Bir Sayfa Aşağıya İn: Control + V Dosyada Arama Yap: Control + W Programdan Çık: Control + X Pico Yardım Dosyası: Control + G VI Editörüne Hakim Olma Uylaşımlar Bu eğitsel yazıda aşağıdaki uylaşımlar kullanılacaktır: ^X bir kontrol karakterini göstermektedir. Örneğin eğer yazıda,^d görürseniz bu, "control" tuşunu basılı tutarak ilgili harfe basacaksınız demektir. Bu örnek için, "control" tuşunu basılı tutacak ve ardından d ye basacaksınız. Başlamadan Önce Bu bölüm, xterm gnome-terminali, kvt, aterm gibi modern terminal emülatörlerine 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 yüzden bu konuda endişelenmenize gerek yoktur. VI editörü tüm ekranı kullanır; bu yüzden ne tür bir terminaliniz olduğunu bilmesi gerekir. Sisteme girdiğinizde, wiliki (wiliki, Hawaii Üniversitesindeki ana Mühendislik sunucusunun adıdır ) size hangi terminali kullandığınızı soracaktır. Karşınıza gelecek imleç şöyle görünecektir: TERM = (vt100) Terminalinizin bir vt100 (veya vt100 gibi davranabilen bir emülatör) olduğunu biliyorsanız, sisteme girdiğinizde terminal tipi için "return" tuşuna basın. Eğer bir hp terminaliniz varsa, terminal türü için "hp" yazın ve "return" e basın. Eğer ne tür terminaliniz olduğundan emin değilseniz sistem yöneticinize sorun veya sizin için doğru terminal türünü ayarlayabilecek birinden yardım isteyin. Eğer sisteme girdiğinizde bir hata yapar ve yanlış terminal türü girerseniz paniğe kapılmayın. Sistemden çıkın ve ayarları düzeltmek için aşağıdaki komutları verin: Önce kabuğunuza ne tür terminale sahip olduğunuzu anlatmalısınız. ( Kabuğunuzun hangisi olduğunu bilmiyorsanız bunu öğrenmek için echo $SHELL yazın.) Verilen örneklerde terminal türü "vt100" dür. Bunu kendi terminal türünüzle değiştirerek kullanmalısınız. C kabuğu (/bin/csh) için komut şöyledir: set term=vt100 Bourne Kabuğu (/bin/sh) veya Korn Kabuğu (/bin/ksh) için komutlar ise şöyledir: 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 için hazırsınız. VI Editörünü Başlatma VI editörü, kullanıcıların yeni dosyalar yaratmasına veya varolan dosyaları değiştirmesine izin verir. VI editörünü başlatmak için gereken komut, ardına dosya adı eklenerek verilecek vi komutudur. Örneğin gecici adlı bir dosyada değişiklik yapabilmek için, vi gecici yazacak ve "return" tuşuna basacaksınız. VI'ı dosya adı olmadan da başlatabilirsiniz; fakat daha sonra çalış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 göreceksiniz. (Bir tilde şuna benzer: ~) Dosya sonundan sonraki tüm boş satırlar bu şekilde gösterilir. Ekranınızın sonunda dosya adı görünmelidir. Eğer önceden 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 önceden yoksa, o zaman bunun yeni bir dosya olduğunu size şu şekilde gösterecektir: "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 sonuçlar görülmüyorsa terminal tipiniz yanlış ayarlanmış olabilir demektir. :q yazın ve VI'ın dışına çıkarak terminal tipinizi düzeltin. Nasıl yapılacağını bilmiyorsanız sistem yöneticinize danışın. VI'ın Dışına Çıkma Artık VI'a nasıl gireceğinizi bildiğinize göre nasıl çıkacağınızı da bilmeniz iyi olur. VI editörü iki mod a sahiptir ve VI'ın dışına çıkmak için komut modunda olmanız gerekir. "Escape" veya "Esc" yazılı tuşa basın. (Terminalinizde böyle bir tuş yoksa ^[, veya control-[.) kombinasyonlarını deneyerek komut moduna geçin. 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 için komut :q dur. komut moduna girdiğinizde, "iki nokta üstüste" ve 'q' tuşlarının ardından "return" e basın. Eğer dosyanızda bir şekilde değişiklik yapılmışsa, editör bu konuda sizi uyaracak ve çıkmanıza izin vermeyecektir. Bu meajı gözardı etmek ve değişikikleri kaydetmeden VI'dan çıkmak için :q! yazın. Normal olarak bir editörde, yaptığınız değişiklikleri kaydetmeyi de isteyeceksiniz. Editörün içeriğini kaydetmek için gereken komut :w dur. Bu komutu editörden çı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. Örneğin çalış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 görecektir. Dosyada herhangi bir değişiklik yapıldıysa bunlar kaydedilecektir. Bu yalnızca iki tuşa basarak editörden çıkmanın en kolay yoludur. VI'ın İki Modu Çoğu kullanıcının VI editörü hakkında ilk öğrendiği şey, iki modunun olduğudur: komut ve yazım. komut modu, yazıda değişiklik yapabilmek için gereken komutların girilmesine imkan verir. Bu komutlar genellikle bir ya da iki karakter uzunluğundadır ve çok az tuşa basarak girilebilir. yazım modu, klavyeden girilen her şeyin dosyaya yazılmasını sağlar. VI komut modunda başlar. VI editörünü yazım moduna sokan birçok 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 çı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. Önceden komut modunda olmanız halinde escape e basmanız, editörü komut modundan çı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 biçimdedir: (Seçime bağlı argümanlar, köşeli parantezler içinde verilmektedir) [sayı] komut [nerede] Kontrol karakterleri kullanan komutlar da dahil çoğu komutlar bir karakter uzunluğundadır. Bu bölümde tanıtılan komutlar, VI editöründe en sık kullanılan komutlardır. sayı, 1'den 9'a kadar olan rakamlardan herhangi biriyle başlayabilen bir sayıdır. Örneğin x komutu, imlecin altındaki bir tek karakteri siler. Eğer komut modundayken 23x yazarsanız, 23 karakter silinecektir. Bazı komutlar seçime bağlı bir nerede parametresi kullanabilirler. Bu parametreyle belgenin kaç 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 için gereken bazı basit komutlar buradadır. Daha birçok uygun komut ileriki bölümlerde 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 bütünü 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 önceye eklenecektir. Bir sayı belirtirseniz, girilmiş olan yazının bütünü 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 için 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ı kaç karakter silineceğini belirtir. İmleçten sonra gelen karakterler silinecektir. VI'da Yazı Tamponları (Text Buffers) VI editörü yazı parçacıklarını depolayacak 36 tampona ve bir de genel amaçlı tampona sahiptir. Dosyadan bir yazı bloğu silindiğinde ya da kopyalandığında, bu parça genel amaçlı tampona yerleştirilir. Çoğ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. Örneğ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 içeriğini imlecin bulunduğu yerden sonraya yapıştırır. Sonraki iki bölümde kullanılan komutlar için bu tamponlar, kelime veya paragrafların geçici depolama yerleri olarak belirlenebilir. Kesme ve Kopyalama Kesme için genel olarak kullanılan komut d dir. Bu komut, yazıyı dosyadan siler. Komuttan önce seçime bağlı olarak bir sayı kullanılabilir ve ardına da bir hareket ettirme özelliği eklenebilir. Eğer komutu tekrarlayarak dd yazarsanız, bulunulan satırı silersiniz. İşte bunların birkaç 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 sözcüğün sonuna kadar siler 3dd imlecin bulunduğu yerden itibaren aşağıdaki üç satırı siler. Bir de y komutu (kopyalama komutu) vardır ki, d komutuna benzer çalışı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 imleç pozisyonundan sonra yapıştırırken; P nin imleçten önce yapıştırmasıdır. Yapıştırma komutundan önce bir sayı belirtmek, yazıyı belirlenen sayı kez tekrar yapıştırır. Kodunuzu Hizalama ve Kontrol Etme VI editörü, programcıların kodlarını istedikleri düzgünlükte biçimlendirmelerine yardımcı olacak özelliklere sahiptir. Kodun içindeki her yuvalanma seviyesindeki hizayı ayarlayacak bir değişken vardır. Bunu ayarlamak için bu yazının özelleştirme bölümü ne göz atın. Örneğin, kaydırma genişliğini(shiftwidth) 4 karaktere ayarlamak için gereken komut :set sw=4 tür. 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 sola kaydırır. >> Bulunulan satırı bir kaydırma genişliği saga kaydırır. VI editörü aynı zamanda kaynak kodunuzu, tek kalan parantez olup olmadığını kontrol etmek için inceleyen bir özelliğe sahiptir. % komutu, bir sağ paranteze karşı gelen sol parantezi aramaya (ya da tam tersi) yarar. İmleci bir parantezin ya da köşeli parantezin üzerine getirip % yazarsanız ona kaşılık gelecek parantez bulunacaktır. Karşılığı olmayan bir parantez bulunursa, VI bip sesi çıkartarak size bunu gösterecektir. Kelime ve Karakter Arama VI editörü iki çeşit aramaya sahiptir: katar veya karakter. Bir katar aramak için, / 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 görülecektir. Bu iki komut yalnızca katarı aradıkları yönler açısından farklıdır. / komutu dosyada aşağı doğru arama yaparken, ? komutu yukarı doğru arama yapar. n ve N komutları önceki aramayı, sırasıyla, aynı veya zıt yönde tekrar ederler. VI'da bazı karakterlerin özel anlamı vardır. Bunların, aranan ifadenin bir parçası olabilmeleri için önlerine birer "\" karakteri konmalıdır. Özel karakterler: ^ Satırın başı. (Aranan bir ifadenin başında.) . Tek bir karaktere karşı gelir. * Kendinden önceki 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.Örneğin: /f[iae]t şunlardan herhangi birine uyar: fit fat fet ^ ile kullanıldığında ise "[ ]" içindeki harfler dışında her şeye uyar: /a[^bcd] şunların hiçbirine uymayacaktır: ab ac ad ;fakat a harfinin yanında b c d olmayan tüm katarlara uyacaktır. < Birsözcüğün başlangıcını veya sonunu bulmak için "\" ardından bir ifade yazın.Örneğin: /\<kaz\> yalnızca kaz sözcüğünü bulur; ikaz ve kaza gibi sözcükleri bulmaz. > Yukarıdaki '<' karakterinin tanıtımına bakın. Karakter arama ise bir satır içinde, komuttan sonra girilen karakteri arar. f ve F komutları, yalnızca bulunulan satırda karakteri ararlar. f ileri doğru, F ise geriye doğru arama yapar. İmleç, bulunan karakterin üzerine gelir. t ve T komutları yalnızca bulunulan satırda karakteri ararlar; fakat t ile imleç, bulunan karakterden önce dururken ,T satırı geriye doğru arar ve imleci karakterden sonraya yerleştirir. Bu iki komut takımı ; veya , komutları kullanılarak tekrar edilebilir. Burada ; son karakter aramasını aynı yönde yaparken , komutu ters yönde tekrar eder. "ic" seçeneğiyle; (veya ignorecase ile ) set (type :set ic) aynı zamanda büyük küçük harf duyarlığı olmadan arama yapılabilir. VI ve EX için Ayarlar VI'ın davranış biçimini başlangıçta tanımlayabilirsiniz. :set komutuyla ayarlayabileceğiniz birçok yazım seçeneği vardır. İşte Wiliki'de bulunan VI ve EX editörü seçenekleri: ( Bu listeyi elde etmek için komut modundayken :set all yazmanız ve ardından return e basmanız yeterlidir) noautoindent magic noshowmatch autoprint mesg noshowmode noautowrite nomodelines noslowopen nobeautify nonumber tabstop=8 directory=/tmp nonovice taglength=0 nodoubleescape nooptimize tags=tags /usr/lib/tags noedcompatible paragraphs=IPLPPPQPP LIpplpipnpbp term=xterm noerrorbells prompt noterse noexrc noreadonly timeout flash redraw timeoutlen=500 hardtabs=8 remap ttytype=xterm noignorecase report=5 warn keyboardedit scroll=11 window=23 keyboardedit! sections=NHSHH HUuhsh+c wrapscan nolisp shell=/bin/csh wrapmargin=0 nolist shiftwidth=8 nowriteany Bu seçeneklerin bazıları, içlerindeki '=' işaretleriyle değerlerini almıştır. Diğerlerinin ise bazıları ayarlı, bazıları değildir. (Bu açık veya kapalı tarzı seçeneklere Boolean adı verilir ve ayarlı olmadıklarını göstermek için önlerinde "no" yazılıdır.) Burada gösterilen seçenekler, hiçbir özelleştirmeye gerek duymayan seçeneklerdir. Bunların bazılarının tanımları aşağıda, bir kısaltmayla verilmiştir. Örneğin set autoindent komutunu açmak için :set autoindent veya :set ai yazabilirsiniz. Kapatmak içinse::set noautoindent veya :set noai yazılmalıdır. autoindent (ai) Bu seçenek editörü öyle ayarlar ki, içeri hizalanmış bir satırı takip eden diğer satırlar da öncekiyle aynı hizalamaya sahip olur. Bu hizalamayı geri almak için, ilk karakter pozisyonundayken ^D 'ye basılmalıdır. ^D yazım modundayken çalışır; komut modunda çalışmaz. Ayrıca, içeri hizalamanın genişliği aşağıda açıklanacağı gibi shiftwidth ile ayarlanabilir. exrc Bulunulan dizindeki .exrc dosyası başlangıçta okunur. Bu, ya EXINIT çevresel değişkeniyle veya ana dizininizdeki .exrc dosyasıyla ayarlanır. mesg Bu seçenek :set nomesg kullanılarak kapatılırsa siz editörü kullanırken kimse sizi rahatsız edemez. number (nu) Satırların solunda satır numaralarını gösterir. shiftwidth (sw) Bu seçenek aldığı değerle yazılım tabstop genişliğini ayarlar. ( Yazılım tabstop, << ve >> komutları için kullanılır.) Örneğin şu komutla kaydırma genişliğini 4'e ayarlarsınız: :set sw=4. showmode (smd) Bu seçenek, editörün, içinde bulunduğunuz modunu gösterir. Eğer yazım modundaysanız ekranın en alt satırında INPUT MODE yazacaktır. warn Bu seçenek, dosyada değişiklik yapıp henüz kaydetmediğiniz durumda sizi uyaracaktır. window (wi) Bu seçenek VI'ın kullandığı penceredeki satırların sayısını ayarlayacaktır. Örneğin VI editörünü ekranınızın yalnızca 12 satırını kullanmak üzere ayarlamak istiyorsanız (örneğin modeminiz yavaş olduğu için) şunu kullanmanız gerekecektir: :set wi=12. wrapscan (ws) Bu seçenek kelime aramanın davranışını etkiler. Eğer wrapscan açıksa ve sözcük dosyanın sonuna kadar bulunamadıysa aramaya baştan başlayacaktır. wrapmargin (wm) Bu seçenek sıfırdan büyük bir değer alırsa, editör kendiliğinden "word wrap" yapacaktır. Yani, sol kenardan belirtilen sayı kadar boşluk içeri girerseniz, 'return' e basmanıza gerek kalmadan sözcük alt satıra inecektir. Örneğin, kenar kalınlığını (wrap margin) iki karaktere ayarlamak için şunu yazmanız gerekecektir: :set wm=2. Kısaltmalar ve Tuşları Başka Tuşlara Haritalama VI editöründe yararlanılan bir EX editörü komutu abbreviate tir. Bu özellik, belirtilen katarlar için kısaltmalar yapabilmenizi sağlar. Komut şuna benzer: :ab katar yerine konulacak şey. Örneğin "Humuhumunukunukuapua`a" adını yazmak zorundaysanız ama bütün ismi yazmak istemiyoranız bunun için bir kısaltma kullanabilirsiniz. Bu örnek için komutumuz şöyle 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. Önceden belirtilmiş bir kısaltmayı kaldırmak için gereken komut unabbreviate 'tir. Önceki örneği kaldırmak için gereken komut ":una 9u" olacaktır. Kısaltmalarınzın bir listesini görebilmek için :ab yazmanız yeterlidir. Özelleştirme için yararlı bir diğer EX editörü komutu haritalandırma komutudur. İki çeşit haritalandırma komutu vardır. Biri komut modu, diğeri yazım modu içindir. Bu iki komut sırasıyla :map ve :map! komutlarıdır. Haritalandırma, kısaltmaya benzer çalışı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 Çevresel Değişkeni ve .exrc dosyası VI editörünü özelleştirmenin iki yolu vardır. Ana dizininizde .exrc adlı bir dosya yaratırsanız dosyadaki tüm komutlar VI'ın açılışında okunacatır. Diğer yöntem ise EXINIT adlı bir çevresel değişkeni ayarlamaktır. Seçenekler, 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 şöyledir: setenv EXINIT '...' Eğer /bin/sh veya /bin/ksh kullanıyorsanız, gereken komut .profile dosyasına yazılır ve şöyledir: export EXINIT EXINIT='...' Örnekteki gibi ... koymayın. Bu boşluğa, ayarlamak istediğiniz komutları girin. Örneğin, otomatik hizalama, satır numaralama ve üç karakterlik kenar genişliği ayarlamak istiyorsanız (C kabuğu için) setenv komutu şöyle olacaktır: setenv EXINIT 'set ai nu wm=3' Eğer setenv EXINIT in içine birden fazla şey koymak istiyorsanız komutları bir boru ile ayırın (|). Örneğin komut modundaki 'g' komutunu 'G' ile değiştirmek için 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 gösterildiği gibi dosyaya yazmalısınız. Terminalinizde Bir Sorun Olduğunda Çalışmalarınızı Kurtarma VI editörü, dosyanızın geçici bir kopyasını yazar ve siz ona kaydetmesini söylediğinizde veya yazma işi bittiğinde geçici kopyanıniçeriğini asıl dosyaya koyar. Eğer doyanızı yazarken bir sorun çıkarsa VI editörü yaptığınız tüm çalışmaları kaydetmeye çalışacak ve daha sonra kurtarmak için depolayacaktır. (Not: Eğer siz herhangi bir dosya üzerinde çalışırken VI ölürse, size çalışmanızı nasıl kurtaracağınıza dair bir elektronik ileti yollayacaktır. -r seçeneği kurtarma anlamına gelen 'recovery' sözcüğü yerine geçer. Örneğin hayati dosyasında değişiklik yaparken kazayla sistemden çıktıysanız vi editörünün -r seçeneği yardımcı olacaktır. Komut hemen hemen şuna benzeyecektir: vi -r vitalinfo -r seçeneğini bir kez kullandıktan sonra kurtardığınız çalışmayı kaydetmeniz ŞARTTIR. -r seçeneği her kusurlu işleme için 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 geçici bir kopyasını oluşturup bu kopyanın içeriğini dosyanın aslına kaydettiği için, 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 yüzden VI da her dosyanın bir tek kopyasını çalıştırdığınızdan emin olun. Bir iş-istasyonunda bir terminal programı kullanıyorsanız, ekranın boyutunu pencerenin kenarlarını sürükleyerek değiştirebilirsiniz. Eğer bu özellik düzgün çalışmıyorsa bunun için gereken komut : eval `resize` Bu da işe yaramazsa komutumuz: eval `/usr/bin/X11R6/resize` olacaktır. Bu, VI'ın özellikle Vim gibi yeni sürümleri için nadir rastlanabilecek bir sorundur. VI Komutlarının Özeti Bu liste VI komutlarının fonksiyonlarına göre sınıflandırılmış bir özetidir. Erişilebilir başka komutlar da olabilir bu yüzden VI üzerine yazılmış elyordam sayfası adresini ziyaret edin. Kolay kullanım için bu dosyayı kaydedebilir ve kullanmayacağınızı düşündüğünüz komutları silerek daha kısa bir dosya elde edebilirsiniz. Kesme ve Yapıştırma/Yazı Silme Yeni Yazı Yazma İmleci Dosyanın İçinde Hareket Ettirme İmleci Ekran Etrafında Dolaştırma Yazıların Yerlerini Değiştirme Yazı veya Karakter Arama Karakter/Satır Biçimlemelerini(Formatting) Değiştirme Kaydetme ve Çı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 içeriğini imleci bulunduğu yerden veya satırdan önceye yapıştır. Eğer tampon belirtilmemişse 'P' genel tamponu kullanacaktır. X İmlecin bulunduğu yerden önceki 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 içeriğ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 imleçten 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 üstündeki 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 önce yazılacaktır. Sayı belirtilirse girilen yazı o kadar tekrar edilerek yazılacaktır. o Bulunulan imleç pozisyonunun altındaki yeni satırda komut moduna gir. İmleci Dosyanın İçinde Hareket Ettirme ^B Bir sayfa geriye dön. Sayı verilirse o kadar sayfa geri dönülecektir. ^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ı çıkılacaktır. ^U Yarım pencere geri git. Sayı verilirse o kadar satır geri gidilecektir. $ İmleci bulunulan satırın sonuna Sansürlenmiştir.ür. Sayı verilirse takip eden satırların sonuna gidilecektir. % İmleci karşılık gelen parantez veya köşeli parantezlerin üzerine Sansürlenmiştir.ür. ^ İmleci, boşluk olmayan ilk karakterin üzerine Sansürlenmiştir.ür. ( İmleci cümlenin başına Sansürlenmiştir.ür. ) İmleci bir sonraki cümlenin başına Sansürlenmiştir.ür. { İmleci önceki paragrafa Sansürlenmiştir.ür. } İmleci sonraki paragrafa Sansürlenmiştir.ür. | İmleci sayı ile belirtilen kolona Sansürlenmiştir.ür. + İmleci, sonraki satırda boşluk olmayan ilk karakterin üzerine Sansürlenmiştir.ür. - İmleci, önceki satırda boşluk olmayan ilk karakterin üzerine Sansürlenmiştir.ür. _ İmleci, bulunulan satırda boşluk olmayan ilk karakterin üzerine Sansürlenmiştir.ür. 0 (Sıfır) İmleci bulunulan satırın ilk kolonuna Sansürlenmiştir.ür. B İmleci, noktalama işaretlerini atlayarak, bir kelime geriye Sansürlenmiştir.ür. 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 Sansürlenmiştir.ür. L İmleci, ekranın sonundaki ilk boşluk olmayan karaktere Sansürlenmiştir.ür. M İmleci, ekranın ortasındaki ilk boşluk olmayan karaktere Sansürlenmiştir.ür. W İleri doğru, noktalama işaretlerini atlayarak, kelimenin başına git. b İmleci geriye doğru bir kelime Sansürlenmiştir.ür;eğer imleç bir kelimenin ortasındaysa imleci o kelimenin ilk karakterine Sansürlenmiştir.ür. e İmleci ileriye doğru bir kelime Sansürlenmiştir.ür;eğer imleç bir kelimenin ortasındaysa imleci o kelimenin son karakterine Sansürlenmiştir.ür. h İmleci bir karakter sola Sansürlenmiştir.ür. j İmleci bir satır aşağı Sansürlenmiştir.ür. k İmleci bir satır yukarı Sansürlenmiştir.ür. l İmleci bir karakter sağa Sansürlenmiştir.ür. w İmleci bir kelime ileri Sansürlenmiştir.ür; eğer imleç bir kelimenin ortasındaysa imleci ondan sonraki kelimenin ilk karakterine Sansürlenmiştir.ür. İ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 seçeneklerle tekrar çiz. "z<return>" 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 önce bir sayı belirtirseniz, bulunulan satırı verilen numaralı satır yapar. Örneğ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 Bütün 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 için bir sayı verilmelidir. s İmlecin altındaki karakteri değiştir ve komut moduna geri dön. Birden fazla karakteri değiştirmek için 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 yönde tekrarla. / / dan sonra verilen katarı dosyanın içinde aşağı doğru ara. ; Son f, F, t veya T komutunu tekrarla. ? ? den sonra verilen katarı dosyanın içinde 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 yönde ara. T 'T' komutundan sonra verilen karakteri, bulunulan satırda geriye doğru ara. Eğer bulunursa imleci ondan sonraki sütuna 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 önceki sütuna hareket ettir. Karakter/Satır Biçimlemelerini(Formatting) Değiştirme ~ İmlecin altındaki karakteri büyükse küçük harfe, küçükse büyük harfe çevir. < nerede ye kadar olan satırları sola bir kaydırma genişliği kaydır. "<<" bulunulan satırı sola kaydırır ve yanında bir sayı da verilebilir. > i>nerede ye kadar olan satırları sağa 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ı öncekiyle birleştir. Sayı verilirse o kadar sayıda satır birleştirilir. Kaydetme ve Çıkma ^\ "VI" modundan çık ve "EX" moduna gir. EX editörü, VI'ın üzerine kurulu olduğu satır editörüdür. VI a geri dönmek için gereken EX komutu ":vi" dır. Q "VI" modundan çık ve "EX" modunda gir. ex editörü satır satır çalışan bir editördür. VI a geri dönmek için gereken EX komutu ":vi" dır. ZZ Bir değişiklik yapılmışsa değşiklikleri kaydederek editörden çık. Derleme ^G Bulunulan dosya adını ve dosyadaki yeri göster. ^L Ekranı temizle ve yeniden göster. ^R Yanlış satırları silerek ekranı yeniden göster. ^[ Escape tuşu. Tamamlanmamış komutları iptal eder. ^^ En son değiştirilen dosyaya geri dön. ! Bir kabuk çalıştır. Eğer bir belirtilmişse ! kullanılarak çalıştırılan program, bu belirtilen satır(lar)ı standart girdi olarak kullanır ve bu satırların yerine çalıştırılan programın standart çıktısını koyar. "!!" ise, bulunulan satırı standart girdi olarak algılarak programı çalıştırır. Örneğin, "!4jsort" bulunulan imleç pozisyonundan itibaren beş satır alacak ve sort komutunu çalıştıracaktır. Bu komutu yazdıktan sonra, komutu girebileceğiniz bir tek ünlem işareti olacaktır. & Önceki ":s" komutunu tekrarla. . Dosyayı değiştiren son komutu tekrarla. : Bir EX editörü komutu yazmaya başla. Kullanıcı bir kez return tuşuna bastığında komut çalıştırılacaktır.(Aşağıdaki bölüme bekınız.) @ Belirtilen tampondaki komutu yaz. U Bulunulan satırı, imleç satıra girmeden önceki 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 editörü, EX adlı bir başka editör üzerine inşaa edilmiştir. EX editörü yalnızca satır satır değişiklik yapar. VI Editöründen 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 (örneğin ":s" ve ":w") birden fazla satır değişikliğe uğratılacaksa komuttan önce değişiklik aralığı belirtilmelidir. Örneğin, 3 ten 15 e kadar olan satırlardaki "from" sözcüklerini "this" ile değiştirmek için verilmesi gereken komut şöyledir: ":3,15s/from/this/g" . :ab string strings Kısaltma. Eğer VI'da string1 ile ilgili bir sözcük yazılırsa editör kendiliğinden onunla bağlantılı sözcükleri girer. Örneğ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 özellik bir veya bir dizi tuşu bir veya bir dizi farklı tuşa haritalar. :q VI'dan çık. Eğer değişiklik yapılmışsa editör ekrana bir uyarı mesajı yollayacaktır. :q! Değişiklikleri kaydetmeden VI'dan çık. :s/kalıp/değişen_kalıp/seçenekler Yer değiştirme. Bu, belirtilen "kalıp" ı "değişen_kalıp" ın yerine koyar. Seçenekler olmadan yalnızca kalıbın ilk görüldüğü yerde değişikliği yapar. 'g' seçeneği verilirse kalıbın her bulunduğu yerde değişiklik yapılacaktır. Örneğin, ":1,$s/Dwayne/Dwight/g" komutu "Dwayne" bulunan her yere "Dwight" yazacaktır. :set [all] VI ve EX için bazı özelleştirici komutlar katar. ":set all" komutu bütün olası seçenekleri gösterir. (Bazı seçenekler için, VI'ı özelleştirme ile ilgili bölüme bakınız.) :una string Önceden ":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 editör size bir uyarıda bulunacaktır. :w Bulunulan dosyayı yaz. :w dosya_adı Tamponun içeriğini dosya_adı ile belirtilen dosyaya yaz. :w >> dosya Tamponun içeriğini dosya nın sonuna ekle. :wq Tamponun içeriğini yaz ve çık. WGET Kullanımı... GNU wget, Linux altıdaki internetten dosya veya dizin indirmek için kullanılan çok pratik bir araç. WGET'deki birçok parametre sayesinde hertürlü indirme yöntemini uygulamak mümkün. Ancak bu parametrelerin ne kadarını biliyoruz ne kadarını bilmiyoruz. İşte size pratikte benim ençok kullandığım parametreler ve kullanımları hakkında pratik bilgiler: Resume özelliğini kullanmak: Bunun için wget komutunu eklemeniz gereken parametre "-c" . Bu sayede yarıda kalmış downloadları veya başka bir zaman devam etmek istediğinizde kullanabilirsiniz. Genelde boyutu büyük olan dosyalardada kullanabilirsiniz. Mesela bir ISO dosyası indirirken. Örn: wget -c [Bu Linki Görüntüleyebilmeniz İçin Üye Olmanız Gerekiyor. ] NOT: Ceryanlar gitse bile veya 3 gün 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ı çok düştü. Sorun değil. Aynı dosya oldukları için 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. Örn: wget -r [Bu Linki Görüntüleyebilmeniz İçin Üye Olmanız Gerekiyor. ] 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 ön takısını almak istemiyorsanız, "-nH" ekleyebilirsiniz: Örn: wget -r -nH [Bu Linki Görüntüleyebilmeniz İçin Üye Olmanız Gerekiyor. ] NOT: Bu komutta domain dizin yapısı yerine sadece "OGo" dizin yapısı alınır. (Sadece "/OGo" dizini şeklinde) Soru: İyi güzel 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 Örn: wget -m -np [Bu Linki Görüntüleyebilmeniz İçin Üye Olmanız Gerekiyor. ] NOT: Bu sayede sadece verilen adresdeki dosyalar download edilir. Bunun dışına çı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. Örn: wget -r -A jpg,png [Bu Linki Görüntüleyebilmeniz İçin Üye Olmanız Gerekiyor. ] NOT: Verilen URL adresinde ve alt dizinlerinde sadece JPG vePNG dosyaları indirilir. Peki bunun tam tersi nasıl olacak ? Yani belirli bir filtre haricindeki bütün dosyaları nasıl indireceksiniz? Bunun içinde "-R" veya "--reject" kullanabilirsiniz. Örn: wget -r -R tar.gz,jpg [Bu Linki Görüntüleyebilmeniz İçin Üye Olmanız Gerekiyor. ] NOT: Verilen URL adresinden tar.gz ve jpg dosyaları HARICINDE ne varsa indirir.
__________________
|
|
|
|
|
|
#2 (permalink) |
|
Uzman Üye
![]() E-Güven: (5/100)
|
Ce: Linux İşletim Sistemi(Süper Bilgiler-1)
Proxy üzerinden kullanım:
Eğer bir proxy kullanıyorsanız , o zaman en güzel çözüm /etc/wgetrc dosyasını açıp, ayar dosyasındaki satırdaki yere gerekli ayar yapmak. Yada kısa süre için proxy kullanıyorsanız veya sadece o dosya için 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 türlü yapabilirsiniz. kolay yol: wget [Bu Linki Görüntüleyebilmeniz İçin Üye Olmanız Gerekiyor. ] wget [Bu Linki Görüntüleyebilmeniz İçin Üye Olmanız Gerekiyor. ]/deneme/deneme.tar.gz" target="_blank">ftp://KULLANICI:PASSWORT@erkan.iqcho.../deneme.tar.gz Uzun yol: wget ----http-user=KULLANICI --http-passwd=SIFRE [Bu Linki Görüntüleyebilmeniz İçin Üye Olmanız Gerekiyor. ] Download'ı sınırlandırmak. İnternet çıkışınız fazla değil ve bunu download için harcamak istemiyorsanız "--limit-rate=INT_DEGER" şeklinde sınırlandırabilirsiniz. Örn: wget -c --limit-rate=4k [Bu Linki Görüntüleyebilmeniz İçin Üye Olmanız Gerekiyor. ] NOT: Bu sayede sadece 4k ile indirilir. Dosya içindeki URL adreslerinden download etsin Her komut için tekrar tekrar wget komutunu vermek istemiyorsunuz en güzel çözüm bütün dosyaların adreslerini bir text dosyası haline getirip "-i" veya "--input-file" parametresini kullanmak. Örn: wget -c --input-file=/home/erkan/download_dosyası NOT: Dosya içinde belirtilen adresler indirilir. DIKKAT: Dosyanın içini 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 güzel 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 için "-P" veya "--directory-prefix" parametresini kullanabilirsiniz. Örn: wget -c [Bu Linki Görüntüleyebilmeniz İçin Üye Olmanız Gerekiyor. ] -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 / güncel 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 güncel dosyaları veya güncellenen dosyaları indirmek en doğrusu olacaktır. Bunun için kullanılacak parametre ise "-N" veya "--timestamping" olacaktır. Örn: 21.08.2003 de aşağıdaki komutu verdiniz: wget -r -nH [Bu Linki Görüntüleyebilmeniz İçin Üye Olmanız Gerekiyor. ] 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 [Bu Linki Görüntüleyebilmeniz İçin Üye Olmanız Gerekiyor. ] NOT: 2. işlemde sadece güncel olan dosyalar indirilir. Passive FTP Bazı FTP adreslerinden dosya indiremiyorum. Ama Browserden indirmeye çalış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. Örn: wget -c --passive-ftp ftp://erkan.iqchoice.com/basisrelease.tar.gz LOG tutturmak: Ben çok fanatik bir insanım ve istatistiklere önem veriyorum. WGET Log tutar mı? Elbette tutar. Bunun için "-o" veya "--output-file" parametresini kullanmanız yeterli olacaktır. Örn: wget -r -nH [Bu Linki Görüntüleyebilmeniz İçin Üye Olmanız Gerekiyor. ] -o log_dosyasi NOT: Komuttan sonra bir "log_dosyasi" isminde dosya oluşur . İnceleyin. Linux'la İletişimağı İşletimi ve Gözlemlenimi Giriş SNMP nedir? Güvenlikle İlgilenim MIB nedir? SNMP'nin Geleceği Nedir? Linux'la SNMP MRTG: Çoklu Yolverici Trafik Çizicisi Diğer Programlar Sonuçlar Bu yazı ilk olarak Linux Jornal'da yayınlanmıştır. Yazarın izniyle, çevrilerek, buraya da alınmaktadır. Giriş Tüm hesaplama olaylarinin iletişim ağı kavramı çevresinde dolaşır olduğu günümüzde, sistem yönetmenlerinin işi gittikçe 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ı yönetmenin temel görevi olarak ortaya çıkmaktadır. İşletmenlerin iletişimağı aygıtlarını denetim altında tutmaları için çok sayıda neden bulunmaktadır. Bunlar arasında, bangenişliği kullanımı, bağlantıların yöneylem 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 güvenlik sorunlarının ve olumsuz davranışların saptanması için iyi bir başlangış noktası oluştururlar. Birçpk 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 Sansürlenmiştir.ürülerinin belirlenmesinde bütünüyle trafik hacmı taban alınabilir. Dolayısıilya bu bağlantılar üzerinden yapılan iletişimin istatistiğinin tutulması büyük önem kazanİr. Bu X.25 bağlantılarının hala yaygın olduğu Avrupa'da çok yaygın olarak karşılaşılan bir görevdir. Bu bağlantılar, gönderilen ve alınan paketler tabanında faturalandırılırlar. Noktadan Noktaya veya Çerãeve Gecikmeli türden bağlantılar genellikle düz bir tutar üzerinden faturalandırılırlar. Bunlarda telco denetim altında tutulması önemli olan bir bandgenişliği güvencesi ister. Bu yazının son bölümünde, yönlendirici (router) arayüzlerindeki tafiğin denetim altında tutulmasına odaklanarak, bu bilginin büyük bir grafiksel gösterilimiyle birlikte sunacağız. Bu, diğer tür bilgilerin denetim altında tutulmasında kullanılmak üzere de kolayca değiştirilebilir bir yapıdadır. SNMP nedir? Bu gereksinimlerin tümüne yanıt olarak Basit İletişimağı İşletim Antlaşması (SNMP) adlı bir protokol verilebilir. 80'lerde tasarlanan SNMP'nün ilkbaştaki amacı farklı türden iletişimağlarının işletiminin, ıletişimağı'nda çok küçük gerilmelere neden olabilecek basit bir tasarımla işletilmesiydi. SNMP, TCP/IP aktarım düzey protokollerini kullanarak uygulama düzeyinde çalışır. Dolayısıyla, altta yatan iletişimağı donanımı güzardı edebilir. Bu, işletim yazılımının IP'yi kullandığı ve bu yüzden 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. Sözgelimi, IP yönlendiriminin iki aygıt arasınmda doğru çalışmaması durumunda erekteki aygıta ulaşıp onu denetlemek ya da yeniden biçimlendirmek olanaksızdır. SNMP mimarisinde iki ana öge bulunmaktadır: ajan ve yönetici. O bir sunumcu - istemci mimarisi olup ajan sunumcuya yönetici de istemciye karşılık gelmektedir. Ajan denetim altında tutulan ya da yönetilen iletişimağı düğümlerinden her birinde çalışan bir programdır. O, biçimlendirilmiş yapı içindeki ögelerin tümüne bir arayüz sağlar. Bu ögeler, İşletim Bilgi Tabanı (MIB: Management Information Base) adını taşıiyan ve daha sonra açİklanacak olan bir veri yapısı içinde depolanırlar. Bu, yönetilecek bilgiyi alıkoyduğu sürece sunumcu tarafı olup istemciden güdüm bekler. Yönetici iletişimağının denetlenen istasyonunda ãalışan bir yazılım olup rolü farklı iletişimağında çalışmakta olan ajanlarla iletişim kurup iç verisi için statistik veri toplamaktır. O, iletişimin istemci yanıdır. SNMP güdüm takımı içinde trap adlı özel bir güdüm bulunmaktadır. Bu güdüm ajanlara, yöneticiye, hata, kapatım gibi olaylardan haberdar olması için davetsiz veri gönederebilme yetkisi sağlar. Temelde, SNMP, gerçekleştirdiği tüm işlemler getir-depola ilkesi çerçevesi içinde kaldığı sürece çok basit bir protokoldür ve bu durum az sayıda güdüm içeren bir yağıyla çalışma olanağı vermektedir. Bir işletmen bir ajan üzerinde yalnızca iki farklı işlem gerçekleş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 güdüm de bulunmaktadır. Protokolün genişletilebilirliği bütünüyle MIB'in yeni şeyler depolayabilme sığasıyla ilişkilidir. Eğer bir üretici router gibi bir aygıta yeni güdümler eklemek isterse, onun veritabanına (MIB) uygun değişkenler eklemelidir. Hemen hemen tüm üreticiler kendilerinin, router, hub, işletim sistemi aygıtlarında SNMP ajanlarının sürümlerini devreye sokarlar. Linux da bunun dışında değildir. Linux için özgürce erişilebilen SNMP ajanları Internet'te bulunabilir. Güvenlikle İlgilenim SNMP kökenlileştirme çizemleri (authentication schemes) için çok az şey sunar. O yalnızca bir iki geçişsözcüklü çizemi destekler. public, işletmenin değişken değerleri için istemde bulunmasına izin verir. private ise bu değerlerin atanmasına izin verir. SNMP'deki bu geçişsözcükleri communities olarak adlandırılır. Bir SNMP-işletimli iletişimağına bağlı olan her bir aygıt bu büyüklüklerin biçimlendirilmiş olmasını gerektirir. Çok 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 güvenlik politikasını yansıtması açısından çok önemlidir MIB Nedir? SNMP, protokol tarafından yönetilen bilgiye farklı bir ölçüt tanımlar.Bu ölçüt bilgiyi networkteki bir aygıt içinde korunan ve buradaki işlemlere izin verilmiş olarak tanımlar.Bilgi, bir ağaç yapısında inşa edilmiştir.Ve her değişkene ulaşmak için tek bir yol vardır.Yapılandırılmış bu ağaç Yönetim Bilgi Tabanı (Management Informatıon Base) (MIB) olarak adlandırılır.Ve birçok RFC'de belgelendirilmiştir. TCP/ IP 'in son sürümü MIB-II 'dır ve RFC-1213 olarak tanımlanır.Bilgiyi TCP/ IP aygıtları 8 katagoride sahip olabilecek şekilde böler.(1.tabloda görüldüğü gibi)Bu bilgide olan her değişken bu gruplardan birine girer. Çizelge 1. TCP/IP Bilgileri Kategori Bilgileri sistem Konak ya da yolverici işletim sistem bilgileri arayüzler İletişimağı arayüzleri bilgileri adres-çevirisi Adres çeviri bilgileri ip IP Antlaşma Bilgileri icmp ICMP Antlaşma Bilgileri tcp TCP Antlaşma Bilgileri udp UDP Antlaşma Bilgileri egp Dış Geçityolu Antlaşma Bilgileri MIB'in belirli bir müfredat hakkındaki tanımı müfredatın sahip olduğu bilgiyi de özelleştirir.Genelde MIB'in müfredatı yalnız sayıları depolar fakat onlar dizileri veya tablolar gibi daha karışık yapılarıda ihtiva eder.MIB'deki müfredat nesne(object) olarak da adlandırılır.Nesneler MIB ağacının yaprak boğumlarıdır, fakat bir nesne birden çok örneğe sahiptir.Mesela; bir tablo nesnesi.Bir object'in sahip olduğu değeri (value) bulmak için örnek sayısına sayı eklenir.Ne zaman ki bir object için bir örnek var olursa bu 0 örnek demektir. Örneğin,interface kategorisindeki ifnumber nesnesi bir sayı içerir.Bu sayı bu aygıtta olan ve ayrıca interface numaralarını içeren bir sayıdır.Fakat IP kategorisinden ipRoutingTable nesnesi aygıtın takip edilecek çizelgesini içerir. Bir nesnenin değerini (value) yeniden elde etmek için örneğin numarasını kullanmayı unutmatın.Bu halde ,bir takip edici (Router) içindeki interfaces sayısı ifNumber.0 adlı örnekle görülebilir. Bir tablo nesnesi halinde; tablonun indeksi özel bir örneği belirtmek için son sayı gibi kullanılır.(Tablonun sırası). MIB değişkenini tanımlamak ve belirtmek için kullanılan bir başka ölçüte de yönetim 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 içeriğini şüpheden uzak , açıklayıcı yapar. ISO isim boşluğu diğer ölçüt kurumları için olan diğer ağaçlarla birlikte global isim boşluğu içerisindedir.ISO isim boşluğuyla birlikte MIB bilgisi için özel bir ağaç vardır.Ağacın bu MIB tarafında bütün protokollerden ve uygulamalardan olan nesneler(object) için alan vardır.Böylece onların bütün bilgileri açı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 için bir sayı da belirtir. Nesnenin MIB'de olması için hemen hemen bütün yazılımın temsili noktaya (leading dot(root)) ihtiyaç duyduğunun bilinmesi önemlidirEğ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 şöyle adlandırılır: .iso.org.dod.internet.mgmt.mib-2.interfaces.ifnumber veya sayısal eşdeğeri şöyledir: .1.3.6.1.2.1.2.1 ve örnek 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ıkça eklenebilen MIB'ler bu ağaca eklenebilir ve uygun RFC'ler kurulabilir
__________________
|
|
|
|
|
|
#3 (permalink) |
|
Uzman Üye
![]() E-Güven: (5/100)
|
Ce: Linux İşletim Sistemi(Süper Bilgiler-1)
SNMP'nin Geleceği Nedir? SNMPv2 denilen yeni bir tür geliştirildi.Bu; gerçek protokolun güvenlik eksiğine hitap ediyor ve gizlilik ,doğruluk üzerine odaklanıp kontrolü sağlıyor.Ayrıca daha karışık değişken belirtimlerine izin veriyor ve farklı güdümleri ihtiva ediyor.SNMPv2'nin sorunu ise SNMPv1'in aksine hala kabul edilmiş bir ölçüt olmayışıdır.Ayrıca yazılımın ve ajentanın SNMPv2 sürümünü bulmak yani yeni güdümlerinden yararlanmak oldukça zor.Gelecekte neler olacağı bilinmez... Linux'la SNMP En popüler SNMP paketi CMU-SNMP 'dir. Carnegie Mellon Üniversitesi tarafından şekillendirilmiş ; Juergen Schoenwaelder ve Erik Schoenfelder tarafında Linux 'a kazandırılmıştır. SNMPv1 ölçütü ile tamamen uygun olup SNMPv2'nin bazı yeni fonksiyonlarını içerir. Dağıtım bazı yönetici aygıtlara (tool) sahiptir Ve bunlar komut satırı şeklinde SNMP ajentasını çalıştıran aletlere emirler gönderirler.Linux altında çalıştırmak üzere şekillendirilmiş bir SNMP ajenta programı da vardır.Bu, yöneticiye networküzerinde interface'ler , routing table gibi konuların statülerinin bilgilerini sunar. CMU-SNMP 'nin getirdiği en önemli yeniliklerden biri de SNMP C-API 'dir.Programcının dağıtımın network yeteneği hakkında daha karışık yönetici elaygıt (tool) yapmasına izin verir. Linux sistem üzerine kurulum kolay fakat orjinal CMU dağıtımından biraz farklıdır.Dağııtm derlenmiş yönetici aygıtın ( the daemon, ve the API lıbrary) binary versiyonu ile gelir. Öncelikle binary mi yoksa kaynak dağıtıcı mı alınacağına karar verilmelidir .Paketi internet üzerine 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ğız.Binary dağıtıcısının sadece güvenilen bölümlerden alınması virüsleri, Truva atı türünden saldırıları önlemede bir çözüm olabilir. cmu-snmp-linux-3.2-bin.tar.gz dosyasını linux sistemdeki root dizini (/) içine koyun.Ve şu komutla sıkıştırın: gunzip cmu-snmp-linux-3.2-bin.tar.gz Sonra ; dağıtımı son durumuna getirmek için şu komutu kullanın: tar xvf cmu-snmp-linux-3.2-bin.tar Şu anda bütün kitaplıklar ve diğer yararlı elemanlar sisteminize yüklenmiş bulunmaktadır.the SNMP ajentası dosyasını( /etc/snmpd.conf.) almak için şu komutun çalışırılması gerekir: /tmp/cmu-snmp-linux-3.2/etc/installconf bu seçeneklerle birlikte: /tmp/cmu-snmp-linux-3.2/etc/installconf -mini Kullanacağınız password kamu toplumu olmalıdır.Şimdi yeni kurulmuş /etc/snmpd.conf biçimlendirim dosayasını yükleyebilirsiniz. Bu dosyadaki, ajan tarafından UDP portları için kullanılan değeri değiştirebilirsiniz. Ayrıca systemContact, systemLocation ve systemName değişkenlerini; network kartı ve PPP portunuz için interface hız parametresini de değiştirme imkanı var. En önemli işletim elaygıtları şöyledir: Aldığınız en önemli yönetici aygıtlar şunlardır: /usr/bin/snmpget MIB'nin networkteki (router veya hub gibi) bir ajentası için belirli bir değeri bulmak üzere tasarlanmıştır. /usr/bin/snmpgetnext Bir MIB ağacı üzerinde ismini bilmeksizin bir sonraki nesneyi almayı sağlar. /usr/bin/snmpset Uzaktaki bir ajentada değişkenleri kurmayı sağlar. /usr/bin/snmpwalk Örneği özelleştirmeden bir bütün nesneyi veya nesneler serilerini çağırmayı sağlar.Table object'ler için kullanışlıdır. /usr/bin/snmpnetstat /usr/bin/snmptrapd Ajenta tarafından gönderilen tuzaklar (trap) içindir. usr/bin/snmptest API sığasını ölçmek için kullanılan etkili bir aygıttır. Ajan /usr/sbin/snmpd dizininin içindedir. CMU-SNMP ayrıca /usr/lib/mib.txt.içindeki MIB dosyasını da yükler.Bu herhangi bir aygıttan isteyeceğimiz bilgiyi aramada da avantajlıdır. Ajenta başlangıç zamanında başlamalıdır.Herhangi bir boot dosyanızın (/etc/rc.d/rc.local, örneğin) içindeki şu satırla kurulmalıdır: /usr/sbin/snmpd -f ; echo 'starting snmpd' Bir kere linux kutusunda çalışan SNMP ajentasını aldıktan sonra herhangi bir yönetici aygıtla onu deneyebilirsiniz.Öncelikle şunu girmeniz gerekir: /usr/bin/snmpget -v 1 localhost public interfaces.ifNumber.0 Bu size bu sistemdeki iletişimağı arayüzleri sayısını verir ve: /usr/bin/snmpwalk -v 1 localhost public system MIB 'in alt kollarındaki bütün değerleri verir.. (Bu komutun ne yaptığını görmek için şekil 2 ye bakın.) Figure 2 dragon:~$ /usr/bin/snmpwalk usage: snmpwalk [-p ] host community [object-id] dragon:~$ /usr/bin/snmpwalk localhost public system system.sysDescr.0 = "Linux version 2.0.24 (root@dragon) (gcc version 2.7.2) #6 Mon Nov 25 15:08:40 MET 1996" system.sysObjectID.0 = OID: enterprises.tubs.ibr.linuxMIB system.sysUpTime.0 = Timeticks: (39748002) 4 days, 14 40 system.sysContact.0 = "David Guerrero" system.sysName.0 = "dragon " system.sysLocation.0 = "Madrid (SPAIN)" system.sysServices.0 = 72 system.sysORLastChange.0 = Timeticks: (39748006) 4 days, 14 40 system.sysORTable.sysOREntry.sysORID.1 = OID: enterprises.tubs.ibr.linuxMIB.linuxAgents.1 system.sysORTable.sysOREntry.sysORDescr.1 = "LINUX agent" system.sysORTable.sysOREntry.sysORUpTime.1 = Timeticks: (39748007) 4 days, 14 40 dragon:~$ C-API ; /lib/libsnmp.so.3.1.'in içindedir. En üst dosyaları şekildeki gibi kontrol edebilirsiniz: /usr/include/snmp/snmp.h /usr/include/snmp/snmp_impl.h /usr/include/snmp/asn1.h /usr/include/snmp/snmp_api.h Daha fazla bilgiyi snmp_api(3) ve variables(5) elyordam sayfalarından bulabilirsiniz: CMU C-API için bir Perl modeli de vardır.Ve kolaylıkla çağırıları Perl script içindeki kitaplıkta tamamlar. MRTG: Çoklu Yolverici Trafik Çizicisi MRTG ,Tobias Oetiker ve Dave Rand tarafından yazılmış avantajlı bir aygıttır. Grafiksel olarak SNMP ajentasının SNMP yönetimine getirdiği bilgidir. Gündelik hayatta iletişim arabirimlerindeki inbound ve outbound trafik hakkında GIF garfiklerini de içeren güzel HTML sayfaları hazırlar. Bu MIB 'nin bir nesnesine dırek olarak CMU-SNMP gibi komut satırı aygıtıyla ulaşma fikrini özetler.Routerları görüntülemek amacıyla internette bulduğum en kolay ve güçlü aygıt budur. MRTG Perl 'de SNMP aygıt kodlusunu kullanır;böylece başka paketlere ihtiyaç kalmaz.Ana program GIF resimleri ve log işleminin daha hızlı olması için C'de yazlımıştır.Grafikler Thomas Boutell 'in (WWW FAD'nin yazarı) GD kütüphanelerinin yardımıyla yapılmıştır. MRTG'nin bir özelliği de güçlü şekillendirmesidir.Trafık,hata paketi,sistem yükü gibi olayları görüntülemektense SNMP değişkenini görüntülemek daha kolaydır.Başka bir programdan bilgi alıp buradaki bilgiyi desteklemekte olasıdır.Böylece SNMP'de olmayan monitör login bölümü ve diğer bazı bilgilerde kullanılabilir olur. Ayrıca router'ınızın parçalarını izlemek için bazı aygıtlar sunar.Karakteristik özelliklerini açıp;taban biçiminde şekillendirilmiş dosya (base configuration file) oluşturur.Böylece ihtiyaçlarınızı karşılamış olur. MRTG 'nin diğer ilginç yanıda sahip olduğu bilgi kapasitesidir.Bir bütünün detayları için 4 seviyede veri sunar.Bunlar: son 24 saatin,son haftanın,son ayın, trafiği ve yıllık grafiksel açıklamasıdır.Böylece statik olarak da bilgiye ulaşmış oluruz.Yığın halinde bilgi tabanı (database) sunmakla birlikte sağlamlaştırılmış bir algorıtm sunar; bu da disk alanını boşa harcamayı önlemiş olur. Bu ayrıca bir ana sayfa oluşturup burada bir router'ın günlük detaylarını içeren GIF resimleri sunar.Böylece routerınzda neler olup biitiğini kısaca görebilirsiniz.Ana sayfayı ve detaylı sayfayı MRTG'deki 3. ve 4. şekillerde görebilirsiniz. Şimdi de bir temel kurulum prosedürü görelim.Herşeyden önce MRTG dağıtıcısına ihtiyaç duyulur.En son sürümünün 2.1 olduğunu hatırlatmak yerinde olur.(sayfa kenarında yeni sürümle ilgili URL'ye bakabilirsiniz) MRTG'yi derlemeden önce yüklemeniz gereken kütüphane GD grafik kütüphanesidir.( URL'si sayfa kenarında ayrıca mevcut) GD'nin en yeni sürümü olan 1.2 'yi derleme ve yüklemede bir sorun yaşamazsınız.Basitçe ;dağıtıcısını paketlemediğiniz dizinde "make" i çalıştırmanız yeterlidir,libgd.a adlı bir dosya gelir. olur. Dosyayı /usr/local/lib 'a yükleyin ve Bütün .h dosyalarını /usr/local/include/gd. dizinine yükleyin. Şu anda GD'ye çalışır durumda sahip olmalısınız.MRTG paketini kuralım.Dağıtımı açın;../../common/January1998/Makefile 'ı yazın.GD kütüphanesini ,en üst dosyayı (header file) ve Perl 5.003 ü nerede bulacağını belirtin(genelde /usr/bin/perl veya /usr/local/bin/perl de bulabilirsiniz ).Değişkenler GD_LIB,GD_INCLUDE ve perl üzerinden yapılır. Ana programı "make rateup" yazarak kurun.Derleme bittikten sonra make substitute' ye Perl yorumlayıcısına doğru yol vermek üzere girin.Perl yorumlayıcısı MRTG 'nin kullandığı perl yazılımındadır. İkilik sistemin en son varacağı yere bir sonraki dosyayı kopyalayın (mesela: /usr/local/mrtg) BER.pm; SNMP_Session.pm,mrtg ve rateup.Ayrıca bu bölgeye indexmaker ve cfgmaker gibi iki programda kopyalayabilirsiniz. Bütün programların çalıştırılabilir bit düzeni olduğunu varsayalım.Şu anda şekillendirilmiş basit bir dosya kurabiliriz.bu dakikada routerınızda SNMPokuyucu girişine sahip olmanız gerekir.Cisco routerında buna izin veren şekillendirilmiş satırlar şunlardır. access-list 99 permit 193.147.0.8 access-list 99 permit 193.147.0.9 access-list 99 permit 193.147.0.130 snmp-server community public RO 99 Bu sadece 99 giriş listesindeki okunabilir isteklere izin verir.Parola olarak "public"(community) kullanılmalıdır.Eğer routerın networkteki Read only girişlerindeki bütün düğümlere izin vermek istiyorsanız şu şekilde bir satıra sahip olmanız gerekiyor snmp-server community public RO Eğer başka bir marka routerınız varsa; SNMP girişine nasıl izin vereceğini bulmalısınız. Düzen sağlayıcı küçük parçalar şekillendirilmiş dosya taslaklarını hazırlar.Sizin yapacagınız sadece şu olayı işleve getirmek: cfgmaker <community>@<router-host-name or IP> Örneğin: cfgmaker [Bu Linki Görüntüleyebilmeniz İçin Üye Olmanız Gerekiyor. ] > mrtg.cfg Böylece routerınızdaki bütün arayüzleri keşfetmiş oluyorsunuz.Dosyaya arayüzlerin özelleştirilmiş sayılarını, en yüksek hızlarını,ve tanımlamaları vs. detaylı sayfa içerisinde ihtiva edilmek üzere HTML tagları ile yazmalısınızHTML layoutunu uygun bir dille kopyalamak elinizde.Şimdi size benim routerdan bir arayüz çıktısını sunacağım. Şekil 5 Target[mec-router.1]: 1 ublic@mec-router MaxBytes[mec-router.1]: 1250000 Title[mec-router.1]: mec-router.rediris.es (mec-router.mec.es): Ethernet0 PageTop[mec-router.1]: <H1>Estadisticas del puerto Ethernet0<BR> Red del MEC (MECNET)</H1> <TABLE> <TR><TD>System:</TD><TD>mec-router.rediris.es en RedIRIS </TD></TR> <TR><TD>Maintainer:</TD><TD>david@mec.es</TD></TR> <TR><TD>Interface:</TD><TD>Ethernet0 (1)</TD></TR> <TR><TD>IP:</TD><TD>mec-router.mec.es (193.147.0.1)</TD></TR> <TR><TD>Max Speed:</TD> <TD>1250.0 kBytes/s (ethernetCsmacd)</TD></TR> </TABLE> Şimdi, ilk defa mrtg programını çalıştırabilirsiniz. Basit bir uygulama: ./mrtg mrtg.cfg Eğer işler yolunda giderse,bazı değerler ister, şimdiki rehberde log dosyaları ve birtakım GIF'ler oluşturur. Logların ve grafiklerin bulunamamasından dolayı şikayetler olabilir.Endişelenmeyin, bunlar sadece ilk seferde olur.Programı tekrar çalıştırmak için grafiklerin yerlerini değiştirin.Oluşturulmuş grafik, programın en son çalışmasından bu zamana kadar olan süre içerisindeki iletişimi gösterir ve hatta herbir karşılaşma için bir HTML sayfası hazırlar. MRTG'nin sizin sisteminizde düzenli bir şekilde çalışmasını nasıl sağlayacaksınız? Şimdi sıra, bunu öğretmeye geldi. Önce, (aynı sistemde bir web surverı çalıştırdığımızı farzederek ) sayfalarınıza ve MTRG'nin, program her çalıştıtığında oluşturduğu grafiklere yer sağlamak için web surverının temel dokümanında bir rehber meydana getirin.Bu rehberi, Workdır directivi (temel dokümanımızın /usr/local/web de olduğunu varsayarak ) ile düzenlenmiş dosyanın başına ekleyin.Daha sonra MRTG çalışacak ve rehber içinde loglar, grafikler yaratacak .Ayrıca sizin [Bu Linki Görüntüleyebilmeniz İçin Üye Olmanız Gerekiyor. ]. üzerinden bilgi elde etmenize izin verecek. Şimdi Figure 3'te gösterilen tüm iletişimler için bir ana sayfa hazırlamak isteyeceksiniz.Fakat bu, indexmaker aracı ile yapılamaz.Şunu çalıştırın: indexmaker mrtg.cfg <router-name regexp> > /usr/local/web/mrtg/index.html Önceki düzenli ifadelerle karşılaştırılmış ve tek detaylı sayfalara eklenmiş rooter isimlerinin iletişimlerinin günlük grafikleri ile bir HTML sayfası oluşturacak. Sizin de hayal edeceğiniz gibi MRTG programı, her süre içerisinde veriler toplamak ve gerçek görünümdeki yanılgıları görmek için, düzenli bir temel üzerinde çalışır.Bu aşağıdaki dizelerde yapılmıştır. ( /usr/local/mrtg-bin 'in mrtg programının son işlemi olduğunu varsayarak ): 0,5,10,15,20,25,30,35,40,45,50,55 * * * * \ /usr/local/mrtg-bin/mrtg \ /usr/local/mrtg-bin/mrtg.cfg > \ /dev/null 2>&1 Red Hat dağıtımında, /etc/crontab doyalarına eklemek için doğru dizeler şunlardır: 0,5,10,15,20,25,30,35,40,45,50,55 * * * * root \ /usr/local/mrtg-bin/mrtg \ /usr/local/mrtg-bin/mrtg.cfg > \ /dev/null 2>&1 Eğer herşey iyi çalışırsa, düzenlemelerini ve HTML içerik sayfasını çevirmek için zaman harcayabilirsiniz.İyi bir arttırma, içerik sayfasının HEAD kısmını kapsar. Bir <META .....> tarayıcıyı, son bilginin ekranda görünmesi için her 300 saniyeyi geri yüklemeye zorlar. Düzenlediğiniz dosyalarınızda başka bir arttırma, WriteExpire directividir.Bu, her GIF ve HTML sayfası için MRTG'in meta uzantılı dosyalar oluşturmasını sağlar,tarayıcıların ve serverların gereksiz gizlemelerini engeller eliminating .Bunun için, Apache serverınızı, meta uzantılı dosyaları okuması ve Metadir directivi ile XXXX dosyasına uygun "Expire" başlıklarını göndermesi için düzenlemelisiniz. Dağıtımdan düzenlenmiş ek directivlere bakabilirsiniz;çok iyi doküme edilmişlerdir. MRTG tarafından oluşturulmuş tüm sayfaları ve layout imajlarını değiştirmek mümkündür. Umarım programdan hoşnut kalmışsınızdır.Eğer öyleyse ,yazarlarımıza kart gönderin; adreslerini MRTG home sayfalarından bulabilirsiniz. Diğer Programlar Ünlü tin news readerın yazarı Iain Lea tarafından yazılmış Router-Stats adında bir program bulunmakta.Router stats, grafiklerini günde bir kez güncelleştiren, saatlik kullanım ve diğer konular hakkında çok ilginç istatistikler veren bir program.Router-Stats programının işini yapabilmek için birçok dış programa gerek duyması sorun yaratabilir (SNMP işleri için CMU-SNMP, grafik çizmek için GNUPLOT, bazı grafik dönüşümlerini yapmak için NetPBM, bunları son olarak GIFdosyalarına dönüştürmek için GIFTOOL programları). Router -Stats hakkında daha fazla bilgi için referans kutusundan URL'ye göz atabilirsiniz. İletişim ağı yönetim işlerinde bir adım önde giden ve bütün iletişim ağının kontrol ve bakımı için tam bir çözüm öneren başka bir yazılım çeşidi bulunmakta.Bu tür bir çözüm , iletişim ağımızın karmaşık bir çizimini yapmamıza ve dağılımın özgün bölümleri ve diğer ilginç özelliklerine göz atarak düğümleri arasında dolaşmamıza olanak sağlıyor. Burada geniş bir kesimce kullanılan iki ticari çözümden sözedebiliriz:Hewlett-Packard'dan HP-OpenView ve Sun firmasından SunNet Manager.Bu programlar iletişim ağının bütün kaynaklarını büyük grafik interfacelerden yönetmek için mükemmel bir zemin sağlamakta.Programlar ayrıca istatistik amaçlar için iletişim ağında toplanan tüm verileri depolayan SNMP araçları ve veri tabanlarını işleten tüm iletişim ağı elemanlarını bulmaya yarayan iletişim ağı keşif araçlarıyla da ilgileniyorlar.Bu ortamların önemli bir özelliği de diğer satıcıların daha özgün ürünleriyle; örneğin, bir iletişim ağı yöneticisinin, bütün router dağılımıyla birlikte bir veri tabanına bakmasına ve hatta routerleri ve tüm bağlantılarıyla arka panellerini grafik aracılığıyla kontrol edebilmesine olanak veren Cisco's Cisco Works ile bütünleşebilme yetenekleri. Bu ürünlerin iki eksikliğinden söz edebiliriz:Bunlar ticari ürünler ve Linux'a portları yok.Tabii ki bu işler için public domain çözümleri bulunmakta.Bunun için bulduğum en iyi paketlerden biri Scotty.Scotty yüksek seviyeli, dizi tabanlı API'lar kullanan site-specific iletişim ağı yönetim yazılımlarını yerine getirmeye izin veren TCL tabanlı bir paket.Onun benzer ürünü, Tkinned, IP iletişim ağlarını keşfetmek, iletişim ağı layout işlemine destek vermek veya diğer olağan araçlarla birleşim halinde olan SNMP'yi kullanan IP iletişim ağlarını onarmak için tasarlanmış bazı araçlarla bütünleşen bir iskelet oluşturmak için olanak sağlayan bir iletişim ağı editörü.(e.g. traceroute).Scotty ayrıca MIB bilgilerini keşfetmeye izin veren bir grafik MIB arayıcısı da içeriyor. You can check the references listing for both commercial and public domain network management software pointers. find örnekleri # |