linux系统中的文件传输
Linux系统中的文件传输
- 1 实验环境
- 2 scp命令
- 3 rsync命令
- 3.1 rsync和scp命令对比
- 3.2 rsync命令用法
- 4 文件的归档压缩
- 4.1 文件归档
- 4.2 文件压缩
- 4.3 tar+压缩
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 | 指定解档路径 |
-P | don’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.tar | zip格式压缩,将mnt.tar归档好的文件,进行压缩 |
unzip mnt.tar.zip | zip格式解压缩 ,注意解压的时候,要把原文件删除,原文件在解压出来汇报错 |
- gzip格式压缩及解压
命令 | 含义 |
---|---|
gzip mnt.tar | gzip格式压缩 |
gunzip mnt.tar.gz | gzip格式解压缩 |
- bzip2格式压缩及解压
命令 | 含义 |
---|---|
bzip2 mnt.tar | bzip2格式压缩 |
bunzip2 etc.tar.bz2 | bzip2格式解压缩 |
- xz格式压缩及解压
命令 | 含义 |
---|---|
xz mnt.tar | xz格式压缩 |
unxz mnt.tar.xz | xz格式解压缩 |
1)du -sh lhy.tar表示查看文件大小,zip压缩和解压缩:
2)gzip压缩和解压缩:
3)bzip2压缩和解压缩:
4)xz压缩和解压缩:
注意:压缩是对已经归档好的文件进行压缩及解压
4.3 tar+压缩
- gzip格式打包+压缩及解压
命令 | 含义 |
---|---|
tar zcf etc.tar.gz /etc | gzip打包+压缩 |
tar zxf etc.tar.gz | gzip解压 |
- bzip2格式打包+压缩及解压
命令 | 含义 |
---|---|
tar jcf etc.tar.bz2 /etc | bzip2打包+压缩 |
tar jxf etc.tar.bz2 | bzip2解压 |
- xz格式打包+压缩及解压
命令 | 含义 |
---|---|
tar Jcf etc.tar.xz /etc | xz打包+压缩 |
tar Jxf etc.tar.xz | xz解压 |
注意:这是实现打包及压缩一起进行的方式,不用先打包再压缩,节约时间且易用
linux系统中的文件传输相关推荐
- linux系统中加密文件传输助手,Linux 下的安卓文件传输助手!
如果你尝试在 Ubuntu 下连接你的安卓手机,你也许可以试试 Linux 下的安卓文件传输助手.本质上来说,这个应用是谷歌 macOS 版本的一个克隆.它是用 Qt 编写的,用户界面非常简洁,使得你 ...
- Linux系统中的文件传输(scp命令,rsync命令)
实验环境 需要2台主机并且保证这两台主机是可以通信的 linux_westos : 172.25.254.10 westos_lue : 172.25.254.20 systemctl disab ...
- Linux系统中的文件传输(scp和rsync命令的使用)
一.实验环境 两台可以通信的主机 rhel7: 192.168.1.20 rhel8: 192.168.1.10 二.scp命令 scp 本地文件 远程主机用户@远程主机ip:远程主机目录 scp 远 ...
- 运维大法之Linux系统中的文件传输
1.scp和rsync命令 实验环境 需要2台主机并且保证这两台主机是可以通信的 ①localhost.localdomain 172.25.254.10 ②node.westos.com 172.2 ...
- Linux系统中的文件传输优化
目录 一.实验环境 二.scp 命令 1.在rhel7中建立实验素材 2.测试 三.rsync命令 四.scp与 rsync的比较 五. 文件的归档与压缩 1.文件归档 2.文件的压缩 3.tar+压 ...
- Android 系统(68)---使用Xshell在Windows系统和Linux系统之间进行文件传输
使用Xshell在Windows系统和Linux系统之间进行文件传输 Windows系统在安装虚拟机centos系统之后,如何进行两者之间的文件传输和互操作,或者如何在Windows端使用Xshell ...
- 将windows系统主机上的文件拷贝到Linux系统中;将Linux系统中的文件粘贴到Windows主机中
本篇文章主要实现将windows主机上的文件复制到Linux服务器上,这里为了方便演示,我举例放在C盘中的一个test101.py文件,现在我要将它放在Linux系统的home下的shao目录下. 首 ...
- android程序移动到Linux,Android应用开发之Android 系统 -- 使用Xshell在Windows系统和Linux系统之间进行文件传输...
本文将带你了解Android应用开发之Android 系统 -- 使用Xshell在Windows系统和Linux系统之间进行文件传输,希望本文对大家学Android有所帮助. 使用Xshell在Wi ...
- linux系统中清空文件内容的三种方法
1.使用vi/vim命令打开文件后,输入"%d"清空,后保存即可.但当文件内容较大时,处理较慢,命令如下: vim file_name :%d :wq 2.使用cat命令情况,命令 ...
最新文章
- ceres实现的pnp解算后的位姿优化代码详解
- 源数据文件(.csv)中的空格串和空串对pandas读取结果的影响
- 文明,在于传承,而不在于遗忘。
- JS跨域访问(ajax跨域)
- RAC的搭建(一)--安装环境准备
- SAP成都研究院小伙伴们开发的一个SAP C4C POC - 通过名片扫描的方式录入联系人数据到系统
- IntelliJ IDEA打开错误 _CGContextSetAllowsAcceleration
- HDMI中的视频时序分析
- 关于STM32F407和103的主频
- 特征锦囊:特征无量纲化的常见操作方法
- 入门图形学:雪地特效(一)
- python恶搞代码打开对方摄像头_Python 3 利用 Dlib 实现摄像头实时人脸检测和平铺显示...
- 阿里巴巴编程规范(new)
- 回想那些年我抛弃的技术 (纯属个人看法)
- Auto.js视频笔记
- 尚硅谷 JavaScript 笔记(张晓飞 2019 高级版)
- latex的图的排列方法_latex两幅图上下排列
- RT-Thread记录(十二、I/O 设备模型之UART设备 — 使用测试)
- skr!《爱情公寓》电影版来了
- C语言版 彩色俄罗斯方块 控制台输出
热门文章
- nginx 集群部署_入门级实操教程!从概念到部署,全方位了解K8S Ingress!
- 基因 ID 匹配利器
- 发现了阿里云 APP 的一个小 BUG
- R语言:聚类分析hclust
- 生信小白的福音——免费在线分析扩增子数据SILVAngs
- R语言ggplot2可视化可视化聚类图、使用geom_encircle函数绘制多边形标定属于同一聚类簇的数据点、并自定义每个聚类簇数据点的颜色、多边形框的颜色(Cluster Plot)、主副标题题注
- R语言plotly可视化:plotly可视化水平直方图(Horizontal Histogram)
- R语言exists函数检查数据对象是否存在实战
- 偏依赖图(Partial Dependence Plots)是什么?排列重要性(Permutaion Importance)是什么?如何解读?有什么意义?
- R语言创建频数表和列联表