linux下文件传输方式
Linux下的文件传输优化1.创建实验环境首先建立两台虚拟机主机并且保证两台主机可以相互通信两台虚拟机:RHEL7_node1IP:192.168.1.6RHEL8_node1IP:192.168.1.5如下显示:两台虚拟机应急完成通信,在rhel7_node1中连接rhel8_node12.两种文件传输方式:scp和rsync2.1 scp 命令的使用格式s...
Linux下的文件传输优化
1.创建实验环境
首先建立两台虚拟机主机并且保证两台主机可以相互通信
两台虚拟机:
RHEL7_node1 IP:192.168.1.6
RHEL8_node1 IP:192.168.1.5
如下显示:两台虚拟机应急完成通信,在rhel7_node1中连接rhel8_node1
2.两种文件传输方式:scp和rsync
2.1 scp 命令的使用格式
scp 本地文件 远程主机用户名@远程主机IP:远程主机目录
scp 远程主机用户名@远程主机IP:远程主机目录 本地文件
scp命令使用 实验步骤如下:
首先在rhel7_node1创建文件westos及目录Linux
命令使用如下:
[root@rhel7_node1 mnt]# scp westos root@192.168.1.5:/mnt/ 添加-q参数可以不显示文件传输进度
root@192.168.1.5's password:
westos 100% 0 0.0KB/s 00:00
[root@rhel7_node1 mnt]# scp -r linux root@192.168.1.5:/mnt/ 目录上传必须使用-r 参数
root@192.168.1.5's password:
把远程文件传输到本地主机如下:
[root@rhel7_node1 mnt]# scp root@192.168.1.5:/mnt/westos /mnt/
root@192.168.1.5's password:
westos 100% 0 0.0KB/s 00:00
[root@rhel7_node1 mnt]# ls
westos
[root@rhel7_node1 mnt]#
2.2scp 和rsync命令的对比
创建实验素材:
dd-截取 if-inputfile of-outputfile bs-blocksize count-块个数
[root@rhel7_node1 mnt]# dd if=/dev/zero of=/mnt/file1 bs=1M count=10
10+0 records in
10+0 records out
10485760 bytes (10 MB) copied, 0.0703817 s, 149 MB/s
[root@rhel7_node1 mnt]# dd if=/dev/zero of=/mnt/file2 bs=1M count=20
20+0 records in
20+0 records out
20971520 bytes (21 MB) copied, 0.312774 s, 67.0 MB/s
[root@rhel7_node1 mnt]# dd if=/dev/zero of=/mnt/file3 bs=1M count=30
30+0 records in
30+0 records out
31457280 bytes (31 MB) copied, 2.18026 s, 14.4 MB/s
[root@rhel7_node1 mnt]# ls
file1 file2 file3
远程传输过程中登录密码的时间也是会计算在传输时间内,所以建立免密登录
建立秘钥:ssh-keygen
上传公钥:ssh-copy-id -i /root/.ssh/id_rsa.pub root@192.168.1.5
创建测试脚本check_scp.sh和check._rsync.sh两个脚本
[root@rhel7_node1 mnt]# time scp -qr /mnt/ root@192.168.1.5:/mnt 上传文件已经不再需要输入密码
real 0m1.637s
user 0m0.201s
sys 0m0.668s
[root@rhel7_node1 mnt]# time scp -qr /mnt/ root@192.168.1.5:/mnt
real 0m1.343s
user 0m0.240s
sys 0m0.555s
运行两个脚本:可以明显看出scp在复制传输文件过程中对已有的文件直接覆盖,三次传输时间基本一致,而rsync在文件传输过程中对已存在的文件不会覆盖,所以三次时间递归减少。
[root@rhel7_node1 mnt]# sh check_scp.sh 检测scp文件传输时间
real 0m1.253s
user 0m0.207s
sys 0m0.496s 第一次系统执行时间
real 0m1.130s
user 0m0.239s
sys 0m0.364s 第二次系统执行时间
real 0m1.134s
user 0m0.234s
sys 0m0.369s 第三次系统执行时间
[root@rhel7_node1 mnt]# sh check._rsync.sh 检测rsync文件传输时间
real 0m1.493s
user 0m0.335s
sys 0m0.430s 第一次系统执行时间
real 0m0.305s
user 0m0.008s
sys 0m0.010s 第二次系统执行时间
real 0m0.280s
user 0m0.010s
sys 0m0.010s 第三次系统执行时间
3.rsync的用法
格式:rsync 文件 远程用户主机@远程用户主机IP :远程主机目录
rsync 远程用户主机@远程用户主机IP:远程主机目录 文件路径
参数 r 复制目录
t 同步时间
p 同步权限
o 同步所有人
g 同步所有组
l 同步链接文件
D 同步块设备文件
创建实验素材测试参数:
在rhel8_node1中监测/mnt/目录
在rhel7_node1中创建file{1…4}
把rhel7_node1 /mnt/中的文件上传到rhel8_node1、/mnt/中
[root@rhel7_node1 mnt]# rsync -r /mnt/ root@192.168.1.5:/mnt/
skipping non-regular file "file" 链接文件未上传
[root@rhel7_node1 mnt]# rsync -lr /mnt/ root@192.168.1.5:/mnt/ 参l表示上传链接文件
[root@rhel7_node1 mnt]#
[root@rhel7_node1 mnt]# rsync -lrogtp /mnt/ root@192.168.1.5:/mnt/ 表示权限和所有人所有组及时间都同步上传
上传块设备文件:
[root@rhel7_node1 mnt]# rsync -Dr /dev/pts root@192.168.1.5:/mnt/
4.文件的归档压缩
4.1文件的归档
使用命令:tar
使用参数:c 创建
f 指定文件名
t 查看归档文件
x 解开归档文件
r 添加指定文件到归档文件中
–get 指定解开归档文件
–delete 删除指定归档文件
-C 解开到指定目录中
测试参数:
[root@rhel7_node1 Desktop]# tar cf etc.tar /etc/ 创建归档文件
tar: Removing leading `/' from member names
[root@rhel7_node1 Desktop]# tar tf etc.tar 查看归档文件
添加westos文件到etc.tar中
[root@rhel7_node1 Desktop]# tar rf etc.tar westos
解开归档文件
[root@rhel7_node1 Desktop]# tar xf etc.tar
解档指定文件并删除指定文件
[root@rhel7_node1 Desktop]# tar f etc.tar --get westos
[root@rhel7_node1 Desktop]# tar f etc.tar --delete westos
解开到指定目录当中:
[root@rhel7_node1 Desktop]# tar xf etc.tar -C /mnt/
[root@rhel7_node1 Desktop]# cd /mnt
[root@rhel7_node1 mnt]# ls -a
. .. etc file file1 file2 file3 file4
文件的压缩
格式:gzip 、xz、bzip2、zip;四种格式
操作如下所示:
gzip格式:
[root@rhel7_node1 Desktop]# gzip etc.tar gz格式文档压缩
[root@rhel7_node1 Desktop]# du -sh etc.tar.gz 查看压缩后大小
12M etc.tar.gz
[root@rhel7_node1 Desktop]# gunzip etc.tar.gz gz格式文档解开压缩
xz格式:
[root@rhel7_node1 Desktop]# xz etc.tar xz格式压缩文档
[root@rhel7_node1 Desktop]# du -sh etc.tar.xz
8.0M etc.tar.xz
[root@rhel7_node1 Desktop]# unxz etc.tar.xz xz格式解开压缩文档
zip格式:
[root@rhel7_node1 Desktop]# zip -r etc.tar.zip etc.tar zip文档压缩
adding: etc.tar (deflated 70%)
[root@rhel7_node1 Desktop]# du -sh etc.tar 查看归档文件大小
39M etc.tar
[root@rhel7_node1 Desktop]# du -sh etc.tar.zip 查看压缩包大小
16M etc.tar.zip
[root@rhel7_node1 Desktop]# unzip etc.tar.zip 解开压缩包
Archive: etc.tar.zip
replace etc.tar? [y]es, [n]o, [A]ll, [N]one, [r]ename: yes 桌面已有压缩包询问是否覆盖
inflating: etc.tar
bzip2格式:
[root@rhel7_node1 Desktop]# bzip2 etc.tar 压缩文档
[root@rhel7_node1 Desktop]# du -sh etc.tar.bz2 查看压缩后大小
10M etc.tar.bz2
[root@rhel7_node1 Desktop]# bunzip2 etc.tar.bz2 解开压缩文档
4.2tar+压缩
有三种格式 gz 、 xz、 bzip2
三种格式对应的参数为:gzip=z、xz=J、bzip2=j
[root@rhel7_node1 Desktop]# tar zcf etc.tar.gz /etc/
tar: Removing leading `/' from member names
[root@rhel7_node1 Desktop]# tar jcf etc.tar.bz2 /etc/
tar: Removing leading `/' from member names
[root@rhel7_node1 Desktop]# tar Jcf etc.tar.xz /etc/
tar: Removing leading `/' from member names
解开压缩文档:
[root@rhel7_node1 Desktop]# tar zxf etc.tar.gz 解开gzip格式压缩文档
[root@rhel7_node1 Desktop]# tar jxf etc.tar.bz2 解开bzip2格式压缩文档
[root@rhel7_node1 Desktop]# tar Jxf etc.tar.xz 解开xz格式压缩文档
更多推荐
所有评论(0)