Terminal ile ilgili kısa bilgiler -3

06:48 ,

  • info <komut> : Kabuk komutları hakkında bilgi almak için info kullanabiliriz.


info komutu man komutuna benzer işlev görür. Alternatifi dememiz yanlış olmaz. Komutun ekran görüntüsü aşağıdaki gibidir.


  • file <dosya_ismi> : Parametre olarak girilen dosyanın/dizinin türünü verir. Dosyaysa dosyanın türünü (txt, exe, jpeg, gif, vb.), dizinse dizin olduğunu söyler.



  • reboot : Bilgisayarı yeniden başlatır.
  • poweroff : Bilgisayarı kapatır.
  • shutdown -h now : Bilgisayarı kapatır.
  • halt : Sistemi uyku durumuna getirir.
  • last reboot : Sitemin son reboot zamanlarını gösterir.
  • whatis <komut_adı> : Bir komutun yaptığı işi kısaca anlatır.


  • komut >,>> file_name : Bir komutun çıktılarını bir dosyaya yönlendirmemizi sağlayan karakterlerdir. ">" komutun çıktılarını doğrudan file_name adlı dosyaya yazar. Dosya yoksa yaratılır ve içine yazar. Dosya boş değil ise içindeki bilgileri kaybederiz. Kaybetmemek istiyorsak, yani dosyamız boş değilse, ">>" karakterlerini kullanabiliriz; bu karakter dosyanın sonuna yazar(append mode).


Cryptkeeper | Linux'te dizin şifreleme

06:42 , ,
Linux'te bir dizini şifreli hale getirme, dizin içeriğini sadece şifreli olarak görüntülenebilmesini  sağlamak için cryptkeeper adında bir program kullanılabilir.


Yeni bir güvenli bölge :) oluşturmak için program çalıştırıldıktan sonra New encrypted folder 'a tıklanmalıdır.


Açılan ekrandan istenilen klasöre gidilir ve 

Yeni bir klasör ( şirinler ) oluşturulur.
En son olarak password sorulur 

Klasör oluşturulduğunda masaüstünde otomatik mount işlemi gerçekleştirilir.


artık içine istenildiği gibi belgeler atılabilir. Ardından Program açıp Encrypted folder altındaki istenilen path'e tıklanırsa dizin unmount edilir ve artık dizine erişim kapanmış olur.



Program ve dizini tekrar mount etmek için ise Encrypted folder: altında yer alan path'lerden birine tıklanırsa password sorulur ve mount işlemi gerçekleşir.


Programın dummy kullanımı bu şekildedir. İşin biraz daha arka tarafını incelersek;

Mount işlemi sonrası aşağıdaki gibi iki dizin görülmektedir.


Program kapatılıp unmount işlemi gerçekleştikten sonra aşağıdaki gibi  tek bir gizli dosya kaldığı görülür.
xxx_encf isimli dizine girilirse aşağıdaki gibi bir xml bir de data dosyası görülebilmektedir.
 
Programın preference ekranında şifrenelen her bir dizin için password değişimi ve şifrelenen dosyalarla ilgili bilgi alınabilmektedir.

Şifrelenen klasör de masaüstünde olduğunda mount edilen ve şifrelenen klasör yan yana görülebilmektedir.


xxx_encf isimli dizin silindiği zaman artık şifreli dosyayı açmak mümkün olmamaktadır ve aşağıdaki gibi hata koduyla karşılaşılır.




Linux statik dinamik ip ayarları

02:51 ,
Bir sunucuya sabit bir ip adresi atamak çok rastlanan taleplerden biridir. Makina uzakta veya sürekli bir ekrana bağlı değilse sistem yeniden başladığında IP (değişebilen) adresini öğrenmek sıkıntı olacaktır. Bunun için sabit bir IP adresi atamak daha faydalı olacaktır. Bunu için DHCP server'a kural girebileceğimiz gibi istemci tarafta da halledilebilir. Biz istemci tarafta problem nasıl çözülür onu anlatalım.
  • sudo vim /etc/resolv.conf dosyası istenen IP adresi kural olarak girilir. 
Gerekli değişiklikler aşağıdaki gibidir.

resolv.conf dosyasının son hali aşağıdaki gibidir.
Fakat sistem her yeniden başladığında bu alan sıfırlanacaktır. Bu da bizim istemediğimiz durumdur. Bunun için chattr +x /etc/resolv.conf komutu çalıştırılarak dosya üzerinde değişiklik yapılması engellenebilir. Fakat aşağıdaki ikinci yöntemin kullanılması daha sağlıklıdır.
    • Sistem yeniden başladığında bile aynı IP adresini alması için yapılması gereken ikinci yöntem sudo vim /etc/network/interfaces ile interface dosyasının güncellenmesidir.

Dosyada son satırda yorum satırı haline getirilen iface eth0 inet dhcp satırı sürekli dhcp server'ın IP vermesine sebep olmaktadır. Bu satırı aşağıdaki gibi değiştirirsek 


IP almayacaktır. Çünkü static yaptık ama buraya da hangi IP adresini almasını istediğimizi yazmamız gerekmektedir. Dosyanın son hali aşağıdaki gibidir.
Bu işlemi yaparsak artık 1.69 IP adresini ağda bit çakışma yoksa sürekli kullanabileceğiz.


Svg formatı ve Linux'te svg - png dönüşümü

06:33 ,
Svg formatı,  bir resim formatı olarak karşımıza çıkmaktadır. Wikipedia'daki haritaların tamamına yakını bu formatta yayınlanmaktadır. Benim de tanışma nedenim Wikipedia sayfalarıdır. Resim içeriğini komut satırından yazdırdığım zaman beni şaşırtan bir çıktıyla karşılaştım. ( Vektör tabanlı formata yabancı olmamdan dolayı :)

Dosya içeriğinde 397 karakterlik bir xml dosyasıdır. Bu içerik daha önce alışık olduğum resim formatlarına göre çok daha küçük boyutlarda bir içeriktir. Bir w3c standardi olan svg, xml tabanli olarak 2 boyutlu sekiller tanimlamaya yarayan bir dildir aslında(kaynak: wikipedia). Bütün modern web tarayıcıları tarafından (Mozilla Firefox, Google Chrome, Safari, Opera) destekleniyor olması da yaygınlığını arttırmaktadır. 
 
Scalable Vector Graphics (Xml tabanlı vektör formatı) kelimelerin kısaltması olan SVG formatından  PNG formatına nasıl dönüşüm yapılabilir kısmına gelirse;
  • Dönüşüm sağlanabilmesi için apt-get install librsvg2-bin ile kurulum yapılması gerekmektedir.


  • Kurulum işlemi bittikten sonra rsvg-convert ilk.svg > son.png şeklinde aşağıda örnekte olduğu gibi komut yazılır ve .png uzantılı dosyanında oluştuğu görülür.

Burada svg uzantılı dosya ile png uzantılı dosyanın boyutlarındaki fark dikkate değer şekilde farklıdır. Bakarsanız svg:397 byte iken png:22129 byte boyutundadır. Bu da svg formatının avantajlarından biridir.


Resim içeriği ise aşağıdaki gibidir.
Not : Vektör ve bitmap tabanlı resim farklılığı basitçe aşağıdaki gibidir. Vektör tabanlı resimlerde görüntü matematiksel hesap yapılarak ortaya çıkartılırken bitmap tabanlı resimlerde ise her şey pixellerden ibaret ve her şey pixellerin içeriğine göre oluşmaktadır.



Linux'te İşletim Sistemi Hakkında Bilgi Toplama

06:16 ,

  • free -mto : Linux OS'in ram boyutu hakkında bilgi verir. Ekran görüntüsü aşağıdaki gibidir. Parametreye -h 'yi de eklersek veriler megabyte cinsinden ifade edilir. 
  • lscpu  : CPU hakkında detaylı bilgi verir.


  • cat /proc/cpuinfo : cpu hakkında daha detaylı bilgi almak için kullanılabilir.

  • who -uH : Sistemde kimin log on olduğunu gösterir.

  • lsusb : Sistemde takılı usb listesini görmek için kullanılır.

  • lspci : Sisteme takılı PCI listesini görmek için kullanılır.


  • w : Sisteme bağlı kullanıcıların o an ne yaptıklarını görmek için kullanılır.


  • last : Sisteme bağlanmış olan kullanıcıları görmek için kullanılır.
  • who : O an sistemde bulunun kullanıcılar ve terminallerini listelemek için kullanılır.

  • tty : O an ki kullanıcının hangi terminale sahip olduğunu görmek için kullanılır.



Network ile ilgili faydalı terminal komutları -2

02:50 , ,
  • ip route | awk '/default/{print $3}' : default gateway'i bulmak için kullanılır.


  • dig +short -x <ip> : DNS tablosuna verilen ip adresinin ismini geri döndürür.


  • vim /etc/services | more : dosyasının içinde port'lar ve bu portlara ilişkin servis isimlerini görmek mümkündür.


Netstat 

Netstat programı sayesinde ağa ilişkin bir çok bilgiye ulaşılabilmektedir. Detaylı inceleme ve parametre bilgileri aşağıdaki gibidir.

  • Ağ bilgileri
  • Yönlendirme Tabloları
  • Ağ Bağlantıları
  • Ağ arayüz istatistikleri gibi pek çok bilgiye ulaşılmaktadır.

Parametreler (wikipedia'dan alınmıştır)


-a : Tüm aktif bağlantıları ve bilgisayarın dinlediği TCP ve UDP portları görüntüler.

-b : Bağlantı oluşturan veya port dinleyen ikili programların isimlerini görüntüler.(Windows XP, 2003 Server ve daha yeni Windows işletim sistemlerinde (Microsoft Windows 2000 veya diğer Windows olmayan işletim sistemleri)) MAC OS X işletim sistemin -i parametresi ile birlikte kullanıldığında ağdaki toplam trafiği rapor edecektir.

-e : Gönderilen byte ve packet sayısı gibi ethernet istatistiklerini görüntüler. Bu parametre -s parametresi ile birlikte kullanılabilir.

-f : Yabancı adreslerin alan adlarını görüntüler.(sadece Windows Vista ve daha yeni işletim sistemlerinde vardır.).

-g : IPv4 ve IPv6 için multicast grup üyelik bilgilerini görüntüler.

-i : Ağ arayüzlerini ve onlara ait istatistikleri görüntüler.(Windows altında kullanılabilir değildir)

-m : STREAMS istatistislerini görüntüler.

-n : Aktif TCP bağlantılarını görüntüler.Ancak adresler ve bağlantı noktası numaraları sayısal olarak ifade edilir, herhangi bir isim belirlemesi yapılmaz.

-o : Ağ zamanlayıcılar ile ilgili bilgileri gösterir.

-p Windows ve BSD: Protokol : Protokol tarafından belirlenmiş protokol bağlantılarını gösterir. Protokol tcp, udp, tcpv6, veya udpv6 olabilir. Eğer bu parametre -s ile birlikte kullanılırsa protokole ait istatistikler gösterilir.

-p Linux: Süreçlerin kullandığı soketleri gösterir. (Windows altındaki -b parametresine benzerdir.) (Bu komutu kullanmak için root olmanız gerekmektedir)

-P Solaris: Protokol : Protokol tarafından belirlenmiş protokol bağlantılarını gösterir. Protokol ip, ipv6, icmp, icmpv6, igmp, udp, tcp, or rawip olabilir.

-r : Yönlendirme tablosunun içeriğini gösterir. (Windows altındaki route print komutuna eşdeğerdir)

-s : Her bir protokol için istatistikleri görüntüler.

-t Linux: Sadece TCP bağlantılarını görüntüler.

  • netstat -vatn : Açık veya hizmet verilen TCP portlarını listeler.


  • netstat -vaun :Açık veya hizmet verilen UDP portlarını listeler.
  • netstat -tulpn :Açık veya hizmet verilen TCP/UDP portlarını listeler.


  • netstat -tnl : Sadece dinlenen portları protokol bilgileri ile birlikte verir.



  • netstat -tp : Sistemin bağlantısı olan servisleri PID numarası ile birlikte bilgi verir.

  • netstat -g : Multicast ağ arayüzleri hakkında istatistik verir.

  • netstat -rn : Kernel yönlendirme tablosunu gösterir.

  • netstat -s : Network istatistiklerini gösterir.

  • netstat -ltpe:  Açık olan portları ve process/process id'lerini göstermenin yanında process'in sahibini de gösterir.

  • netstat -nlpt :Açık olar portları ve process/process id'lerini gösterir.