windows、linux通過ftp從ftp服務器上傳和下載


最近需要用到文件的上傳和下載,查看我們使用的系統,發現有一個進程為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服務器上傳和下載文件完成,通過測試。
 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM