Linux中的文件传输优化

1. scp命令

scp命令:传输文件时,scp支持加密,不会增加I/O输出负载

1.1 把本地文件复制到远程主机

命令:

scp  本地文件  远程主机用户@远程主机IP:远程主机目录
scp  -q  本地文件  远程主机用户@远程主机IP:远程主机目录	  ##-q表示复制文件时不显示进度
scp  -r  本地文件  远程主机用户@远程主机IP:远程主机目录      ##-r表示复制目录

实验环境:
vm1:192.168.43.71
vm2:192.168.43.72
两台主机可以通信

在这里插入图片描述

在这里插入图片描述

实验步骤:

  1. 在vm1桌面新建本例文件file,目录dir
    在这里插入图片描述

  2. 本地vm1文件、目录复制到远程主机vm2桌面

在这里插入图片描述

1.2 把远程文件复制到本地

命令:

scp  远程主机用户@远程主机IP:远程主机文件  本地目录
scp  -r  远程主机用户@远程主机IP:远程主机目录  本地目录

实验步骤:

  1. 在远程主机vm1建立文件file,目录dir

在这里插入图片描述

  1. 将远程主机vm1的文件、目录复制到本地主机vm2

在这里插入图片描述

2. rsync远程同步命令

rsync命令的特点:
优点:传输速度快,rsync可以做增量的检测,已经复制过的文件不会再复制
缺点:短时间内会增大I/O输出负载

2.1 rsync和scp对比

前提:
为了避免因为输入密码造成的时间误差,设置两台主机之间免密登录。

在这里插入图片描述
在这里插入图片描述

time scp  -qr /boot/ [email protected]:/pika
time rsync -aCqr /boot/ [email protected]:/pika

在这里插入图片描述
在这里插入图片描述

以上执行效果显示:rsync后两次执行时间远远小于第一次rsync支持加密

2.2 rsync用法

rsync  文件  远程用户@远程主机IP:远程主机目录   	     ##本地文件同步远程主机
rsync  远程用户@远程主机IP:远程主机目录  文件路径      ##远程文件同步本地主机
rsync -参数 解释
-r 复制目录
-l 复制链接
-p 复制权限
-t 复制时间戳
-o 复制拥有者
-g 复制拥有组
-D 复制设备文件
  1. 在vm1执行监控,watch -n 1 ls -lR /mnt
    在这里插入图片描述

  2. 在vm2中,创建实验条件
    在这里插入图片描述

  3. rsync -r /mnt [email protected]:/mnt
    同步目录本身其目录中的文件
    在这里插入图片描述

  4. rsync -r /mnt/ [email protected]:/mnt
    只同步目录中的文件
    在这里插入图片描述
    在这里插入图片描述

  5. rsync -rl /mnt/ [email protected]:/mnt
    同步链接
    在这里插入图片描述

  6. rsync -rlp /mnt/ [email protected]:/mnt
    同步权限
    在这里插入图片描述

  7. rsync -rlpog /mnt/ [email protected]:/mnt
    同步用户和组
    在这里插入图片描述

  8. rsync -rlpogt /mnt/ [email protected]:/mnt
    同步时间
    在这里插入图片描述

  9. rsync -rD /dev/pts /mnt/ [email protected]:/mnt
    同步设备文件
    在这里插入图片描述
    在这里插入图片描述

3. 文件归档

针对文件多,复制慢的情况,可以将文件打包,多个文件变一个文件,加快传输速率,即文件归档。

3.1 tar归档命令

tar 参数 解释
c 创建
f 指定文件名称
x 解档
t 查看
r 让文档中添加文件
- - get 解档指定文件
- - delete 删除指定文件
-C 指定解档路径
  1. 归档
cd /mnt
cp -r /etc/ .
du -sh /etc/
tar cf etc.tar etc    #将文件etc归档到etc.tar
du -sh etc.tar        #etc.tar是文件不是目录,文件变小是因为目录中的链接没有被统计
ls -l

在这里插入图片描述

  1. 查看归档文件内容
    tar tf etc.tar

在这里插入图片描述

  1. 将其他文件也打包进etc.tar
touch file
tar rf etc.tar file

在这里插入图片描述
在这里插入图片描述

  1. 将文件从打包里取出,会取出所有文件,不会删除原文件
    tar f etc.tar --get file

在这里插入图片描述

在这里插入图片描述

  1. 将某个文件从打包里删除
    tar f etc.tar --delete file
    tar tf etc.tar

在这里插入图片描述

  1. 解档文件,默认解压到当前目录
    tar xf etc.tar

在这里插入图片描述

  1. 指定文件解档路径
    mkdir /mnt/pika
    tar xf etc.tar -C /mnt/pika

在这里插入图片描述

3.2 文件的压缩

文件的压缩分为zip、gzip、bzip2、xz

1.zip压缩和解压缩

zip -r etc.tar.zip etc.tar 		##zip格式压缩
unzip etc.tar.zip 				##zip格式解压缩

在这里插入图片描述

2. gzip压缩和解压缩

gzip etc.tar 				##gzip压缩
gunzip etc.tar.gz 			##gzip解压

在这里插入图片描述

3. bzip压缩和解压缩

bzip2 etc.tar 				 ##bzip2时间长
bunzip2 etc.tar.bz2			 ##bzip2解压

在这里插入图片描述

4.xz压缩和解压缩

xz etc.tar 					##xz时间更长
unxz etc.tar.xz 			##xz解压

在这里插入图片描述

3.3 tar+压缩(不支持zip)

tar zcf etc.tar.gz /mnt 压缩
tar zxf etc.tar.gz 解压

tar zcf etc.tar.bz2 /mnt 压缩
tar jxf etc.tar.bz2 /mnt解压

tar Jcf etc.tar.xz /mnt 压缩
tar Jxf etc.tar.xz /mnt解压

在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/weixin_46074899/article/details/109483086