SSh denince ilk akla gelen; en çok kullanılan basit SSH komutlarını inceleyeceğiz. Bu SSH komutları linux ortamında nasıl gezinebileceğiniz ve nasıl dosyalarla çalışabileceğiniz hakkında temel bilgiye sahip olmanızı sağlayacaktır.
Bilmeniz gereken 17 temel SSH ile komut satırını kullanarak VPS hosting hizmetinizde veya sunucunuzda nasıl gezineceğinizi ve yöneteceğinizi çok daha iyi anlayacaksınız.
Temel SSH Komut Listesi
Bu bölümde, sözdizimleri ve kullanışlı seçenekleriyle birlikte popüler SSH komutlarını inceleyeceğiz.
Bu makalede ele alacağımız temel SSH komutlarına hızlı bir bakış atalım:
SSH, Secure Shell anlamına gelir. Uzak sunucu/sisteme bağlanmak için kullanılan bir protokoldür.
Kullanmanız gereken basit komut şudur:
ssh kullanıcı@sunucuip
Bu komut sunucuip IP adresine ve kullanıcı kullanıcı adına sahip bir sunucuya sizi bağlar. Bir diğer ve daha basit bir bağlanma yolu ise ssh serverip kullanmak olacaktır. Bu yöntemle shell şu anda giriş yaptığınız aynı kullanıcı ile bağlanmaya çalıştığınızı düşünecektir.
Bu komutu girdiğinizde sizden şifre sorulacaktır. Eğer ilk kez bağlanıyorsanız, aynı zamanda tanınmayan bir sunucuya bağlandığınıza dair uyarı mesajı alacaksınız. Komut satırına yes yazarak cevaplayın.
Bu kadar, bağlandınız! Dosyalarınızı yönetme ile ilgili bu rehberi okumaya devam edebilirsiniz. Eğer uzak sunucudan ayrılmak ve yerel makinenize geri dönmek isterseniz komut satırına exit yazabilirsiniz.
VPS’e Putty SSH istemcisini kullanarak nasıl bağlanabileceğiyle ilgili detaylı rehber burada bulunabilir.
Ayrıca bu komutla birleştirebileceğiniz birkaç faydalı kombinasyon da mevcut.
cd [dizin]
Bu nedenle sunucunuzun ana dizinine girmek isterseniz şunu yazabilirsiniz:
cd home
Birkaç seviye derinse, belirli bir dizinin tam yolunu da yazabilirsiniz. Örneğin:
cd home/TestDizini/BaskaDizin
Artık BaskaDizin‘desiniz.
Bir düzey geri gitmek için cd komutundan sonra “..” (iki nokta) girmeniz yeterlidir. Üstelik iki nokta daha ekleyerek ve bunları bir eğik çizgiyle (/) ayırarak daha da geriye gidebilirsiniz:
cd ../..
Bu satırı girerek tekrar ana dizine girersiniz.
mkdir [dosya adı]
“Dosyam” adında yeni bir klasör oluşturmak istediğinizi varsayalım. Şunu yazmanız gerekecek:
mkdir dosyam
touch [dosya adı]
“Dosyam” adlı bir .txt dosyası oluşturmak istiyorsanız şunu yazmanız gerekir:
touch dosyam.txt.
Dosya uzantısı istediğiniz herhangi bir şey olabilir. Uzantısı olmayan bir dosya bile oluşturabilirsiniz.
rm [dosya adı]
Örneğin, dosyam.txt dosyasını kaldırmak istiyorsanız aşağıdakileri çalıştırmanız yeterlidir:
rm dosyam.txt
Bir klasörü silmek için içindeki tüm dosyaları ve alt klasörleri kaldırmak üzere -r seçeneğini kullanmanız gerekir:
rm -r ana/hostinger/dosyam
cat [dosya adı]
Ayrıca birden fazla dosyayı birleştirerek yeni bir dosya oluşturmanıza da olanak tanır. Örneğin:
cat info.txt info2.txt > birlesikinfo.text
Bu satırı çalıştırarak, info.txt ve bilgi2.txt içeriğibirlesikinfo.txt dosyasına kaydedilecektir.
home/user/public_html
pwd komutu, paylaşımlı hosting hesabınıza SSH üzerinden erişirken gerçekten kullanışlı olabilir. Çoğu zaman, paylaşımlı sunucular size içinde bulunduğunuz dizini söylemez.
cp [options] [source] [destination]
[source] kopyalamak istediğiniz dosya veya klasördür ve[destination] kopyadır.
Diyelim ki çalışma dizininizde dosyam.txt var ve bunun bir kopyasını oluşturmak istiyorsunuz. Sözdizimi şöyle olurdu:
cp dosyam.txt dosyam2.txt
Farklı bir klasörde bir kopya oluşturmak istiyorsanız, aşağıdaki komutu çalıştırın:
cp /home/hostinger/dosyam.txt /home/etc/
“Destination” yazarken dikkatli olun. İki dosya adı sağlarsanız, cp komutu kaynak dosyanın içeriğini hedef dosyaya kopyalayacaktır. Yani destination dosyasının üzerine herhangi bir uyarı yapılmadan kopya yazılacaktır. Tabii destination olmadığı durumlarda komut yeni bir dosya oluşturacaktır.
[options] zorunlu değildir. Ancak, kullanabileceğiniz birkaç seçenek vardır:
cp -R /home/hostinger/dosyam/home/etc/
mv [source] [destination]
Dosyam.txt dosyasını /home/hostinger/ftp’den /home/hostinger/klasorum/ klasörüne taşımak istediğimizi varsayalım. Komut şöyle olmalıdır:
mv /home/hostinger/ftp/klasorum.txt /home/hostinger/klasorum
cp komutunun aksine, bir klasörü taşımak için -Rseçeneğine ihtiyacınız yoktur. Örneğin:
mv /home/hostinger/ftp/ /home/hostinger/klasorum/
Bu, ftp içindeki tüm dosyaları ve alt klasörleri otomatik olarak klasorum‘e taşıyacaktır.
grep 'line' info.txt
Yukarıdaki komut, “info.txt” adlı bir dosyada “line” arayacaktır. Harika olan şey, komut, eşleşen metni içeren tüm satırı yazdıracaktır.
Bu komutun büyük/küçük harf duyarlı olduğunu unutmayın. Harfleri yoksaymak istiyorsanız -i seçeneğini kullanın.
find [starting directory] [options] [arama terimi]
[starting directory], arama işleminizi başlatmak istediğiniz yerdir. Üç ana seçenek vardır:
Hemen örnekleyelim:
find . -name “index”
Bu komut, adlarında “index” sözcüğünü bulunan dosyaları getirir. Ve “.” kullandığımız için (dot), komutu yalnızca çalışma dizinini arayacaktır.
Ayrıca SSH komutları hakkında ayrıntılı bir açıklama sunan İngilizce bir rehberimiz bulunuyor.
vi [dosya adı]
veya
nano [dosya adı]
Belirtilen dosya mevcut değilse, her iki metin düzenleyici de dosyayı sizin için otomatik olarak oluşturacaktır.
history 20
Muhtemelen tahmin ettiğiniz gibi, örnek en son girilen 20 komutu gösterecektir.
Bir klasörü .tar.gz biçiminde arşivlemek için aşağıdaki komutu kullanın:
tar cvzf ArsivAdi.tar.gz /path/to/directory
Bir .tar.gz dosyasının açmak için şu komutu girin:
tar xvzf DosyaAdi.tar.gz
Her iki komutun da farklı dört karakterli seçenek (cvzf vexvzf) kullanır. Her harf belirli bir talimatı temsil eder:
wget http://dosyaurl/dsoyaadi.ext
Birden çok dosya indirmek istiyorsanız tüm URL’leri bir dosyaya koyun ve -i seçeneğini kullanın.
Diyelim ki bağlantıları içeren dosyanın adı downloads.txt. Komut şöyle görünecektir:
wget -i downloads.txt
du [directory path]
Maalesef özet, bayt, kilobayt ve megabayt yerine disk blok numaralarını gösterecektir. Bu nedenle, insan tarafından okunabilir bir biçimde göstermek için -h seçeneğini dukomutundan sonra eklemeniz gerekir:
du -h /home
Sonuçlar daha anlaşılır olacaktır:
Neyse ki, her web yöneticisinin bilmesi gereken 17 temel SSH komutunu artık biliyorsunuz. Artık uzak makinenizde dosya oluşturma, bunları silme, dizinler arasında geçiş yapma vb. gibi temel görevleri kolayca gerçekleştirebilirsiniz.
Herhangi bir sorunuz varsa aşağıya yorum yapmaktan çekinmeyin!
Bilmeniz gereken 17 temel SSH ile komut satırını kullanarak VPS hosting hizmetinizde veya sunucunuzda nasıl gezineceğinizi ve yöneteceğinizi çok daha iyi anlayacaksınız.
Temel SSH Komut Listesi
Bu bölümde, sözdizimleri ve kullanışlı seçenekleriyle birlikte popüler SSH komutlarını inceleyeceğiz.
Bu makalede ele alacağımız temel SSH komutlarına hızlı bir bakış atalım:
- ls – Dizin içeriğini gösterir. (dosya adlarını listeler)
- cd – Dizin değiştirir.
- mkdir – Yeni dizin/klasör oluşturur.
- touch – Yeni dosya oluşturur.
- rm – Dosya siler.
- cat – Dosyanın içeriğini gösterir.
- pwd – Bulunduğunuz dizini gösterir.
- cp – Dosyayı/dizini kopyalar.
- mv – Dosyayı/dizini taşır.
- grep – Belirli bir ifadeyi dosyada/satırlarda arar.
- find – Dosya ve dizinleri arar.
- vi/nano – Metin editörleri.
- history – Kullanılan son 50 komutu gösterir.
- clear – Terminal ekranını temizler.
- tar – Sıkıştırılmış arşiv oluştur veya çıkarır.
- wget – İnternetten dosya indirir.
- du – Dosya boyutunu alır.
- Terminal erişimi
Uzak sunucuya nasıl erişilir?
Yanlışlıkla hatalı bir işlem yapmanızı önlemek için yeni kurulmuş boş bir sanal sunucu kullanmanız önerilir.SSH, Secure Shell anlamına gelir. Uzak sunucu/sisteme bağlanmak için kullanılan bir protokoldür.
Kullanmanız gereken basit komut şudur:
ssh kullanıcı@sunucuip
Bu komut sunucuip IP adresine ve kullanıcı kullanıcı adına sahip bir sunucuya sizi bağlar. Bir diğer ve daha basit bir bağlanma yolu ise ssh serverip kullanmak olacaktır. Bu yöntemle shell şu anda giriş yaptığınız aynı kullanıcı ile bağlanmaya çalıştığınızı düşünecektir.
Bu komutu girdiğinizde sizden şifre sorulacaktır. Eğer ilk kez bağlanıyorsanız, aynı zamanda tanınmayan bir sunucuya bağlandığınıza dair uyarı mesajı alacaksınız. Komut satırına yes yazarak cevaplayın.
Bu kadar, bağlandınız! Dosyalarınızı yönetme ile ilgili bu rehberi okumaya devam edebilirsiniz. Eğer uzak sunucudan ayrılmak ve yerel makinenize geri dönmek isterseniz komut satırına exit yazabilirsiniz.
VPS’e Putty SSH istemcisini kullanarak nasıl bağlanabileceğiyle ilgili detaylı rehber burada bulunabilir.
1. ls Komutu
Bu SSH komutu tüm dosyaları ve dizinleri listelemek için kullanılır. ls girdikten sonra şuna benzer bir şey göreceksiniz.Ayrıca bu komutla birleştirebileceğiniz birkaç faydalı kombinasyon da mevcut.
- -l — boyut, değiştirilme tarihi ve saati, sahip ve izinler gibi dosyaların ayrıntılarını görüntüler.
- -a — gizli dosya ve dizinleri gösterir.
2. cd Komutu
cd (Change Directory) dizinler arasında atlamayı sağlar. Basit SSH komutları arasındadır. cd ile dizinin adını yazmanız yeterlidir:cd [dizin]
Bu nedenle sunucunuzun ana dizinine girmek isterseniz şunu yazabilirsiniz:
cd home
Birkaç seviye derinse, belirli bir dizinin tam yolunu da yazabilirsiniz. Örneğin:
cd home/TestDizini/BaskaDizin
Artık BaskaDizin‘desiniz.
Bir düzey geri gitmek için cd komutundan sonra “..” (iki nokta) girmeniz yeterlidir. Üstelik iki nokta daha ekleyerek ve bunları bir eğik çizgiyle (/) ayırarak daha da geriye gidebilirsiniz:
cd ../..
Bu satırı girerek tekrar ana dizine girersiniz.
3. mkdir Komutu
Bir dizin oluşturmak için mkdir (make Directory – Dizin Oluştur) komutunu kullanabilirsiniz. Bu sözdizimi:mkdir [dosya adı]
“Dosyam” adında yeni bir klasör oluşturmak istediğinizi varsayalım. Şunu yazmanız gerekecek:
mkdir dosyam
4. touch Komutu
Bu SSH komutu, yeni bir dosya oluşturmak için kullanılır. İşte sözdizimi:touch [dosya adı]
“Dosyam” adlı bir .txt dosyası oluşturmak istiyorsanız şunu yazmanız gerekir:
touch dosyam.txt.
Dosya uzantısı istediğiniz herhangi bir şey olabilir. Uzantısı olmayan bir dosya bile oluşturabilirsiniz.
5. rm Komutu
rm komutu, seçilen bir dosyayı veya dizini kaldırır. Bir dosyayı silmek için şunu girin:rm [dosya adı]
Örneğin, dosyam.txt dosyasını kaldırmak istiyorsanız aşağıdakileri çalıştırmanız yeterlidir:
rm dosyam.txt
Bir klasörü silmek için içindeki tüm dosyaları ve alt klasörleri kaldırmak üzere -r seçeneğini kullanmanız gerekir:
rm -r ana/hostinger/dosyam
6. cat Komutu
Bir dosyanın içeriğini görüntülemek için cat komutunu kullanırız. Sözdizimi aşağıdadır:cat [dosya adı]
Ayrıca birden fazla dosyayı birleştirerek yeni bir dosya oluşturmanıza da olanak tanır. Örneğin:
cat info.txt info2.txt > birlesikinfo.text
Bu satırı çalıştırarak, info.txt ve bilgi2.txt içeriğibirlesikinfo.txt dosyasına kaydedilecektir.
7. pwd Komutu
pwd, çalışma dizininizin tam yolunu veren basit bir komuttur. Girdikten sonra şöyle bir sonuç görmelisiniz:home/user/public_html
pwd komutu, paylaşımlı hosting hesabınıza SSH üzerinden erişirken gerçekten kullanışlı olabilir. Çoğu zaman, paylaşımlı sunucular size içinde bulunduğunuz dizini söylemez.
8. cp Komutu
Bu SSH komutu, dosya ve klasörleri kopyalayacaktır. Sözdizimi:cp [options] [source] [destination]
[source] kopyalamak istediğiniz dosya veya klasördür ve[destination] kopyadır.
Diyelim ki çalışma dizininizde dosyam.txt var ve bunun bir kopyasını oluşturmak istiyorsunuz. Sözdizimi şöyle olurdu:
cp dosyam.txt dosyam2.txt
Farklı bir klasörde bir kopya oluşturmak istiyorsanız, aşağıdaki komutu çalıştırın:
cp /home/hostinger/dosyam.txt /home/etc/
“Destination” yazarken dikkatli olun. İki dosya adı sağlarsanız, cp komutu kaynak dosyanın içeriğini hedef dosyaya kopyalayacaktır. Yani destination dosyasının üzerine herhangi bir uyarı yapılmadan kopya yazılacaktır. Tabii destination olmadığı durumlarda komut yeni bir dosya oluşturacaktır.
[options] zorunlu değildir. Ancak, kullanabileceğiniz birkaç seçenek vardır:
- -f — hedef dosyaya yazma izniniz yoksa silinir ve komut yeni bir dosya oluşturur.
- -u — hedef dosyadan daha yeniyse kaynak dosyayı kopyalayın.
- -n — mevcut bir dosyanın üzerine yazmaz.
- -a — dosyaları arşivler.
cp -R /home/hostinger/dosyam/home/etc/
9. mv Komutu
Bu komut, cp‘ye benzer şekilde çalışır. Ancak, mv komutu dosyayı veya klasörü kopyalamak yerine taşır. Sözdizimi:mv [source] [destination]
Dosyam.txt dosyasını /home/hostinger/ftp’den /home/hostinger/klasorum/ klasörüne taşımak istediğimizi varsayalım. Komut şöyle olmalıdır:
mv /home/hostinger/ftp/klasorum.txt /home/hostinger/klasorum
cp komutunun aksine, bir klasörü taşımak için -Rseçeneğine ihtiyacınız yoktur. Örneğin:
mv /home/hostinger/ftp/ /home/hostinger/klasorum/
Bu, ftp içindeki tüm dosyaları ve alt klasörleri otomatik olarak klasorum‘e taşıyacaktır.
10. grep Komutu
grep komutu, dosyalarda belirli bir dizeyi arar. Örneğin:grep 'line' info.txt
Yukarıdaki komut, “info.txt” adlı bir dosyada “line” arayacaktır. Harika olan şey, komut, eşleşen metni içeren tüm satırı yazdıracaktır.
Bu komutun büyük/küçük harf duyarlı olduğunu unutmayın. Harfleri yoksaymak istiyorsanız -i seçeneğini kullanın.
11. find Komutu
Verilen kriterlere (ad, boyut, dosya türü vb.) uyan bir dosya veya dosyaları aramak için bu SSH komutu gireriz. Faydalı SSH komutları arasındadır. Temel komutu ise aşağıdaki gibi:find [starting directory] [options] [arama terimi]
[starting directory], arama işleminizi başlatmak istediğiniz yerdir. Üç ana seçenek vardır:
- / (slash) — tüm sistemi ara
- . (dot) — çalışma dizinini ara
- ~ (tilde) — ana dizini ara
- -name — adlarına göre dosyaları ara
- -user — belirli bir kullanıcıya ait olan dosyaları ara
- -size — boyutlarına göre dosyaları ara
Hemen örnekleyelim:
find . -name “index”
Bu komut, adlarında “index” sözcüğünü bulunan dosyaları getirir. Ve “.” kullandığımız için (dot), komutu yalnızca çalışma dizinini arayacaktır.
Ayrıca SSH komutları hakkında ayrıntılı bir açıklama sunan İngilizce bir rehberimiz bulunuyor.
12. vi/nano Komutu
Vi ve Nano, komut satırında kullanabileceğiniz iki popüler metin düzenleyicidir. Bir dosyayı Vi veya Nano kullanarak açmak için şunu girmeniz yeterlidir:vi [dosya adı]
veya
nano [dosya adı]
Belirtilen dosya mevcut değilse, her iki metin düzenleyici de dosyayı sizin için otomatik olarak oluşturacaktır.
13. history Komutu
Bu, son kullanılan komutları görüntülemek için kullanılır. Görüntülenen sonuçları sınırlamak için bir sayı girmeniz gerekir. Örneğin:history 20
Muhtemelen tahmin ettiğiniz gibi, örnek en son girilen 20 komutu gösterecektir.
14. clear Komutu
clear komutunun işlevi basittir — terminal ekranındaki tüm metni temizler.15. tar Komutu
tar, .tar.gz dosyaları oluşturan veya ayıklayan bir SSH komutudur. Üçüncü taraf yazılım ikili dosyalarının çoğu .tar.gz biçiminde olduğundan çok popülerdir.Bir klasörü .tar.gz biçiminde arşivlemek için aşağıdaki komutu kullanın:
tar cvzf ArsivAdi.tar.gz /path/to/directory
Bir .tar.gz dosyasının açmak için şu komutu girin:
tar xvzf DosyaAdi.tar.gz
Her iki komutun da farklı dört karakterli seçenek (cvzf vexvzf) kullanır. Her harf belirli bir talimatı temsil eder:
- x tar’a dosyaları çıkarmasını söyler
- c tar’a bir arşiv oluşturmasını söyler
- v – verbose (ayrıntı) anlamına gelir. Seçenek, tar’a komut tarafından işlenen tüm dosya adlarını görüntülemesini söyler.
- z tar’a arşivi açmasını söyler
- f tar’a arşivin adını verdiğinizi söyler
16. wget Komutu
wget, internetten dosya indirmek için kullanılır. Örneğin, bir web sitesinden bir dosya almak ve mevcut dizinimizde saklamak için şunu kullanacağız:wget http://dosyaurl/dsoyaadi.ext
Birden çok dosya indirmek istiyorsanız tüm URL’leri bir dosyaya koyun ve -i seçeneğini kullanın.
Diyelim ki bağlantıları içeren dosyanın adı downloads.txt. Komut şöyle görünecektir:
wget -i downloads.txt
17. du Komutu
Belirtilen dizindeki dosya ve klasörlerin boyutunu görüntülemek için du (Disk Kullanımı) komutunu kullanabilirsiniz:du [directory path]
Maalesef özet, bayt, kilobayt ve megabayt yerine disk blok numaralarını gösterecektir. Bu nedenle, insan tarafından okunabilir bir biçimde göstermek için -h seçeneğini dukomutundan sonra eklemeniz gerekir:
du -h /home
Sonuçlar daha anlaşılır olacaktır:
Sonuç
SSH komutları öğrenmek, Linux sunucusunu veya VPS’yi yönetmek için çok önemlidir. Sisteminizde gezinmenin ve dosya veya klasörleri değiştirmenin en etkili yoludur.Neyse ki, her web yöneticisinin bilmesi gereken 17 temel SSH komutunu artık biliyorsunuz. Artık uzak makinenizde dosya oluşturma, bunları silme, dizinler arasında geçiş yapma vb. gibi temel görevleri kolayca gerçekleştirebilirsiniz.
Herhangi bir sorunuz varsa aşağıya yorum yapmaktan çekinmeyin!