Linux入门之系统文件远程传输

一、文件的远程传输

  1. scp
scp file user@ip:dir      ##文件的上传
scp user@ip:/file dir     ##文件的下载

示例一:将客户端的daydayup文件上传到服务器

scp daydayup [email protected]:/root/Desktop  ##上传

在这里插入图片描述
示例二:将服务端的文件下载到客户端

scp [email protected]:/root/Desktop/* .    ##下载

在这里插入图片描述
注意:我们通过scp命令对文件进行传输,当文件特别大时,传输速度特别缓慢,为了提高传输效率,我们通过一个新的传输命令rsync同步传输,以下是对它的用法介绍。
2. rsync
rsync相比scp传输,rsync远程同步,速度快,但是它默认会忽略文件属性、链接文件和设备文件等。那么我们该怎样将文件完整一致的传输过来。

命令 说明
rsync -r 同步目录
rsync -p 同步权限
rsync -o 同步文件所有人
rsync -g 同步文件所有组
rsync -l 同步链接
rsync -D 同步设备文件
rsync -t 同步文件时间戳

示例一:将服务端 /etc/文件同步到客户端的 /westos目录下
在这里插入图片描述
注意:同步文件时 /etc/同步的是文件的内容,/etc 同步的是目录本身,不包含目录中的内容。

示例二:将服务端中的文件完全一致(包括文件的权限、所有人、所有组、时间戳和连接)的同步到客户端
(1)准备工作
创建文件,修改文件的权限,修改文件的所有人和所有组。由于客户端和服务端的所有人和所有组都是root,因此我们需要对服务端进行修改,以达到明显的实验效果。
在这里插入图片描述
(2)实验相关操作

rsync -r /mnt/ [email protected]:/mnt        ##同步目录中的文件

在这里插入图片描述
我们可以看到文件虽然同步到了客户端,但是文件的权限、所有人、所有组和时间戳并未改变。

rsync -rp /mnt/ [email protected]:/mnt        ##同步文件的权限

在这里插入图片描述

rsync -rpo /mnt/ [email protected]:/mnt        ##同步文件的所有人

在这里插入图片描述

rsync -rpog /mnt/ [email protected]:/mnt        ##同步文件的所有组

在这里插入图片描述

rsync -rpogt /mnt/ [email protected]:/mnt        ##同步文件的时间戳

在这里插入图片描述

rsync -rpogtl /mnt/ [email protected]:/mnt/        ##同步文件的链接

注意:链接文件file1与file1是两个不同的文件
在这里插入图片描述
二、文件的归档
tar命令用来归档文件,将很多文件打包变成1个文件

命令 说明
tar -c 创建
tar -v 显示过程
tar -f 指定归档文件名称
tar -x 解档
tar -t 查看归档文件内容
tar -r 添加文件到归档中
tar --get 解档指定文件
tar --delete 删除归档中的指定文件
tar -C 指定解档目录

注意:使用tar命令,其中的属性需要配对使用
示例:

tar cf etc.tar /etc/    ##将/etc/打包为etc.tar

在这里插入图片描述

tar cvf etc.tar /etc/    ##将/etc/打包为etc.tar,并显示归档过程
tar tf etc.tar        ##查看名为etc.tar文件的归档内容

在这里插入图片描述

 tar xf etc.tar        ##解档文件
tar rf etc.tar file file1    ##添加file文件到etc.tar归档

在这里插入图片描述

tar f etc.tar --get etc    ##解档etc.tar中的etc文件

在这里插入图片描述

tar f etc.tar --delete  file    ##删除归档中指定的file文件

在这里插入图片描述

tar f etc.tar -C /mnt/     ##将etc.tar解档到指定目录/mnt/

在这里插入图片描述
三、文件的压缩

  1. zip压缩
zip -r xxx.tar.zip   xxx.tar     ##压缩文件,格式为.zip
unzip xxx.tar.zip                ##解压指定压缩包

注意:
在压缩文件前,需要将要压缩的文件归档,不然会报错。
在这里插入图片描述
示例一:将/etc/文件进行归档,并通过zip命令压缩归档文件
在这里插入图片描述
示例二:通过unzip命令实现对压缩文件的解压
在这里插入图片描述
2. gzip压缩

gzip xxx.tar         ##压缩文件,格式为.gz
gunzip xxx.tar.gz    ##解压文件

在这里插入图片描述
或者是:

 tar zcf xxx.tar.gz /xxx
 tar zxf xxx.tar.gz

示例一:在归档的同时压缩文件
在这里插入图片描述
示例二:解压并解档文件
在这里插入图片描述
3. bzip2压缩

bzip2 xxx.tar           ##压缩文件,格式为.bz2
bunzip2 xxx.tar.bz2     ##解压文件

或者是:

 tar jcf xxx.tar.bz2 /xxx
 tar jxf xxx.tar.bz2
  1. xz压缩
xz xxx.tar         ##压缩文件,格式为.xz
unxz xxx.tar.xz    ##解压文件

或者是:

tar Jcf xxx.tar.xz /xxx
tar Jxf xxx.tar.xz

由于bzip2压缩、xz压缩与gzip压缩方式和解压方式一致,在这里我们不做相同的示例。
注意1:gzip, bzip2, xz压缩xxx.tar后,生成xxx.tar.gz/bz2/xz会将原来的xxx.tar替换掉。
注意2:我们可以使用du -sh * 或者是du -sh 压缩/解压文件名称,来查看压缩文件或解压文件的大小。

猜你喜欢

转载自blog.csdn.net/qq_43830639/article/details/89161626
今日推荐