ls man page on CentOS

Man page or keyword search:  
man Server   8420 pages
apropos Keyword Search (all sections)
Output format
CentOS logo
[printable version]

LS(P)			   POSIX Programmer's Manual			 LS(P)

PROLOG
       This  manual  page is part of the POSIX Programmer's Manual.  The Linux
       implementation of this interface may differ (consult the	 corresponding
       Linux  manual page for details of Linux behavior), or the interface may
       not be implemented on Linux.

NAME
       ls - list directory contents

SYNOPSIS
       ls [-CFRacdilqrtu1][-H | -L ][-fgmnopsx][file...]

DESCRIPTION
       For each operand that names a file of a type other  than	 directory  or
       symbolic	 link  to  a directory, ls shall write the name of the file as
       well as any requested, associated information.  For each	 operand  that
       names  a file of type directory, ls shall write the names of files con‐
       tained within the directory as well as any requested, associated infor‐
       mation.	If  one of the -d, -F, or -l options are specified, and one of
       the -H or -L options are not specified, for each operand that  names  a
       file  of	 type symbolic link to a directory, ls shall write the name of
       the file as well as any requested, associated information. If  none  of
       the  -d,	 -F,  or -l options are specified, or the -H or -L options are
       specified, for each operand that names a file of type symbolic link  to
       a  directory,  ls  shall	 write the names of files contained within the
       directory as well as any requested, associated information.

       If no operands are specified, ls shall write the contents of  the  cur‐
       rent  directory.	 If more than one operand is specified, ls shall write
       non-directory operands first; it shall sort directory and non-directory
       operands	 separately according to the collating sequence in the current
       locale.

       The ls utility shall detect infinite loops; that is, entering a	previ‐
       ously  visited  directory  that is an ancestor of the last file encoun‐
       tered. When it detects an infinite loop, ls shall  write	 a  diagnostic
       message	to standard error and shall either recover its position in the
       hierarchy or terminate.

OPTIONS
       The ls  utility	shall  conform	to  the	 Base  Definitions  volume  of
       IEEE Std 1003.1-2001, Section 12.2, Utility Syntax Guidelines.

       The following options shall be supported:

       -C     Write multi-text-column output with entries sorted down the col‐
	      umns, according to the collating sequence. The  number  of  text
	      columns and the column separator characters are unspecified, but
	      should be adapted to the nature of the output device.

       -F     Do not follow symbolic links named as operands unless the -H  or
	      -L  options  are	specified.  Write  a slash ( '/' ) immediately
	      after each pathname that is a directory, an  asterisk  (	'*'  )
	      after each that is executable, a vertical bar ( '|' ) after each
	      that is a FIFO, and an at sign ( '@' ) after each that is a sym‐
	      bolic link. For other file types, other symbols may be written.

       -H     If a symbolic link referencing a file of type directory is spec‐
	      ified on the command line, ls shall evaluate the	file  informa‐
	      tion  and	 file  type  to be those of the file referenced by the
	      link, and not the link itself; however, ls shall write the  name
	      of the link itself and not the file referenced by the link.

       -L     Evaluate	the  file  information	and file type for all symbolic
	      links (whether named on the command line	or  encountered	 in  a
	      file  hierarchy) to be those of the file referenced by the link,
	      and not the link itself; however, ls shall write the name of the
	      link  itself and not the file referenced by the link. When -L is
	      used with -l, write the contents of symbolic links in  the  long
	      format (see the STDOUT section).

       -R     Recursively list subdirectories encountered.

       -a     Write  out  all  directory  entries, including those whose names
	      begin with a period ( '.' ). Entries  beginning  with  a	period
	      shall  not  be  written out unless explicitly referenced, the -a
	      option is supplied, or an implementation-defined condition shall
	      cause them to be written.

       -c     Use  time	 of  last  modification of the file status information
	      (see  <sys/stat.h>  in   the   System   Interfaces   volume   of
	      IEEE Std 1003.1-2001)  instead  of last modification of the file
	      itself for sorting ( -t) or writing ( -l).

       -d     Do not follow symbolic links named as operands unless the -H  or
	      -L  options  are specified. Do not treat directories differently
	      than other types of files.  The  use  of	-d  with  -R  produces
	      unspecified results.

       -f     Force  each  argument  to be interpreted as a directory and list
	      the name found in each slot. This option shall turn off -l,  -t,
	      -s,  and	-r,  and  shall	 turn on -a; the order is the order in
	      which entries appear in the directory.

       -g     The same as -l, except that the owner shall not be written.

       -i     For each file, write the file's file serial number  (see	stat()
	      in the System Interfaces volume of IEEE Std 1003.1-2001).

       -l     (The letter ell.) Do not follow symbolic links named as operands
	      unless the -H or -L options are specified.  Write	 out  in  long
	      format  (see the STDOUT section). When -l (ell) is specified, -1
	      (one) shall be assumed.

       -m     Stream output format; list files across the page,	 separated  by
	      commas.

       -n     The  same	 as  -l,  except  that the owner's UID and GID numbers
	      shall be written, rather than the associated character strings.

       -o     The same as -l, except that the group shall not be written.

       -p     Write a slash ( '/' ) after each filename	 if  that  file	 is  a
	      directory.

       -q     Force  each  instance  of	 non-printable filename characters and
	      <tab>s to be written as the question-mark	 (  '?'	 )  character.
	      Implementations may provide this option by default if the output
	      is to a terminal device.

       -r     Reverse the order of the sort to get reverse collating  sequence
	      or oldest first.

       -s     Indicate the total number of file system blocks consumed by each
	      file displayed. The block size is implementation-defined.

       -t     Sort with the primary key being  time  modified  (most  recently
	      modified first) and the secondary key being filename in the col‐
	      lating sequence.

       -u     Use time of last access (see <sys/stat.h>) instead of last modi‐
	      fication of the file for sorting ( -t) or writing ( -l).

       -x     The same as -C, except that the multi-text-column output is pro‐
	      duced with entries sorted across, rather than down, the columns.

       -1     (The numeric digit one.) Force output to be one entry per line.

       Specifying more than one of the	options	 in  the  following  mutually-
       exclusive pairs shall not be considered an error: -C and -l (ell),   -m
       and -l (ell), -x and -l (ell),  -C and -1 (one), -H and -L, -c and  -u.
       The  last option specified in each pair shall determine the output for‐
       mat.

OPERANDS
       The following operand shall be supported:

       file   A pathname of a file to be written. If the file specified is not
	      found, a diagnostic message shall be output on standard error.

STDIN
       Not used.

INPUT FILES
       None.

ENVIRONMENT VARIABLES
       The following environment variables shall affect the execution of ls:

       COLUMNS
	      Determine 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 shall calculate
	      how many pathname text columns to write (see -C)	based  on  the
	      width provided. If COLUMNS is not set or invalid, an implementa‐
	      tion-defined number of column positions shall be assumed,	 based
	      on the implementation's knowledge of the output device. The col‐
	      umn width chosen to write the names of files in any given direc‐
	      tory  shall be constant. Filenames shall not be truncated to fit
	      into the multiple text-column output.

       LANG   Provide a default value for the  internationalization  variables
	      that  are	 unset	or  null.  (See the Base Definitions volume of
	      IEEE Std 1003.1-2001, Section  8.2,  Internationalization	 Vari‐
	      ables  for the precedence of internationalization variables used
	      to determine the values of locale categories.)

       LC_ALL If set to a non-empty string value, override the values  of  all
	      the other internationalization variables.

       LC_COLLATE

	      Determine	 the  locale  for  character  collation information in
	      determining the pathname collation sequence.

       LC_CTYPE
	      Determine the locale for	the  interpretation  of	 sequences  of
	      bytes  of	 text  data as characters (for example, single-byte as
	      opposed to multi-byte characters in arguments) and which charac‐
	      ters are defined as printable (character class print).

       LC_MESSAGES
	      Determine	 the  locale  that should be used to affect the format
	      and contents of diagnostic messages written to standard error.

       LC_TIME
	      Determine the format and contents	 for  date  and	 time  strings
	      written by ls.

       NLSPATH
	      Determine the location of message catalogs for the processing of
	      LC_MESSAGES .

       TZ     Determine the timezone for date and time strings written by  ls.
	      If TZ is unset or null, an unspecified default timezone shall be
	      used.

ASYNCHRONOUS EVENTS
       Default.

STDOUT
       The default format shall be to list one entry per line to standard out‐
       put; the exceptions are to terminals or when one of the -C,   -m, or -x
       options is specified. If the output is to a  terminal,  the  format  is
       implementation-defined.

       When -m is specified, the format used shall be:

	      "%s, %s, ...\n", <filename1>, <filename2>

       where  the largest number of filenames shall be written without exceed‐
       ing the length of the line.

       If the -i option is specified,  the  file's  file  serial  number  (see
       <sys/stat.h>) shall be written in the following format before any other
       output for the corresponding entry:

	      %u ", <file serial number>

       If the -l option is specified without  -L,  the	following  information
       shall be written:

	      "%s %u %s %s %u %s %s\n", <file mode>, <number of links>,
		  <owner name>, <group name>, <number of bytes in the file>,
		  <date and time>, <pathname>

       If  the	file  is  a symbolic link, this information shall be about the
       link itself and the <pathname> field shall be of the form:

	      "%s -> %s", <pathname of link>, <contents of link>

       If both -l and -L are specified, the  following	information  shall  be
       written:

	      "%s %u %s %s %u %s %s\n", <file mode>, <number of links>,
		  <owner name>, <group name>, <number of bytes in the file>,
		  <date and time>, <pathname of link>

       where  all  fields  except  <pathname  of  link>	 shall be for the file
       resolved from the symbolic link.

       The -g, -n, and -o options use the same format as -l, but with  omitted
       items and their associated <blank>s. See the OPTIONS section.

       In  both the preceding -l forms, if <owner name> or <group name> cannot
       be determined,	 or if -n is given,  they shall be replaced with their
       associated numeric values using the format %u .

       The  <date and time> field shall contain the appropriate date and time‐
       stamp of when the file was last modified.  In  the  POSIX  locale,  the
       field  shall be the equivalent of the output of the following date com‐
       mand:

	      date "+%b %e %H:%M"

       if the file has been modified in the last six months, or:

	      date "+%b %e %Y"

       (where two <space>s are used between %e and %Y ) if the	file  has  not
       been  modified in the last six months or if the modification date is in
       the future, except that, in both cases, the final <newline> produced by
       date  shall not be included and the output shall be as if the date com‐
       mand were executed at the time of the last  modification	 date  of  the
       file  rather than the current time. When the LC_TIME locale category is
       not set to the POSIX locale, a different format and order of  presenta‐
       tion of this field may be used.

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

       If the pathname was specified as a file operand, it shall be written as
       specified.

       The file mode written under the -l,   -g, -n,  and  -o	options	 shall
       consist of the following format:

	      "%c%s%s%s%c", <entry type>, <owner permissions>,
		  <group permissions>, <other permissions>,
		  <optional alternate access method flag>

       The  <optional alternate access method flag>  shall be a single <space>
       if there is no alternate or additional access control method associated
       with the file; otherwise, a printable character shall be used.

       The <entry type> character shall describe the type of file, as follows:

       d      Directory.

       b      Block special file.

       c      Character special file.

       l (ell)
	      Symbolic link.

       p      FIFO.

       -      Regular file.

       Implementations	may  add  other	 characters  to this list to represent
       other implementation-defined file types.

       The next three fields shall be three characters each:

       <owner permissions>

	      Permissions for the file owner class (see the  Base  Definitions
	      volume of IEEE Std 1003.1-2001, Section 4.4, File Access Permis‐
	      sions).

       <group permissions>

	      Permissions for the file group class.

       <other permissions>

	      Permissions for the file other class.

       Each field shall have three character positions:

	1. If 'r' , the file is readable; if '-' , the file is not readable.

	2. If 'w' , the file is writable; if '-' , the file is not writable.

	3. The first of the following that applies:

       S
	      If in <owner permissions>, the file is not executable  and  set-
	      user-ID  mode is set. If in <group permissions>, the file is not
	      executable and set-group-ID mode is set.

       s
	      If in <owner permissions>, the file is executable and  set-user-
	      ID  mode	is  set.  If  in <group permissions>, the file is exe‐
	      cutable and set-group-ID mode is set.

       T
	      If in <other permissions> and the file is	 a  directory,	search
	      permission is not granted to others, and the restricted deletion
	      flag is set.

       t
	      If in <other permissions> and the file is	 a  directory,	search
	      permission  is  granted  to  others, and the restricted deletion
	      flag is set.

       x
	      The file is executable or the directory is searchable.

       -
	      None of the attributes of 'S' ,  's'  ,  'T'  ,  't'  ,  or  'x'
	      applies.

       Implementations	may  add  other	 characters to this list for the third
       character position. Such additions shall, however, be written in lower‐
       case if the file is executable or searchable, and in uppercase if it is
       not.

       If any of the -l,   -g, -n, -o, or -s options is specified,  each  list
       of  files within the directory shall be preceded by a status line indi‐
       cating the number of file system blocks occupied by files in the direc‐
       tory  in	 512-byte  units,  rounded  up	to the next integral number of
       units, if necessary. In the POSIX locale, the format shall be:

	      "total %u\n", <number of units in the directory>

       If more than one directory, or a combination of non-directory files and
       directories  are written, either as a result of specifying multiple op‐
       erands, or the -R option, each list of files within a  directory	 shall
       be preceded by:

	      "\n%s:\n", <directory name>

       If  this	 string	 is the first thing to be written, the first <newline>
       shall not be written. This output shall precede the number of units  in
       the directory.

       If  the	-s option is given, each file shall be written with the number
       of blocks used by the file. Along with -C, -1, -m, or  -x,  the	number
       and  a <space> shall precede the filename; with -g, -l, -n, or -o, they
       shall precede each line describing a file.

STDERR
       The standard error shall be used only for diagnostic messages.

OUTPUT FILES
       None.

EXTENDED DESCRIPTION
       None.

EXIT STATUS
       The following exit values shall be returned:

	0     Successful completion.

       >0     An error occurred.

CONSEQUENCES OF ERRORS
       Default.

       The following sections are informative.

APPLICATION USAGE
       Many implementations use the equal sign ( '=' ) to denote sockets bound
       to  the	file  system  for  the	-F option.  Similarly, many historical
       implementations use the 's' character to denote sockets	as  the	 entry
       type characters for the -l option.

       It  is difficult for an application to use every part of the file modes
       field of ls -l in a portable manner.  Certain file types and executable
       bits  are not guaranteed to be exactly as shown, as implementations may
       have extensions.	 Applications can use this field to pass directly to a
       user  printout or prompt, but actions based on its contents should gen‐
       erally be deferred, instead, to the test utility.

       The output of ls (with the -l and related options) contains information
       that  logically	could  be used by utilities such as chmod and touch to
       restore files to a known state. However, this information is  presented
       in  a format that cannot be used directly by those utilities or be eas‐
       ily translated into a format that can be used.  A  character  has  been
       added  to  the  end  of	the permissions string so that applications at
       least have an indication that they may be working in an	area  they  do
       not  understand instead of assuming that they can translate the permis‐
       sions string into something that can be used. Future issues or  related
       documents  may  define one or more specific characters to be used based
       on different standard additional or alternative access  control	mecha‐
       nisms.

       As  with	 many of the utilities that deal with filenames, the output of
       ls for multiple files or in one of the long  listing  formats  must  be
       used  carefully	on  systems where filenames can contain embedded white
       space. Systems and system administrators should institute policies  and
       user training to limit the use of such filenames.

       The  number  of disk blocks occupied by the file that it reports varies
       depending on underlying file system type, block	size  units  reported,
       and the method of calculating the number of blocks. On some file system
       types, the number is the actual number of blocks occupied by  the  file
       (counting indirect blocks and ignoring holes in the file); on others it
       is calculated based on the file size (usually making an	allowance  for
       indirect blocks, but ignoring holes).

EXAMPLES
       An example of a small directory tree being fully listed with ls -laRF a
       in the POSIX locale:

	      total 11
	      drwxr-xr-x   3 hlj      prog	    64 Jul  4 12:07 ./
	      drwxrwxrwx   4 hlj      prog	  3264 Jul  4 12:09 ../
	      drwxr-xr-x   2 hlj      prog	    48 Jul  4 12:07 b/
	      -rwxr--r--   1 hlj      prog	   572 Jul  4 12:07 foo*

	      a/b:
	      total 4
	      drwxr-xr-x   2 hlj      prog	    48 Jul  4 12:07 ./
	      drwxr-xr-x   3 hlj      prog	    64 Jul  4 12:07 ../
	      -rw-r--r--   1 hlj      prog	   700 Jul  4 12:07 bar

RATIONALE
       Some historical implementations of the ls utility show all entries in a
       directory  except  dot  and dot-dot when a superuser invokes ls without
       specifying the -a option. When "normal" users invoke ls without	speci‐
       fying  -a,  they	 should not see information about any files with names
       beginning with a period unless they were named as file operands.

       Implementations are expected to traverse arbitrary depths when process‐
       ing the -R option. The only limitation on depth should be based on run‐
       ning out of physical storage for keeping track of untraversed  directo‐
       ries.

       The  -1	(one)  option  was  historically  found in BSD and BSD-derived
       implementations	 only.	 It   is   required   in   this	  volume    of
       IEEE Std 1003.1-2001  so that conforming applications might ensure that
       output is one entry per line, even if the output is to a terminal.

       Generally, this volume of IEEE Std 1003.1-2001  is  silent  about  what
       happens	when options are given multiple times. In the cases of -C, -l,
       and -1, however, it does	 specify  the  results	of  these  overlapping
       options.	 Since ls is one of the most aliased commands, it is important
       that the implementation perform intuitively. For example, if the	 alias
       were:

	      alias ls="ls -C"

       and  the user typed ls -1, single-text-column output should result, not
       an error.

       The BSD ls provides a -A option (like -a, but dot and dot-dot  are  not
       written	out).  The  small  difference  from  -a did not seem important
       enough to require both.

       Implementations may make -q the default for terminals to prevent trojan
       horse  attacks  on terminals with special escape sequences. This is not
       required because:

	* Some control characters may be useful on some terminals;  for	 exam‐
	  ple, a system might write them as "\001" or "^A" .

	* Special  behavior  for  terminals  is	 not  relevant to applications
	  portability.

       An early proposal specified that the optional alternate	access	method
       flag  had to be '+' if there was an alternate access method used on the
       file or <space> if there was not. This was changed  to  be  <space>  if
       there  is  not  and  a single printable character if there is. This was
       done for three reasons:

	1. There are historical implementations using  characters  other  than
	   '+' .

	2. There  are  implementations	that  vary this character used in that
	   position to distinguish between various alternate access methods in
	   use.

	3. The	standard developers did not want to preclude future specifica‐
	   tions that might need a way to  specify  more  than	one  alternate
	   access method.

       Nonetheless, implementations providing a single alternate access method
       are encouraged to use '+' .

       In an early proposal, the units used to specify the  number  of	blocks
       occupied	 by  files in a directory in an ls -l listing were implementa‐
       tion-defined. This was  because	BSD  systems  have  historically  used
       1024-byte  units	 and  System V systems have historically used 512-byte
       units. It was pointed out by BSD developers that their system has  used
       512-byte	 units	in  some  places  and 1024-byte units in other places.
       (System V has  consistently  used  512.)	  Therefore,  this  volume  of
       IEEE Std 1003.1-2001  usually specifies 512. Future releases of BSD are
       expected to consistently provide 512 bytes as a default with a  way  of
       specifying 1024-byte units where appropriate.

       The  <date and time>  field  in the -l format is specified only for the
       POSIX locale. As noted, the format can be different in  other  locales.
       No   mechanism	for  defining  this  is	 present  in  this  volume  of
       IEEE Std 1003.1-2001, as the appropriate vehicle is a messaging system;
       that is, the format should be specified as a "message".

FUTURE DIRECTIONS
       The  -s	uses implementation-defined units and cannot be used portably;
       it may be withdrawn in a future version.

SEE ALSO
       chmod() , find , the System Interfaces volume of	 IEEE Std 1003.1-2001,
       stat(),	 the   Base   Definitions   volume   of	 IEEE Std 1003.1-2001,
       <sys/stat.h>

COPYRIGHT
       Portions of this text are reprinted and reproduced in  electronic  form
       from IEEE Std 1003.1, 2003 Edition, Standard for Information Technology
       -- Portable Operating System Interface (POSIX),	The  Open  Group  Base
       Specifications  Issue  6,  Copyright  (C) 2001-2003 by the Institute of
       Electrical and Electronics Engineers, Inc and The Open  Group.  In  the
       event of any discrepancy between this version and the original IEEE and
       The Open Group Standard, the original IEEE and The Open Group  Standard
       is  the	referee document. The original Standard can be obtained online
       at http://www.opengroup.org/unix/online.html .

IEEE/The Open Group		     2003				 LS(P)
[top]

List of man pages available for CentOS

Copyright (c) for man pages and the logo by the respective OS vendor.

For those who want to learn more, the polarhome community provides shell access and support.

[legal] [privacy] [GNU] [policy] [cookies] [netiquette] [sponsors] [FAQ]
Tweet
Polarhome, production since 1999.
Member of Polarhome portal.
Based on Fawad Halim's script.
....................................................................
Vote for polarhome
Free Shell Accounts :: the biggest list on the net