2 .\" Copyright (c) 1980, 1990, 1991, 1993, 1994
3 .\" The Regents of the University of California. All rights reserved.
5 .\" This code is derived from software contributed to Berkeley by
6 .\" the Institute of Electrical and Electronics Engineers, Inc.
8 .\" Redistribution and use in source and binary forms, with or without
9 .\" modification, are permitted provided that the following conditions
11 .\" 1. Redistributions of source code must retain the above copyright
12 .\" notice, this list of conditions and the following disclaimer.
13 .\" 2. Redistributions in binary form must reproduce the above copyright
14 .\" notice, this list of conditions and the following disclaimer in the
15 .\" documentation and/or other materials provided with the distribution.
16 .\" 4. Neither the name of the University nor the names of its contributors
17 .\" may be used to endorse or promote products derived from this software
18 .\" without specific prior written permission.
20 .\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
21 .\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
22 .\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
23 .\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
24 .\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
25 .\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
26 .\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
27 .\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
28 .\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
29 .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
32 .\" @(#)ls.1 8.7 (Berkeley) 7/29/94
40 .Nd list directory contents
43 .Op Fl ABCFGHILPRSTUWZabcdfghiklmnopqrstuwxy1,
47 For each operand that names a
52 displays its name as well as any requested,
53 associated information.
54 For each operand that names a
58 displays the names of files contained
59 within that directory, as well as any requested, associated
62 If no operands are given, the contents of the current
63 directory are displayed.
64 If more than one operand is given,
65 non-directory operands are displayed first; directory
66 and non-directory operands are sorted separately and in
67 lexicographical order.
69 The following options are available:
70 .Bl -tag -width indent
72 Include directory entries whose names begin with a
79 Automatically set for the super-user unless
83 Force printing of non-printable characters (as defined by
85 and current locale settings) in file names as
89 is the numeric value of the character in octal.
91 Force multi-column output; this is the default when output is to a terminal.
93 When printing in the long
97 to format the date and time output.
102 Depending on the choice of format string, this may result in a
103 different number of columns in the output.
104 This option overrides the
110 immediately after each pathname that is a directory,
113 after each that is executable,
116 after each symbolic link,
128 Enable colorized output.
129 This option is equivalent to defining
133 This functionality can be compiled out by removing the definition of
136 Symbolic links on the command line are followed.
137 This option is assumed if
142 options are specified.
146 from being automatically set for the super-user.
148 If argument is a symbolic link, list the file or directory the link references
149 rather than the link itself.
150 This option cancels the
154 If argument is a symbolic link, list the link itself rather than the
155 object the link references.
156 This option cancels the
162 Recursively list subdirectories encountered.
164 Sort by size (largest file first) before sorting the operands in
165 lexicographical order.
167 When printing in the long
169 format, display complete time information for the file, including
170 month, day, hour, minute, second, and year.
173 option gives even more control over the output format.
175 Use time when file was created for sorting or printing.
177 Display whiteouts when scanning directories.
179 Display each file's MAC label; see
182 Include directory entries whose names begin with a
190 escape codes whenever possible.
192 Use time when file status was last changed for sorting or printing.
194 Directories are listed as plain files (not searched recursively).
196 Output is not sorted.
198 This option is deprecated and is only available for compatibility
201 it was used to display the group name in the long
207 option, use unit suffixes: Byte, Kilobyte, Megabyte, Gigabyte, Terabyte
208 and Petabyte in order to reduce the number of digits to four or fewer
209 using base 2 for sizes.
211 For each file, print the file's file serial number (inode number).
213 This has the same effect as setting environment variable
215 to 1024, except that it also nullifies any
219 (The lowercase letter
221 List files in the long format, as described in the
225 Stream output format; list files across the page, separated by commas.
227 Display user and group IDs numerically rather than converting to a user
228 or group name in a long
232 Include the file flags in a long
238 after each filename if that file is a directory.
240 Force printing of non-graphic characters in file names as
243 this is the default when output is to a terminal.
245 Reverse the order of the sort.
247 Display the number of blocks used in the file system by each file.
248 Block sizes and directory totals are handled as described in
250 subsection below, except (if the long format is not also requested)
251 the directory totals are not output when the output is in a
252 single column, even if multi-column output is requested.
254 Sort by descending time modified (most recently modified first). If two files
255 have the same modification timestamp, sort their names in ascending
256 lexicographical order.
259 option reverses both of these sort orders.
261 Note that these sort orders are contradictory: the time sequence is in
262 descending order, the lexicographical sort is in ascending order.
263 This behavior is mandated by
265 This feature can cause problems listing files stored with sequential names on
266 FAT file systems, such as from digital cameras, where it is possible to have
267 more than one image with the same timestamp.
268 In such a case, the photos cannot be listed in the sequence in which
270 To ensure the same sort order for time and for lexicographical sorting, set the
278 to reverse the lexicographal sort order when sorting files with the
279 same modification timestamp.
281 Use time of last access,
282 instead of time of last modification
283 of the file for sorting
288 Force raw printing of non-printable characters.
290 when output is not to a terminal.
294 except that the multi-column output is produced with entries sorted
295 across, rather than down, the columns.
299 option is set, sort the alphabetical output in the same order as the time output.
300 This has the same effect as setting
302 See the description of the
304 option for more details.
310 This is the default when
311 output is not to a terminal.
315 option is set, print file sizes grouped and separated by thousands using the
316 non-monetary separator returned by
318 typically a comma or period.
319 If no locale is set, or the locale does not have a non-monetary separator, this
320 option has no effect.
327 options all override each other; the last one specified determines
334 options all override each other; the last one specified determines
341 options override each other; the last one specified determines
348 options all override each other; the last one specified determines
349 the format used for non-printable characters.
355 options all override each other (either partially or fully); they
356 are applied in the order specified.
360 lists one entry per line to standard
361 output; the exceptions are to terminals or when the
365 options are specified.
367 File information is displayed with one or more
369 separating the information associated with the
377 option is given, the following information
378 is displayed for each file:
380 number of links, owner name, group name,
382 number of bytes in the file, abbreviated
383 month, day-of-month file was last modified,
384 hour file last modified, minute file last
385 modified, and the pathname.
387 If the modification time of the file is more than 6 months
388 in the past or future, and the
393 then the year of the last modification
394 is displayed in place of the hour and minute fields.
396 If the owner or group names are not a known user or group name,
400 the numeric ID's are displayed.
402 If the file is a character special or block special file,
403 the device number for the file is displayed in the size field.
404 If the file is a symbolic link the pathname of the
405 linked-to file is preceded by
408 The listing of a directory's contents is preceded
409 by a labeled total number of blocks used in the file system by the files
410 which are listed as the directory's contents
411 (which may or may not include
415 and other files which start with a dot, depending on other options).
417 The default block size is 512 bytes.
418 The block size may be set with option
420 or environment variable
422 Numbers of blocks in the output will have been rounded up so the
423 numbers of bytes is at least as many as used by the corresponding
424 file system blocks (which might have a different size).
426 The file mode printed under the
428 option consists of the
429 entry type and the permissions.
430 The entry type character describes the type of file, as
433 .Bl -tag -width 4n -offset indent -compact
439 Character special file.
452 The next three fields
453 are three characters each:
455 group permissions, and
457 Each field has three character positions:
458 .Bl -enum -offset indent
462 the file is readable; if
468 the file is writable; if
472 The first of the following that applies:
473 .Bl -tag -width 4n -offset indent
475 If in the owner permissions, the file is not executable and
476 set-user-ID mode is set.
477 If in the group permissions, the file is not executable
478 and set-group-ID mode is set.
480 If in the owner permissions, the file is executable
481 and set-user-ID mode is set.
482 If in the group permissions, the file is executable
483 and setgroup-ID mode is set.
485 The file is executable or the directory is
488 The file is neither readable, writable, executable,
489 nor set-user-ID nor set-group-ID mode, nor sticky.
493 These next two apply only to the third character in the last group
495 .Bl -tag -width 4n -offset indent
497 The sticky bit is set
500 but not execute or search permission.
506 The sticky bit is set (mode
508 and is searchable or executable.
516 The next field contains a
519 character if the file has an ACL, or a
525 utility does not show the actual ACL;
530 The following environment variables affect the execution of
532 .Bl -tag -width ".Ev CLICOLOR_FORCE"
534 If this is set, its value, rounded up to 512 or down to a
535 multiple of 512, will be used as the block size in bytes by the
542 subsection for more information.
546 color sequences to distinguish file types.
550 In addition to the file types mentioned in the
552 option some extra attributes (setuid bit set, etc.) are also displayed.
553 The colorization is dependent on a terminal type with the proper
558 console has the proper capabilities,
559 but to display the colors in an
564 variable must be set to
566 Other terminal types may require similar adjustments.
568 is silently disabled if the output is not directed to a terminal
572 .It Ev CLICOLOR_FORCE
573 Color sequences are normally disabled if the output is not directed to
575 This can be overridden by setting this variable.
578 variable still needs to reference a color capable terminal however
579 otherwise it is not possible to determine which color sequences to
582 If this variable contains a string representing a
583 decimal integer, it is used as the
584 column position width for displaying
585 multiple-text-column output.
588 utility calculates how
589 many pathname text columns to display
590 based on the width provided.
596 The locale to use when determining the order of day and month in the long
601 for more information.
603 The value of this variable describes what color to use for which
604 attribute when colors are enabled with
606 This string is a concatenation of pairs of the format
610 is the foreground color and
612 is the background color.
614 The color designators are as follows:
616 .Bl -tag -width 4n -offset indent -compact
634 bold black, usually shows up as dark grey
640 bold brown, usually shows up as yellow
648 bold light grey; looks like bright white
650 default foreground or background
653 Note that the above are standard
656 The actual display may differ
657 depending on the color capabilities of the terminal in use.
659 The order of the attributes are as follows:
661 .Bl -enum -offset indent -compact
677 executable with setuid bit set
679 executable with setgid bit set
681 directory writable to others, with sticky bit
683 directory writable to others, without sticky bit
687 .Qq "exfxcxdxbxegedabagacad" ,
688 i.e., blue foreground and
689 default background for regular directories, black foreground and red
690 background for setuid executables, etc.
692 If this variable is set, it is considered to be a
693 colon-delimited list of minimum column widths.
695 and insufficient widths are ignored (thus zero signifies
696 a dynamically sized column).
697 Not all columns have changeable widths.
699 in order: inode, block count, number of links, user name,
700 group name, flags, file size, file name.
702 If this variable is set, the
704 option sorts the names of files with the same modification timestamp in the same
705 sense as the time sort.
706 See the description of the
708 option for more details.
712 functionality depends on a terminal type with color capabilities.
714 The timezone to use when displaying dates.
717 for more information.
722 The group field is now automatically included in the long listing for
723 files in order to be compatible with the
741 With the exception of options
750 The ACL support is compatible with
753 .Pq Dq Tn POSIX Ns .2c
762 To maintain backward compatibility, the relationships between the many
763 options are quite complex.
765 The exception mentioned in the
767 option description might be a feature that was
768 based on the fact that single-column output
769 usually goes to something other than a terminal.
770 It is debatable whether this is a design bug.
773 mandates opposite sort orders for files with the same timestamp when