运维大法之Linux系统中的文件传输

本文深入解析了SCP与RSYNC命令的使用方法及其效率对比,包括免密登录设置、文件传输时间测试,以及rsync的高级选项。同时,详细介绍了tar命令的归档与压缩功能,涵盖了各种压缩格式(zip, gzip, bzip2, xz)的使用,以及如何结合tar进行高效的数据打包。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1、scp和rsync命令

实验环境
需要2台主机并且保证这两台主机是可以通信的
①localhost.localdomain
172.25.254.10

②node.westos.com
172.25.254.20

1、scp命令

scp 本地文件 远程主机用户@远程主机ip:远程主机目录的绝对路径
scp 远程主机用户@远程主机ip:远程主机文件的绝对路径 本地文件
实验步骤:
1.建立实验素材
touch westos
mkdir westosdir
2.测试
a) 把本地文件复制到远程主机 (上传)
scp westos root@172.25.254.20:/root/Desktop
scp -r westosdir root@172.25.254.20:/root/Desktop #-r 表示复制目录
scp -q westos root@172.25.254.20:/root/Desktop #-q 传输文件时不显示进度

结果如图,复制文件成功在这里插入图片描述

b)把远程文件复制到本地(下载)

scp root@172.25.254.20:/root/Desktop/westos1 /root/Desktop
如图所示复制成功在这里插入图片描述

2、rsync

a) rsync和scp命令的对比
1.实验素材:
 dd if=/dev/zero of=/root/Desktop/westosfile1 bs=1M count=10
 dd if=/dev/zero of=/root/Desktop/westosfile2 bs=1M count=20
 dd if=/dev/zero of=/root/Desktop/westosfile3 bs=1M count=30

在这里插入图片描述

2.在主机之间建立免密登陆使远程文件传输可以直接执行
 ssh-keygen 生成密钥
  ssh-copy-id -i /root/.ssh/id_rsa.pub. root@172.25.254.20
3.创建测试脚本
 vim check_scp.sh 

检测scp传输时间

  time scp -qr /root/Desktop  root@172.25.254.20:/root/Desktop 
  time scp -qr /root/Desktop  root@172.25.254.20:/root/Desktop 
  time scp -qr /root/Desktop root@172.25.254.20:/root/Desktop 

在这里插入图片描述

vim check_rsync.sh 

检测rsync的传输时间

time rsync -raCq /root/Desktop root@172.25.254.20:/root/Desktop 
time rsync -raCq /root/Desktop root@172.25.254.20:/root/Desktop 
time rsync -raCq /root/Desktop root@172.25.254.20:/root/Deskt

op在这里插入图片描述

5. 执行

在这里插入图片描述

第一次的执行效果我们可以看出scp三次执行时间几乎一致

第二次的执行效果我们可以看出rsync三次执行时间后两次远远小与第一次

b)rsync用法

rsync 文件 远程用户@远程主机ip:远程主机目录
rsync 远程用户@远程主机ip:远程主机目录 文件路径

rsync
-r #复制目录
-l #复制链接
-p #复制权限
-t #复制时间戳
-o #复制拥有者
-g #复制拥有组
-D #复制设备文件

示例:
实验环境
在第一台主机中

watch -n 1 ls -lR /root/Desktop

在第二台主机中

touch /root/Desktop/file{1..5}
chmod 777 /root/Desktop/*
useradd westos
chown westos /root/Desktop/*
ln -s /root/Desktop/file1 /root/Desktop/file

执行命令:

rsync -r /root/Desktop root@172.25.254.20:/root/Desktop #同步目录本身其目录中的文件
rsync -r /root/Desktop/ root@172.25.254.20:/root/Desktop #只同步目录中的文件
rsync -rl /root/Desktop/ root@172.25.254.20:/root/Desktop #同步链接
rsync -rlp /root/Desktop/ root@172.25.254.20:/root/Desktop #同步权限
rsync -rlpog /root/Desktop/ root@172.25.254.20:/root/Desktop #同步用户组
rsync -rlpogt /root/Desktop/ root@172.25.254.20:/root/Desktop #同步时间
rsync -rD /dev/pts root@172.25.254.20:/root/Desktop #同步设备文件

2、文件的归档压缩

1.文件归档
tar
c #创建
f #指定文件名称
x #解档
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 etc.tar.zip etc.tar #zip格式压缩
unzip etc.tar.zip #zip格式解压缩
gzip
gzip etc.tar #gzip格式压缩
gunzip etc.tar.gz #gzip格式解压缩
bzip2 etc.tar #bzip2格式压缩
bunzip2 etc.tar.bz2 #bzip2格式解压缩
xz etc.tar #xz格式压缩
unxz etc.tar.xz #xz格式解压缩

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

以上命令的实验如图所示:
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值