Linux FTP数据传输
FTP服务器(File Transfer Protocol Server)是在互联网上提供文件存储和访问服务的计算机,它们依照FTP协议提供服务。 FTP是File Transfer Protocol(文件传输协议)。顾名思义,就是专门用来传输文件的协议。简单地说,支持FTP协议的服务器就是FTP服务器。
常用命令
连接ftp服务器
语法
ftp [hostname | ip-address]
样例
ftp 192.168.1.1
服务器询问用户名和密码,分别输入用户名和相应密码,认证通过后进入下一步
get单个文件下载
语法
get [remote-file] [local-file]
样例
将FTP服务器 /home/tabu/123.txt 文件下载至本地服务器中
ftp> get /home/tabu/123.txt 123.txt
mget批量文件下载
语法
mget [remote-files]
样例
将FTP服务器 /home/tabu/ 目录下所有文件下载至本地服务器中
ftp> cd /home/tabu/
ftp> mget *.*
此时每下载一个文件,都会有提示。如果要除掉提示,则在mget . 命令前先执行:prompt off
注意:文件默认下载到了Linux服务器的当前目录下。比如,在/home/tabu/ftp/
下运行的ftp命令,则文件都下载到了/home/tabu/ftp/
目录下。
put单个文件上传
语法
put [local-file] [remote-file]
样例
将本地服务器123.txt 文件上传至FTP服务器 /home/tabu/ 目录中
ftp> put 123.txt /home/tabu/123.txt
mput批量文件上传
语法
mput [local-files]
样例
将本地服务器 /home/tabu/ftp/ 目录下所有文件上传至FTP服务器 /home/tabu/ 目录
ftp> cd /home/tabu/ftp/
ftp> mput *.*
注意:上传文件来自于本地服务器的当前目录文件。比如,在 /home/tabu/ftp/
下运行的ftp命令,则只有在 /home/tabu/ftp/
下的文件才会上传到FTP服务器的指定目录中。
断开连接
ftp> bye (回车)
语法
ftp [选项] [参数]
ftp [-v] [-d] [–i] [-n] [-g] [-k realm] [-x] [-u] [host]
选项
选项 | 说明 |
---|---|
-d | 启动调试模式:详细显示指令执行过程,便于排错或分析程序执行的情况 |
-e | 不记录历史指令 |
-g | 关闭本地主机文件名称支持特殊字符的扩充特性 |
-i | 关闭交互模式,不询问任何问题 |
-n | 关闭自动登录 |
-p | 传输文件模式为被动模式 |
-u | 关闭自动认证 |
-v | 显示指令执行过程 |
-x | 在成功认证之后,协商密钥 |
参数
参数 | 说明 |
---|---|
help command |
输出命令的解释:command 指定需要帮助的命令名称。如果没有指定 command ,ftp 将显示全部命令的列表。 |
? command |
同上:help |
remotehelp command |
同上:help |
pwd | 显示当前目录 |
dir | 显示当前目录 |
mdir | 显示目录文件和子目录列表 |
ls | 显示当前目录 |
mls | 显示当前目录和子目录的缩写列表 |
size file_name |
显示文件大小 |
modtime file-name |
显示文件的最后修改时间 |
mkdir dir_name |
创建目录 |
chmod | 修改文件权限 |
rename old_name new_name |
重命名文件 |
cd dir_name |
切换目录,若没有追加目录,则切换至当前用户的home 目录,同linux的cd |
lcd dir_name |
同上 |
cdup | 切换到上一级目录,同linux的cd .. |
type type-name |
设置数据传送类型,如果没有指定type-name 将显示当前类型;默认设置为:ascii |
type ascii | 切换数据传送类型为ascii ,一般用作文本 |
type binary | 切换数据传送类型为binary ,一般用作图像 |
type image | 同上:binary |
bell | 切换响铃以在每个文件传送命令完成后响铃;默认不响铃 |
glob | 切换文件名组合。组合允许在内部文件或路径名中使用通配符* 和? ;默认打开 |
hash | 每传输1024字节,显示一个hash符号(#);默认关闭 |
literal | 格式:literal argument [...]。将参数逐字发送到远程FTP服务器,返回单个回复代码;argument 指定要发送到 FTP服务器的参数 |
quote | 同上:literal |
prompt | 切换多文件传输时的交互提示:mget &mput &mdelete 等操作文件时提示有选择的操作文件;默认打开 |
tenex | 将文件传输类型设置为tenex机所需的类型 |
verbose | 切换verbose 模式,显示所有 ftp 响应,在文件传送完成后,将同时显示与传送效率有关的统计信息;默认打开 |
macdef | 定义一个宏,遇到macdef 下的空行时,宏定义结束 |
newer file-name |
下载时,检测是不是新文件,如果文件的修改时间比本地服务器同名文件的时间更近,则重传该文件 |
get remote-file local-file |
下载一个文件 |
recv remote-file local-file |
同上:get |
reget remote-file local-file |
类似于get ,但若local-file 存在,则从上次传输中断处续传。 |
mget remote-files |
下载多个文件 |
case | 当为on 时,用mget 命令下载的文件名,全部转换为小写字母 |
put local-file remote-file |
上传一个文件 |
send local-file remote-file |
同上:put |
mput file_names |
上传多个文件 |
delete file_name |
删除一个文件 |
mdelete remote-files |
删除多个文件 |
rmdir directory-name |
删除目录 |
open host port |
重新建立一个新的连接 |
user user-name password account |
重新以别的用户名登录FTP服务器。user-name :指定登录到远程计算机所使用的用户名。password :指定 user-name 的密码。如果没有指定,但必须指定,ftp会提示输入密码。account :指定登录到远程计算机所使用的帐户。如果没有指定account,但是需要指定,ftp会提示您输入帐户。 |
user | 向FTP服务器发送用户信息(登录信息) |
status | 显示当前FTP服务器状态 |
trace | 切换数据包跟踪:trace 在运行ftp命令时显示每个数据包的路由。 |
system | 显示FTP服务器操作系统类型 |
debug | 切换为debug模式:每个命令都会打印,前面是字符串> ;默认关闭 |
nlistremote-dir local-file |
显示远程主机目录的文件清单,并存入本地硬盘的local-file |
nmap inpattern outpattern |
设置文件名映射机制,使得文件传输时,文件中的某些字符相互转换,如:nmap $1.$2.$3[$1,$2].[$2,$3] ,则传输文件a1.a2.a3时,文件名变为a1,a2。该命令特别适用于远程主机为非UNIX机的情况 |
ntransinchars[outchars] |
设置文件名字符的翻译机制,如ntrans 1R,则文件名LLL将变为RRR |
prompt | 设置多个文件传输时的交互提示 |
proxy ftp-cmd | 在次要控制连接中,执行一条ftp命令,该命令允许连接两个ftp服务器,以在两个服务器间传输文件。第一条ftp命令必须为open,以首先建立两个服务器间的连接 |
reset | 清除回答队列 |
restart marker | 从指定的标志marker处,重新开始get或put,如:restart 130 |
runique | 设置文件名唯一性存储,若文件存在,则在原文件后加后缀..1,.2等 |
sendport | 设置PORT命令的使用 |
site arg1,arg2… | 将参数作为SITE命令逐字发送至远程ftp主机 |
size file-name | 显示远程主机文件大小,如:site idle 7200 |
struct struct-name |
将文件传输结构设置为struct-name,缺省时使用stream结构 |
sunique | 将远程主机文件名存储设置为唯一(与runique对应) |
tenex | 将文件传输类型设置为TENEX机的所需的类型 |
tick | 设置传输时的字节计数器 |
umask newmask |
将远程服务器的缺省umask设置为newmask,如:umask 3 |
disconnect | 终止ftp会话,保留 ftp 提示 |
disconnection | 终止ftp会话并退出 |
close | 终止ftp会话并退出 |
bye | 终止ftp会话并退出 |
quit | 终止ftp会话并退出 |
! | 终止ftp会话并退出 |