此时情绪此时天,无事小神仙
好好生活,平平淡淡每一天

编辑

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会话并退出
posted @ 2021-04-12 18:01  踏步  阅读(5397)  评论(0编辑  收藏  举报