IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 系统运维 -> Part7——Linux系统中的文件传输 -> 正文阅读

[系统运维]Part7——Linux系统中的文件传输

一、实验环境的搭建

需要两台主机并且保证这两台主机之间是可以通信的,所以这里我们创建两个虚拟机

创建新虚拟机命令为:

westos-vnctl create nodeb

查看虚拟机状态命令:

virt-manager

设定虚拟机默认设置:

systemctl set-default multi-user.target

设定虚拟机主机名:

hostnamectl set-hostname westosb.westos.org

设定虚拟机IP地址:

nm-connection-editor

在弹出的图形界面做如下设置(应该先设置名称,再设置<Ethernet>网卡,再设置<IPv4>):

IP地址设定和主机的前三位都一致,只改变最后一位。

远程连接虚拟机:最后的IP地址是目标虚拟机的IP地址。

ssh -l root 172.25.254.100

我这里设置的两个虚拟机的IP 分别为westosa--<172.25.254.100>和westosc--<172.25.254.200>。

创建并设置好两个虚拟机后实验环境就搭建好了。

二、scp命令的使用方法

需要在一台主机中远程操作另一台主机的文件,就需要用到远程命令。

1、把远程主机的文件复制到本地(下载)

?#复制 指定远程用户下的指定路径文件 本机指定路径

scp ? root@172.25.254.200:/mnt/* ?? /mnt

先在主机westosc中指定位置创建文件。

?再在主机westosa中通过远程复制命令,可以看到文件已经从远程主机westosc中复制过来了。

#复制 指定远程用户下的指定路径目录 本机指定路径

scp? -r ????? root@172.25.254.200:/mnt/testdir ?? /mnt

?复制远程主机的目录时,需要加上参数<-r>表示递归,不加的话会导致“找不到指定目录”

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

#复制 指定远程用户下的指定路径目录 本机指定路径

scp ? /mnt?? root@172.25.254.200:/mnt/

scp ? -r???? /mnt?? root@172.25.254.200:/mnt/??????????? #-r 表示复制目录

scp ? -q ??? /mnt?? root@172.25.254.200:/mnt/?????????? #-q表示传输文件时不显示进度

与上一步中“下载”类似,只是改变了原目录和目标目录的位置,这里先在本地主机westosa中创建文件和文件夹,分别复制到远程主机westosc的指定目录中,参数<-r>可以复制文件夹,参数<-q>可以在执行操作时不显示进度。

?二、rsync命令

1、rsync与scp命令的对比

rsync:重复检测,即不再复制已经存在的文件及目录,但缺点也很明显,可能不会完全复制。

这里先使用<scp>命令从远程主机到本地主机复制文件到本地主机,然后使用<scp>执行重复操作,可以看到是重新复制了一次,比较费时间;使用<rsync>命令后可以看到不会再复制已存在的文件,命令执行几乎是瞬间完成的。

要比较两条命令的时间,可以在命令的最开始加上<time>命令。

?2、rsync用法

通用格式:

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

常用参数:

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

为了练习这个命令,接下来先搭建好实验环境:

先在westosb远程主机中执行已下命令,<touch>创建文件,<chmod>更改文件权限,<chown>更改所有人所有组,<ln>创建链接,<ls>查看文件属性。

?这里需要注意的一点是,复制的源目录带</>和不带</>效果不一样,不带</>会把目录本身都复制过来,带上</>会把目录中内容但不包括木不本身。

time rsync -r root@172.25.254.150:/mnt /mnt

time rsync -r root@172.25.254.150:/mnt/ /mnt

同步链接就加上参数<-l>,同步权限就加上参数<-p>。

?同步用户就加上<-o>,同步用户组就加上<-g>,同步原文件时间就加上<-t>。

?在远程服务中,设备文件无法同步,所以要强制同步设备文件就需要使用参数<-rD>,可以看到,再加上了参数<-D>后,远程设备中的设备文件已经复制过来了。

?三、文件的归档与压缩

为了解决复制大量文件时的耗时问题,压缩成一个文件后传输速度会更快。

1、文件归档命令:tar

注意,这里边的参数<f>几乎需要与大部分参数组合使用。

tar???? ? ? ? c??????? ##创建
????????????????f??????? ##指定文件名称
????????????????x??????? ##解档
????????????????v????????##现实过程
????????????????t??????? ##查看
????????????????r??????? ##向归档文件中添加文件
????????????????--get????????##解档指定文件

???????? ? ?? ? --delete????????##删除指定文件
????????????????-C????????##指定解档路径
????????????????-P????????##don't remove "/"

实验步骤:先在远程主机westosb中使用<cf>参数把要测试的文件夹打包,打包完成后可用<tf>参数查看打包后的文件。

tar cd etc.tar /etc

?其中,<etc.tar>为打包后的文件名称,</etc>为要打包的文件夹。

?再次使用远程复制命令,将压缩包复制到westosa中。可以看到极大缩短了传输时间。

?复制过来后,再在本地主机中使用参数<xf>把压缩包解压,就得到需要的目录。

如果要显示打包或反打包的过程,可以使用参数<v>来查看过程。

2、文件的压缩

注意:文件的压缩都是建立在归档的基础上的,先归档成<tar>再压缩。

(1)zip

zip? -r? mnt.tar.zip ??mnt.tar??????????#zip格式压缩???????????????????????????????????????????????????????????????????????? unzip?? mnt.tar.zip ??? ? ??? ????????#zip格式解压缩

这里先用<tar>命令打包好一个文件<etc.tar>,可以看到文件大小27M,再使用zip命令把<etc.tar>文件压缩成<etc.tar.zip>,可以看到文件大小已经变为6.7M。使用<unzip>命令可以把压缩的文件再恢复出去,大小也恢复成原文件的大小。

?(2)gzip

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

这种格式执行起来相对简单一些,但处理的也是打包后的<etc.tar>文件,压缩后的文件<etc.tar.gz>大小由原来的27M减小到6.7M。

(3)bz2

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

这种格式执行起来也很简单,处理的也是打包后的<etc.tar>文件,压缩后的文件<etc.tar.bz2>大小由原来的27M减小到5.1M。(也相比之前更费时间一些)

(4)xz

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

<xz>格式的文件压缩也很简单,也是需要先打包成“tar”文件。压缩后的文件大小变为4.4,比之前更小了,花费时间也更长了。

3、tar+压缩

鉴于上一步骤中先打包后压缩,操作比较麻烦,所以可以执行以下命令使文件的打包和压缩一步完成。

(1)gzip

tar zcf etc.tar.gz /etc
tar zxf etc.tar.gz

(2)bzip2

tar jcf etc.tar.bz2 /etc
tar jxf etc.tar.bz2

(3)xz

tar Jcf etc.tar.xz /etc
tar Jxf etc.tar.xz

这里对这些文件分别压缩成不同格式,压缩成<gzip>格式需要添加参数<z>,压缩成<bzip2>格式需要添加参数<j>,压缩成<xz>格式需要添加参数<J>。同样的,解压缩时也是需要加上这些参数。

?

  系统运维 最新文章
配置小型公司网络WLAN基本业务(AC通过三层
如何在交付运维过程中建立风险底线意识,提
快速传输大文件,怎么通过网络传大文件给对
从游戏服务端角度分析移动同步(状态同步)
MySQL使用MyCat实现分库分表
如何用DWDM射频光纤技术实现200公里外的站点
国内顺畅下载k8s.gcr.io的镜像
自动化测试appium
ctfshow ssrf
Linux操作系统学习之实用指令(Centos7/8均
上一篇文章      下一篇文章      查看所有文章
加:2021-10-23 12:51:46  更:2021-10-23 12:53:12 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/15 20:27:46-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码