Temel SSH Komutları

Linux tabanlı sunucularda, sunucu yönetimi için sıklıkla kullanılan ssh komutları bulunmaktadır. Bu komutları kullanarak sunucu üzerinde herhangi bir GUI yani arayüze gerek kalmaksızın terminal üzerinden birçok işleminizi gerçekleştirebilirsiniz. Zaten birçok sunucu yöneticisi terminaller üzerinden çalışmakta ve komutların çoğunu sürekli kullandıklarından dolayı ezbere bilmektedir diyebiliriz.

Makalemizde detaylandırılacak olan popüler komutların listesinin tümüne aşağıdan erişebilirsiniz.

SSH Komutu Açıklaması
ls Mevcut dizin altındaki dosyaların bilgilerini listeler.
cd Dizin değiştirmede kullanılır.
mkdir Yeni bir klasör oluşturmada kullanılır.
touch Dosya oluşturmada kullanılır.
rm Dosya silmede kullanılır.
cat Dosya içeriğini görüntülemede kullanılır.
pwd Mevcut dizinin full pathini gösterir.
cp Dosya veya dizin kopyalamada kullanılır.
mv Dosya veya dizin taşımada kullanılır.
grep Dosya içerisinde veya komutta herhangi bir text arama yapılırken kullanılır.
find Dosya ve dizin içerisinde aramada kullanılır.
vi/nano Kullanışlı text editorleri açmada kullanıır.
history Çalıştırılan son 50 komutu listeler.
clear Komut ekranını temizler.
tar Ziplenmiş dosyayı açmada kullanılır.
wget Dosyaları internetten indirmede kullanılır.
du Dosya boyutunu görüntülemede kullanılır.

Şimdi yukarıda listelediğimiz komutları detaylı şekilde madde madde inceleyelim.

ls komutu

ls komutu, tüm dosyaları ve dizinleri listelemede kullanılır. Terminalde ls komutunu girdikten sonra şuna benzer bir çıktı ile karşılaşacaksınız;

root@yazilimdersi:/home/yazilimdersi# ls
var    wwww    html    config    vendor    app    controller 

Bu komuta ek olarak aşağıdaki parametrelerle daha detaylı bilgiler alabilirsiniz;

  • -l: Listelenen dosyaların detaylı bilgisi ile birlikte görüntülenir. Örneğin dosya boyutu, güncellenme zamanı, sahibi vs.
  • -a: Gizlenen dosyalarında listelenmesinde kullanılır.

cd komutu

cd komutu, dosyalar arasında geçiş yapmak amacıyla kullanılır. Zaten bu komut ismini change directory ifadesinin baş harflerinden almaktadır. Çok basit ve kullanışlı bir komuttur. Tek yapmanız gereken gitmeniz gereken dosya pathini cd komutunun ardından yazmak;

cd [DOSYA_YOLU]

// sunucunuza ait ana dizine erişmek için home yazmanı gerekir.
cd home

// ya da farklı bir dizin altındaki klasöre ulaşmak için bu dizini direk full path olarak yazabilirsiniz.
cd /var/www/html/yazilimdersi/controller

Mevcut olan dizinden bir önceki dizine erişmek için .. (iki nokta) kullanmanız gerekmektedir.

root@yazilimdersi:/var/www/html/yazilimdersi/controller# cd ..
root@yazilimdersi:/var/www/html/yazilimdersi#

mkdir komutu

mkdir komutu, dizin oluşturmak amacıyla kullanılır. Zaten bu komut Make Directory ifadesinin kısaltmasıdır. Komutun syntaxı şu şekildedir;

mkdir [DIZIN_ISMI]

// Örneğin, "model" dizini oluşturmak istiyorsanız bu komutu yazmanız yeterli
mkdir model

touch komutu

touch komutu, dosya oluşturmak amacıyla kullanılır. Komutun syntaxı şu şekildedir;

touch [DOSYA_ISMI]

// Örneğin, "app.json" dosyası oluşturmak istiyorsanız bu komutu yazmanız yeterli
touch app.json

rm komutu

rm komutu, dosya veya dizin silme amacıyla kullanılır. Dosya silmede kullanılan komutun syntaxı şu şekildedir;

rm [DOSYA_ISMI]

// Örneğin, "app.json" dosyasını silmek istiyorsanız bu komutu yazmanız yeterli
rm app.json

Eğer bir dizini yani klasörü silmeyi amaçlıyorsanız -r parametresi ile rm komutunu çağırmanız gerekmektedir.


rm -r /var/www/html/yazilimdersi/app

cat komutu

cat komutu, dosya içeriğini görüntülemede kullanılır. Dosya içeriği görüntülemede kullanılan komutun syntaxı şu şekildedir;

cat [DOSYA_ISMI]

Eğer birden fazla dosyanın içeriğini birleştirip tek bir dosya oluşturmayı düşünüyorsanız aşağıdaki komutu çalıştırabilirsiniz;


cat dosya1.txt dosya2.txt > finaldosya.txt

Bu komutla birlikte dosya1.txt ve dosya2.txt içeriği merge edilip finaldosya.txt oluşturulup içerisine yapıştırılır.

pwd komutu

pwd komutu, mevcut dizine ait full pathi görüntülemede kullanılır;

root@yazilimdersi:/var/www/html/yazilimdersi/controller# pwd
/var/www/html/yazilimdersi/controller

Linux sunucularda en kullanışlı komutlardan birisi pwd komutudur. Çünkü herhangi bir path üzerinde bir işlem gerçekleştirmeden önce ilgili pathin doğrulanmasını kolaylaştırmaktadır.

cp komutu

cp komutu, dosya veya dizin kopyalama işlemlerinde kullanılır. Bu komutun syntaxı şu şekildedir;

cp [PARAMETRELER] [KAYNAK_DOSYA_DIZIN] [HEDEF_DOSYA_DIZIN]

// Örneğin "dosya1.txt" dosyamız var ve bunun kopyasını aynı dizinde "dosya2.txt" ismiyle kopyalamak istiyorsunuz
cp dosya1.txt dosya2.txt 

// Eğer direkt dizinin bir kopyasını başka bir dizin altında kopyalamak istiyorsanız
cp /var/www/htm/yazilimdersi/app /home/user/project

cp komutunda bulunan parametre alanı zorunlu değildir. Bu alana gelebilecek parametreler şu şekildedir;

  • -f: Eğer hedef dosya veya klasöre yazma yetkimiz yoksa onu silip yeni dosya veya dizin oluşturulmasını sağlar.
  • -u: Eğer kaynak dosya hedef dosyadan daha güncel ve yeni ise kopyalamayı gerçekleştirmede kullanılır.
  • -n: Eğer aynı isimde bulunan dosya varsa üzerine yazılmasını engeller.
  • -a: Dosyaları arşivlemede kullanılır.

Dosyaların çoğaltılmasının aksine, klasörlerin kopyalanması için -R seçeneğini kullanmanız gerekir. Bu parametre dizin içindeki tüm klasörlerin ve dosyaların kopyalanmasına izin verir.

cp -R /var/www/html/yazilimdersi/app /home/etc/

mv komutu

mv komutu, aslında cp komutuna benzer bir komuttur. Tek fark ise, mv komutunda dosyalar veya dizinler direkt taşınmaktadır. Yani kaynak dizinde herhangi bir dosya kalmayacaktır bu komut çağrıldıktan sonra;

mv [KAYNAK_DOSYA_DIZIN] [HEDEF_DOSYA_DIZIN]

// Örneğin "dosya1.txt" dosyamız var ve bunu /home/yazilimdersi/app dizini altına taşıyalım
mv dosya1.txt /home/yazilimdersi/app 

// Eğer direkt bir dizini başka bir dizin altına kopyalamak istiyorsanız
mv /var/www/htm/yazilimdersi/app /home/user/project

grep komutu

grep komutu, text ile arama işlemlerinde kullanılır.

grep 'Exception' error.log

Yukarıdaki komut error.log dosyası içerisinde 'Exception' ifadesi geçen satırları dönmektedir. Örnek sonuç aşağıdaki şekilde görüntülenir;

root@yazilimdersi:/var/www/html/yazilimdersi/logs# grep 'Exception' error.log
NullPointer Exception has been crashed on this line
ZeroDivider Exception .....
MathException ....
Exception ...

Eğer yapılan aramalarda küçük büyük harf ayrımı olmadan arama yapılsın istiyorsanız -i parametresini kullanmanız gerekmektedir.

find komutu

find komutu, girilen kriterleri (ad, boyut, dosya türü, vb.) karşılayan dosyaları aramada kullanılır. Komutun syntax yapısı şu şekildedir;

find [ARAMA_DIZINI] [PARAMETRELER] [ARANACAK_KELIME]
[ARAMA_DIZINI] aramanın yapılacağı dizini belirlemede kullanılmaktadır;
  • / (slash) Tüm dizinde arama yapmada kullanılır.
  • . (dot) Mevcut dizinde arama yapmada kullanılır.
  • ~ (tilde) home dizini altında arama yapmada kullanılır.
[PARAMETRELER] arama esnasında kullanılacak olan alanı belirler;
  • -name Dosya ismine göre aramada kullanılır.
  • -user Kullanıcıya göre arama yapmada kullanılır.
  • -size Dosya boyutuna göre aramada kullanılır.
[ARANACAK_KELIMA] arama yapmada kullanılacak ifadedir.
find / -name “index”

Yukarıdaki komut isminde "index" geçen ve sunucuda bulunan tüm dosyalarda tarama yapılmasında kullanılmaktadır.

vi/nano komutu

vi ve nano, Linux sunucularda kullanılan popüler text editorlerdir.


// vi editor ile dosya çağrılırsa
vi [DIZIN_ISMI]

//nano editor ile dosya çağrılırsa
nano [DIZIN_ISMI]

Eğer komutta geçen dizin ismi yok ise, editor otomatik olarak bu dosyayı oluşturup açacaktır.

history komutu

history komutu, Linux sunucularda çalıştırılan son komutların listelenmesinde kullanılır. Bu komutta ikinci parametre olarak görüntülenecek komutların sayısı girilmelidir

root@yazilimdersi:/var/www/html/yazilimdersi/controller# history 5
vi index.txt
find / -name "file"
cp /var/wwww/html/yazilimdersi /home/etc
ls
pwd

Yukarıdaki komutta son 5 komutun listelenmesi sağlanmıştır.

clear komutu

clear komutu, terminal ekranında görüntülenen görüntü kirliliğini ortadan kaldırmada kullanılır.

tar komutu

tar komutu, .tar.gz dosyalarını oluşturmada veya paketlenmiş dosyadan çıkarmada kullanılmaktadır. Linux sunucularda aktif olarak kullanılan bir komuttur.

// Herhangi bir dizini .tar.gz formatında arşivlemek istiyorsanız bu komutu kullanmalısınız
tar cvzf archive.tar.gz /var/www/html/yazilimdersi

// .tar.gz formatındaki bir arşivi açmak için bu komutu kullanmalısınız
tar xvzf archive.tar.gz

Yukarıdaki komutlarda dikkat ederseniz farklı harf dizimleri ile komutlar çalıştırılmaktadır.

  • x: tar komutuna arşivlenmiş dosyayı açmasını söyler.
  • c: tar komutuna dosyanın arşivlemesi gerektiğini söyler.

wget komutu

wget komutu, internetde bulunan herhangi bir dosyaya erişip indirmede kullanılır. Örneğin bir websitesinde bulunan dosyaya erişip komutun çalıştırıldığı dizine indirilmesini aşağıdaki komutla sağlarız.

wget https://google.com

du komutu

du komutu, dosya ve dizinlerin boyutunu görüntülemede kullanılmaktadır. Zaten bu komut Disk Usage ifadesinin kısaltmasıdır. Komutun syntaxı şu şekildedir;

du [DIZIN_PATH]

Ancak bu komutun daha okunur olmasını sağlamak için -h parametresini eklememiz gerekmektedir.

root@yazilimdersi:/var/www/html/yazilimdersi/controller# du -h /var/www/html/yazilimdersi/app
120M /var/html/yazilimdersi/app/controllers
10K  /var/html/yazilimdersi/app/models
125K /var/html/yazilimdersi/app/views
11K  /var/html/yazilimdersi/app/config
.....
...

comments powered by Disqus