Subject: ls -lsh
To: None <tech-userlevel@netbsd.org>
From: Jan Schaumann <jschauma@netmeister.org>
List: tech-userlevel
Date: 08/05/2004 15:03:05
--RnlQjJ0d97Da+TV1
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
Content-Transfer-Encoding: quoted-printable
Hi,
I'm trying to think what the correct behaviour for 'ls -lsh' is. The
manual page specifies that '-h' modifies the '-s' option to report sizes
in bytes displayed in human readable format.
The, '-s' does not report anything in number of bytes, but in number of
*units of 512 bytes*.
If we combine 'ls -lsh', then the '-s' column at the beginning is
dropped completely, presumably b/c if we were to display the number of
bytes displayed in a human readable form it would be the same as the
'size' column in human readable form.
Now either we should mention that '-h' overrides '-s', or we should make
'-s' report something in human readable format if both flags are
passed.
Humanizing that value would mean -- as far as I understand it -- that if
we had a file that occupies 1024 units of 512 bytes, then that number
should be reported as 1.0K (or maybe 2.0K rounded up).
$ dd if=3D/dev/zero of=3D/var/tmp/foo bs=3D512 count=3D1024
$ ls -ls /var/tmp/foo =20
1040 -rw------- 1 jschauma wheel 524288 Aug 5 14:46 /var/tmp/foo
$ ls -lsh /var/tmp/foo
-rw------- 1 jschauma wheel 512K Aug 5 14:46 /var/tmp/foo
$
The last output should have been
$ ls -lsh foo
2.0K -rw------- 1 jschauma wheel 512K Aug 5 14:46 foo
$
to indicate that there are (rounded up) 2K units of 512 byte blocks.
Does that make sense at all?
-Jan
(FWIW, Linux ls(1) reports
516k -rw------- 1 jschauma cs 512k Aug 5 14:54 /var/tmp/foo
whatever that's supposed to mean.)
--=20
A common mistake that people make when trying to design something completely
foolproof is to underestimate the ingenuity of complete fools.
--RnlQjJ0d97Da+TV1
Content-Type: application/pgp-signature
Content-Disposition: inline
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.2.3 (NetBSD)
iD8DBQFBEoRpfFtkr68iakwRAlxTAJ4hxVRwTtFmCbontMPyzEt7ExvoggCfX3St
71J8jfKx0NlF/zHqjAeQYI8=
=Czwn
-----END PGP SIGNATURE-----
--RnlQjJ0d97Da+TV1--