man uals




NAME

  uals - list contents of directories


SYNOPSIS

  uals    [-0@abcdefghiklmnopqrstuwxyz
            ABCDEFGIKLMNOPQRSTUVWXYZ1*]
          [-w cols] [-W cols] [-I pattern] [-e format]
          [-y fields |
           --fields={+-zHDiMtmlogKksbrEduacfZT*A}]
          [--time={atime,access,ctime,change,mtime,modify}]
          [--sum] [--input] [--blksize=size]
          [--all] [--escape] [--directory] [--inode]
          [--kilobytes] [--numeric-uid-gid] [--no-group]
          [--alpha-uid-gid] [--both-uid-gid]
          [--length length] [--maximum length]
          [--hide-control-chars] [--mark-special-chars]
          [--reverse] [--bytes]
          [--width=cols] [--tabsize=cols] [--almost-all]
          [--ignore-backups] [--classify] [--file-type]
          [--full-time] [--ignore=pattern] [--dereference]
          [--list ] [--literal]
          [--quote-name] [--recursive]
          [--device] [--mount]
          [--sort={none,time,size,extension}]
          [--format={long,verbose,commas,across,
             vertical,single-column}]
          [--lc_time=format] [--old-time]
          [--o_mode] [--a_mode] [--x_mode]
          [--cray] [--acid] [--count]
          [--type=filetype] [--t_ne=filetype]
          [--s_lt=size] [--s_gt=size] [--size=size]
          [--newer=time|file] [--older=time|file]
          [--new_c=time|file] [--old_c=time|file]
          [--new_u=time|file] [--old_u=time|file]
          [--stale=time|file]
          [--name=pattern] [--n_ne=pattern]
          [--path=pattern] [--p_ne=pattern]
          [--d_eq=pattern] [--d_ne=pattern]
          [--inum=value] [--link_gt=value]
          [--group=group] [--g_ne=group] [--nogroup]
          [--g_gt=gid] [--g_lt=gid]
          [--user=user] [--u_ne=user] [--nouser]
          [--u_gt=uid] [--u_lt=uid]
          [--mode=modemask] [--m_ne=modemask] [--acl]
          [--or] [--show_filter]
          [--help] [--?] [--version]

         [name...]


DESCRIPTION

  The  uals  command  is an enhanced ls developed at the University of
  Alaska and grew from the GNU fileutils-3.12 distribution.

  The default display is a long format similar to ls -l with mode dis-
  played  in octal, size displayed as bytes, kbytes, mbytes or gbytes,
  and time displayed in YYMMDD.HHMM format.   Specifying  any  of  the
  following  options:  -M, -o, -g, -s, -E will control (limit) what is
  displayed for each file.

  See the examples and notes sections below for further discussion.


OPTIONS

   UofA Additions|Modifications
  -e | --lc_time format
           Define date-time format, defaults to %y%m%d.%H%M
           or %y%m%d.%H%M%S for --full-time or --verbose.
           The format can also be defined via export LC_TIME=format.

  -O | --old-time
           Use old (traditional) ls time format.

  -g     Include group in display.

  -o     Include owner in display.

  -E | --time=mtime | --time=modify | --time=write
         Include last modify time in display (default).

  -M | --o_mode
           Include permissions (mode) in display as octal (default).
           Use -P | --a_mode for the traditional alpha mode display.

  --x_mode
           Include  permissions   (mode)   in   display,   32bits   as
         xfffff.o7777.

  -P | --a_mode
           Include permissions (mode) in display in alpha format.

  -s | --bytes
           Include size in bytes of each file in display.
           The  default is -k which displays as bytes, kbytes, mbytes,
         or gbytes (1000 base).

  -z     Do NOT display directory header lines.

  -Z     Do NOT display total or grand total lines.

  -T     Display only totals (no file information).

  -W | --tabsize cols
           Assume that each tabstop is cols columns wide.
           The default is 8.  This option was -T for GNU.

  -y | --fields fields
          Display specific fields specified by character:
            +  add fields (include base)
            -  reset fields as none
            zH directory headers
            D  device
            i  inode
            M  type and mode
            t  type
            m  mode
            l  link count
            o  owner
            g  group
            K  size in K|M|G format (1024)
            k  size in k|m|g format (1000)
            s  size in bytes
            b  size in blocks
            r  sum -r file
            Ed modify date/time
            ua usage/access time
            c  change time
            f  filename (default)
            ZT directory totals
            *A all fields (except sum)
          Unlike the default display, directory headers and totals are
         off  by  default and the z and Z options re-enable.  All will
         include device information (hex).

  -Y | --blocks
           Display block count.
           Blocks are typically defined as 512 bytes but may  vary  by
         platform.
           For totals, only regular files are sumed even though blocks
           are reported for directories.

  --blksize size
           Specify blocksize, can specify k, m, or g units (e.g., 1m).
           Some  filesystems  (e.g.,  Lustre) use bogus block calcula-
         tion.
           If blksize is specified, blocks will be calculated and only
           regular files will be reported (all else is inodes).

  -* | --verbose
           Display almost all available information.
           Includes inode (-i), link, modify date, access date,
           change date, and file size as bytes.
           To display device use --device.
           To display sum -r use --sum.

  --mount | --xdev
          Implies  -R but will not walk mount points.  Applies only to
         first file system encountered.

  --device
           Display device (hex).

  --input
          Read filenames from stdin.  No filtering of input is done.

  --list Do -d listing of all directories in specfied files.

  --sum   Include "sum -r" of file (BSD 4.3 algorithm).
          Only sums regular files.
          Unreadable files displayed as -1.

  --maximum length
          Specify userid,group floating field length.  Default  length
         is 8 characters or longer as necessary.

  --length length
          Specify  userid,group  fixed field length. Default is float-
         ing.

  --cray   For Cray specific information (acid and count).

  --acid | -@
           For Cray acid.

  --count
           For Cray reference count.

   UofA Additions|Modifications - find like filtering
  The following options can be used to filter files.  By default  mul-
  tiple  specifications  are anded.  They are intended to provide file
  filtering similar to what can be done with find.  At this time, only
  the  file|path|directory  options  use  pattern  matching.  The time
  options for new*|old* use either known file attributes  or  a  delta
  from  the  current time (e.g, an absolute date|time is not presently
  supported).  These features can be  changed|enhanced  as  needs  are
  identified.

  --type=types
           Display files of specified type(s).
           Either f or - may be used for a regular files.
           If ACLs are supported use "a" for files with ACLs.

  --t_ne=types
           Display files not matching specified type(s).

  --s_lt=SIZE
           Display files less than specified size.
           Use 1k for files less than 1000 bytes
           Use 1K for files less than 1024 bytes.
           Use m|M for mega, g|G for giga, t|T for tera bytes.

  --s_gt=SIZE | --size=SIZE
           Display files greater than specified size.

  --newer=file|time | --new_m=file|time
           Display  files  newer (modification) than specified file or
         time offset from current time.  Time  specification  defaults
         to hours.
           Use 30s for 30 seconds
           Use 30m for 30 minutes.
           Use 10h for 10 hours.
           Use  1d for 1 day.
           Use  1w for 1 week.
           Use  1y for 1 year.

  --stale=file|time
           Display  files  older (modification and access) than speci-
         fied file or time and symlinks older (modification) which are
         stale or referenced file older (access) than specified.

  --older=file|time | --old_m=file|time
           Display  files  older (modification) than specified file or
         time.

  --new_c=file|time
           Display files newer (change) than specified file or time.

  --old_c=file|time
           Display files older (change) than specified file or time.

  --new_u=file|time
           Display files newer (usage|access) than specified  file  or
         time.

  --old_u=file|time
           Display  files  older (usage|access) than specified file or
         time.

  --name=pattern
           Display files with name matching pattern.

  --n_ne=pattern
           Display files with name not matching pattern.
           Unlike --ignore this  option  is  used  with  other  filter
         options.

  --path=pattern
           Display path/file with name matching pattern.

  --p_ne=pattern
           Display path/file with name not matching pattern.

  --d_eq=pattern
           Walk only directories matching specified pattern.

  --d_ne=pattern
           Walk only directories not matching specified pattern.

  --inum=value
           Match specified inode value.
           Typically used with --recursive and --mount.
           Implies both inode and link fields.

  --link_gt=value
           Match files with more than specified links.
           Typically specfied as --link_gt=1 and used
           with --recursive and --mount.
           Implies both inode and link fields.

   UofA Additions|Modifications - file access filters
  The  following options filter by file access (permission) attributes
  and honor the --or option.

  --group=group
           Display files belonging to the group.
           Either the name or numeric gid can be specified.

  --g_ne=group
           Display files not belonging to the group or gid.

  --g_gt=gid
           Display files with gid|group greater than specified.

  --g_lt=gid
           Display files with gid|group less than specified.

  --nogroup
           Display files not belonging to any group.

  --user=user
           Display files belonging to the user.
           Either the name or numeric uid can be specified.

  --u_ne=user
           Display files not belonging to the uid or userid.

  --u_gt=uid
           Display files with uid|userid greater than specified.

  --u_lt=uid
           Display files with uid|userid less than specified.

  --nouser
           Display files not belonging to any user.

  --mode=mask
           Display files with mode matching specified mask.
           Note, symlinks are ignored (typically 777).

  --m_ne=mask
           Display files with mode not matching specified mask.

  --acl    Display files with an ACL (ignores symlinks).

  --or     "or" (vs. "and") file access filtering options.

  --show_filter
           Display filtering options (primarily a debugging option).

   Basic (GNU) Options
  -a | --all
         List all files, including all files starting with ".".

  -b | --escape
         Quote nongraphic characters in file  names  using  alphabetic
         and octal backslash sequences like those used in C.

  -c | --time=ctime | --time=status | --time=change
         Sort  directory  contents according to the file status change
         time instead of the modification time.  If the  long  listing
         format is being used, print the status change time instead of
         the modification time.

  -d | --directory
         List directories like other files, rather than listing  their
         contents.

  -f     Do  not  sort directory contents; list them in whatever order
         they are stored on the disk.  The same as enabling -a and  -U
         and disabling -l, -s, and -t.

  --full-time
         List  times in full, rather than using the standard abbrevia-
         tion heuristics.

  -h | --help | --?
         Print a usage message on standard output  and  exit  success-
         fully.

  -i | --inode
         Print  the  index number of each file to the left of the file
         name.

  -k | --kilobytes
         Display file sizes  in  in  kilobytes,  megabytes,  gigabytes
         (base 1000).

  -K | --KILOBYTES
         Display  file  sizes  in  in  Kilobytes, Megabytes, gigabytes
         (base 1024).

  -l | --format=long | --format=verbose
         In addition to the name of each file, print  the  file  type,
         permissions,  number  of  hard links, owner name, group name,
         size in bytes, and timestamp (the  modification  time  unless
         other  times  are  selected).   For files with a time that is
         more than 6 months old or more than 1 hour into  the  future,
         the timestamp contains the year instead of the time of day.

  -m | --format=commas
         List  files  horizontally,  with  as many as will fit on each
         line, separated by commas.

  -n | --numeric-uid-gid
         List the numeric UID and GID instead of the names.

  --alpha-uid-gid
         Default to list userid and group, use with -n for both  alpha
         and numeric forms.

  --both-uid-gid
         Same as --alpha-uid-gid --numeric-uid-gid combined.

  -p     Append  a  character  to  each  file name indicating the file
         type.

  -q | --hide-control-chars
         Print question marks instead of nongraphic characters in file
         names.

  -q | --mark-special-chars
         Print  question  marks  for  all  non-alphanumeric characters
         except ".-_".

  -r | --reverse
         Sort directory contents in reverse order.

  -t | --sort=time
         Sort directory contents by timestamp  instead  of  alphabeti-
         cally, with the newest files listed first.

  -u | --time=atime | --time=access | --time=use
         Sort  directory  contents  according  to the file last access
         time instead of the modification time.  If the  long  listing
         format  is  being used, print the last access time instead of
         the modification time.

  -x | --format=across | --format=horizontal
         List the files in columns, sorted horizontally.

  -A | --almost-all
         List all files in directories, except for "." and "..".

  -B | --ignore-backups
         Do not list files that end with "~", unless they are given on
         the command line.

  -C | --columns | --format=vertical
         List files in columns, sorted vertically.

  -F | --classify
         Append  a  character  to  each  file name indicating the file
         type.  For regular files that are executable, append  a  "*".
         The  file  type  indicators  are "/" for directories, "@" for
         symbolic links, "|" for FIFOs, '=" for sockets,  and  nothing
         for regular files.

  -G | --no-group
         Inhibit display of group information in long format directory
         list.

  -L | --dereference
         List the files linked to by symbolic links instead of listing
         the contents of the links.

  -N | --literal
         Do not quote file names.

  -Q | --quote-name
         Enclose  file  names  in  double  quotes and quote nongraphic
         characters as in C.

  -R | --recursive
         List the contents of all directories recursively.

  -S | --sort=size
         Sort directory contents by file size  instead  of  alphabeti-
         cally, with the largest files listed first.

  -U | --sort=none
         Do  not  sort directory contents; list them in whatever order
         they are stored on the disk.  This option is  not  called  -f
         because  the  Unix  ls -f option also enables -a and disables
         -l, -s, and -t.  It seems useless and  ugly  to  group  those
         unrelated  things  together in one option.  Since this option
         does not do that, it has a different name.

  -V | --version
         Print version information on standard output then  exit  suc-
         cessfully.

  -X | --sort=extension
         Sort  directory  contents  alphabetically  by  file extension
         (characters after the last "."); files with no extension  are
         sorted first.

  -0 | --quiet
         Do not print "No such" messages and exit 0.

  -1 | --format=single-column
         List one file per line.

  -w | --width cols
         Assume the screen is cols columns wide.  The default is taken
         from the terminal driver if possible; otherwise the  environ-
         ment  variable  COLUMNS  is  used if it is set; otherwise the
         default is 80.

  -I | --ignore pattern
         Do not list files whose names match the shell pattern pattern
         unless  they are given on the command line.  As in the shell,
         an initial "." in a filename does not match a wildcard at the
         start of pattern.


DISPLAY

   File Mode Designations
    d  for directory
    c  for character special
    b  for block special
    m  for multiplex
    l  for symbolic link
    s  for socket
    p  for fifo
    -  for regular
    r  for Cray checkpoint/restart
    i  for Cray DMF migrated
    o  for Cray offline, data
    n  for Cray offline, no-data
    ?  for any other file type


EXAMPLES

  Basic command:

   snkac@java: uals
   - 0640 snkac   users    18k 910602.1203 COPYING
   - 0640 snkac   users    919 971005.0959 ChangeLog
   - 0640 snkac   users   2106 971005.1102 Makefile
   - 0640 snkac   users   4607 941027.2049 README.fileutils
   - 0640 snkac   users    469 971005.1050 config.h
   - 0640 snkac   users   6601 971005.0952 config.h.cray
   - 0640 snkac   users   8737 971004.1921 config.h.cray.org
   - 0640 snkac   users   6592 971004.1908 config.h.du
   - 0640 snkac   users   8746 971004.0946 config.h.du.org
   - 0640 snkac   users   8287 941101.0515 config.h.in
   - 0640 snkac   users   6598 971011.0851 config.h.irix
   - 0640 snkac   users   8785 971004.1906 config.h.irix.org
   d 0751 snkac   users   8192 971026.0820 lib
   d 0751 snkac   users   8192 971026.0829 man
   d 0751 snkac   users   8192 971026.0820 src

  Totals only and totals recursively:

   snkac@java: uals -T
   Total:       15 files    109k size,  for: .
   snkac@java: uals -TR
   Total:       15 files    109k size,  for: .
   Total:       20 files    106k size,  for: lib
   Total:        5 files     24k size,  for: man
   Total:        9 files    100k size,  for: src
   Total:        8 files     41k size,  for: src/libx
   Total:        7 files     71k size,  for: src/org
   Grand:       64 files    451k size

  Limiting display to mode, modify date, and access date with a custom
  date-time format:

   snkac@java: uals -e '%y/%m/%d %H:%M:%S' -EuM src/u*
   - 0640 97/10/05 14:03:43 a97/10/26 08:22:32 src/uadf.c
   - 0640 97/10/26 07:40:46 a97/10/26 08:22:31 src/uals.c
   - 0640 97/10/11 08:53:59 a97/10/26 08:22:31 src/uals.h
   Total:        3 files     72k size,  for: .

  Full display (include inode, links, access time, and change time):

   snkac@java: uals -* src/uals.c
     6343  -  0640    1  snkac     users        55790  19971026.074046
  a19971026.082231 c19971026.074046 src/uals.c

  No  headers  and  no totals, note a list of files including complete
  relative path is generated:

   snkac@java: uals -Zz */u*
   - 0640 snkac    users     12k 971026.0836 man/uals.1
   - 0640 snkac    users     14k 971005.1403 src/uadf.c
   - 0640 snkac    users     54k 971026.0740 src/uals.c
   - 0640 snkac    users    1097 971011.0853 src/uals.h

  All C source files newer than two weeks:

   kcarlson@iceberg1: uals -RzZ --newer 2w --name "*.c"
   - 0600 kcarlson staff    6584 050321.1059 lib/filemode.c
   - 0600 kcarlson staff     70k 050321.1455 uals/uals.c
   - 0600 kcarlson staff    5816 050321.1408 uals/uals_usage.c

  All files newer than one day:

   ftp1: uals --newer 1d -R -y M
   d 0755  doc
   d 0755  man
   - 0644  uals-v4.24.tar.gz
   l 0777  uals.tgz -> uals-v4.24.tar.gz
   - 0644  doc/ChangeLog_uals.txt
   - 0644  doc/Version_uals.txt
   - 0644  man/uals.html
   - 0644  man/uals.txt

  All files >1.5gb:

   kcarlson@iceberg1: uals/uals --size 1.5g /gpfsa/mksysb
   - 0640 root     ibmman   8.4g 050308.1827 csm.20050308
   - 0640 kcarlson ibmman   1.6g 050308.1639 b1n1.20050308
   - 0640 kcarlson ibmman   1.6g 050308.1640 b1n2.20050308
   Total:        3 files   11.5g size,  for: /gpfsa/mksysb

  All world-writable, unowned, acl present,  or  sguid  files  in  the
  specified directory (recursively):

   b1n2: uals -R --or --acl --nouser --mode 7002 -y tmog .
   d 0751+ kcarlson staff    tdir.acl
   - 0754+ kcarlson staff    test.acl
   - 6711  kcarlson staff    Test/binX
   d 1777  kcarlson staff    Test/write
   - 0666  kctester tstaccts Test/write/file
   - 0600  1000     1000     Test/write/nowner


NOTES

  Use "export UALS_OPT=options" to establish persistent options.

  uals has been tested under Digital|Compaq Tru64 v3.2g and v4.0b, SGI
  IRIX 6.2 through 6.5, Cray Unicos 9.0 and 10.0, Unicos-mk 2.0,  Cray
  Unicos/MP  2.1,  Cray CLE 2.1, AIX 4.3 through 5.3, and NEC SUPER-UX
  12.1; uals has also been tested under Solaris, several Linux distri-
  butions,  Mac  OSX,  and cygwin (Windows).  Suggestions for enhance-
  ments or bug reports can be directed to kacarlson@alaska.edu.

  uals -OPsl is functionally equivalent to ls -l.

  uals -x is functionally equivalent to ls.

  uals allows better control of display which  is  useful  for  piping
  results  into  other commands.  The date-time format is consistantly
  displayed and can be easily changed with either the -e  |  --lc_time
  format option or by the LC_TIME environment variable.

  The  totalling  options  provide  an  alternative to the du command.
  Bear in mind that uals reports in K-bytes while the  units  from  du
  depends on system block size, typically 512 bytes, with some systems
  4096 or 8192 bytes.  The total  used  may  not  reflect  file  quota
  blocks  used due to system implementations which may or may not rec-
  ognize partial block usage.

  Size for megabytes is really 1000 *  k-bytes  not  1024  *  k-bytes.
  Sizes  are  displayed  with  k,  m, or g to indicate unit base 1000.
  Sizes are displayed with K, M, or G to indicate unit base 1024.

  Device minor numbers are displayed with leading 0s  to  avoid  extra
  white-space separated fields.  The leading 0 does NOT indicate octal
  value.

  The GNU parser allows long options specified as --option.

  Nominal support for access control lists was added in v2.1.   As  of
  v4.0  if  acl  support has been compiled in an additional space will
  appear after mode bits.  If the file has an acl that space  will  be
  instead be displayed as a +.  You must use the operating system dis-
  play command to see acl contents, such as:
    Tru64  getacl  | setacl
    IRIX   ls -lD  | chacl
    UNICOS spget   | spset
    AIX    aclget  | acledit
    Linux  getfacl | setfacl
    SunOS  getfacl | setfacl


ACKNOWLEDGEMENTS

  Based on GNU fileutils-3.12 version of ls from Free Software Founda-
  tion, Inc.  Revised at the University of Alaska.


RELATED INFORMATION

    Commands: ls(1), du(1), find(1).
    ACLs:  spget(1)  Unicos[/mk],  chacl(1)  IRIX, aclget(1) AIX, get-
  facl(1) Linux, getacl(1) Tru64.