zoukankan      html  css  js  c++  java
  • Linux命令之ftp

    ftp [-pinegvd] [host] pftp [-inegvd] [host]

    用户通过ftp这个程序来使用Internet上的标准文件传输协议(FTP)。本程序允许用户向远端网站发送文件,或从远端网站接收文件。

    注意:CentOS7中需要自己安装此程序。

    (1).参数选项

    参数选项可以在命令行启动ftp时指定,也可以在ftp命令解释模式下输入

    -p 使用被动模式进行数据传输。
    -I 进行多个文件传输时关掉交互式的确认提示
    -n 一般在启动ftp时,ftp会试着进行自动登录,本选项关闭这个功能。否则,ftp命令会搜索home目录下.netrc文件中远端主机上的用户账户。如果.netrc文件中用户账户不存在,会提示输入远端主机的登录名(省略为用户在本地机器上的账户),如有需要还是提示输入密码。
    -e 如果被编译成ftp可执行格式,本选项会关掉命令编辑和历史命名功能
    -g 关掉文件名匹配功能
    -v 显示详细选项。本选项使得ftp显示远端服务器的所有响应,并在数据传输完成后显示传输数据的统计信息。
    -d 打开debug模式,详细显示命令执行过程

    (2).主动模式与被动模式

    主动模式英文为PORT,工作原理:FTP客户端连接到FTP服务器的21端口发送用户名和密码登录,登录成功后要list列表或者读取数据时,客户端随机开放一个端口(1024以上),发送 PORT命令到FTP服务器,告诉服务器客户端采用主动模式并开放端口;FTP服务器收到PORT主动模式命令和端口号后,通过服务器的20端口和客户端开放的端口连接,发送数据,原理如下图:

     

    被动模式英文为 PASV,是Passive的缩写,工作原理:FTP客户端连接到FTP服务器的21端口,发送用户名和密码登录,登录成功后要list列表或者读取数据时,发送PASV命令到FTP服务器, 服务器在本地随机开放一个端口(1024以上),然后把开放的端口告诉客户端, 客户端再连接到服务器开放的端口进行数据传输,原理如下图:

     

    参考:https://www.cnblogs.com/mawanglin2008/articles/3607767.html

    (3).常用的内部命令

    ftp有72个内部命令,在命令解释模式下运行(’ftp>’)

    ls [remote-directory] [local-file] 显示远端机器目录下的文件列表。具体如何显示与远端系统有关。例如,大多数UNIX系统显示shell命令ls –l的输出。如果不指定remote-directory则显示远端机器当前目录的内容。如果prompt状态为on,ftp会提示用户确认最右一个参数是用来存放ls显示结果的本地文件。如果不指定local-file,或者local-file指定为’-’,则结果显示到用户终端上。可以在命令中用引号指定附加参数。例如,如果余元系统为UNIX,则ls “-rt /usr”这台命令会显示远端机器/usr这个目录下的文件,显示结果按创建时间由远到近排序。
    cd remote-directory 改变远端机器上的当前目录到remote-directory
    lcd [directory] 改变本地的当前工作目录。如果不指定参数directory,则切换到用户的home目录
    close 终止当前的ftp连接,回到命令解释模式下。所有定义的宏都会被清除
    hash 转换hash状态,即是否显示数据传输进度。如果hash状态为on,么传送玩一个1024字节的数据块显示一个#。
    get remote-file [local-file] 把远端机器上的文件remote-file取回到本地。如果不指定本地文件名,则远端文件名在经过case,ntrans和nmap转换后,作为本地文件名使用。文件传输过程中会用到当前的type,from,mode和structure状态。
    mget remote-files 匹配参数remote-files中指定的远端文件名,对匹配结果里的每个文件都执行一个get命令。文件被传输到本地机器的当前目录,你可以使用’lcd directory’命令改变本地机器的本地当前目录,也可以用’! mkdir directory’命令新建本地目录
    put local-file [remote-file] 将本地文件传至远端主机。如果不指定参数remote-file,则根据当前的ntrans和nmap状态,本地文件名警告适当的转换后,作为远端文件名使用。在文件传输过程找那个会用到当前的type,format,mode和structure状态。
    mput local-files 匹配参数中指定的文件名,对匹配几个里的每个文件都执行一个put命令。
    bye 终止与当前FTP服务器的连接,退出ftp。文件结束符(CTRL+D用同样的功能)
    quit 同bye
  • 相关阅读:
    BZOJ 3132: 上帝造题的七分钟 树状数组+差分
    PAT Advanced 1006 Sign In and Sign Out (25 分)
    PAT Advanced 1011 World Cup Betting (20 分)
    PAT Basic 1032 挖掘机技术哪家强 (20 分)
    PAT Basic 1028 人口普查 (20 分)
    PAT Basic 1004 成绩排名 (20 分)
    大数据数据库HBase(二)——搭建与JavaAPI
    PAT Advanced 1009 Product of Polynomials (25 分)(vector删除元素用的是erase)
    PAT Advanced 1002 A+B for Polynomials (25 分)(隐藏条件,多项式的系数不能为0)
    PAT Basic 1041 考试座位号 (15 分)
  • 原文地址:https://www.cnblogs.com/diantong/p/9844692.html
Copyright © 2011-2022 走看看