欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

稀疏文件变成了普通文件

程序员文章站 2022-03-04 20:41:10
...
原本有一个 30G 的稀疏文件 file.img,实际占用 3.5G 的空间。但压缩成 file.img.tar.gz 后再解压出来,发现实际占用了 30G 空间,稀疏文件不稀疏了。为什么呢?原来是因为在压缩时没有加上 -S 参数。此参数的作用是指明被压缩文件是一个稀疏文件,如果没有这个参数,程序会填充稀疏文件,导致变成了一个普通文件。

因此,以后在压缩稀疏文件时需要加上 -S 参数:

# tar zcSf file.img.tar.gz file.img

这样再解压就仍是一个稀疏文件:

# tar zvxf file.img.tar.gz
# du file.img -h
3.5G file.img

如果现在已经变成普通文件,则可以通过 cp 命令来进行转换:

# du file.img -h
30G file.img
# cp --sparse=always file.img file.img.sparse
# du file.img.sparse -h
3.5G file.img.sparse
相关标签: Bash