Linux基础_文件在系统中的传输rsync

    当我们想远程发送给另一个主机文件时有很多种方法,今天主要介绍使用rsync命令远程传输,rsync的传输方式是创建一个镜像,不像scp命令是复制粘贴的过程,所以rsync命令要比scp命令要快很多,但同时会忽视文件的属性(权限,用户,组,时间戳),连接文件,设备文件。在scp传输的过程/mnt和/mnt/在传输之后都会存在mnt这个目录,而rsync命名的/mnt是包含目录本身,而/mnt/是不包含目录本身。

   rsync命令的主要参数:

-r    #对目录进行第归
-p    #保留权限
-o    #保留文件的所有人
-g    #保留文件的组
-t    #保留时间戳
-l    #保留连接
-D   #保留设备文件

    在默认情况下,是忽略文件属性(权限,用户,组,时间戳),链接文件,设备文件,如下图在node2主机的/mnt下创建文件及目录和连接:

Linux基础_文件在系统中的传输rsync_第1张图片

用rsync -r /mnt/ [email protected]:/mnt/将文件传输到node1主机的/mnt/下时,文件属性和连接被忽略掉了,-r表示第归:

Linux基础_文件在系统中的传输rsync_第2张图片

再添加上-p参数后,文件的777权限被保留:

Linux基础_文件在系统中的传输rsync_第3张图片

加上-o参数,原文件的所有人得到保留,为student:

Linux基础_文件在系统中的传输rsync_第4张图片

再加上-g参数,原文件的所有组被保留,为student:

Linux基础_文件在系统中的传输rsync_第5张图片

-t参数保留原文件的时间戳:

Linux基础_文件在系统中的传输rsync_第6张图片

-l参数保留了连接文件:

Linux基础_文件在系统中的传输rsync_第7张图片

/dev/pts目录下有两个字符设备文件,在默认情况下是无法传输的:

Linux基础_文件在系统中的传输rsync_第8张图片

在加上-D参数之后,就可以将设备文件传输的node1主机上了:

Linux基础_文件在系统中的传输rsync_第9张图片

你可能感兴趣的:(运维,linux_基础命令)