sls man page on DragonFly

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

SLS(1)									SLS(1)

NAME
       sls - list information about file(s) and directories

SYNOPSIS
       sls [ -adlpsuLR ] filename ...

DESCRIPTION
       Sls  is	a program designed to overcome the limitations of the standard
       UNIX ls(1) program, providing a more consistent interface to file inode
       information.   It  is particularly designed for use by shell scripts to
       make obtaining information about files easier.  It uses printf(3)-style
       format strings to control the sorting and output of file information.

       Advantages of sls over ls:

       ·  Allows  complete  specification of the output contents — field (col‐
	  umn) order, field widths, right/left justification, and zero-fill.

       ·  Allows complete specification of the sort order independently of the
	  output options — output can be sorted on one or more fields.

       ·  Has  consistent,  user-definable file date formats — ls's are incon‐
	  sistent and hard to parse (the seconds are never displayed, the year
	  is  shown  instead  of  the  time  for files more than 6 months old,
	  etc.).

       ·  Has ``normalized'' output (no summary lines or changing formats).

       ·  Allows specification of delimiter char(s) — the  characters  between
	  fields — which makes the output easier to parse in shell scripts.

       ·  Won't stat files if it's not necessary (e.g., ``sls <dir>''); in the
	  trivial (but common) case of calling sls on a directory (or list  of
	  directories) with no options, it will simply read the directory file
	  and display the file names, sorted alphabetically.  For  very	 large
	  directories,	this  is  much faster than ls, and gets around command
	  line limitations of the various login shells when using echo(1).

OPTIONS
       -a     List all entries; in the absence of this option,	entries	 whose
	      names begin with a `.' are not listed.

       -d     If  argument  is	a  directory, list only its name (not its con‐
	      tents).

       -p outputstr
	      Set the list of output fields according to the printf-style out‐
	      putstr (see "SORT AND OUTPUT OPTIONS", below).

       -l     Perform long-form output according to default format ( ls-style)
	      or environment variable SLS_LONGFMT, if set.   This  effectively
	      sets  the	 -p  option  string to a predefined value, providing a
	      convenient shorthand for a detailed listing.

       -s sortstr
	      Sets the sort order according to the printf-style	 sortstr  (see
	      "SORT AND OUTPUT OPTIONS", below).

       -u     Sets the default display format for file dates to be the same as
	      ls (``Mmm dd HH:MM'' for newer files, ``Mmm dd yyyy'' for	 older
	      files).

       -L     If  argument  is a symbolic link, list the file or directory the
	      link references rather than the link itself.

       -R     Recursively list subdirectories encountered.

SORT AND OUTPUT OPTIONS
       The option strings supplied with the -s and -p  options	determine  the
       sort  order  and	 output format of the listing.	The option string is a
       single argument consisting of two types of objects:  plain  characters,
       which are simply copied to the output stream, and conversion specifica‐
       tions, each of which causes a  particular  member  (or  field)  of  the
       stat(2)	structure to be sorted or printed.  (The correspondence is not
       quite one-to-one, but it's close.)  Plain characters and	 field	widths
       in the sort option string are ignored.

       Each  conversion specification is introduced by the character % (unless
       two appear together, in which case a single one is output).  After  the
       %, any of the following may appear in sequence:

	      An  optional  `-'	 flag:	for  the -p option, it specifies left-
	      adjustment for string-type fields (no effect on numeric fields);
	      for  the	-s  option,  it	 means	reverse the sort order on this
	      field.

	      An optional decimal digit	 string	 specifying  a	minimum	 field
	      width  (-p option only).	If the converted value has fewer char‐
	      acters than the field width, it will be padded on the  left  (or
	      right,  if the left-adjustment flag has been given) to the field
	      width.  If the converted value  has  more	 characters  than  the
	      field  width,  the  field	 width	will be ignored.  If the digit
	      string has a leading ``0'', numeric-type fields  will  be	 zero-
	      filled on the left to the width of the field.

	      A	 (required) flag character, which results in the conversion of
	      a field from the stat structure for each file.  Some flag	 char‐
	      acters  may be followed by optional modifier character(s).  Each
	      flag character has a default field width and format.   The  flag
	      characters and their meanings are:

	      a	   last	 access	 date.	 This can be followed by a quoted date
		   format string (see "DATE FORMAT STRINGS",  below).	If  no
		   date	 format	 string	 is supplied, the default format shows
		   the time and year; this can be overridden  by  setting  the
		   SLS_DATEFMT	environment variable to a suitable date format
		   string.
	      b	   number of allocated (512-byte) blocks; optionally  followed
		   by one of mkc to specify output in megabytes, kilobytes, or
		   characters (the default).
	      c	   inode change date.  This can be followed by a  quoted  date
		   format  string  (see	 "DATE FORMAT STRINGS", below).	 If no
		   date format string is supplied, the	default	 format	 shows
		   the	time  and  year; this can be overridden by setting the
		   SLS_DATEFMT environment variable to a suitable date	format
		   string.
	      d	   device number the inode resides on.
	      g	   ascii group name of the owner of the file.
	      G	   numeric group number of the owner of the file.
	      i	   inode number of the file.
	      k	   optimal file system block size.
	      l	   number of hard links.
	      m	   last	 modify	 date.	 This can be followed by a quoted date
		   format string (see "DATE FORMAT STRINGS",  below).	If  no
		   date	 format	 string	 is supplied, the default format shows
		   the time and year; this can be overridden  by  setting  the
		   SLS_DATEFMT	environment variable to a suitable date format
		   string.
	      n	   file name; optionally followed by one or more of abs: a  to
		   specify  ascii  output  of non-printing chars; b to specify
		   basename only (i.e., file name w/o leading directory	 path,
		   if  any);  and  s to specify a filetype suffix — this marks
		   directories with a trailing	slash  (/),  executable	 files
		   with	 a trailing asterisk (*), symbolic links with a trail‐
		   ing at-sign (@), and AF_UNIX domain sockets with a trailing
		   equals sign (=).
	      N	   file	 name,	with symbolic links' linked-to file name shown
		   as ``-> name''.
	      p	   ascii permissions (same as in ls).
	      P	   octal permissions.
	      r	   device number that the file resides on.
	      s	   file size; optionally followed by one  of  mkc  to  specify
		   output   in	 megabytes,   kilobytes,  or  characters  (the
		   default).
	      t	   file type (same as in ls).
	      u	   ascii user name of the owner of the file.
	      U	   numeric user id of the owner of the file.

DATE FORMAT STRINGS
       The a, c, and m flag characters use a default format  of	 Mmm  dd  yyyy
       HH:MM  (``%h  %d	 19%y  %H:%M'').   This	 can be changed by setting the
       SLS_DATEFMT environment variable to a suitable date format  string;  by
       specifying  the	-u command line option, which requests ls-style dates;
       or by following the flag character with a quoted format string  of  the
       type  used by date(1) (with several extensions; see below).  (Note that
       either single or double quotes must delimit the date format  string  in
       the  -p option string, so use your shell's particular syntax for embed‐
       ded quotes.)

       The date format string may contain plain characters, which  are	copied
       to the output, or any of the following format modifier characters (pre‐
       ceded by a `%'):
	      %	     print a percent sign.
	      a	     print abbreviated weekday (Sun to Sat).
	      d	     print day of month (01 to 31).
	      h	     print abbreviated month (Jan to Dec).
	      j	     print julian date (001 to 366).
	      m	     print month of year (01 to 12).
	      n	     print a newline.
	      r	     print time in AM/PM notation (``HH:MM:SS ?M'').
	      t	     print a tab.
	      w	     print day of week (0 to 6) (0=Sunday).
	      x	     print date in system format (number of seconds since  the
		     epoch).
	      y	     print last 2 digits of year (00 to 99).
	      D	     print date as mm/dd/yy.
	      E	     print  day	 of  month  with  no  padding for single-digit
		     dates.
	      F	     print full month (January to December).
	      H	     print hour (00 to 23).
	      M	     print minute (00 to 59).
	      S	     print second (00 to 59).
	      T	     print time as HH:MM:SS.
	      W	     print full weekday (Sunday to Saturday).
	      X	     print date in system format, using	 the  number  of  days
		     only (divides seconds by 86,400).

EXAMPLES
       To produce the same output as ``ls -l'':

       sls -u -p '%t%p %2l %-u %s %m %N'

       To  list	 the size (in kbytes), access and modify dates (no times), and
       file names (no pathname), sorted by size (largest first):

       sls -s %-s -p '%sk  %a"%h %d 19%y"  %m"%h %d 19%y"  %nb' /usr/mydir

       How a shell script might get the last-modify date on a  file  with  sls
       vs.   ls (assume that SLS_DATEFMT="%h %d %H:%M"; remember that you have
       no control over the time vs. year field with ls):

       FILEDATE=`ls -l file | awk '{print $5,$6,$7}'`
       FILEDATE=`sls -p %m file`

FILES
       /etc/passwd    to get user names for %u output format flag.
       /etc/group     to get group names for %g output format flag.

BUGS
       It is impossible to distinguish between two files with the same name in
       two different directories with the %nb output format flag.

       There are several features of the ``standardized output'' nature of sls
       that are incompatible with ls, and may cause  some  initial  confusion;
       these are mentioned below.

       The  default  alignment for string-valued fields (right-justified) does
       not match ls, but is consistent with  the  C  library  function	printf
       (which uses the ``-'' option flag to specify left-justification).

       sls  does  not  automatically  eliminate the directory part of the file
       name in the listing when supplied with a single	directory  name	 argu‐
       ment;  the user must explicitly request that with the %nb output format
       flag.

       The symbolic link notation ``linkname -> name'' that  ls	 automatically
       provides	 with  -l output must also be explicitly requested by the user
       with the %N output format flag.

       Sls has no multi-column output capability.

       The default format for dates in sls displays both the  time  and	 year,
       resulting  in  wider  output  (see  ``DATE FORMAT STRINGS'' section for
       information on overriding this default).

				 7 March 1989				SLS(1)
[top]

List of man pages available for DragonFly

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