استفاده از ftp براي گرفتن يا فرستادن فايل ها:
با استفاده از ftp يا (File Transfer protocol) شما ميتوانيد
به هر يک از فايل ها يا برنامه هاي موجود در اينترنت استفاده
کنيد و آنها را به هارد ديسک خود منتقل کنيد و يا بلعکس ,
(کلمه Protocol به يک سري استاندارد هايي گفته ميشود که اجازه
ميدهند پيقام ها بازيافت شوند صرفنظر از اينکه شما از جه نوع
کامپيوتري استفاده ميکنيد.)
لازم به تذکر است که ftp بر روي پورت 21 فعال است به عبارت
ديگر به پورت 21 ftp ميگويند.
که جزو قديمي ترين پورتها است. وقتي ميخواهيد با يک سرور از
طريق اين پروتکل صحبت کنيد، بايد مطمئن باشيد که سرويس مربوط
به ftp روي اون کامپيوتر فعال باشد.به عبارت ديگر بايد يک ftp
server روي اون کامپيوتر در حال اجرا باشد که در اين حالت شما
client هستيد و دستگاه مقابل server . به طور کل ftp براي
انتقال فايل ها بکار ميرود که نوع اين انتقال ميتواند Download
باشد يا Upload در مورد اين دو بايد گفت که ما هر گاه بخواهيم
فايلي را -که ميتواند حاوي هر چيز باشد- به سرور منتقل ميکنيم,
عمل Upload را انجام داده ايم و هر گاه بر عکس اين عمل را
انجام دهيم يعني فايلي را از سرور مورد نظر به کامپيوتر خود
انتقال دهيم عمل Download را انجام داده ايم .لازم به تذکر است
که انتقال فايل ها از طريق پروتکل هاي ديگري نيز امکان پذير
است از جمله اين ها webو... ولي مبحث اين قسمت از اموزش ما را
در بر نمي گيرند و تنهاما به پروتکل ftp ميپردازيم.
----------------------------------------------
نوع ارتباط ما از طريق ftp :
اين ارتباط ميتواند از 2 طريق صورت بگيرد
1: بوسيله برنامه اي خاص
2: بوسيله telnet
ما در اين جلسه ارتباط از طرطق برنامه اي خاص را ياد ميگيريم و
در جلسه بعد ارتباط از طريق
telnet را آموزش ميدهيم.
براي انتقال فايل ها با ftp برروي هار ديسک خود و انتقال فايل
ها به server مورد نظر خود شما احتياج به يک برنامه ftp داريد
که معمولا اين برنامه توسط ارايه دهنده سرويس در اختيار شما
قرار داده ميشود.
مانند برنامه : Leap FTP يا Cut FTP و...
در زير سه نوع اين برنامه ها آمده است:
1:برنامه leap ftp يک برنامه نرم افزار مشترک (Shareware) است
که سايتهاي زيادي را در دسترس قرار ميدهد .
2:برنامه cut ftp يک برنامه نرم افزار مشترک (Shareware) است
که سايتهاي زيادي را در دسترس قرار ميدهد و ميتوان براحتي از
پنجره FTP site Manager آنرا بدست اورد.
3:برنامه WS-FTP32 يک برنامه مجاني است (Freeware) است که
استفاده از ان اسان است .اطلاعات بيشتر را در وب مربوط به ان
بدست اوريد.
http://www.csra.net/junodj/ws_ftp32.html
قبل از شروع کار قسمتي است که من بايد متذکر شوم:
نرم افزارهايي که شما ميتوانيد از اينترنت به کامپيوتر خود
انتقال دهيد يا اگر چه براحتي در اختيارتان هستند , اما لزومي
ندارد که حتمآ مجاني باشند . اطتمينان حاصل کنيد که شرايط
فايلي را که انتقال مي دهيد بکارگيريد چون بعضي از نرم افزارها
داراي شرايط قانوني هستند بيشتر نرم افزارها شامل متني که حاوي
اطلاعات راجع به مولف , مجوز و عملي که لازم است شما براي
استفاده از ان انجام دهيد ميباشند.
افزارمشترک(Shareware)
*انتقال ان به هارد ديسک مجاني است
*براي مدتي محدود مجاني است .
*حق تأ ليف محفوظ است.
*بعد از مدت معين شده ديگر از ان استفاده نکنيد يا براي براي
پرداخت هزينه آن ثبت نام کنيد.
نرم افزار مجاني (Freeware)
*انتقال به هارد ديسک و استفاده از ان مجاني است.
*احتياج به ثبت نام کردن ندارد يا آبونمان ندارد.
*حق تأليف محفوظ است.
برنامه هاي مطالب عمومي
*انتقال آنها به هارد ديسک و استفاده از ان مجاني است .
*حق تأليف محفوظ نيست.
*ميتوانيد آنرا تغيير بدهيد و از ان استفاده کنيد.
*حتمآ بايد توسط مؤلف ان صريحآ عمومي بودن آن ذکر شده باشد وگر
نه حق تأليف محفوظ خواهد بود.
----------------------------------------------------------------
چرا براي نرم افزار مشترک بايد ثبت نام کرد؟
-نسخه هايي که باثبت نام کردن مي خريد معمولا شامل امکانات
بيشتر مانند پشتيباتي و ارتقاء مجاني ميباشند.همچنين وجه
پرداخت شده شما کمک ميکند در آينده برنامه بهتري تهيه کنيد.
----------------------------------------------------------------
ما در اين درس از برنامه Leap ftp براي نمونه استفاده ميکنيم
که آدرس آن براي Download اين چنين است:
Leap FTP
وصل شدن با يک برنامه ftp باز به دو صورت انجام ميگيرد
1: Anonymouse
2: با استفاده از User و Pas
در مرحله اول ما هنگامي که به يک سايت ftp وصل ميشويم ميتوانيم
برنامه اي را از ان سايت به کامپيوتر خود منتقل کنيم ولي
نميتوانيم از کامپيوتر خود چيزي را وارد ان server کنيم.
و در مرحله 2 نيز ما به server و سايت خود وصل ميشويم و امکان
فرستادن و يا گرفتن هر فايلي را از روي server خود داريم.
-------------------------------------------------------
ورد از طريق روش 1:
شما هر برنامه ftp را که بر روي کامپيوتر خود نصب کرده باشيد ,
براي ورود به يک سايت ftp , نيازبه اجراي مراحل يکساني خواهيد
داشت و بايد اطلاعات زير را فراهم کنيد:
1: آدرس سايت: ميتواند شامل اطلاعاتي در باره دايرکتوريهاي
سايت باشد.اگر ادرس کامل را ميدانيد از ان استفاده کنيد در غير
اين صورت اگر برنامه FTP شما اجازه دهد, از ادرس سايت اصلي
استفاده کرده و دايرکتوري را که به دنبالش هستيد پيدا کنيد .
2: نام استفاده کننده: اگر نام استفاده کننده (user name) از
شما خواسته شد, کلمه Anonymouse را تايپ کنيد.
3: کلمه رمز: وقتي که نام کلمه رمز (Password) از شما خواسته
شد , ادرس E_MAIL خودتان را تايپ نماييد.
4:PORT: در اين قسمت عدد 21 را وارد کنيد که نشان دهنده پورت
ftp ميباشد.
5: DRIVE مورد نظر را بايد انتخواب کنيد
6: موس را روي برنامه مورد نظر نگه داشته و برنامه را به قسمت
drive هاي خود بکشيد.
و براي وارد شدن به FTP server خود لازم است همين مراحل را
انجام دهيد و فقط در قسمت user و user , pas و pas خود را وارد
کنيد.
چگونگي ورود به يک سايت ftp
از طريق پورت
21:
فرض کنيد من از يک سايت فرضي
استفاده ميکنم که آدرس ftp اون باشه:
ftp://.somesite.com/ و username
من باشه emad123 و پسوردم هم يه چيزه ديگه
باشه. حالا ميخوام از طريق پورت
21 با
اين سايت ارتباط برقرار کنم. در مورد اين
پورت ديگه از nc و telnet استفاده
نميکنم، بلکه از برنامهاي که در تمام
ويندوزها هست، به اسم ftp کمک ميگيرم.
در command prompt مينويسم:
ftp://ftp.somesite.com/
و جواب ميشنوم:
Connected to somesite.com.
220 somesite Microsoft FTP Service
(Version 5.0).
User (somesite.com:(none)):
دقت کنيد که اين سايت ftp server اش از
نوع Microsoft است، پس اين سرور از
سيستمعامل ويندوز استفاده ميکنه (
دونستن اين نکات لازم نيست، ولي من توصيه
ميکنم که هميشه به جزئيات توجه کنيد) دقت
کنيد که از من username رو ميخواد، پس
مينويسم: emad123 و Enter رو فشار ميدم.
جواب ميآد:
331 Password required for emad123.
Password:
حالا ازم پسورد ميخواد و پسورد رو تايپ
ميکنم. جواب ميشنوم:
230 User emad123 logged in.
ftp>
اين نشون ميده که تونستم با پورت21 کامپيوتر مقابل ارتباط برقرار کرده و
اصطلاحا يک session يا نشست! باهاش داشته
باشم. اگه username يا password اشتباه
بود، اون موقع ميگفت:
530 User emad123 cannot log in.
Login failed.
ftp>
من فرض ميکنم که session با موفقيت
برقرار شده، حالا تايپ ميکنم:
ftp> help
و جواب ميشنوم:
Commands may be abbreviated. Commands
are:
! delete
literal prompt send
? debug
ls put status
append dir
mdelete pwd trace
ascii disconnect
mdir quit type
bell get
mget quote user
binary glob
mkdir recv verbose
bye hash
mls remotehelp
cd help
mput rename
close lcd
open rmdir
اينها ليست دستوراتي است که ميتونيد
استفاده کنيد. من فقط اونهايي که به صورت
bold مشخص کردم رو توضيح خواهم داد. بقيه
دستورات کمتر به کار ميرن.
;دستورات پايه براي اين پورت کدامند؟<
+ دستور help و ?
دستور help رو همين الان استفاده کرديم.
دستور ? هم معادل اونه.
+ دستور dir و ls
اين دو دستور نشون ميدن که در محل فعلي
در سرور چه فايلها و فولدر (دايرکتوري)
هايي وجود دارد. فرقشون اينه که وقتي از
dir استفاده ميکنيد، اطلاعات بيشتري
علاوه بر نام فايلها و فولدرها به ما
ميده. من نوشتم dir و جواب شنيدم:
200 PORT command successful.
150 Opening ASCII mode data connection
for /bin/ls.
12-28-02 02:18AM < DIR>
db
12-28-02 02:19AM < DIR>
Special
03-08-03 03:18AM < DIR>
www
226 Transfer complete.
ftp: 135 bytes received in 0.02Seconds
6.75Kbytes/sec.
ملاحظه ميفرماييد که سه تا فولدر
(دايرکتوري) اينجا هست. (اگه با دستور dir
آشنا نيستيد، يک کتاب داس بخونيد). اينها
فولدر هستند چون عبارت < DIR> جلوي اونها
نوشته شده است. نام اين فولدرها عبارتند
از db و special و www
+ دستورات مرتبط با کار روي
فولدرهايي که روي سرور (نه روي کامپيوتر
خودمون) هستند، عبارنتد از:
cd يا chdir ==> اين دستور براي وارد شدن
داخل يک فولدر به کار ميره.
mkdir ==> اين دستور براي ساختن يک فولدر
جديد به کار ميره.
rmdir ==> اين دستور براي پاک کردن يک
فولدر موجود به کار ميره (به شرطي که آن
فولدر خالي باشد)
براي کار با هر کدوم از اين دستورات کافي
است، دستور مورد نظر را نوشته و بعد از يک
کاراکتر فاصله، نام فولدر را بنويسيد،
مثلا اگه بخوام وارد فولدر www بشم،
مينويسم:
cd www
و جواب ميشنوم:
250 CWD command successful.
ftp>
اين جواب به آن معني است که وارد فولدر
(دايرکتوري) www شدهام. حالا دوباره
دستور dir را استفاده ميکنم و جواب
ميگيرم:
200 PORT command
successful.
150 Opening ASCII mode data connection
for /bin/ls.
12-28-02 02:18AM < DIR>
_private
02-17-03 04:15PM 61982
1.jpg
12-28-02 02:19AM < DIR>
aspnet_client
12-28-02 02:19AM < DIR>
cgi-bin
12-29-02 06:27PM 11285
default.asp
12-28-02 02:19AM < DIR>
images
12-28-02 02:18AM 2494
postinfo.html
226 Transfer complete.
ftp: 1438 bytes received in 0.28Seconds
5.12Kbytes/sec.
ftp>
ملاحظه ميکنيد که سه تا فايل و سه تا
دايرکتوري داريم. اونهايي که جلوشون
نوشته < DIR> دايرکتوري هستند و اونايي که
اين عبارت رو ندارند و جلوشون يه عدد
نوشته شده ( که بيانگر حجم هر کدومشون هست
) فايل ميباشند.
در مورد دستور cd اگه بنويسم .. cd به
فولدر قبلي بر ميگرديم، مثلا الان که تو
فولدر www هستيم اگه .. cd رو بنويسم، يک
فولدر به عقب برميگردم ( به حالت قبل از
ورود به www )
يه دستور ديگه هم راجع به فولدرها هست و
اونم دستور pwd است. اين دستور نشون ميده
که ما الان تو کدوم فولدر از فولدرهاي
سرور هستيم.
+ دستورات مرتبط با فايلها
عبارنتد از:
delete يا dele ==> اين دستور براي پاک
کردن يک فايل به کار ميره.
rename ==> اين دستور براي عوض کردن نام
يک فايل به کار ميره.
مثلا اگه بخوام فايل default.asp رو پاک
کنم، مينويسم delete default.asp
اگه بخوام فايل default.asp رو به
index.htm تغيير نام بدم، مينويسم rename
default.asp index.htm
دستورات مرتبط با فولدرهاي
کامپيوتر خودمان:
اول دقت کنيد که در مورد
پورت ?? وقتي ميگوييم در کدام فولدر قرار
داريم، اين مسئله دو معني داره. حالت اول
محل فعلي ما روي سرور است. يعني کجاي سرور
هستيم. تمام دستوراتي که راجع به فولدرها
گفتم براي کار روي فولدرهاي سرور است.
حالت دوم محل فعلي ما در کامپيوتر خودمون
است. فرض کنيد که وارد فولدري در کامپيوتر
سرور شدهايم والان ميخوايم فايل را
داونلود کنيم به کامپيوتر خودمون. براي
اينکه فايل به فولدر درستي در کامپيوتر
خودمون منتقل بشه، بايد وارد يک فولدر خاص
در کامپيوترمان بشيم. دستور مرتبط با اون
دستور lcdاست. مثلا اگه بخوام وارد فولدر
araz از درايو :C بشم، مينويسم:
lcd c:/araz
;دستورات اصلي (upload و download فايل)
کدامند؟
قبل از اينکه اين دستورات رو بگم، انواع
فايل رو بگم:
==> فايلهاي ascii : فايلهايي که حالت
متني دارند، مثل فايلهاي txt و html و
asp و php و rtf و ...
==> فايلهاي binary : فايلهايي که متني
نيستند، مثل فايلهاي گرافيکي،
مولتيمديا، database ، doc و ...
وقتي ميخواهيم فايل رو
داونلود يا upload کنيم، بايد قبل از
انتقال فايل نوع اون رو تنظيم کنيم. دو تا
دستور براي اينکار داريم:
+ دستور ascii يا asc : يعني ميخواهيم به
صورت اسکي عمل انتقال انجام شود.
+ دستور binary يا bin : يعني ميخواهيم
به صورت باينري عمل انتقال انجام شود.
+دستور prompt: وقتي تعداد
زيادي فايل رو قرار باشه منتقل کنيم، و از
دستور مربوط به upload يا download
استفاده ميکنيم، هر بار که فايلي
ميخواهد منتقل شود، از ما سوال ميکند که
آيا ميخواهيد اين فايل منتقل شود يا نه.
فرض کنيد که ميخواهيد مثلا ??? فايل رو
منتقل کنيد، در اين موارد ??? بار از شما
اين سوال پرسيده ميشود. براي اينکه اين
حالت رو غير فعال کنيم، مينويسيم prompt
تا غيرفعال شود، اگه يه بار ديگه همين
دستور رو بنويسيم، دوباره فعال ميشود
+ دستورهاي مربوط به upload
فايل:
دستور put: اين دستور يک فايل رو از
کامپيوتر ما به سرور منتقل ميکنه (از
فولدر فعلي کامپيوتر ما به فولدر فعلي
کامپيوتر سرور). مثلا اگه بخوام فايلي به
اسم ali.jpg رو upload کنم، اگه در حالت
ascii باشم، اول بايد به حالت binary
تغيير حالت بدم و بعد بنويسم:
put ali.jpg
و جواب ميشنوم:
200 PORT command successful.
150 Opening BINARY mode data connection
for ali.jpg.
226 Transfer complete.
ftp: 21010 bytes sent in 0.02Seconds
1050.50Kbytes/sec.
ftp>
دستور mput: اين دستور چند فايل رو upload
ميکند، مثلا اگه بخوام همه فايلهاي htm
که اسمشون با کاراکتر s شروع ميشه رو
منتقل کنم، ميتويسم (البته بايد قبلش به
حالت ascii تغيير حالت داده باشم):
mput s*.htm
+ دستورهاي مربوط به download فايل:
دستور get: اين دستور يک فايل رو از سرور
به کامپيوتر ما منتقل ميکنه (از فولدر
فعلي سرور ما به فولدر فعلي کامپيوتر ما).
مثلا اگه بخوام فايلي به اسم default.asp
رو download کنم، مينويسم:
get default.asp
دستور mget: اين دستور چند فايل رو
download ميکند، مثلا اگه بخوام همه
فايلهاي htm که اسمشون با کاراکتر s شروع
ميشه رو منتقل کنم، ميتويسم:
mget s*.htm
چگونه کار را خاتمه دهيم؟
+ اول بايد session را خاتمه دهيم. براي
اينکار ميتونيد از يکي از دو دستور
close يا disconnect استفاده کنيم.
+ بعد، براي خروج از ftp بايد از يکي از
دو دستور quit يا bye استفاده کنيم.
|