8 Ağustos 2016 Pazartesi

Konsoldan dosyayı browserda açma komutu


Ubuntu da .html uzantılı dosyayı hangi komut ile direk browserda açarım diyenlere :

$ xdg-open dosyaadı.html
Önce dosyanın bulunduğu dizine gitmeyi unutmayın ! :)

Mac'de ise $ open dosyaadı.html komutu kullanılıyor.
Kolay gelsin :)

6 Ağustos 2016 Cumartesi

Ubuntu 14.04 İçin Docker Kurulumu

Öncelikle Docker için Ubuntu sürümü ne olursa olsun 64-bit kurulum gerektirir. Ayrıca kernel
sürümü en az 3.10 olması gerekir. En son kernel sürümü 3.10 alt veya daha yeni bir sürümü de
kabul edilebilir.

Bilgisayarınızdaki kernel sürümünü kontrol etmek için terminal açın(CTRL+ALT+T) ve kernel
sürümünü öğrenmek için:
$ uname -r

Eğer kernel sürümünüz Docker için uygunsa kuruluma başlayabiliriz.
Yeniden bir terminal açıp root olalım yada sudo ayrıcalıklarına sahip bir kullanıcı ile Ubuntu'yu başlatıp, terminali açalım.

APT Kaynaklarını Güncelleme

1.Önce bir güncelleme yapalım :
# apt-get update

2.Ardından CA sertifikasını indiriyoruz:
# apt-get install apt-transport-https ca-certificates

3.GPG anahtarını ekliyoruz:
# apt-key adv --keyserver hkp://p80.pool.sks-keyservers.net:80 --recv-keys
58118E89F3A912897C070ADBF76221572C52609D

4. /etc/apt/sources.list.d/docker.list dosyasını istediğiniz herhangi bir editör ile açalım, ben vim
kullanıyorum :
# vim /etc/apt/sources.list.d/docker.list

Dosya mevcut değilse, oluşturalım.
İçinde herhangi bir şey yazıyorsa, silelim.

Ubuntu Trusty 14.04 (LTS) için dosyanın içerisine bu satırı ekleyelim:
deb https://apt.dockerproject.org/repo ubuntu-trusty main
ve kaydedip(:wq) dosyayı kapatalım.

5.Tekrar güncelleme yapalım:
# apt-get update

6.Varsa eski repoları temizleyelim:
# apt-get purge lxc-docker

7.APT olduğunu doğrulayalım:
# apt-cache policy docker-engine

Linux-image-extra paketini kernel sürümü için yükleyelim

1.Önce yine güncelleme yapalım:
$ sudo apt-get update

2.Önerilen paketi yükleyelim:
$ sudo apt-get install linux-image-extra-$(uname -r)

Devam edelim ve Docker'ı yükleyelim.

NOT: Ubuntu 14.04 ya da 12.04 için apparmor gereklidir. Apparmor kurulumu için:
# apt-get install apparmor

DOCKER KURULUMU

1.Docker kurulumu için ön koşulları hallettikten sonra root olalım yada sudo yetkisine sahip
kullanıcı ile Ubuntu'yu başlatalım.

2.APT paketlerini güncelleyerek başlayalım:
$ sudo apt-get update

3.Docker yüklemek için:
$ sudo apt-get install docker-engine

4.Docker daemon başlatmak için:
$ sudo service docker start

5.Doğrulama kontrolü için:
$ sudo docker run hello-world

Bu komut bir test görüntüsü indirir ve konteyner çalıştırır. Konteyner çalıştığında bilgilendirici

mesaj görünür ve sonra çıkar.


Şimdiden kolay gelsin :)

13 Temmuz 2016 Çarşamba

Ubuntu'da phpMyAdmin Kurulumu

Öncelikle LEMP kurulumu yapılmalıdır, daha önceki yazımda nasıl kurulacağını anlatmıştım. Şu linkten o yazıma ulaşabilirsiniz.

phpMyAdmin, MySQL ile çalışabilen ve arayüzden verilerinizi kontrol ve müdahale etmemizi sağlayan bir yazılımdır.

Öncelikle güncelleme yapalım:
sudo apt-get update

phpMyAdmin yüklemek için
sudo apt-get install phpmyadmin

Parolamızı yazarak kuruluma devam ediyoruz.Kurulum yaparken apache veya lighttpd sunucularından biriniz seçmemizi istiyor, biz Nginx kurduğumuz için burada bir seçim yapmadan kuruluma devam edicez.

phpMyadmin Yapılandırılması

Sitemiz ile phpMyAdmin arasında bir bağlantı oluşturacağız şimdi:
sudo ln -s /usr/share/phpmyadmin /usr/share/nginx/html

sudo php5enmod mcrypt
sudo service php5-fpm restart ile tekrar başlatıyoruz.

Nginx'i tekrar başlatıyoruz:
sudo service nginx restart

Tarayıcımıza gelerek http://localhost/phpmyadmin yazıyoruz.
Kullanıcı adı : root
Parola : MySQL için belirlediğiniz paroladır.

Kurulumumuz tamamlandı. :)

EK BİLGİ !

Az önce sudo ln -s /usr/share/phpmyadmin /usr/share/nginx/html komutu ile sembolik link oluşturmuştuk. Şu şekilde ona bakarız :
cd /usr/share/nginx/html
ls -l

Şimdiden kolay gelsin. :))

Linux'a LEMP kurulumu nasıl yapılır ?

LEMP -> Linux, Nginx(Engine X), Mysql ve PHP'nin kısaltmasıdır.

Nginx Kurulumu

Öncelikle bilgisayarımızdaki paketleri güncellemek ile başlayalım
sudo apt-get update

Nginx'i yüklemek için
sudo apt-get install nginx

Nginx'i başlatmak için
sudo service nginx start komutunu kullanacağız.

durdurmak içinsudo service nginx stop
durdurup yeniden başlatmak için : sudo service nginx restart

Şimdi başarılı bir şekilde Nginx yüklenmiş mi diye kontrol etmek için tarayıcımıza
http://localhost/ yada 127.0.0.1 yazalım.

Nginx Ayarları

Default sunucu dosyamızı açalım:
sudo vim /etc/nginx/sites-available/default
Dosya ayarlarını aşağıdaki gibi değiştirelim
varsayılarn root satırınız /usr/share/nginx/html şeklinde gelecektir. O öyle kalabilir. ben /var/www dizinini kullandığım için o ayarı değiştirdim.
autoindex on; ayarı da dizin listelemek için kullanılan bir ayardır. Onuda isteğe bağlı ekleyebilirsiniz.
---
server {
   listen 80 default_server;
   listen [::]:80 default_server ipv6only=on;
   root /usr/share/nginx/html;
   index index.php index.html index.htm;
   server_name server_domain_name_or_IP;
   location / {
    try_files $uri $uri/ =404;
   }
   error_page 404 /404.html;
   error_page 500 502 503 504 /50x.html;
   location = /50x.html {
    root /usr/share/nginx/html;
   }
       location ~ \.php$ {
       try_files $uri =404;
       fastcgi_split_path_info ^(.+\.php)(/.+)$;
       fastcgi_pass unix:/var/run/php5-fpm.sock;
       fastcgi_index index.php;
       fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
       include fastcgi_params;
   }
}
---
Kısacası yukarıdakileri ayarları eklemeniz yeterli olacaktır.
Kaydedip (:wq) , nginx'i yeniden başlatmamız gerekecektir:
sudo service nginx restart

Ayarları test etmek için 
  
sudo vim /usr/share/nginx/www/info.php komutu ile www dizinine info.php adında bir dosya oluşturmuş olduk.İçerisine:

<?php phpinfo(); ?> yazalım. Kaydedip(:wq) çıkalım.
Artık PHP ayarlarınızı http://localhost/info.php tarayıcınızda görebilirsiniz.
MySQL Kurulumu
MySQL, veri düzenleme ve yönetme işlemlerinde kullanılan bir veritabanı sistemidir.

MySQL yüklemek için 
sudo apt-get install mysql-server libapache2-mod-auth-mysql php5-mysql

Yüklerken MySQL root parolası soracaktır. Kaçırırsanız daha sonra da parola koyabilirsiniz.
MySQL yükledikten sonra 
sudo mysql_install_db komutu ile aktif hale getiriyoruz.Daha sonra 
sudo /usr/bin/mysql_secure_installation komutu ile MysQL kurulum dosyasını çalıştırıyoruz. Kurarken root parolası isteyecektir.

Enter current password for root (enter for none): 
OK, successfully used password, moving on...
Root parolanızı değiştirmek isterseniz burada değiştirerek işlemlere devam edebilirsiniz.
Daha sonra 

Tüm seçeneklere "y" diyerek MySQL kurulumunu bitiriyoruz.

PHP Kurulumu

PHP, dinamik web sayfaları oluşturmak için kullanılan açık kaynak kodlu bir betik dilidir.

PHP yüklemek için
sudo apt-get install php5-fpm php5-mysql

PHP Ayarları

PHP ayar dosyası /etc/php5/fpm/php.ini dosyasındadır, ayarları değiştirmek için bu dosyayı kullanacağız.
sudo vim /etc/php5/fpm/php.ini
Burada cgi.fix_pathinfo=1 'i bulalım ve değeri 0 olarak değiştirelim. Dosyayı kaydedip(:wq) kapatalım.
Daha sonra
sudo vim /etc/php5/fpm/pool.d/www.conf dosyası içinde listen = 127.0.0.1:9000 satırını bulup
listen = /var/run/php5-fpm.sock yazarak kayıt edelim.

Değişikliklerin kayıt olması için sudo service php5-fpm restart komutu ile yeniden başlatalım.

İyi çalışmalar :))



12 Temmuz 2016 Salı

"Unable to access volume" Hatası

Ubuntu 14.04 LTS sürümünü bilgisayarıma yeniden kurdum. C:'de Windows yüklü ve ayırdığım belli miktarlık alana da Ubuntu'yu yükledim. Ubuntu kullanırken Windowstaki dosyalarıma da erişim sağlayabilmem gerekliydi.

 Lakin aşağıdaki hata ile karşılaştım :

Search your computer and online sources kısmına "Disks" yazıyoruz ve disks'e tıklıyoruz.













Bağlamak istediğimiz volume'u seçerek Additional partition options(kırmızı ok ile gösterdiğim yer) seçeneğine tıklıyoruz.
Açılan seçenekler arasından Edit mount options seçeneğine tıklıyoruz. Automotaic mount options seçeneği ON olarak gelecek onu OFF yapıyoruz. 

Kırmızı ok ile gösterdiğim yer normalde ro (read-only) yazmıyor olacak. Yazılanların sonuna ",ro" ekliyoruz ve OK butonuna tıklıyoruz. 

Artık verilerimiz ulaşabilir halde. Kolay gelsin :))

30 Haziran 2016 Perşembe

Dizin Listeleme (Directory Listing)

Dizin listeleme, bir web uygulamasının sahip olduğu dizin bilgilerinin tarayıcıda listelenmesi özelliğidir.

Bu özelliği aktifleştirmediğimiz de tarayıcımızda localhostu açtığımız zaman ekrana index olarak belirlediğimiz dosyanın içeriği görüntülenecektir.

$ sudo vim /etc/nginx/sites-enabled/default komutu ile ayarlarımı yapacağım dosyayı    açıyorum.

location / {
        autoindex on; 
        }

satırını ekliyorum ve kaydediyorum.(Esc:wq) 
Daha sonra nginx'i yeniden başlatıyorum.
$ sudo service nginx restart 

Ardından tarayıcıma gelerek 127.0.0.1 veya localhost/ yazıyorum.

Dizin listeleme özelliği aktif olan bir sunucuda, uygulamanın tarayıcıda çağrıldığında yukarıdaki gibi bir ekran görüntüsü olacaktır. Tarayıcıda uygulamanın herhangi bir alt dizini değil, doğrudan domain ismi çağrılmış olur. Bu durumda uygulama sunucusu üzerinde anasayfa olarak ne tanımlıysa o sayfanın görüntülenir.
İşte burada dizin listeleme özelliği devreye girer. Eğer web uygulamanız için bir anasayfa ismi tanımladınız fakat tanımlı o dosya kök dizinde yoksa dizinleriniz yukarıdaki gibi listelenecektir.
 Bu arada benim varsayılan anasayfam index.php lakin bu kök dizininde tanımlı index.php dizinim bulunmamaktadır. Oyüzden tüm dizinler listelendi. (Anasayfamı nereden anlıyorum diyecek olursanız, yukarıdaki /etc/nginx/sites-enabled/default  dosyasındaki index index.php; satırı bize anasayfamız olacak dizini ayarlamamızı sağlar.)

 Yukarıdaki ekran görüntüsünde üç bilgi mevcuttur -> dizin ismi, son güncellenme zamanı ve dizinin boyutudur.Yukarıda görüldüğü gibi kök dizinde (Index of/) dizin dosya ayırımı yapmaksızın ne varsa listelenmiştir.

Birde şu kısımı göstermek istiyorum. Diyelim kök dizinimde anasayfam olarak index.php dosyam var olsaydı. Hemen bir tane oluşturalım:

içerisine
<?php
$welcome = "Benim dunyama hosgeldin my bosS!";
echo $welcome."<br>"; //br satır atlatir.
echo "have a good day!";
yazalım. Şimdi tarayıcımıza yeniden gelip localhost/ ya da 127.0.0.1 yazalım.

Gördüğünüz gibi artık kök dizinimde index.php dizini mevcut ve bu yüzden dizin listeleme özelliği pasif hale geldi. Eğer index.php dosyasını siler ya da o ayarı değiştirirseniz yeniden dizin listeleme özelliği aktif hale gelecektir.
Bu siteden de birçok modül hakkında bilgi alabilir ve eklemeniz gereken özelliklere bakabilirsiniz.
Umarım faydalı olmuştur. Şimdiden kolay gelsin. Buarada yukarıdaki sekmelerde sanal reklam uygulaması yaptım birazcık :D 

Görüşşşmeeekkkk üzereeee :)

6 Mayıs 2016 Cuma

Compiz

Dün gece bu Compiz de neymiş diyerek ayarları ile oynamaya başladım ve masaüstünde ki tüm araç çubukları kayboldu. Aman Allah'm dedim. :) Sadece kurcalıyordum yahu. 
Ve yaptığım şeyden sonra sadece kısayol tuşları ile sistem ayarlarına ve terminale erişebiliyordum. Neyse ki terminale erişmek insanın içini rahatlatıyor. :)

CTRL+ALT+T ile terminalimizi açtıktan sonra:

$ dconf reset -f /org/compiz

ve daha sonra

$ setsid unity 

komutlarını kullandıktan sonra masaüstü araç çubukları görünür hale geldi.

Bu komutlardan sonra düzelmezse sistemi tekrardan başlatmayı deneyin, benim için buna gerek kalmadı son komut ile sorun düzeldi.

Allah'm şu komutlar müthiş bir şey... :)

Siz siz olun sakın gece 01.00'den sonra bilgisayarınızda bilmediğiniz şeyleri kurcalamayın. Bu saatlerce uğraşmanıza ve uykusuz kalmanıza sebep olabilir ve özellikle cuma akşamları kritik şeyler yapmayın, tüm haftasonunuz gidebilir. :)


Görüşmek üzere.. :) 






19 Şubat 2016 Cuma

UBUNTU'DA JAVA JDK ve NETBEANS KURULUMU

Merhaba arkadaşlar bu yazımda Ubuntu'ya nasıl Netbeans ve jdk paketlerini yükleyeceğimizden bahsedeceğim.
Ben konsol kullanmayı sevdiğim için jdk paketlerini konsoldan yüklemeyi göstereceğim.

$ sudo add-apt-repository ppa:webupd8team/java 
$ sudo apt-get update 
$ sudo apt-get install oracle-java8-installer

komutlarını kullanarak son sürümünü bilgisayarıma yükledim.

Daha sonra Netbeans için bu adresteki linke giderek "All" seçeneğinin altından Download kısmına tıklayarak dosyamızı bilgisayarımıza yüklüyoruz.

























Yüklendikten sonra konsolumuzu(terminalimizi) açarak indirdiğimiz klasöre giderek,
Örneğin

$cd Downloads/  -> "İndirilen dosyaların bulunduğu dizine(klasöre) geldik."
$ ls -> "Dizinin içindeki dosyaları listeleyen komut.İndirdiğimiz dosya dizinin içinde mi dosyamız diye bakıyoruz."
$chmod 777 netbeans-8.1-linux.sh
$./netbeans-8.1-linux.sh  komutunu da yazarak kurulumu gerçekleştirebiliriz.

Burada işlemler bittikten sonra NetBeans'ın kendi kurulumuna girmiş bulunuyoruz bundan sonrası zaten çocuk oyuncağı.












Daha sonra açılan ekrandan next ve finish diyerek kurulumu tamamlıyoruz.




Şimdiden kolay gelsin :)

12 Şubat 2016 Cuma

Linux Konsol Komutları

Linux işletim sistemi kullanacaksınız öğrenmeniz gereken ilk kavram Linux terminali(konsol) ve Linux komut satırı kavramlarıdır.

Yapılan her işlem aslında arka planda komutların yorumlanıp çalıştırılması ile olmaktadır.Linux sistemlerde bu işi komut satırı dediğimiz ve bir kabul(shell) programını temel alarak çalışan yapı sayesinde gerçekleştiriyoruz.

Linux terminali(konsol/uçbirim), sistemde yapmak istediğimiz işler için bize çok esnek ve kullanışlı bir yapı sunuyor.Shell(kabuk) programının yetenekleri ölçüsünde bu esnek yapının performansı tatmin edici oluyor.  

Shell(Kabuk)  

Görevi kernel ile kullanıcı arasında yer alarak,kullanıcıdan gelen komutları yorumlayıp kernel'e iletmektir.Birçok shell programı kullanılmaktadır. 

  • Sistemimizde kullanılan kabuk programını öğrenmek için echo $SHELL komutunu kullanırız.
        root@dilek# echo $SHELL 
       /bin/bash    

Çevre Değişkenleri 

Bir komutu çalıştırmak için sırası ile bazı dizinlere bakmam gerekir.Eğer verilen komutun çalıştırılabilir dosyası bu dizinlerin altındaysa çalıştırırım.
$echo PATH → Yani yola(PATH) ekliyse çalıştırırım yoksa çalıştıramam.
Herhangi bir anda çalıştırma ortamınız için çevre(ortam) değişkenlerini görmek için printenv ya da env komutunu kullanabiliriz.
Örneğin bir programın konsoldan verdiğimiz bir komutla direk çalışmasını istiyoruz diyelim.Yani programın olduğu dizin altına gidip çalıştırmak yerine yola(PATH) ekleyip, programla ilgili komutu kullandığımızda direk çalışmasını istiyoruz.Bunun için programımızın olduğu dizini yola eklememiz gerekir.
Mesela program /usr/local/prog dizinde ise:
PATH=$PATH:/usr/local/prog komutunu yazarak yola eklemiş oluruz. 

Ortam değikenlerinden yaptığımız değişikliklerin kalıcı olmasını istiyorsak .bashrc dosyasına eklememiz gerekir.Çünkü sistem açılırken bu dosyayı okuyarak dosyada yer alan değerlere göre açılacaktır.
 

/bin/bash (kabuğun kendisi)
/etc/profile (kabuğun genel profik ayarlarının bulunduğu dosya) 

Bash kabuğunun birçok özelliği vardır.Bunlardan biri de kabuktan çıkmak için kullanılan CTRL + D tuş takımıdır. 
set -o ignoreeof komutu ile CTRL + D ile kabuktan çıkılmasını engeller. 
set +o ignoreeof komutu ile geri eski haline getirebiliriz.
Yada .bashrc dosyasının alt satırına export IGNOREEOF=2 yazıp kayıt ederek bu ayarı kalıcı hale getirebilirz.
Birde noclobber komutundan bahsedeceğim. Bu komut ile, bir komutun çıktısı bir dosyaya gönderildiğinde, dosyanın eski içeriği aynı kalır.Bu tanım sayesinde  yanlışlıkla bir dosyanın üzerine başka bilgilerin yazılması önlenebilir.

Yardım Alma Komutları

$help <komut>
$<komut> --help
$man <komut> → Kılavuz sayfasıdır (manual pages)
$whatis <komut> → Bir uygulama yada komutla ilgili yardımın hangi kılavuz sayfalarında olduğunu öğrenebiliriz.
$apropos <x> → x ifadesinin geçtiği uygulamaları bize listeler.Aslında aynı işlemi yapan $man -k <x> komutunu arka planda çalıştırır.
Eğer aradığımız yardımı man sayfalarında bulamıyorsak, man dizin belleğini güncellemeliyiz:   root@dilek # mandb
 
Bilgi Alma Komutları 
root@dilek# lsb_release -a→ Kullandığımız Linux dağıtımının adını öğrenmek için kullanılır veya cat /etc/*release komutu kullanılır.
cat /etc/issue → Kullandığımız Linux'un adını görmek için kullanılır. 
uname  → Kernel adını öğrenmek için kullanılır.
uname -n veya hostname → Hostname'i öğrenmek için kullanılır.
uname -m → Çekirdek mimarisi
uname -r → Çekirdek sürümü
uname -a → Bu bilgilerin hepsini birlikte gösterir.


w → hangi kullanıcının o anda hangi uygulamayı/komutu çalıştırdığı bilgisi
whoami → Kullanıcın hangi kimlikte çalıştığını gösteririr.
who →Sistemde hangi kimlikle çalışıldığı
who -b → sistemin en  son ne zaman açıldığı bilgisi
who -r → açılış seviyesini(runlevel) gösterir. 
uptime → sistemin ne kadar zamandır açık olduğunu gösterir.

whereis → Bir dosya ile ilgili çalıştırılabilir dosyanın, kaynak ve yardım dosyalarının konumunu öğrenmek için kullanılır.
whereis -b <komut> → Sadece çalıştırılabilir dosyanın yerinin gösterir.
whereis -m <komut> → Sadece man sayfalarının yerini gösterir.
whereis -s <komut> → Varsa kaynak kodunun konum bilgisini verir.
which <komut> → Verilen bir komutun tam yol bilgisini öğrenmek için kullanılır.
locate <komut> → Aradığımız dosyanın nerede olduğunu yani hangi dizin yada dizinlerde olduğunu gösterir.
dmidecode -t <donanım> → Sistemin donanım bileşenleri ve BIOS ile ilgili bilgiyi görmek için kullanılır.
<donanım>→system,baseboard,chassis,processor,memory,cache,connector,slot 
bilgilerini öğrenebiliriz.
Eğer CPU bilgisini görmek isterseniz $dmidecode –t 4 komutunu kullanmalısınız.
DMI(Desktop Management Interface)->0...39 ile diğer bileşenler hakkında bilgi edinebiliriz.
proc → CPU ve RAM hakkında ayrıntılı bilgi edinmek için, sanal dosya sistemi olan proc kullanılır.
CPU için ; cat /proc/cpuinfo
Hafıza için; cat /proc/meminfo
fdisk -l → Sistemimizdeki disk bölümlerini görebiliriz.
df → Disk kullanımı ile ilgili ayrıntılı bilgiyi gösterir.Daha düzgün bir çıktı(MB,GB türünde) için df -h komutu kullanılır.
df -T → Dosya sistemi bilgisi ile birlikte liste almak için kullanılır.
du → Bir dizinin altında bulunan alt dizin,dosya yada klasörlerin diskte kapladıkları alanın boyutunu öğrenmek için kullanırız.Çeşitli parametreler alarak kullanılabilir.
free →  Kullanılan bellek miktarını gösterir. -m parametresiyle daha düzenli görünecektir.
hdparm <disk> → Harddisk ile ilgili bilgi almak için kullanılır.
hdparm -Tt <disk> → Disk performansı ile ilgili bilgi almak için kullanılır.
 

ÖNEMLİ !! Hdparm komutunu bazı parametrelerle kullanılım tehlikeli olabilir, bu nedenle kullanırken dikkat edilmelidir.
modinfo → Linux kernel modülleriyle ilgili bilgileri listeler.
lsmod → Modül listesini görmek için kullanılır.
stat <dizin/dosya>→ Dosya yada dizin durumu hakkında bilgi almak için kullanılır. -f parametresi ile de kullanılabilir
vmstat → Sistemin genel durumunu görmek için kullanılır.
history → Linux sisteminde kullanılan komutlar hafızada tutulur.Bu yüzden daha önce kullandığımız komutlara bu komut ile bakabiliriz.
.bash_history dosyasına, komut satırında kullanılan komutlar kayıt edilir.Yani history komutu bu dosyayı referans alarak çıktı verecektir.
Listenen komutların yanında sayılar olacaktır. Başına !125 yazarak 125. satırdaki komutun tekrardan çalıştırmış oluruz.
Eğer son kullanmak istediğimiz komutu tekrar kullanmak istersek, !!  komutunu kullanabiliriz.
CTRL + R → Bu tuş kombinasyonu reverse search yapmamızı sağlar.Konsol açıkken bu tuşlara bastığımızda ekranda (reverse-i-search)”: ifadesi çıkar. Yani buraya yazdığımız karakterler başlayan komutun son kullanma şekli ekranda görünür ve o komutu istersek yeniden kullanabilir.
 
Dizinler/Klasörler Arasında Gezme ve İçeriğini Listeleme
Linux dünyasında her şey bir dizin altında alt dizin/dosya görünümünde yer alır.Bütün dizinler hiyerarşik şekilde kök dizine(root dizin) bağlıdır.Root dizin
/ (slash) ile ifade edilir.


pwd → Hangi dizinde çalıştığımızı görmek için kullanılır.
cd → (Change directory) Bu komut dizinler arasında geçiş yapmamızı sağlar.
Herhangi bir dizindeyken ana dizine dönmek için yine cd komutu kullanılabilir.
./ → bulunduğumuz dizin
../ → bir üst dizin
cd - → Çalıştığımız iki dizin arasında geçiş yapmamızı sağlar.

Pushd ve popd → İki ayrı klasör/dizin açıp, bu dizinler arasında istediğimiz gibi geçiş yapmamıza yarar.
Pushd ile devamlı dizinler arasında geçiş yapılabiliyorken,popd ile sadece diğer dizinlere tek tek bir kere geçiş yapılıp o dizinde çalışılabiliyor.
dirs – v → Açık olan dizinleri listelemek için kullanılır.
ls → Dizinler arasında bulunan alt dizin,klasör ve dosyaları listelemek için kullanılır.
ls -l → Daha ayrıntılı çıktı alırız.(Erişim izinleri , kullanıcı adı,tarih ve dosya isimleri...)
ls -la → Gizli dosyaları görmek istersek bu komutu kullanırız.(gizli klasörler “.” ile başlar.)
ls -R → Dizin içeriğini recursive olarak listelemek için kullanılır.
ls -1 → Ekran çıktısının liste şeklinde olması için kulanılır.
ls 'nin birlikte kullanıldığı daha birçok parametre vardır.Bunları öğrenmek için ls --help veya man ls komutları ile kılavuz sayfalarından bilgi edinebiliriz.
EK BİLGİ ! Web tarayıcmızdan da dizinler arasında geçiş yapabilir,dosyaları
listeleyebiliriz. Örneğin root dizin için browser'ımıza /(slash) ifadesini yazıp enter'ladığımızda içeriği göreceğizdir.
man:ls yada man:echo yazarakta kılavuz sayfalarına browserdan erişmek mümkündür.

Dosya İşlemleri

touch <dosyaismi> → Metin  dosyası oluşturmamızı sağlar.Bu komut aynı zamanda var olan dosyanın tarih etiketini güncellemek için de kullanılır.
cat → Dosya içeriğinin konsoldan okunmasını sağlar.Aynı zamanda oluşturulan dosyanın içine yazı yazılmasınıda sağlar. Şu şekilde $cat > <dosyaismi> yazdığımızda istediğimiz ifadeleri yazarak CRTL+D diyerek yazımızı sonlandırarak, dosyanın içeriğine istediklerimizin yazılmasını sağlarız.

Yukarıdaki ekran görüntüsünde kısaca “>” ve “>>” kullanımını anlatamaya çalıştım. :)
cat -n /etc/passwd → Bu komut satırları numaralandırarak dosya içeriğini gösterecektir. Bu komut yerine nl komutunuda kullanarak satırları numaralı olarak görebiliriz. 
more → Bu komut da metin dosyalarını terminalden okumaya yarar.Ama daha çok komut çıktısının uzun olduğu durumlarda çıktıyı daha rahat okuyabilmemiz için kullanılır. “Enter” tuşuna her bastığımızda satır satır ilerler, “space” tuşuda sayfa sayfa ilerler.Bir önceki sayfaya dönmek için “b” tuşu kullanılır.Çıkmak istediğimizde “q” tuşu kullanılır.
less → Yine dosya içeriğini okumak için kullanılır.More gibi ekran çıktısı uzun olan dosyaları daha kolay okumak için kullanırız. Yukarı ve aşağı ok tuşlarını kullanarak sayfada ilerleyebiliriz.”space” tuşu bir sonraki sayfaya,”b” bir önceki sayfaya geçmeyi sağlar.Çıkmak için “q” tuşu kullanılır.

head → Dosya içeriğini görüntülerken baştan görüntülememizi sağlar.Default değeri ilk on satırdır.
head -n /etc/passwd → İlk on satırı gösterir.
head -n 5 /etc/passwd → İlk beş satırı gösterir.
tail → Dosya içeriğini görüntülerken sondan görüntülememizi sağlar.Default değeri ilk on satırdır.
tail -n /etc/passwd → Son on satırı gösterir.
tail -n 5 /etc/passwd →Son beş satırı gösterir.

tac → Bir metin dosyasının içeriğini sondan başa doğru yazmak için kullanılır.
rev → Her satır ters çevrilerek ekrana yazılır. İlginç bir komuttur. :)
sort → Alfabetik olarak metin dosyasını terminale yazar.sort -r şeklinde olursa ters alfabetik olarak gösterir.
wc → Bir dosyanın içindeki satır,kelime, karakter sayılarını gösterir.
wc -l → satır sayısını
wc -w → kelime sayısını
wc -c → karakter sayısını
pr → Belge içeriğini sayfalara bölmek için kullanılır.
paste <dosya1> <dosya2> → İki veya daha fazla dosyada bulunan karşılıklı satırları aralarına tab boşluğu koyarak yan yana listelemeyi sağlar.
grep → Dosyalar içerisinde yada bir komut çıktısı içinde bir ifade aramak için kullanılır.
-i : Büyük/Küçük harf ayırımı yapmaz.
-v : Aranılan kelimeyi içermeyen satırları gösterir.
-r : Verilen dizinin alt dizinlerinde de arama yapar.
-n : Aranılan kelimenin satır sayısını da gösterir.
Bu parametrelerle yetinmeyip daha fazlasını öğrenmek isteyenler için man grep kılavuz sayfası aydınlatıcı olacaktır. :)
cut → İncelemek istediğimiz dosyada bazı satırların belirli bazı alanlarını görmek için kullanılır.
cut -d: -f 2,4 /etc/passwd → /etc/passwd dosyasındaki satırların 2. ve 4. alanlarını listeler.
-d → Alanların ayrıldığı yerler
-f → Kaçıncı alanları görmek istedğimiz
cmp <dosya1> <dosya2>→ Dosyalar arasında karşılaştırma yapmak için kullanılır.
diff <dosya1> <dosya2>→ İki dosya arasında karşılaştırılma yapılacaksa kullanılır.
diff3 <dosya1> <dosya2> <dosya3>→ Üç dosya arasında karşılaştırma yapılacaksa kullanılır.
find → Nerede olduğunu hatırlayamadığımız dosyaları yada dizinleri bulmak için kullanırız.
find [dosya_yolu] -name [aranacak_ifade]
İşimizi kolaylaştıran bazı parametreler:
type -f → Dosyalar
type -d → Dizinler
ctime x→  x gün önce değişikliğe uğramış dosyaları
find [dosya_yolu] [parametre] -name [aranacak_ifade]
xargs → Find komutu ile kullanabileceğimiz bir araçtır.Kendisine girdi olarak verilen verileri tek tek kendisinden sonraki programa argüman olarak verir.
find /etc -name “*.conf” | xargs ls -l
ls *.txt | xargs ls -l → Çalışma dizinindeki txt ile biten dosyaları bul ve ayrıntılı listele demiş olduk.

Dosya Taşıma-Kopyalama-Silme

cp → Kopyalamak için kullanılan komuttur.
cp <kaynak> <hedef> → Kaynak dosya, hedef dosyaya kopyalanacaktır.
mv → Dosya taşımak için kullanılır.
mv <kaynak> <hedef> şeklindedir. Kaynak dosyayı hedef dosyanın altına taşır.
mv <kaynak> <hedef> /<yenisim> Taşıdığımız dosyayı bu şekilde farklı bir isimlede kayıt edebiliriz.
rm → Dosya veya dizin silmek için kullanılır.

Dizin Oluşturma

mkdir <dizinadı>→ Dizin oluşturmak için kullanılır.
mkdir -p <dizin1><dizin2> → Bir dizini, alt dizinleriyle beraber oluşturmak için kullanılır.
mkdir -m 700 <dizin> → İzinleri 700(rwx------) olan bir dizin oluşturmuş olduk.
rm → Dizinleri silmek için kullanılır.
rm -r → Bir dizini,alt dizin ve dosyalarıyla beraber silmek için.
rm -rf → Ne var ne yoksa sorgusuz silmek için.
rm -ri → Silerken bize sorsun istiyorsak.

Dosya Sıkıştırma-Açma-Arşivleme

Linux sistemlerde  istediğimiz dosyayı yada dosya grubunu arşiv dosyası olarak yedekleyebilir,saklayabilir,daha sonra gerektiğinde tekrar yükleyebiliriz.
Arşivleme işlemini sıkıştırarakta yapabiliriz. 
tar → Arşiv dosyası oluşturmak için kullanılır. 


 c → create demiş oluruz.
 f → oluşturulan arşiv dosyasının adını belirleriz.
 x → extract  v → verbose

Sıkıştırma için iki temel araç vardır gzip ve bzip2.
Sıkıştırma işleminde gzip kullanılırsa uzantısı gz, bzip2 kullanılırsa bz2 olacaktır.Dosyaları açarken ise gunzip ve bunzip araçları kullanılır.
Sıkıştırma ve açma işlemlerinden bahsettiğimize göre artık sıkıştırarak arşivleme ve arşivi açma komutlarını öğrenebiliriz. Sıkıştırılmış arşiv dosyası oluştururken gzip kullanılmışsa dosyanın uzantısı tgz ya da tar.gz olur, eğer bzip2 kullanılmışsa tar.bz2 olur.
gzipczvf parametreleri sıkıştırılırken; açarken xzvf,  
bzip2cjvf parametreleri sıkıştırılırken; açarken xjvf kullanılır.
Açarken c yerine x kullanılır.

 Linux sistemlerde .rar ve .zip uzantılı dosyaların nasıl açılacağına bir bakalım. rar dosyaları açabilmek için unrar aracını kullanırız.zip dosyaları içinde unzip aracını kullanabiliriz. zip komutu ile sıkıştırma işlemi de yapabiliriz.
Şimdiden kolay gelsin. :)

8 Şubat 2016 Pazartesi

AKADEMİK BİLİŞİM 2016

Bu yıl 18.si düzenlenen Akademik Bilişim'e, Aydın Adnan Menderes Üniversitesi ev sahipliği yaptı.

2.kez katıldığım Akademik Bilişim de, konferans öncesinde 4 gün süren kurslardan Postgresql DBA kursuna katıldım.Bununla beraber eşzamanlı birçok kurs vardı.(Kurs listesine bu linkten ulaşabilirsiniz.)

Kurs nasıldı derseniz kısaca şöyle bahsedeyim.

-İlk günümüzü hocalarımızın, kurulum yapmayan arkadaşlarımızın makinelerine gerekli araçları kurması ile sonlandırdık.(Virtualbox Kurulumu,Sanal makine import(ab16-pgdba),windows için: putty, winscp kurulumu,Pgadmin vs.)



Tabi ki kurs başlangıcında Atıf hocanın Postgresql'i kullanan şirketlerden bahsetmesi, neden postgresql ve daha önceki postgresql deneyimlerinden bahsetmesini de söylemeden geçmemem gerek.



-İkinci günümüzde psql nedir? , SQL ve pgAdmin üzerindeki işlemlerin nasıl yapılması gerektiği, konsoldan tablo oluşturulması gibi konuları ele aldık.






-Üçüncü gün wal kavramında bahsetti hocalarımız, configuration dosyasında neleri değiştirip nelere hiç dokunmamız gerektiğinden bahsettiler, bugünün geneli postgresql.conf dosyasıydı.



-Dördüncü gün ise güvenlik,nesne sahipliği,role kavramı(kullanıcı),backup(yedekleme) ve bunun yanında konsoldan veritabanımızda hangi komutları kullanarak değişiklikler yapabileceğimizi öğrenmek ile geçti.


Ve Tabi ki gün sonunda hocalarımızın müthiş tatlı sürprizlerini unutmak olmaz :)




Bu 4 günlük kurs süresi bana bilgiyi öğretmeye her daim açık, her şekilde yardıma koşacak, güzel yürekli iki insan kazandırdı; M.Atıf Ceylan hocam ve Koray Eyidoğan hocam :))



İkisinede ayrı ayrı teşekkürlerimi sunuyorum. Umarım onlarla başka alanlarda, başka projelerde ve başka zamanlarda da çalışmak nasip olur.


 Bu seneki Akademik bilişimle ilgili merak ettiklerinizi #ab2016 de ve postgresql kursunda merak ettiklerinizi #postgresql hashtaglerinde bulabilirsiniz. :)


Yandaki çizim bana aittir. Taklitlerine aldanmayın ! :)
"Elephants can remember" 🐘🐘🐘



 

Başka bir Akademik Bilişim yazımda görüşüne kadar Allah'a emanet olun. :)

15 Ocak 2016 Cuma

Ubuntu: PostgreSQL ve pgAdmin Kurulumu


     PostgreSQL, veritabanları için ilişkisel modeli kullanan ve SQL standart sorgu dilini destekleyen bir veritabanı yönetim sistemidir.
PostgreSQL aynı zamanda iyi performans veren, güvenli ve geniş özellikleri olan bir Veri Tabanı Yönetim Sistemi'dir. Hemen hemen tüm UNIX ya da Unix türevi (Linux, FreeBSD gibi) işletim sistemlerinde çalışır. Ayrıca NT çekirdekli tüm Windows sistemlerde de çalıştırılabilir. PostgreSQL ücretsiz ve açık kodludur.

 Kullanılan Sürümler

  • PostgreSQL - 9.3.5
  • pgAdmin III - 1.18.1
  • Ubuntu - 14.04

Adım 1 : PostgreSQL Yükleyelim

Şu komutu kullanarak PostgreSQL 39.3 yüklüyoruz :
$sudo apt-get install postgresql-9.3                                

 

Adım 2 : Root Kullanıcı Kimliği Kuralım

Aşağıdaki komutu kullanarak PostgreSQL kabuğuna giriş yapalım :
  $sudo -u postgres psql                                                    

Daha sonra aşağıdaki komutu kullarak root kullanıcı kimlik bilgilerini ayarlayalım :
 ALTER USER postgres PASSWORD 'newpassword';
 \q ile PostgreSQL kabuğundan çıkış yapabiliriz.

Daha sonra aşağıdaki komut ile PostgreSQL kabuğuna giriş yapabiliriz:
 $psql -U postgres -h localhost                                          

Adım 3: PgAdmin III Yükleyelim

PgAdmin yüklemek için aşağıdaki komutu kullanın :

$sudo apt-get install pgadmin3                                       

Şimdi başarıyla PostgreSQL yüklediniz.

-----------------------------------------------------------------------------------------------------------------

Daha sonra PgAdmin III açıyoruz.



Yukarıdaki ekran görüntüsündeki kısıma tıkladığımızda aşağıdaki ekran karşımıza çıkıyor :


Normalde 'Name' ve 'Host' kısımları boş geliyor. Bu iki bölümede "localhost" yazıyoruz. 'Username' ve 'Password' kısımlarına "KullanıcıAdımızı" ve ona atamış olduğumuz "Parolamızı" yazıyoruz. Ve "Tamam"ı tıklıyoruz.
Karşımıza :



 Sırası ile "Server Groups" -> "Servers" -> "localhost" -> "Database" -> "postgres(hangi isimle açtı isek karşımıza o isim gelecektir)" -> "Schemas"

Artık karşımızda "public" geldi. Buradaki "Tables" kısmından tablolarımızı hazırlayabiliriz.

Yukarıdaki SQL kısmına tıklayarak da tablolarımızı SQL sorguları ile oluşturabilir ve çağırmak istediğimiz tabloları uygun SQL sorgularını kullanarak görebiliriz. :))