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

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

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

首先写一个bat脚本:

download.bat

@echo off
ftp -s:E:SylixosSylixOS_Qtuild-TCWareWigget-Desktop_Qt_5_7_1_MinGW_32bit-Debugdebugftpftp.txt

这样就会调用ftp.txt文件

ftp.txt

open 10.1.26.11
root
root
ascii prompt off lcd E:SylixosSylixOS_Qtuild
-TCWareWigget-Desktop_Qt_5_7_1_MinGW_32bit-Debugdebugdownload 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服务器上传和下载文件完成,通过测试。
 
原文地址:https://www.cnblogs.com/wanzaiyimeng/p/7101470.html