History log of /freebsd-current/bin/ls/ls.1
Revision Date Author Comments
# ffea732c 21-Feb-2024 Gordon Bergling <gbe@FreeBSD.org>

ls.1: Mention CLICOLOR environment variable

Mention CLICOLOR environment variable in the manual page.

PR: 276556
Submitted by: bsdcode at disroot dot org
Reviewed by: imp
MFC after: 3 days
Differential Revision: https://reviews.freebsd.org/D43970


# d854370f 02-Feb-2024 Alexander Ziaee <concussious@runbox.com>

ls: versort incompatible w/ timesort and sizesort

ls.1: versort incompatible w/ timesort and sizesort

Reviewed by: imp
Pull Request: https://github.com/freebsd/freebsd-src/pull/825


# ba719a0f 25-Sep-2023 Tom Hukins <tom@FreeBSD.org>

Fix "version introduced" in numerous manual pages

MFC after: 1 week
Pull request: https://github.com/freebsd/freebsd-src/pull/853


# 90aea514 23-Nov-2023 Warner Losh <imp@FreeBSD.org>

bin: Remove ancient SCCS tags.

Remove ancient SCCS tags from the tree, automated scripting, with two
minor fixup to keep things compiling. All the common forms in the tree
were removed with a perl script.

Sponsored by: Netflix


# 4fc08109 10-Sep-2023 Jens Schweikhardt <schweikh@FreeBSD.org>

Correct the grammo in "will underlined".


# b2c76c41 16-Aug-2023 Warner Losh <imp@FreeBSD.org>

Remove $FreeBSD$: one-line nroff pattern

Remove /^\.\\"\s*\$FreeBSD\$$\n/


# 3bfbb521 18-Jul-2023 Minsoo Choo <minsoochoo0122@proton.me>

ls: Improve POSIX compatibility for -g and -n.

- Change -g (ignored for BSD 4.3 compatibility since BSD 4.4)
to use POSIX semantics of implying -l but omitting the owner's
name.

- Change -n to imply -l.

The -o option remains unchanged (POSIX defines -o as a complement to
-g that implies -l but omits group names whereas BSD defines -o to add
file flags to -l). This compromise is the same used by both NetBSD
and OpenBSD.

PR: 70813
Reviewed by: jhb, Pau Amma <pauamma@gundo.com>
Co-authored-by: John Baldwin <jhb@FreeBSD.org>
Differential Revision: https://reviews.freebsd.org/D34747


# e2662256 23-Oct-2022 Aymeric Wibo <obiwac@gmail.com>

ls(1): add a -v flag to sort naturally

Add a -v flag for ls which sorts entries following a natural ordering
using strverscmp(3) (e.g. "bloem1 bloem9 bloem10" as opposed to
"bloem1 bloem10 bloem9").

Update the manual page and add a test case.

Reviewed by: pauamma, bcr
Tested by: pstef
Differential Revision: https://reviews.freebsd.org/D36407


# 825225e5 14-Aug-2022 Jens Schweikhardt <schweikh@FreeBSD.org>

For man page references found in ports, indicate the respective port.


# 97c31821 19-Sep-2021 Cameron Katri <me@cameronkatri.com>

ls(1): Allow LSCOLORS to specify an underline

Allows capitalizing the background color character to enable an
underline instead of bold, capitalizing the foreground color char will
still do bold.

Differential Revision: https://reviews.freebsd.org/D30547


# 05c207e9 10-Oct-2020 Gordon Bergling <gbe@FreeBSD.org>

ls(1): Use \& as an escape character for the ',' option

Reported by: karels@, xtouqh at hotmail dot com
MFC after: 1 day


# 0853ef56 03-Oct-2020 Gordon Bergling <gbe@FreeBSD.org>

ls(1): Bugfix for an issue reported by mandoc

- no blank before trailing delimiter

MFC after: 1 week


# 12ccc0aa 31-Aug-2020 Gordon Bergling <gbe@FreeBSD.org>

ls(1): Update all POSIX references and correct the STANDARDS section

- Update the POSIX references for non-standard ls(1) options
- Simplify the STANDARDS section by mention both supported POSIX versions

Reported by: hrs
Reviewed by: hrs, bcr
Approved by: hrs, bcr
MFC after: 3 days
X-MFC-With: r364449
Differential Revision: https://reviews.freebsd.org/D26210


# d57d1f54 21-Aug-2020 Gordon Bergling <gbe@FreeBSD.org>

ls(1): Update POSIX conformance from 2001 to 2008

- Update the options that are non-existing in POSIX from 2001 to 2008
- Update POSIX conformance in the STANDARDS section from 2001 to 2008

Verified by checking [1].

[1] https://pubs.opengroup.org/onlinepubs/9699919799.2016edition/toc.htm

PR: 140435
Submitted by: Dan Lukes <dan at obluda dot cz>
Reviewed by: bcr
Approved by: bcr
MFC after: 1 week
Differential Revision: https://reviews.freebsd.org/D26096


# a408dc20 21-May-2020 Kyle Evans <kevans@FreeBSD.org>

ls(1): actually restore proper behavior

Highlights:
- CLICOLOR in the environment should imply --color=auto to maintain
compatibility with historical behavior
- -G should set CLICOLOR and imply --color=auto

The manpage has been updated to draw the connection between -G and --color;
the former is in-fact a sort of compromise between --color=always and
--color=auto, where we'll output color regardless of the environment lacking
CLICOLOR/COLORTERM assuming stdout is a tty.

X-MFC-With: r361318


# c0f34ded 20-May-2020 Kyle Evans <kevans@FreeBSD.org>

ls: fix a --color regression from r337956

The regression is in-fact that I flipped the default from never to auto. The
incorrect impression was based on an alias that I failed to notice,
installed by the Linux distribution that I used for testing compatibility
here. Users that want the old default should be doing so with a shell alias
as is done elsewhere, rather than making this decision in ls(1).

Many thanks to rgrimes for pointing out the alias that I clearly overlooked
that resulted in this; if you despised colors in your terminal from this,
consider buying him a beer at the next venue that you see him at.

MFC after: 1 week
Relnotes: yes


# 041e6eb1 18-Aug-2018 Kyle Evans <kevans@FreeBSD.org>

ls(1): Support other aliases for --color arguments used by GNU ls(1)

These aliases are supported and documented in the man page. For now, they
will not be mentioned in the error when an invalid argument is encountered,
instead keeping that list to the shorter 'preferred' names of each argument.

Reported by: rgrimes


# e10ba800 16-Aug-2018 Kyle Evans <kevans@FreeBSD.org>

ls(1): Add --color=when

--color may be set to one of: 'auto', 'always', and 'never'.

'auto' is the default behavior- output colors only if -G or COLORTERM are
set, and only if stdout is a tty.

'always' is a new behavior- output colors always. termcap(5) will be
consulted unless TERM is unset or not a recognized terminal, in which case
ls(1) will fall back to explicitly outputting ANSI escape sequences.

'never' to turn off any environment variable and -G usage.

Reviewed by: cem, 0mp (both modulo last-minute manpage changes
Differential Revision: https://reviews.freebsd.org/D16741


# 33ce7acb 08-Aug-2018 Kyle Evans <kevans@FreeBSD.org>

ls(1): Enable colors with COLORTERM is set in the environment

COLORTERM is the de facto standard, while CLICOLOR is generally specific to
FreeBSD and ls(1).

PR: 230101
Submitted by: D Green <dfrg@xsmail.com> (with manpage additions by myself)
Reviewed by: cem ("LGTM" in PR; pre-manpage changes)
MFC after: 1 week


# 0fdf7fa8 17-Jan-2018 Conrad Meyer <cem@FreeBSD.org>

Convert ls(1) to not use libxo(3)

libxo imposes a large burden on system utilities. In the case of ls, that
burden is difficult to justify -- any language that can interact with json
output can use readdir(3) and stat(2).

Logically, this reverts r291607, r285857, r285803, r285734, r285425,
r284494, r284489, r284252, and r284198.

Kyua tests continue to pass (libxo integration was entirely untested).

Reported by: many
Reviewed by: imp
Discussed with: manu, bdrewery
Sponsored by: Dell EMC Isilon
Differential Revision: https://reviews.freebsd.org/D13959


# fbbd9655 28-Feb-2017 Warner Losh <imp@FreeBSD.org>

Renumber copyright clause 4

Renumber cluase 4 to 3, per what everybody else did when BSD granted
them permission to remove clause 3. My insistance on keeping the same
numbering for legal reasons is too pedantic, so give up on that point.

Submitted by: Jan Schaumann <jschauma@stevens.edu>
Pull Request: https://github.com/freebsd/freebsd/pull/96


# 06691045 01-Dec-2015 Craig Rodrigues <rodrigc@FreeBSD.org>

Add more text to explain --libxo flag.


# 62a1a5f7 27-Sep-2015 Allan Jude <allanjude@FreeBSD.org>

Fix whitespace error in ls(1) detected by igor

Approved by: bcr (mentor)
Sponsored by: EuroBSDCon DevSummit


# 141af3c6 27-Sep-2015 Allan Jude <allanjude@FreeBSD.org>

Use one fewer made up words in the ls(1) man page

PR: 203337
Submitted by: Mike Dame <damemi@gmail.com>
Approved by: bcr (mentor)
Sponsored by: EuroBSDCon DevSummit


# 52e4a08c 09-Jun-2015 Marcel Moolenaar <marcel@FreeBSD.org>

Convert ls(1) to use libxo(3).

Obtained from: Phil Shafer <phil@juniper.net>
Sponsored by: Juniper Networks, Inc.


# cc444214 12-Apr-2014 Glen Barber <gjb@FreeBSD.org>

Bump Dd, missed as part of r264098 and related commits.

Sponsored by: The FreeBSD Foundation


# 3490c304 03-Apr-2014 Greg Lehey <grog@FreeBSD.org>

-k option is compliant with POSIX.


# a50f6875 03-Apr-2014 Greg Lehey <grog@FreeBSD.org>

Typo.

Reported by: Igor Sobrado.


# 8f7aa283 02-Apr-2014 Greg Lehey <grog@FreeBSD.org>

Add information on standards compliance of many options.

MFC after: 2 weeks


# 3651faa5 02-Apr-2014 Greg Lehey <grog@FreeBSD.org>

Make -f set -a, as required by the standard.

From the original OpenBSD commit 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@

Submitted by: Igor Sobrado
Discussed with: mckusick
Obtained from: OpenBSD project
MFC after: 2 weeks


# 7da1a731 21-Aug-2013 Kenneth D. Merry <ken@FreeBSD.org>

Expand the use of stat(2) flags to allow storing some Windows/DOS
and CIFS file attributes as BSD stat(2) flags.

This work is intended to be compatible with ZFS, the Solaris CIFS
server's interaction with ZFS, somewhat compatible with MacOS X,
and of course compatible with Windows.

The Windows attributes that are implemented were chosen based on
the attributes that ZFS already supports.

The summary of the flags is as follows:

UF_SYSTEM: Command line name: "system" or "usystem"
ZFS name: XAT_SYSTEM, ZFS_SYSTEM
Windows: FILE_ATTRIBUTE_SYSTEM

This flag means that the file is used by the
operating system. FreeBSD does not enforce any
special handling when this flag is set.

UF_SPARSE: Command line name: "sparse" or "usparse"
ZFS name: XAT_SPARSE, ZFS_SPARSE
Windows: FILE_ATTRIBUTE_SPARSE_FILE

This flag means that the file is sparse. Although
ZFS may modify this in some situations, there is
not generally any special handling for this flag.

UF_OFFLINE: Command line name: "offline" or "uoffline"
ZFS name: XAT_OFFLINE, ZFS_OFFLINE
Windows: FILE_ATTRIBUTE_OFFLINE

This flag means that the file has been moved to
offline storage. FreeBSD does not have any special
handling for this flag.

UF_REPARSE: Command line name: "reparse" or "ureparse"
ZFS name: XAT_REPARSE, ZFS_REPARSE
Windows: FILE_ATTRIBUTE_REPARSE_POINT

This flag means that the file is a Windows reparse
point. ZFS has special handling code for reparse
points, but we don't currently have the other
supporting infrastructure for them.

UF_HIDDEN: Command line name: "hidden" or "uhidden"
ZFS name: XAT_HIDDEN, ZFS_HIDDEN
Windows: FILE_ATTRIBUTE_HIDDEN

This flag means that the file may be excluded from
a directory listing if the application honors it.
FreeBSD has no special handling for this flag.

The name and bit definition for UF_HIDDEN are
identical to the definition in MacOS X.

UF_READONLY: Command line name: "urdonly", "rdonly", "readonly"
ZFS name: XAT_READONLY, ZFS_READONLY
Windows: FILE_ATTRIBUTE_READONLY

This flag means that the file may not written or
appended, but its attributes may be changed.

ZFS currently enforces this flag, but Illumos
developers have discussed disabling enforcement.

The behavior of this flag is different than MacOS X.
MacOS X uses UF_IMMUTABLE to represent the DOS
readonly permission, but that flag has a stronger
meaning than the semantics of DOS readonly permissions.

UF_ARCHIVE: Command line name: "uarch", "uarchive"
ZFS_NAME: XAT_ARCHIVE, ZFS_ARCHIVE
Windows name: FILE_ATTRIBUTE_ARCHIVE

The UF_ARCHIVED flag means that the file has changed and
needs to be archived. The meaning is same as
the Windows FILE_ATTRIBUTE_ARCHIVE attribute, and
the ZFS XAT_ARCHIVE and ZFS_ARCHIVE attribute.

msdosfs and ZFS have special handling for this flag.
i.e. they will set it when the file changes.

sys/param.h: Bump __FreeBSD_version to 1000047 for the
addition of new stat(2) flags.

chflags.1: Document the new command line flag names
(e.g. "system", "hidden") available to the
user.

ls.1: Reference chflags(1) for a list of file flags
and their meanings.

strtofflags.c: Implement the mapping between the new
command line flag names and new stat(2)
flags.

chflags.2: Document all of the new stat(2) flags, and
explain the intended behavior in a little
more detail. Explain how they map to
Windows file attributes.

Different filesystems behave differently
with respect to flags, so warn the
application developer to take care when
using them.

zfs_vnops.c: Add support for getting and setting the
UF_ARCHIVE, UF_READONLY, UF_SYSTEM, UF_HIDDEN,
UF_REPARSE, UF_OFFLINE, and UF_SPARSE flags.

All of these flags are implemented using
attributes that ZFS already supports, so
the on-disk format has not changed.

ZFS currently doesn't allow setting the
UF_REPARSE flag, and we don't really have
the other infrastructure to support reparse
points.

msdosfs_denode.c,
msdosfs_vnops.c: Add support for getting and setting
UF_HIDDEN, UF_SYSTEM and UF_READONLY
in MSDOSFS.

It supported SF_ARCHIVED, but this has been
changed to be UF_ARCHIVE, which has the same
semantics as the DOS archive attribute instead
of inverse semantics like SF_ARCHIVED.

After discussion with Bruce Evans, change
several things in the msdosfs behavior:

Use UF_READONLY to indicate whether a file
is writeable instead of file permissions, but
don't actually enforce it.

Refuse to change attributes on the root
directory, because it is special in FAT
filesystems, but allow most other attribute
changes on directories.

Don't set the archive attribute on a directory
when its modification time is updated.
Windows and DOS don't set the archive attribute
in that scenario, so we are now bug-for-bug
compatible.

smbfs_node.c,
smbfs_vnops.c: Add support for UF_HIDDEN, UF_SYSTEM,
UF_READONLY and UF_ARCHIVE in SMBFS.

This is similar to changes that Apple has
made in their version of SMBFS (as of
smb-583.8, posted on opensource.apple.com),
but not quite the same.

We map SMB_FA_READONLY to UF_READONLY,
because UF_READONLY is intended to match
the semantics of the DOS readonly flag.
The MacOS X code maps both UF_IMMUTABLE
and SF_IMMUTABLE to SMB_FA_READONLY, but
the immutable flags have stronger meaning
than the DOS readonly bit.

stat.h: Add definitions for UF_SYSTEM, UF_SPARSE,
UF_OFFLINE, UF_REPARSE, UF_ARCHIVE, UF_READONLY
and UF_HIDDEN.

The definition of UF_HIDDEN is the same as
the MacOS X definition.

Add commented-out definitions of
UF_COMPRESSED and UF_TRACKED. They are
defined in MacOS X (as of 10.8.2), but we
do not implement them (yet).

ufs_vnops.c: Add support for getting and setting
UF_ARCHIVE, UF_HIDDEN, UF_OFFLINE, UF_READONLY,
UF_REPARSE, UF_SPARSE, and UF_SYSTEM in UFS.
Alphabetize the flags that are supported.

These new flags are only stored, UFS does
not take any action if the flag is set.

Sponsored by: Spectra Logic
Reviewed by: bde (earlier version)


# e9e3a1ab 15-Mar-2013 Joel Dahl <joel@FreeBSD.org>

Add a few examples.

Obtained from: OpenBSD


# 9aa68a3f 07-Nov-2012 Greg Lehey <grog@FreeBSD.org>

Add y flag and environment variable LS_SAMESORT to specify the same
sorting order for time and name with the -t option. IEEE Std 1003.2
(POSIX.2) mandates that the -t option sort in descending order, and
that if two files have the same timestamp, they should be sorted in
ascending order of their names. The -r flag reverses both of these
sort orders, so they're never the same. This creates significant
problems for sequentially named files stored on FAT file systems,
where it can be impossible to list them in the order in which they
were created.

Add , (comma) option to print file sizes grouped and separated by
thousands using the non-monetary separator returned by localeconv(3),
typically a comma or period.

MFC after: 14 days


# 9f365aa1 28-Sep-2011 Ed Schouten <ed@FreeBSD.org>

Get rid of major/minor number distinction.

As of FreeBSD 6, devices can only be opened through devfs. These device
nodes don't have major and minor numbers anymore. The st_rdev field in
struct stat is simply based a copy of st_ino.

Simply display device numbers as hexadecimal, using "%#jx". This is
allowed by POSIX, since it explicitly states things like the following
(example taken from ls(1)):

"If the file is a character special or block special file, the
size of the file may be replaced with implementation-defined
information associated with the device in question."

This makes the output of these commands more compact. For example, ls(1)
now uses approximately four columns less. While there, simplify the
column length calculation from ls(1) by calling snprintf() with a NULL
buffer.

Don't be afraid; if needed one can still obtain individual major/minor
numbers using stat(1).


# e2ea39cb 13-May-2011 Sergey Kandaurov <pluknet@FreeBSD.org>

Update sticky(7) cross references.

PR: docs/124468
X-MFC with: r218998


# a7d5f7eb 19-Oct-2010 Jamie Gritton <jamie@FreeBSD.org>

A new jail(8) with a configuration file, to replace the work currently done
by /etc/rc.d/jail.


# fe0506d7 09-Mar-2010 Marcel Moolenaar <marcel@FreeBSD.org>

Create the altix project branch. The altix project will add support
for the SGI Altix 350 to FreeBSD/ia64. The hardware used for porting
is a two-module system, consisting of a base compute module and a
CPU expansion module. SGI's NUMAFlex architecture can be an excellent
platform to test CPU affinity and NUMA-aware features in FreeBSD.


# 3f772eca 13-Apr-2009 Edward Tomasz Napierala <trasz@FreeBSD.org>

Add reference to strmode(3).


# d7f03759 19-Oct-2008 Ulf Lilleengen <lulf@FreeBSD.org>

- Import the HEAD csup code which is the basis for the cvsmode work.


# 5ffbd51e 03-Apr-2008 Ruslan Ermilov <ru@FreeBSD.org>

- Add -D to usage().
- Bump document date for the addition of the -D option.
- Reformat a sentence to look like a real sentence.


# 2269fa57 03-Apr-2008 Greg Lehey <grog@FreeBSD.org>

Add -D option to specify exact format of date and time output with ls -l.


# 32fcd457 12-Oct-2006 Ruslan Ermilov <ru@FreeBSD.org>

- Improve description of the -A option.
- Document how whiteouts look in the long output. [1]
- Sort entry types.
- Fix description of the socket type.

PR: docs/51921 [1]


# 9badf57f 17-Sep-2006 Ruslan Ermilov <ru@FreeBSD.org>

Markup fixes.


# 93a5035f 24-Mar-2006 John Baldwin <jhb@FreeBSD.org>

Change the -S and -t options to override each other so that the last one
specified wins to make their interaction less confusing.


# bea12be6 24-Mar-2006 John Baldwin <jhb@FreeBSD.org>

Add a few more references to -U.


# fe79420e 24-Mar-2006 John Baldwin <jhb@FreeBSD.org>

Add a new -U flag to instruct ls to use the birthtime for printing or
sorting.

Submitted by: Andrzej Tobola ato at iem dot pw dot edu dot pl
MFC after: 1 week


# 8af11131 16-Nov-2005 Ruslan Ermilov <ru@FreeBSD.org>

-mdoc sweep.


# 390a478e 16-Nov-2005 Ruslan Ermilov <ru@FreeBSD.org>

Having three options (-a, -A, -I) controlling the output of dotted
files is too much and hard to follow. Instead, make the -I option
just mean "do not automatically set -A for root". That is, if -A
is explicitly set, -I is ignored. Also, document -I in usage().
(The ls.c diff is better viewed relative to rev. 1.80.)

No objection: mux
Silence from: mnag
MFC after: 3 days


# 86e79d09 10-Nov-2005 Maxime Henrion <mux@FreeBSD.org>

Mention the non-standardness of the -I option in ls(1).

Spotted by: ru
MFC after: 3 days


# 7b7d153b 09-Nov-2005 Maxime Henrion <mux@FreeBSD.org>

Add a -I option to disable the automatic -A flag for the super-user.

PR: bin/86710
Submitted by: Marcus Alves Grando
MFC after: 3 days


# f93a0797 06-Sep-2005 Ralf S. Engelschall <rse@FreeBSD.org>

fix typos: decribed -> described, preceeded -> preceded


# 34602d8e 31-Aug-2005 Gary W. Swearingen <garys@FreeBSD.org>

Improved descriptions of block size handling.

PR: docs/84765
Submitted by: garys
Approved by: keramida
MFC after: 3 days


# 24b0280f 03-Jun-2005 Dima Dorfman <dd@FreeBSD.org>

Remove the EXAMPLES section that describes how to sort by size using
sort(1). This functionality is provided by the -S option now, and it
is useful even though a similar effect is achievable with sort(1),
since the latter doesn't work in combination with -h. This option is
also present in NetBSD, OpenBSD, and GNU fileutils, so there's clearly
a demand for it.

Noticed by: asmodai


# 77a15272 03-Jun-2005 Dima Dorfman <dd@FreeBSD.org>

Improve wording: A sort is "in" a particular order, not "by" a
particular order.


# 71b8b748 03-Jun-2005 Dima Dorfman <dd@FreeBSD.org>

Add the -S option to sort files by size. NetBSD and OpenBSD already
have this option with identical semantics (sorting large files first).
-r can be used to reverse the sort if that is desired.

PR: 81625
Submitted by: Kostas Blekos <mplekos@physics.upatras.gr>, keramida


# 0227791b 13-Feb-2005 Ruslan Ermilov <ru@FreeBSD.org>

Expand *n't contractions.


# 6fca4c7c 16-Jan-2005 Ruslan Ermilov <ru@FreeBSD.org>

Add the new standard EXIT STATUS section where appropriate.
Sort standard sections in the (documented) preferred order.


# 1c7adc9b 11-Jan-2005 Joerg Wunsch <joerg@FreeBSD.org>

The total sum of blocks for the -l and -s option is printed always,
regardless whether the output is to a terminal or not. As this is
consistent with the SUSPv2 specification (even though we do not
otherwise fully implement SUSPv2's ls(1) options), document this as it
is now, rather than trying to change the behaviour itself.

PR: docs/76072
Submitted by: Sebastian Rey <Sebastian.rey@gmx.net>
MFC after: 1 week


# 9ddb49cb 10-Jan-2005 Warner Losh <imp@FreeBSD.org>

/*- or .\"- or #- to begin license clauses.


# eccea571 02-Jul-2004 Ruslan Ermilov <ru@FreeBSD.org>

Mechanically kill hard sentence breaks.


# 2d364078 16-May-2004 Ruslan Ermilov <ru@FreeBSD.org>

Punctuation.


# 107409f4 02-May-2004 Tim J. Robbins <tjr@FreeBSD.org>

Treat filenames as multibyte character strings (according to the current
LC_CTYPE setting) when determining which characters are printable.
This is an often-requested feature.

Use wcwidth() to determine the number of column positions a character
takes up, although there are still a few places left where we assume
1 byte = 1 column position, e.g. line-wrapping when handling the -m option.

The error handling here is somewhat more complicated than usual: we do
our best to show what we can of a filename in the presence of conversion
errors, instead of simply aborting.


# 6195fb41 06-Apr-2004 Mark Murray <markm@FreeBSD.org>

Remove clause 3 from the UCB licenses.

OK'ed by: imp, core


# f791df19 21-Mar-2004 Tim J. Robbins <tjr@FreeBSD.org>

Document incorrect handling of multibyte characters in filenames.


# d5f9f41c 01-Dec-2003 David E. O'Brien <obrien@FreeBSD.org>

Do something sensible if both -h and -k are given.

Approved by: re(scottl)


# a3c75939 08-Aug-2003 Jens Schweikhardt <schweikh@FreeBSD.org>

Note in STANDARDS that -gno are not (yet?) POSIX conformant.

Spotted by: harti
MFC after: 3 days


# d18ff742 10-Jul-2003 Christian Brueffer <brueffer@FreeBSD.org>

-l prints all permissions, not just owner and group

PR: 54294
Submitted by: Per Hedeland <per@hedeland.org>
MFC after: 3 days


# bf88fa93 06-May-2003 Tom Rhodes <trhodes@FreeBSD.org>

df(1) and ls(1) print units in 'four or fewer' not 'three or less'.

PR: 35523
Submitted by: Tomas Svensson <tsn@gbdev.net>


# d2e59e8d 20-Jan-2003 Chris Costello <chris@FreeBSD.org>

Reference maclabel(7).

Sponsored by: DARPA, Network Associates Laboratories


# 1734e39a 25-Nov-2002 Ruslan Ermilov <ru@FreeBSD.org>

mdoc(7) police: markup fixes.

Approved by: re


# dd9aaeb0 03-Nov-2002 Tim J. Robbins <tjr@FreeBSD.org>

Print a `+' character after the standard UNIX permission fields in long
listings if the file has an extended ACL (more than the required 3 entries).
This is what Solaris and IRIX do, and what the withdrawn POSIX.2c standard
required.

Reviewed by: rwatson (an earlier version of the patch)


# 4d33b62e 23-Oct-2002 Robert Watson <rwatson@FreeBSD.org>

Teach "ls -Z" to use the policy-agnostic MAC label interfaces rather
than the LOMAC-specific interfaces for listing MAC labels. This permits
ls to view MAC labels in a manner similar to getfmac, when ls is used
with the -l argument. Next generation LOMAC will use the MAC Framework
so should "just" work with this and other policies. Not the prettiest
code in the world, but then, neither is ls(1).

Obtained from: TrustedBSD Project
Sponsored by: DARPA, Network Associates Laboratories


# 7d971bbf 21-Aug-2002 Tom Rhodes <trhodes@FreeBSD.org>

s/filesystem/file system/ as discussed on -developers


# 84a0a0ee 19-Aug-2002 Ruslan Ermilov <ru@FreeBSD.org>

mdoc(7) police: fixed the document date.

Submitted by: iedowse


# 3f0e2b01 29-May-2002 Ruslan Ermilov <ru@FreeBSD.org>

mdoc(7) police: markup nits.


# 94274c73 18-May-2002 Tim J. Robbins <tjr@FreeBSD.org>

Add missing options required by SUSv3:
-m List files across the page, separated by commas.
-p Print a slash after directory names
-x Same as -C but sort across the columns rather than down

Submitted by: Kyle Martin <mkm@ieee.org>


# ebd43244 15-May-2002 Tom Rhodes <trhodes@FreeBSD.org>

Consistancy check s/file system/filesystem/

Reviewed by: brian


# 093e3ce7 16-Apr-2002 Philippe Charnier <charnier@FreeBSD.org>

ls(1) is utility not function


# b744b6ca 14-Apr-2002 John W. De Boskey <jwd@FreeBSD.org>

Document option to option dependancy. Fix typo.

MFC after: 1 week


# 127713f4 09-Jan-2002 Ruslan Ermilov <ru@FreeBSD.org>

mdoc(7) police: tidy up.


# 887f28b3 28-Dec-2001 Ben Smithurst <ben@FreeBSD.org>

Remove part of a diff committed at the end of the file.


# 47f884f0 28-Dec-2001 Josef Karthauser <joe@FreeBSD.org>

Force raw printing of non-printable characters via the -w option.

PR: bin/28007


# 0e8d1551 28-Dec-2001 Josef Karthauser <joe@FreeBSD.org>

Add a new flag, -h which when combined with the -l option causes
file sizes to be displayed with unit suffixes; Byte, Kilobyte,
Megabyte, Gigabyte, Terabyte and Petabyte in order to reduce the
number of digits to three or less.

Submitted by: nik


# c1499cf6 28-Dec-2001 Josef Karthauser <joe@FreeBSD.org>

Revamp the colour support to allow for bold characters. Colours
are now defined using the characters a-h and A-H for the bold
variants. The old way using 0-7 for the colours still works, but
prints a message asking the user to switch.

PR: bin/27374


# c602ea21 05-Dec-2001 Giorgos Keramidas <keramida@FreeBSD.org>

Make a bit more clear the types of characters that -B option will
print in octal.

Reviewed by: roam, silence on -doc


# b5f82180 04-Dec-2001 Ruslan Ermilov <ru@FreeBSD.org>

mdoc(7) police: s/LKM/KLD/, sort xrefs.


# 7304f61f 26-Nov-2001 Brian Feldman <green@FreeBSD.org>

Add LOMAC options (the "Z" flag in both cases) to display extra information
in ls(1) and ps(1).

Sponsored by: DARPA, NAI Labs


# d628d776 15-Aug-2001 Ruslan Ermilov <ru@FreeBSD.org>

mdoc(7) police: utilize the new .Ex macro.


# 7176351c 23-Jul-2001 Dima Dorfman <dd@FreeBSD.org>

Don't use the pronoun "you".

Reviewed by: sheldonh, mpp


# f4c77bb8 22-Jul-2001 Dima Dorfman <dd@FreeBSD.org>

Don't put a shell prompt in the example since none of the other man
pages do it. Also, don't use brackets to indicate optional options in
the example; instead, add a paragraph below the example explaining it.


# 3c98bba9 20-Jul-2001 Ben Smithurst <ben@FreeBSD.org>

Add missing closing parenthesis.


# 703bf768 20-Jul-2001 David E. O'Brien <obrien@FreeBSD.org>

Show an example of how to sort a file listing by size. Hopefully this
will reduce the number of people calling for this functionality to be
added to ls(1).


# 7ebcc426 15-Jul-2001 Dima Dorfman <dd@FreeBSD.org>

Remove whitespace at EOL.


# 47dec781 13-Feb-2001 Ruslan Ermilov <ru@FreeBSD.org>

mdoc(7) police: use the default ``file ...'' feature of the .Ar macro.


# d0353b83 01-Feb-2001 Ruslan Ermilov <ru@FreeBSD.org>

mdoc(7) police: split punctuation characters + misc fixes.


# 00dfd878 28-Dec-2000 Tim Vanderhoek <hoek@FreeBSD.org>

grammar gnit: "relationships (plural) _are_ complex"


# 12e720d7 15-Dec-2000 Ruslan Ermilov <ru@FreeBSD.org>

Prepare for mdoc(7)NG.


# be8b1497 20-Nov-2000 Ruslan Ermilov <ru@FreeBSD.org>

mdoc(7) police: use the new features of the Nm macro.


# d4413063 12-Aug-2000 Josef Karthauser <joe@FreeBSD.org>

Un-deprecate the -G flag at obrien's request. Colour sequences are still
dependent upon the output being directed to a terminal however.
(Use the CLICOLOR_FORCE variable to force output).


# 74e60901 12-Aug-2000 Josef Karthauser <joe@FreeBSD.org>

Correct spelling: depricated -> deprecated.


# 3d2ddc9e 12-Aug-2000 Josef Karthauser <joe@FreeBSD.org>

A change to the way that colours are switched on in ls. The -G
flag has been depricated, although it still works with a warning
message, and replaced with an environment variable CLICOLOR (command
line interface colour). This could be used by other tools that
want to be able to control colour output.

In addition if the environment variable CLICOLOR_FORCE is defined
colour sequences are output irrespective of whether the output is
directed to a terminal (as long as TERM references a colour capable
terminal of course ;)

PR: bin/20291 and bin/20483


# aab56c46 12-Aug-2000 Josef Karthauser <joe@FreeBSD.org>

".It" -> ".It Ev" in a couple of places.


# 16481ad9 07-Jul-2000 Sheldon Hearn <sheldonh@FreeBSD.org>

Explain the dependence of colour support on the capabilities of the
terminal emulator.

As pointed out by jhb, a more scalable solution would be preferable
when multiple applications in the base system begin linking against
libh.

Submitted by: Doug Barton <DougB@gorean.org>


# 728a64be 22-Jun-2000 Sheldon Hearn <sheldonh@FreeBSD.org>

Fix changes from 1.34 through 1.37:

Remove newly added hard sentence breaks.
Mark ANSI up as a type name (Tn).
Avoid parenthesized sentences and paragraphs.


# e5516847 21-Jun-2000 Josef Karthauser <joe@FreeBSD.org>

Order the ENVIRONMENT section alphabetically.


# 1e715e34 21-Jun-2000 Josef Karthauser <joe@FreeBSD.org>

I broke locale sensitive ordering of date and month in
the long -l output format with the last commit. Fix it
by replacing the "%b %e" strftime format with "%Ef".

Make a note in the manual page that the LANG environment
variable affects the running of ls.

Reviewed by: ache


# 4304e142 05-Jun-2000 Andrey A. Chernov <ache@FreeBSD.org>

Reflect reality:
yellow -> brown
white -> light grey


# 3885812c 02-Jun-2000 Josef Karthauser <joe@FreeBSD.org>

Add colour support to /bin/ls (at a cost of 1056 bytes on my system).

It is not switched on by default and must be enabled with the -G
flag. When using ls -G the output behaviour is modified with ANSI
colour sequences wrapped around filenames to help distinguish file
types. (Colours can be redefined in the LSCOLORS environment
variable as described in the manual page.)

Colour support is silently disabled (if switched on) if stdout
isn't a tty.

Based on: asami's colorls port.
PR: bin/18900 && ports/18616.


# 4e86fcac 02-Mar-2000 Sheldon Hearn <sheldonh@FreeBSD.org>

Remove more single-space hard sentence breaks.


# bef84d6b 01-Mar-2000 Sheldon Hearn <sheldonh@FreeBSD.org>

Remove single-space hard sentence breaks. These degrade the quality
of the typeset output, tend to make diffs harder to read and provide
bad examples for new-comers to mdoc.


# 64cfb0f1 16-Oct-1999 David E. O'Brien <obrien@FreeBSD.org>

Add `n' to the synopsis.

Forgotten by: sheldonh


# 2a456239 27-Aug-1999 Peter Wemm <peter@FreeBSD.org>

$Id$ -> $FreeBSD$


# f3a6a64e 02-Aug-1999 Sheldon Hearn <sheldonh@FreeBSD.org>

Add -n option to print numeric user and group IDs instead of names
in a long (-l) listing.

MFC-jockies should make sure that bde's concerns regarding the number
of digits required to represent a uid_t and the use of snprintf
on the associated PR have been addressed before going wild.

PR: 12866
Reported by: Philip Kizer <pckizer@nostrum.com>
Obtained from: NetBSD


# 46be34b9 08-May-1999 Kris Kennaway <kris@FreeBSD.org>

Various spelling/formatting changes.

Submitted by: Philippe Charnier <charnier@xp11.frmug.org>


# a261bdc7 27-Apr-1999 Tim Vanderhoek <hoek@FreeBSD.org>

.Xr chflags 1 ,


# d234f408 30-Nov-1998 Bill Fumerola <billf@FreeBSD.org>

changable -> changeable

PR: docs/8697
Submitted by: Sascha Blank <blank@fox.uni-trier.de>


# 9a54dc6f 03-Oct-1998 Jordan K. Hubbard <jkh@FreeBSD.org>

Null commit, just to test something. Please ignore.


# 545f583c 28-Jul-1998 Tim Vanderhoek <hoek@FreeBSD.org>

Allow env. variable LS_COLWIDTHS to specify minimum column widths,
effectively overriding the dynamically-sized-column feature. This
is mostly useful for non-interactive use, where it may be necessary
to ensure that listings taken at different times have columns that
line-up correctly. I have been assured that at least one large,
well-known program will soon be taking advantage of this. :-)

PR: bin/7011
Submitted by: Joel Ray Holveck <joelh@gnu.org>


# 542ed501 15-May-1998 Philippe Charnier <charnier@FreeBSD.org>

Correct use of .Nm. Typo.


# 84717b42 13-May-1998 Poul-Henning Kamp <phk@FreeBSD.org>

.Sh ENVIRONMENT VARIABLES -> .Sh ENVIRONMENT

PR: 6599
Reviewed by: phk
Submitted by: Josh Gilliam <josh@quick.net>


# 9ca13eea 29-Apr-1998 Warner Losh <imp@FreeBSD.org>

Add note about BLOCKSIZE variable to -s flag.


# a2a029d2 24-Apr-1998 Dag-Erling Smørgrav <des@FreeBSD.org>

Remove the bogus -? option after reading the getopt() manual :)


# 3a34dbf7 23-Apr-1998 Dag-Erling Smørgrav <des@FreeBSD.org>

o Removed two unused variables (f_dirname and f_newline) in ls.c

o Added the -H and -P options for treatment of symbolic links.

o Removed the #ifdef BSD4_4_LITE, since it does not seem to do anything
useful

o Fixed up prn_octal() so its output looks more like that of AT&T Unices
when -b is given.

The next two lines apply only to the first two changes above:

PR: bin/6140
Submitted by: Max Euston


# 0d86878c 24-Apr-1998 Dag-Erling Smørgrav <des@FreeBSD.org>

o Renamed '-b' (show unprintables in octal) to '-B'

o Added a new '-b' which behaves as in AT&T Unices (show unprintables in
octal, using C escape codes when possible)

o Added '?' to the getopt() string, since the code in the switch considers
it as a valid option.


# 7ea30648 21-Apr-1998 Dag-Erling Smørgrav <des@FreeBSD.org>

Added -b option to display unprintables in octal.
PR: 1315


# dfb9495b 25-Dec-1997 Tim Vanderhoek <hoek@FreeBSD.org>

Use consistent spelling,
writeable -> writable (recall prior debate over this? :-)
initialise -> initialize
recognise -> recognize

Merry Christmas! :)


# 34384756 18-Sep-1997 Philippe Charnier <charnier@FreeBSD.org>

environmental -> environment.


# c4694019 01-Jul-1997 Bruce Evans <bde@FreeBSD.org>

Import Lite2's src/bin. All files in src/bin are off the vendor branch,
so this doesn't change the active versions.


# e9dff556 29-Apr-1997 Doug Rabson <dfr@FreeBSD.org>

Enable whiteout code since we now have the lite2 support for them.


# 36f763ab 26-Mar-1997 David E. O'Brien <obrien@FreeBSD.org>

make usage() and SYNOPSIS agree with each other and add missing options
documented in the DESCRIPTION section.


# 7680dae5 06-Mar-1997 Mike Pritchard <mpp@FreeBSD.org>

Typo fix.


# 44a8ea33 24-Feb-1997 Mike Pritchard <mpp@FreeBSD.org>

Add a missing period in the -o option description.

Document the depreciated -g option.

Inspired by: OpenBSD PR# 119


# b97fa2ef 22-Feb-1997 Peter Wemm <peter@FreeBSD.org>

Revert $FreeBSD$ to $Id$


# 1130b656 14-Jan-1997 Jordan K. Hubbard <jkh@FreeBSD.org>

Make the long-awaited change from $Id$ to $FreeBSD$

This will make a number of things easier in the future, as well as (finally!)
avoiding the Id-smashing problem which has plagued developers for so long.

Boy, I'm glad we're not using sup anymore. This update would have been
insane otherwise.


# 3414ffc2 11-Jan-1997 Mike Pritchard <mpp@FreeBSD.org>

Minor mdoc cleanup.


# 2a147937 11-Jan-1997 Mike Pritchard <mpp@FreeBSD.org>

Add a blurb describing the fact that ls will print the
year in place of the hour/minute fields if the time is
more than 6 months in the past or future.

Also some minor mdoc cleanup.


# fb5cb208 13-Dec-1996 Steve Price <steve@FreeBSD.org>

Merge Lite2 mods, and -Wall cleaning. undelete(2) cruft
not yet implemented is protected by a define (BSD4_4_LITE)
that should be removed when this call is supported by the
kernel.


# b8923d4c 29-Aug-1996 Wolfram Schneider <wosch@FreeBSD.org>

[HISTORY] command appeared in Version 1 AT&T UNIX
Obtained from: A Quarter Century of UNIX, Peter H. Salus, page 41


# 5807eef1 26-Sep-1995 Mike Pritchard <mpp@FreeBSD.org>

Uncomment out references to FIFOs for the -F and -l options.
Also mention sockets in the text for -F.

Partially obtained from the NetBSD commit mail list.


# 89730b29 23-Sep-1994 David Greenman <dg@FreeBSD.org>

Added $Id$


# 475727a0 19-Sep-1994 Paul Traina <pst@FreeBSD.org>

Add support for '-k' option to print file allocation space in 'K' instead of
system blocks.

This is semi-original code, not the same way this crufty option was handled
in FreeBSD 1.x.


# 4b88c807 26-May-1994 Rodney W. Grimes <rgrimes@FreeBSD.org>

BSD 4.4 Lite bin Sources