稀疏文件是指一個文件中大部分內容都是空字符的文件。
如虛擬機創建的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