linux下压缩并分割稀疏文件

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了linux下压缩并分割稀疏文件相关的知识,希望对你有一定的参考价值。

稀疏文件是指一个文件中大部分内容都是空字符的文件。

如虚拟机创建的100G的磁盘文件是,但系统不会马上分割出100G的空间,而是仅标识出虚拟硬盘文件是稀疏文件,待到数据存储时,再分配空间,这样可以大大的节约磁盘利用率。


稀疏文件在进行cp/scp/split/cat时,会由标识的稀疏文件变为非稀疏文件文件,而导致占用大量的空间。

这不是我们要的结果,可以用下面的方式来复制/移动/分割稀疏文件。


创建测试用稀疏文件,大小1G:

dd if=/dev/zero of=test_sparse.log bs=1 count=1 seek=1024M


查看文件:

ls -alsh test_sparse.log 

4.0K -rw-rw-r-- 1 lidq lidq 1.1G Jun  8 15:10 test_sparse.log


du -sh test_sparse.log 

4.0K test_sparse.log


可以看到两者的文件大小是不一样的。


用 tar 压缩稀疏文件:

tar -zcSvf  test_sparse.log.tar.gz test_sparse.log


分割压缩文件:

split -b 1M -d -a 4 test_sparse.log.tar.gz test_sparse.log.tar.gz-


合并分割文件:

cat test_sparse.log.tar.gz-* > test_sparse.log.tar.gz


稀疏文件(百度百科):http://baike.baidu.com/item/%E7%A8%80%E7%96%8F%E6%96%87%E4%BB%B6


本文出自 “老农” 博客,请务必保留此出处http://jingwu.blog.51cto.com/921628/1933473

以上是关于linux下压缩并分割稀疏文件的主要内容,如果未能解决你的问题,请参考以下文章

Linux 将文件打包压缩并分割成指定大小

tar分层压缩

我想在linux下查找当前目录下名为Bin的文件夹并直接zip,命令怎么写

Linux下压缩指令

Linux下使用cronolog切割服务器日志文件的方法

Linux系统下分割tomcat日志