Linux访问远程FTP服务器并下载文件

一、安装ftp客户端工具

yum -y install ftp

二、客户端连接ftp服务器

格式:ftp  ip-address 
a)在linux命令行下输入:ftp 192.168.1.110 
b)服务器询问你用户名和口令,分别输入用户名和相应密码,待认证通过即可。 
三、上传下载文件

1、下载文件

下载文件通常用get和mget这两条命令。
a) get 
格式:get [remote-file] [local-file]
将文件从远端主机中传送至本地主机中.
如要获取服务器上e:\rose\1.bmp,则
ftp> get /rose/1.bmp 1.bmp (回车)

b) mget      
格式:mget [remote-files]
从远端主机接收一批文件至本地主机.
如要获取服务器上e:\rose\下的所有文件,则
ftp> cd /rose
ftp> mget *.* (回车)

备注:

①文件都下载到了linux 主机的当前目录下。比如,在 /home/ftp下运行的ftp命令,则文件都下载到了/home/ftp 下。
②如果想制定下载路径,需要在ftp用到 lcd 命令

2、上传文件

a) put
格式:put local-file [remote-file]
将本地一个文件传送至远端主机中.
如要把本地的1.bmp传送到远端主机e:\rose,并改名为333.bmp
ftp> put 1.bmp /rose/333.bmp (回车)

b) mput
格式:mput local-files
将本地主机中一批文件传送至远端主机.
如要把本地当前目录下所有bmp文件上传到服务器e:\rose 下
ftp> cd /rose (回车)
ftp> mput *.bmp (回车)

备注:

上传文件都来自于主机的当前目录下。比如,在 /home/test下运行的ftp命令,则只有在/home/test下的文件linux才会 上传到服务器e:\rose 下。

3、断开连接

bye:中断与服务器的连接。
ftp> bye (回车)  #或者用exit(回车)

四、shell脚本下载

######说明######
#!/bin/sh
ftp -v -n ftp.address.com  <<EOF //访问FTP服务器
user username password   //输入账户名和密码
cd /rose                 //进入FTP下载目录
lcd /home/test           //本地目录
mget *                   //下载FTP目录下所有文件
y                        // 确认下载
bye
EOF



######示例######
#!/bin/sh
#source dircotry
src="/home/ftp"
yestoday_date=$(date "+%Y%m%d"  -d "1 days ago")
[ ! -d ${src}/${yestoday_date} ] && mkdir ${src}/${yestoday_date} -p

ftp -v -n ftp.address.com << EOF 
user username password
cd ${yestoday_date}
lcd ${src}/${yestoday_date}
mget *
y
exit

EOF

备注:

报错bad interpreter: No such file or directory
解决办法:
执行vim filename
执行 :set ff
若是doc格式强制转换为Unix格式,执行 :set ff=unix,保存退出再次运行即可

文章来源:https://www.cnaaa.net,转载请注明出处:https://www.cnaaa.net/archives/9978

(0)
凯影的头像凯影
上一篇 2023年11月7日 下午3:50
下一篇 2023年11月8日 下午5:21

相关推荐

  • CentOS 添加(永久)静态路由的方法总结

    一、使用 route 命令加入临时路由,重启后将失效 route 命令参数: 二、在 Linux 中添加永久路由的方法 1. 默认网关 (1)写入 ifcfg 文件(推荐) vi /etc/sysconfig/network-scripts/ifcfg-eth0 在配置 ip 地址的时候直接将 GATEWAY 的配置写入 ifcfg 文件。形式:GATEWA…

    2023年9月5日
    1.5K00
  • 解决crond引发大量sendmail、postdrop进程导致内存使用过大问题

    现象:客户反馈机器卡顿,上面只运行了一个宝塔,疑似中了木马 分析过程:top发现内存使用过高,ps -aux发现大量postdrop、sendmail、crond进程,而postdrop是由sendmail启动的,sendmail是由crond启动的。 crond在执行脚本时会将脚本输出信息以邮件的形式发送给系统用户,所以必然要调用sendmail,而sen…

    2022年12月6日
    2.2K00
  • zookeeper动态扩缩容(无需重启)

    前言: zookeeper动态扩/缩容的reconfig命令旨在不需要重启zookeeper中任何一个节点的情况下,对整个zookeeper集群进行动态扩/缩容。 zookeeper客户端支持的命令: 在实际验证中发现一些细节问题,先记录如下: 1、如果整个zk集群只有一个zk节点(即serverId只有它本身),这时默认运行的是单机模式,如果需要运行在集群…

    2024年2月22日
    1.6K00
  • 指定端口被system程序占用解决方法

    一:查看指定端口占用PID 根据PID在进程中我们找到被system的进程占用 二:解决指定端口被占用

    2023年10月18日
    1.8K00
  • Windows中删除注册表中的IP地址

    在运行窗口输入regedit,打开注册表 找到目录:HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters\Interfaces ,此文件下就是电脑的IP地址,删除相应文件即可

    2022年7月28日
    2.7K00

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

在线咨询: QQ交谈

邮件:712342017@qq.com

工作时间:周一至周五,8:30-17:30,节假日休息

关注微信