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. netcore 使用log4net

    1.Install Install-Package log4net 2. conifg 創建文件:log4net.config <?xml version="1.0" enc ...

  2. CodeForces 316D3 PE Lesson

    time limit per test 3 seconds memory limit per test 256 megabytes input standard input output standa ...

  3. MyBatis 系列五 之 关联映射

    MyBatis 系列五 之 关联映射 一对多的关联映射 一对多关联查询多表数据 1.1在MyBatis映射文件中做如下配置 <!--一对多单向的连接两表的查询--> <resultM ...

  4. 25、如何实现redis集群?

    由于Redis出众的性能,其在众多的移动互联网企业中得到广泛的应用.Redis在3.0版本前只支持单实例模式,虽然现在的服务器内存可以到100GB.200GB的规模,但是单实例模式限制了Redis没法 ...

  5. js_跑马灯

    跑马灯?刚听到这个词的时候,脑袋第一个想到的是跑马?嗯?就是香港的那种跑马场.懂?其次就是霓虹灯了,一闪一闪的多好看. 霓虹灯?哦,那是城市的杰作,记忆中是.开往城市边缘开,把车窗都摇下来,用速度换一 ...

  6. linux安装(Ubuntu)——(二)

    centos的安装参考: http://www.runoob.com/linux/linux-install.html Linux 安装(Ubuntu) 虚拟机:虚拟机(Virtual Machine ...

  7. C++之指针,引用与数组

    引用只是对象的另一个名字,通过在变量名前面添加"&”符号来定义,而指针保存的是另一个对象的地址,它们两都提供了间接访问所服务变量的途径. 但是它们的差别还是挺大的: 先从它们的值说起 ...

  8. PHP下载APK文件

    PHP下载APK文件(代码如下) /** * //这里不要随便打印文字,否则会影响输出的文件的 * (例如下载没问题,但是apk安装时候提醒解析安装包错误) * @return array */ pu ...

  9. 9:django 表单

    django自带表单系统,这个表单系统不仅可以定义属性名,还可以自己定义验证,更有自己自带的错误提示系统 这节我们仅仅粗略的来看一下django表单系统的入门运用(具体的实在太多东西,主要是我觉得有很 ...

  10. hihocoder 1135 : Magic Box

    #1135 : Magic Box 时间限制:10000ms 单点时限:1000ms 内存限制:256MB 描述 The circus clown Sunny has a magic box. Whe ...