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;
[PARAMETRELER] arama esnasında kullanılacak olan alanı belirler;
- / (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.
[ARANACAK_KELIMA] arama yapmada kullanılacak ifadedir.
- -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.
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 http://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 ..... ...