Windows、Linux、MacOSでのスパースファイル、NTFS、REFS、ext 3、ext 4、BTRFS、APFSファイルシステム


今日の記事では、sparseファイルに対処します.あなたは彼らの長所と短所について学びます、そして、そのようなファイルをサポートするファイルシステムとそれらを作成する方法、または普通のファイルをまばゆいものに変えます.

疎なファイルは、ファイルシステムをより効率的に使用して、実際のデータで満たされていないときにファイルシステムが空きディスク領域を取るのを防ぐ特別なファイルです.すなわち、「空きディスク領域」は必要に応じてのみ使用する.ゼロの形の「空の」データは、ファイルシステムのメタデータブロックに格納される.だからこそ、まばらなファイルは、もともと本当のサイズよりも少ないスペースを取るのです.

このファイルタイプはほとんどのファイルシステムでサポートされています.
これらのファイルシステムは全てこの型を完全にサポートしていますが、同時に標準インターフェースを通じて直接アクセスできません.コマンドプロンプトだけでプロパティを管理できます.

圧縮ファイルと疎ファイルの違い


私が以前言及したすべてのファイルシステムはまた、圧縮の標準機能をサポートします.両方のツールはあなたにディスクスペースを節約する利点を与えます、しかし、彼らは異なる方法でこのゴールを達成します.ファイル圧縮を使用する主な欠点は、システムがデータを圧縮または解凍するための余分なリソースを必要とするので、そのようなファイルを読み書きするときに、システムのパフォーマンスに影響を及ぼすことです.しかし、いくつかのソフトウェア製品は圧縮をサポートしません.
YouTube

賛否両論


疎なファイルの最大の利点は、ユーザーが非常に大きなファイルを作成することができますが非常に小さなディスクスペースを取る.データを格納するためのスペースは、より多くの情報が書き込まれるように自動的に割り当てられる.ファイルシステムがゼロを書くためにあらかじめディスク領域を割り当てる必要がないので、大きな疎なファイルは比較的速くつくられます.
しかし、疎なファイルの利点は、それらをサポートするアプリケーションに制限されます.あるプログラムがそのようなファイルを認識することができないか、使うことができないならば、それはその原作の-圧縮されていない-フォームで疎なファイルを保存します、そして、話に対する利点がありません.このファイルタイプをサポートしていないアプリケーションがディレクトリにコピーしたとき、数メガバイトの疎なファイルが突然数ギガバイトのモンスターになるかもしれません.
もう一つの欠点は、その名目上のサイズが利用可能な空き領域(またはオペレーティングシステム内のユーザアカウントに適用されるクォータ制限)の量を超える場合、疎なファイルをコピーまたは作成できないことです.例えば、疎なファイルの元のサイズ(ゼロバイトの全てを持つ)が500 MBであり、この粗いファイルが作成されたユーザアカウントのクォータ制限が400 MBである場合、このスパースファイルが占有している実際のディスク領域が50 MBであっても、そのような状況はエラーを発生させます.
そのようなデータが格納されているハードディスクに関しては、ファイルシステムは、必要に応じて疎なファイルにデータを書き込むので、それらも断片化の対象となります.時間をかけて、パフォーマンスを低下させる可能性があります.そのうえ、若干のディスク管理ユーティリティは、自由なディスクスペースを表示することで問題を抱えているかもしれません.この特定のタイプのファイルを含んでいるファイルシステムがスペースの上で低いとき、それは予測できない状況に至るかもしれません.たとえば、データが疎としてマークされているファイルの既存の部分にコピーされるときに、ディスクのオーバーフィルの問題を生成することがあります.

Windowsでの疎なファイルの作成


Windowsでは、コマンドプロンプトを使用します.検索フィールドに「cmd」と入力し、管理者として実行します.
Windowsでは、疎なファイルfsutilツール(ファイルシステムユーティリティ)の助けを借りて管理されます.コマンドを作成すると、既定では、それは疎なファイルではないファイルを作成します.ファイルを作成する必要があるフォルダに移動し、次のように入力します
fsutil file createnew sparse-file 1000000000
ここで、疎なファイルはファイル名で、末尾の数字はバイト単位のファイルサイズです.

"sparse "属性をファイルに代入するには、次のコマンドを使用します.
fsutil sparse setflag sparse-file

以下はこの属性を削除するコマンドです.
fsutil sparse setflag sparse-file 0

その属性を返したい場合は、次のようにします.
fsutil sparse setflag sparse-file
チェックしましょう
fsutil sparse queryflag sparse-file

属性自体がディスクスペースの節約を開始しません.これを行うには、ファイル内で解放されるべき空のスペースを設定する必要があります.
空のスペースを設定するには、次のように入力します.
fsutil sparse setrange sparse-file 0 1000000000

コマンドの最後にオフセットと長さをバイト単位で指定します.私の場合、これはゼロから1 GBまでの範囲です.
完全に疎なファイルを設定するには、容量全体を指定します.必要に応じて大きな値を入力することでファイルを展開できます.
この属性がファイルに割り当てられていることを確認するには、コマンドのレイアウトを実行します
fsutil file layout sparse-file

sparse属性は、このコマンドを実行するファイル名に対応して任意のファイルに割り当てることができます.
以前に作成したファイルのプロパティでは、1 GBのサイズでこのファイルはディスク上の0バイトを占めていることがわかります.
コマンドのこのセットは、疎なファイル(NTFS、REFSなど)をサポートするすべてのWindowsファイルシステムで動作します.

Linuxでの疎なファイルの作成方法


Linuxでは、そのようなデータ型を作成するプロセスは少し簡単です.すべてのLinuxファイルシステムでうまく動作します.
ここでは、dd :またはtruncateのどちらかを使うことができます.
最初のコマンドは次のようになります.
dd if=/dev/zero of=file-sparse bs=1 count=0 seek=2G
「ファイル疎」はファイル名で、最後の数はバイト、メガバイトなどで設定できるサイズです.

2番目のコマンドは単純です.
truncate -s2G file-sparse
“s”値がファイルサイズを表し、ファイル名が続く場合.

Windowsに反して、どちらのコマンドでもファイルを作成すると、デフォルトでは疎なファイルになります.
通常のファイルをまばらなものにするには、特別なコマンドがあります.
cp --sparse=always ./025.jpg ./0251.jpg
025 .JPGは最初のファイルの名前です.
026jpgは2番目のファイルの名前です.

ファイルの拡張方法
既存のファイルを展開する必要がある場合は、下の最初のコマンドを使用します.
dd if=/dev/zero of=025.jpg bs=1 count=0 seek=2G
このコマンドはサイズを2 GBに増やすでしょう.

次のコマンドを使用してサイズを確認します.
du -h --apparent-size 025.jpg

APFSの疎らなファイル


LinuxやMacOSはUnixコアアーキテクチャに基づいており、それらは両方ともUnixコマンドとbashコマンドシェルへのアクセスを提供します.
端末を起動し、Linuxで使用した疎なファイルを作成するコマンドを実行します.
MacOS Catalinaでは、最初のコマンドだけがサポートされ、サイズはバイト単位で与えられます.さもなければ、コマンドはエラーを発生します.
sudo dd if=/dev/zero of=sparse_APFS bs=1 count=0 seek=1000000000

特定の条件が観測されると、APFSファイルシステムはデフォルトで疎なファイルを作成します.
dd if=/dev/zero of=187.jpg bs=1 count=0 seek=500000000
500 MBのサイズを設定し、MacOSではこのサイズをバイト単位で指定してください.
コマンドを実行してファイルプロパティを開くと、そのサイズが500 MBに増加したことがわかります.
すべての追加のビデオチュートリアルでfull articleを見てください.また、400以上のビデオチュートリアルがあります.