Paralel Programlama I (Parallel Programming I)

watch_later 2/24/2016
SSH (Secure Shell) Nedir?
SSH uzakta bulunan bir sunucu ile güvenli iletişimi sağlayan bir bağlantı protokolüdür. SSH açık haliyle Secure Shell (Güvenli Kabuk) anlamına gelir. TELNET kullanıcı şifrelerini ve tüm iletişim bilgilerini açık yani şifrelemeden gerçekleştirilirken, SSH sunucu ile arasındaki iletişim bilgilerini kriptografik kodlama sistemiyle şifrelenmiş bir hale dönüştürür. Yani ağ üzerindeki güvenilir olmayan iki sistemin şifrelenerek güvenli bir iletişim kurmalarını sağlar.

SFTP (Secure File Transfer Protocol) Nedir?
Secure FTP (Güvenli Dosya Taşıma Protokolü), yani SFTP, SSH kullanarak dosya transferi yapan ve TCP üzerinden çalışan bir dosya aktarım protokolüdür. SSH’ın sağladığı güvenlik özellikleri, FTP’den farklı olarak SFTP’yi güvenli hale getirir. FTP’nin RSA ile güçlendirilmiş halidir. 


paralel programming

Windows – Linux Bağlantısı
Secure Shell Client ile Windows-Linux bağlantısı yapabilir. Bunun için [Ouick Connect] ile Host Name ve User Name bilgilerini girilir. SSH 22 port numarasında çalışmasından dolayı Port Number: 22'dir.


Level I
Daha sonra bağlantı için belirlenmiş şifreyi girilir. 
Level II
 Ve Linux Bash'e belirlenen kullanıcıyla ulaşılmış olur.
Level III
Linux – Linux Bağlantısı
ssh (secure shell)
ssh ile yaparken kullanıcı ismi belirtilmezse yerel makinedeki kullanıcı isminiz uzak makineye bağlantı sağlanırken kullanılır. Bunu önlemek için:
server_user_name@system_user_name:~$ ssh server_ip
server_user_name@server_ip's password: 
scp (secure copy)
ssh ile dosya transferi yapmak için scp komutu kullanılır.
scp file_name user_name@server_ip:full_path

Kabuk (Shell) Nedir?
Linux'un türetildiği UNIX sistemlerinde komutları yorumlamak ve yönetmek için kullanılan programa kabuk denir. UNIX için geliştirilen en önemli ve en çok kullanılan kabukların başında tcsh, bash (bourne again shell) ve ksh (korn shell) gelir. Bash, Bourne Shell'in biraz daha geliştirilmiş sürümüdür. Tcsh ise C-shell üzerine eklenen yeniliklerle genişletilmiştir. Unix altında, bash kabuğu diğer benzerlerine göre daha fazla özelliğe ve işleve sahiptir. Linux işletim sistemi için de derlenen bash ise hem tcsh, hem de ksh'dan özellikler taşır. Bash  kabuğu ilk UNIX sistemlerinde hem sh ve ksh kabukları, hem de bazı csh özellikleri için orjinal olarak geliştirilen özellikleri içerir. Çoğu LINUX sisteminde varsayılan kabuktur.

Her kabuğun kendine özgü programlama dili yapısı vardır. Bash kabuğu ise güçlü programlama özellikleriyle karmaşık programların rahatça yazılmasına izin verir. Mantıksal operatörler, döngüler, değişkenler ve modern programlama dillerinde bulunan pek çok özellik bash kabuğunda da vardır.
Bash'in kullanıcıya zaman kazandıran en önemli özelliklerinden birisi de dosya isimlerini tamamlamasıdır. Komut satırında tamamlanmamış bir komut veya dosya ismi yazdıktan sonra [TAB] tuşuna basılırsa satır tamamlanacaktır. Eğer komut satırındaki karakter kümesiyle başlayan birden fazla komut varsa bir sinyal sesi duyulacak ve yeteri kadar karakteri yazılmasını bekleyecektir.

Bash komutlarının genel yapısı:
command -options arguments

command: Sistemin yapacağı işlem.
options: '-' işareti ile başlar ve komutun işleyişini değiştirir.
arguments: Komutun işleyeceği girdiler.

Bash Komut Uygulamaları
$  varsayılan kullanıcı olduğunuzu belirtir.
#  root kullanıcısı olduğunuzu belirtir.
~  kullanıcının Home dizininde bulunduğunuzu belirtir.

Komutların kısa ya da uzun yazım şekilleri olabilir:
Kısa yazım: - komut adı tek harfi
Uzun yazım: -- komut adı
-h  --help  komutla ilgili bilgi verir.

Dosya ya da klasör yolu iki şekilde verilebilir:
Mutlak Yol: root klasöründen başlanarak oluşturulan yoldur (full path).
Bağıl Yol: Bulunulan dizine göre oluşturulan yoldur.

.   bulunulan klasör.
..  bir üst klasör.
-   bir önceki klasör.
~  kullanıcının Home klasörü.
/   root dizini

pwd (present-print working directory)
Bulunulan dizinin mutlak yolunu (full path) verir.
[btahtacioglu@admin ~]$ pwd
/home/btahtacioglu
cd (change directory)
Dizinler arasında geçiş yapmayı sağlayan komuttur.
[btahtacioglu@admin ~]$ cd /
[btahtacioglu@admin /]$ ls
bin   cgroup  etc   lib         media  null  proc  sbin     srv  tmp  var
boot  dev     home  lost+found  mnt    opt   root  selinux  sys  usr
ls (list)
Bulunulan dizinin içerisindeki dizin ve dosyaları listeler.
ls -l ayrıntılı bir çıktı verir. 
ls -a bütün dosyaların gizli gösterilmesini sağlar.
[btahtacioglu@admin ~]$ ls -l
total 4
drwxrwxr-x 2 btahtacioglu btahtacioglu 4096 Feb 23 18:40 projeler
[btahtacioglu@admin ~]$ ls -a
.   .bash_history  .bash_profile  .gnome2   projeler
..  .bash_logout   .bashrc        .mozilla  .xemacs
mkdir (make directory)
mkdir komutu yeni bir dizin oluşturmak için kullanılır.
[btahtacioglu@admin ~]$ mkdir empty
[btahtacioglu@admin ~]$ pwd
/home/btahtacioglu
[btahtacioglu@admin ~]$ ls
empty  projeler
rm (remove)
rm komutu dosya ya da dizin silmek için kullanılır.
-i seçeneği ile dosyaların silinip silinmeyeceği ilgili kullanıcıya uyarı ver. 
-r seçeneği ile dizinler silinebilir.
-f hiçbir uyarı vermeden silme işlemi gerçekleştirilir.
rmdir komutuyla da silme işlemi yapabilir. (Dizin boş olmalıdır.)
[btahtacioglu@admin ~]$ cd /home/btahtacioglu/empty
[btahtacioglu@admin empty]$ rm other.txt
rm: remove regular empty file `other.txt'? y
cat (concatenate)
Girdilerin çıktılarını gösterir.
-n  --number  çıktıları satır numaraları ile gösterir.


cp (copy)
Dosyanın diğer bir kopyasını oluşturmak için cp komutu kullanılır.
-i hedef dosyanın üzerine yazılması durumunda uyarı ver
-r seçeneği ile dizin kopyalama işlemi yapılır.
-f hiçbir uyarı verme.
[btahtacioglu@admin empty]$ cp -i /home/btahtacioglu/empty/other.txt /home/btahtacioglu/projeler
[btahtacioglu@admin empty]$ cd
[btahtacioglu@admin ~]$ cd /home/btahtacioglu/projeler
[btahtacioglu@admin projeler]$ ls
mytext.txt  other.txt
mv (move)
Dosyanın ismini değiştirmek ya da bir dosya veya klasörü taşımak için mv komutu kullanılır.
mv komutu dosya ve dizinler için aynı şekilde kullanılır.
[btahtacioglu@admin empty]$ mv /home/btahtacioglu/empty/other.txt /home/btahtacioglu/empty/income.txt
[btahtacioglu@admin empty]$ ls
income.txt

Diğer Bash Komutları
useradd: Sisteme kullanıcı ekler.
userdel: 
Sistemde bulunan kullanıcıyı siler.
usermod: 
Sistemde bulunan kullanıcının özelliklerini değiştirir.
last: 
Hesabınıza yapılan en son bağlantıyı gösterir.
pico: 
Belirtilen dosyayı text editör ile düzenlemeyi sağlar.
Unzip: Zip ile sıkıştırılmış dosyaları açmanızı sağlar.
lynx: Belirtilen siteyi görüntüler.
df: HDD istatistiklerini gösterir.
quota: Disk kullanımınızı gösterir.
ps –x: Kullanıcının çalıştırdığı işlemleri gösterir.
ps –a: Sunucuda çalıştırılan tüm işlemleri gösterir.
ps –ux: Çalıştırılan işlemlerin CPU/RAM kullanımıyla gösterir.
killall: Belirtilen tüm işlemleri durdurur.
reboot: Sunucuyu yeniden başlatır.
top: Sistem CPU kullanımını gösterir.




Bir sonraki yazımda görüşmek üzere…



sentiment_satisfied Emoticon