FTP là một công cụ truyền tải file giữa các máy tính với nhau. FTP cho phép truyền và tải files, quản lí thư mục và lấy mail. Chú ý rằng FPT không được thiết kế để truy cập và thi hành files. Nhưng nó là một công cụ tuyệt vời để truyền tải file, đặc biệt là truyền file lên mạng Internet.
FTP dùng hai kênh TCP. TCP cổng 20 và cổng 21 là nhận lệnh, cho phép giả lập truyền tải lệnh và dữ liệu của FTP. FTP cũng khác với giao thức khác ở một chức năng quan trọng là FTP truyền tải file ở foreground, còn các giao thức khác thì ở background. Có nghĩa là, FTP không sử dụng các spooler hay queue. Cũng vì thế mà việc truyền tải thực hiện bằng thời gian thực.
Trong FTP có hai kênh tồn tại giữa hai máy gọi là Protocol Interpreter hay còn gọi là PI và Data Tranfer Process hay còn gọi là DTP. Cấu trúc truyền tải PI dùng kênh lệnh 21 TCP và truyền tải dữ liệu DTP trên kênh dữ liệu 20 TCP. FTP gần giống với Telnet trong cách dùng chương trình máy chủ chạy liên tục và ngắt quãng chương trình chạy trên máy khách.
Một số lệnh phổ biến của FTP
Sau đây là danh sách một số lệnh thường dùng kèm theo khá phổ dụng của FTP:
ascii : chuyển sang chế độ truyền file theo dạng văn bản
binary : chuyển sang chế độ truyền file theo dạng nhị phân
cd : chuyển vào thư mục directory
cdup: chuyển lên thư mục cấp trên một cấp
close: ngắt kết nối với máy chủ
del : xóa 1 file trên máy chủ
dir : liệt kê nội dung của thư mục hoặc danh sách các file trên máy chủ
help: cho biết hướng dẫn về lệnh command
lcd : đặt lại thư mục làm việc trên client là local-directory
ls <-la>: liệt kê nội dung của thư mục hoặc danh sách các file trên máy chủ; tham số -la sẽ liệt kê tất cả có kèm theo mô tả về quyền
mdelete : xóa nhiều file trên máy chủ
mget download : các files trên máy chủ về
mkdir <directory-name> : tạo thư mục có tên directory-name
mput upload : các files lên máy chủ
open host: kết nối đến máy chủ FTP có hostname là host và đang chạy dịch vụ FTP ở cổng port
put <local-file> : upload local-file lên máy chủ với tên mới là remote-file nếu được
pwd cho biết thư mục đang làm việc hiện thời
quit thoát
recv <remote-file> nhận remote-file trên máy chủ và lưu trên máy tính với tên local-file nếu được
rename đổi tên file hoặc thư mục from thành to
rmdir directory-name xóa thư mục có tên directory-name
send local-file gởi local-file từ máy tính lên máy chủ với tên mới là remote-file nếu được
status cho biết trạng thái của phiên làm việc hiện tại
syst cho biết hệ điều hành của máy chủ
user user-name login vào với tên là user-name, mật khẩu là password, tài khoản là account