Linux系统中的文件传输优化
1. 实验环境配置
2. 远程文件传输方式
2.1 scp命令
2.2 rsync命令
2.3 scp与rsync的对比
3. 文件的归档压缩
3.1 文件归档
3.2 文件压缩
3.3 tar+压缩
1. 实验环境配置
• 本次需要建立两台虚拟机主机并且保证两台主机可以相互通信
两台虚拟机:
RHEL7_node1 IP:192.168.43.250
RHEL8_node1 IP:192.168.43.251
如下:
两台虚拟机应急完成通信,在rhel7_node1中连接rhel8_node1
2. 远程文件传输方式
2.1 scp命令
2.1.1 scp 命令的使用格式
scp 本地文件 远程主机用户名@远程主机IP:远程主机目录
scp 远程主机用户名@远程主机IP:远程主机目录 本地文件
2.2.2 实验步骤
1.建立实验素材
touch westos
mkdir yyy
2.测试
A)把本地文件复制到远程目录
scp westos root@192.168.43.250:/mnt
•复制目录
scp -r yyy root@192.168.43.250:/mnt
• 过程中不显示进度
scp -p yyy root@192.168.43.250:/mnt
B)把远程文件复制到本地
scp westos root@192.168.43.250:/mnt
2.2 rsync命令
2.2.1 rsycn用法
rsync 文件 远程用户主机@远程用户主机IP :远程主机目录
rsync 远程用户主机@远程用户主机IP:远程主机目录 文件路径
命令 | 功能 |
---|---|
rsycn -r | 复制目录 |
rsycn -l | 复制链接 |
rsycn -p | 复制权限 |
rsycn -t | 复制时间戳 |
rsycn -o | 复制拥有者 |
rsycn -g | 复制拥有组 |
rsycn -D | 复制设备文件 |
2.2.2 实验步骤
1.实验环境
• 在rhel_8中监控
watch -n 1 ls -lR /mnt
• 在rhel_7中操作
2. 执行相关命令
• 在rhel_7中操作
• 在rhel_8中观察变化
2.3 scp与rsync的对比
2.3.1. 在rhel_7中建立文件
2.3.2 在主机之间建立免密登录
• 建立秘钥:ssh-keygen
• 上传公钥:ssh-copy-id -i /root/.ssh/id_rsa.pub root@192.168.1.5
2.3.3. 创建测试脚本
创建测试脚本check.sh和check._rsync.sh两个脚本
• check.sh文件:
• check._rsync.sh文件
2.3.4. 执行
• 注意:
图中每组的sys分别为第一至四次的系统执行时间
2.3.5. 对比总结
• scp复制传输文件过程中对已有的文件直接覆盖,四次传输时间几乎一致
• rsync在文件传输过程中对已存在的文件不会覆盖,所以四次执行时间远远小于第一次
3. 文件的归档压缩
3.1 文件归档(tar)
• tar
命令 | 功能 |
---|---|
c | 创建 |
f | 指定文件名称 |
x | 解档 |
t | 查看 |
r | 想归档文件中添加文件 |
–get | 解档指定文件 |
–delete | 删除指定文件 |
-C | 指定解档路径 |
3.2 文件压缩
• zip格式
命令 | 功能 |
---|---|
zip -r etc.tar.zip etc.tar | zip格式压缩 |
unzip etc.tar.zip | zip格式解压缩 |
• gzip格式
命令 | 功能 |
---|---|
gzip etc.tar | gzip格式压缩 |
gunzip etc.tar.gz | gzip格式解压缩 |
• bzip2格式
命令 | 功能 |
---|---|
bzip2 etc.tar | bzip2格式压缩 |
bunzip2 etc.tar.bz2 | bzip2格式解压缩 |
• xz格式
命令 | 功能 |
---|---|
xz etc.tar | xz格式压缩 |
unxz etc.tar.xz | xz格式解压缩 |
3.3 tar+压缩
• gzip
tar zcf etc.tar.gz /etc
tar zxf etc.tar.gz
• bzip2
tar jcf etc.tar.bz2 /etc
tar jxf etc.tar.bz2
• xz
tar Jcf etc.tar.xz /etc
tar Jxf etc.tar.xz