FTP ย่อมาจาก File Transfer Protocol เป็น utility program พื้นฐานที่ใช้ในการ copy ไฟล์จาก computer เครื่องหนึ่งไปยัง computer อีกเครื่อง โดยที่ computer ทั้งสองเครื่องอาจจะวางอยู่ใกล้ๆกัน หรือ อาจจะวางห่างกันคนละซีกโลกก็ได้ FTP ทำหน้าที่เหมือนเป็น interpreter บนเครื่องที่เราใช้ remote เข้าสู่ FTP server โดยผู้ใช้จะต้องทำการพิมพ์คำสั่งที่คล้ายกับคำสั่งบน unix เพื่อใช้สั่งการกระทำต่างๆบน FTP ในปัจจุบัน ระบบปฏิบัติการส่วนมากก็จะมี FTP ใส่มาให้แล้วทั้งแบบที่เป็น command line และแบบโปรแกรมที่เป็น FTP แบบ GUI จำนวนมากให้เลือกใช้งานมีความสวยงามและใช้งานได้ง่าย เช่น FileZilla ซึ่งเป็น opensource FTP แบบ Gui เป็นต้น นอกจากนี้เรายังสามารถใช้งาน FTP ผ่าน web browser ได้อีกหนึ่งช่องทาง โดยการพิมพ์
ftp://login name@ip address ของ ftp server
ในช่องของการพิมพ์ url ปกติบนหน้า browser ซึ่งมีความสะดวกมากในการใช้งาน
จะเห็นได้ว่าในปัจจุบันเราสามารถใช้งาน FTP ได้หลายช่องทาง แต่อย่างไรก็ตามการศึกษาการใช้งาน FTP ในแบบ command line ก็ยังคงมีความสำคัญและเป็นพื้นฐานการใช้งาน FTP ในรูปแบบอื่นๆอีกด้วย
การเริ่มใช้งาน FTP ในแบบ command line
ใน linux หรือ bsd เริ่มจากเปิดหน้า teminal ออกมาก่อน ถ้าเป็นใน windows ให้เปิดหน้า command dos ขึ้นมานะครับ จากนั้นพิมพ์คำสั่ง
ftp ตามด้วย hostname หรือ ip address หรือ url ของ ftp server
หากการเชื่อมต่อไปยัง server สำเร็จ เครื่อง FTP server จะตอบกลับด้วยการถาม login name และ password ที่ใช้ในการ ftp หากเรา login เข้าสู่ FTP server สำเร็จ prompt จะเปลี่ยนไปอยู่ในรูปแบบของ
ftp>
ในการ login เข้าสู่ FTP server บางครั้งคุณอาจจะไม่มี loginame และ password ใน FTP server แต่ก็สามารถ login ได้โดยใช้ anonymous FTP เมื่อ FTP server ถามหา login name ให้พิมพ์ anonymous แทนและ password ก็อาจใส่เป็น E-mail address เพื่อให้เครื่องเก็บ record เป็น anonymous FTP request ไว้ แต่การ FTP ในแบบ anonymos นี้คุณจะเข้าสู่ส่วนที่เป็น anonymos directory ใน FTP server ซึ่งส่วนใหญ่แล้วจะใส่ไฟล์ที่เป็น public ไฟล์เอาไว้ครับ
หมายเหตุ การทำ anonymous FTP นั้น เครื่อง FTP server จะต้องเปิด anonymous FTP เอาไว้ด้วย
คำสั่งพื้นฐานที่ใช้บ่อยใน FTP
? ใช้ขอ help หรือข้อมูลเกี่ยวกับคำสั่ง FTP
ascii เปลี่ยน mode ของการรับส่งไฟล์เป็น ASCII ปกติจะ set mode นี้ไว้เป็น default และส่ง 7 bit/character
binary เปลี่ยน mode ของการรับส่งไฟล์เป็น Binary ส่ง 8 bit/byte มีโอกาสน้อยกว่าที่จะเกิดการ error การส่งข้อมูล mode นี้จะต้องถูกเปิดใช้ในการส่งไฟล์อื่นที่ไม่ใช่ ASCII ไฟล์
bye ใช้ออกจาก FTP (เหมือนกับ quite)
cd ตามด้วยชื่อ directory ใช้เปลี่ยน directory บน FTP server
delete ตามด้วยชื่อไฟล์ ใช้ลบไฟล์บน FTP server (เหมือน rm ใน unix)
get ตามด้วยชื่อไฟล์ ใช้ copy ไฟล์ จากเครื่อง FTP server ลงมาบนเครื่องของเราครับ เช่น
- get ABC (ทำการ copy ไฟล์ ABC บนเครื่อง server ลงมาบนเครื่องเรา)
- get ABC DEF (ทำการ copy ไฟล์ ABC บนเครื่อง server ลงมาบนเครื่องเราในชื่อ DEF)
put ตามด้วยชื่อไฟล์ ใช้ส่งไฟล์จากเครื่องเราขึ้นไปยัง FTP server
help ใช้ list คำสั่ง FTP command ที่ใช้ได้ออกมา
lcd ใช้เปลี่ยน directory บนเครื่องของเราเอง
ls ใช้ list ชื่อไฟล์บนเครื่อง FTP server
mkdir ตามด้วยชื่อ directory ใช้สร้าง directory บน FTP server
rmdir ตามด้วยชื่อ directory ใช้ลบ directory บน FTP server
mget ใช้ copy ไฟล์หลายๆไฟล์จาก FTP server ลงมาบนเครื่องเรา โดยเครื่องจะถาม ให้เราตอบ yes no ทีละไฟล์ว่าเอาหรือไม่เอา ถ้าจะเอาหมดไม่ต้องการรอตอบให้ปิด prompt ก่อนใช้ mget ด้วยคำสั่ง prompt เพื่อให้ prompt off ไป การเลือกทุกไฟล์บน directory ที่ FTP เข้าไปสามารถใช้ wildcard ช่วยได้โดยพิมพ์ mget *
mput ใช้คล้ายกับ mget แต่เป็นการนำไฟล์จากเครื่องเราขึ้นไปบน FTP server แทน
pwd ใช้หา path name ของ current directory ที่เรา FTP เข้าไป
quite ใช้ออกจากการทำ FTP (เหมือนกับ bye)
ตัวอย่าง FTP session ทั่วๆไป
ftp nordsieck.cs.colorado.edu Connected to nordsieck.cs.colorado.edu. 220 nordsieck FTP server (Version 5.53 Tue Aug 25 10:46:12 MDT 1992) ready. Name (nordsieck.cs.colorado.edu:yourlogin): yourlogin 331 Password required for yourlogin. Password: 230 User yourlogin logged in. ftp> cd HPSC/exercises 250 CWD command successful. ftp> ls 200 PORT command successful. 550 No files found. ftp> put tmul.out 200 PORT command successful. 150 Opening ASCII mode data connection for tmul.out. 226 Transfer complete. local: tmul.out remote: tmul.out 1882 bytes sent in 0.0095 seconds (1.9e+02 Kbytes/s) ftp> ls 200 PORT command successful. 150 Opening ASCII mode data connection for file list. tmul.out 226 Transfer complete. 9 bytes received in 0.0021 seconds (4.3 Kbytes/s) ftp> mput * mput Makefile? y 200 PORT command successful. 150 Opening ASCII mode data connection for Makefile. 226 Transfer complete. local: Makefile remote: Makefile 1020 bytes sent in 0.0062 seconds (1.6e+02 Kbytes/s) mput tmul.out? n ftp> quit 221 Goodbye. % ls . . . Makefile tmul.out
หมายเหตุ
มักมีผู้สับสนระหว่างคำว่า FTP, sFTP และ FTPS อยู่บ่อยๆ
FTP คือ File Transfer Protocol เป็นโปรแกรมที่ใช้ในการรับส่งข้อมูลระหว่าง computer ผ่าน network
sFTP ไม่ใช่ FTP แต่เป็น protocol ที่ derive มาจาก SCP (Secure Copy) command โดยที่ข้อมูลหรือ transaction ทั้งหมดจะวิ่งอยู่บน secure shell connection
FTPS เป็นการทำ FTP บน SSL (Secure Socket Layer) connection ครับ บางครั้ง FTPS จะถูกเรียกว่า Secure FTP จึงมักมีผู้สับสนว่าเป็น sFTP นั่นเอง
ข้อมูลจาก
http://www.cs.colostate.edu/helpdocs/ftp.html
http://en.wikipedia.org/wiki/Secure_FTP
http://en.wikipedia.org/wiki/SFTP
- overlord9999's blog
- Login or register to post comments

Fri, 21/03/2008 - 15:55
Secure Copy ใช้งานยังไงครับ เขียนเล่าสู่กันฟังบ้างครับ ผมไม่ค่อยได้ใช้เลย
-----------------------------------------------------------------------------
RedLine Software - http://www.redlinesoft.net
Sat, 15/03/2008 - 23:44
ขอบคุณครับ
คงจะเหมือนกับ
SQL ภาษาที่ใช้
MySQL ตัวDBMS ที่เป็น Opensource ได้รับความนิยมสูง
SQL Server ตัวDBMS ของMicrosoft
เห็นมีคนเข้าใจผิดกันเยอะนึกว่ามันคืออันเดียวกัน