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


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章