FTP命令详解

ftp的命令行格式为:ftp -v -d -i -n -g [主机名]
其中-v 显示远程服务器的所有响应信息。-n 限制ftp的自动登录(即不使用 .netrc文件)。-d 使用调试方式。-g 取消全局文件名。
以下按字母顺序列出各FTP内部命令的功能及其用法(中括号表示可选项):

![command[args]]
在本地机中执行交互shell,用exit可回到ftp环境,例如 !ls *.zip

$ macro-ame[args]
执行宏定义macro-name

account [password]
提供登录远程系统成功后访问系统资源所需的补充口令。

append local-file[remote-file]
将本地文件追加到远程主机,若未指定远程系统文件名,则使用本地文件名。

ascii: 设定以ASCII方式传送文件(是缺省值)

bell: 每完成一次文件传送,响铃一次报警提示。

binary: 设定以二进制方式传送文件。

bye: 终止主机FTP进程,并退出FTP管理方式。

case: 当为ON时,用mget命令拷贝的文件名到本地机器中,全部转换为小写字母。

cd remote-dir
改变远程主机目录路径。

cdup: 返回上一级目录,即进入远程主机目录的父目录。

chmod mode file-name
改变远端主机的文件权限,将远程主机文件file-name的存取方式设置为mode。

close: 终止远端的FTP进程,返回到FTP命令状态,所有的宏定义都被删除。

cr:使用ascii方式传输文件时,将回车换行转换为回行。

delete remote-file
删除远程主机文件。

debug [debug-value]
设置调试方式,显示发送至远程主机的每条命令,若设为0,表示取消debug。

disconnection:作用与close相同。

dir [remote-directory] [local-file]
列出当前远端主机目录中的文件,如果有本地文件,就将结果写至本地文件。

form format
将文件传输方式设置为format,缺省为file方式。

get [remote-file] [local-file]
将远程主机的文件remote-file传至本地硬盘的local-file。

help [command]
显示ftp内部命令command的帮助信息。

idle [seconds]
将远程服务器的休眠计时器设为[seconds]秒。

image:设置二进制传输方式(同binary用法)。lcd[dir]将本地工作目录切换至dir。

lcd [dir]
改变当前本地主机的工作目录,如果缺省,就转到当前用户的HOME目录。

ls [remote-directory] [local-file]
作用与dir相同。

macdef macro-name
定义一个宏,遇到macdef下的空行时,宏定义结束。

mdelete [remote-files]
删除一批文件。

mdir remote-files local-file
与dir类似,但可指定多个远程文件。

mget [remote-files]
从远程主机接收一批文件至本地主机。

mkdir directory-name
在远程主机中建立目录。

mls remote-file local-file
同nlist,但可指定多个文件名。

mode [modename]
将文件传输方式设置为modename,缺省为stream方式。

mput local-files
将本地主机中一批文件传送至远程主机。

newer file-name
如果远程机中file-name的修改时间比本地硬盘同名文件的时间更近,则重传该文件。

nlist [remote-dir] [local-file]
显示远程主机目录的文件清单,并存入本地硬盘的local-file。

nmap [inpattern outpattern]
设置文件名映射机制,使得文件传输时,文件中的某些字符相互转换,如nmap$1. $2.$3[$1,$2].[$2,$ 3],则传输文件a1.a2.a3时,文件名变为a1,a2。该命令特别适用于远程主机为非UNIX的情况。

ntrans [inchars[outchars]]
设置文件名字符的翻译机制,如ntrans 1R,则文件名LLL将变为RRR.

open host [port]
建立一个新的ftp连接,可指定连接端口。

passive:进入被动传输方式。

prompt: 交互提示模式。

proxy ftp-command
在次要控制连接中,执行一条ftp命令,该命令允许连接两个ftp服务器,以在两个服务器间传输文件。第一条ftp命令必须为open,以首先建立两个服务器间的连接。

put local-file [remote-file]
将本地一个文件传送至远程主机中。

pwd: 列出当前远程主机目录。

quit: 作用与bye相同。

quote arg1,arg2...
将参数逐字发至远程ftp服务器。

recv remote-file [local-file]
作用与get相同。

reget remote-file [local-file]
类似于get,但若local-file存在,则从上次传输中断处续传。

rhelp [cmd-name]
请求获得远程主机的帮助。

rstatus [file-name]

若未指定文件名,则显示远程主机的状态,否则显示文件状态。

rename [from] [to]
改变远端主机中的文件名。

reset:清除回答队列。

restart marker
从指定的标志marker处,重新开始get或put,如restart 130。

rmdir directory-name
删除远程主机中的目录。

runique:设置文件名唯一性存储,若文件存在,则在原文件后加后缀.1,.2等。

send local-file [remote-file]
作用与put相同。

sendport:设置PORT命令的使用。

site arg1,arg2...
将参数作为SITE命令逐字发送至远程ftp主机。

size file-name
显示远程主机文件大小,如site idle 7200。

status: 显示当前FTP的状态。

struct [struct-name]
将文件传输结构设置为struct-name,缺省时使用stream结构。

sunique:将远程主机文件名存储设置为唯一(与runique对应)。

system:显示远程主机的操作系统类型。

tenex:将文件传输类型设置为TENEX机的所需的类型。

tick:设置传输时的字节计数器。

trace:设置包跟踪。

type [type-name]
设置文件传输类型为type-name,缺省为ascii,如type binary,则设为二进制传输方式。

umask [newmask]
将远程服务器的缺省umask设置为newmask,如 umask 3。

user user-name [password] [account]
向远程主机表明自己的身份,需要口令时,必须输入口令,如user anonymous
verbose:同命令行的-v参数,即设置详尽报告方式,ftp服务器的所有响应都将显示给用户,缺省为on。

user user-name [password] [account]
重新以别的用户名登录远端主机。

?: 作用与help相同。