rsync方法传输系统文件&文件打包及压缩

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接: https://blog.csdn.net/daidadeguaiguai/article/details/102574795

1.什么叫linux系统的文件传输?

在日常生活当中我们在两台主机之间拷贝东西使用u盘,这样比较麻烦。
在linux系统当中,为了方便起见,我们直接使用命令来拷贝文件。

2.搭建实验环境

  •  防止真机被搞坏,所以我们在两台虚拟机之间进行文件传输
  •  但是前提是必须保证传送方的文件是存在的
  •  也就是先在文件发送方的虚拟机里面建立文件,然后再传输给文件接收方的虚拟机

第一步:重置两台虚拟机,保证纯净的实验环境,然后重新配置ip,依旧是desktop的ip为172.25.254.170,改名为client.westos.com。

server的ip为172.25.254.90,改名为server.westos.com,当然,此处可以不需要改名字,改名字只是为了便于区分身份。配置网络ip用命令nm-connection-editor。过程请看上一篇博客。

server主机的ip为172.25.254.90

client即desktop主机的ip为172.25.254.170

第二步:这里我用真机的两个shell分别远程控制两个虚拟机,文件传输的效果直接在两个虚拟机shell中显示,

与图形界面无关。(原因:真机的反应速度快)

1)真机控制client即desktop主机:

发现远程控制成功,在真机里面新建文件出现在了client桌面。

真机控制server主机:

发现远程控制成功,在真机里面新建文件出现在了server桌面。

接下来的实验可以直接在两台虚拟机的shell里面完成。

3.文件传输命令(rsync)

(1)一般命令:scp (一般使用scp命令在两个系统之间至直接拷贝文件比较慢)

  1.  scp file user@ip:/dir     相当于上传(将自己主机上面的文件复制到远程主机上面)
  2.  scp  user@ip:/file  dir   相当于下载(将远程主机上面的文件复制到自己的主机上面)

具体的上传和下载步骤在上一篇博客sshd服务里面已经演示过。
(2)远程同步命令:rsync

  1. rsync(远程同步命令拷贝文件更快,rsync命令在linux里面好用,相当于远程镜像)
  2. rsync  远程同步命令,速度快,但是会默认忽视文件属性、链接文件、设备文件

   相关参数说明

  •     r      同步目录
  •     p     同步权限
  •     o     同步文件所有人
  •     g     同步文件所有组
  •     l       同步链接
  •     D     同步设备文件
  •     t       同步文件时间戳

注意:

  •     当文件比较小时,scp和rsync传输文件的速度差不多
  •     当文件比较大时,scp和rsync传输文件的速度相差很大,rsync 比scp快。
  •     传输速度的快慢不是取决于文件的数量,而是取决于文件的大小

实验过程如下:

搞清楚两台主机

我现在将左边client作为发送方,右边server作为接受方

rysnc -r   ##同步目录

注意:/mnt 与 /mnt/的区别在于

  • /mnt     传输mnt这个目录以及mnt下的文件
  • /mnt/     传输mnt这个目录下的文件

rsync -p   ##同步权限

rsync -o   ##同步文件所有人

rsync -g   ##同步文件所有组(注意:只是文件)

rsync -l  ##同步链接

rsync -D   ##同步设备文件

rsync -t   ##同步文件时间戳(文件的)

注意:

  • 两个shell一个用来操作,另一个用来查看效果
  • 操作前先建立一些文件,确保操作过程中传输的文件或者目录是存在的
  • rsync此命令在传输的过程中不会特别详细,会忽略一些内容,需要在命令后面添加一些参数来确保完整

###文件归档###

  • 归档是把多个文件变成一个文件,也称将多个文件打包成一个文件
  • 归档的目的:归档打包是为了文件在多台主机之间传输的更快

注意:

  •     传输速度快不快取决于文件大小,并不是看文件数量的多少
  •     打包不是压缩,文件大小并没有改变

实验环境:此实验用真机控制一台虚拟机,在真机的shell里面输入打包命令,效果显示在虚拟机的图形界面上,我用真机控制Desktop主机(ip为172.25.254.170)

tar 归档文件命令
tar命令后面的常用相关参数说明如下:

  •    -c     创建文档 (也叫创建一个包),必须加
  •    -f      指定归档文件名称(就是指明把这个东西放到哪里,否则没有意义)必须加上-f,否则会乱码
  •    -v      显示打包的过程(显示都打包了哪些文件)
  •    -x      解档(将包解开)
  •    -t      查看归档文件内容(查看包中的内容)
  •    -r      添加文件到归档中(将别的文件放到这个包中)
  •   --get  解档指定文件(指定将哪个文件解出来)
  •   --delete  删除归档中的指定文件(指定删除文档中的哪个文件)
  •    -C          指定解档目录(指定将解出来的东西放到哪)
  •    tar  cf etc.tar /etc 表示将根目录下的etc这个目录打包成一个etc.tar 放到桌面

注意:弄清楚目录 ,要会切换目录,cf表示create file

tar的常用命令格式如下:

tar cf etc.tar /etc

tar cfv etc.tar /etc

touch file
tar cf etc.tar /etc file

touch file
tar cvf etc.tar /etc file

tar tf tec.tar

 touch file
tar cf etc.tar /etc
tar rf etc.tar file

tar f etc.tar --delete file

tar xf etc.tar

tar f etc.tar --get etc

tar xf etc.tar -C /mnt/

tar cf /mnt/etc.tar /etc

###压缩###

  • linux下的压缩格式一共有4种 : zip 压缩 、gz压缩、bz2压缩、xz压缩
  • 压缩对于来说i大文件更明显,压缩时间长效果更明显
  • 包括:先打包再压缩;打包的同时压缩,解压
  • 每次压缩前后使用du -sh 目录名, 查看大小,进行对比

注意问题:打包的时候不算链接(快捷方式的大小) 但是du -sh这个命令查看大小会算上链接的大小
此实验用真机控制一台虚拟机,在真机的shell里面输入打包命令,效果显示在虚拟机的图形截面上
因此du -sh /etc/ 与du -sh etc.tar大小不同

(1)zip 压缩:
格式:zip -r xxx.tar.zip xxx.tar 将后面已经打包的文件压缩成前面的文件格式


unzip xxx.tar.zip 将这个压缩文件解压


(2)gz压缩:
格式:gzip xxx.tar 直接压缩后面的打包文件


gunzip xxx.tar.gz 解压


tar zcf xxx.tar.gz /xxx 打包的同时压缩
tar zxf xxx.tar.gz 解压


(3)bz2压缩:
格式:bzip2 xxx.tar 直接压缩打包的文件


bunzip2 xxx.tar.bz2 解压


tar jcf xxx.tar.bz2 /xxxx 打包的同时压缩


(4)xz压缩:
格式:xz xxx.tar 直接压缩打包文件


unxz xxx.tar.xz 解压


tar Jcf xxx.tar.xz /xxx 打包的同时压缩

tar Jxf xxx.tar.xz 解压


结论:通过实验对比4种压缩后的文件大小可知, zip 压缩 、gz压缩、bz2压缩、xz压缩的压缩效果越来越好。

猜你喜欢

转载自blog.csdn.net/daidadeguaiguai/article/details/102574795