آموزش پروتکل FTP

آموزش پروتکل FTP
آموزش پروتکل FTP

FTP یک پروتکل برای انتقال فایل در شبکه می باشد و مخفف File Transfer Protocol هست و همونطور که از اسمش پیداست میشه اینجوری تعرف کرد با FTP میشه فایل های مورد نظر خودتون رو از یه سیستم به یه سیستم دیگه منتقل کرد.

مدیر سرور و یا کاربر برای کپی، انتقال، تغییر نام ، حذف یک فایل یا فولدر و یا ساختن یک فولدر جدید و همچنین تغییر سطح دسترسی فایل ها و فولدر ها می تواند از این پروتکل استفاده نماید.

برای استفاده از ftp می توانید از نرم افزارهای گرافیکی نظیر فایل زیلا یا cuteftp استفاده کنین ، در آموزش زیر بصورت مفصل آموزش کار با filezilla توضیح دادیم

با توجه به اینکه در اکثر دیتاسنترها دسترسی به فضای پشتیبان یا ادرس های ftp فقط از طریق آدرس ای پی سرور ممکن هست ، خیلی مواقع نمیتونیم از نرم افزارهای گرافیکی استفاده کنیم ، بنابراین در این آموزش سعی کردیم آموزش های لازم برای استفاده از ftp در سرورهای لینوکسی را آموزش بدیم:

برای استفاده از ftp باید دستورات زیر را در محیط ssh و یا shell وارد کنین:

ftp 192.168.2.1

192.168.2.1 آدرس سرور ftp شماست وبصورت تستی می باشد شما باید بجای این ای پی ادرس ftp خود را وارد کنید
بعد از وارد کردن این دستور از شما نام کاربری و پسورد اتصال به ftp درخواست می شود که باید وارد کنید که مطابق اتفاقات زیر رخ می دهد:

ftp 192.168.2.1
Connected to 192.168.2.1
220 FTP Server ready.
500 AUTH not understood
Name (192.168.2.1:root): username
331 Password required for upin
Password:
230 User upin logged in.
Remote system type is UNIX.
Using binary mode to transfer files.
ftp>

نکته مهم :
در لینوکس شما در هر مسیری قرار گرفته باشید ، دریافت فایل یا دانلود فایل در این مسیر قرار میگیرد، فرض کنین شما بعد از ssh به سرور در مسیر /home قرار میگیرید ، اونوقت میتونین فایلها یا فولدرهایی که در این مسیر هستند را در فضای ftp آپلود و یا از فضای ftp دانلود کنین.
با دستور ls در محیط ftp میتونین محتویات اون شاخه رو ببینین:

ftp> ls
227 Entering Passive Mode (192.168.2.1,233).
150 Opening ASCII mode data connection for file list
drwxr-xr-x 5 user 500 65536 Jun 24 22:59 .
drwxr-xr-x 5 user 500 65536 Jun 24 22:59 ..
-rw-r–r– 1 user 500 536 Nov 16 2015 .bash_history
drwxr-xr-x 3 user 500 26 Jan 13 2016 .pki
-rw-r–r– 1 user 500 0 Jun 24 22:59 a
drwxr-xr-x 35 user 500 65536 Jul 12 08:05 public_html
drwxr-xr-x 3 user 500 141 Jan 13 2016 www
226 Transfer complete
ftp>

همانطور که در دستور بالا مشخص هست محتویات اون مسیر نمایش داده میشه.
با دستور cd به یک زیر شاخه میریم:

ftp> cd public_html
250 CWD command successful
ftp>

دستورات اصلی آپلود و دانلود
کاربرد مهم ftp دانلود و یا آپلود فایل هست که در ادامه دستورات این دو مهم را بهتون یاد میدیم:
با دستور put میتونین فایل را آپلود و با دستور get میتونین یک فایل را دانلود کنین.

مثال من در فضای ftp یک فایل بنام backup.tar.gz دارم و میخوام به مسیری که هستم منتقل کنم:

ftp> get backup.tar.gz

یا یک فایل بنام testbck.tar.gz در مسیری که در سرور قرار داشتم مثلا همون /home دارم و می خوام به سرور ftp منتقل کنم:

ftp> put backup.tar.gz

برای آپلود همه فایلها:

ftp> mput *

برای آپلود فایلها با یک پسوند خاص مثلا tar.gz

ftp> mput *.tar.gz

برای دانلود همه فایلها:

ftp> mget *

برای دانلود فایلها با یک پسوند خاص:

ftp> mget *.tar.gz

نکته مهم :
قبل از وارد کردن دستورات فوق دستور prompt را وارد میکنیم تا برای دانلود هر فایل نیاز به تایید نباشد.

نکته مهم 2-
ممکن هست شما در یک فضای پشتیبان یا همون ادرس ftp فولدرهای زیادی داشته باشین ، پیشنهاد میشه در این مواقع از دستور wget استفاده بشه:

screen wget -cr ftp://username:[email protected]

در اینصورت همه فایلها و فولدر های داخل این یوزر ftp دانلود میشه

برای دانلود محتویات یک فولدر خاص:

screen wget -m ftp://username:[email protected]/public_html/folder

حذف یک فایل :

ftp> delet filename

ساخت یک فولدر:

ftp> mkdir foldername

حذف فولدر:

ftp> rmdir foldername

مشاهده وضعیت اتصال ftp:

ftp> status
Connected to 192.168.2.1
Control Channel Protection Level: clear
Data Channel Protection Level: clear
Passive mode on
Mode: stream; Type: binary; Form: non-print; Structure: file
Store unique: off; Receive unique: off
Case: off; CR stripping: on
Ntrans: off
Nmap: off
No proxy connection.
Hash mark printing: off; Use of PORT cmds: on
Verbose: on; Bell: off; Prompting: on; Globbing: on
ftp>

خرج از ftp:

ftp> bye

سوئیچ های دستور FTP

سوئیچ v : جلوگیری از نمایش پاسخ های سرور از راه دور.
سوئیچ n : جلوگیری از logon به صورت اتوماتیک پس از اتصال اولیه.
سوئیچ i:پس از نقل و انتقال فایل های مختلف این ارتباط خاموش شود.
سوئیچ d : این سوئیچ برای اشکال زدایی هست یعنی پس از اتصال FTP بین کلاینت و سرور اشکال زدایی میکند.
سوئیچ g : از کارانداختن فایلی به نام globbing، که اجازه استفاده از کارکتر ها در فایل و مسیر نام محلی است.
سوئیچ s:filename :مشخص میکنه یک فایل متنی حاوی دستورات FTP رو که دستورات به صورت خودکار پس از اجرا شروع می شن.
سوئیچ a : مشخص میکنه یه سری رابط محلی رو ، وقتی که ما در هنگام اتصال FTP داریم استفاده میکنیم.
سوئیچ a : Logs ها رو یا گزارش ها رو به سرور FTP به صورت ناشناس میفرسته.
سوئیچ w :مشخص اندازه بافر انتقال هست windowsize به طور پیش فرض 4096 بایت است.