文件传输协议(FTP)

地址:http://www.xxglx.com/net/zyk/htmlfiles/protocol/protocol00045.htm 

FTP(File Transfer Protocol),是文件传输协议的简称。用于Internet上的控制文件的双向传输。同时,它也是一个应用程序(Application)。用户可以通过它把自己的PC机与世界各地所有运行FTP协议的服务器相连,访问服务器上的大量程序和信息。

(一)FTP的作用

  正如其名所示:FTP的主要作用,就是让用户连接上一个远程计算机(这些计算机上运行着FTP服务器程序)察看远程计算机有哪些文件,然后把文件从远程计算机上拷到本地计算机,或把本地计算机的文件送到远程计算机去。

(二)FTP工作原理

  拿下传文件为例,当你启动FTP从远程计算机拷贝文件时,你事实上启动了两个程序:一个本地机上的FTP客户程序:它向FTP服务器提出拷贝文件的请求。另一个是启动在远程计算机的上的FTP服务器程序,它响应你的请求把你指定的文件传送到你的计算机中。FTP采用“客户机/服务器”方式,用户端要在自己的本地计算机上安装FTP客户程序。FTP客户程序有字符界面和图形界面两种。字符界面的FTP的命令复杂、繁多。图形界面的FTP客户程序,操作上要简洁方便的多。 
  简单地说,支持FTP协议的服务器就是FTP服务器,下面介绍一下什么是FTP协议。(文件传输协议) 
  一般来说,用户联网的首要目的就是实现信息共享,文件传输是信息共享非常重要的一个内容之一。Internet上早期实现传输文件,并不是一件容易的事,我们知道 Internet是一个非常复杂的计算机环境,有PC,有工作站,有MAC,有大型机,据统计连接在Internet上的计算机已有上千万台,而这些计算机可能运行不同的操作系统,有运行Unix的服务器,也有运行Dos、Windows的PC机和运行MacOS的苹果机等等,而各种操作系统之间的文件交流问题,需要建立一个统一的文件传输协议,这就是所谓的FTP。基于不同的操作系统有不同的FTP应用程序,而所有这些应用程序都遵守同一种协议,这样用户就可以把自己的文件传送给别人,或者从其它的用户环境中获得文件。 
  与大多数Internet服务一样,FTP也是一个客户机/服务器系统。用户通过一个支持FTP协议的客户机程序,连接到在远程主机上的FTP服务器程序。用户通过客户机程序向服务器程序发出命令,服务器程序执行用户所发出的命令,并将执行的结果返回到客户机。比如说,用户发出一条命令,要求服务器向用户传送某一个文件的一份拷贝,服务器会响应这条命令,将指定文件送至用户的机器上。客户机程序代表用户接收到这个文件,将其存放在用户目录中。 
  在FTP的使用当中,用户经常遇到两个概念:"下载"(Download)和"上载"(Upload)。"下载"文件就是从远程主机拷贝文件至自己的计算机上;"上载"文件就是将文件从自己的计算机中拷贝至远程主机上。用Internet语言来说,用户可通过客户机程序向(从)远程主机上载(下载)文件。 
  使用FTP时必须首先登录,在远程主机上获得相应的权限以后,方可上载或下载文件。也就是说,要想同哪一台计算机传送文件,就必须具有哪一台计算机的适当授权。换言之,除非有用户ID和口令,否则便无法传送文件。这种情况违背了Internet的开放性,Internet上的FTP主机何止千万,不可能要求每个用户在每一台主机上都拥有帐号。匿名FTP就是为解决这个问题而产生的。 
  匿名FTP是这样一种机制,用户可通过它连接到远程主机上,并从其下载文件,而无需成为其注册用户。系统管理员建立了一个特殊的用户ID,名为anonymous, Internet上的任何人在任何地方都可使用该用户ID。 
  通过FTP程序连接匿名FTP主机的方式同连接普通FTP主机的方式差不多,只是在要求提供用户标识ID时必须输入anonymous,该用户ID的口令可以是任意的字符串。习惯上,用自己的E-mail地址作为口令,使系统维护程序能够记录下来谁在存取这些文件。 
  值得注意的是,匿名FTP不适用于所有Internet主机,它只适用于那些提供了这项服务的主机。 
  当远程主机提供匿名FTP服务时,会指定某些目录向公众开放,允许匿名存取。系统中的其余目录则处于隐匿状态。作为一种安全措施,大多数匿名FTP主机都允许用户从其下载文件,而不允许用户向其上载文件,也就是说,用户可将匿名FTP主机上的所有文件全部拷贝到自己的机器上,但不能将自己机器上的任何一个文件拷贝至匿名FTP主机上。即使有些匿名FTP主机确实允许用户上载文件,用户也只能将文件上载至某一指定上载目录中。随后,系统管理员会去检查这些文件,他会将这些文件移至另一个公共下载目录中,供其他用户下载,利用这种方式,远程主机的用户得到了保护,避免了有人上载有问题的文件,如带病毒的文件。 
  作为一个Internet用户,可通过FTP在任何两台Internet主机之间拷贝文件。但是,实际上大多数人只有一个Internet帐户,FTP主要用于下载公共文件,例如共享软件、各公司技术支持文件等。 Internet上有成千上万台匿名FTP主机,这些主机上存放着数不清的文件,供用户免费拷贝。实际上,几乎所有类型的信息,所有类型的计算机程序都可以在Internet上找到。这是Internet吸引我们的重要原因之一。 
  匿名FTP使用户有机会存取到世界上最大的信息库,这个信息库是日积月累起来的,并且还在不断增长,永不关闭,涉及到几乎所有主题。而且,这一切是免费的。 
  匿名FTP是Internet网上发布软件的常用方法。Internet之所以能延续到今天,是因为人们使用通过标准协议提供标准服务的程序。像这样的程序,有许多就是通过匿名FTP发布的,任何人都可以存取它们。 
  Internet中的有数目巨大的匿名FTP主机以及更多的文件,那么到底怎样才能知道某一特定文件位于哪个匿名FTP主机上的那个目录中呢?这正是Archie服务器所要完成的工作。Archie将自动在FTP主机中进行搜索,构造一个包含全部文件目录信息的数据库,使你可以直接找到所需文件的位置信息。

(三)FTP的用户分类及权限归属

  在考虑FTP服务器安全性工作的时候,第一步要考虑的就是谁可以访问FTP服务器。在Vsftpd服务器软件中,默认提供了三类用户。不同的用户对应着不同的权限与操作方式。 
  一类是Real帐户。这类用户是指在FTP服务上拥有帐号。当这类用户登录FTP服务器的时候,其默认的主目录就是其帐号命名的目录。但是,其还可以变更到其他目录中去。如系统的主目录等等。 
  第二类帐户实Guest用户。在FTP服务器中,我们往往会给不同的部门或者某个特定的用户设置一个帐户。但是,这个账户有个特点,就是其只能够访问自己的主目录。服务器通过这种方式来保障FTP服务上其他文件的安全性。这类帐户,在Vsftpd软件中就叫做Guest用户。拥有这类用户的帐户,只能够访问其主目录下的目录,而不得访问主目录以外的文件。 
  第三类帐户是Anonymous(匿名)用户,这也是我们通常所说的匿名访问。这类用户是指在FTP服务器中没有指定帐户,但是其仍然可以进行匿名访问某些公开的资源。 
  在组建FTP服务器的时候,我们就需要根据用户的类型,对用户进行归类。默认情况下,Vsftpd服务器会把建立的所有帐户都归属为Real用户。但是,这往往不符合企业安全的需要。因为这类用户不仅可以访问自己的主目录,而且,还可以访问其他用户的目录。这就给其他用户所在的空间 带来一定的安全隐患。所以,企业要根据实际情况,修改用户所在的类别。[3]

(四)通过ftp传输文件的一般步骤

  需要进行远程文件传输的计算机必须安装和运行ftp客户程序。在windows操作系统的安装过程中,通常都安装了tcp/ip协议软件,其中就包含了ftp客户程序。但是该程序是字符界面而不是图形界面,这就必须以命令提示符的方式进行操作,很不方便。 
  启动ftp客户程序工作的另一途径是使用ie浏览器,用户只需要在ie地址栏中输入如下格式的url地址:ftp://[用户名:口令@]ftp服务器域名[:端口号] 
  (在CMD命令行下也可以用上述方法连接,通过put命令和get命令达到上传和下载的目的,通过ls命令列出目录,除了上述方法外还可以在cmd下输入ftp回车,然后输入open IP来建立一个连接,此方法还适用于linux下连接ftp服务器) 
  通过ie浏览器启动ftp的方法尽管可以使用,但是速度较慢,还会将密码暴露在ie浏览器中而不安全。因此一般都安装并运行专门的ftp客户程序。 
  1.在本地电脑上登陆到国际互联网. 
  2.搜索有文件共享主机或者个人电脑(一般有专门的FTP服务器网站上公布的,上面有进入该主机或个人电脑的名称,口令和路径). 
  3.当与远程主机或者对方的个人电脑建立连接后,用对方提供的用户名和口令登陆到该主机或对方的个人电脑. 
  4.在远程主机或对方的个人电脑登陆成功后,就可以上传你想跟别人分享的东东或者下载别人授权共享的东东(这里的东东是指能放到电脑里去又能在显示屏上看到的东东). 
  5.完成工作后关闭FTP下载软件,切断连接. 
  为了实现文件传输,用户还要运行专门的文件传输程序,比如网际快车就有这方面的功能,其它还有很多专门的FTP传输软件,FlashFxp为其中的杰出软件。有兴趣的网友可以试试其他的软件,如LeapFTP总归各有各的特色. 
  FTP协议 
  TCP/IP协议中,FTP标准命令TCP端口号为21,Port方式数据端口为20。FTP协议的任务是从一台计算机将文件传送到另一台计算机,它与这两台计算机所处的位置、联接的方式、甚至是是否使用相同的操作系统无关。假设两台计算机通过ftp协议对话,并且能访问Internet, 你可以用ftp命令来传输文件。每种操作系统使用上有某一些细微差别,但是每种协议基本的命令结构是相同的。 
  FTP的传输有两种方式:ASCII传输模式和二进制数据传输模式。 
  1.ASCII传输方式:假定用户正在拷贝的文件包含的简单ASCII码文本,如果在远程机器上运行的不是UNIX,当文件传输时ftp通常会自动地调整文件的内容以便于把文件解释成另外那台计算机存储文本文件的格式。 
  但是常常有这样的情况,用户正在传输的文件包含的不是文本文件,它们可能是程序,数据库,字处理文件或者压缩文件(尽管字处理文件包含的大部分是文本,其中也包含有指示页尺寸,字库等信息的非打印字符)。在拷贝任何非文本文件之前,用binary 命令告诉ftp逐字拷贝,不要对这些文件进行处理,这也是下面要讲的二进制传输。 
  2.二进制传输模式:在二进制传输中,保存文件的位序,以便原始和拷贝的是逐位一一对应的。即使目的地机器上包含位序列的文件是没意义的。例如,macintosh以二进制方式传送可执行文件到Windows系统,在对方系统上,此文件不能执行。 
  如果你在ASCII方式下传输二进制文件,即使不需要也仍会转译。这会使传输稍微变慢 ,也会损坏数据,使文件变得不能用。(在大多数计算机上,ASCII方式一般假设每一字符的第一有效位无意义,因为ASCII字符组合不使用它。如果你传输二进制文件,所有的位都是重要的。)如果你知道这两台机器是同样的,则二进制方式对文本文件和数据文件都是有效的。 
  5. FTP的工作方式 
  FTP支持两种模式,一种方式叫做Standard (也就是 PORT方式,主动方式),一种是 Passive (也就是PASV,被动方式)。 Standard模式 FTP的客户端发送 PORT 命令到FTP服务器。Passive模式FTP的客户端发送 PASV命令到 FTP Server。 
  下面介绍一个这两种方式的工作原理: 
  Port模式FTP 客户端首先和FTP服务器的TCP 21端口建立连接,通过这个通道发送命令,客户端需要接收数据的时候在这个通道上发送PORT命令。 PORT命令包含了客户端用什么端口接收数据。在传送数据的时候,服务器端通过自己的TCP 20端口连接至客户端的指定端口发送数据。 FTP server必须和客户端建立一个新的连接用来传送数据。 
  Passive模式在建立控制通道的时候和Standard模式类似,但建立连接后发送的不是Port命令,而是Pasv命令。FTP服务器收到Pasv命令后,随机打开一个高端端口(端口号大于1024)并且通知客户端在这个端口上传送数据的请求,客户端连接FTP服务器此端口,然后FTP服务器将通过这个端口进行数据的传送,这个时候FTP server不再需要建立一个新的和客户端之间的连接。 
  很多防火墙在设置的时候都是不允许接受外部发起的连接的,所以许多位于防火墙后或内网的FTP服务器不支持PASV模式,因为客户端无法穿过防火墙打开FTP服务器的高端端口;而许多内网的客户端不能用PORT模式登陆FTP服务器,因为从服务器的TCP 20无法和内部网络的客户端建立一个新的连接,造成无法工作。 
  FTP软件可以更好的帮助你管理FTP目录 提供更系统的工具 
  FTP工具推荐使用 cuteftp 
  http://www.onlinedown.net/soft/3065.htm

(五)主动和被动模式

  FTP有两种使用模式:主动和被动。主动模式要求客户端和服务器端同时打开并且监听一个端口以建立连接。在这种情况下,客户端由于安装了防火墙会产生一些问题。所以,创立了被动模式。被动模式只要求服务器端产生一个监听相应端口的进程,这样就可以绕过客户端安装了防火墙的问题。 
  一个主动模式的FTP连接建立要遵循以下步骤: 
  客户端打开一个随机的端口(端口号大于1024,在这里,我们称它为x),同时一个FTP进程连接至服务器的21号命令端口。此时,源端口为随机端口x,在客户端,远程端口为21,在服务器。 
  客户端开始监听端口(x+1),同时向服务器发送一个端口命令(通过服务器的21号命令端口),此命令告诉服务器客户端正在监听的端口号并且已准备好从此端口接收数据。这个端口就是我们所知的数据端口。 
  服务器打开20号源端口并且建立和客户端数据端口的连接。此时,源端口为20,远程数据端口为(x+1)。 
  客户端通过本地的数据端口建立一个和服务器20号端口的连接,然后向服务器发送一个应答,告诉服务器它已经建立好了一个连接。

(六)FTP和网页浏览器

  大多数最新的网页浏览器和文件管理器都能和FTP服务器建立连接。这使得在FTP上通过一个接口就可以操控远程文件,如同操控本地文件一样。这个功能通过给定一个FTP的URL实现,形如ftp://<服务器地址>(例如,ftp://ftp.gimp.org )。是否提供密码是可选择的,如果有密码,则形如:@ftp:// :@。大部分网页浏览器要求使用被动FTP模式,然而并不是所有的FTP服务器都支持被动模式。[1][2]

(七)ftp 命令

  1、FTP服务器的登陆 
  匿名用户:FTP 口令:FTP 
  用户 :ANONYMOUS 口令:任何电子邮件 
  2、显示文件信息:DIR/IS 
  3、下载文件:GET 文件名 (下载到当前目录) 
  4、上传文件:PUT 文件名 
  5、多文件下载:MGET 
  6、多文件上传:MPUT 
  7、退出:BYE 
  8、帮助:HELP 
   (1)用途  
  在本地主机和远程主机之间传送文件。 
   (2)语法  
  ftp [ -d] [ -g ] [ -i ] [ -n ] [ -v] [ -f ] [ -k realm] [-q[-C]][ HostName [ Port ] ] 
   (3)描述  
  ftp 命令使用“文件传送协议” (FTP) 在本地和远程主机或远程主机之间传送文件。 
  FTP 协议允许在使用不同文件系统的主机之间进行数据传送。尽管协议在传送数据中提供了很高的灵活度,它仍然不会尝试保留特定于某个文件系统的文件属性(如文件保护模式或修改时间)。而且,FTP 协议为文件系统的整体结构做了少许假设,且不提供或不允许诸如循环地复制子目录这样的函数。 
  请注意:如果您正在系统之间传送文件,且需要保存文件属性或递归地复制子目录,请使用 rcp 命令。 
   (4)发布子命令  
  您可以在 ftp> 提示符中输入子命令,执行类似这样的任务:列出远程目录、更改当前的本地和远程目录、在单一请求中传送多个文件、创建和除去目录,以及转义到本地 shell 执行 shell 命令。请参考子命令章节取得每个子命令的描述信息。 
  如果您执行 ftp 命令而不为远程主机指定 HostName 参数,ftp 命令会立即显示 ftp> 提示符,等待 ftp 子命令。要连接远程主机,请执行 open 子命令。 当 ftp 命令连接到远程主机时,ftp 命令在再次显示提示符 ftp> 之前会提示输入登录名和密码。如果远程主机中未定义登录名的密码,ftp 命令将不成功。 
  ftp 命令解释器(处理在 ftp> 提示符处输入的全部子命令),会提供大多数文件传送程序没有的性能,如: 
  * 对 ftp 子命令处理文件名参数 
  * 将一组子命令集中成一个单一的子命令宏 
  * 从 $HOME/.netrc 文件中装入宏 
  这些性能会帮助您简化重复的任务,并允许您在 unattended 方式使用 ftp 命令。 
  命令解释器将按照下列规则处理文件名参数: 
  * 如果为此参数指定了 -(连字符),则标准输入 (stdin) 将用于读取操作,而标准输出用于写入操作。 
  * 如果未应用前面的检查,且文件名扩展已启用(请参考 -g 标志或 glob 子命令),则解释器将根据 C shell 的规则扩展文件名。启用了文件名匹配替换以及在期待单一文件名的子命令中使用了模式匹配字符时,结果可能与期待的不一样。 
  例如,append 和 put 子命令将拓展文件名,然后仅使用所生成第一个文件名。其它 ftp 子命令,如 cd、delete, get、mkdir、rename 和 rmdir 不会执行文件名拓展,并从字面上接受模式匹配字符。 
  * 对于 get、put、mget 和 mput 子命令,解释器有能力在不同的本地和远程文件名语法样式之间进行翻译和映射(请参考 case、ntrans 和 nmap 子命令),并且在本地文件名不是唯一的情况下有修改它的能力(请参考 runique 子命令)。另外,如果远程文件名不是唯一的,则 ftp 命令可将指令发送到远程 ftpd 服务器,以修改远程的文件名(请参考 sunique 子命令)。 
  * 使用双引号 (" ") 指定包含空字符的参数。 
  请注意:ftp 命令解释器不支持管道。也无需支持所有多字节字符文件名。 
  要在互动地运行的时候结束 ftp 会话,请使用 quit 或 bye 子命令或 ftp> 提示符处的End of File (Ctrl-D) 按键顺序。要在文件传送未完成之前结束它,请按中断按键顺序。其缺省“中断键”序列是 Ctrl-C。stty 指令能用于重新定义该键系列。 
  ftp 命令在正常情况下会立即暂停正在发送(从本地主机到远端主机)的传输。ftp 命令通过将 FTP ABOR 指令发送到远程 FTP 服务器,来暂停正在接收的传输(从远程主机到本地主机),并废弃所有传入的文件传送包(直到远程服务器停止发送它们为止)。如果远程服务器不支持 ABOR 指令,在远程服务器未发送所有请求的文件之前,ftp 命令不会显示 ftp> 提示符。另外,如果远程服务器执行未期望的操作时,可能需要结束本地 ftp 进程。 
  安全性和自动登录 
  如果“标准的”是当前认证方法: 
  ftp 命令也会通过将密码发送到远程主机来处理安全性,并许可自动登录、文件传送和注销操作。 
  如果您执行 ftp 命令并指定远程主机的主机名 (HostName), ftp 命令会尝试建立一个对于指定主机的连接。如果 ftp 命令连接成功,ftp 命令会在当前目录或主目录中搜索本地的 $HOME/.netrc 文件。如果文件存在,ftp 命令会在文件中搜索启动登录过程的入口,在命令宏定义中搜索远程主机。如果 $HOME/.netrc 文件或自动登录项不存在,或是系统已使用 securetcpip 命令保护起来, ftp 命令会提示用户输入用户名和密码。不论命令行中是否指定 HostName 参数,该指令都会显示此提示。 
  请注意: 排队系统不支持多字节主机名。 
  如果 ftp 命令找到指定主机的$HOME/.netrc 自动登录项, ftp 会试图使用该登录项中的信息登录远程主机。ftp 命令也会载入任何在登录项中定义的命令宏。在某些情况(例如,所需的密码在自动登录项中没有列出来),ftp 命令会在显示 ftp> 提示符之前提示输入密码。 
  一旦 ftp 命令完成自动登录,如果宏是在自动登录项中定义的,ftp 命令就会执行init 宏。如果init 宏不存在或未包含 quit 或 bye 子命令,ftp 命令将显示 ftp> 提示符并等待子命令。 
  请注意: 在提示符或在 $HOME/.netrc 文件中指定的远程主机名必须存在,并拥有在远程主机中定义的密码。否则,ftp 指令无效。 
  如果 Kerberos 5 是当前的认证方法: 
  ftp 命令会按在 IETF 草稿文挡 "draft-ietf-cat-ftpsec-09.txt" 定义的那样将此拓展用于 ftp 规范。FTP 安全性扩展将使用“Generic Security Service API (GSSAPI)”安全机制来实现。GSSAPI 提供对于基础的安全性和通信机制来说是独立的服务。GSSAPI 是在 rfc 1508 和 1509 中定义的。 
  ftp 命令将使用 AUTH 和 ADAT 命令验证 ftpd 守护进程。如果两者都支持 Kerberos 认证,则它们会使用本地用户 DCE 凭证验证远程系统上的用户。如果这样失败了,且两个系统中都配置了“标准的”认证,则会使用上述的过程。 
  HostName 参数是传送文件的目的地主机名称。可选的 Port 参数指定了端口的标识符,通过此端口进行传输。(/etc/services 文件指定了缺省端口。) 
  标志 
  -C 允许用户指定:通过 send_file 命令发出的文件必须在网络高速缓冲区(NBC)中经过缓存处理。此标志必须在指定了 -q 标志的情况下使用。只有当文件在无保护的情况下以二进制方式发送时此标志才适用。 
  -d 将有关 ftp 命令操作的调试信息发送给 syslogd 守护进程。如果您指定 -d 标志,您必须编辑 /etc/syslog.conf 文件并添加下列中的一项: 
  user.info FileName 
  OR 
  user.debug FileName 
  请注意: syslogd 守护进程调试级别包含信息级别消息。 
  如果不编辑 /etc/syslog.conf 文件,则不会产生消息。变更了 /etc/syslog.conf 文件之后,请运行 refresh -s syslogd 或 kill -1 SyslogdPID 命令,以通知 syslogd 守护进程其配置文件的变更。关于调试级别的更多信息,请参考 /etc/syslog.conf 文件。也请参考 debug 子命令。 
  -g 禁用文件名中的元字符拓展。解释元字符可参考为扩展(有时叫做文件名匹配替换)文件名。请参考 glob 子命令。 
  -i 关闭多文件传送中的交互式提示。请参考 prompt、mget、mput 和 mdelete 子命令,以取得多文件传送中的提示的描述。 
  -n 防止在起始连接中的自动登录。否则, ftp 命令会搜索 $HOME/.netrc 登录项,该登录项描述了远程主机的登录和初始化过程。请参考 user 子命令。 
  -q 允许用户指定: send_file 子例程必须用于在网络上发送文件。只有当文件在无保护的情况下以二进制方式发送时此标志才适用。 
  -v 显示远程服务器的全部响应,并提供数据传输的统计信息。当 ftp 命令的输出是到终端(如控制台或显示)时,此显示方式是缺省方式。 
  如果 stdin 不是终端,除非用户调用带有 -v 标志的 ftp 命令,或发送 verbose 子命令,否则 ftp 详细方式将禁用。 
  -f 导致转发凭证。如果 Kerberos 5 不是当前认证方法,则此标志将被忽略。 
  -k realm 如果远程站的域不同于本地系统的域,系统将允许用户指定远程站的域。因此,域和 DCE 单元是同义的。如果 Kerberos 5 不是当前认证方法,则此标志将被忽略。 
   (5)子命令  
  下列 ftp 子命令在 ftp> 提示符下输入。使用双引号 (" ") 指定包含空格字符的参数。 
  ![命令 [参数]] 在本地主机上调用交互的 shell。可通过 shell 命令提供带有一个或多个可选参数的可选命令。 
  $>Macro [参数] 执行指定的宏(早先使用 macdef 子命令定义的)。参数不被扩展。 
  ?[ 子命令] 显示描述子命令的帮助消息。如果您不指定 Subcommand 参数,ftp 命令将显示已知子命令的清单。 
  account [Password] 发送远程主机在授权对其资源进行访问之前可能需要的补充密码。如果密码不是命令提供的,将提示用户输入密码。密码不在屏幕上显示。 
  append LocalFile [RemoteFile] 将本地文件添加到远程主机文件中。如果远程文件名未指定,则将使用本地文件名,该文件名由 ntrans 子命令或 nmap 子命令生成的任何设置进行改变。添加文件的时候, append 子命令将为 form、mode, struct、和 type 子命令使用当前值。 
  ascii type ascii 子命令的同义词。 
  bell 每个文件传送过程完成之后响一声铃。 
  binary type binary 子命令的同义词。 
  block mode block 子命令的同义词。 
  bye 结束文件传送会话并退出 ftp 命令。与 quit 子命令相同。 
  carriage-control form carriage-control 子命令的同义词。 
  case 为文件名 case 设置一个切换。当 case 子命令开启的时候ftp 命令将全部远程文件名从大写改成小写(将它们写入本地目录时)。其缺省值为关闭(这样 ftp 命令就会在本地目录中按大写格式写入大写的远程文件名)。 
  cd RemoteDirectory 将远程主机中的工作目录改为指定的目录。 
  cdup 将远程主机中的工作目录改为当前目录的父目录。 
  close 结束文件传送会话,但不要退出 ftp 命令。已定义的宏已被擦除。与disconnect 子命令相同。 
  copylocal 切换本地拷贝。copylocal 缺省值为关闭。ftp 通过向自身执行 ftp 操作确认您未置零文件(如相同的主机名和相同的路径名)。将 copylocal 打开绕过这一检查。 
  cr 在 ASCII 类型文件传送期间接收记录时,从回车和 line-feed 序列中除去回车字符。(ftp 命令在文件传送期间用回车和换行中止每一条 ASCII 类型的记录。) 
  远程主机(其操作系统与正在运行的操作系统不同)的记录可拥有内嵌于记录中的单一换行。要从记录定界符中区分这些内嵌的换行,请将 cr 子命令设置为关闭。cr 子命令会在开启和关闭中间进行切换。 
  debug [0 | 1] 在调试记录保持开启和关闭之间进行切换。指定 debug 或 debug 1,以打印发送到远程主机的每一个命令,并保存重新启动的控制文件。重新指定 debug 或 debug 0,停止调试记录保持。Ctrl-C 键也会保存重新启动的控制文件。 
  指定 debug 子命令将有关 ftp 命令操作的调试信息发送给 syslogd 守护进程。如果指定了 debug 子命令,您必须编辑 /etc/syslog.conf 文件并添加下列中的其中一项: 
  user.info FileName 
  OR 
  user.debug FileName 
  请注意: syslogd 守护进程调试级别包含信息级别消息。 
  如果不编辑 /etc/syslog.conf 文件,则不会产生消息。变更了 /etc/syslog.conf 文件之后,请运行 refresh -s syslogd 或 kill -1 SyslogdPID 命令,以通知 syslogd 守护进程其配置文件的变更。关于调试级别的更多信息,请参考 /etc/syslog.conf 文件。也请参考 ftp -d 标志。 
  delete RemoteFile 删除指定的远程文件。 
  dir [RemoteDirectory][LocalFile] 将所指定的远程目录的内容清单(RemoteDirectory) 写入指定的本地文件(LocalFile)。如果 RemoteDirectory 参数未指定,dir 子命令将列出当前远程目录的内容。如果 LocalFile 参数未指定或是一个 -(连字符),则 dir 子命令将显示本地终端上的清单。 
  disconnect 结束文件传送会话,但不退出 ftp 命令。已定义的宏已被擦除。与 close 子命令相同。 
  ebcdic type ebcdic 子命令的同义词。 
  exp_cmd 在常规的和试验性的协议命令中切换。其缺省值为关闭。 
  file struct file 子命令的同义词。 
  form [ carriage-control | non-print | telnet ] 指定文件传送的格式。form 子命令修改 type 子命令,以便按指示的格式发送文件传送。有效的参数为 carriage-control、non-print 和 telnet。 
  carriage-control 
  将文件传送格式设置为 carriage-control。 
  non-print 
  将文件传送格式设置为 non-print。 
  telnet 
  将文件传送格式设置为 Telnet。Telnet 是打开对系统的连接的传输控制协议/网间协议 (TCP/IP)。 
  get RemoteFile [LocalFile] 将远程文件拷贝到本地主机。如果 LocalFile 参数未指定,将在本地使用远程文件名,并由 case、ntrans 和 nmap 子命令生成的任何设置进行改变。 ftp 命令在传送文件时,将使用 type、form、mode 和 struct 子命令的当前设置。 
  glob 切换 mdelete、mget 和 mput 子命令的文件名拓展(文件名匹配替换)。如果文件名匹配替换禁用,这些子命令的文件名参数将不会拓展。启用了文件名匹配替换以及在期待单一文件名的子命令中使用了模式匹配字符时,结果可能与期待的不一样。 
  例如,append 和 put 子命令将拓展文件名,然后仅使用所生成第一个文件名。其它 ftp 子命令,如 cd、delete, get、mkdir、rename 和 rmdir 不会执行文件名拓展,并从字面上接受模式匹配字符。 
  mput 子命令的文件名匹配替换在本地执行,其方式与 csh 命令的方式一样。对于 mdelete 和 mget 子命令,每个文件名都是在远程机器上分别地进行扩展的,其清单也不会合并。根据远程主机和 ftp 服务器的不同,目录名的拓展可与文件名的拓展不一样。 
  要预览目录名的扩展请使用 mls 子命令。 
  mls RemoteFile 
  要传送文件的整个目录子树,请勿使用 mget 或 mput 子命令,而按二进制格式传送子树的 tar 压缩文档。 
  hash 切换散列符号 (#) 打印。当 hash 子命令是开启的时候ftp 命令会为每个所传送的数据块(1024 字节)显示一个散列符号。 
  help [子命令] 显示帮助信息。请参考 ? 子命令。 
  image type image 子命令的同义词。 
  lcd [Directory] 更改本地主机中的工作目录。如果您未指定目录,ftp 命令将使用主目录。 
  local M type local M 子命令的同义词。 
  ls [RemoteDirectory] [LocalFile] 请将远程目录缩写的文件清单写入本地文件。如果 RemoteDirectory 参数未指定,ftp 命令将列出当前远程目录。如果 LocalFile 参数未指定或是一个 -(连字符),则 ftp 命令将显示本地终端上的清单。 
  macdef Macro 定义子命令宏。随后直到空行的行(两个连续的换行)将作为宏的文本保存。能为所有宏定义多达 16 个宏,包含 4096 个字符。在重新定义或执行 close 子命令前,应将宏保持为已定义的宏。 
  $(美元符号)和 \ (反斜杠) 是 ftp 宏中的特殊字符。跟随一个或多个数字的 $ 符号将被调用行中对应的宏参数所替换(请参考 $ 子命令)。$ 符号后紧随字母 i 表示将要循环该宏,$i 字符组合将被每一传递中连续的字符替换。 
  第一个参数用于第一个传递,第二个参数用于第二个传递,依此类推。\ 符号会防止下一个字符的特殊处理。请使用 \ 符号关闭 $ 和 \.(反斜杠句点)符号的特殊意义。 
  mdelete RemoteFiles 扩展在远程主机上 RemoteFiles 参数所指定的文件,并删除远程文件。 
  mdir [RemoteDirectories LocalFile] 扩展在远程主机上 RemoteDirectories 参数所指定的目录,并将这些目录的内容清单写入在 LocalFile 参数中定义的文件。如果 RemoteDirectories 参数包含模式匹配字符,mdir 子命令将提示输入本地文件(如果没指定)。如果 RemoteDirectories 参数是用空格隔开的远程目录清单,则清单中最后一个参数必须是一个本地文件名或 -(连字符)。 
  如果 LocalFile 参数是 -(连字符),mdir 子命令将显示本地终端上的清单。如果交互式提示启用(请参考 prompt 子命令),ftp 命令将提示用户验证最后一个参数是本地文件且不是远程目录。 
  mget RemoteFiles 请扩展在远程主机上 RemoteFiles 参数,并将指示的远程文件拷贝到本地主机的当前目录中。请参考 glob 子命令,取得更多有关文件名扩展的信息。远程文件名在本地使用,并由 case、ntrans 和 nmap 子命令所生成的设置进行变更。在传送文件时,ftp 命令将使用 form、mode、struct 和 type 子命令的当前设置。 
  mkdir [RemoteDirectory] 创建在 RemoteDirectory 参数(远程主机中)中指定的目录。 
  mls [RemoteDirectories LocalFile] 扩展在远程主机上在 RemoteDirectories 参数中指定的目录,并将所指示的远程目录的缩写文件清单写入本地文件。如果 RemoteDirectories 参数包含模式匹配字符,mls 子命令将提示输入本地文件(如果没指定)。如果 RemoteDirectories 参数是用空格隔开的远程目录清单,则清单中最后一个参数应是一个本地文件名或 -(连字符)。 
  如果 LocalFile 参数是 -(连字符),mls 子命令将显示本地终端上的清单。如果交互式提示启用(请参考 prompt 子命令),ftp 命令将提示用户验证最后一个参数是本地文件且不是远程目录。 
  mode [ stream | block ] 设置文件传送方式。如果参数未提供,则缺省值为 stream。 
  block 
  请将文件传送方式设置为 block。 
  stream 
  将文件传送方式设置为 stream。 
  modtime 显示远程机器中所指定文件的最后修改时间。如果 ftp 命令未连接到执行前的主机,则 modtime 子命令将带错误消息而终止。ftp 命令忽略第一个参数以外的参数。如果 FileName 参数未指定,ftp 命令将提示输入文件名。如果未给出文件名,ftp 命令将把用法消息发送给标准输出,并终止该子命令。 
  如果远程主机中有 FileName 参数指定的名称,且该名称指定一个文件,则 ftp 命令将包含文件最后修改时间的消息发送给标准输出,并终止该子命令。如果 FileName 指定一个目录,则 ftp 命令将把错误消息发送给标准输出,并终止该子命令。 
  注意: modtime 子命令在允许的时候会解释元字符。 
  mput [LocalFiles] 扩展在主机的 LocalFiles 参数中指定的文件,并将指示的本地文件复制给远程主机。请参考 glob 子命令,取得更多有关文件名扩展的信息。本地文件名在远程主机中使用,并由 ntrans 和 nmap 子命令所生成的设置进行变更。 ftp 命令会在传送文件时,使用 type、form、mode 和 struct 子命令的当前设置。 
  nlist [RemoteDirectory][LocalFile] 将所指定的远程目录的内容清单(RemoteDirectory) 写入指定的本地文件(LocalFile)。如果 RemoteDirectory 参数未指定,nlist 子命令将列出当前远程目录的内容。如果 LocalFile 参数未指定或是一个 -(连字符),则 nlist 子命令将显示本地终端上的清单。 
  nmap 打开或关闭文件名映射机制。如果未指定任何参数,文件名映射将关闭。如果参数已指定,在没有指定目标文件名的时候,将为 mget 和 mput 子命令以及 get 和 put 子命令映射源文件名。此子命令在本地和远程主机使用不同的文件命名约定和惯例时很有用。映射下列由 InPattern 和 OutPattern 参数设置的模式。 
  InPattern 参数为传入的文件名指定了模板,该文件名有可能已根据 case 和 ntrans 设置处理过。可将从 $1 到 $9 的模板变量包含进 InPattern 参数。除 $(美元符号)和 \$ (反斜杠,美元符号)以外,InPattern 参数中的所有字符,都是按字面意义处理的,并用作 InPattern 变量之间的定界符。例如,如果 InPattern 参数是 $1.$2 且远程文件名是 mydata.dat,则 $1 的值是 mydata,$2 的值是 dat。 
  此 OutPattern 参数确定结果文件名。从 $1 到 $9 的变量将被它们从 InPattern 参数获得的值替换,而变量 $0 将由原文件名替换。另外,如果 Sequence1 不为空,序列 [Sequence1,Sequence2] 将由 Sequence1 替换;否则它将由 Sequence2 的值替换。例如,子命令: 
  nmap $1.$2.$3 [$1,$2].[$2,file] 
  会从 myfile.data 或 myfile.data.old 中产生 myfile.data,从 myfile 中产生 myfile.file,从 .myfile中产生myfile.myfile。请使用 \ (反斜杠) 符号防止 OutPattern参数中 $(美元符号)、[(左括号)、](右括号)和 ,(逗号)的特殊意义。 
  non-print form non-print 子命令的同义词。 
  ntrans ] 打开或关闭文件名字符翻译机制。如果未指定任何参数,字符翻译将关闭。如果参数已指定,在没有指定目标文件名的时候,将为 mget 和 mput 子命令以及 get 和 put 子命令翻译源文件名中的字符。 
  此子命令在本地和远程主机使用不同的文件名约定和惯例时很有用。字符翻译遵从 InCharacters 和 OutCharacters 参数设置的模式。匹配InCharacters 参数中字符的源文件名中的字符将由 OutCharacters 参数中对应的字符替换。 
  如果 InCharacters 参数指定的字符串比 OutCharacters 参数指定的字符串长,而且其在 OutCharacters 参数中无对应的字符,则 InCharacters 参数中的字符将被删除。 
  open HostName [Port] 在由 HostName 参数所指定主机中建立对 FTP 服务器的连接。如果可选的端口号已指定ftp 命令将尝试连接该端口中的服务器。如果已设置自动登录功能(即,该 -n 标志没有在命令行中指定), 则 ftp 命令就会试图让用户登录到 FTP 服务器。 
  您还必须拥有其中带有正确信息的 $HOME/.netrc 文件和正确的许可集。.netrc 文件应在您的主目录中。 
  passive 切换文件传送的被动方式。在被动方式关闭的情况下调用文件传送命令(如 get、mget 和 put,或 mput)时,ftp 服务器就会打开对客户机的数据连接。在被动方式下,客户机在发送和接收数据的时候打开对主机的数据连接。 
  private 请将保护级别设置为“private”。在此级别,数据的保护既完整而又机密。 
  prompt 切换交互式提示。如果交互式提示启用(缺省值)ftp 命令在检索、发送或删除文件(在 mget、mput, 和 mdelete)之前会提示进行验证操作。否则,ftp 命令会根据所有指定的文件来执行。 
  protect 此指令会返回保护的当前级别。 
  proxy [ 子命令] 在辅助控制连接中执行 ftp 命令。此子命令允许 ftp 子命令同时连接两个远程 FTP 服务器,以便在两个服务器之间传送文件。第一个 proxy 子命令应是建立次要控制连接的 open 子命令。请输入 proxy ? 子命令,查看其它在二级连接中可执行的 ftp 子命令。 
  下列子命令在由 proxy 子命令开头时的表现会不一样: 
  * open 子命令在自动登录过程中不定义新的宏。 
  * close 子命令不会擦除现存的宏定义。 
  * get 和 mget 子命令从主连接中的主机上将文件传送到二级连接的主机上。 
  * put、 mput 和 append 子命令从第二连接中的主机上将文件传送到主连接的主机上。 
  * restart 子命令可由 proxy 命令进行处理。 
  * status 子命令显示出准确的信息。 
  文件传送要求第二连接上的 FTP 服务器必须支持 PASV(passive)指令。 
  put LocalFile [RemoteFile] 将本地文件存储到远程主机中。如果您未指定 RemoteFile 参数,ftp 命令将使用本地文件名命名远程文件,而远程文件名由 ntrans 和 nmap 子命令所生成的设置加以改变。 ftp 命令会在传送文件时,将使用 type、form、mode 和 struct 子命令的当前设置。 
  pwd 显示远程主机中的当前目录名。 
  quit 关闭连接并退出 ftp 命令。与 bye 子命令相同。 
  quote 字符串 逐字地将由 String 参数指定的字符串发送到远程主机。执行remotehelp 或 quote help 子命令,显示 String 参数的有效值清单。 
  注意:涉及数据传输的“Quoting”命令会产生不可预见的结果。 
  record struct record 子命令的同义词。 
  recv RemoteFile [LocalFile] 请将远程文件拷贝到本地主机。与 get 子命令相同。 
  reinitialize 通过刷新所有 I/O 并允许完成传输操作来对 FTP 会话进行重新初始化。按照用户已开始 FTP 会话但未登录到远程主机的情况复位所有缺省值。 
  remotehelp [Subcommand] 请求从远程 FTP 服务器获得帮助。 
  rename FromName ToName 重新命名远程主机上的文件。 
  reset 清除回复队列。此子命令将使命令分析重新同步。 
  restart get | put | append 请在生成上一个检查点的位置重新启动文件传送。要想顺利运行,该子命令应与异常终止子命令相同,包括结构、类型和格式。有效参数为 get、put 和 append。 
  rmdir RemoteDirectory 除去由远程主机中的 RemoteDirectory 参数所指定的远程目录。 
  runique (ReceiveUnique) 在子命令 get 和 mget 期间,切换为本地目的文件创建唯一文件名称的功能。如果此功能为“关闭”状态(预设值),ftp 命令会覆盖本地文件。否则,如果本地文件名与为本地目的文件指定的名称相同,ftp 将使用.1 修改为本地目的文件指定的名称。如果本地文件已使用了新名称,ftp 将把后缀 .2 添加给所指定的名称。如果本地文件已使用了此第二个名称,则 ftp 命令会在找到唯一的文件名或未找到唯一文件名但到达 .99 之前继续增加后缀。如果 ftp 命令找不到唯一的文件名,ftp 会报告错误,传输过程也不会发生。请注意 runique 子命令不会影响从 shell 命令产生的本地文件名。 
  safe 将保护级别设置为“safe”。在此级别,数据的完整性会得到保护。 
  send LocalFile [RemoteFile] 将本地文件存储到远程主机中。其方式与 put 子命令相同。 
  sendport 切换对于 FTP PORT 指令的使用。根据预设,ftp 命令在为每个数据传输建立连接的时候会使用 PORT 指令。当禁用 PORT 指令时,ftp 不会在数据传输中使用 PORT 命令。PORT 指令在处理某些 FTP 服务器时很有用,那些服务器在未正确指示指令已被接受时会忽略 PORT 指令。 
  site Args 使用 chmod 命令显示或设置空闲超时周期、显示或设置文件创建 umask 或更改文件的许可权。Args 参数可能的值是 umask 和 chmod。 
  size RemoteFile 以字节的方式显示 RemoteFile 参数所指定的远程文件的大小。 
  status 显示 ftp 命令的当前状态以及子命令的状态。 
  stream mode stream 子命令的同义词。 
  struct [ file | record ] 设置数据传送结构类型。有效的参数为 file 和 record。 
  file 
  将数据传送结构类型设置为 file。 
  record 
  将数据传送结构类型设置为 record。 
  sunique (Send/Store Unique) 在子命令 put 和 mput 期间,切换为远程目的文件创建唯一文件名称的功能。如果此功能为“关闭”状态(预设值),ftp 命令会覆盖远程文件。否则,如果远程文件名与为远程目的文件指定的名称相同,远程 FTP 服务器会修改远程目的文件的名称。请注意远程服务器必须支持 STOU 指令。 
  系统 显示在远程机器上运行的操作系统类型。 
  telnet form telnet 子命令的同义词。 
  tenex type tenex 子命令的同义词。 
  跟踪 切换包跟踪。 
  type [ ascii | binary | ebcdic | image | local M | tenex ] 设置文件传送类型。有效参数是 ascii、binary、ebcdic、image,、local M 和 tenex。如果参数未指定,则当前类型被显示。缺省类型为 ascii;binary 类型可能会比 ascii 更有效。 
  ascii 
  将文件传送类型设置为网络 ASCII。此类型为缺省值。文件传送使用二进制映像传送可能会更有效。请参考 binary 参数,以取得更多信息。 
  binary 
  文件传送类型设置为二进制映像。此类型可能比 ASCII 传送更有效。 
  ebcdic 
  将文件传送类型设置为 EBCDIC。 
  image 
  将文件传送类型设置为二进制映像。此类型可能比 ASCII 传送更有效。 
  local M 
  将文件传送类型设置为本地。M 参数定义每计算机字位的十进制数。此参数没有缺省值。 
  tenex 
  将文件传送类型设置为 TENEX 机器需要的类型。 
  user User [Password] [Account] 识别远程 FTP 服务器的本地用户(User)。如果未指定 Password 或 Account 参数,而远程服务器需要它,则 ftp 命令会提示输入本地的密码和帐户。如果 Account 参数是必须的,则 ftp 命令会在远程登录过程完成后将它发送到远程服务器。 
  注意: 除非通过在命令行上指定 -n 标志来禁用自动登录,否则 ftp 命令将 User、Password和 Account 参数自动地发送给远程服务器用于初始连接。您亦需主目录中的 .netrc 文件以便发布自动登录。 
  verbose 切换详细方式。如果详细方式启用(缺省值),ftp 命令将显示远程 FTP 服务器的全部响应。另外, ftp 会在传输完成后显示所有文件传送的统计信息。 
   (6)示例  
  1. 要调用 ftp 命令,请登录 canopus 系统,显示本地帮助信息,显示远程帮助信息,显示状态,切换 bell、prompt、runique、trace 和 verbose 子命令,然后再退出,请输入: 
  $ ftp canopus 
  连接 canopus.austin.century.com. 
  220 canopus.austin.century.com FTP 服务器(4.1 版 1991年 11 月 23 日 周六 12:52:09 CST)就绪。 
  名称 (canopus:eric):dee 
  331 dee 所需要的密码。 
  密码: 
  230 用户 dee 登录。 
  ftp> 帮助 
  Commands 可能为缩写。命令: 
  ! delete mdelete proxy runique 
  $ debug mdir sendport send 
  account dir mget put size 
  append disconnect mkdir pwd status 
  ascii form mls quit struct 
  bell get mode quote sunique 
  binary glob modtime recv system 
  bye hash mput remotehelp tenex 
  case help nmap rstatus trace 
  cd image nlist rhelp type 
  cdup lcd ntrans rename user 
  close ls open reset verbose 
  cr macdef prompt rmdir ? 
  clear private protect safe 
  ftp> remotehelp 
  214 — 识别下列命令(* => 未实施)。 
  USER PORT RETR MSND* ALLO DELE SITE* XMKD CDUP 
  PASS PASV STOR MSOM* REST* CWD STAT* RMD XCUP 
  ACCT* TYPE APPE MSAM* RNFR XCWD HELP XRMD STOU 
  REIN* STRU MLFL* MRSQ* RNTO LIST NOOP PWD 
  QUIT MODE MAIL* MRCP* ABOR NLST MKD XPWD 
  AUTH ADAT PROT PBSZ MIC ENC CCC 
  214 将意见发送给 [email protected]。 
  ftp> 状态 
  连接 canopus.austin.century.com. 
  无代理连接。 
  方式:流;类型:ascii;表单:非打印的;结构:文件 
  详细: 开; Bell: 关; 提示:开; 文件名匹配替换: 开 
  存储唯一: 关; 接收唯一:关 
  Case: 关; CR stripping: 开 
  Ntrans: 关 
  Nmap: 关 
  散列标记打印:关;PORT cmds 的使用:开 
  ftp> bell 
  Bell 方式开启 
  ftp> 提示符 
  交互方式关闭。 
  ftp> runique 
  接收唯一开启。 
  ftp> trace 
  包跟踪开启。 
  ftp> verbose 
  详细方式关闭。 
  ftp> quit 
  $ 
  2. 要调用 ftp 命令,请登录 canopus 系统,打印工作目录,更改工作目录,将文件传送类型设定为 ASCII 向远程主机发送本地文件,将工作目录改为父目录,然后退出,请输入: 
  $ ftp canopus 
  连接 canopus.austin.century.com. 
  220 canopus.austin.century.com FTP 服务器(4.1 版 1991年 11 月 23 日 周六 12:52:09 CST)就绪。 
  名称 (canopus:eric):dee 
  331 dee 所需要的密码。 
  密码: 
  230 用户 dee 登入。 
  ftp> pwd 
  257 "/home/dee" 为当前目录。 
  ftp> cd 桌面 
  250 CWD 命令顺利完成。 
  ftp> 类型 ascii 
  200 类型设置为 A。 
  ftp> 发送 typescript 
  200 PORT 命令顺利完成。 
  150 为 typescript (128.114.4.99,1412) 打开数据连接。 
  226 传输完成。 
  ftp> cdup 
  250 CWD 命令顺利完成。 
  ftp> bye 
  221 再见。$ 
  3. 要调用具有自动登录功能的 ftp 命令(使用 .netrc 文件),请打开与 canopus 系统的会话,登入,将工作目录改为父目录,显示工作目录,列出当前目录的内容,删除文件,将当前目录的内容清单写入本地文件,关闭会话,然后退出,请输入: 
  $ ftp canopus 
  连接 canopus.austin.century.com. 
  220 canopus.austin.century.com FTP 服务器(4.1 版 1991年 11 月 23 日 周六 12:52:09 CST)就绪。 
  331 dee 所需要的密码。 
  230 用户 dee 登入。 
  ftp> cdup 
  250 CWD 命令顺利完成。 
  ftp> pwd 
  257 "/home" 是当前目录。 
  ftp> dir 
  200 PORT 命令顺利完成。 
  150 为 /usr/bin/ls (128.114.4.99,1407) 打开数据连接。 
  (0 字节)。 
  一共 104 
  drwxr-xr-x 2 system 32 Feb 23 17:55 bin 
  Drwxr-xr-x 26 rios 4000 May 30 17:18 bin1 
  drwxr-xr-x 2 system 32 Feb 23 17:55 books 
  drwxrwxrwx 18 rios 1152 Jun 5 13:41 dee 
  -r--r--r-- 1 system 9452 May 17 12:21 filesystems 
  drwxr-xr-x 2 system 32 Feb 23 17:55 jim 
  drwxr-xr-x 5 system 80 Feb 23 17:55 krs 
  drwxrwxrwx 2 rios 16432 Feb 23 17:36 lost+found 
  -rwxr-xr-x 1 rios 3651 May 24 16:45 oldmail 
  drwxr-xr-x 2 system 256 Feb 23 17:55 pubserv 
  drwxrwxrwx 2 system 144 Feb 23 17:55 rein989 
  drwxr-xr-x 2 system 112 Feb 23 17:55 reinstall 
  226 传输完成。 
  ftp> 删除旧邮件。 
  250 DELE 命令顺利完成。 
  ftp> mdir /home/dee/bin binlist 
  output to local-file: binlist? y 
  200 PORT 命令顺利完成。 
  150 为 /usr/bin/ls (128.114.4.99,1408)(0 字节)打开数据连接。 
  226 传输完成。 
  ftp> close 
  221 再见。 
  ftp> quit 
  $ 
   (7)文件  
  /usr/samples/tcpip/netrc 包含 .netrc 样本文件。 
  /etc/syslog.conf 包含 syslogd 守护进程的配置信息。 
  FTP 
  abbr. 
  File Transfer Protocol , 文件传送[输]协议 
  FTP 
  FTP 
  AHD:[µf”t¶-p¶“] 
  D.J.[7efti86pi8] 
  K.K.[7Wfti6pi] 
  n.(名词) 
  A communications protocol governing the transfer of files from one computer to another over a network. 
  文件传输协议:网络上一种管理文件传输的通讯协议 
  v.(动词) 
  FTPed,FTP.ing,FTPs 
  v.tr.(及物动词) 
  To transfer (a file) using FTP. 
  以文件传输协议传输(文件) 
  v.intr.(不及物动词) 
  To transfer a file using FTP. 
  以文件传输协议传输文件 
  F(ile) T(ransfer) P(rotocol) 
  F(ile) T(ransfer) P(rotocol) 
  FTP 
  =Fracture Transition Plastic【冶】韧性断裂转变温度 
  FTP 
  FTP 
  AHD:[µf”t¶-p¶“] 
  D.J.[7efti86pi8] 
  K.K.[7Wfti6pi] 
  n. 
  A communications protocol governing the transfer of files from one computer to another over a network. 
  v. 
  FTPed,FTP.ing,FTPs 
  v.tr. 
  To transfer (a file) using FTP. 
  v.intr. 
  To transfer a file using FTP. 
  F(ile) T(ransfer) P(rotocol) 

你可能感兴趣的:(网络)