FTP命令详解的思路梳理
FTP命令行与图形界面的FTP工具的异同:
相同: 都可以通过FTP协议完成文件的收发操作
不同: 命令行工具系统自带, 随时随地完成任务; 而图形界面则需要安装或携带一个绿色的软件, 好一点漂亮点的软件则需要占用过多的系统资源. 而且你还要准备一个鼠标.
总之, 不同的人有不同的需求, 因人而异, 没好没坏. 小编只是分享自己的所学所得, 如果对各位条友有用, 可以收藏备参. 不需要的条友就当路过打打酱油吧. 小编在此都表示感激大家的光临, 谢谢大家的友好的关注与支持!
1、Ftp的概述(简单的说几句肺话):
FTP(File Transfer Protocol)是指文件传输协议,是Internet上使用非常广泛的一种通讯手段,它是为Internet用户进行文件传输而制定的。
我们可以通过界面化的专门连接Ftp服务器的工具,或是在cmd模式下连接上Ftp主机,实现文件的上传、下传的文件,但是它并没有过多的权利,无法在远程电脑(即Ftp服务器)上执行上传的文件。
2、Ftp的连接方式:
(1)利用界面化的FTP连接软件进行连接.如CuteFtp、FlashFtp、LeapFtp, FileZilla等
客户端登录
客户端登录成功
(2)在网页模式下进行连接.格式为ftp://xxx.xxx.xxx.xxx:开放的Ftp端口号
网页登录 FTP 的方式
网页登录FTP成功
(3)在cmd命令行模式下进行连接.格式为ftp xxx.xxx.xxx.xxx (此连接方式要求使用默认端口21)或先输入ftp回车,然后输入open xxx.xxx.xxx.xxx 开放的Ftp端口号
CMD登录FTP
显页易见, 前两种访问方式对于普通用户是比较方面实用的, 但是对于一些需要远程且最少资源操作的用户来说, 命令行则是最佳首选. 即使不用客户端, 使用浏览器访问, 那么 Linux下非图形界面咋办, 而且浏览器占用内存资源可不比QQ低, 打开几个页面都占了几百MB的内存了.
Chrome浏览占用的内存资源
Chrome浏览器在业界算是优化的比较好用的浏览器了, 尚且如此, 所以建议条友们学以备用吧.
3、Ftp常用命令介绍(在命令提示符下进行)
1>.(!): 在本机中执行交互shell,执行exit命令可以返回ftp环境.
惊叹号用于切换本地与远程
从远程返回本地
2>.(?): 同help命令,显示帮助信息.
查看帮助信息
3>.(append): 将本地文件追加到远程系统主机,若未指定远程系统文件名,则使用本地文件名.
命令格式: append 本地文件名 [远程保存文件名]
append命令操作
4>.(ascii): 使用ascii类型传输方式.
ASCII传输模式说明
5>.(bell): 每个命令执行完毕后计算机响铃一次.
古代常用的一个功能
注意: 输入一次可以开启bell模式,再次输入则可以关闭!
6>.(binary): 设置文件传输方式为二进制(类似于ascii 模式的操作).
7>.(bye): 退出ftp命令模式.同quit命令.(就是退到FTP命令并断开连接, 退出命令模式是跟close的区别)
8.(cd): 切换目录.
命令格式: cd 远程目录
CD命令操作
9>.(close):中断与远程服务器的ftp会话(与open对应).
注意与bye和quit命令的区别, close和diconnect只是断开FTP连接不退出命令模
注意:执行close命令后,不会退出到ftp命令行模式!
10>.(delete):删除远程主机文件.
命令格式: delete 远程文件名
delete命令删除远程文件
11>.(debug):设置调试方式,显示发送至远程主机的每条命令.
注意:输入一次debug命令可以开此启模式,再次输入则可以关闭!
debug调示模式开关
12>.(dir): 显示远程主机目录,和ls命令有相同处.
命令格式: dir 远程目录 本地文件名 (可以把ftp主机上的目录里的列表情况保存至本地)
不一样的 dir命令
dir命令执行结果
13>.(disconnect): 中断与远程服务器的ftp会话.同close命令.
14>.(get): 从远程主机上下载文件到本地.
命令格式: get 远程文件名 本地文件名
使用get命令下载文件到本地
get命令下载的结果验证
15>.(hash):每传输2048字节,显示一个hash符号"#".
hash 打印标记的演示
16>.(help):同"?"命令,显示帮助信息.
17>.(lcd):显示当前本地计算机的目录.
lcd 命令, 又到了路径的相对与绝对的区别
连接FTP前的当前路径
服务端的根目录的说明, 根目录就是共享文件夹所在目录, / 这个符号在linux系统中就是根目录.
绝对路径和相对路径
18>.(ls):显示远程主机目录,但不如dir命令显示的信息更加详细.
命令格式: ls 远程文件名 本地文件名
(注意:这个ls 的功能与dir的功能类似, 都可以将服务端的当前目录中的文件列表信息写入到本地的一个文件中去. 只是没有 dir 命令返回的信息详细.)
19>.(mdelete):同时删除远程主机多个文件, 需要用户进行确认.
命令格式:mdelete 远程文件名1 远程文件名2 ...(前提FTP服务端提供了修改权限)
mdelete 批量删除服务端上的文件
20>.(open): 建立指定ftp服务器连接,可指定连接端口.
命令格式: open 远程主机 端口号(如果是默认21的端口号,则不需要指定, open指令上面都有操作演示的哦)
21>.(prompt): 设置对多个文件操作时的交互提示,可以取消m打头命令的确认过程,进行自动确认.
prompt 交互模式开关
交互状态关闭后的效果
22>.(put): 将本地文件传送至远程主机
(与 get 命令是相对的, get是下载到本地, put是下上传到服务端).
命令格式: put 本地文件名 远程文件名
本地上传文件到服务端
上传成功
23>.(pwd): 列出当前远端主机目录(参考上面的操作中, 已有的演示).
pwd 显示当前所在路径
24>.(quit): 同bye,退出ftp命令行.
四种退出FTP的方式
25>.(recv): 同get命令(会一个get就够了,咱不废脑细胞了).
26>.(remotehelp): 远程帮助,和本地帮助信息有一定区别().
remotehelp
27>.(rename): 更改远程主机文件名.
命令格式: rename 想要更改的文件名 更改后的文件名
重命名服务端的文件
28>.(rmdir): 删除远程主机目录.
命令格式: rmdir 远程目录名
rmdir的使用
29>.(send): 同put命令.
send 与 put 功能相同
30>.(status): 显示当前ftp状态.
查看ftp的当前命令状态
类型: 即传送模式是 ASCII
详细:即 verbose是打开的, 显示ftp服务器的所有响应
铃声: 即 bell 是关闭状态
提示: 即 prompt 交互是开的, 删除每个文件都要确认
通配:指 FTP 命令支持通配符
调试: 即 debug 信息
哈希标记: 即 hash 标记, 每传送2048个字节就打印一个 "#" 符号
31>.(type): 设置(改变)文件传输类型,默认文件传输类型为ascii.
命令格式: type 文件传输类型(如ascii,binary), 这个小编极少用到, 直接执行 ascii 或 binary就可以了
32>.(user): 远程主机超时需要重新输入用户名和密码或重新以别的用户名登录远端主机时要用到此命令.
命令格式: user 用户名 密码(这个真没有用过, 想演示测试也没有成功, help user 也没有详细的参数, 百度也无解, 有兴趣的条码可以自己玩玩看.)
33>.(verbose): 设置详尽报告方式,ftp服务器的所有响应都将显示给用户,默认为开启状态.
详细信息开关 verbose
参考资料:
这临末了, 我从一个cnblogs上搜到一篇详细的FTP命令, 密密麻麻的一坨, 有兴趣的可以看看:
以下是摘自一篇cnblogs的文章内容共大家参考:
https://www.cnblogs.com/mingforyou/p/4103022.html
FTP命令是Internet用户使用最频繁的命令之一,不论是在DOS还是UNIX操作系统下使用FTP,都会遇到大量的FTP内部命令。熟悉并灵活应用FTP的内部命令,可以大大方便使用者,并收到事半功倍之效。
FTP的命令行格式为:ftp -v -d -i -n -g [主机名],其中
-v显示远程服务器的所有响应信息;
-n限制ftp的自动登录,即不使用;
n etrc文件;
-d使用调试方式;
-g取消全局文件名。
ftp使用的内部命令如下(中括号表示可选项):
1. ![cmd[args]]:在本地机中执行交互shell,exit回到ftp环境,如:!ls *.zip.
2. $ macro-ame[args]:执行宏定义macro-name.
3. account[password]:提供登录远程系统成功后访问系统资源所需的补充口令。
4. append local-file[remote-file]:将本地文件追加到远程系统主机,若未指定远程系统文件名,则使用本地文件名。
5. ascii:使用ascii类型传输方式。
6. bell:每个命令执行完毕后计算机响铃一次。
7. bin:使用二进制文件传输方式。
8. bye:退出ftp会话过程。
9. case:在使用mget时,将远程主机文件名中的大写转为小写字母。
10. cd remote-dir:进入远程主机目录。
11. cdup:进入远程主机目录的父目录。
12. chmod mode file-name:将远程主机文件file-name的存取方式设置为mode,如:chmod 777 a.out (这不是Linux下的操作方式吗)。
13. close:中断与远程服务器的ftp会话(与open对应)。
14. cr:使用asscii方式传输文件时,将回车换行转换为回行。
15. delete remote-file:删除远程主机文件。
16. debug[debug-value]:设置调试方式,显示发送至远程主机的每条命令,如:deb up 3,若设为0,表示取消debug。
17. dir[remote-dir][local-file]:显示远程主机目录,并将结果存入本地文件local-file。
18. disconnection:同close。
19. form format:将文件传输方式设置为format,缺省为file方式。
20. get remote-file[local-file]:将远程主机的文件remote-file传至本地硬盘的local-file。
21. glob:设置mdelete,mget,mput的文件名扩展,缺省时不扩展文件名,同命令行的-g参数。
22. hash:每传输1024字节,显示一个hash符号(#)(这个跟我上面讲的矛盾了, 有兴趣可以验证下)。
23. help[cmd]:显示ftp内部命令cmd的帮助信息,如:help get。
24. idle[seconds]:将远程服务器的休眠计时器设为[seconds]秒。
25. image:设置二进制传输方式(同binary)。
26. lcd[dir]:将本地工作目录切换至dir。
27. ls[remote-dir][local-file]:显示远程目录remote-dir,并存入本地文件local-file。
28. macdef macro-name:定义一个宏,遇到macdef下的空行时,宏定义结束。
29. mdelete[remote-file]:删除远程主机文件。
30. mdir remote-files local-file:与dir类似,但可指定多个远程文件,如:mdir *.o.*.zipoutfile
31. mget remote-files:传输多个远程文件。
32. mkdir dir-name:在远程主机中建一目录。
33. mls remote-file local-file:同nlist,但可指定多个文件名。
34. mode[modename]:将文件传输方式设置为modename,缺省为stream方式。
35. modtime file-name:显示远程主机文件的最后修改时间。
36. mput local-file:将多个文件传输至远程主机。
37. newer file-name:如果远程机中file-name的修改时间比本地硬盘同名文件的时间更近,则重传该文件。
38. nlist[remote-dir][local-file]:显示远程主机目录的文件清单,并存入本地硬盘的local-file。
39. nmap[inpattern outpattern]:设置文件名映射机制,使得文件传输时,文件中的某些字符相互转换,
如:nmap $1.$2.$3[$1,$2].[$2,$3],则传输文件a1.a2.a3时,文件名变为a1,a2。该命令特别适用于远程主机为非UNIX机的情况。
40. ntrans[inchars[outchars]]:设置文件名字符的翻译机制,如ntrans 1R,则文件名LLL将变为RRR。
41. open host[ port]:建立指定ftp服务器连接,可指定连接端口。
42. passive:进入被动传输方式。
43. prompt:设置多个文件传输时的交互提示。
44. proxy ftp-cmd:在次要控制连接中,执行一条ftp命令,该命令允许连接两个ftp服务器,以在两个服务器间传输文件。第一条ftp命令必须为open,以首先建立两个服务器间的连接。
45. put local-file[remote-file]:将本地文件local-file传送至远程主机。
46. pwd:显示远程主机的当前工作目录。
47. quit:同bye,退出ftp会话。
48. quote arg1,arg2...:将参数逐字发至远程ftp服务器,如:quote syst.
49. recv remote-file[local-file]:同get。
50. reget remote-file[local-file]:类似于get,但若local-file存在,则从上次传输中断处续传。
51. rhelp[cmd-name]:请求获得远程主机的帮助。
52. rstatus[file-name]:若未指定文件名,则显示远程主机的状态,否则显示文件状态。
53. rename[from][to]:更改远程主机文件名。
54. reset:清除回答队列。
55. restart marker:从指定的标志marker处,重新开始get或put,如:restart 130。
56. rmdir dir-name:删除远程主机空目录。
57. runique:设置文件名唯一性存储,若文件存在,则在原文件后加后缀..1,.2等。
58. send local-file[remote-file]:同put。
59. sendport:设置PORT命令的使用。
60. site arg1,arg2...:将参数作为SITE命令逐字发送至远程ftp主机。
61. size file-name:显示远程主机文件大小,如:site idle 7200。
62. status:显示当前ftp状态。
63. struct[struct-name]:将文件传输结构设置为struct-name,缺省时使用stream结构。
64. sunique:将远程主机文件名存储设置为唯一(与runique对应)。
65. system:显示远程主机的操作系统类型。
66. tenex:将文件传输类型设置为TENEX机的所需的类型。
67. tick:设置传输时的字节计数器。
68. trace:设置包跟踪。
69. type[type-name]:设置文件传输类型为type-name,缺省为ascii,如:type binary,设置二进制传输方式。
70. umask[newmask]:将远程服务器的缺省umask设置为newmask,如:umask 3。
71. user user-name[password][account]:向远程主机表明自己的身份,需要口令时,必须输入口令,
如:user anonymous my@email。
72. verbose:同命令行的-v参数,即设置详尽报告方式,ftp服务器的所有响应都将显示给用户,缺省为on.
73. ?[cmd]:同help。
假设FTP地址为“ 61.129.83.39”(大家试验的时候可以自己百度个mini型的FTP服务器工具玩一玩)
1:“开始”-“运行”-输入“FTP”进去cmd界面
2.open 61.129.83.39
如果你的FTP服务器不是用的21默认端口,假如端口是9900,那么此步的命令应在后面空格加9900,即为 open 61.129.83.39 9900
3:它会提示输入用户名 username
4: 它会提示你输入密码:password
注意密码不显示出来,打完密码后回车即可。如果你的密码输入错误,将不会提示你重新输入,这时你只要键入“user”命令,你就可以重新输入用户名和密码。
5:成功登陆后就可以用dir查看命令查看FTP服务器中的文件及目录,用ls命令只可以查看文件。
6:使用cd 命令转目录,delete删文件,用法跟DOS差不多。呵呵!!
7:lcd d:dianying 定位本地默认文件夹(本人理解这里的L是local当地英文的缩写,很好理解和记忆)
8:下面就是上传和下载文件的命令了,上传用put 文件名.下载用get 文件名
当然下载到当前目录了,就是上面定义的"d:dianying"
9:最后就退出了
用bye命令。
ftp [-v][-d][-i][-n][-g][-s:FileName][-a][-w:WindowSize][-A][Host]
参数
-v
禁止显示 FTP 服务器响应。
/d
启用调试、显示在 FTP 客户端和 FTP 服务器之间传递的所有命令。
-i
传送多个文件时禁用交互提示。
-n
在建立初始连接后禁止自动登录功能。
-g
禁用文件名组合。Glob 允许使用星号 (*) 和问号 (?) 作为本地文件和路径名
的通配符字符。
-s:filename
指定包含 ftp 命令的文本文件。这些命令在启动 ftp 后自动运行。该参数不
允许带有空格。使用该参数而不是重定向 (<)。
-a
指定绑定 FTP 数据连接时可以使用任何本地接口。
-w:windowsize
指定传输缓冲的大小。默认窗口大小为 4096 字节。
-A
匿名登录到 FTP 服务器。
Host
指定要连接的计算机名、IP 地址或 FTP 服务器的 IPv6 地址。如果指定了主
机名或地址,则其必须是命令行的最后一个参数。
/?
在命令提示符下显示帮助。
常用命令:
1. open:与ftp服务器相连接;
2. send(put):上传文件;
3. get:下载文件;
4. mget:下载多个文件;
5. cd:切换目录;