Linux:ファイルの空き容量を計算/検索するには?

Linux:ファイルの空き容量を計算/検索するには?

たとえば、ファイルの空き領域をどのように見つけることができますか?

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コマンドを使用すると、特定のファイルがどれくらいのスパーススペースを消費しているかを検出できます。

から抜粋Wikipediaスパースファイル

発覚

-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。これは、ファイルがsparsy100%スパースで、実際のデータブロックがなく、スパースデータのみが含まれていることを意味します。

この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

おすすめ記事