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

KomutAçı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.
dirBulunulan 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.

ftpftp 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.
lcdFTP 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.
mputBirden 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.
regetDosya 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. $
cdDizin değiştirme (“cd ” veya “cd ../” ile bir üst dizine geçme)
disconnectclose ile aynı işleve sahiptir.
lessmore komutunun zıttı şekilde özet gösterim gerçekleştirir.
mkdirYetki durumunuza bağlı olarak yeni bir dizin oluşturmanızı sağlar. “mkdir ” şeklinde kullanılır.
mregetreget işlemini çoklu dosyalar için gerçekleştirir.
passiveAktif 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.
putFTP 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.
sendLocal alandan ftp dizini içerisine dosya gönderimi sağlar. “send ” şeklinde kullanılabilir. Göndeirlecek dosya belirtilen isimde yüklenir.
getDosya 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.
lpagelocal-file içeriğini görüntüler.
mlsremote-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.
pwdBulunulan dizini gösterir.
renameDosya isim düzenlemelerini gerçekleştirir.
systemSistem bilgisini döker.
userFarklı bir kullanıcı üzerinden oturum sağlar.
appendlocal-file içeriğini remote-file içeriğine dahil eder.
lpwdlocal dizini döker.
mlsdDosya detayları (boyut, tip, yetki vs.) iletir.
newerremote-file ile local-file karşılaştırması yaparak hangi dosyanın yeni olduğunu belirtir.
quitbye komutuyla aynı şekilde, FTP ortamından çıkmak ve bağlantıyı kapatmak için kullanılır.
asciiDosya aktarımlarında aktarım modu olarak ASCII kullanılacağını belirtir.
closeFTP ortamından çıkmadan, sadece ilgili bağlantıyı kapatır. disconnect ile aynı işleve sahiptir.
exitBağlantı ve oturumu kapatır. quit ve bye ile benzer işleve sahiptir.
lsBulunulan 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.
mlstTek başına kullanıldığında bulunulan dizin, “mlist dizin ya da dosya” ile belirtilen dosya ve/ya dizine ait detayları iletir.
nlistTek başına kullanıldığında bulunulan dizin, “nlist dizin” ile belirtilen dizin içeriğini döker.
pmlsdTek başına kullanıldığında bulunulan dizin, “nlist dizin” ile belirtilen dizin içeriğini detaylarıyla döker.
helpKullanılabilecek komutlar ile ilgili bir yardım ekranı çıkarır. ? ile aynı işleve sahiptir.
sizeBelirtilen remote-file boyutunu verir.
?Yardım. Bu ifadeyle kullanabileceğiniz ifadeleri listeleyebilirsiniz.
binaryDosya 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.
chmodDosya izin haklarını düzenler.
mdeleteYetki durumunuza bağlı olarak birden çok dosyayı silmenizi sağlar.
rmdirYetki durumunuza bağlı olarak “rmdir ” şeklinde boş bir dizini silmenizi sağlar.
typeASCII ya da BINARY seçimlerinden aktif olanı döker.
byeFTP ortamından çıkmak ve bağlantıyı kapatmak için kullanılır. quit ile aynı işleve sahiptir.
deleteDosya silme işlemi gerçekleştirir.
mdirremote 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.
openclose 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.
recvFTP 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.
statusFTP 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

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir