FTP命令大全及使用2008-05-12 10:01 文件传输协议(File Transfer Protocol ,FTP)是一个被广泛应用的协议,它使得我们能够在网络上方便地传输文件。本文在主要介绍了FTP协议的基本命令及用户使用方法。掌握如何进行网页的上传和下载。能够在短时间内学会维护自己的个人主页。
注:(ftp命令对大小写是敏感的。as.Htm不等同于AS.htM)在使用dir,del,get,put中要注意。
网站建设的ftp命令的使用方法精选。
利用FTP自动传送文件
匿名FTP使用概述
FTP网络安全
基本命令
ftp的命令行格式为:ftp -v -d -i -n -g [主机名]
-v 显示远程的所有响应信息
-n 限制ftp的自动登录
-d 使用调试方式
-g 取消全局文件名
-i 多文件进行传输时,关闭交换提示
-s 指定一个文本文件,当ftp开通时自动运行其中的命令(该参数中不允许有空格)
-a 捆绑数据连接时使用任一本地接口
-w buffersize替代默认流量大小为4096缓冲器
-host 指定主机名或ip地址,去连接远程主机
举例说明ftp的命令行格式:
(1)桌面--开始--运行 输入:ftp mail.hz.zj.cn
成功显示:220 ProFTPD 12.4 Server(ProFTPD)[ip地址]
username: 张三
成功显示:331 Password required for 用户名
password: 123456
成功显示:230 User 用户名 logged in
进入ftp运行环境 在ms-dos方式下的ftp>
(2)桌面--程序--MS-DOS方式 在c:\windows\> 输入:ftp mail.hz.zj.cn
username: 张三 333
password: 123456
进入ftp运行环境 在ms-dos方式下的ftp>
ftp使用的内部命令如下:
?显示所有ftp命令表 ! delete literal prompt send
? debug ls put status
append dir mdelete pwd type
ascii disconnect mdir quit user
bell get mget quote verbose
binary glob mkdir recv
bye hash mls remotehelp
cd help mput rename
close lcd open rmdir
ftp使用的内部命令
! :在本地主机中执行交互方式,停止ftp,开始shell, exit回到ftp环境
例如:(1)ftp>! 结果为c:\windows\desktop>
(2)c:\windows\desktop>exit 结果为ftp>
?(同help):显示所有ftp命令表 如ftp>? dir 或ftp>?
append:将本地文件追加到远程系统主机;若未指定远程系统文件名,则使用本地文件名。
ascii:(缺省)把文件设置成ASCII文本文件,使用ascii类型传输方式。
bell(是/不):每个命令执行完毕后计算机响铃一次。
例如:(1)ftp>bell 显示结果:Bell mode on.
(2)ftp>bell 显示结果:Bell mode off.
binary:把文件设置成二进制文件,使用二进制类型文件传输方式。
bye:退出Ftp会话过程。
cd:进入远程主机目录,改变到指定的目录
例如:ftp>cd .. 退向根目录(cd后有空格)
ftp>cd path 进目录(目录名为path)
close:中断与远程主机的ftp会话(与open对应),但保留ftp
例如:ftp>close 显示:221 Goodbye
delete:删除远程主机文件
例如:ftp>del 111.htm(文件名)
debug(是/不):设置调试方式,显示发送至远程主机的每条命令,若为0,表示取消debug
例如:ftp>debug 显示:Debugging on.
ftp>debug 显示:Debugging off.
dir:显示远程主机目录,并将结果存入本地文件。
例如:ftp>dir 显示(当前目录所有文件名):
200 PORT command successful.
150 Opening ASCII mode data connection for file list.
drwxrwsr-x 2 2248 120 1024 Dec 18 11:25 ggg
- rw-r --r-- 1 2248 120 518 Dec 18 11:25 1.htm
226 Transfer complete.
ftp:185 bytes received in 0.66Seconds 0.28kbytes/sec.
权限 1文件2目录 字节大小 日期 文件名和目录名
(2)ftp>dir 1.htm(文件名,大小写敏感) 查找当前目录的单个文件。
大写的1.HTM 不等同于1.hTm
disconnection:同close
例如:ftp>dis 显示:221 Goodbye
get:将远程主机的文件传至本地硬盘,“下传”一个文件。
例如:ftp>get 1.htm d:\ggg\2.htm 下传文件一个文件。
说明:远程主机当前目录的1.htm文件,复制到本地d盘的ggg目录中,并且文件名改为2.htm
glob:设置mdelete,mget,mput的文件名扩展,缺省时不扩展文件名,同命令行的-g参数。
hash(是/不):每传送1024字节(一个数据块)显示一个hash符号(#)
help(同?):显示所有ftp内部命令的帮助信息。如:ftp>help command(一个命令)
例如:ftp>help 显示于?相同
ftp>help dir 显示:dir List contents of remote directory
lcd:将本地工作目录切换至dir.
例如:ftp>lcd 显示:local directory now c:\windows.
说明:ftp运行的当前目录是c:\windows
literal:传送任一Ftp命令
ls:显示远程目录,并存入本地文件
例如:ftp>ls
显示:200 PORT command successful.
150 Opening ASCII mode data connection for file list.
ggg
1.htm
226 Transfer complete.
ftp:20 bytes received in 0.00Seconds 20000.00kbytes/sec.
说明:ggg为目录名 1.htm为文件名
mdelete:删除远程主文件。
mdir:与dir类似,但可指定多个远程文件。
mget:传输多个远程文件。
例如:ftp>mget * 当前目录中的所有文件下传到c:\windows目录
mkdir:在远程主机中建立一目录。
例如:ftp>mkdir ggg 建目录ggg
mls:显示远程主机目录的清单并存入本地硬盘,可指定多个文件名。
mput:将多个文件传输至远程主机。
例如:ftp>mput d:\ggg\* 说明:将本地的D盘中的
open:与指定计算机建立连接,可指定连接端口。
例如:ftp>open 显示:to
to 键入 servername(mail.hz.zj.cn域名或ip地址) 显示:Connected to 域名
显示:222o ProFTPD 1.2.4 Server(ProFTPD)[ip地址]
或直接健入:open ftpservername(域名或ip地址) 显示:Connected to 域名
显示:222o ProFTPD 1.2.4 Server(ProFTPD)[ip地址]
user(域名:(none)):键入username(用户名)
显示:331 Password required for 用户名
password: 键入password(密码)
显示:230 User 用户名 Logged in.
prompt(是/不):设置多个文件传输时的交互提示。
例如:ftp>prompt 显示:Interactive mode off.
ftp>prompt 显示:Interactive mode on.
put:将本地文件传送至远程主机。
例如:ftp>put d:\1.htm 说明:将本地d盘的根目录中的1.htm文件上传到远程主机的当前目录中。
pwd:显示远程主机的当前工作目录。
例如:ftp>pwd 显示:257 "/" is current directory 根目录
ftp>pwd 显示:257 "/ggg" is current directory ggg目录中
quit:同bye,退出Ftp会话。
quote arg1,arg2,..:将参数逐字发至远程Ftp服务器。
recv:同get,将远程主机的文件传至本地硬盘。
remotehelp:请求获得远程主机的帮助。
rename:更改远程主机的文件名。
例如:ftp>ren 1.htm 4.txt 改文件名
rmdir:删除远程主机目录。
例如:ftp>rmdir ggg 说明:目录中必须没有文件。
send:同put,将本地文件传送至远程主机。
status:显示当前Ftp状态。
例如:ftp>sta
连接状态 显示:Connected to 域名
Type:ascii;verbose:On;Bell:off;Prompting:On;Globbing:On;
Debugging:off;Hash mark printing:off.
断开状态 显示:Not Connected.
Type:ascii;verbose:On;Bell:off;Prompting:On;Globbing:On;
Debugging:off;Hash mark printing:off.
trace:设置包跟踪。
type:设置文件传输类型为type-name,缺省为ascii
user:向远程主机表明自已身份,需要口令时,必须输入口令。
例如:ftp>user root(用户名) 123456(密码)
ftp>user anonymous(匿名用户) (密码)
verbose:同命令行-v参数,即设置详尽报告方式,ftp服务器的所有响应都将显示给用户,缺省为on。
网站建设的ftp命令的使用方法精选。
ftp>? (同help) 查命令
ftp>pwd 查当前目录
ftp>dir 查目录与文件
ftp>ls 查文件
ftp>cd .. 退向根目录(cd后有空格)
ftp>cd ggg 进目录
ftp>mkdir ggg 建目录
ftp>rmdir ggg 删除空目录
ftp>put d:\name\1.htm 上传
ftp>get 1.htm d:\name\2.htm 改名下传文件
ftp>del 1.htm 删除文件分大小写a.htm不等同A.HTM
ftp>ren 1.htm 2.txt 改文件名
ftp>put index.htm d:\ggg\default.htm 改名传文件
先输以下三个命令就可多个文件一起上传,下传。可以用mput,mget.mdel
ftp>prompt
ftp>hash 当目录传送时,显示#####
ftp>bin
只需把状态设置为Prompting:off
ftp>mput d:\ggg\* 传送d盘的ggg目录下所有文件
ftp>mget * 下传到c:\windows目录
ftp>mdel * 删除当前目录下的所有文件
ftp>dis
ftp>bye 保留ftp,断开ftp服务器连接。
ftp>quit 退出
利用FTP自动传送文件
我们可以利用FTP在两台计算机之间传送文件。要传送文件,你必须首先启动FTP程序,然后输入FTP命令进行文件传送。例如在Windows下,单击“开始”/运行,输入FTP即可启动FTP程序,然后你便可以输入各种FTP命令进行操作,假如你不想手工输入命令来传送文件,可以使用以下自动传送的方法。
一、Windows下自动传送文件的方法
1.先建立一个文本文件,文件名可以是任意名,例如autosend.txt,其内容如下:
open /*远端FTP服务器地址或名(例如)*/
NAME /*用户名(例如NAME)*/
PASSWORD /*用户密码(例如PASSWORD)*/
binary /*以二进制传送文件,可选项*/
cd PATHNAME /*进入远程目标路径(例如PATHNAME)*/
get REMOTE_FILE LOCAL_FILE /*把远程文件REMOTE_FILE下载成本地文件LOCAL_ FILE*/
put LOCAL_FILE REMOTE_FILE /*将本地文件LOCAL_FILE上传成远程文件REMOTE_ FILE */
quit /*退出ftp应用*/
2.执行以下命令:
ftp -s:autosend.txt
即可自动执行autosend.txt中的一系列FTP命令,这样便能完成文件的自动传送。
二、UNIX下自动传送文件方法
以下关于UNIX的两种方法在Linux和FreeBSD下通过,其他UNIX下的可能有些稍为不同。
1.要传送的文件名是静态的方法
(1)建立一个文本文件,例如文件名是autosend.txt,其内容如下:
open /*用open连接远程服务器 */
user NAME PASSWORD /*NAME是用户名,PASSWORD是密码*/
binary /*以二进制传送*/
hash /*当有数据传送时,显示#号*/
cd PATHNAME /*进入远程目标路径PATHNAME*/
get REMOTE_FILE LOCAL_FILE /*把远程文件REMOTE_FILE下载成本地文件LOCAL_ FILE*/
put LOCAL_FILE REMOTE_FILE /*将本地文件LOCAL_FILE上传成远程文件REMOTE_ FILE */
quit /*退出ftp应用*/
(2)执行命令:
cat autosend.txt | ftp -n
2.要传送的文件名是动态的方法
假设文件名是由月份和日期组成的,文件名每天都会改变,我们以这种情况来说明传送文件的方法。
(1)建立脚本文件autosend.sh
#!/bin/sh
MM=`date "+%m"` /*取月份*/
DD=`date "+%d"` /*取日期*/
pre_filename="LIHO" /*设定文件名前缀前部分*/
filename="${pre_filename}${MM}${DD}.tgz"
echo "open
user NAME PASSWORD
binary
hash
cd PATHNAME
get ${filename} ${filename}
quit
"| ftp -n
(2)将脚本赋有运行权后,执行脚本
chmod +x autosend.sh
sh autosend.sh (或./autosend.sh)