- -n不受.netrc文件的影响。(ftp默认为读取.netrc文件中的设定)
- !是即时文件的标志它必须成对出现,以标识即时文件的开始和结尾
- binary-设置文件传输类型为binary(二进制传输)
- prompt-开关交互提示(默认为ON)
- close-结束FTP会话并返回命令行
- quit-结束FTP会话并退出FTP(功能通bye)
- mget-复制一个或多个远程文件至本地
- get-复制单个远程文件到本地
- put-复制一个本地文件到远程
- mput-复制一个或多个本地文件到远程
- hash-Toggleshash-sign(#)printingforeachdatablocktransferred(default=OFF)为每个缓冲区传输切换打印“#”(哈希标记打印)
- #####从ftp服务器上的/home/data到本地的/home/databackup####
- #!/bin/bash
- ftp
- -n<<!
- open192.168.1.171
- userguest123456
- binary
- cd/home/data
- lcd/home/databackup
- prompt
- mget*
- close
- bye
- !
- ####本地的/home/databackuptoftp服务器上的/home/data####
- #!/bin/bash
- ftp
- -n<<!
- open192.168.1.171
- userguest123456
- binary
- hash
- cd/home/data
- lcd/home/databackup
- prompt
- mput*
- close
- bye
- !
- ####ftp服务器上下载/home/data/a.shtolocal/home/databackup####
- #!/bin/bash
- ftp
- -n<<!
- open192.168.1.171
- userguest123456
- binary
- cd/home/data
- lcd/home/databackup
- prompt
- geta.sha.sh
- close
- bye
- !
- ####把本地/home/databachup/a.shupftp/home/databackup下####
- #!/bin/bash
- ftp
- -n<<!
- open192.168.1.171
- userguest123456
- binary
- cd/home/data
- lcd/home/databackup
- prompt
- puta.sha.sh
- close
- bye
- !
5.python登陆ftp并下载
- ftp登陆连接
- fromftplibimportFTP#加载ftp模块
- ftp=FTP()#设置变量
- ftp.set_debuglevel(2)#打开调试级别2,显示详细信息
- ftp.connect("IP","port")#连接的ftpsever和端口
- ftp.login("user","password")#连接的用户名,密码
- printftp.getwelcome()#打印出欢迎信息
- ftp.cmd("xxx/xxx")#进入远程目录
- bufsize=1024#设置的缓冲区大小
- filename="filename.txt"#需要下载的文件
- file_handle=open(filename,"wb").write#以写模式在本地打开文件
- ftp.retrbinaly("RETRfilename.txt",file_handle,bufsize)#接收服务器上文件并写入本地文件
- ftp.set_debuglevel(0)#关闭调试模式
- ftp.quit()#退出ftp
- ftp相关命令操作
- ftp.cwd(pathname)#设置FTP当前操作的路径
- ftp.dir()#显示目录下所有目录信息
- ftp.nlst()#获取目录下的文件
- ftp.mkd(pathname)#新建远程目录
- ftp.pwd()#返回当前所在位置
- ftp.rmd(dirname)#删除远程目录
- ftp.delete(filename)#删除远程文件
- ftp.rename(fromname,toname)#将fromname修改名称为toname。
- ftp.storbinaly("STORfilename.txt",file_handel,bufsize)#上传目标文件
- ftp.retrbinary("RETRfilename.txt",bufsize)#下载FTP文件
登陆ftp查看文件
- #!/usr/bin/envpython
- #_*_coding:utf8_*_
- importftplib
- #fromftplibimportFTP
- ftp=ftplib.FTP("123.56.1.1")
- ftp.login("user","passwd")
- data=[]
- ftp.cwd("hxy/tmp")
- ftp.dir(data.append)
- ftp.quit()
- forlineindata:
- print(line)
- #coding:utf-8
- fromftplibimportFTP
- importtime
- importtarfile
- #!/usr/bin/python
- #-*-coding:utf-8-*-
- fromftplibimportFTP
- defftpconnect(host,username,password):
- ftp=FTP()
- #ftp.set_debuglevel(2)#打开调试级别2,显示详细信息
- ftp.connect(host,21)#连接
- ftp.login(username,password)#登录,如果匿名登录则用空串代替即可
- returnftp
- defdownloadfile(ftp,remotepath,localpath):
- bufsize=1024#设置缓冲块大小
- fp=open(localpath,'wb')#以写模式在本地打开文件
- ftp.retrbinary('RETR'+remotepath,fp.write,bufsize)#接收服务器上文件并写入本地文件
- ftp.set_debuglevel(0)#关闭调试
- fp.close()#关闭文件
- defuploadfile(ftp,localpath):
- bufsize=1024
- fp=open(localpath,'rb')
- ftp.storbinary('STOR'+remotepath,fp,bufsize)#上传文件
- ftp.set_debuglevel(0)
- fp.close()
- if__name__=="__main__":
- ftp=ftpconnect("******","***","***")
- downloadfile(ftp,"***")
- uploadfile(ftp,"***")
- ftp.quit()
本文参考:
http://www.cnblogs.com/kaituorensheng/p/4480512.html