ftp上传下载记录

原创 2017年07月31日 16:14:01

1,准备ftp环境

下载最新的ftp客户端:https://filezilla-project.org/ftp/001.png,选择linux下面的版本,如002.png所示:


在window10下面下载,使用wget http://sourceforge.net/projects/filezilla/files/FileZilla_Client/3.26.1/FileZilla_3.26.1_i586-linux-gnu.tar.bz2在linux命令行里面下载。
解压缩,tar -xvf FileZilla_3.26.1_i586-linux-gnu.tar.bz2

安装ftp: yum install vsftpd -y
启动:service vsftpd start

尝试ftp命令,报错
[root@hch_test_dbm1_121_62 bin]# ftp
-bash: ftp: command not found
[root@hch_test_dbm1_121_62 bin]#

直接下载ftp安装包 wget http://mirror.centos.org/centos/6/os/x86_64/Packages/ftp-0.17-54.el6.x86_64.rpm
然后安装
[root@hch_test_dbm1_121_62 soft]# rpm -ivh ftp-0.17-54.el6.x86_64.rpm 
Preparing...                ########################################### [100%]
   1:ftp                    ########################################### [100%]
[root@hch_test_dbm1_121_62 soft]# 

安装报错libc.so.6 is needed by ftp-0.17-35.el5.i386
去安装rpm –Uvh http://mirror.centos.org/centos/6/os/x86_64/Packages/glibc-2.12-1.132.el6.x86_64.rpm

尝试ftp操作
[root@hch_test_dbm1_121_62 soft]# ftp
ftp> 



2,自动登录下载

#!/bin/bash
ftp -n<<!
open 120.132.27.91 10000
user downdata RakudespuH3bAk+ruy
binary
cd up
lcd /home/mysql/binlogs
prompt
mget mysql-bin*
close
bye
!



3,自动登录上传

#本地的/home/databackup to ftp服务器上的/home/data####
#!/bin/bash
ftp -n<<!
open 192.168.1.171
user guest 123456
binary
hash
cd /home/data
lcd /home/databackup
prompt
mput *
close
bye
!



4,涉及的技巧

#!/bin/bash
#提取文件名,删除后缀。

file_name="text.gif"
name=${file_name%.*}
echo file name is: $name

输出结果:
file name is: test


从右边到左边的匹配操作 :% 和 %% 操作符的示例
[root@hch_test_dbm1_121_62 load_binlog]# filename=mysql-bin.000110.zip
[root@hch_test_dbm1_121_62 load_binlog]# name=${filename%.*}
[root@hch_test_dbm1_121_62 load_binlog]# echo $name
mysql-bin.000110
[root@hch_test_dbm1_121_62 load_binlog]# 

看到输出结果是没有.zip的文件名mysql-bin.000110

------------------------------------------------
有些脚本要根据文件名进行各种处理,有时候需要保留文件名抛弃文件后缀,也有时候需要文件后缀不要文件名,这类提取文件部分的操作使用shell的内建功能就能实现。需要用到的几个操作符有:%、%%、#、##。

从右向左匹配 :% 和 %% 操作符的示例

#!/bin/bash
#提取文件名,删除后缀。

file_name="text.gif"
name=${file_name%.*}
echo file name is: $name

输出结果:
file name is: test

# ${VAR%.* }含义:从$VAR中删除位于 % 右侧的通配符左右匹配的字符串,通配符从右向左进行匹配。现在给变量 name 赋值,name=text.gif,那么通配符从右向左就会匹配到 .gif,所有从 $VAR 中删除匹配结果。
# % 属于非贪婪操作符,他是从左右向左匹配最短结果;%% 属于贪婪操作符,会从右向左匹配符合条件的最长字符串。

file_name="text.gif.bak.2012"
name=${file_name%.*}
name2=${file_name%%.*}
echo file name is: $name
echo file name is: $name2

输出结果:
file name is: test.gif.bak    //使用 %
file name is: test            //使用 %%

操作符 %% 使用 .* 从右向左贪婪匹配到 .gif.bak.2012
从左向右匹配:# 和 ## 操作符示例

#!/bin/bash
#提取后缀,删除文件名。

file_name="text.gif"
suffix=${file_name#*.}
echo suffix is: $suffix

输出结果:
suffix is: gif

# ${VAR#*.} 含义:从 $VAR 中删除位于 # 右侧的通配符所匹配的字符串,通配符是左向右进行匹配。
# 跟 % 一样,# 也有贪婪操作符 ## 。

file_name="text.gif.bak.2012.txt"
suffix=${file_name#*.}
suffix2=${file_name##*.}
echo suffix is: $suffix
echo suffix is: $suffix2

输出结果:
suffix is: text.gif.bak.2012     //使用 #
suffix2 is: txt                  //使用 ##

操作符 ## 使用 *. 从左向右贪婪匹配到 text.gif.bak.2012
示例2,定义变量 url="www.1987.name"

echo ${url%.*}      #移除 .* 所匹配的最右边的内容。
www.1987
echo ${url%%.*}     #将从右边开始一直匹配到最左边的 *. 移除,贪婪操作符。
www
echo ${url#*.}      #移除 *. 所有匹配的最左边的内容。
1987.name
echo ${url##*.}     #将从左边开始一直匹配到最右边的 *. 移除,贪婪操作符。
name


ftp操作记录

最近手头有一个case需要通过ftp方式下载文件修改,再回传ftp服务器,记录一二 lftp命令登陆 lftp 用户名:密码@ip 21 set -a #查看所有变量 set ftp:passive...
  • u011750989
  • u011750989
  • 2016年07月28日 19:17
  • 1972

curl命令之ftp上传实例

curl命令之ftp上传实例
  • hellochenlian
  • hellochenlian
  • 2015年02月28日 16:25
  • 2630

FTP学习笔记

FTP使用客户服务器方式,大致工作流程如下: 1、客户端通过TCP三次握手与服务器的21端口建立控制连接 2、服务器对客户端进行身份验证,授予客户端相应的操作权限 3、客户端请求数据传输建立数据连接 ...
  • wustzjf
  • wustzjf
  • 2015年09月19日 22:54
  • 1343

通过ftp采集文件的性能总结

通过ftp采集文件的性能总结 1,简介 在数据采集的过程中,使用excel或csv的格式将数据上传到服务器上,再通过Java的文件操作和流操作,获取上传文件的信息,最后通过CSVReader读取上传的...
  • weibin_6388
  • weibin_6388
  • 2016年02月01日 09:20
  • 2001

Java中通过FTP上传和下载

一个JAVA实现FTP功能的代码,包括了服务器的设置模块,并包括有上传文件至FTP的通用方法、下载文件的通用方法以及删除文件、在ftp服务器上穿件文件夹、检测文件夹是否存在等,里面的有些代码对编写JA...
  • qq_22260641
  • qq_22260641
  • 2017年04月26日 09:24
  • 1578

一个Ftp上传下载的简单例子

unit Unit1;interfaceuses  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,...
  • formiss
  • formiss
  • 2007年04月16日 10:06
  • 1970

使用MFC对FTP文件或者文件夹进行下载、断点续传等功能的个人理解

函数功能:VS2010 —— MFC —— 基于对话框 —— 输入ftp服务器数据、本地下载路径 —— 连接后显示ftp服务器文件情况在列表控件上,有操作功能 从ftp服务器下载指定文件或文件夹到指定...
  • aspirine0421
  • aspirine0421
  • 2017年04月14日 15:12
  • 1383

数据集汇总

图形图像处理: 1. CIFAR-10 & CIFAR-100     CIFAR-10包含10个类别,50,000个训练图像,彩色图像大小:32x32,10,000个测试图像。 ...
  • shazao008
  • shazao008
  • 2016年12月10日 15:53
  • 649

java实现ftp上传下载(jdk1.7以上)

java实现ftp上传下载(jdk1.7以上) 网上有很多关于java实现ftp的上传与下载,但都是jdk1.7以下的,最近在做java实现ftp文件上传与下在,搜到的代码不是jdk1.7一下的,就是...
  • Paulangsky
  • Paulangsky
  • 2015年12月22日 09:10
  • 3171

FTP实现上传下载文件详解

FTP上传下载文件案例详解  首先导入包 import org.apache.commons.net.ftp.FTPClient; import org.apache.commons.net...
  • he90227
  • he90227
  • 2014年04月25日 10:48
  • 6530
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:ftp上传下载记录
举报原因:
原因补充:

(最多只允许输入30个字)