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

Linux命令之ftp的更多相关文章

  1. Unix/Linux命令:FTP

    在Unix/Linux系统中,ftp命令用来实现客户机和远程主机之的文件传输. 语法:ftp [-Apinegvtd] [hostname] 参数:-p : 传输文件模式为被动模式-i : 关闭交互模 ...

  2. linux下常用FTP命令

    linux下常用FTP命令 1. 连接ftp服务器 1. 连接ftp服务器格式:ftp [hostname| ip-address]a)在linux命令行下输入: ftp 192.168.1.1b)服 ...

  3. linux命令行模式下对FTP服务器进行文件上传下载

    参考源:点击这里查看   1. 连接ftp服务器 格式:ftp [hostname| ip-address]a)在linux命令行下输入: ftp 192.168.1.1 b)服务器询问你用户名和密码 ...

  4. linux下常用FTP命令 上传下载文件【转】

    1. 连接ftp服务器 格式:ftp [hostname| ip-address]a)在linux命令行下输入: ftp 192.168.1.1 b)服务器询问你用户名和密码,分别输入用户名和相应密码 ...

  5. linux下常用FTP命令 1. 连接ftp服务器

    1. 连接ftp服务器 格式:ftp [hostname| ip-address] a)在linux命令行下输入: ftp 192.168.1.1 b)服务器询问你用户名和密码,分别输入用户名和相应密 ...

  6. linux下常用FTP命令 1. 连接ftp服务器[转]

    1. 连接ftp服务器 格式:ftp [hostname| ip-address]a)在linux命令行下输入: ftp 192.168.1.1 b)服务器询问你用户名和密码,分别输入用户名和相应密码 ...

  7. linux命令详解——ftp

    ftp服务器在网上较为常见,Linux ftp命令的功能是用命令的方式来控制在本地机和远程机之间传送文件,这里详细介绍Linux ftp命令的一些经常使用的命令,相信掌握了这些使用Linux 进行ft ...

  8. Linux shell:FTP(文件传输协议)上传下载命令

    SecureCRT通过ftp将nmon上传,建立一个目录,用命令上传文件.[命令见下面] 或通过UE.SSH上传/下载,使用sftp建立链接. [通过cmd进入ftp服务器]先假设有一FTP服务器,F ...

  9. Linux 命令 - ftp: 网络文件传输工具

    命令格式 ftp [-pinegvd] [host] 命令参数 -A 传输文件模式为主动模式. -p 传输文件模式为被动模式. -i 关闭交互模式. -n 关闭自动登录功能. -e 不记录历史命令. ...

随机推荐

  1. Elasticsearch 5.6.5 安装教程

    下载地址   https://www.elastic.co/downloads/past-releases/elasticsearch-5-6-5 安装环境  centos6.5  ,  jdk1.8 ...

  2. C# 如何用多字符分割字符串

    用单字符分割字符串大家应该很熟悉,例如: string source = "dfd^Afdf^AAAAAA^Adfdf"; var list= source.Split('A'); ...

  3. 适配器模式 C#

    适配器模式 将一个类的接口变换成客户端所期待的另一种接口,从而使原本因接口不匹配而无法在一起工作的两个类能够在一起工作. ● Target目标角色:该角色定义把其他类转换为何种接口,也就是我们的期望接 ...

  4. Kubernetes: 集群网络配置 - flannel

    参考: [ Kubernetes 权威指南 ] Kubernetes 集群搭建可以参考 [ Kubernetes : 多节点 k8s 集群实践 ] 在多个 Node 组成的 Kubernetes 集群 ...

  5. 八大疯狂的HTML5 Canvas及WebGL动画效果——8 CRAZY ANIMATIONS WITH WEBGL AND HTML5 CANVAS【收藏】

    HTML5, WebGL and Javascript have changed the way animation used to be. Past few years, we can only a ...

  6. SUSE 11.3 linux ISO下载地址

    http://linux.iingen.unam.mx/pub/Linux/Suse/isos/SLES11/ SLE-11-SP3-SDK-DVD-i586-GM-DVD1.iso 6deaa960 ...

  7. [ python ] 项目:haproxy配置文件增删改查

    1. 开发要求 实现对 haproxy.cfg 增删改查操作 2. 程序介绍 # 作者:hkey # 博客地址:https://www.cnblogs.com/hukey/p/9288279.html ...

  8. python_day6学习笔记

    一.Logger模块 logging.basicConfig函数 可通过具体参数来更改logging模块默认行为,可用参数有 filename: 用指定的文件名创建FiledHandler(后边会具体 ...

  9. beego学习笔记(1)

    公司准备开发一个针对塔吊行业的APP. 后台采用微服务,docker容器部署. 准备采用go进行微服务的开发. 采用beego进行restful API的开发. 第一步,访问beego的官方网站: h ...

  10. 深度学习方法(五):卷积神经网络CNN经典模型整理Lenet,Alexnet,Googlenet,VGG,Deep Residual Learning

    欢迎转载,转载请注明:本文出自Bin的专栏blog.csdn.net/xbinworld. 技术交流QQ群:433250724,欢迎对算法.技术感兴趣的同学加入. 关于卷积神经网络CNN,网络和文献中 ...