Linux系统中的文件传输

文章目录
一、scp命令
二、rsync命令
rsync用法
三、文件的归档压缩
1、文件归档
2、 文件的压缩
3、 归档+压缩
实验环境
需要两台主机并且保证这两台主机是可以通信的

systemctl disable firewalld
systemctl stop firewalld
1
2
关闭防火墙

一、scp命令
scp 本地文件 远程主机用户@远程主机ip:远程主机目录的*对路径
scp 远程主机用户@远程主机ip:远程主机文件的*对路径 本地文件
1
2
实验步骤:
1、在westosa中建立实验素材

touch westos
mkdir westosdir

2、测试
a) 把本地文件复制到远程主机 (上传)

scp westos root@172.25.254.218:/root/Desktop
scp -r westosdir root@172.25.254.218:/root/Desktop #-r 表示复制目录
scp -q westos root@172.25.254.218:/root/Desktop #-q 表示传输文件时不显示进度

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

scp root@172.25.254.218:/root/Desktop/westos_rhel8 /root/Desktop

c)

time scp

二、rsync命令
a) rsync和scp命令的对比
在westosa中

ssh-keygen #生成密钥
ssh-copy-id -i /root/.ssh/id_rsa.pub. root@172.25.254.218

b)创建测试脚本

vim check_scp.sh

编辑测试scp传输时间脚本

time scp -qr /boot root@172.25.254.218:/root/Desktop
time scp -qr /boot root@172.25.254.218:/root/Desktop
time scp -qr /boot root@172.25.254.218:/root/Desktop

编写测试rsync传输时间脚本

time rsync -raCq /boot root@172.25.254.218:/root/Desktop
time rsync -raCq /boot root@172.25.254.218:/root/Desktop
time rsync -raCq /boot root@172.25.254.218:/root/Desktop

c)执行脚本
【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
suer 0m0.014s
sys 0m0.022s

以上执行效果我们可以看出rsync三次执行时间后两次远远小于*次

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

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

实验环境
在westosa中建立一个桌面监视

watch -n 1 ls -lR /root/Desktop

在rhel7中

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

在westosb中
执行命令查看效果

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

三、文件的归档压缩
1、文件归档
tar
– c #创建
– f #指定文件名称
– x #解档
– v #显示过程
– t #查看
– r #向归档文件中添加文件
– -get #解档指定文件
– -delete #删除指定文件
– C #指定解档路径
– P #不移除“/”

实验步骤

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 mnt.tar.zip mnt.tar #zip格式压缩
unzip mnt.tar.zip #zip格式解压缩

gzip

gzip mnt.tar #gzip格式压缩
gunzip mnt.tar.gz #gzip格式解压缩

bzip2

bzip2 mnt.tar #bzip2格式压缩
bunzip2 mnt.tar.bz2 #bzip2格式解压缩

xz

xz mnt.tar #xz格式压缩
unxz mnt.tar #xz格式解压缩

3、 归档+压缩
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