Linux系统中的文件传输

文章目录

  • 一、scp命令
  • 二、rsync命令
    • rsync用法
  • 三、文件的归档压缩
    • 1、文件归档
    • 2、 文件的压缩
    • 3、 归档+压缩


实验环境
需要两台主机并且保证这两台主机是可以通信的

systemctl disable firewalld
systemctl stop firewalld

关闭防火墙

一、scp命令

scp 本地文件  远程主机用户@远程主机ip:远程主机目录的绝对路径
scp 远程主机用户@远程主机ip:远程主机文件的绝对路径 本地文件

实验步骤:
1、在westosa中建立实验素材

touch westos
mkdir westosdir

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

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

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

scp [email protected]:/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. [email protected]

b)创建测试脚本

vim check_scp.sh

编辑测试scp传输时间脚本

time scp -qr /boot [email protected]:/root/Desktop
time scp -qr /boot [email protected]:/root/Desktop
time scp -qr /boot [email protected]:/root/Desktop

编写测试rsync传输时间脚本

time rsync -raCq /boot [email protected]:/root/Desktop
time rsync -raCq /boot [email protected]:/root/Desktop
time rsync -raCq /boot [email protected]:/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:远程主机目录 文件路径
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 [email protected]:/root/Desktop /mnt/      #同步目录本身及目录中的文件
rsync -r [email protected]:/root/Desktop/ /mnt/     #只同步目录中的文件
rsync -rl [email protected]:/root/Desktop/ /mnt/    #同步链接
rsync -rlp [email protected]:/root/Desktop/ /mnt/   #同步权限
rsync -rlpog [email protected]:/root/Desktop/ /mnt/    #同步用户组
rsync -rlpogt [email protected]:/root/Desktop/ /mnt/   #同步时间
rsync -rD [email protected]:/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

你可能感兴趣的:(Linux,linux)