八、Linux系统中的文件传输优化

八、Linux系统中的文件传输优化

实验环境

两台可以通信的主机
A IP:192.168.0.108
B IP:192.168.0.109

8.1 文件传输

8.1.1 scp

格式:

  • scp   本地文件   远程主机用户@远程主机IP:远程主机目录
  • scp    远程主机用户@远程主机IP:远程主机目录    本地文件
命令效果
scp -p保留原文件的修改时间,访问时间,访问权限
scp -q不显示传输进度条
scp -r递归复制整个目录

例子1

[root@localhost Desktop]$ scp file root@192.168.0.108:/mnt #将B中file文件传输给A的/mnt
[root@localhost Desktop]$ scp -r dir root@192.168.0.108:/mnt  #将B中的目录dir传输给A的/mnt
[root@localhost Desktop]$ scp -q file root@192.168.0.108:/mnt  #将B中file文件传输给A的/mnt 不显示进度条

scp

8.1.2 rsync

格式

  • rsync   本地文件   远程主机用户@远程主机IP:远程主机目录
  • rsync    远程主机用户@远程主机IP:远程主机目录    本地文件
代码 效果
rsync -r复制目录
rsync -l复制链接
rsync -p复制权限
rsync -t复制时间戳
rsync -o复制拥有者
rsync -g复制拥有组
rsync -D复制设备文件

例子

[root@localhost Desktop]$ rsync file root@192.168.0.108:/mnt #把file复制到A的/mnt
[root@localhost Desktop]$ rsync -r dir root@192.168.0.108:/mnt #把dir目录复制到A的/mnt
[root@localhost Desktop]$ rsync -ogt file root@192.168.0.108:/mnt # 复制拥有者,拥有组,时间戳

8.1.3 scp与rsync的比较

(1)实验素材:

  • B中建立文件
[root@localhost Desktop]$ dd if=/dev/zero of=/mnt/file1 bs=1M count=10 # dd=截取,if=inputfile,of=outputfile,bs=blocksize,count=快的个数
[root@localhost Desktop]$ dd if=/dev/zero of=/mnt/file2 bs=1M count=20 
[root@localhost Desktop]$ dd if=/dev/zero of=/mnt/file3 bs=1M count=30
  • 在主机之间建立免密登陆(在B上进行)
[root@localhost Desktop]$ ssh-keygen
[root@localhost Desktop]$ ssh-copy-id -i /root/.ssh/id_pub root@192.168.0.108
  • 创建测试脚本
[root@localhost Desktop]$ vim check_scp.sh # 检测scp的传输时间

scp

[root@localhost Desktop]$ vim check_rsync.sh #检测rsync的传输时间

rsync

  • 执行
    比较
    总结

  • scp是相当于复制,黏贴,如果有的话是覆盖,比较耗时间,不智能。

  • rsync是复制,如果有重复的文件,会直接跳过,而且他自己的算法优化。

  • scp是把文件全部复制过去,当文件修改后还是把所有文件复制过去,rsync 第一次是把所有文件同步过去,当文件修改后,只把修改的文件同步过去。

8.2 文档归档-tar

tar

代码效果
c创建
f指定文件名称
x解档
t查看
r向归档文件中添加文件
- -get解档指定文件
- -delete删除指定文件
-C指定解档路径
  • 例子
[root@localhost Desktop]$ tar cf etc.tar /etc/ #将/etc/下的文件打包并命名为etc.tar
[root@localhost Desktop]$ tar tf etc.tar #查看包里文件
[root@localhost Desktop]$ tar rf etc.tar file # 把文件file添加进归档里面
[root@localhost Desktop]$ tar xf etc.tar 解挡
[root@localhost Desktop]$ tar f etc.tar --get file # 从归档里把file文件解档
[root@localhost Desktop]$ tar f etc.tar --delete file # 从归档文件中把file文件删除
[root@localhost Desktop]$ tar xf etc.tar -C /mnt #指定解档路径为/mnt
  • 例子
    xiazai

8.3 文件的压缩(压缩程度逐渐增大)

8.3.1 zip

[root@localhost Desktop]$ zip -r etc.tar.zip etc.tar #压缩
[root@localhost Desktop]$ du -sh etc.tar.zip #查看压缩包大小
[root@localhost Desktop]$ unzip etc.tar.zip #解压

zip

8.3.2 gzip

[root@localhost Desktop]$ gzip etc.tar #压缩
[root@localhost Desktop]$ du -sh etc.tar.gzip #查看压缩包大小
[root@localhost Desktop]$ gunzip etc.tar.gz #解压

gzip

8.3.3 bzip2

[root@localhost Desktop]$ bzip2 etc.tar #压缩
[root@localhost Desktop]$ du -sh etc.tar.bzip2 #查看压缩包大小
[root@localhost Desktop]$ bunzip2 etc.tar.gz #解压

bzip2

8.3.4 xz

[root@localhost Desktop]$ xz etc.tar #压缩
[root@localhost Desktop]$ du -sh etc.tar.xz #查看压缩包大小
[root@localhost Desktop]$ unxz etc.tar.gz #解压

xz

8.4 打包压缩

8.4.1 tar+gzip ( z )

[root@localhost Desktop]$ tar zcf etc.tar.gz /etc #打包压缩
[root@localhost Desktop]$ tar zxf etc.tar.gz #解压

gzip

8.4.2 tar+bzip2 ( j )

[root@localhost Desktop]$ tar jcf etc.tar.bz2 /etc #打包压缩
[root@localhost Desktop]$ tar jxf etc.tar.bz2 #解压

bzip2

8.4.3 tar+xz ( J )

[root@localhost Desktop]$ tar Jcf etc.tar.xz /etc #打包压缩
[root@localhost Desktop]$ tar Jxf etc.tar.xz #解压

xz

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值