栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 系统运维 > 运维 > Linux

Part7——Linux系统中的文件传输

Linux 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

Part7——Linux系统中的文件传输

一、实验环境的搭建

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

创建新虚拟机命令为:

westos-vnctl create nodeb

查看虚拟机状态命令:

virt-manager

设定虚拟机默认设置:

systemctl set-default multi-user.target

设定虚拟机主机名:

hostnamectl set-hostname westosb.westos.org

设定虚拟机IP地址:

nm-connection-editor

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

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:重复检测,即不再复制已经存在的文件及目录,但缺点也很明显,可能不会完全复制。

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

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

 2、rsync用法

通用格式:

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

常用参数:

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

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

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

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

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

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

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

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

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

tar cd etc.tar /etc

 其中,为打包后的文件名称,为要打包的文件夹。

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

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

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

2、文件的压缩

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

(1)zip

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

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

 (2)gzip

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

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

(3)bz2

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

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

(4)xz

xz  mnt.tar                              #xz格式压缩
unxz    mnt.tar.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

这里对这些文件分别压缩成不同格式,压缩成格式需要添加参数,压缩成格式需要添加参数,压缩成格式需要添加参数。同样的,解压缩时也是需要加上这些参数。

 

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/342277.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号