Linux系统中的文件传输
实验环境
需要两台并且保证这两台主机是可以通信的
systemctl disable firewalld
systemctl stop firewalld
1.scp命令
scp 本地文件 远程主机用户@远程主机ip:远程主机目录的绝对路径
scp 远程主机用户@远程主机ip:远程主机文件的绝对路径 本地文件
实验步骤
在nood2中建立实在素材
touch westos
mkdir westosdir
测试ca
把本地主机文件复制到远程主机(上传)
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 传输文件时不显示进度
把远程文件复制到本地(下载)
scp root@172.25.254.20:/root/Desktop /westos_rhe18 /root/Desktop
time scp
2.rsync
rsync和scp命令对比
node2:
ssh-keygen #生成密钥
ssh-copy-id -i /root/.ssh/id_rsa.pub. root@172.25.254.20
创建测试脚本
time scp -qr /boot root@172.25.254.20:/root/Desktop
time scp -qr /boot root@172.25.254.20:/root/Desktop
time scp -qr /boot root@172.25.254.20:/root/Desktop
vim check_rsync.sh #检测rsync传输时间
time rsync -raCq /boot root@172.25.254.20:/root/Desktop
time rsync -raCq /boot root@172.25.254.20:/root/Desktop
time rsync -raCq /boot root@172.25.254.20:/root/Desktop
执行
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 #第三次系统执行时间
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三次执行时间后两次远远小于第一次
rsync用法
rsync 文件 远程用户@远程主机ip:远程主机目录
rsync 远程用户@远程主机ip:远程主机目录 文件
rsync -r #复制目录
-l #复制链接
-p #复制权限
-t #复制时间戳
-o #复制拥有者
-g #复制拥有组
-D #复制设备文件
实验环境
在westos_node1中
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
wesos_linux执行
rsync -r root@172.25.254.20:/root/Desktop /mnt #同步目录本身其目录中的文件
rsync -r root@172.25.254.20:/root/Desktop /mnt #只同步目录中的文件
rsync -rl root@172.25.254.20:/root/Desktop /mnt #同步链接
rsync -rlp root@172.25.254.20:/root/Desktop /mnt #同步权限
rsync -rlpog root@172.25.254.20:/root/Desktop /mnt #同步用户组
rsync -rlpogt root@172.25.254.20:/root/Desktop /mnt #同步时间
rsync -rD root@172.25.254.20:/dev/pts /mnt #同步设备文件
文件的压缩归档
文件归档
tar c #创建
f #指定文件名称
x #解档
v #显示过程
t #查看
r #向归档文件中添加文件
-- get #解档指定文件
--delete #删除指定文件
-C #指定解档路径
-P #don't remove "/"
实验步骤
tar cf etc.tar /etc/
tar tf etc.tar
tar rf etc.tar westos_rhe18
tar xf etc.tar
tar f etc.tar --get westos_rhe18
tar f etc.tar --delete westos_rhe18
tar xf etc.tar -C /root/Desktop
文件压缩
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 mnt.tar #bzip2格式压缩
bunzip etc,tar.bz2 #bzip2格式解压缩
xz mnt.tar #xz格式压缩
unxz mnt.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