]> CyberLeo.Net >> Repos - FreeBSD/FreeBSD.git/blob - bin/ls/ls.1
MFV ntp-4.2.8p4 (r289715)
[FreeBSD/FreeBSD.git] / bin / ls / ls.1
1 .\"-
2 .\" Copyright (c) 1980, 1990, 1991, 1993, 1994
3 .\"     The Regents of the University of California.  All rights reserved.
4 .\"
5 .\" This code is derived from software contributed to Berkeley by
6 .\" the Institute of Electrical and Electronics Engineers, Inc.
7 .\"
8 .\" Redistribution and use in source and binary forms, with or without
9 .\" modification, are permitted provided that the following conditions
10 .\" are met:
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.
19 .\"
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
30 .\" SUCH DAMAGE.
31 .\"
32 .\"     @(#)ls.1        8.7 (Berkeley) 7/29/94
33 .\" $FreeBSD$
34 .\"
35 .Dd September 27, 2015
36 .Dt LS 1
37 .Os
38 .Sh NAME
39 .Nm ls
40 .Nd list directory contents
41 .Sh SYNOPSIS
42 .Nm
43 .Op Fl -libxo
44 .Op Fl ABCFGHILPRSTUWZabcdfghiklmnopqrstuwxy1,
45 .Op Fl D Ar format
46 .Op Ar
47 .Sh DESCRIPTION
48 For each operand that names a
49 .Ar file
50 of a type other than
51 directory,
52 .Nm
53 displays its name as well as any requested,
54 associated information.
55 For each operand that names a
56 .Ar file
57 of type directory,
58 .Nm
59 displays the names of files contained
60 within that directory, as well as any requested, associated
61 information.
62 .Pp
63 If no operands are given, the contents of the current
64 directory are displayed.
65 If more than one operand is given,
66 non-directory operands are displayed first; directory
67 and non-directory operands are sorted separately and in
68 lexicographical order.
69 .Pp
70 The following options are available:
71 .Bl -tag -width indent
72 .It Fl A
73 Include directory entries whose names begin with a
74 dot
75 .Pq Sq Pa \&.
76 except for
77 .Pa \&.
78 and
79 .Pa .. .
80 Automatically set for the super-user unless
81 .Fl I
82 is specified.
83 .It Fl B
84 Force printing of non-printable characters (as defined by
85 .Xr ctype 3
86 and current locale settings) in file names as
87 .Li \e Ns Va xxx ,
88 where
89 .Va xxx
90 is the numeric value of the character in octal.
91 This option is not defined in
92 .St -p1003.1-2001 .
93 .It Fl C
94 Force multi-column output; this is the default when output is to a terminal.
95 .It Fl D Ar format
96 When printing in the long
97 .Pq Fl l
98 format, use
99 .Ar format
100 to format the date and time output.
101 The argument
102 .Ar format
103 is a string used by
104 .Xr strftime 3 .
105 Depending on the choice of format string, this may result in a
106 different number of columns in the output.
107 This option overrides the
108 .Fl T
109 option.
110 This option is not defined in
111 .St -p1003.1-2001 .
112 .It Fl F
113 Display a slash
114 .Pq Ql /
115 immediately after each pathname that is a directory,
116 an asterisk
117 .Pq Ql *
118 after each that is executable,
119 an at sign
120 .Pq Ql @
121 after each symbolic link,
122 an equals sign
123 .Pq Ql =
124 after each socket,
125 a percent sign
126 .Pq Ql %
127 after each whiteout,
128 and a vertical bar
129 .Pq Ql \&|
130 after each that is a
131 .Tn FIFO .
132 .It Fl G
133 Enable colorized output.
134 This option is equivalent to defining
135 .Ev CLICOLOR
136 in the environment.
137 (See below.)
138 This functionality can be compiled out by removing the definition of
139 .Ev COLORLS .
140 This option is not defined in
141 .St -p1003.1-2001 .
142 .It Fl H
143 Symbolic links on the command line are followed.
144 This option is assumed if
145 none of the
146 .Fl F , d ,
147 or
148 .Fl l
149 options are specified.
150 .It Fl I
151 Prevent
152 .Fl A
153 from being automatically set for the super-user.
154 This option is not defined in
155 .St -p1003.1-2001 .
156 .It Fl L
157 If argument is a symbolic link, list the file or directory the link references
158 rather than the link itself.
159 This option cancels the
160 .Fl P
161 option.
162 .It Fl P
163 If argument is a symbolic link, list the link itself rather than the
164 object the link references.
165 This option cancels the
166 .Fl H
167 and
168 .Fl L
169 options.
170 .It Fl R
171 Recursively list subdirectories encountered.
172 .It Fl S
173 Sort by size (largest file first) before sorting the operands in
174 lexicographical order.
175 .It Fl T
176 When printing in the long
177 .Pq Fl l
178 format, display complete time information for the file, including
179 month, day, hour, minute, second, and year.
180 The
181 .Fl D
182 option gives even more control over the output format.
183 This option is not defined in
184 .St -p1003.1-2001 .
185 .It Fl U
186 Use time when file was created for sorting or printing.
187 This option is not defined in
188 .St -p1003.1-2001 .
189 .It Fl W
190 Display whiteouts when scanning directories.
191 This option is not defined in
192 .St -p1003.1-2001 .
193 .It Fl Z
194 Display each file's MAC label; see
195 .Xr maclabel 7 .
196 This option is not defined in
197 .St -p1003.1-2001 .
198 .It Fl a
199 Include directory entries whose names begin with a
200 dot
201 .Pq Sq Pa \&. .
202 .It Fl b
203 As
204 .Fl B ,
205 but use
206 .Tn C
207 escape codes whenever possible.
208 This option is not defined in
209 .St -p1003.1-2001 .
210 .It Fl c
211 Use time when file status was last changed for sorting or printing.
212 .It Fl d
213 Directories are listed as plain files (not searched recursively).
214 .It Fl f
215 Output is not sorted.
216 This option turns on
217 .Fl a .
218 It also negates the effect of the
219 .Fl r ,
220 .Fl S
221 and
222 .Fl t
223 options.
224 As allowed by
225 .St -p1003.1-2001 ,
226 this option has no effect on the
227 .Fl d ,
228 .Fl l ,
229 .Fl R
230 and
231 .Fl s
232 options.
233 .It Fl g
234 This option has no effect.
235 It is only available for compatibility with
236 .Bx 4.3 ,
237 where it was used to display the group name in the long
238 .Pq Fl l
239 format output.
240 This option is incompatible with
241 .St -p1003.1-2001 .
242 .It Fl h
243 When used with the
244 .Fl l
245 option, use unit suffixes: Byte, Kilobyte, Megabyte, Gigabyte, Terabyte
246 and Petabyte in order to reduce the number of digits to four or fewer
247 using base 2 for sizes.
248 This option is not defined in
249 .St -p1003.1-2001 .
250 .It Fl i
251 For each file, print the file's file serial number (inode number).
252 .It Fl k
253 This has the same effect as setting environment variable
254 .Ev BLOCKSIZE
255 to 1024, except that it also nullifies any
256 .Fl h
257 options to its left.
258 .It Fl l
259 (The lowercase letter
260 .Dq ell . )
261 List files in the long format, as described in the
262 .Sx The Long Format
263 subsection below.
264 .It Fl m
265 Stream output format; list files across the page, separated by commas.
266 .It Fl n
267 Display user and group IDs numerically rather than converting to a user
268 or group name in a long
269 .Pq Fl l
270 output.
271 .It Fl o
272 Include the file flags in a long
273 .Pq Fl l
274 output.
275 This option is incompatible with
276 .St -p1003.1-2001 .
277 See
278 .Xr chflags 1
279 for a list of file flags and their meanings.
280 .It Fl p
281 Write a slash
282 .Pq Ql /
283 after each filename if that file is a directory.
284 .It Fl q
285 Force printing of non-graphic characters in file names as
286 the character
287 .Ql \&? ;
288 this is the default when output is to a terminal.
289 .It Fl r
290 Reverse the order of the sort.
291 .It Fl s
292 Display the number of blocks used in the file system by each file.
293 Block sizes and directory totals are handled as described in
294 .Sx The Long Format
295 subsection below, except (if the long format is not also requested)
296 the directory totals are not output when the output is in a
297 single column, even if multi-column output is requested.
298 .It Fl t
299 Sort by descending time modified (most recently modified first).
300 If two files have the same modification timestamp, sort their names
301 in ascending lexicographical order.
302 The
303 .Fl r
304 option reverses both of these sort orders.
305 .Pp
306 Note that these sort orders are contradictory: the time sequence is in
307 descending order, the lexicographical sort is in ascending order.
308 This behavior is mandated by
309 .St -p1003.2 .
310 This feature can cause problems listing files stored with sequential names on
311 FAT file systems, such as from digital cameras, where it is possible to have
312 more than one image with the same timestamp.
313 In such a case, the photos cannot be listed in the sequence in which
314 they were taken.
315 To ensure the same sort order for time and for lexicographical sorting, set the
316 environment variable
317 .Ev LS_SAMESORT
318 or use the
319 .Fl y
320 option.
321 This causes
322 .Nm
323 to reverse the lexicographical sort order when sorting files with the
324 same modification timestamp.
325 .It Fl u
326 Use time of last access,
327 instead of time of last modification
328 of the file for sorting
329 .Pq Fl t
330 or printing
331 .Pq Fl l .
332 .It Fl w
333 Force raw printing of non-printable characters.
334 This is the default
335 when output is not to a terminal.
336 This option is not defined in
337 .St -p1003.1-2001 .
338 .It Fl x
339 The same as
340 .Fl C ,
341 except that the multi-column output is produced with entries sorted
342 across, rather than down, the columns.
343 .It Fl y
344 When the
345 .Fl t
346 option is set, sort the alphabetical output in the same order as the time output.
347 This has the same effect as setting
348 .Ev LS_SAMESORT .
349 See the description of the
350 .Fl t
351 option for more details.
352 This option is not defined in
353 .St -p1003.1-2001 .
354 .It Fl 1
355 (The numeric digit
356 .Dq one . )
357 Force output to be
358 one entry per line.
359 This is the default when
360 output is not to a terminal.
361 .It Fl ,
362 (Comma) When the
363 .Fl l
364 option is set, print file sizes grouped and separated by thousands using the
365 non-monetary separator returned by
366 .Xr localeconv 3 ,
367 typically a comma or period.
368 If no locale is set, or the locale does not have a non-monetary separator, this
369 option has no effect.
370 This option is not defined in
371 .St -p1003.1-2001 .
372 .El
373 .Pp
374 The
375 .Fl 1 , C , x ,
376 and
377 .Fl l
378 options all override each other; the last one specified determines
379 the format used.
380 .Pp
381 The
382 .Fl c , u ,
383 and
384 .Fl U
385 options all override each other; the last one specified determines
386 the file time used.
387 .Pp
388 The
389 .Fl S
390 and
391 .Fl t
392 options override each other; the last one specified determines
393 the sort order used.
394 .Pp
395 The
396 .Fl B , b , w ,
397 and
398 .Fl q
399 options all override each other; the last one specified determines
400 the format used for non-printable characters.
401 .Pp
402 The
403 .Fl H , L
404 and
405 .Fl P
406 options all override each other (either partially or fully); they
407 are applied in the order specified.
408 .Pp
409 By default,
410 .Nm
411 lists one entry per line to standard
412 output; the exceptions are to terminals or when the
413 .Fl C
414 or
415 .Fl x
416 options are specified.
417 .Pp
418 File information is displayed with one or more
419 .Ao blank Ac Ns s
420 separating the information associated with the
421 .Fl i , s ,
422 and
423 .Fl l
424 options.
425 .Ss The Long Format
426 If the
427 .Fl l
428 option is given, the following information
429 is displayed for each file:
430 file mode,
431 number of links, owner name, group name,
432 MAC label,
433 number of bytes in the file, abbreviated
434 month, day-of-month file was last modified,
435 hour file last modified, minute file last
436 modified, and the pathname.
437 .Pp
438 If the modification time of the file is more than 6 months
439 in the past or future, and the
440 .Fl D
441 or
442 .Fl T
443 are not specified,
444 then the year of the last modification
445 is displayed in place of the hour and minute fields.
446 .Pp
447 If the owner or group names are not a known user or group name,
448 or the
449 .Fl n
450 option is given,
451 the numeric ID's are displayed.
452 .Pp
453 If the file is a character special or block special file,
454 the device number for the file is displayed in the size field.
455 If the file is a symbolic link the pathname of the
456 linked-to file is preceded by
457 .Dq Li -> .
458 .Pp
459 The listing of a directory's contents is preceded
460 by a labeled total number of blocks used in the file system by the files
461 which are listed as the directory's contents
462 (which may or may not include
463 .Pa \&.
464 and
465 .Pa ..
466 and other files which start with a dot, depending on other options).
467 .Pp
468 The default block size is 512 bytes.
469 The block size may be set with option
470 .Fl k
471 or environment variable
472 .Ev BLOCKSIZE .
473 Numbers of blocks in the output will have been rounded up so the
474 numbers of bytes is at least as many as used by the corresponding
475 file system blocks (which might have a different size).
476 .Pp
477 The file mode printed under the
478 .Fl l
479 option consists of the
480 entry type and the permissions.
481 The entry type character describes the type of file, as
482 follows:
483 .Pp
484 .Bl -tag -width 4n -offset indent -compact
485 .It Sy \-
486 Regular file.
487 .It Sy b
488 Block special file.
489 .It Sy c
490 Character special file.
491 .It Sy d
492 Directory.
493 .It Sy l
494 Symbolic link.
495 .It Sy p
496 .Tn FIFO .
497 .It Sy s
498 Socket.
499 .It Sy w
500 Whiteout.
501 .El
502 .Pp
503 The next three fields
504 are three characters each:
505 owner permissions,
506 group permissions, and
507 other permissions.
508 Each field has three character positions:
509 .Bl -enum -offset indent
510 .It
511 If
512 .Sy r ,
513 the file is readable; if
514 .Sy \- ,
515 it is not readable.
516 .It
517 If
518 .Sy w ,
519 the file is writable; if
520 .Sy \- ,
521 it is not writable.
522 .It
523 The first of the following that applies:
524 .Bl -tag -width 4n -offset indent
525 .It Sy S
526 If in the owner permissions, the file is not executable and
527 set-user-ID mode is set.
528 If in the group permissions, the file is not executable
529 and set-group-ID mode is set.
530 .It Sy s
531 If in the owner permissions, the file is executable
532 and set-user-ID mode is set.
533 If in the group permissions, the file is executable
534 and setgroup-ID mode is set.
535 .It Sy x
536 The file is executable or the directory is
537 searchable.
538 .It Sy \-
539 The file is neither readable, writable, executable,
540 nor set-user-ID nor set-group-ID mode, nor sticky.
541 (See below.)
542 .El
543 .Pp
544 These next two apply only to the third character in the last group
545 (other permissions).
546 .Bl -tag -width 4n -offset indent
547 .It Sy T
548 The sticky bit is set
549 (mode
550 .Li 1000 ) ,
551 but not execute or search permission.
552 (See
553 .Xr chmod 1
554 or
555 .Xr sticky 7 . )
556 .It Sy t
557 The sticky bit is set (mode
558 .Li 1000 ) ,
559 and is searchable or executable.
560 (See
561 .Xr chmod 1
562 or
563 .Xr sticky 7 . )
564 .El
565 .El
566 .Pp
567 The next field contains a
568 plus
569 .Pq Ql +
570 character if the file has an ACL, or a
571 space
572 .Pq Ql " "
573 if it does not.
574 The
575 .Nm
576 utility does not show the actual ACL;
577 use
578 .Xr getfacl 1
579 to do this.
580 .Sh ENVIRONMENT
581 The following environment variables affect the execution of
582 .Nm :
583 .Bl -tag -width ".Ev CLICOLOR_FORCE"
584 .It Ev BLOCKSIZE
585 If this is set, its value, rounded up to 512 or down to a
586 multiple of 512, will be used as the block size in bytes by the
587 .Fl l
588 and
589 .Fl s
590 options.
591 See
592 .Sx The Long Format
593 subsection for more information.
594 .It Ev CLICOLOR
595 Use
596 .Tn ANSI
597 color sequences to distinguish file types.
598 See
599 .Ev LSCOLORS
600 below.
601 In addition to the file types mentioned in the
602 .Fl F
603 option some extra attributes (setuid bit set, etc.) are also displayed.
604 The colorization is dependent on a terminal type with the proper
605 .Xr termcap 5
606 capabilities.
607 The default
608 .Dq Li cons25
609 console has the proper capabilities,
610 but to display the colors in an
611 .Xr xterm 1 ,
612 for example,
613 the
614 .Ev TERM
615 variable must be set to
616 .Dq Li xterm-color .
617 Other terminal types may require similar adjustments.
618 Colorization
619 is silently disabled if the output is not directed to a terminal
620 unless the
621 .Ev CLICOLOR_FORCE
622 variable is defined.
623 .It Ev CLICOLOR_FORCE
624 Color sequences are normally disabled if the output is not directed to
625 a terminal.
626 This can be overridden by setting this variable.
627 The
628 .Ev TERM
629 variable still needs to reference a color capable terminal however
630 otherwise it is not possible to determine which color sequences to
631 use.
632 .It Ev COLUMNS
633 If this variable contains a string representing a
634 decimal integer, it is used as the
635 column position width for displaying
636 multiple-text-column output.
637 The
638 .Nm
639 utility calculates how
640 many pathname text columns to display
641 based on the width provided.
642 (See
643 .Fl C
644 and
645 .Fl x . )
646 .It Ev LANG
647 The locale to use when determining the order of day and month in the long
648 .Fl l
649 format output.
650 See
651 .Xr environ 7
652 for more information.
653 .It Ev LSCOLORS
654 The value of this variable describes what color to use for which
655 attribute when colors are enabled with
656 .Ev CLICOLOR .
657 This string is a concatenation of pairs of the format
658 .Ar f Ns Ar b ,
659 where
660 .Ar f
661 is the foreground color and
662 .Ar b
663 is the background color.
664 .Pp
665 The color designators are as follows:
666 .Pp
667 .Bl -tag -width 4n -offset indent -compact
668 .It Sy a
669 black
670 .It Sy b
671 red
672 .It Sy c
673 green
674 .It Sy d
675 brown
676 .It Sy e
677 blue
678 .It Sy f
679 magenta
680 .It Sy g
681 cyan
682 .It Sy h
683 light grey
684 .It Sy A
685 bold black, usually shows up as dark grey
686 .It Sy B
687 bold red
688 .It Sy C
689 bold green
690 .It Sy D
691 bold brown, usually shows up as yellow
692 .It Sy E
693 bold blue
694 .It Sy F
695 bold magenta
696 .It Sy G
697 bold cyan
698 .It Sy H
699 bold light grey; looks like bright white
700 .It Sy x
701 default foreground or background
702 .El
703 .Pp
704 Note that the above are standard
705 .Tn ANSI
706 colors.
707 The actual display may differ
708 depending on the color capabilities of the terminal in use.
709 .Pp
710 The order of the attributes are as follows:
711 .Pp
712 .Bl -enum -offset indent -compact
713 .It
714 directory
715 .It
716 symbolic link
717 .It
718 socket
719 .It
720 pipe
721 .It
722 executable
723 .It
724 block special
725 .It
726 character special
727 .It
728 executable with setuid bit set
729 .It
730 executable with setgid bit set
731 .It
732 directory writable to others, with sticky bit
733 .It
734 directory writable to others, without sticky bit
735 .El
736 .Pp
737 The default is
738 .Qq "exfxcxdxbxegedabagacad" ,
739 i.e., blue foreground and
740 default background for regular directories, black foreground and red
741 background for setuid executables, etc.
742 .It Ev LS_COLWIDTHS
743 If this variable is set, it is considered to be a
744 colon-delimited list of minimum column widths.
745 Unreasonable
746 and insufficient widths are ignored (thus zero signifies
747 a dynamically sized column).
748 Not all columns have changeable widths.
749 The fields are,
750 in order: inode, block count, number of links, user name,
751 group name, flags, file size, file name.
752 .It Ev LS_SAMESORT
753 If this variable is set, the
754 .Fl t
755 option sorts the names of files with the same modification timestamp in the same
756 sense as the time sort.
757 See the description of the
758 .Fl t
759 option for more details.
760 .It Ev TERM
761 The
762 .Ev CLICOLOR
763 functionality depends on a terminal type with color capabilities.
764 .It Ev TZ
765 The timezone to use when displaying dates.
766 See
767 .Xr environ 7
768 for more information.
769 .El
770 .Sh EXIT STATUS
771 .Ex -std
772 .Sh EXAMPLES
773 List the contents of the current working directory in long format:
774 .Pp
775 .Dl $ ls -l
776 .Pp
777 In addition to listing the contents of the current working directory in
778 long format, show inode numbers, file flags (see
779 .Xr chflags 1 ) ,
780 and suffix each filename with a symbol representing its file type:
781 .Pp
782 .Dl $ ls -lioF
783 .Pp
784 List the files in
785 .Pa /var/log ,
786 sorting the output such that the mostly recently modified entries are
787 printed first:
788 .Pp
789 .Dl $ ls -lt /var/log
790 .Sh COMPATIBILITY
791 The group field is now automatically included in the long listing for
792 files in order to be compatible with the
793 .St -p1003.2
794 specification.
795 .Sh SEE ALSO
796 .Xr chflags 1 ,
797 .Xr chmod 1 ,
798 .Xr getfacl 1 ,
799 .Xr sort 1 ,
800 .Xr xterm 1 ,
801 .Xr libxo 3 ,
802 .Xr localeconv 3 ,
803 .Xr strftime 3 ,
804 .Xr strmode 3 ,
805 .Xr xo_parse_args 3 ,
806 .Xr termcap 5 ,
807 .Xr maclabel 7 ,
808 .Xr sticky 7 ,
809 .Xr symlink 7 ,
810 .Xr getfmac 8
811 .Sh STANDARDS
812 With the exception of options
813 .Fl g , n
814 and
815 .Fl o ,
816 the
817 .Nm
818 utility conforms to
819 .St -p1003.1-2001 .
820 The options
821 .Fl B , D , G , I , T , U , W , Z , b , h , w , y
822 and
823 .Fl ,
824 are compatible extensions not defined in
825 .St -p1003.1-2001 .
826 .Pp
827 The ACL support is compatible with
828 .Tn IEEE
829 Std\~1003.2c
830 .Pq Dq Tn POSIX Ns .2c
831 Draft\~17
832 (withdrawn).
833 .Sh HISTORY
834 An
835 .Nm
836 command appeared in
837 .At v1 .
838 .Sh BUGS
839 To maintain backward compatibility, the relationships between the many
840 options are quite complex.
841 .Pp
842 The exception mentioned in the
843 .Fl s
844 option description might be a feature that was
845 based on the fact that single-column output
846 usually goes to something other than a terminal.
847 It is debatable whether this is a design bug.
848 .Pp
849 .St -p1003.2
850 mandates opposite sort orders for files with the same timestamp when
851 sorting with the
852 .Fl t
853 option.