windows、linux通过ftp从ftp服务器上传和下载

时间:2022-04-16 03:04:28

最近需要用到文件的上传和下载,查看我们使用的系统,,发现有一个进程为t_ftpd,怀疑其为一个ftp的守护进程,于是想要用ftp的方式实现。

在windows上使用bat脚本的方式实现:

首先写一个bat脚本:

download.bat

@echo off ftp -s:E:\Sylixos\SylixOS_Qt\build-TCWareWigget-Desktop_Qt_5_7_1_MinGW_32bit-Debug\debug\ftp\ftp.txt

这样就会调用ftp.txt文件

ftp.txt

open 10.1.26.11 root root
ascii prompt off lcd E:\Sylixos\SylixOS_Qt\build
-TCWareWigget-Desktop_Qt_5_7_1_MinGW_32bit-Debug\debug\download cd /apps/goahead get auth.txt close bye quit

这样就实现了文件的下载。

这里详细说明一下

@echo off 关闭回显

ftp -s:$
PATH ftp命令

open 10.1.26.11 建立指定ftp服务器连接,可指定连接端口

binary
设置文件传输模式为binary,缺省为ascii。binary模式不会对数据进行任何处理,ascii模式会将回车换行

   转换为本机的回车字符。关于binary和ascii传输模

prompt off 下载 prompt on 上传

lcd local-dir:将本地工作目录切换至local-dir(注意windows路径和linux路径的区别)

cd remote-dir:进入远程主机目录remote-dir

mget *.gz 批量下载gz结尾文件 mput *.gz 批量上传gz结尾文件 我这里批量测试始终失败,不知什么原因,最后选择单个文件下载上传

close 中断与远程服务器的ftp会话

bye 退出ftp会话过程

 quit 退出

同理类似得到linux下的shell脚本:

#!/bin/bash ftp -niv <<- EOF open 10.1.26.11 user root root ascii cd /apps/goahead lcd ./ prompt off get auth.txt close bye EOF

至此,通过windows脚本,linux脚本从ftp服务器上传和下载文件完成,通过测试。
 

windows、linux通过ftp从ftp服务器上传和下载