在Linux系统中我们经常进行文件的传输,如果你对文件不进行任何处理,特别是在进行大文件传输时,那是非常耗时的。下面向大家介绍文件归档及压缩,经过归档和压缩之后文件传输的速率会大大提高。
一、文件归档
文件归档就类似于快递打包,通过文件归档你可以将多个文件打包成一个文件然后进行传送,如下图:
如果你不进行文件归档,直接进行传输,传输速度时比较慢的,特别是大文件,如下图:
文件归档有如下种命令:
(1)创建文件归档:tar c如图:
(2)制定归档文件名称:tar f如图:
(3)显示归档文件中的内容:tar t如图:
(4)向归档文件中添加文件:tar r如图:
(5)取出单个文件:tar --get 如图:
(6)删除单个文件:tar --delete如图:
(7)取出归档文件中的所有内容:tar x如图:
二、文件压缩
1.gz格式压缩
gzip etc.tar ##压缩成gz格式 如图:
gunzip etc.tar.gz ##解压gz格式压缩包
2.bz2
bzip2 etc.tar ##压缩成bz2格式
bunzip2 etc.tar.bz2 ##解压bz2格式压缩包
3.xz格式压缩
xz etc.tar ##压缩成xz格式
unxz etc.tar.xz ##解压xz格式压缩包
4.zip格式压缩
zip -r etc.tar.zip etc.tar ##压缩成zip格式
unzip etc.tar.zip ##解压zip格式压缩包
三、文件压缩并归档
1.文件归档并压缩为gz格式:tar zcf etc.tar.gz /etc如图:
解压并解档gz格式压缩包:tar zxf etc.tar.gz如图
2.文件归档并压缩为bz2格式:tar jcf etc.tar.bz2 /etc如图:
解压并解档bz2格式压缩包:tar jxf tc.tar.bz2如图:
3.文档归档并压缩为xz格式:tar Jcf etc.tar.xz /etc如图:
解压并解档xz格式压缩包:tar Jxf etc.tar.xz
四、系统中的文件传输
说完压缩与归档,那么文件是如何通过命令实现在两台主机之间的传输的呢?
1.scp命令
scp命令可以实现两台主机之间文档的传输,传输方式主要有下面两种:
(1)文件上传(注:自己传给别人):scp file username@ip:/dir其中file是你要传送的 文件,/dir是你传送给别人文件存储在对方的目录。
(2)下载(注:自己从另一台主机下载需要的文件):scp username@ip:/dir/file /dir, 其中/dir/file是你要下载的文件,/dir你要将文件存放的位置。
2.rsync文件同步
之前的博客已经介绍了如何实现时间同步和日志同步,现在介绍命令rsync实现文件同步:
命令为:rsync [参数] file username@ip:/dir,这个命令是将对方的file文件同步到自己的/dir目录,这个命令的参数如下:
(1)同步目录:-r
(2)不忽略链接:-l
(3)不忽略文件权限:-p
(4)不忽文件时间戳:-t ,下图中第一幅图时间显示格式为24小时,第二幅图格式为12小时。
(5)不忽文件所有组:-g
(6)不忽文件所有人:-o
(7)不忽略设备文件:-D