Як показати нестиснений загальний фізичний розмір у байтах файлу чи каталогу, стисненого HFS?


2

Справа в точці: Apple TextEdit на /Applications/TextEdit.app

Якщо ви обчислите фізичний розмір, echo "$(/usr/bin/du -k -d 0 /Applications/TextEdit.app | /usr/bin/awk '{print $1}') * 1024" | /usr/bin/bc -lви отримаєте (в моєму випадку 10.11.6) розмір 4538368 байт .

Однак, якщо ви відкриєте вікно Інформація в Finder, воно скаже вам, що фізичний розмір значно більший: 8,6 Мб на диску , майже вдвічі більше.

Зрозуміло, чому: Apple використовувала стиснення HFS на TextEdit. Запуск стороннього інструменту afsctool (який можна встановити за допомогою Homebrew) дає такий результат:

/usr/local/bin/afsctool /Applications/TextEdit.app /Applications/TextEdit.app: Number of HFS+ compressed files: 693

Тепер, очевидно, macOS знає нестиснений фізичний розмір, про що свідчить значення розміру на диску у вікні Інформація про Finder.

Моє запитання, чи є спосіб отримати цю інформацію лише в командному рядку, тобто спосіб показати:

(a) нестиснений фізичний розмір (використання диска) файлу, стисненого HFS, тобто файлу, для якого /usr/bin/stat -f %fповертається "32" (навіть якщо це "524320" чомусь у TextEdit), і

(b) нестиснений загальний фізичний розмір (використання диска) каталогу або пакета, який містить стиснуті файли HFS.

Примітка: для обчислення розміру слід використовувати лише натурні команди macOS, не використовуючи дані, що залежать від прожектора, наприклад, від mdlsкоманди, яка баггі, а іноді повертається (null)для kMDItemPhysicalSizeключа, окрім того, що деякі користувачі взагалі відключили прожектор.

Відповіді:


0

Використовуйте afsctoolкоманду з -vпрапором, наприклад:

$ afsctool -v README
README:
File is HFS+ compressed.
File size (uncompressed data fork; reported size by Mac OS 10.6+ Finder): 3046 bytes / 3 KB (kilobytes) / 3 KiB (kibibytes)
File size (compressed data fork - decmpfs xattr; reported size by Mac OS 10.0-10.5 Finder): 0 bytes / 0 KB (kilobytes) / 0 KiB (kibibytes)
File size (compressed data fork): 1427 bytes / 1 KB (kilobytes) / 1 KiB (kibibytes)
Compression savings: 53.2%
Number of extended attributes: 0
Total size of extended attribute data: 0 bytes
Approximate overhead of extended attributes: 268 bytes
Approximate total file size (compressed data fork + EA + EA overhead + file overhead): 1943 bytes / 2 KB (kilobytes) / 2 KiB (kibibytes)
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.