Archive

Posts Tagged ‘Shell’

Screen ile Irssi Kullanım Kılavuzu

November 15th, 2013 2 comments

irssi[1] komut satırından çalışan ve bir çok geliştirici için popüler olan bir IRC istemcisidir. Irssi GNU Screen[2] programı ile birlikte kullanılarak çıkış yapmadan bir veya birden fazla kabuk yaratabilirsiniz. Sürekli biligisayar değiltirip fakat irssi’a kaldığınız yerden devam etmek istediğinizde çok kullanılışılır.

Avantajları:

  • Kişiler size mesaj bırakabilir.
  • Siz dışardayken yapılan görüşmeleri sonradan yakalayabilirsiniz (genellikle “scroolback” olarak adlandırılır).

Yönergeler:

  • Bir adet linux VPS edinin ya da sık sık yeniden başlatılmayacak, ihtiyacınız olan yerden bağlanabileceğiniz *nix makina üzerinde ssh hesabı edinin.
  • Bu hesaba bağlanmak için ssh kullanın. Windowsta PuTTY[3] gibi bir istemci kullanın. Eğer Linux yada Unix temelli bir işletim sistemi kullanıyorsanız zaten ssh kuruludur.
  • Ssh hesabına bağlandığınızda, irssi’yı screen oturumu içinde başlatın. Aşağıdaki şekilde yapabilirsiniz.
    $ screen
    screen will flash and go back to the default prompt.  You are now inside screen
    $ irssi
    
  • Irc uygulaması IRSSI’yı başlatmak yeni komut satırına “irssi” yazın. Bir not olarak, eğer bir screen oturumundan çıkmak istiyorsanız komut satırından “exit” yazmanız sizin screen oturumunu açtığınız ilk noktaya dönmenizi sağlayacaktır.
  • IRSSI komut satırı içinde bir sunucuya bağlanmak:
    /connect irc.mozilla.org

    yada

    /connect irc.freenode.net
  • Bir kez bağlandıktan sonra
    /join #hadron
  • /connect ve /join komutlarını tekrarlayarak birden fazla sunucuya katılabilirsiniz.
  • Screen yazılımı sizin irssi yazılımından çıkmanıza ve tekrar bağlanmanıza izin verir.
    • IRSSI’dan çıkmadan komut satırına geri dönmek istersen önce “ctrl+a” sonrada “ctrl+d” komninasyonuna bas
    • Eğer IRSSI’a tekrar bağlanmak istiyorsanız “screen -raAd” komutunu çalıştırın.
    • Eğer çalışan screen süreçlerini görmek istiyorsanız “screen -ls” komutunu kullanabilirsiniz.
    • Eğer screen sürecine bir isim vermek istiyorsanız “screen -S irc” komutunu kullanabilirsiniz. Bu şekilde screen komutuna irc adını vermiş oluruz. Buna tekrar bağlanmak için “screen -r irc” komutunu kullanabilirsiniz.

Sıkça Sorulan Sorular:

  1. Ön tanımlı takma ismi(nick) nasıl değiştirebiliriz?
    • Irssi içinde, “/set nick takmaisim” ya da “/nick“, iki yöntemde çalışacaktır.
  2. Açık kanallarımı, özel mesajlarımı ve sunucu pencerelerini görebilmek için nasıl pencereler arasında geçiş yapabilirim?
    • Alt tuşuyla birlikte o pencerenin numarasını kullanarak geçiş yapabilirsiniz. Mesala Alt+1 sucunu penceresine gidecekti.
    • Eğer bu çalışmıyorsa, Alt tuşu yerine Esc kullanın. Bunun her zaman çalışması gerek.>/li>
  3. Mevcut kanaldaki tüm kullanıcıları nasıl listelerim?
    • /names yada /who yazabilirsiniz.
  4. Irssi ekranında ‘Act: 3’ ne anlama geliyor?
    • Irssi ekranınızda, [2:#hadron] [Act:3,4] göreceksiniz. Bu numaralar ne anlama geliyor? 2’nin anlamı bulunduğunuz sohbet ekranı. 3 ve 4 diğer açık sohbetler.
    • Eğer 3 mavi renkteyse, bunun anlamı birilerin durumu değişti (giriş – çıkış yapıldı).
    • Eğer 3 beyaz ise, o sohbette muhabbet devam ediyor.
    • Eğer 3 pembe ise, özellikle sizin ilginizi çekecek bir nedenden dolayı size ekstra bir mesaj yollandı.
    • Eğer bir sohbetten diğerine geçiş yapmak istiyorsanız, alt+screen# kombinastonunu kullanın(screen# => geçmek istediğiniz ekranın numarası).
  5. Açık bir pencereyi nasıl kapatabilirim?
    • Kapatmak istediğiniz pencereye geçin, ve /window close (yada /wc) yazıp enter’a basın.
  6. İkinci seferde hesabıma nasıl giriş yapabilirim.
    • “screen -r” komutunu terminale yazarak.
  7. Birden fazla screen oturumum var fakat şuan kullandığım screen oturumunu açmak istiyorun. Nasıl yapabilirim?
    • Komut satırına “screen -x” yazın.
  8. Ekranı aşağı yukarı nasıl kaydırabilirim.
    • Page Up & Page Down
  9. Birisiyle irc üzerinde nasıl özel sohbet yapabilirim?
    • Birisiyle özel sohber başlatmak için konuşacağınız kişinin ismini bilmelisiniz. “/names” komutunu yazarak odadaki kişileri listeleyip konuşacağınız kişiyi belirleyebilirsiniz ve “/query takmaad” ya da “/q takmaad” yazarak özel sohbeti başlatabilirsiniz.
    • Özel sohbeti kapatmak için “/query” ya da “/q” yazın.
  10. Irssi’ı bir bilgisayardan kapatıp diğerinden ulaşmak istiyorum, bu sırada bağlantılarım açık kalsın ve mesajları almaya devam edeyim istiyorum. Nasıl yapabilirim?
    • Ctrl+A tuşlarına bastıktan sonra D tuşuna basmalısınız. (Bu sizi screen oturumundan çıkartacaktır)
    • O bilgisayardan ssh bağlantısını kapatın ve diğer bilgisayara geçin. Irssi’ın kurulu olduğu bilgisayara ssh ile bağlanıp “screen -arAd” komutunu verin.
    • Duyuru: Birdaha bağlanmak zorunda değilsiniz. Irssi’ın çalıştığı bilgisayar kapatılmadığı sürece sunucularla bağlantınız kopmayacaktır.

[1]: http://www.irssi.org/
[2]: http://en.wikipedia.org/wiki/GNU_Screen
[3]: http://cdot.senecac.on.ca/software/putty/

Bu yazı http://zenit.senecac.on.ca/wiki/index.php/Irssi_Tutorial adresindeki dökümanın bir nevi çevirisidir. Bir kısmını kendi kafama göre düzenledim. Bir kısmı pek anlaşılır değil, fazla zaman kaybetmek istemedim. Yorumlarla katkı verirseniz daha anlaşılır bir döküman haline getirebilirim.

Categories: Linux Tags: , , , ,

Konsoldan Rastgele String Oluşturma

August 13th, 2013 No comments

Konsoldan rastgele stringler oluşturmak için bir çok yöntem var, bunların bir çoğu random ve urandom aygıtlarını kullanıyor. Benim şimdi anlatacağım yöntemle urandom aygıtını kullanıyoruz.

< /dev/urandom tr -dc A-Za-z0-9

Burada tr komutuna standart girdi olarak /dev/urandom aygıtını gösteriyoruz. urandom rastgele değerler üretir, bu üretilen değerlerin bazıları yazdırılabilir bazıları da yazdırılamayan karakterlere denk gelir. Biz tr komutu ile bu rastgele üretilen değerlerden alfanümerik olanları ayıklıyoruz. Tabi bu komut sonsuza kadar çıktı üretir, sadece istediğimiz kadarını almak için head komutunu kullanabiliriz.

< /dev/urandom tr -dc A-Za-z0-9 | head -c32

Bu komutla çıktının ilk 32 karakterini alıyoruz.

tr kullanarak yapacaklarımızın limiti hayal gücümüz kadar. Mesela sadece sol elimizi kullanarak girebileceğiniz bir parola üretmek istiyoruz. Aşağıdaki komut bunu üretecektir :)

< /dev/urandom tr -dc '12345!@#$%qwertQWERTasdfgASDFGzxcvbZXCVB' | head -c8

[1] adresinde konsoldan rastgele string üretmek için 10 farklı yol gösterilmiş. Ufuk genişletmek için faydalı bir yazı bence.

[1] http://www.howtogeek.com/howto/30184/10-ways-to-generate-a-random-password-from-the-command-line/

Categories: Linux Tags: , , ,

Bir dosyanın boş olup olmadığını kontrol etme

November 7th, 2012 No comments

Shell script yazarken bir dosyanın boş olup olmadığını kontrol etmemiz gerekebilir. Bunu yapmak için birkaç yöntem yazacağım.

satirsayisi=`wc  -l 194.27.108.90  | awk '{split($0,a," "); print a[1]}'`
if [ $satirsayisi == 0 ]; then echo "dosya bos"; fi
if [ -z $(cat dosyaadi) ]; then echo "dosya bos"; fi
if [ -z `cat dosyaadi` ]; then echo "dosya bos"; fi

Ve en güzeli

if [ -s dosyaadi ]; then echo "Dosya dolu"; else echo "Dosya bos"; fi
Categories: Gezegen, Linux Tags: , , , , ,

Bir GNU/Linux kurulumunu başka bir harddiske/bölüme taşımak

April 6th, 2009 No comments

GNU/Linux Öncelikle bir çalışan cd ile sistem açılır, benim tercihim gparted live cd. Sizin elinizin altında ne varsa kabuldur. İlla çalışan cd olmasına gerek yok, herhangi bir linux cdside olabilir. Bize mount, cp ve nano komutları lazım. Bunları sağlayan herhangi bir cd kullanılabilir.

Taşınacak kurulumun hangi disk bölümünde olduğu bilinmeli. Ben 2. bölümdeki kurulumu 1. bölüme taşıyacağım. Yani /dev/hdc3 den /dev/hdc1 e taşıma yapacağım(sizdeki disk isimleri muhtemelen farklıdır).

Cd ile sistemi başlattıktan sonra konsola düşmemiz gerekmekte. Ctrl + Alt + F1 tuş kombinasyonu muhtemelen iş görecektir. Ben live cd kullandığım için grafik ekranla karşılaştım, burdan bi terminal açarak işimi göreceğim.

Yapacağımız işlemler için root olmamız gerekiyor. Bu işlemi yapacak cesaretiniz varsa, nasıl root olunur bilginizde vardır diye düşünüyorum 🙂

Önce diskleri mount ediyoruz

# mkdir /target /source
# mount /dev/hdc1 /target
# mount /dev/hdc3 -o ro /source

Mount işleminden sonra kopyalamaya başlayabiliriz.

# cp -a /source/* /target

Bu işlem kopyalanacak verinin boyutuna göre uzunca sürebilir.
Kopyalama tamamlandıktan sonra yeni diskteki /etc/fstab dosyasını ve eski diskteki /boot/grub/menu.lst dosyalarını değiştirmemiz gerekiyor. fstab dosyasında “/” dizininin bağlanacağı yeni bölümü gösteriyoruz. menu.lst dosyasında ise yeni bölümün boot edilebilmesi için gerekli ayarları yapıyoruz.

Eğer eski bölümü silecek veya orayı başka amaç için kullanacaksanız mbr kaydını yenilemeniz gerekmektedir, yani grubu tekrar yeni disk için kurmalısınız.

grub
 > root (hd0, 0)
 > setup (hd0)

Bende bu şekilde kuruldu, sizde bölüm numaralarına göre değişecektir kurulum.

Categories: Gezegen, Linux Tags: , , , ,