例如,我将如何找到文件的松弛空间。
fls -o 63 /images/diskimg.dd
istat -o 63 /images/diskimg.dd 31
icat -o 63 /images/diskimg.dd | xxd | less
我将使用以下哪个命令来查找 slackspace?或者还有别的吗?我还如何寻找可以存储在 slackspace 中的信息?
我发现使用 -s 选项将允许我使用icat命令查看文件的slackspace,但仍然不确定是否要计算slackspace大小,不喜欢用icat将其相加。
答案1
您所指的“松弛空间”通常称为文件内的稀疏空间。您可以使用ls
&du
命令来检测给定文件消耗了多少稀疏空间。
检测
-s
该命令的选项显示ls
了以块为单位的占用空间,以及-k
以块为单位的表观大小:$ ls -lks sparse-file
-h
可以用于以人类可读的格式打印两者。或者,du 命令打印占用的空间,同时
ls
打印表观大小。该选项--block-size=1
以字节而不是块为单位打印占用的空间,以便可以将其与输出进行比较ls
:$ du --block-size=1 sparse-file $ ls -l sparse-file
例子
首先创建一个稀疏文件:
$ truncate -s 5M sparsy
现在检查一下:
$ ls -lks sparsy
0 -rw-rw-r--. 1 saml saml 5242880 Apr 4 09:18 sparsy
$ ls -l sparsy
-rw-rw-r--. 1 saml saml 5242880 Apr 4 09:18 sparsy
笔记:输出中的第一列ls -lks sparsy
显示一个0
.这意味着该文件sparsy
是 100% 稀疏的,它不包含实际的数据块,仅包含稀疏数据。
该du
命令显示相同的内容:
$ du --block-size=1 sparsy
0 sparsy
对于不稀疏的文件,我们会看到以下内容:
$ seq 1000 > non-sparsy
现在,当我们使用以下命令检查它时ls
:
$ ls -lks non-sparsy
4 -rw-rw-r--. 1 saml saml 3893 Apr 4 09:27 non-sparsy
我们看到这消耗了 4 个空间块。使用du
显示了同样的事情:
$ du --block-size=1 non-sparsy
4096 non-sparsy