The following issue has been SUBMITTED. ====================================================================== http://austingroupbugs.net/view.php?id=1146 ====================================================================== Reported By: stephane Assigned To: ====================================================================== Project: 1003.1(2016)/Issue7+TC2 Issue ID: 1146 Category: Shell and Utilities Type: Error Severity: Objection Priority: normal Status: New Name: Stephane Chazelas Organization: User Reference: Section: ls utility Page Number: 2928 Line Number: 96855 Interp Status: --- Final Accepted Text: ====================================================================== Date Submitted: 2017-06-15 19:50 UTC Last Modified: 2017-06-15 19:50 UTC ====================================================================== Summary: "total" line in ls -l output Description: The current text says:
> If any of the -l, -n, -s, ^[XSI] [Option Start] -g, or -o > [Option End] options is specified, each list of files > within the directory shall be preceded by a status line > indicating the number of file system blocks occupied by > files in the directory in 512-byte units if the -k option > is not specified, or 1024-byte units if the -k option is > specified, rounded up to the next integral number of > units, if necessary. In the POSIX locale, the format > shall be: > > "total %u\n", <number of units in the directory> However, that's not what I observe with existing implementations (I checked GNU, busybox, Solaris 10 and FreeBSD 11) Instead, the number after "total" seems to be the sum of the disk usage (as in ls -s) of all the entries listed. With -a, that includes all hidden files and . and .. if present, with -A hidden files but not . nor .. With neither -A nor -a, that only counts the disk usage of non-hidden files. With -L, that's the sum of the disk usage of the files referred to by the directory entries after symlink resolution. In any case, if a file is listed twice by two different entries (hard links or soft links with -L), its disk usage is counted twice. Of course with -L, for symlinks whose targets are not accessible, the corresponding disk usage is not accounted for. Desired Action: Clarify that the total number is the sum of the st_blocks (from lstat() or stat() with -L) of the files for each of the entries *that are listed* only (we probably need a separate bug to clarify what should happen in general for entries for which lstat() or stat() fails). Maybe mention in an "application usage" section, that even without -L, the number doesn't necessarily correspond to the space that would be reclaimed if all the listed files were removed because of hard links. ====================================================================== Issue History Date Modified Username Field Change ====================================================================== 2017-06-15 19:50 stephane New Issue 2017-06-15 19:50 stephane Name => Stephane Chazelas 2017-06-15 19:50 stephane Section => ls utility 2017-06-15 19:50 stephane Page Number => 2928 2017-06-15 19:50 stephane Line Number => 96855 ======================================================================