2009/228 ls enhancements
Jason King
jason at ansipunx.net
Mon May 18 19:21:53 PDT 2009
To accompany my earlier message, I've attached the updated man page
changes for the case materials. These do not reflect any change in
behavior or architecture, merely making the initial manpage changes
submitted with the case agree with the results of the case discussion.
A brief summary of the changes from the original ls.txt:
1. --color invocation is changed to show correct usage of --color[=WHEN].
2. Values for --block-size are elaborated (based on pervious message).
3. LS_COLOR is fixed to the correct LS_COLORS.
4. LS_COLORS and TERM added to the environment variable section.
LS_COLORS use was already detailed in the color output section, just
not listed under environment variables. TERM was an implicit
dependency due to the use of terminfo, it was added to make the
dependency explicit.
-------------- next part --------------
User Commands ls(1)
NAME
ls - list contents of directory
SYNOPSIS
| /usr/bin/ls [-aAbcCdeEfFghHiklLmnopqrRsStuUwvVx1@]
[-/ c | v] [-% atime | crtime | ctime | mtime | all] [file]...
| /usr/xpg4/bin/ls [-aAbcCdeEfFghHiklLmnopqrRsStuUwvVx1@]
[-/ c | v] [-% atime | crtime | ctime | mtime | all] [file]...
| /usr/xpg6/bin/ls [-aAbcCdeEfFghHiklLmnopqrRsStuUwvVx1@]
[-/ c | v] [-% atime | crtime | ctime | mtime | all] [file]...
DESCRIPTION
For each file that is a directory, ls lists the contents of
the directory. For each file that is an ordinary file, ls
repeats its name and any other information requested. The
output is sorted alphabetically by default. When no argument
is given, the current directory (.) is listed. When several
arguments are given, the arguments are first sorted
appropriately, but file arguments appear before directories
and their contents.
There are three major listing formats. The default format
for output directed to a terminal is multi-column with
entries sorted down the columns. The -1 option allows single
column output and -m enables stream output format. In order
to determine output formats for the -C, -x, and -m options,
ls uses an environment variable, COLUMNS, to determine the
number of character positions available on one output line.
If this variable is not set, the terminfo(4) database is
used to determine the number of columns, based on the
environment variable, TERM. If this information cannot be
| obtained, 80 columns are assumed. If the -w option is used,
| the argument will override any other column width.
The mode printed when the -e, -E, -g, -l, -n, -o, -v, -V, or
-@ option is in effect consists of eleven characters. The
first character can be one of the following:
d The entry is a directory.
D The entry is a door.
l The entry is a symbolic link.
SunOS 5.11 Last change: 25 Mar 2008 1
User Commands ls(1)
b The entry is a block special file.
c The entry is a character special file.
p The entry is a FIFO (or "named pipe") special file.
P The entry is an event port.
s The entry is an AF_UNIX address family socket.
- The entry is an ordinary file.
The next 9 characters are interpreted as three sets of three
bits each. The first set refers to the owner's permissions;
the next to permissions of others in the user-group of the
file; and the last to all others. Within each set, the three
characters indicate permission to read, to write, and to
execute the file as a program, respectively. For a direc-
tory, execute permission is interpreted to mean permission
to search the directory for a specified file. The character
after permissions is an ACL or extended attributes indica-
tor. This character is an @ if extended attributes are asso-
ciated with the file and the -@ option is in effect. Other-
wise, this character is a plus sign (+) character if a non-
trivial ACL is associated with the file or a space character
if not.
If -/ and/or -% are in effect, then the extended system
attributes are printed when filesystem supports extended
system attributes. The display looks as follows:
$ls -/ c file
-rw-r--r-- 1 root root 0 May 10 14:17 file
{AHRSadim-u}
$ls -/ v file
-rw-r--r-- 1 root root 0 May 10 14:17 file
{archive,hidden,readonly,system,appendonly\
nodump,immutable, av_modified,\
noav_quarantined,nounlink}
$ls -l -% all file
-rw-r--r-- 1 root root 0 May 10 14:17 file
timestamp: atime Jun 25 12:56:44 2007
SunOS 5.11 Last change: 25 Mar 2008 2
User Commands ls(1)
timestamp: ctime May 10 14:20:23 2007
timestamp: mtime May 10 14:17:56 2007
timestamp: crtime May 10 14:17:56 2007
See the option descriptions of the -/ and -% option for
details.
ls -l (the long list) prints its output as follows for the
POSIX locale:
-rwxrwxrwx+ 1 smith dev 10876 May 16 9:42 part2
Reading from right to left, you see that the current direc-
tory holds one file, named part2. Next, the last time that
file's contents were modified was 9:42 A.M. on May 16. The
file contains 10,876 characters, or bytes. The owner of the
file, or the user, belongs to the group dev (perhaps indi-
cating ``development''), and his or her login name is smith.
The number, in this case 1, indicates the number of links to
file part2 (see cp(1)). The plus sign indicates that there
is an ACL associated with the file. If the -@ option has
been specified, the presence of extended attributes super-
sede the presence of an ACL and the plus sign is replaced
with an 'at' sign (@). Finally, the dash and letters tell
you that user, group, and others have permissions to read,
write, and execute part2.
The execute (x) symbol occupies the third position of the
three-character sequence. A - in the third position would
have indicated a denial of execution permissions.
The permissions are indicated as follows:
r The file is readable.
w The file is writable.
x The file is executable.
SunOS 5.11 Last change: 25 Mar 2008 3
User Commands ls(1)
- The indicated permission is not granted.
s The set-user-ID or set-group-ID bit is on, and the
corresponding user or group execution bit is also
on.
S Undefined bit-state (the set-user-ID or set-group-id
bit is on and the user or group execution bit is
off). For group permissions, this applies only to
non-regular files.
t The 1000 (octal) bit, or sticky bit, is on (see
chmod(1)), and execution is on.
T The 1000 bit is turned on, and execution is off
(undefined bit-state).
/usr/bin/ls
l Mandatory locking occurs during access (on a regular
file, the set-group-ID bit is on and the group execu-
tion bit is off).
/usr/xpg4/bin/ls and /usr/xpg6/bin/ls
L Mandatory locking occurs during access (on a regular
file, the set-group-ID bit is on and the group execu-
tion bit is off).
For user and group permissions, the third position is some-
times occupied by a character other than x or -. s or S also
can occupy this position, referring to the state of the
set-ID bit, whether it be the user's or the group's. The
ability to assume the same ID as the user during execution
is, for example, used during login when you begin as root
but need to assume the identity of the user you login as.
In the case of the sequence of group permissions, l can
occupy the third position. l refers to mandatory file and
record locking. This permission describes a file's ability
to allow other files to lock its reading or writing permis-
sions during access.
SunOS 5.11 Last change: 25 Mar 2008 4
User Commands ls(1)
For others permissions, the third position can be occupied
by t or T. These refer to the state of the sticky bit and
execution permissions.
OPTIONS
The following options are supported:
/usr/bin/ls, /usr/xpg4/bin/ls, and /usr/xpg6/bin/ls
The following options are supported for all three versions:
| --all
-a Lists all entries, including those that begin
with a dot (.), which are normally not listed.
| --almost-all
-A Lists all entries, including those that begin
with a dot (.), with the exception of the working
directory (.) and the parent directory (..).
| --escape
-b Forces printing of non-printable characters to be
in the octal \ddd notation.
| --ignore-backups
| -B Do not display any files ending with a tilde (~).
-c Uses time of last modification of the i-node
(file created, mode changed, and so forth) for
sorting (-t) or printing (-l or -n).
-C Multi-column output with entries sorted down the
columns. This is the default output format.
-d If an argument is a directory, lists only its
name (not its contents). Often used with -l to
get the status of a directory.
-e The same as -l, except displays time to the
second, and with one format for all files regard-
less of age: mmm dd hh:mm:ss yyyy.
-E The same as -l, except displays time to the
nanosecond and with one format for all files
regardless of age: yyyy-mm-dd hh:mm:ss.nnnnnnnnn
(ISO 8601:2000 format).
In addition, this option displays the offset from
UTC in ISO 8601:2000 standard format (+hhmm or
-hhmm) or no characters if the offset is indeter-
minable. The offset reflects the appropriate
standard or alternate offset in force at the
SunOS 5.11 Last change: 25 Mar 2008 5
User Commands ls(1)
file's displayed date and time, under the current
timezone.
-f Forces each argument to be interpreted as a
directory and list the name found in each slot.
This option turns off -l, -t, -s, -S, and -r, and
turns on -a. The order is the order in which
entries appear in the directory.
| --classify
| -F Append a symbol after certain types of files to
| indicate the file type. The following symbols
| are used:
| / Directory
| > Door file
| | Named pipe (FIFO)
| @ Symbolic link
| = Socket
| * Executable
|
|
-g The same as -l, except that the owner is not
printed.
| --human-readable
-h All sizes are scaled to a human readable format,
for example, 14K, 234M, 2.7G, or 3.0T. Scaling is
done by repetitively dividing by 1024.
| --dereference-command-line
-H If an argument is a symbolic link that references
a directory, this option evaluates the file
information and file type of the directory that
the link references, rather than those of the
link itself. However, the name of the link is
displayed, rather than the referenced directory.
| --inode
-i For each file, prints the i-node number in the
first column of the report.
| -k All sizes are printed in kbytes.
-l Lists in long format, giving mode, ACL indica-
tion, number of links, owner, group, size in
bytes, and time of last modification for each
file (see above). If the file is a special file,
the size field instead contains the major and
minor device numbers. If the time of last modifi-
cation is greater than six months ago, it is
shown in the format `month date year' for the
POSIX locale. When the LC_TIME locale category is
not set to the POSIX locale, a different format
of the time field can be used. Files modified
within six months show `month date time'. If the
file is a symbolic link, the filename is printed
followed by "->" and the path name of the refer-
enced file.
| --dereference
-L If an argument is a symbolic link, this option
evaluates the file information and file type of
the file or directory that the link references,
SunOS 5.11 Last change: 25 Mar 2008 6
User Commands ls(1)
rather than those of the link itself. However,
the name of the link is displayed, rather than
the referenced file or directory.
-m Streams output format. Files are listed across
the page, separated by commas.
| --numeric-uid-gid
-n The same as -l, except that the owner's UID and
group's GID numbers are printed, rather than the
associated character strings.
| --no-group
-o The same as -l, except that the group is not
printed.
-p Puts a slash (/) after each filename if the file
is a directory.
| --hide-control-chars
-q Forces printing of non-printable characters in
file names as the character question mark (?).
| --reverse
-r Reverses the order of sort to get reverse alpha-
betic, oldest first, or smallest file size first
as appropriate.
| --recursive
-R Recursively lists subdirectories encountered.
| --size
-s Indicate the total number of file system blocks
consumed by each file displayed.
-S Sort by file size (in decreasing order) and for
files with the same size by file name (in
increasing alphabetic order) instead of just by
name.
-t Sorts by time stamp (latest first) instead of by
name. The default is the last modification time.
See -c, -u and -%.
-u Uses time of last access instead of last modifi-
cation for sorting (with the -t option) or print-
ing (with the -l option).
SunOS 5.11 Last change: 25 Mar 2008 7
User Commands ls(1)
| -U Output is unsorted. This overrides the -t and
| -s setting.
-v The same as -l, except that verbose ACL informa-
tion is displayed as well as the -l output. ACL
information is displayed even if the file or
directory doesn't have an ACL.
-V The same as -l, except that compact ACL informa-
tion is displayed after the -l output.
The -V option is only applicable to file systems
that support NFSv4 ACLs, such as the Solaris ZFS
file system.
The format of the displayed ACL is as follows:
entry_type : permissions : inheritance_flags : access_type
entry_type is displayed as one of the following:
user:username Additional user access for
username.
group:groupname Additional group access for
group groupname.
owner@ File owner.
group@ File group owner.
everyone@ Everyone access, including
file owner and file group
owner. This is not equivalent
to the POSIX other class.
The following permissions, supported by the NFSv4
ACL model, are displayed by using the -v or -V
options:
read_data (r) Permission to read the
data of a file.
list_directory (r) Permission to list the
contents of a directory.
SunOS 5.11 Last change: 25 Mar 2008 8
User Commands ls(1)
write_data (w) Permission to modify a
file's data. anywhere in
the file's offset range.
add_file (w) Permission to add a new
file to a directory.
append_data (p) The ability to modify a
file's data, but only
starting at EOF.
add_subdirectory (p) Permission to create a
subdirectory to a direc-
tory.
read_xattr (R) Ability to read the
extended attributes of a
file.
write_xattr (W) Ability to create
extended attributes or
write to the extended
attribute directory.
execute (x) Permission to execute a
file.
read_attributes (a) The ability to read basic
attributes (non-ACLs) of
a file.
write_attributes (A) Permission to change the
times associated with a
file or directory to an
arbitrary value.
delete (d) Permission to delete a
file.
delete_child (D) Permission to delete a
file within a directory.
SunOS 5.11 Last change: 25 Mar 2008 9
User Commands ls(1)
read_acl (r) Permission to read the
ACL of a file.
write_acl (C) Permission to write the
ACL of a file.
write_owner (o) Permission to change the
owner of a file.
synchronize (s) Permission to access file
locally at server with
synchronize reads and
writes.
- No permission granted
The following inheritance flags, supported by the
NFSv4 ACL model, are displayed by using the -v or
-V options:
file_inherit (f) Inherit to all newly
created files.
dir_inherit (d) Inherit to all newly
created directories.
inherit_only (i) When placed on a direc-
tory, do not apply to
the directory, only to
newly created files and
directories. This flag
requires that either
file_inherit and or
dir_inherit is also
specified.
no_propagate (n) Indicates that ACL
entries should be inher-
ited to objects in a
directory, but inheri-
tance should stop after
descending one level.
This flag is dependent
upon either file_inherit
and or dir_inherit also
SunOS 5.11 Last change: 25 Mar 2008 10
User Commands ls(1)
being specified.
successful_access (S) Indicates if an alarm or
audit record should be
initiated upon success-
ful accesses. Used with
audit/alarm ACE types.
failed_access (F) Indicates if an alarm or
audit record should be
initiated when access
fails. Used with
audit/alarm ACE types.
inherited (I) ACE was inherited.
- No permission granted.
access_type is displayed as one of the following
types:
alarm Permission field that specifies permis-
sions that should trigger an alarm.
allow Permission field that specifies allow
permissions.
audit Permission field that specifies permis-
sions that should be audited.
deny Permission field that specifies deny
permissions.
For example:
$ ls -dV /sandbox/dir.1
drwxr-xr-x+ 2 root root 2 Jan 17 15:09 dir.1
user:marks:r-------------:fd-----:allow
owner@:--------------:-------:deny
owner@:rwxp---A-W-Co-:-------:allow
group@:-w-p----------:-------:deny
group@:r-x-----------:-------:allow
everyone@:-w-p---A-W-Co-:-------:deny
everyone@:r-x---a-R-c--s:-------:allow
$
SunOS 5.11 Last change: 25 Mar 2008 11
User Commands ls(1)
||||||||||||||||:||||||+ inherited access
||||||||||||||:||||||+ failed access
||||||||||||||:|||||+--success access
||||||||||||||:||||+-- no propagate
||||||||||||||:|||+--- inherit only
||||||||||||||:||+---- directory inherit
||||||||||||||:|+----- file inherit
||||||||||||||
||||||||||||||+ sync
|||||||||||||+- change owner
||||||||||||+-- write ACL
|||||||||||+--- read ACL
||||||||||+---- write extended attributes
|||||||||+----- read extended attributes
||||||||+------ write attributes
|||||||+------- read attributes
||||||+-------- delete child
|||||+--------- delete
||||+---------- append
|||+----------- execute
||+------------ write data
|+------------- read data
| --width cols
| -w cols Multi-column output where the column width is
| forced to cols.
-x Multi-column output with entries sorted across
rather than down the page.
-1 Prints one entry per line of output.
-@ The same as -l, except that extended attribute
information overrides ACL information. An @ is
displayed after the file permission bits for
files that have extended attributes.
-c | -v The same as -l, and in addition displays the
extended system attributes associated with the
file when extended system attributes are fully
supported by the underlying file system. The
option -/ supports two option arguments c (com-
pact mode) and v (verbose mode).
appendonly Allows a file to be modified
only at offset EOF. Attempts to
modify a file at a location
other than EOF fails with
EPERM.
SunOS 5.11 Last change: 25 Mar 2008 12
User Commands ls(1)
archive Indicates if a file has been
modified since it was last
backed up. Whenever the modifi-
cation time (mtime) of a file
is changed the archive attri-
bute is set.
av_modified ZFS sets the anti-virus attri-
bute which whenever a file's
content or size changes or when
the file is renamed.
av_quarantined Anti-virus software sets to
mark a file as quarantined.
crtime Timestamp when a file is
created.
hidden Marks a file as hidden.
immutable Prevents the content of a file
from being modified. Also
prevents all metadata changes,
except for access time updates.
When placed on a directory,
prevents the deletion and crea-
tion of files in the direc-
tories. Attempts to modify the
content of a file or directory
marked as immutable fail with
EPERM. Attempts to modify any
attributes (with the exception
of access time and, with the
proper privileges, the immut-
able) of a file marked as
immutable fails with EPERM.
nodump Solaris systems have no special
semantics for this attribute.
nounlink Prevents a file from being
deleted. On a directory, the
attribute also prevents any
changes to the contents of the
directory. That is, no files
SunOS 5.11 Last change: 25 Mar 2008 13
User Commands ls(1)
within the directory can be
removed or renamed. The errno
EPERM is returned when attempt-
ing to unlink or rename files
and directories that are marked
as nounlink.
readonly Marks a file as readonly. Once
a file is marked as readonly
the content data of the file
cannot be modified. Other meta-
data for the file can still be
modified.
system Solaris systems have no special
semantics for this attribute.
The display characters used in compact mode (-/ c) are as
follows:
Attribute Name Display
archive A
hidden H
readonly R
system S
appendonly a
nodump d
immutable i
av_modified m
av_quarantined q
nounlink u
The display in verbose mode (/ v) uses full attribute names
when it is set and the name prefixed by 'no' when it is not
set.
The attribute name crtime and all other timestamps are han-
dled by the option -% with the respective timestamp option
arguments and also with all option argument. The display
positions are as follows: The display in verbose mode (-/ v)
uses full attribute names when it is set and the name pre-
fixed by no when it is not set. The attribute name crtime
and all other timestamps are handled by the option -% with
SunOS 5.11 Last change: 25 Mar 2008 14
User Commands ls(1)
the respective timestamp option arguments and also with all
option argument.
The display positions are as follows:
{||||||||||}
|||||||||+- u (nounlink)
||||||||+-- q (av_quarantined)
|||||||+--- m (av_modified)
||||||+---- i (immutable)
|||||+----- d (nodump)
||||+------ a (appendonly)
|||+------- S (system)
||+-------- R (readonly)
|+--------- H (hidden)
+---------- A (archive)
-% atime | crtime | ctime | mtime | all
atime Equivalent to -u.
crtime Uses the creation time of the file for sorting or
printing.
ctime Equivalent to -c.
mtime Uses the last modification time of the file con-
tents for sorting or printing.
If extended system attributes are not supported or if the
user does not have read permission on the file or if the
crtime extended attribute is not set, crtime is treated as a
synonym for mtime.
When option argument -all is specified, all available times-
tamps are printed which includes -atime, -ctime, -mtime and
on the extended system attribute supporting file systems,
-crtime (create time). The option -% all does not effect
which timestamp is displayed in long format and does not
affect sorting.
SunOS 5.11 Last change: 25 Mar 2008 15
User Commands ls(1)
| --block-size size
| Display sizes in multiples of size. Size can be scaled by suffixing
| one of 'YyZzEePpTtGgMmKk'. Additionally, a 'B' can be placed at the
| end to indicate powers of 10 instead of 2 (e.g. '10mB' means blocks of
| 10000000 bytes while '10m' would mean blocks of 10*2^20 --
| 10485760 -- bytes). This is mutually exclusive with the -h option.
|
| --color[=when]
| --colour[=when]
| Display filenames using color on color-capable terminals.
| When is an optional argument that determines when color
| output should be displayed. Possible values are:
| always, yes, or force: Always use color
| auto, tty, if-tty: Use color if a terminal is present
| no, never, none: Never use color. This is the default.
| See COLOR OUTPUT for information on how to control the colors
| used in output.
|
| --file-type
| Display a suffix after a file depending on it's type, similar
| to the -F option, except * is not appended to executable files.
|
| --si
| Display human scaled sizes similar to the -h option, except
| powers of 10 instead of powers of 2 are used.
|
| --time-style style
| Display times using the specified style. This does not effect
| the times displayed for extended attributes (-%).
| Possible values for style are:
| full-iso: Equivalent to -E
| long-iso: Display in YYYY-MM-DD HH:MM for all files
| iso: Display older files using YYYY-MM-DD and newer files
| with MM-DD HH:MM
| locale: Use the default locale format for old and new files.
| This is the default.
| +FORMAT: Use a custom format. Values are the same as described
| in strftime(3c). If a newline appears in the string,
| the first line is used for older files and the
| second line is used for newer files, otherwise the
| given format is used for all files.
/usr/bin/ls
-F Marks directories with a trailing slash (/), doors
with a trailing greater-than sign (>), executable
files with a trailing asterisk (*), FIFOs with a
trailing vertical bar (|), symbolic links with a
trailing "at" sign (@), and AF_UNIX address family
sockets with a trailing equals sign (=). Follows sym-
links named as operands.
Specifying more than one of the options in the following
mutually exclusive pairs is not considered an error: -C and
-l (ell), -m and -l (ell), -x and -l (ell), -@ and -l (ell).
The -l option overrides the other option specified in each
pair.
Specifying more than one of the options in the following
mutually exclusive pairs is not considered an error: -C and
-1 (one), -H and -L, -c and -u, and -e and -E, and -t and
-S. The last option specifying a specific timestamp (-c, -u,
-% atime , -% crtime, -% ctime, and -% mtime) determines the
timestamps used for sorting or in long format listings.
/usr/xpg4/bin/ls
-F Marks directories with a trailing slash (/), doors
with a trailing greater-than sign (>), executable
files with a trailing asterisk (*), FIFOs with a
trailing vertical bar (|), symbolic links with a
trailing "at" sign (@), and AF_UNIX address family
sockets with a trailing equals sign (=). Follows sym-
links named as operands.
Specifying more than one of the options in the following
mutually exclusive pairs is not considered an error: -C and
-l (ell), -m and -l (ell), -x and -l (ell), -@ and -l (ell),
-C and -1 (one), -H and -L, -c and -u, and -e and -E, and -t
and -S. The last option specifying a specific timestamp (-c,
-u, -% atime , -% crtime, -% ctime, and -% mtime) determines
the timestamps used for sorting or in long format listings.
/usr/xpg6/bin/ls
-F Marks directories with a trailing slash (/), doors
with a trailing greater-than sign (>), executable
files with a trailing asterisk (*), FIFOs with a
trailing vertical bar (|), symbolic links with a
trailing "at" sign (@), and AF_UNIX address family
sockets with a trailing equals sign (=). Does not fol-
low symlinks named as operands unless the -H or -L
SunOS 5.11 Last change: 25 Mar 2008 16
User Commands ls(1)
option is specified.
Specifying more than one of the options in the following
mutually exclusive pairs is not considered an error: -C and
-l (ell), -m and -l (ell), -x and -l (ell), -@ and -l (ell),
-C and -1 (one), -H and -L, -c and -u, and -e and -E, -t and
-S. The last option specifying a specific timestamp (-c, -u,
-% atime , -% crtime, -% ctime, and -% mtime) determines the
timestamps used for sorting or in long format listings.
| COLOR OUTPUT
| If color output is enabled, the environment variable LS_COLORS
| is checked. If it exists, it's contents are used to control
| the colors used to display filenames. If it is not set, a
| default list of colors is used.
|
| The format of LS_COLORS is a colon separated list of attribute
| specifications. Each attribute specification is of the format:
| filespec=attr[;attr..]
| filespec is either of the form '*.SUFFIX' (ex. '*.jar'or
| '*.Z' or one of the following filetypes (in least to most
| specific order):
| no Normal file
| fi Regular file
| di Directory
| ln Symbolic link
| pi FIFO or named pipe
| so Socket
| do Door file
| bd Block device
| cd Character device
| ex Execute bit (either user, group, or other) set
| po Event port
| st Sticky bit set
| or Orphaned symlink
| sg Setgid binary
| su Setuid binary
| ow World writable
| tw Sticky bit and world writable
|
| attr is a semicolon delimited list of color and display
| attributes which are combined to determine the final
| output color. Possible attribute values are:
| Any combination of the following can be chosen:
| 00 All attributes off (default terminal color)
| this cancels any preceeding effects.
| 01 Display text in bold
| 04 Display text with an underscore
| 05 Display text as blinking
| 07 Display text with foreground and background
| colors reversed
| 08 Display using concealed text.
|
| One of the following can be chosen. If multiple
| values are given, the last value is used.
| 30 Set foreground to black
| 31 Set foreground to red
| 32 Set foreground to green
| 33 Set foreground to yellow
| 34 Set foreground to blue
| 35 Set foreground to magenta (purple)
| 36 Set foreground to cyan
| 37 Set foreground to white
| 39 Set foreground to default terminal color
|
| One of the following can be chosen. If multiple
| values are given, the last value is used.
| 40 Set background to black
| 41 Set background to red
| 42 Set background to green
| 43 Set background to yellow
| 44 Set background to blue
| 45 Set background to magenta (purple)
| 46 Set background to cyan
| 47 Set background to white
| 49 Set background to default terminal color
|
| NOTE: On some terminals, setting the bold attribute
| causes the foreground colors to instead be
| 'high-intensity' (i.e. brighter). In such cases
| the low-intensity yellow is often displayed as
| a brown or orange color.
|
| At least one attribute must be listed for a file
| specification.
|
| The appropriate color codes are chosen by selecting the most
| specific match, starting with the file suffixes and
| proceeding with the filetypes until a match is found. The
| no (normal file) type will match any file.
|
OPERANDS
The following operand is supported:
file A path name of a file to be written. If the file
specified is not found, a diagnostic message is out-
put on standard error.
USAGE
See largefile(5) for the description of the behavior of ls
when encountering files greater than or equal to 2 Gbyte (
2^31 bytes).
EXAMPLES
Example 1 Viewing File Permissions
The following example shows how to display detailed informa-
tion about a file.
% ls -l file.1
-rw-r--r-- 1 gozer staff 206663 Mar 14 10:15 file.1
The permissions string above (-rw-r--r--) describes that the
file owner has read and write permissions, the owning group
has read permissions, and others have read permissions.
The following example shows how to display detailed informa-
tion about a directory.
% ls -ld test.dir
drwxr-xr-x 2 gozer staff 2 Mar 14 10:17 test.dir
SunOS 5.11 Last change: 25 Mar 2008 17
User Commands ls(1)
The permissions string above (drwxr-xr-x) describes that the
directory owner has read, write, and search permissions, the
owning group has read and search permissions, and others
have read and search permissions.
Another example of listing file permissions is as follows:
% ls -l file.2
-rw-rwl--- 1 gozer staff 206663 Mar 14 10:47 file.2
The permissions string above (-rw-rwl---) describes that the
file owner has read and write permissions, the owning group
has read and write permissions, and the file can be locked
during access.
Example 2 Displaying ACL Information on Files and Direc-
tories
The following example shows how to display verbose ACL
information on a ZFS file.
% ls -v file.1
-rw-r--r-- 1 marks staff 206663 Mar 14 10:15 file.1
0:owner@:execute:deny
1:owner@:read_data/write_data/append_data/write_xattr/write_attributes
/write_acl/write_owner:allow
2:group@:write_data/append_data/execute:deny
3:group@:read_data:allow
4:everyone@:write_data/append_data/write_xattr/execute/write_attributes
/write_acl/write_owner:deny
5:everyone@:read_data/read_xattr/read_attributes/read_acl/synchronize
:allow
The following example shows how to display compact ACL
information on a ZFS directory.
% ls -dV test.dir
drwxr-xr-x 2 marks staff 2 Mar 14 10:17 test.dir
owner@:--------------:------:deny
SunOS 5.11 Last change: 25 Mar 2008 18
User Commands ls(1)
owner@:rwxp---A-W-Co-:------:allow
group@:-w-p----------:------:deny
group@:r-x-----------:------:allow
everyone@:-w-p---A-W-Co-:------:deny
everyone@:r-x---a-R-c--s:------:allow
The following example illustrates the ls -v behavior when
listing ACL information on a UFS file.
$ ls -v file.3
-rw-r--r-- 1 root root 2703 Mar 14 10:59 file.3
0:user::rw-
1:group::r-- #effective:r--
2:mask:r--
3:other:r--
Example 3 Printing the Names of All Files
The following example prints the names of all files in the
current directory, including those that begin with a dot
(.), which normally do not print:
example% ls -a
Example 4 Providing File Information
The following example provides file information:
example% ls -aisn
This command provides information on all files, including
those that begin with a dot (a), the i-number, the memory
address of the i-node associated with the file-printed in
the left-hand column (i); the size (in blocks) of the files,
printed in the column to the right of the i-numbers (s);
finally, the report is displayed in the numeric version of
the long list, printing the UID (instead of user name) and
SunOS 5.11 Last change: 25 Mar 2008 19
User Commands ls(1)
GID (instead of group name) numbers associated with the
files.
When the sizes of the files in a directory are listed, a
total count of blocks, including indirect blocks, is
printed.
Example 5 Providing Extended System Attributes Information
example% ls -/ c file (extended system attribute in compact mode)
-rw-r--r-- 1 root root 0 May 10 14:17 file
{AHRSadim-u}
In this example, av_quarantined is not set.
example% ls -/ v file (extended system attribute in verbose mode)
-rw-r--r-- 1 root root 0 May 10 14:17 file
{archive,hidden,readonly,system,appendonly\
nodump,immutable,av_modified,\
noav_quarantined,nounlink}
example% ls -/ v file (no extended system attribute)
-rw-r--r-- 1 root staff 0 May 16 14:48 file
{}
example% ls -/ c file (extended system attribute
supported file system)
-rw-r--r-- 1 root staff 3 Jun 4 22:04 file
{A------m--}
archive and av_modified attributes are set by default on an
extended system attribute supported file.
example% ls -/ c -%crtime file
-rw-r--r-- root root 0 May 10 14:17 file
{AHRSadim-u}
SunOS 5.11 Last change: 25 Mar 2008 20
User Commands ls(1)
This example displays the timestamp as the creation time:
example% ls -l -%all file
-rw-r--r-- 1 root root 0 May 10 14:17 file
timestamp: atime Jun 14 08:47:37 2007
timestamp: ctime May 10 14:20:23 2007
timestamp: mtime May 10 14:17:56 2007
timestamp: crtime May 10 14:17:56 2007
example% ls -%crtime -tl file*
-rw-r--r-- 1 foo staff 3 Jun 4 22:04 file1
-rw-r--r-- 1 root root 0 May 10 14:17 file
-rw-r--r-- 1 foo staff 0 May 9 13:49 file.1
In this example the files are sorted by creation time.
ENVIRONMENT VARIABLES
See environ(5) for descriptions of the following environment
variables that affect the execution of ls: LANG, LC_ALL,
LC_COLLATE, LC_CTYPE, LC_TIME, LC_MESSAGES, NLSPATH, and TZ.
COLUMNS Determines the user's preferred column position
width for writing multiple text-column output. If
this variable contains a string representing a
decimal integer, the ls utility calculates how
many path name text columns to write (see -C)
based on the width provided. If COLUMNS is not
set or is invalid, 80 is used. The column width
chosen to write the names of files in any given
directory is constant. File names are not be
truncated to fit into the multiple text-column
output.
| LS_COLORS Determines the coloring scheme used when
| displaying color output. If not set and color
| output is specified, a default scheme is used. If
| TERM is not set, no color output will be used.
|
| TERM Determine the terminal type. If this variable is
| unset or NULL, no color output will be generated
| regardless of the value of the --color option.
EXIT STATUS
0 All information was written successfully.
>0 An error occurred.
FILES
/etc/group
group IDs for ls -l and ls -g
SunOS 5.11 Last change: 25 Mar 2008 21
User Commands ls(1)
/etc/passwd
user IDs for ls -l and ls -o
/usr/share/lib/terminfo/?/*
terminal information database
ATTRIBUTES
See attributes(5) for descriptions of the following attri-
butes:
/usr/bin/ls
____________________________________________________________
| ATTRIBUTE TYPE | ATTRIBUTE VALUE |
|_____________________________|_____________________________|
| Availability | SUNWcsu |
|_____________________________|_____________________________|
| CSI | Enabled |
|_____________________________|_____________________________|
| Interface Stability | Committed |
|_____________________________|_____________________________|
| Standard | See below. |
|_____________________________|_____________________________|
For all options except -A, -b, -e, -E, -h, -S, -v, -V, -@,
-/ and -%, see standards(5).
/usr/xpg4/bin/ls
SunOS 5.11 Last change: 25 Mar 2008 22
User Commands ls(1)
____________________________________________________________
| ATTRIBUTE TYPE | ATTRIBUTE VALUE |
|_____________________________|_____________________________|
| Availability | SUNWxcu4 |
|_____________________________|_____________________________|
| CSI | Enabled |
|_____________________________|_____________________________|
| Interface Stability | Committed |
|_____________________________|_____________________________|
| Standard | See below. |
|_____________________________|_____________________________|
For all options except -A, -b, -e, -E, -h, -S, -v, -V, -@,
-/ and -%, see standards(5).
/usr/xpg6/bin/ls
____________________________________________________________
| ATTRIBUTE TYPE | ATTRIBUTE VALUE |
|_____________________________|_____________________________|
| Availability | SUNWxcu6 |
|_____________________________|_____________________________|
| CSI | Enabled |
|_____________________________|_____________________________|
| Interface Stability | Committed |
|_____________________________|_____________________________|
| Standard | See below. |
|_____________________________|_____________________________|
For all options except -A, -b, -e, -E, -h, -S, -v, -V, -@,
-/ and -%, see standards(5).
SEE ALSO
chmod(1), cp(1), setfacl(1), fgetattr(3C), terminfo(4),
acl(5), attributes(5), environ(5), fsattr(5), largefile(5),
standards(5)
NOTES
Unprintable characters in file names can confuse the colum-
nar output options.
The total block count is incorrect if there are hard links
among the files.
The sort order of ls output is affected by the locale and
can be overridden by the LC_COLLATE environment variable.
For example, if LC_COLLATE equals C, dot files appear first,
SunOS 5.11 Last change: 25 Mar 2008 23
User Commands ls(1)
followed by names beginning with upper-case letters, then
followed by names beginning with lower-case letters. But if
LC_COLLATE equals en_US.ISO8859-1, then leading dots as well
as case are ignored in determining the sort order.
SunOS 5.11 Last change: 25 Mar 2008 24
More information about the opensolaris-arc
mailing list