设为首页收藏本站

ZMX - IT技术交流论坛 - 无限Perfect,追求梦想 - itzmx.com

 找回密码
 注册论坛

QQ登录

只需一步,快速开始

新浪微博账号登陆

只需一步,快速开始

用百度帐号登录

只需两步,快速登录

搜索
查看: 5700|回复: 1

Linux下SSH用FTP命令上传文件详解,使用Shell脚本实现ftp的自动上传下载,手动测试

[复制链接]
 成长值: 354

签到天数: 4743 天

[LV.Master]伴坛终老

发表于 2016/2/8 18:09 | 显示全部楼层 |阅读模式 |Google Chrome 48.0.2564.103|Windows 8.1
天涯海角搜一下: 百度 谷歌 360 搜狗 有道 雅虎 必应 即刻
下面我以Linux下SSH用FTP命令上传文件至另一个FTP空间为实例给大家介绍ssh用ftp命令上传文件的一些实例方法。
如果没有ftp 提示: -bash: ftp: command not found
请先安装ftp应用程序: yum -y install ftp

#ftp 127.0.0.1 21 输入远程空间的FTP IP和端口号,回车
然后根据提示输入用户名和密码即可!

ftp>lcd 本地工作目录
ftp>cd 远程目录
ftp>binary 采用二进制传输
ftp> tick 开启传输时的字节计数器,再执行一次即可关闭
ftp>mput 文件
FTP> bye(或by) 结束和远程电脑的linux中ftp命令参数会话并退出linux中ftp命令参数。
FTP> cd 更改远程电脑上的工作目录。
FTP> get 使用当前文档转换类型将远程文档复制到本地电脑。
格式:get remote-file [local-file]
FTP >lcd 更改本地电脑上的工作目录。默认情况下,工作目录是启动linux中ftp命令参数的目录。
格式:lcd [directory]
FTP >ls 显示远程目录文档和子目录的缩写列表。
FTP >mdelete 删除远程电脑上的文档。
格式:mdelete remote-files [ ...]
说明:remote-files 指定要删除的远程文档。
FTP >mdir 显示远程目录文档和子目录列表。能够使用 mdir 指定多个文档。
格式:mdir remote-files [ ...] local-file
说明:remote-files 指定要查看列表的目录。必须指定 remote-files。请键入 – 使用远程电脑上的当前工作目录。

1、连接ftp服务器
格式:ftp [hostname | ip-address]
a)在linux命令行下输入:ftp www.boluo.org
b)服务器询问你用户名和口令,分别输入用户名和相应密码,待认证通过即可。

2、下载文件
下载文件通常用get和mget这两条命令:
a) get 格式:get [remote-file] [local-file]
将文件从远端主机中传送至本地主机中.
如要获取服务器上/ftp/1.rar,则
ftp> get /ftp/1.rar 1.rar (回车)
b) mget 格式:mget [remote-files]
从远端主机接收一批文件至本地主机.
如要获取服务器上/ftp下的所有文件,则
ftp> cd /ftp
ftp> mget *.* (回车)
注意:文件都下载到了linux主机的当前目录下。

3、上传文件
a) put 格式:put local-file [remote-file]
将本地一个文件传送至远端主机中.
如要把本地的1.zip传送到远端主机/ftp,并改名为1.rar
ftp> put 1.zip /ftp1.rar (回车)
b) mput 格式:mput local-files
将本地主机中一批文件传送至远端主机.
如要把本地当前目录下所有rar文件上传到服务器/ftp 下
ftp> cd /ftp (回车)
ftp> mput *.rar (回车)

4、断开连接
bye:中断与服务器的连接。


1. ftp自动登录批量下载文件。
#####从ftp服务器上的/home/data 到 本地的/home/databackup####
#!/bin/bash
ftp -n<<!
open 192.168.1.171 21
user guest 123456
binary
cd /home/data
lcd /home/databackup
prompt
mget *
close
bye
!


2. ftp自动登录上传文件。
####本地的/home/databackup to ftp服务器上的/home/data####
#!/bin/bash
ftp -n<<!
open 192.168.1.171 21
user guest 123456
binary
hash
cd /home/data
lcd /home/databackup
prompt
mput *
close
bye
!


3. ftp自动登录下载单个文件。
####ftp服务器上下载/home/data/a.sh to local /home/databackup####
#!/bin/bash
ftp -n<<!
open 192.168.1.171 21
user guest 123456
binary
cd /home/data
lcd /home/databackup
prompt
get a.sh a.sh
close
bye
!


4. ftp自动登录上传单个文件。
####把本地/home/databachup/a.sh up ftp /home/data 下####
#!/bin/bash
ftp -n<<!
open 192.168.1.171 21
user guest 123456
binary
cd /home/data
lcd /home/databackup
prompt
put a.sh a.sh
close
bye
!



小结:把以上脚本另存为文件加入到crontab中即可实现ftp自动上传、下载文件。
注解:
1. -n 不受.netrc文件的影响。(ftp默认为读取.netrc文件中的设定)
2. << 是使用即时文件重定向输入。
3. !是即时文件的标志它必须成对出现,以标识即时文件的开始和结尾。

欢迎光临IT技术交流论坛:http://bbs.itzmx.com/
回复

使用道具 举报

签到天数: 1167 天

[LV.10]以坛为家III

发表于 2016/2/9 00:33 | 显示全部楼层 |Google Chrome 27.0.1453.93|Windows XP
大年初二帮顶·~·
欢迎光临IT技术交流论坛:http://bbs.itzmx.com/
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册论坛 新浪微博账号登陆用百度帐号登录

本版积分规则

手机版|Archiver|Mail me|网站地图|IT技术交流论坛 ( 闽ICP备13013206号-7 )

GMT+8, 2024/12/29 09:16 , Processed in 0.102308 second(s), 24 queries , MemCache On.

Powered by itzmx! X3.4

© 2011- sakura

快速回复 返回顶部 返回列表