Linux系统中的文件传输
实验环境
需要2台主机并且保证这两台主机是可以通信的
[email protected] 172.25.254.7
[email protected]
在主机中关闭防火墙
systemctl disable firewalld
systemctl stop firewalld
1 scp命令
scp 本地文件 远程主机用户@远程主机ip:远程主机目录的绝对路径
scp 远程主机用户@远程主机ip:远程主机文件的绝对路径 本地文件
实验步步骤:
1.建立实验素材
建立文件和目录
2.测试
a)把本地文件复制到远程主机 (上传)
scp 本机文件路径 [email protected]:其他主机的文件保存路径
scp -r [email protected]:其他主机文件绝对路径 自己主机保存路径 ## -r 表示复制目录
scp -q 本机文件路径 [email protected]:其他主机的文件保存路径 ## -q 传输文件时不显示进度
b)把远程文件复制到本地(下载)
scp [email protected]:/root/Desktop/文件名 自己保存路径
2.rsync
a) rsync和scp命令的对比
实验素材:
1)172.25.254.105主机:
dd if=/dev/zero of=/mnt/westosfile1 bs=1M count=10 ##dd=截取,if=inputfile
##of=outputfile
#bs=blocksize
#count=快的个数
dd if=/dev/zero of=/mnt/westosfile2 bs=1M count=20
dd if=/dev/zero of=/mnt/westosfile3 bs=1M count=30
2)在主机之间建立免密登陆使远程文件传输可以直接执行
自己主机中:
ssh-****** ## 生成**
ssh-copy-id -i /root/.ssh/id_rsa.pub. [email protected]
3)创建测试脚本
vim check_scp.sh ##检测scp传输时间
time scp -qr /root/Desktop [email protected]:/root/Desktop
time scp -qr /root/Desktop [email protected]:/root/Desktop
time scp -qr /root/Desktop [email protected]:/root/Desktop
vim check_rsync.sh ##检测rsync的传输时间
time rsync -raCq /root/Desktop [email protected]:/root/Desktop
time rsync -raCq /root/Desktop [email protected]:/root/Desktop
time rsync -raCq /root/Desktop [email protected]:/root/Desktop
4)执行
#########scp ###################
sh check_scp.sh
real 0m1.334s
user 0m0.210s
sys 0m0.490s 第一次系统执行时间
real 0m1.642s
user 0m0.412s
sys 0m0.383s 第二次系统执行时间
real 0m1.586s
user 0m0.309s
sys 0m0.497s 第三次系统执行时间
以上执行效果我们可以看出scp三次执行时间几乎一致
###########rsync执行############
sh check_rsync.sh
real 0m1.603s
user 0m0.399s
sys 0m0.557s 第一次系统执行时间
real 0m0.329s
user 0m0.012s
sys 0m0.010s 第二次系统执行时间
real 0m0.348s
user 0m0.014s
sys 0m0.022s 第三次系统执行时间
以上执行效果我们可以看出rsync三次执行时间后两次远远小与第一次
b)rsync用法
rsync 文件 远程用户@远程主机ip:远程主机目录
rsync 远程用户@远程主机ip:远程主机目录 文件路径
rsync
-r ##复制目录
-l ##复制链接
-p ##复制权限
-t ##复制时间戳
-o ##复制拥有者
-g ##复制拥有组
-D ##复制设备文件原来文件夹的目录
文件的归档压缩
1.文件归档
tar
c ##创建
f ##指定文件名称
x ##解档
v ##现实过程
t ##查看
r ##向归档文件中添加文件
–get ##解档指定文件
–delete ##删除指定文件
-C ##指定解档路径
实验步骤:
tar cf etc.tar /etc/
tar tf etc.tar
tar rf etc.tar westos_rhel8
tar xf etc.tar
tar f etc.tar --get westos_rhel8
tar f etc.tar --delete westos_rhel8
tar xf etc.tar -C /root/Desktop
2.文件的压缩
zip
zip -r guo.tar.zip mnt.tar #zip格式压缩
unzip guo.tar.zip #zip格式解压缩
gzip
gzip guo.tar #gzip格式压缩
gunzip guo.tar.gz #gzip格式解压缩
bzip2 guo.tar #bzip2格式压缩
bunzip2 guo.tar.bz2 #bzip2格式解压缩
xz guo.tar #xz格式压缩
unxz guo.tar.xz #xz格式解压缩
3.tar+压缩
gzip
tar zcf guo.tar.gz /etc
tar zxf guo.tar.gz
bzip2
tar jcf guo.tar.bz2 /etc
tar jxf guo.tar.bz2
xz
tar Jcf guo.tar.xz /etc
tar Jxf guo.tar.xz