linux系统中的文件传输

1 实验环境

可以相互通信的真实主机和虚拟机,真实主机作为客户端,虚拟机作为服务端,使用“systemctl disable – now firewalld”或“systemctl stop firewalld”命令关闭虚拟机的防火墙。
在这里插入图片描述

2 scp命令

  • scp是secure copy的缩写,该命令可以实现远程文件传输
  • 上传:scp 本地文件 远程主机用户@远程主机ip:远程主机目录的绝对路径
  • 下载:scp 远程主机用户@远程主机ip:远程主机文件的绝对路径 真机路径

1)在客户端建立文件:
在这里插入图片描述
将建立好的文件上传至服务器:
在这里插入图片描述
将服务器端的图片下载到客户端的当前位置:
在这里插入图片描述
2)将目录上传至服务器,-r 表示复制目录,若目录中有文件,也会将文件传输过去:
在这里插入图片描述
在服务器端查看:
在这里插入图片描述
将目录及目录下的20个文件上传到服务器:
在这里插入图片描述

将目录及目录下的文件上传到服务器,-q表示上传文件时不显示进度:
在这里插入图片描述
在服务器端查看,上传成功:
在这里插入图片描述

3 rsync命令

rsync是增量备份 ,即只备份没有备份过的,之前备份过的不再备份;而scp是完全备份,即原来服务器不管有没有备份过的东西,都备份上,没有增量的对比。

3.1 rsync和scp命令对比

1)生成密钥,实现免密登陆
2)创建一个较大的文件,下图所示的命令表示从/dev/zero文件中,截取一块放到bigfile文件里,所截取的一块大小是1M,共截取一千块。截取完成后,可以用 du -sh bigfile 命令查看文件大小:
在这里插入图片描述
3)测试scp命令上传文件所需要的时间,方便起见,可以创建一个脚本,里面写入要执行的命令:
在这里插入图片描述
vim test.sh脚本中写入的内容,time后面可以加命令,查看该命令执行时消耗的时间:
在这里插入图片描述
运行该脚本文件,其中real表示实际消耗时间,user表示用户检测消耗的时间(授权检测),sys表示系统消耗时间。根据下图所示结果来看,每次执行该命令所消耗的时间几乎一致,这是因为每次执行scp命令都是需要做完全备份的:
在这里插入图片描述
4)修改脚本文件,测试rsync命令:
在这里插入图片描述
test.sh文件中的命令修改如下:
在这里插入图片描述
可以看到第一次备份的时间和scp命令时间几乎一致,但后面两次,只作增量备份,所消耗的时间远远小与第一次:
在这里插入图片描述

3.2 rsync命令用法

  • 上传:rsync 文件 远程用户@远程主机ip:远程主机目录
  • 下载:rsync 远程用户@远程主机ip:远程主机目录 文件路径
参数含义
-r复制目录
-l复制链接
-p复制权限
-t复制时间戳
-o复制拥有者
-g复制拥有组
-D复制设备文件(/dev/pts/目录下的设备文件)

1)在客户端建立实验素材,其中“ln -s /home/lhyqjw/westosdir/file1 westosdir/test”命令表示将/home/lhyqjw/westosdir/file1文件链接到westosdir/test里:
在这里插入图片描述
在服务端建立一个监控:
在这里插入图片描述
2)复制上传目录,复制时,目录后面加‘/’和不加是有区别的,不加代表将目录和文件一起复制,链接会被忽略;加上‘/’表示只上传目录里面的内容,目录本身不会被传输过去,链接也被忽略。当不想忽略链接时,加-l参数:
在这里插入图片描述
服务器端监控,复制了目录本身及目录中的内容:
在这里插入图片描述
目录后面加上‘/’:
在这里插入图片描述
查看服务器端监控,只包含文件,不包含目录本身:

在这里插入图片描述
3)复制链接:
在这里插入图片描述
查看服务器端监控:
在这里插入图片描述
4)将这些文件全都设置成满权限,但是复制过来后,权限不变,所以加上p参数复制权限。
设置文件权限:
在这里插入图片描述
查看客户端权限:
在这里插入图片描述
将改变权限后的文件上传到服务器端:
在这里插入图片描述
服务器端的文件权限依旧没有改变:
在这里插入图片描述
添加-p参数:
在这里插入图片描述
服务器端权限上传成功:
在这里插入图片描述
5)上传文件的同时,复制用户和用户组:
在这里插入图片描述
查看服务器端监控:
在这里插入图片描述
6)上传文件的同时,复制时间:
在这里插入图片描述
查看服务器端监控:
在这里插入图片描述
7)复制设备文件
在这里插入图片描述
查看服务器端监控:
在这里插入图片描述

4 文件的归档压缩

4.1 文件归档

  • 将目录打包成文件传输,提升传输效率
  • tar命令参数及含义
参数含义
c创建
f指定文件名称
x解档
v显示打包过程
t查看
r向归档文件中添加文件
- -get解档指定文件
- -delete删除指定文件
-C指定解档路径
-Pdon’t remove “/”,默认会删除‘/’,加P参数之后保留

1)打包文件同时指定文件名称:
在这里插入图片描述
2)查看打包文档:
在这里插入图片描述
3)解档:
在这里插入图片描述
4)tar其他命令操作:
在这里插入图片描述

命令含义
tar cf etc.tar /etc/etc.tar是打包后的文件名,/etc是打包的内容
tar tf etc.tar查看打包的内容
tar rf etc.tar westosfile向归档文件中添加文件。在归档后的目录下建立了一个文件,使用查看打包内容查看后,新建文件不再里面,可以使用该命令进行添加,之后再查看,该文件在该打包内容中
tar xf etc.tar对打包好的文件解压
tar f etc.tar - -get westosfile解档指定文件,将该文件单独拿出来
tar f etc.tar --delete westosfile将归档包里面的文件删除
tar xf etc.tar -C /root/Desktop解档时,指定解档路径

4.2 文件压缩

  • zip格式压缩及解压
命令含义
zip -r mnt.tar.zip mnt.tarzip格式压缩,将mnt.tar归档好的文件,进行压缩
unzip mnt.tar.zipzip格式解压缩 ,注意解压的时候,要把原文件删除,原文件在解压出来汇报错
  • gzip格式压缩及解压
命令含义
gzip mnt.targzip格式压缩
gunzip mnt.tar.gzgzip格式解压缩
  • bzip2格式压缩及解压
命令含义
bzip2 mnt.tarbzip2格式压缩
bunzip2 etc.tar.bz2bzip2格式解压缩
  • xz格式压缩及解压
命令含义
xz mnt.tarxz格式压缩
unxz mnt.tar.xzxz格式解压缩

1)du -sh lhy.tar表示查看文件大小,zip压缩和解压缩:
在这里插入图片描述
2)gzip压缩和解压缩:
在这里插入图片描述
3)bzip2压缩和解压缩:
在这里插入图片描述
4)xz压缩和解压缩:
在这里插入图片描述
注意:压缩是对已经归档好的文件进行压缩及解压

4.3 tar+压缩

  • gzip格式打包+压缩及解压
命令含义
tar zcf etc.tar.gz /etcgzip打包+压缩
tar zxf etc.tar.gzgzip解压
  • bzip2格式打包+压缩及解压
命令含义
tar jcf etc.tar.bz2 /etcbzip2打包+压缩
tar jxf etc.tar.bz2bzip2解压
  • xz格式打包+压缩及解压
命令含义
tar Jcf etc.tar.xz /etcxz打包+压缩
tar Jxf etc.tar.xzxz解压

在这里插入图片描述
注意:这是实现打包及压缩一起进行的方式,不用先打包再压缩,节约时间且易用

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值