دستور ftp همونطور که از اسمش هم معلوم هست برای ارتباط با ftp server و کلا کار با پروتکل ftp هست.
اگر با ftp آشنایی ندارین این مطلب رو مطالعه کنین.
متصل شدن به ftp server
برای اتصال به ftp server فقط لازم هست که ادرس آیپی یا دامنه سرور مورد نظرتون رو در جلوی دستور بنویسین و سپس نام کاربری و پسورد تون رو وارد کنین.
در زیر نام کاربری من aliali است.
$ ftp 172.16.134.131 Connected to 172.16.134.131. 220 (vsFTPd 2.3.2) Name (172.16.134.131:aliali): aliali 331 Please specify the password. Password: 230 Login successful. Remote system type is UNIX. Using binary mode to transfer files. ftp>
دستورات قابل استفاده
تمام دستوراتی که قابل استفاده هستن با نوشتن دستور help
یا ؟
قابل دیدن هستن:
ftp> help
Commands may be abbreviated. Commands are:
! dir mdelete qc site
$ disconnect mdir sendport size
account exit mget put status
append form mkdir pwd struct
ascii get mls quit system
bell glob mode quote sunique
binary hash modtime recv tenex
bye help mput reget tick
case idle newer rstatus trace
cd image nmap rhelp type
cdup ipany nlist rename user
chmod ipv4 ntrans reset umask
close ipv6 open restart verbose
cr lcd prompt rmdir ?
delete ls passive runique
debug macdef proxy send
ftp>
همونطور که میبینین بعضی از دستورات، دستوراتی هستن که به طور معمول در ترمینال استفاده میکنین . در زیر بعضی از دستورات توضیح داده شده.
help
: نشون دادن خروجی بالا
?
: مثل help
خروجی بالا رو نشون میده
asciii
: تغییر به حالت ترنسفر فایل با فرمت txt
binary
: برای عبور فایل با فرمت غیر txt
by
: برای بستن کانکشن و خروج از ftp
cd
: برای تغییر دایرکتوری جاری در سیستم ریموت
lcd
: برای تغییر دایرکتوری جاری در سیستم لوکال
delete
: برای پاک کردن فایل در سیستم ریموت
debug
: با زدن این دستور اطلاعاتی که در ترمینال نوشته میشود بیشتر میشود که برای اشکالزدایی میشه استفاده کرد.
close
: برای بستن کانکشن (از محیط ftp خارج نمیشه)
disconnect
: هم معنی برای close
get
: برای دانلود فایل (فقط برای دانلود یک دونه فایل به طور همزمان میشه استفاده کرد)
put
: برای آپلود فایل (فقط برای اپلود یک دونه فایل به طور هم زمان میشه استفاده کرد)
mget
: برای دانلود چندین فایل به طور همزمان. از glob expansion هم پشتیبانی میکنه که این قابلیت بستگی به سیستم ریموت داره چون expansion در سیستم ریموت انجام میشه.
mput
: مثل mget
ولی برای آپلود کردن
pwd
: مکان کنونیتون رو در سیستم ریموت میگه
rename
: برای تغییر اسم فایل در سیستم ریموت
rmdir
: برای پاک کردن دایرکتوری
status
: اطلاعاتی در مورد اتصال و تنظیماتتون میده
!
: برای برگشتن به شل سیستم اصلی
آپلود یک/چند فایل به سیستم ریموت
برای آپلود یک فایل از put و برای آپلود چندین فایل به طور هم زمان از mput استفاده میکنیم.
قبل از آپلود یک فایل اول با دستور lcd به اون دایرکتوری در سیستم لوکال برین وگرنه ارور میگیرین.
آپلود یک فایل
ftp> ls B/s) ftp> ftp> ls 200 PORT command successful. Consider using PASV. 150 Here comes the directory listing. -rw------- 1 1009 1011 90027275 Jun 04 14:53 robat.mp4 226 Directory send OK. ftp>
آپلود چندین فایل
ftp> lcd /home/alieblice/FTP/ Local directory now /home/alieblice/FTP ftp> mput *.jpg mput 1.jpg? 200 PORT command successful. Consider using PASV. 150 Ok to send data. 226 Transfer complete. 33541 bytes sent in 0.00 secs (54319.9 kB/s) mput 2.jpg? 200 PORT command successful. Consider using PASV. 150 Ok to send data. 226 Transfer complete. 48366 bytes sent in 0.00 secs (74616.8 kB/s) mput 4.jpg? 200 PORT command successful. Consider using PASV. 150 Ok to send data. 226 Transfer complete. 18210 bytes sent in 0.00 secs (45951.4 kB/s) mput 5.jpg? 200 PORT command successful. Consider using PASV. 150 Ok to send data. 226 Transfer complete. 35436 bytes sent in 0.00 secs (58160.5 kB/s) mput 6.jpg? 200 PORT command successful. Consider using PASV. 150 Ok to send data. 226 Transfer complete. 15111 bytes sent in 0.00 secs (16865.0 kB/s) ftp> ls 200 PORT command successful. Consider using PASV. 150 Here comes the directory listing. -rw------- 1 1009 1011 33541 Jun 04 15:13 1.jpg -rw------- 1 1009 1011 48366 Jun 04 15:13 2.jpg -rw------- 1 1009 1011 18210 Jun 04 15:13 4.jpg -rw------- 1 1009 1011 35436 Jun 04 15:13 5.jpg -rw------- 1 1009 1011 15111 Jun 04 15:13 6.jpg -rw------- 1 1009 1011 90027275 Jun 04 14:53 robat.mp4 226 Directory send OK. ftp>
همونطور که در خروجی بالا میبینین از من برای هر فایل سوال پرسیده شده که آیا فایل رو آپلود کند؟ برای اینکه دیگه سوال نپرسه حالت interactive رو با دستور prompt خاموش کنین.
دانلود یک /چند فایل از سیستم ریموت
برای دانلود یک فایل از get و برای دانلود چندین فایل بهطور همزمان از mget استفاده میکنیم.
دانلود یک فایل
ftp> get robat.mp4
local: robat.mp4 remote: robat.mp4
200 PORT command successful. Consider using PASV.
150 Opening BINARY mode data connection for robat.mp4 (90027275 bytes).
226 Transfer complete.
90027275 bytes received in 1.94 secs (45402.8 kB/s)
ftp>
دانلود چندین فایل
ftp> mget 1.jpg 2.jpg 4.jpg
local: 1.jpg remote: 1.jpg
200 PORT command successful. Consider using PASV.
150 Opening BINARY mode data connection for 1.jpg (33541 bytes).
226 Transfer complete.
33541 bytes received in 0.00 secs (9485.9 kB/s)
local: 2.jpg remote: 2.jpg
200 PORT command successful. Consider using PASV.
150 Opening BINARY mode data connection for 2.jpg (48366 bytes).
226 Transfer complete.
48366 bytes received in 0.00 secs (10573.6 kB/s)
local: 4.jpg remote: 4.jpg
200 PORT command successful. Consider using PASV.
150 Opening BINARY mode data connection for 4.jpg (18210 bytes).
226 Transfer complete.
18210 bytes received in 0.00 secs (8529.1 kB/s)
ftp>
ساخت دایرکتوری و پاک کردن آن
برای ساخت دایرکتوری از mkdir استفاده میکنیم و برای پاک کردن از rmdir.
ftp> mkdir test-directory 257 "/home/aliali/test-directory" created ftp> ls 200 PORT command successful. Consider using PASV. 150 Here comes the directory listing. drwx------ 2 1009 1011 4096 Jun 04 15:24 test-directory 226 Directory send OK. ftp> rmdir test-directory 250 Remove directory operation successful. ftp> ls 200 PORT command successful. Consider using PASV. 150 Here comes the directory listing. 226 Directory send OK. ftp>
پاک کردن فایل
برای پاک کردن فایل از delet استفاده میکنیم.
ftp> ls 200 PORT command successful. Consider using PASV. 150 Here comes the directory listing. -rw------- 1 1009 1011 33541 Jun 04 15:13 1.jpg -rw------- 1 1009 1011 48366 Jun 04 15:13 2.jpg -rw------- 1 1009 1011 18210 Jun 04 15:13 4.jpg -rw------- 1 1009 1011 35436 Jun 04 15:13 5.jpg -rw------- 1 1009 1011 15111 Jun 04 15:13 6.jpg -rw------- 1 1009 1011 90027275 Jun 04 14:53 robat.mp4 226 Directory send OK. ftp> delet 1.jpg 2.jpg 250 Delete operation successful. ftp> ls 200 PORT command successful. Consider using PASV. 150 Here comes the directory listing. -rw------- 1 1009 1011 48366 Jun 04 15:13 2.jpg -rw------- 1 1009 1011 18210 Jun 04 15:13 4.jpg -rw------- 1 1009 1011 35436 Jun 04 15:13 5.jpg -rw------- 1 1009 1011 15111 Jun 04 15:13 6.jpg -rw------- 1 1009 1011 90027275 Jun 04 14:53 robat.mp4 226 Directory send OK. ftp>
همونطور که میبینین فقط 1.jpg رو پاک کرد و 2.jpg رو پاک نکرد. پس فقط یک فایل پاک میکند.
بازگشت به شل سیستم لوکال
برای برگشتن به شل سیستم اصلی که با اون اتصال ftp رو ایجاد کردیم از !
استفاده میکنیم. بعد از استفاده از ! برای بازگشتن به ftp دستور exit رو میزنیم.
جاهایی که علامت $
داره یعنی shell سیستم لوکالمون.
ftp> ! $ cd FTP/ $ ls 1.jpg 2.jpg 4.jpg robat.mp4 untitled folder $ exit exit ftp>
نرمافزارهای گرافیکی
نرمافزار های گرافیکی زیادی برای کار با ftp هستش که دو موردش اینها هستن:
چند لینک مفید