系统中的文件传输,两个系统如何进行有效的信息交互,是一件很重要的事情,因为我们现在生活在一个互联网的环境下,所以和外界的信息交互是很重要的事情,今天就来说说两个系统之间几个简单的信息交互的方式。
一.文件归档(打包)
1.
文件归档,就是把多个文件变成一个归档文件。(文件归档的作用很大,因为多个文件传输的话不但速度慢,而且容易丢失数据。将多个文件整合为一个的话,即可以加快传输速率,又可以降低文件丢失的风险。)
2.
tar c ##创建
f ##指定归档文件名称
t ##显示归档文件中的内容
r ##向归档文件中添加文件
--get ##取出单个文件
--delete ##删除单个文件
x ##取出归档文件中的所有内容
-C ##指定解档目录
-z ##gz格式压缩
-j ##bz2格式压缩
-J ##xz格式压缩
打包会把文件之前的根去掉,这个是必需的,因为如果不去掉的话解包的时候就会覆盖以前目录的文件。
二.压缩
du -sh 文件名 ##查看一个文件的大小
gz
gzip etc.tar ##压缩成gz格式
gunzip etc.tar.gz ##解压gz格式压缩包
tar zcf etc.tar.gz /etc ##把文件归档为tar并压缩成gz
tar zxf etc.tar.gz ##解压并解档gz格式压缩包
bz2(此类压缩方式压缩纯文本文件效果会比较好,不是纯文本的话很不稳定)
bzip2 etc.tar ##压缩成bz2格式
bunzip2 etc.tar.bz2 ##解压bz2格式压缩包
tar jcf etc.tar.bz2 /etc ##把文件归档为tar并压缩成bz2
tar jxf etc.tar.bz2 ##解压并解档bz2格式压缩包
xz
xz etc.tar ##压缩成xz格式
unxz etc.tar.xz ##解压xz格式压缩包
tar Jcf etc.tar.xz /etc ##把文件归档为tar并压缩成zx
tar Jxf etc.tar.xz ##解压并解档xz格式压缩包
zip(这一类的压缩方式同样是压缩纯文本文件效果比较好。)
zip -r etc.tar.zip etc.tar ##压缩成zip格式
unzip etc.tar.zip ##解压zip格式压缩包
如何打包压缩一部完成?
man tar (man 这个命令之前提到过,很重要,当你对一个命令有不懂的地方的时候,他可以给你很大的帮助)
但是只有xz,gz,bz2这三种压缩方式可以一步打包压缩
三.系统中的文件传输
要想在两个系统之间传输文件,记得之前要检查连接是否通畅。
scp file username@ip:/dir ##上传
scp username@ip:/dir/file /dir ##下载
直接传送的速度比较慢,归档麻烦的地方是需要加压和解压,远程同步则不需要这些繁琐的步骤。所做的所有事情都是二进制。scp所做的则是先转化为二进制再转化为ASCII码,所以效率会低很多。
rsync [参数] file username@ip:/dir
rsync -r ##同步目录
-l ##不忽略链接
-p ##不忽略文件权限
-t ##不忽文件时间戳
-g ##不忽文件所有组
-o ##不忽文件所有人
-D ##不忽略设备文件
rsync 有一点需要注意,在你输入需要传输的目录时,最后加不加根是有区别的,加根则是传输该目录下的所有文件,不加根则是将这个目录传输过去,在下面的截图会反映出来。