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端口和客户端开放的端口连接,发送数据,原理如下图:

 Linux命令之ftp详解程序员

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

 Linux命令之ftp详解程序员

参考: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

 

原创文章,作者:Maggie-Hunter,如若转载,请注明出处:https://blog.ytso.com/2891.html

(0)
上一篇 2021年7月16日
下一篇 2021年7月16日

相关推荐

发表回复

登录后才能评论