FTP协议
FTP(File Transfer Protocol,文件传输协议) 是 TCP/IP 协议组中的协议之一。FTP协议包括两个组成部分,其一为FTP服务器,其二为FTP客户端。其中FTP服务器用来存储文件,用户可以使用FTP客户端通过FTP协议访问位于FTP服务器上的资源。在开发网站的时候,通常利用FTP协议把网页或程序传到Web服务器上。此外,由于FTP传输效率非常高,在网络上传输大的文件时,一般也采用该协议。
默认情况下FTP协议使用TCP端口中的 20和21这两个端口,其中20用于传输数据,21用于传输控制信息。但是,是否使用20作为传输数据的端口与FTP使用的传输模式有关,如果采用主动模式,那么数据传输端口就是20;如果采用被动模式,则具体最终使用哪个端口要服务器端和客户端协商决定。
如何登录FTP(两种方法)
此篇文章命令是在win10的cmd中运行
- 在命令行下输入ftp IP地址,按照提示输入用户名和密码,完成登陆
C:\Users\liujialin>ftp 192.168.3.1 #直接ftp IP地址
连接到 192.168.3.1。
220 (vsFTPd 3.0.3)
200 Always in UTF8 mode.
用户(192.168.3.1:(none)): root #输入用户名
331 Please specify the password.
密码: #输入密码
230 Login successful. #登录成功
ftp>
- 直接输入ftp,进入ftp服务后输入open IP地址,按照提示输入用户名和密码,完成登陆
C:\Users\liujialin>ftp #输入ftp进入ftp模式
ftp> open 192.168.3.1 #输入open IP地址
连接到 192.168.3.1。
220 (vsFTPd 3.0.3)
200 Always in UTF8 mode.
用户(192.168.3.1:(none)): root #输入用户名
331 Please specify the password.
密码: #输入密码
230 Login successful. #登录成功
ftp>
ftp基本命令
其实只要说一个命令,常用的基本命令就可以知道了
这个命令就是十万个为什么---‘?’(没错,该命令就是一个问号,等同hlep命令)
直接输入一个?,就会显示出这些命令
输入? 命令,就会显示该命令的版主信息
ftp> ?
命令可能是缩写的。 命令为:
! 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
ftp>
比如这里随便查看几个命令的帮助信息,如下
ftp> ? ?
? 打印本地帮助信息
ftp> ? dir
dir 列出远程目录的内容
ftp> ? ls
ls 列出远程目录的内容
ftp> ? open
open 连接到远程 FTP
ftp> ? lcd
lcd 更改本地工作目录
ftp> help bye
bye 终止 ftp 会话并退出
ftp> help pwd
pwd 在远程计算机上打印工作目录
ftp>
这里还是简单介绍一下几个常用的命令吧!
查看FTP服务器上的文件或目录
一般情况下用户都会被限制目录的访问权限,只可在当前目录下进行操作
dir:显示服务器目录和文件列表
ftp> cd /home
250 Directory successfully changed.
ftp> dir
200 PORT command successful. Consider using PASV.
150 Here comes the directory listing.
-rw-r--r-- 1 0 0 1019904 May 12 12:39 Installing_OMV5_on_Armbian.pdf
-rw-r--r-- 1 0 0 106026 Aug 03 2019 breed.bin
drwxr-xr-x 2 55 55 0 Apr 30 03:31 ftp
-rw-r--r-- 1 0 0 2159147 Sep 09 2019 昆仑.epub
-rw-r--r-- 1 0 0 441798 Feb 12 2019 流浪地球.epub
226 Directory send OK.
ftp: 收到 363 字节,用时 0.01秒 24.20千字节/秒。
ftp>
mkdir:在远程计算机上创建目录
ftp> mkdir test
257 "/home/test" created
ftp> ls
200 PORT command successful. Consider using PASV.
150 Here comes the directory listing.
ftp
ss.txt
system.png
test #新创建的文件夹
226 Directory send OK.
ftp: 收到 34 字节,用时 0.01秒 6.80千字节/秒。
ftp>
rmdir:在远程计算机上删除目录
ftp> rmdir test
250 Remove directory operation successful.
ftp> ls
200 PORT command successful. Consider using PASV.
150 Here comes the directory listing.
ftp
ss.txt
system.png
226 Directory send OK.
ftp: 收到 28 字节,用时 0.01秒 5.60千字节/秒。
ftp>
ls:显示服务器简易的文件列表
ftp> ls
200 PORT command successful. Consider using PASV.
150 Here comes the directory listing.
Installing_OMV5_on_Armbian.pdf
breed.bin
ftp
昆仑.epub
流浪地球.epub
226 Directory send OK.
ftp: 收到 83 字节,用时 0.01秒 10.38千字节/秒。
ftp>
cd:进入服务器指定的目录
pwd:查看FTP服务器上的当前工作目录
ftp> cd /tmp
250 Directory successfully changed.
ftp> pwd
257 "/tmp" is the current directory
ftp>
上传和下载文件时应该使用正确的传输类型,FTP的传输类型分为ASCII码方式和二进制方式两种,对.txt、.htm等文件应采用ASCII码方式传输,对.exe或图片、视频、音频等文件应采用二进制方式传输。在默认情况下,FTP为ASCII码传输方式。
type:查看当前的传输方式
ascii:设定传输方式为ASCII码方式
binary:设定传输方式为二进制方式
(以上命令都不带参数)
ftp> type
使用 ascii 模式传送文件。
ftp> binary
200 Switching to Binary mode.
ftp> type
使用 binary 模式传送文件。
ftp> ascii
200 Switching to ASCII mode.
ftp>
上传命令put或send
put:上传指定文件put filename [newname]
send:上传指定文件send filename [newname]
filename为上传的本地文件名,newname为上传至FTP服务器上时使用的名字,如果不指定newname,文件将以原名上传。
上传文件前,应该根据文件的类型设置传输方式,本机的工作目录也应该设置为上传文件所在的目录。
ftp> put C:\Users\liujialin\Downloads\system.png
200 PORT command successful. Consider using PASV.
150 Ok to send data.
226 Transfer complete.
ftp: 发送 64878 字节,用时 0.01秒 9268.29千字节/秒。
ftp> send C:\Users\liujialin\Downloads\ss.txt
200 PORT command successful. Consider using PASV.
150 Ok to send data.
226 Transfer complete.
ftp: 发送 382 字节,用时 0.00秒 382000.00千字节/秒。
ftp> ls
200 PORT command successful. Consider using PASV.
150 Here comes the directory listing.
ftp
ss.txt
system.png
226 Directory send OK.
ftp: 收到 28 字节,用时 0.01秒 4.67千字节/秒。
ftp>
下载命令get
get:下载指定文件get filename [newname]
filename为下载的FTP服务器上的文件名,newname为保存在本都计算机上时使用的名字,如果不指定newname,文件将以原名保存。
get命令下载的文件将保存在本地计算机的工作目录下。该目录是启动FTP时在盘符C:后显示的目录。如果想修改本地计算机的工作目录,可以使用 lcd 命令。比如:lcd d:\ 表示将工作目录设定为D盘的根目录。
ftp> lcd D:\
目前的本地目录 D:\。
ftp> pwd
257 "/home" is the current directory
ftp> get ss.txt ssss.txt
200 PORT command successful. Consider using PASV.
150 Opening ASCII mode data connection for ss.txt (382 bytes).
226 Transfer complete.
ftp: 收到 417 字节,用时 0.00秒 417000.00千字节/秒。
ftp> get system.png
200 PORT command successful. Consider using PASV.
150 Opening ASCII mode data connection for system.png (64877 bytes).
226 Transfer complete.
ftp: 收到 65193 字节,用时 0.00秒 65193.00千字节/秒。
ftp>
下载到D盘下的文件
其他命令
mput filename1 filename2 ...:上传多个文件
mget filename1 filename2 ...:下载多个文件
rename filename [newfilename]:重命名FTP服务器上的文件
delete filename:删除FTP服务器上的文件
pwd:查看FTP服务器上的当前工作目录
close:结束与服务器的FTP会话
quit:结束与服务器的FTP会话并退出FTP环境
!:转义到shell,也就是结束与服务器的FTP会话并退出
ftp> ? !
! 转义到 shell
ftp> ? close
close 终止 ftp 会话
ftp> ? quit
quit 终止 ftp 会话并退出
ftp> ? bye
bye 终止 ftp 会话并退出
ftp>
参考:
https://baike.baidu.com/item/FTP%E5%8D%8F%E8%AE%AE/7651119?fr=aladdin
https://blog.csdn.net/qq_38526635/java/article/details/82147980
网友评论