库与包

archive

tar包:负责打包、解包,注意tar不负责压缩和解压

打包实现原理

先创建一个文件x.tar,然后向x.tar写入tar头部信息。打开要被tar的文件,向x.tar写入头部信息,然后向x.tar写入文件信息。重复第二步直到所有文件都被写入到x.tar中,关闭x.tar,整个过程就这样完成了

解包实现原理

先打开tar文件,然后从这个tar头部中循环读取存储在这个归档文件内的文件头信息,从这个文件头里读取文件名,以这个文件名创建文件,然后向这个文件里写入数据

zip包:打包、解包,并进行压缩

压缩实现原理

工具类:bufio、bytes、string、path、strconv、io/ioutils等,没有领域知识,比较简单

系统包:os、net、sync、fmt

linux 说明

linux文件头信息(标志)

使用file命令可以查看文件类型

1
2
3
[root@localhost ~]# file test ./test/1
test: directory
./test/1: ASCII text