Skip site navigation (1)Skip section navigation (2)

FreeBSD Manual Pages

  
 
  

home | help
LS(1)			    General Commands Manual			 LS(1)

NAME
       ls -- list directory contents

SYNOPSIS
       ls [-ABCFGHLPRTWabcdfgiklnoqrstu1] [file	...]

DESCRIPTION
       For  each  operand that names a file of a type other than directory, ls
       displays	its name as well as  any  requested,  associated  information.
       For  each  operand that names a file of type directory, ls displays the
       names of	files contained	within that directory,	as  well  as  any  re-
       quested,	associated information.

       If  no  operands	 are  given, the contents of the current directory are
       displayed.  If more than	one operand is given,  non-directory  operands
       are  displayed  first;  directory and non-directory operands are	sorted
       separately and in lexicographical order.

       The following options are available:

       -A      List all	entries	except for `.' and `..'.  Always set  for  the
	       super-user.

       -B      Force printing of non-graphic characters	in file	names as \xxx,
	       where xxx is the	numeric	value of the character in octal.

       -C      Force  multi-column  output; this is the	default	when output is
	       to a terminal.

       -F      Display a slash (/) immediately after each pathname that	 is  a
	       directory, an asterisk (*) after	each that is executable, an at
	       sign  (@)  after	 each  symbolic	link, an equals	sign (=) after
	       each socket, a percent sign (%) after each whiteout, and	a ver-
	       tical bar (|) after each	that is	a FIFO.

       -G      Enable colorized	output.	 This option is	equivalent to defining
	       CLICOLOR	in the environment.  (See below).

       -H      Symbolic	links on the command line are followed.	  This	option
	       is assumed if none of the -F, -d, or -l options are specified.

       -L      If  argument is a symbolic link,	list the file or directory the
	       link references rather than the link itself.  This option  can-
	       cels the	-P option.

       -P      If  argument  is	 a  symbolic link, list	the link itself	rather
	       than the	object the link	references.  This option  cancels  the
	       -H and -L options.

       -R      Recursively list	subdirectories encountered.

       -T      Display	complete  time	information  for  the  file, including
	       month, day, hour, minute, second, and year.

       -W      Display whiteouts when scanning directories.

       -a      Include directory entries whose names begin with	a dot (.).

       -b      As -B, but use C	escape codes whenever possible.

       -c      Use time	when file status  was  last  changed  for  sorting  or
	       printing.

       -d      Directories  are	 listed	 as  plain  files (not searched	recur-
	       sively).

       -f      Output is not sorted.

       -g      This option is deprecated and is	only available for compatibil-
	       ity with	4.3BSD;	it was used to display the group name  in  the
	       long (-l) format	output.

       -i      For  each file, print the file's	file serial number (inode num-
	       ber).

       -k      If the -s option	is specified, print the	file  size  allocation
	       in  kilobytes,  not blocks.  This option	overrides the environ-
	       ment variable BLOCKSIZE.

       -l      (The lowercase letter ``ell.'')	List in	long format.  (See be-
	       low.)  If the output is to a terminal, a	total sum for all  the
	       file sizes is output on a line before the long listing.

       -n      Display	user  and group	IDs numerically	rather than converting
	       to a user or group name in a long (-l) output.

       -o      Include the file	flags in a long	(-l) output.

       -q      Force printing of non-graphic characters	in file	names  as  the
	       character  `?';	this is	the default when output	is to a	termi-
	       nal.

       -r      Reverse the order of the	sort to	 get  reverse  lexicographical
	       order or	the oldest entries first.

       -s      Display	the number of file system blocks actually used by each
	       file, in	units of 512 bytes, where partial units	are rounded up
	       to the next integer value.  If the output is to a  terminal,  a
	       total sum for all the file sizes	is output on a line before the
	       listing.	 The environment variable BLOCKSIZE overrides the unit
	       size of 512 bytes.

       -t      Sort  by	 time  modified	 (most recently	modified first)	before
	       sorting the operands by lexicographical order.

       -u      Use time	of last	access,	instead	of last	 modification  of  the
	       file for	sorting	(-t) or	printing (-l).

       -1      (The  numeric digit ``one.'')  Force output to be one entry per
	       line.  This is the default when output is not to	a terminal.

       The -1, -C, and -l options all override each other; the last one	speci-
       fied determines the format used.

       The -c and -u options override each other; the last one	specified  de-
       termines	the file time used.

       The  -B,	-b and -q options all override each other; the last one	speci-
       fied determines the format used for non-printable characters.

       The -H, -L and -P options all override each other (either partially  or
       fully); they are	applied	in the order specified.

       By  default, ls lists one entry per line	to standard output; the	excep-
       tions are to terminals or when the -C option is specified.

       File information	is displayed with one or more <blank>s separating  the
       information associated with the -i, -s, and -l options.

   The Long Format
       If  the	-l option is given, the	following information is displayed for
       each file: file mode, number of links, owner name, group	 name,	number
       of  bytes  in  the  file, abbreviated month, day-of-month file was last
       modified, hour file last	modified, minute file last modified,  and  the
       pathname.   In  addition,  for  each  directory whose contents are dis-
       played, the total number	of 512-byte blocks used	by the	files  in  the
       directory  is  displayed	on a line by itself immediately	before the in-
       formation for the files in the directory.

       If the modification time	of the file is more than 6 months in the  past
       or future, then the year	of the last modification is displayed in place
       of the hour and minute fields.

       If  the owner or	group names are	not a known user or group name,	or the
       -n option is given, the numeric ID's are	displayed.

       If the file is a	character special or block special file, the major and
       minor device numbers for	the file are displayed in the size field.   If
       the  file is a symbolic link the	pathname of the	linked-to file is pre-
       ceded by	"->".

       The file	mode printed under the -l option consists of the  entry	 type,
       owner permissions, and group permissions.  The entry type character de-
       scribes the type	of file, as follows:

	     b	   Block special file.
	     c	   Character special file.
	     d	   Directory.
	     l	   Symbolic link.
	     s	   Socket link.
	     p	   FIFO.
	     -	   Regular file.

       The  next  three	 fields	 are three characters each: owner permissions,
       group permissions, and other permissions.  Each field has three charac-
       ter positions:

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

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

	     3.	  The first of the following that applies:

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

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

			x     The file	is  executable	or  the	 directory  is
			      searchable.

			-     The  file	 is  neither  readable,	writable, exe-
			      cutable, nor set-user-ID nor set-group-ID	 mode,
			      nor sticky.  (See	below.)

		  These	next two apply only to the third character in the last
		  group	(other permissions).

			T     The  sticky bit is set (mode 1000), but not exe-
			      cute or search  permission.   (See  chmod(1)  or
			      sticky(8).)

			t     The  sticky  bit	is  set	 (mode	1000),	and is
			      searchable  or  executable.   (See  chmod(1)  or
			      sticky(8).)

DIAGNOSTICS
       The ls utility exits 0 on success, and >0 if an error occurs.

ENVIRONMENT
       The following environment variables affect the execution	of ls:

       BLOCKSIZE  If  the  environment	variable  BLOCKSIZE  is	set, the block
		  counts (see -s) will be displayed  in	 units	of  that  size
		  block.

       CLICOLOR	  Use  ANSI  color  sequences  to distinguish file types.  See
		  LSCOLORS below.  In addition to the file types mentioned  in
		  the  -F  option some extra attributes	(setuid	bit set, etc.)
		  are also displayed.  The colorization	is dependent on	a ter-
		  minal	type with the proper termcap(5)	capabilities.  The de-
		  fault	"cons25" console has the proper	capabilities,  however
		  if  you  want	to display the colors in an xterm(1) for exam-
		  ple, you need	to set your TERM  variable  to	"xterm-color".
		  Other	 terminal types	may require similar adjustments.  Col-
		  orization is silently	disabled if the	output isn't  directed
		  to a terminal	unless the CLICOLOR_FORCE variable is defined.

       CLICOLOR_FORCE
		  Color	 sequences  are	 normally disabled if the output isn't
		  directed to a	terminal.  This	can be overridden  by  setting
		  this	flag.	The  TERM  variable still needs	to reference a
		  color	capable	terminal however otherwise it is not  possible
		  to determine which color sequences to	use.

       COLUMNS	  If  this  variable  contains a string	representing a decimal
		  integer, it is used as the column position  width  for  dis-
		  playing  multiple-text-column	output.	 The ls	utility	calcu-
		  lates	how many pathname text columns to display based	on the
		  width	provided.  (See	-C.)

       LANG	  The locale to	use when determining  the  order  of  day  and
		  month	in the long -l format output.  See environ(7) for more
		  information.

       LSCOLORS	  The  value  of this variable describes what color to use for
		  which	attribute when colors are enabled with CLICOLOR.  This
		  string is a concatenation of pairs of	the format fb, where f
		  is the foreground color and b	is the background color.

		  The color designators	are as follows:

			0     black
			1     red
			2     green
			3     brown
			4     blue
			5     magenta
			6     cyan
			7     light grey
			x     default foreground or background

		  Note	that  the  above are standard ANSI colors.  The	actual
		  display may differ depending on the  color  capabilities  of
		  your terminal.

		  The order of the attributes are as follows:

			1.   directory
			2.   symbolic link
			3.   socket
			4.   pipe
			5.   executable
			6.   block special
			7.   character special
			8.   executable	with setuid bit	set
			9.   executable	with setgid bit	set
			10.  directory writable	to others, with	sticky bit
			11.  directory writable	to others, without sticky bit

		  The  default	is  "4x5x2x3x1x464301060203",  i.e. blue fore-
		  ground and default background	for regular directories, black
		  foreground and red background	for setuid executables,	etc.

       LS_COLWIDTHS
		  If this variable is set, it is considered to be a  colon-de-
		  limited list of minimum column widths.  Unreasonable and in-
		  sufficient widths are	ignored	(thus zero signifies a dynami-
		  cally	 sized	column).   Not	all  columns  have  changeable
		  widths.  The fields are, in order: inode, block count,  num-
		  ber  of links, user name, group name,	flags, file size, file
		  name.

       TERM	  The CLICOLOR functionality depends on	a terminal  type  with
		  color	capabilities.

       TZ	  The  timezone	 to use	when displaying	dates.	See environ(7)
		  for more information.

COMPATIBILITY
       The group field is now automatically included in	the long  listing  for
       files  in  order	 to be compatible with the IEEE	Std 1003.2 ("POSIX.2")
       specification.

SEE ALSO
       chflags(1), chmod(1), xterm(1), termcap(5), symlink(7), sticky(8)

HISTORY
       An ls command appeared in Version 1 AT&T	UNIX.

STANDARDS
       The ls function is expected to be a superset of	the  IEEE  Std	1003.2
       ("POSIX.2") specification.

BUGS
       To  maintain backward compatibility, the	relationships between the many
       options is quite	complex.

FreeBSD	4.1.1			 July 29, 1994				 LS(1)

Want to link to this manual page? Use this URL:
<https://man.freebsd.org/cgi/man.cgi?query=ls&manpath=FreeBSD+4.1.1-RELEASE>

home | help