####文件在系统中的传输####
网络化时代数据的分享特别重要,如何传输一个文件或目录给别的用户和服务器件。下面我将介绍几种方法
1.scp命令 (远端复制命令)
分享给别人的方法,大家首先想到的是复制。scp命令提供的是一个远端复制命令。
1)scp的上传
格式:
scp 上传的文件 目标主机的用户@目标主机的ip:文件在目标主机存放的位置
scp file root@ip:dir ##上传
现在,我们做一个实验,使用两台虚拟机:
主机名 ip地址
server 172.25.254.185
client 172.25.254.11
实验:从client上传一个文件给server
2)scp 的下载
格式:
scp 目标主机的用户@目标主机的ip:目标主机的文件 存放到本地的位置
scp user@ip:file dir
实验:
从server上下载一个文件到client
2.rsync命令(数据镜像备份)
当需要传输的文件很多时,使用scp命令会非常的慢,这时候就需要数据的镜像备份了。但是同步的时候会忽略一些文件和信息,例如文件的属性,链接文件,设备文件。
格式:
rsync命令的基本用法与scp命令相同。单会增加一些参数。
参数:
-r ##同步目录
-p ##同步权限
-o ##同步文件所有人
-g ##同步文件所有组
-l ##同步链接
-D ##同步设备文件
-t ##同步文件时间戳
实验:
*)从client同步文件到server上的student用户,不加参数。观看文件属性
*)从client同步文件到server上的student用户,加参数。观看文件属性
3.tar命令(归档命令)
当需要传输多个文件时,一个一个传输特别麻烦,需要将一批文件归档成一个文件,方便传输,还可以减少传输量。tar命令就是实现这个目的的。
格式:
tar -参数 归档后的文件名 归档的文件
tar cf file.tar file1 file2
参数:
-c ##创建
-x ##解档
-v ##显示过程
-f ##指定归档文件名称
-t ##查看归档文件内容
-r ##添加文件到归档中
--get ##解档指定文件
--delete ##删除归档中的指定文件
实验:
*)将/etc目录归档为名为etc.tar的文件,并计较文件的大小
从实验结果可以看出来,tar命令可以略微压缩文件。
*)在桌面建立一个文件,将文件归档到etc.tar中,并查看etc.tar的内容。然后解档file到桌面,并删除etc.tar中的file。
4.压缩
当文件特别大的时候,远端传输非常消耗带宽,这时候需要先将文件压缩,再传输。本文提供四种压缩的方法:zip,gz,bz2,xz。
格式:
zip -r xxx.tar.zip xxx.tar
unzip xxx.tar.zip
gz
gzip xxx.tar
gunzip xxx.tar.gz
====
tar zcf xxx.tar.gz /xxx ##在归档的时候,可以进行压缩和解压
tar zxf xxx.tar.gz
bz2
bzip2 xxx.tar
bunzip2 xxx.tar.bz2
====
tar jcf xxx.tar.bz2 /xxxx
tar jxf xxx.tar.bz2
xz
xz xxx.tar
unxz xxx.tar.bz2
====
tar Jcf xxx.tar.xz
tar Jxf xxx.tar.xz
实验:
使用四种压缩方法压缩etc.tar,并比较压缩后文件的大小
从实验结果可以看出,要所效率从小到大分别是zip,gz,bzip2,xz。