FTP命令

作者: 家麟 | 来源:发表于2020-05-12 21:28 被阅读0次

    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中运行

    1. 在命令行下输入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>
    
    1. 直接输入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

    相关文章

      网友评论

          本文标题:FTP命令

          本文链接:https://www.haomeiwen.com/subject/spyinhtx.html