History log of /src/bin/ls/ls.1
Revision (<<< Hide revision tags) (Show revision tags >>>) Date Author Comments
Revision tags: perseant-exfatfs-base-20250801 netbsd-11-base
# 1.83 06-Nov-2024 jschauma

Correct details around when '-s' prints 'total': this is controlled by
whether we are using multi-column output (-C, -x) or single column output
(-1, -m) with the rationale being that multi-column output is intended
for human consumption.

Based on input from kre@


# 1.82 05-Nov-2024 jschauma

Note that when '-s' is combined with '-1', the 'total' is _not_ printed.


Revision tags: netbsd-10-1-RELEASE perseant-exfatfs-base-20240630 perseant-exfatfs-base netbsd-10-0-RELEASE netbsd-10-0-RC6 netbsd-10-0-RC5 netbsd-10-0-RC4 netbsd-10-0-RC3 netbsd-10-0-RC2 netbsd-10-0-RC1 netbsd-10-base cjep_sun2x-base1 cjep_sun2x-base cjep_staticlib_x-base1 cjep_staticlib_x-base
# 1.81 16-May-2020 christos

branches: 1.81.8;
Add ACL support for FFS. From FreeBSD.


Revision tags: netbsd-9-4-RELEASE netbsd-9-3-RELEASE netbsd-9-2-RELEASE netbsd-9-1-RELEASE phil-wifi-20200421 phil-wifi-20200411 is-mlppp-base phil-wifi-20200406 netbsd-9-0-RELEASE netbsd-9-0-RC2 netbsd-9-0-RC1 phil-wifi-20191119 netbsd-9-base phil-wifi-20190609 pgoyette-compat-merge-20190127 pgoyette-compat-20190127 pgoyette-compat-20190118 pgoyette-compat-1226 pgoyette-compat-1126 pgoyette-compat-1020 pgoyette-compat-0930 pgoyette-compat-0906 pgoyette-compat-0728 phil-wifi-base pgoyette-compat-0625 pgoyette-compat-0521 pgoyette-compat-0502 pgoyette-compat-0422 pgoyette-compat-0415 pgoyette-compat-0407 pgoyette-compat-0330 pgoyette-compat-0322 pgoyette-compat-0315 pgoyette-compat-base perseant-stdc-iso10646-base
# 1.80 03-Jul-2017 wiz

branches: 1.80.6;
Remove workaround for ancient HTML generation code.


Revision tags: netbsd-8-3-RELEASE netbsd-8-2-RELEASE netbsd-8-1-RELEASE netbsd-8-1-RC1 netbsd-8-0-RELEASE netbsd-8-0-RC2 netbsd-8-0-RC1 matt-nb8-mediatek-base netbsd-8-base prg-localcount2-base3 prg-localcount2-base2 prg-localcount2-base1 prg-localcount2-base pgoyette-localcount-20170426 bouyer-socketcan-base1 pgoyette-localcount-20170320 bouyer-socketcan-base pgoyette-localcount-20170107 pgoyette-localcount-20161104 localcount-20160914
# 1.79 10-Aug-2016 sevan

ls was there from v1.
Confirmed from the TUHS & cat-v.org hosted copies of man pages


Revision tags: pgoyette-localcount-20160806 pgoyette-localcount-20160726 pgoyette-localcount-base
# 1.78 18-Oct-2014 jschauma

Remove the confusing reference to 'file sizes' in the short description of
the '-l' flag. As explained in the Long Format section, the total is of
the blocks used by the files, and only applies to directories.


Revision tags: netbsd-7-2-RELEASE netbsd-7-1-2-RELEASE netbsd-7-1-1-RELEASE netbsd-7-1-RELEASE netbsd-7-1-RC2 netbsd-7-nhusb-base-20170116 netbsd-7-1-RC1 netbsd-7-0-2-RELEASE netbsd-7-nhusb-base netbsd-7-0-1-RELEASE netbsd-7-0-RELEASE netbsd-7-0-RC3 netbsd-7-0-RC2 netbsd-7-0-RC1 netbsd-7-base yamt-pagecache-base9 tls-earlyentropy-base tls-maxphys-base
# 1.77 02-Apr-2014 wiz

Wording improvement for previous.
From jmc@OpenBSD via Igor Sobrado.


# 1.76 02-Apr-2014 wiz

Apply diff from Igor Sobrado <isd@orion.ciencias.uniovi.es>:

We have written a diff to our ls(1) to recover the traditional behaviour
of -f implying -a. This change does not only accommodates POSIX.1
but also matches traditional UNIX.

OpenBSD commit message:

CVSROOT: /cvs
Module name: src
Changes by: sobrado@cvs.openbsd.org 2014/03/31 14:54:37

Modified files:
bin/ls : ls.1 ls.c

Log message:
restore the traditional behavior of -f implying -a; apparently Keith Bostic
forgot to restore it when the -f flag was put back on 2nd of September 1989,
after being removed on 16th of August as a consequence of issues getting it
working over NFS, so deviation from traditional UNIX behavior in all BSDs
looks like an historical accident; as a side effect, this change accommodates
behavior of this option to IEEE Std 1003.1-2008 (``POSIX.1'').

joint work with jmc@ (who found the inaccuracy in our implementation),
schwarze@ (who provided a detailed tracking of historical facts) and millert@

ok millert@, schwarze@


Revision tags: riastradh-xf86-video-intel-2-7-1-pre-2-21-15 riastradh-drm2-base3
# 1.75 21-Feb-2014 christos

Add -X (don't cross mount points when recursing) from tls@


# 1.74 20-Feb-2014 wiz

Use .Nm for 'ls'.


# 1.73 20-Feb-2014 christos

Add -O (only leaf files) and -P (print full path), from tls@


Revision tags: riastradh-drm2-base2 riastradh-drm2-base1 riastradh-drm2-base agc-symver-base yamt-pagecache-base8 yamt-pagecache-base7
# 1.72 20-Nov-2012 abs

PR/47167
ls.1:
- Sort options in `SYNOPSIS', the option list, and texts within
the man page;
- improve wording;
- improve macro usage;
- use more consistency regarding (locations for) information about
which options override which;
- cross-reference `-d' and `-R';
- simplify description of `-k', removing redundant and unneeded
information;
- sort entry type list (but leave `-a' and `-A' as they are, given
their meaning);
- correct / augment description of `BLOCKSIZE' environment variable
in `ENVIRONMENT' section;
- bump date.

ls.c:
- Sort options in `usage';
- augment comment about when to figure out block size.


Revision tags: yamt-pagecache-base6
# 1.71 21-Oct-2012 wiz

Use more markup.


# 1.70 21-Oct-2012 jschauma

clarify that BLOCKSIZE also influences the total in long output


Revision tags: netbsd-6-0-6-RELEASE netbsd-6-1-5-RELEASE netbsd-6-1-4-RELEASE netbsd-6-0-5-RELEASE netbsd-6-1-3-RELEASE netbsd-6-0-4-RELEASE netbsd-6-1-2-RELEASE netbsd-6-0-3-RELEASE netbsd-6-1-1-RELEASE netbsd-6-0-2-RELEASE netbsd-6-1-RELEASE netbsd-6-1-RC4 netbsd-6-1-RC3 netbsd-6-1-RC2 netbsd-6-1-RC1 netbsd-6-0-1-RELEASE matt-nb6-plus-nbase netbsd-6-0-RELEASE netbsd-6-0-RC2 matt-nb6-plus-base netbsd-6-0-RC1 yamt-pagecache-base5 yamt-pagecache-base4 netbsd-6-base yamt-pagecache-base3 yamt-pagecache-base2 yamt-pagecache-base cherry-xenmp-base
# 1.69 02-Apr-2011 mbalmer

branches: 1.69.4; 1.69.10;
Wording fixes from Ryo HAYASAKA, thanks.


# 1.68 15-Mar-2011 wiz

Remove trailing whitespace. Add -M to usage.


# 1.67 15-Mar-2011 erh

PR#7540, add a -M option to ls which causes sizes (and number of blocks) to be
displayed with comma separators (or a locale specific separator).


Revision tags: bouyer-quota2-nbase bouyer-quota2-base matt-mips64-premerge-20101231
# 1.66 17-Dec-2010 njoly

Fix cross-reference, dir(5) -> dirent(3).


# 1.65 14-May-2010 joerg

Reorder sections to canonical order. Use .Ex -std


# 1.64 05-Apr-2010 joerg

\\ -> \e


Revision tags: netbsd-5-2-3-RELEASE netbsd-5-1-5-RELEASE netbsd-5-2-2-RELEASE netbsd-5-1-4-RELEASE netbsd-5-2-1-RELEASE netbsd-5-1-3-RELEASE netbsd-5-2-RELEASE netbsd-5-2-RC1 netbsd-5-1-2-RELEASE netbsd-5-1-1-RELEASE matt-nb5-mips64-premerge-20101231 matt-nb5-pq3-base netbsd-5-1-RELEASE netbsd-5-1-RC4 matt-nb5-mips64-k15 netbsd-5-1-RC3 netbsd-5-1-RC2 netbsd-5-1-RC1 netbsd-5-0-2-RELEASE matt-nb5-mips64-premerge-20091211 matt-premerge-20091211 matt-nb5-mips64-u2-k2-k4-k7-k8-k9 matt-nb4-mips64-k7-u2a-k9b matt-nb5-mips64-u1-k1-k5 netbsd-5-0-1-RELEASE jym-xensuspend-nbase netbsd-5-0-RELEASE netbsd-5-0-RC4 netbsd-5-0-RC3 netbsd-5-0-RC2 jym-xensuspend-base netbsd-5-0-RC1 netbsd-5-base matt-mips64-base2
# 1.63 25-Sep-2008 lukem

Change '-n' so that it implies '-l' rather than requires '-l'.
Brings ls(1) closer to POSIX.1 2004.
Per discussion with Thomas Klausner and Igor Sobrado.


Revision tags: netbsd-4-0-1-RELEASE wrstuden-revivesa-base-3 wrstuden-revivesa-base-2 wrstuden-fixsa-newbase wrstuden-revivesa-base-1 yamt-pf42-base4 yamt-pf42-base3 hpcarm-cleanup-nbase yamt-pf42-baseX yamt-pf42-base2 wrstuden-revivesa-base yamt-pf42-base keiichi-mipv6-base matt-armv6-nbase matt-armv6-prevmlocking wrstuden-fixsa-base-1 netbsd-4-0-RELEASE cube-autoconf-base netbsd-4-0-RC5 netbsd-4-0-RC4 netbsd-4-0-RC3 netbsd-4-0-RC2 netbsd-4-0-RC1 matt-armv6-base matt-mips64-base hpcarm-cleanup-base wrstuden-fixsa-base netbsd-4-base
# 1.62 22-Sep-2006 elad

PR/33635: Anne Bennett: Document 'a' and 'A' flags in ls(1).
strmode(3) already documented these, so use the description from there.


# 1.61 21-Aug-2006 christos

from zafer: you can have either -k or -h but not both since it does not make
sense.


Revision tags: abandoned-netbsd-4-base
# 1.60 08-Apr-2006 wiz

branches: 1.60.2;
Fix date (no leading zero), fix xref: sticky(7) not (8).


# 1.59 08-Apr-2006 jschauma

Address PR 30374 as suggested in there:

"Modify the man page to match the behaviour of "ls -q",

(done by yamt@ previously)

...
modify both the behaviour and documentation for "ls -b" and "ls -B" to
make spaces readily apparent. This could be done by adding VIS_WHITE
to the flags passed to strvis(3) in the safe_print() function in
src/bin/ls/util.c."

'ls -b' now yields foo\sbar (whitespace) foo\tbar (tab) foo\rbar (CR).
'ls -B' now yields foo\040bar foo\011bar foo\015bar.


# 1.58 08-Apr-2006 yamt

s/non-graphic/non-printable/ to match with the code.


# 1.57 26-Oct-2005 jschauma

Rather than '-h' suppressing '-s' when using '-l', make it display
the blocks used in human readable form, as suggested by Alan Barrett
and Daniel Carosone.


# 1.56 23-Oct-2005 jschauma

document that -h makes -l suppress -s.
(Ie 'ls -lhs' == 'ls -lh')


# 1.55 10-Oct-2005 wiz

Bump date for previous.


# 1.54 10-Oct-2005 jschauma

Document that '-g' overrides -1, -C, -m, and -x, but is _always_
overridden by '-l', even if '-g' was specified last.


# 1.53 13-Aug-2005 elad

Document -L correctly. PR #30430.


# 1.52 17-Jun-2005 hira

Sort options (description).


# 1.51 11-May-2005 pooka

Clarify the description for -s to include a pointer to an explanation
on how BLOCKSIZE affects the parameter.


Revision tags: netbsd-3-1-1-RELEASE netbsd-3-0-3-RELEASE netbsd-3-1-RELEASE netbsd-3-0-2-RELEASE netbsd-3-1-RC4 netbsd-3-1-RC3 netbsd-3-1-RC2 netbsd-3-1-RC1 netbsd-3-0-1-RELEASE netbsd-3-0-RELEASE netbsd-3-0-RC6 netbsd-3-0-RC5 netbsd-3-0-RC4 netbsd-3-0-RC3 netbsd-3-0-RC2 netbsd-3-0-RC1 netbsd-3-base
# 1.50 09-Jan-2005 jschauma

The '-l' option *always* prints a total, not only if output is to a
terminal.


# 1.49 06-Aug-2004 jschauma

Clarify meaning of '-c' flag by using similar wording as for '-u' flag.


Revision tags: netbsd-2-0-3-RELEASE netbsd-2-1-RELEASE netbsd-2-1-RC6 netbsd-2-1-RC5 netbsd-2-1-RC4 netbsd-2-1-RC3 netbsd-2-1-RC2 netbsd-2-1-RC1 netbsd-2-0-2-RELEASE netbsd-2-0-1-RELEASE netbsd-2-base netbsd-2-0-RELEASE netbsd-2-0-RC5 netbsd-2-0-RC4 netbsd-2-0-RC3 netbsd-2-0-RC2 netbsd-2-0-RC1 netbsd-2-0-base
# 1.48 26-Dec-2003 wiz

Crossreference -h and -k. Use Aq instead of \*[Lt]\*[Gt].


# 1.47 26-Dec-2003 grant

implement -h(umanize).

from David P. Reese Jr. in PR bin/23870.


# 1.46 22-Sep-2003 wiz

Bump date for previous; comma cleanup.


# 1.45 22-Sep-2003 jschauma

After last weeks addition of the '-b' flag, add '-B' and '-w' flags,
suggested by uwe@, inspired by FreeBSD. The three flags override
each other (and the '-q' flag) and behave as follows:

-B Force printing of non-printable characters in file names as
\xxx, where xxx is the numeric value of the character in octal.

-b As -B, but use C escape codes whenever possible.

-w Force raw printing of non-printable characters. This is the
default when output is not to a terminal.


# 1.44 14-Sep-2003 wiz

Bump date for previous.


# 1.43 14-Sep-2003 jschauma

Implement '-b' option, which, following FreeBSD, Linux and (I think) Solaris
prints octal escapes for nongraphic characters.


# 1.42 02-Sep-2003 wiz

Sort options (AaBb...).


# 1.41 28-Aug-2003 wiz

From FreeBSD bug report 54294, via Jonathan Gray and then jmc@openbsd:
-l option to ls(1) gives all permissions, not just owner and group.


# 1.40 07-Aug-2003 agc

Move UCB-licensed code from 4-clause to 3-clause licence.

Patches provided by Joel Baker in PR 22249, verified by myself.


# 1.39 07-May-2003 grant

make -g behave as it should according to SUSv3 (long listing without
owner).

ok'd by kleink@.


# 1.38 25-Feb-2003 wiz

.Nm does not need a dummy argument ("") before punctuation or
for correct formatting of the SYNOPSIS any longer.


# 1.37 10-Feb-2003 grant

some mdoc improvements.

ok'd by wiz.


Revision tags: fvdl_fs64_base
# 1.36 09-Nov-2002 enami

Default .Ar arugment is sufficient.


# 1.35 25-Sep-2002 wiz

New policy: New sentences start on a new line.
Patches by Robert Elz <kre at munnari oz au>, with minimal changes by me.


# 1.34 24-Jun-2002 kleink

Note that -T is to be used with -l; synced with FreeBSD via Michal
Pasternak on current-users.


Revision tags: netbsd-1-6-base
# 1.33 29-Apr-2002 kleink

branches: 1.33.2;
Add missing -p to synopsis; from Ryan Younce in PR misc/16555.


# 1.32 08-Feb-2002 ross

Generate <>& symbolically. I'm avoiding .../dist/... directories for now.


# 1.31 03-Feb-2002 fair

Add explanation of directory sizes, and a reference to dir(5),
per PR 14291.


# 1.30 20-Dec-2001 wiz

Use standard headers.


# 1.29 20-Dec-2001 wiz

Whitespace nits.


# 1.28 08-Jul-2001 simonb

Xref getbsize(3).


# 1.27 04-Sep-2000 kleink

For commands and utilities, use EXIT STATUS rather than RETURN VALUES as
appropriate (and documented in mdoc(7)).


# 1.26 28-Aug-2000 hubertf

Add 'RETURN VALUE' section header.


Revision tags: netbsd-1-5-ALPHA2 netbsd-1-5-base
# 1.25 28-May-2000 bjh21

branches: 1.25.2;
Add Ev tag to COLUMNS


Revision tags: minoura-xpg4dl-base
# 1.24 05-Jan-2000 mjl

branches: 1.24.2;
Add description of FIFOs in long display (was commented out).


Revision tags: netbsd-1-4-PATCH003 netbsd-1-4-PATCH002 wrstuden-devbsize-19991221 wrstuden-devbsize-base comdex-fall-1999-base netbsd-1-4-PATCH001 netbsd-1-4-RELEASE netbsd-1-4-base
# 1.23 17-Feb-1999 kleink

Add support for the XCU5 -p option (-F restricted to directories).


# 1.22 12-Feb-1999 kleink

Implement 1003.2 -m option (stream output format).


# 1.21 03-Jan-1999 lukem

update date


# 1.20 03-Jan-1999 lukem

refer to chflags(1) for more info on file flags.
split up explanation of long format into a list


# 1.19 01-Jun-1998 hubertf

Document ls -F's output for sockets;
per PR 5520 by Matt Debergalis <deberg@big-veronica.ai.mit.edu>


# 1.18 20-Mar-1998 fair

correct HISTORY section of ls(1) to note that Ls(1) exited in 5th Edition UNIX from Bell Labs; add that version to At macro in mdoc, all per PR#4790


# 1.17 18-Jan-1998 lukem

* implement -x; sort columns across the page rather than down the page
* in printcol(), don't bother building an index to the linked list if
only printing one column with printscol()...
* implement -n; prevent [gu]id->name mapping in long listings.
inspired by openbsd, but does *not* imply -l by itself.
* fix sorting with -d (or mismatched types in general). (from openbsd).
* document -g. (from openbsd).


Revision tags: netbsd-1-3-PATCH003 netbsd-1-3-PATCH003-CANDIDATE2 netbsd-1-3-PATCH003-CANDIDATE1 netbsd-1-3-PATCH003-CANDIDATE0 netbsd-1-3-PATCH002 netbsd-1-3-PATCH001 netbsd-1-3-RELEASE netbsd-1-3-BETA netbsd-1-3-base
# 1.16 20-Oct-1997 enami

Fix .Nm usage.


# 1.15 09-Sep-1997 jtc

Changed order of STANDARDS and HISTORY subheads to conform with
specification in mdoc(7).


Revision tags: netbsd-1-2-PATCH001 netbsd-1-2-RELEASE netbsd-1-2-BETA netbsd-1-2-base
# 1.14 05-Dec-1995 jtc

ENVIRONMENTAL -> ENVIRONMENT


Revision tags: netbsd-1-1-PATCH001 netbsd-1-1-RELEASE netbsd-1-1-base
# 1.13 26-Sep-1995 jtc

Uncomment text that describes that a vertical bar is printed after each
pathname that is a FIFO when the -F option is used.


# 1.12 25-Jul-1995 jtc

Use "utility" instead of "command". Modern definitions of these terms
are distinct (See POSIX.2 glossary).

A utility is a executable, script or shell builtin; while a command
can be any of those things plus lists, pipelines, compound commands
(if, for, while) and shell function definitions.


# 1.11 21-Mar-1995 cgd

convert to new RCS id conventions.


# 1.10 27-Dec-1994 mycroft

Sync with CSRG.


# 1.9 23-Sep-1994 mycroft

Merge with 4.4-Lite version.


Revision tags: netbsd-1-0-PATCH06 netbsd-1-0-PATCH05 netbsd-1-0-PATCH04 netbsd-1-0-PATCH03 netbsd-1-0-PATCH02 netbsd-1-0-PATCH1 netbsd-1-0-PATCH0 netbsd-1-0-RELEASE netbsd-1-0-base
# 1.8 05-Mar-1994 chopps

added missing -A and -o to options summary list.


# 1.7 11-Jan-1994 jtc

Fix spelling errors.


# 1.6 05-Dec-1993 mycroft

Patches from Thomas Eberhardt <thomas@mathematik.uni-Bremen.de> to allow
sorting by size.


# 1.5 07-Aug-1993 mycroft

New version from uunet, with -k option readded, and 4.4 ffs--specific stuff
in `#ifdef notyet'.


# 1.4 01-Aug-1993 mycroft

Add RCS indentifiers.


Revision tags: netbsd-0-9-RELEASE netbsd-0-9-BETA netbsd-0-9-ALPHA2 netbsd-0-9-ALPHA netbsd-0-9-base netbsd-0-8 netbsd-alpha-1
# 1.3 23-Mar-1993 cgd

changed "Id" to "Header" for rcsids


# 1.2 22-Mar-1993 cgd

added rcs ids to all files


# 1.1 21-Mar-1993 cgd

branches: 1.1.1;
Initial revision