
たとえば、ファイルの空き領域をどのように見つけることができますか?
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 コマンドを使用してファイルの空き領域を表示できますが、空き領域のサイズを計算して 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