ftp上传下载记录
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上传下载记录的更多相关文章
- JAVA 实现FTP上传下载(sun.net.ftp.FtpClient)
package com.why.ftp; import java.io.DataInputStream; import java.io.File; import java.io.FileInputSt ...
- windows系统下ftp上传下载和一些常用命令
先假设一个ftp地址 用户名 密码 FTP Server: home4u.at.china.com User: yepanghuang Password: abc123 打开windows的开始菜单, ...
- windows下ftp上传下载和一些常用命令
先假设一个ftp地址 用户名 密码 FTP Server: home4u.at.china.com User: yepanghuang Password: abc123 打开windows的开始菜单, ...
- FTP上传下载工具(FlashFXP) v5.5.0 中文版
软件名称: FTP上传下载工具(FlashFXP) 软件语言: 简体中文 授权方式: 免费试用 运行环境: Win 32位/64位 软件大小: 7.4MB 图片预览: 软件简介: FlashFXP 是 ...
- 高可用的Spring FTP上传下载工具类(已解决上传过程常见问题)
前言 最近在项目中需要和ftp服务器进行交互,在网上找了一下关于ftp上传下载的工具类,大致有两种. 第一种是单例模式的类. 第二种是另外定义一个Service,直接通过Service来实现ftp的上 ...
- C# -- FTP上传下载
C# -- FTP上传下载 1. C#实现FTP下载 private static void TestFtpDownloadFile(string strFtpPath, string strFile ...
- Java.ftp上传下载
1:jar的maven的引用: 1 <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="ht ...
- python之实现ftp上传下载代码(含错误处理)
# -*- coding: utf-8 -*- #python 27 #xiaodeng #python之实现ftp上传下载代码(含错误处理) #http://www.cnblogs.com/kait ...
- python之模块ftplib(实现ftp上传下载代码)
# -*- coding: utf-8 -*- #python 27 #xiaodeng #python之模块ftplib(实现ftp上传下载代码) #需求:实现ftp上传下载代码(不含错误处理) f ...
随机推荐
- hadoop https配置
在 hadoop1生成ca并拷贝至hadoop2,hadoop2. (密码随便设置,大于6位即可.如adminadmin) cd /etc/https openssl req -new -x509 - ...
- 20145216史婧瑶《Java程序设计》第二次实验报告
实验二 Java面向对象程序设计 实验内容 1. 初步掌握单元测试和TDD 2. 理解并掌握面向对象三要素:封装.继承.多态 3. 初步掌握UML建模 4. 熟悉S.O.L.I.D原则 5. 了解设计 ...
- 20145328 《Java程序设计》实验一实验报告
20145328 <Java程序设计>实验一实验报告 实验名称 Java开发环境的熟悉(Windows + IDEA) 实验内容 使用JDK编译.运行简单的Java程序: 使用IDEA 编 ...
- 20145331 《Java程序设计》第4周学习总结
20145331 <Java程序设计>第4周学习总结 教材学习内容总结 •第六章 1.继承的定义与特点: 子类继承父类的特征和行为,使得子类具有父类的各种属性和方法.或子类从父类继承方法, ...
- Ubuntu 12.10 用wubi安装到硬盘中
wubi安装的优势: ubuntu可以像安装软件一样方便的安装.删除,不影响物理机的原有系统 这种方式安装的ubuntu不用担心功能会有所缺失,ubuntu所有的功能都在 和安装了双系统一样,没有什么 ...
- SpringMvc 笔记
整理出来是 SpringMvc 笔记 方便以后查询 框架太多了 不经常使用 忘记的可能性很大 自己整理一套笔记 一看就明白了 1 对比 原始请求响应流程 1 发送请求 --> 2 控制层 --& ...
- C# 一些常用的字符串扩展方法
以下可能是常用的.net扩展方法,记录下 EString.cs文件 /// <summary> /// 扩展字符串类 /// </summary> public static ...
- codeforces291E Tree-String Problem
本文版权归ljh2000和博客园共有,欢迎转载,但须保留此声明,并给出原文链接,谢谢合作. 本文作者:ljh2000 作者博客:http://www.cnblogs.com/ljh2000-jump/ ...
- sass快速入门 - 笔记
一.使用变量 1.使用$符号来标识变量. 例: $nav-color:#F90; .nav{ $width:100px; width:$width; color:$nav-color; }
- sprites.png雪碧图
长时间不用把精灵图怎么用给忘了... 一.PC端 给所用到精灵图的元素设置background:url(sprites.png路径); background-position: -x -y; 其中: ...