Linuxでディスクファイルのサイズを表示または決定する方法は?

Linuxでディスクファイルのサイズを表示または決定する方法は?

Windowsでは、ファイル/ディレクトリの実際のサイズとディスクサイズを表示できます。ディスクサイズはブロックサイズによって異なります。

Linux(mint)でこれをどうやって見ることができますか?

私のディスクにはさまざまなサイズの写真の数千枚があります。

実際のサイズとディスク、特にディレクトリで占めるスペースを確認したいと思います。 Windowsでは、無駄なスペースがギガバイトに達する可能性があります。

答え1

私の考えであなたが探しているのはですdu。実行後、du -s <directory>ディレクトリの内容が占めるディスク容量が表示されます。duまた、ディレクトリ内の各ファイルのサイズを個別に計算し、コンテンツ全体のサイズを知ることができます。

du -s --apparent-size <directory>

ブロック割り当てのために「無駄な」スペースの量を知りたい場合は、最初のコマンドの結果から2番目のコマンドの結果を減算するだけです。

注:--apparent-sizeレポートサイズ(KB)です。-bファイルに含まれる正確なバイト数を知りたい場合は、このフラグを使用できます。たとえば、ファイルを転送するためにネットワークを介して(ヘッダなどなしで)送信する必要があるバイト数を知りたい場合に便利です。

答え2

ディスクサイズ:

du -s -B 1 *
du -s -B 1 * | cut -f 1

コンテンツサイズ:

du -s --apparent-size -B 1 *
du -s --apparent-size -B 1 * | cut -f 1

-s
-B 11kbの数ではなく、サブディレクトリの印刷サイズをバイト単位で印刷しないでください。

cut -f 1出力からファイル名を省略


スクリプトの出力は次のとおりです。
size of contents:xxxxx, size on disk: xxxxx, percentage wasted: xx.xx%, difference: xxxxx

dirName='.';
sizeOfContents=$(du -s --apparent-size -B 1 "$dirName" | cut -f 1);
sizeOnDisk=$(du -s -B 1 "$dirName" | cut -f 1);
echo size of contents:$sizeOfContents, size on disk: $sizeOnDisk, percentage wasted: $(echo "scale=2 ; 100 - 100*$sizeOfContents/$sizeOnDisk" | bc)%, difference: $(($sizeOnDisk-$sizeOfContents));

1行バージョン:

dirName='.'; sizeOfContents=$(du -s --apparent-size -B 1 "$dirName" | cut -f 1);sizeOnDisk=$(du -s -B 1 "$dirName" | cut -f 1);echo size of contents:$sizeOfContents, size on disk: $sizeOnDisk, percentage wasted: $(echo "scale=2 ; 100 - 100*$sizeOfContents/$sizeOnDisk" | bc)%, difference: $(($sizeOnDisk-$sizeOfContents));

関連情報