稀疏文件是指一个文件中大部分内容都是空字符的文件。
如虚拟机创建的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
转载于:https://blog.51cto.com/jingwu/1933473