前言

linux服务器之间传输文件的有四种方式
1. wget是一个从网络上自动下载文件的自由工具,支持通过HTTP、HTTPS、FTP三个最常见的TCP/IP协议下载,并可以使用HTTP代理。
2. scp就是secure copy,是用来进行远程文件拷贝的。数据传输使用 ssh,并且和ssh 使用相同的认证方式,提供相同的安全保证 。
3. rcp指令用在远端复制文件或目录,如同时指定两个以上的文件或目录,且最后的目的地是一个已经存在的目录,则它会把前面指定的所有文件或目录复制到该目录中。
4. rsync是类unix系统下的数据镜像备份工具,从软件的命名上就可以看出来了remote sync。它的操作方式和scp和相似,但是比scp强大很多。使用双冒号分割主机名和文件路径时,是使用rsync服务器,这里主要介绍rsysnc的用法

rsync 的远程同步

环境:真机使用ssh连接两台虚拟机上一台client:172.25.254.1一台server:172.25.254.2

linux 文件上传到hive表中 linux怎么传输文件_压缩文件

例1:将server内的/etc目录传同步到client的/mnt目录下

linux 文件上传到hive表中 linux怎么传输文件_HTTP_02

[root@server mnt]# rsync -r /etc root@172.25.254.1:/mnt/		#注意:要将etc目录传递过去,则不可以加斜杠"/":etc/ 。否则就是传递etc内全部文件不包括etc目录

例2:区分rsync不同参数的作用

首先已知server里的dir文件的信息为:

linux 文件上传到hive表中 linux怎么传输文件_归档文件_03

1. [root@server mnt]# rsync -r dir root@172.25.254.1:/mnt/		#默认同步会忽略掉文件属性,链接文件,设备文件等...
2. 							-rp dir root@172.25.254.1:/mnt/		#t同步权限
3. 							-rpo dir root@172.25.254.1:/mnt/	#同步文件的所有人
4. 							-rpog dir root@172.25.254.1:/mnt/	#同步文件的所有组
5. 							-rt dir root@172.25.254.1:/mnt/		#同步时间
6.  						-rl dir root@172.25.254.1:/mnt/		#同步链接
7.  						-rD dir root@172.25.254.1:/mnt/		#同步设备文件

linux 文件上传到hive表中 linux怎么传输文件_HTTP_04

归档和压缩文件

归档

tar
打包:将一大堆文件或目录变成一个总的文件【tar命令】
压缩:将一个大的文件通过一些压缩算法变成一个小文件【gzip,bzip2等】

Linux中很多压缩程序只能针对一个文件进行压缩,这样当你想要压缩一大堆文件时,你得将这一大堆文件先打成一个包(tar命令),然后再用压缩程序进行压缩(gzip bzip2命令)。

tar 常用的参数

tar -c 			#创建一个归档文件
	-v			#显示过程
	-f			#指定归档文件名称
	-x			#解档
	-t			#查看归档文件内容
	-r			#添加文件到归档中
	--get		#解档指定文件
	--delete	#删除归档中的指定文件
	-C			#指定解档目录
实例

将etc目录归档和解档

tar -cf etc.tar etc/			#归档
tar -xf etc.tar 				#解档
tar -rf etc.tar file			#将file添加到归档中
tar -tf etc.tar 				#查看归档文件内容
tar -f etc.tar --get file		#将file从归档文件中解档
tar -f etc.tar --delete file	#将file从归档中删除
tar -xf etc.tar -C /etc/		#将目录etc从归档中解档

linux 文件上传到hive表中 linux怎么传输文件_归档文件_05

压缩

常用的压缩打包方式有zip gz gz2 xz这四种
而压缩可以把文件的大小变小进而提升传输速度

实例:
使用zip压缩38M的etc.atr归档文件并查看压缩后大小

关键命令:
zip -r etc.tar.zip etc.tar	#压缩为 .zip格式
unzip etc.tar.zip			#解压

可以看到压缩少了22M

linux 文件上传到hive表中 linux怎么传输文件_归档文件_06

使用gz压缩38M的etc.atr归档文件并查看压缩后大小

关键命令:
gzip etc.tar		#t压缩为 .gz 格式
gunzip etc.tar.gz  	#解压
===等价于
tar zcf etc.tar.gz /etc
tar zxf etc.tar.gz

linux 文件上传到hive表中 linux怎么传输文件_压缩文件_07


缩小了26M

使用gz压缩38M的etc.atr归档文件并查看压缩后大小

关键命令:
bzip2 etc.tar				#压缩为 .gz2 格式
bunzip2 etc.tar.gz2			#解压
===也等价于
tar jcf etc.tar.ba2 /etc/

linux 文件上传到hive表中 linux怎么传输文件_HTTP_08


缩小到了9.5M

同样的xz为
xz etc.tar		#压缩为 .xz格式
unxz etc.tar.xz	#解压

这四种打包格式中 gz xz bz2 可以打包压缩一步完成
所以有

tar zcf etc.tar.gz /etc/		#打包为 .gz格式
tar xcf etc.tar.bz2 /etc		#打包为 .bz2格式
tar Jcf etc.tar.xz etc			#打包压缩为 .xz格式

linux 文件上传到hive表中 linux怎么传输文件_linux 文件上传到hive表中_09