Terminal FTP Erişimi ve İşlemler

FTP (File Transfer Protocol – Dosya Aktarma Protokolü) internete dosya yollamak ve internetten dosya almak için kullandığımız bir protokoldür. İnternet desteği olan işletim sistemlerinin hepsinde (MS-DOS, Windows, OS/2… vb.) ftp standart olarak sunulmaktadır. FileZilla bu anlamda ftp işlemleri için tercih edilen Grafik Arabirimli başlıca araçlardan biridir.

FTP Bağlantısı İçin Nelere İhtiyaç Var?

  • Bağlanacağımız bilgisayarın ismi veya IP adresi,
  • Bağlanacağımız bilgisayarda dosyalara ulaşmak istediğimiz hesapla ilgili kullanıcı numarası, varsa şifresi,
  • İnternet erişimi olan,üzerinde FTP yazılımı bulunan bilgisayar
  • Bağlanacağımız bilgisayarda, FTP protokol komutlarını yorumlayacak çalışır durumda bir FTP servis programı yani FTP sitesi gereklidir.

FileZilla ile uzun süreli, keyifli sayılabilecek bir birlikteliğimiz var. Kimi durumlarda ortaya çıkardığı saçma işlem hataları ve bu kadar sık güncelleniyor olması elbette uygulamanın oldukça başarılı olduğu gerçeğini değiştirmiyor. Ancak özellikle pratik işlemlerde, temel dosya indirme ve/ya yükleme süreçlerinde FileZilla yerine komut satırı ile işlem yürütmenin daha pratik olduğunu düşünüyorum. Bu yazıda komut satırı üzerinden ftp erişimi, dosya indirme, yükleme ve isim değişikliği gibi temel, elinizin altında durmasında fayda olan komutlara değineceğim. Açıklama düşmediğim komutları “?” ile ekrana dökebilirsiniz.

Ftp Komutları

FTP Erişimi

Komut Açıklama
! [komut [argüman]] Bütün LINUX dağıtımlarında bir kabuk (shell) bulunur. Bu komutla kabuğa dönüş yaparsınız. Örneğin ftp dizininde işlemler yürütürken bilgisayarınızdaki işlemler arasında bu ifadeyle geçişler sağlayabilirsiniz.
dir Bulunulan dizindeki dosyaları izinleri, isimleri gibi detaylarla birlikte listeler.

dir – C = Dosyaları format açıklamasıyla listeler.
dir -1 = Dosyaları yalın olarak alfabetik şekilde, ls -r ile benzer şekilde listeler.
dir -r = Dosyaları yalın olarak ters alfabetik şekilde listeler.
dir -R = Bulunulan dizindeki tüm dosyaları ve alt dizinlerin içeriklerini listeler.
dir -S = Dosyaları yalın olarak boyuta göre listeler.

ftp ftp bağlantısını başlatır. “ftp.domain.com” veya 78.125.0.209 gibi bir IP adresi üzerinden bağlantı isteği ilettiğinizde sizden sonraki adımda kullanıcı adı ve şifre isteyerek oturumu başlatacaktır.
lcd FTP ortamından çıkmadan lokalde (bilgisayarınızda) dizin değiştirmenizi sağlar. Ön tanımlı olarak /Users/username tanımlıdır. “lcd ~/” şeklinde istediğiniz dizini tanımlayabilirsiniz. Örneğin “lcd ~/Desktop” kullanımıyla komutu masaüstü ile ilişkilendirirsiniz.
mget Çoklu dosya indirme işlemlerinde kullanılır. Örneğin belirli bir uzantıya sahip (*.zip mesela) tüm dosyaları indirmek istediğimizde “mget *.zip” ya da dosya tipi ne olursa olsu baş harfi a olan tüm dosyaları indirmek için “mget a*.a” komutunu kullanabiliriz. Böyle bir işlemde sunucu sizden “[anpqy?]?” şeklinde bir doğrulama isteyebilir (prompt). “Y” yazarak onaylayabilirsiniz. Eğer yaptığınız işlemlerden eminseniz bu tür sorgulamaları “prompt off” komutuyla kapatabilirsiniz. Detaylı bilgi için prompt satırına bakabilirsiniz.
mput Birden fazla dosyayı FTP bağlantısı üzerinden göndermek için kullanılır. mget ifadesi için olan özellikler bu komut için de geçerlidir.
page İlgili içeriği sayfalar.
reget Dosya içeriğini belirtilen dosya içeriğine dahil eder. “reget ” ile remote-file içeriği local-file üzerine yazılır.
$ [argüman] Makro çalıştırmak için kullanılır. Makro tanımlama işlemlerini macdef ifadesiyle gerçekleştiririz. Örn. $
cd Dizin değiştirme (“cd ” veya “cd ../” ile bir üst dizine geçme)
disconnect close ile aynı işleve sahiptir.
less more komutunun zıttı şekilde özet gösterim gerçekleştirir.
mkdir Yetki durumunuza bağlı olarak yeni bir dizin oluşturmanızı sağlar. “mkdir ” şeklinde kullanılır.
mreget reget işlemini çoklu dosyalar için gerçekleştirir.
passive Aktif modda sunucu üzerinde 20 ve 21 nolu portların, kullanıcı tarafında 1023 üzeri portların açık olması gerekir. Pasif modda ise sunucu üzerinde 21 ve 1023 üzeri portların açık olması gerkir. Kullanıcı tarafındaysa herhangi bir portun açık olmasına gerek yoktur. Firewall arkasındaysanız, sunucuya passive mode ile bağlanmaktan başka bir çareniz yoktur. Bu nedenle sunucu üzerinde 1023 üzeri portları açmanız gerekir. passive komutu ile passive modu aktif ve pasif hale getirirsiniz.
put FTP bağlantısı üzerinden dosya göndermekte kullanılır. “put ” ile dosya yükleme işlemi gerçekleştirilir. Ek olarak, “put ” kullanımıyla yüklenen dosyanın ismi değiştirilerek yükleme işlemi gerçekleştirilebilir.
send Local alandan ftp dizini içerisine dosya gönderimi sağlar. “send ” şeklinde kullanılabilir. Göndeirlecek dosya belirtilen isimde yüklenir.
get Dosya alma/indirme. “get ” şeklinde işlem yürütülür. Ek olarak “get ” ile bilgisayarınıa indirdiğiniz dosyanın adını da düzenleyebilirsiniz.
lpage local-file içeriğini görüntüler.
mls remote-files olarak belirtilen dosyaların çıktısını local bir dosya içeriğine yazıdır.
msend Çoklu dosya gönderme işlemi gerçekleştirir.
pwd Bulunulan dizini gösterir.
rename Dosya isim düzenlemelerini gerçekleştirir.
system Sistem bilgisini döker.
user Farklı bir kullanıcı üzerinden oturum sağlar.
append local-file içeriğini remote-file içeriğine dahil eder.
lpwd local dizini döker.
mlsd Dosya detayları (boyut, tip, yetki vs.) iletir.
newer remote-file ile local-file karşılaştırması yaparak hangi dosyanın yeni olduğunu belirtir.
quit bye komutuyla aynı şekilde, FTP ortamından çıkmak ve bağlantıyı kapatmak için kullanılır.
ascii Dosya aktarımlarında aktarım modu olarak ASCII kullanılacağını belirtir.
close FTP ortamından çıkmadan, sadece ilgili bağlantıyı kapatır. disconnect ile aynı işleve sahiptir.
exit Bağlantı ve oturumu kapatır. quit ve bye ile benzer işleve sahiptir.
ls Bulunulan dizindeki dosyaları özet olarak listeler. Bazı ek özellikleri vardır. Örneğin “ls -lr” ile listeleme ayrıntılı, tersten alfabetik olarak gerçekleşir. “ls -lr |more” ile sayfa sayfa listeleme yapılır.
mlst Tek başına kullanıldığında bulunulan dizin, “mlist dizin ya da dosya” ile belirtilen dosya ve/ya dizine ait detayları iletir.
nlist Tek başına kullanıldığında bulunulan dizin, “nlist dizin” ile belirtilen dizin içeriğini döker.
pmlsd Tek başına kullanıldığında bulunulan dizin, “nlist dizin” ile belirtilen dizin içeriğini detaylarıyla döker.
help Kullanılabilecek komutlar ile ilgili bir yardım ekranı çıkarır. ? ile aynı işleve sahiptir.
size Belirtilen remote-file boyutunu verir.
? Yardım. Bu ifadeyle kullanabileceğiniz ifadeleri listeleyebilirsiniz.
binary Dosya gönderme ve alma modu olarak BINARY kullanılacağını belirtir. Arşiv dosyaları (Zip, tar…), çalıştırılabilir programlar (exe, com…), resim dosyaları (gif, jpeg…) FTP ile alınmadan veya gönderilmeden önce mutlaka bu komut çalıştırılmalıdır.
chmod Dosya izin haklarını düzenler.
mdelete Yetki durumunuza bağlı olarak birden çok dosyayı silmenizi sağlar.
rmdir Yetki durumunuza bağlı olarak “rmdir ” şeklinde boş bir dizini silmenizi sağlar.
type ASCII ya da BINARY seçimlerinden aktif olanı döker.
bye FTP ortamından çıkmak ve bağlantıyı kapatmak için kullanılır. quit ile aynı işleve sahiptir.
delete Dosya silme işlemi gerçekleştirir.
mdir remote file olarak seçtiğiniz dosya/klasör içeriğini local’de belirlediğiniz dosya üzerine ya da yeni dosyaya döker.
more “ls -lr |more” ile dizin içerisindeki dosya akışını sayfalandırır.
open close veya disconnect ile kapatılan bir oturum sonrasında yeni bir ftp bağlantısı sağlar.
prompt Ön tanımlı olarak açık (on) durumundadır. İşlemler içerisinde iletişim görevini yönetir. Onay aşamasında Y/N gibi onay tanımlamalarını ifade eder. “prompt off” şeklinde kapatılabilir ve ön tanımlı olarak onay işlemlerini “Y” olarak yürütülmesini sağlar.
recv FTP bağlantısı üzerinden dosya alışverişini gerçekleştirir. “recv” komutu sonrasında önce remote-file ardından local-file belirtmeniz gerekir. Tek satırda recv şeklinde kullanılır.
status FTP bağlantınıza dair detayları döker.

FTP ile ilgili unutmamanız gereken bu bağlantının dosya alışverişi ile sınırlı olduğu. Örneğin, yüklediğiniz bir zip dosyasını sunucu içerisinde ftp üzerinden unzip gerçekleştiremezsiniz. Bu gibi işlemler için harici kurulumlara ya da bağlantı tiplerine (ssh vb.) ihtiyacınız olacaktır.

Diğer kaynaklar:

Leave a Reply