1. 使用.netrc文件
在自己的home目录下建立一个权限600,名为.netrc的文件,内容是:machine 192.168.1.1 login test password test其中192.168.1.1为服务器的ip或主机名,test为服务器的一个帐号,后一个test为密码。这样以后你每次ftp 192.168.1.1的时候,系统都会帮你以用户名test,密码test登录。
2. 在脚本中写ftp命令
ftp -n<<!open 192.168.1.171user guest 123456 *用户名 和密码binary *设置传输方式cd /home/datalcd /home/databackupprompt 关闭自动交互mget *closebye!
3. 使用命令文件
FTP服务器IP地址为10.30.15.3,需进行文件传输的目录为C:\data,登录用户名为Anonymous,口令为123456。从本机到对方机接收文件操作方法如下。
第一步,先新建一个文本:
Open 10.31.15.3
User anonymous
123456
Cd data
Prompt
Mget *.*
Bye
Quit
Exit
将该文本保存为1.ftp存放到C盘根目录。该文件只要扩展名为ftp,前缀可任意取名。目录也不一定要在根目录,主要以方便为主。文本中Bin为用二进制码格式传输文件,如用ASCII码格式传输文件可去掉该行。如为本机向对方机发送文件,则只要将文本中的Mget替换成Mput即可。这之后,再新建另一个文本:
ftp –n –s:”c:/1.ftp”
4. 使用expect等脚本
说明:使用了expect,参数为ftp服务器地址和要下载的文件名参数:lindex $argv 0 读取ftp服务器ip地址 lindex $argv 1 读取要下载的文件名编辑:#vi ftp.shspawn ftp [lindex $argv 0]expect "Name (*):"send "anonymous/r"expect "Password:*"send "/r"expect "ftp>"send "binary/r"expect "ftp>"send "hash/r"expect "ftp>"send "get [lindex $argv 1]/r"expect "* Transfer complete."send "exit/r"执行方法:expect ftp.sh 服务器ip地址 文件名称 (expect ftp.sh 192.168.0.1 filename.txt )