Base 2 based displays and calling them kilobytes date back to the 1960s. Way before the byte was standardised to be eight bits (and according to network engineers it still isn’t you still see new RFCs using “octet”).
Granted though harddisks seem to have been base-10 based from the very beginning, with the IBM 350 storing five million 6-bit bytes. Window’s history isn’t in that kind of hardware though but CP/M and DOS, and dir
displayed in base 2 from the beginning (page 10):
Displays the filename and size in kilobytes (1024 bytes).
Then, speaking of operating systems with actual harddrive support: In Unix ls -lh
seems to be universally base-2 based (GNU has --si
to switch which I think noone ever uses). -h
(and -k
) are non-standard, you won’t find them in POSIX (default is to print raw number of bytes, no units).