
kls - ls-replacement
====================

Usage:
------

kls [-o <outputfile>] <options> [<file(s)>]

  lists the selected files as specified in the options. Command line
  options overwrite permanent options.
  Option -o redirects output to the given file.

kls -c <options>
  
  establishes the given options as permanent options.

kls -u

  removes all permanent options.

kls -C

  shows all permanent options.

Options:
---------

-p <info>        --print=<info>
                 issues the following information for each file
                 n ... file name
                 s ... file size in bytes
                 t ... file type
                 p ... permissions
                 x ... check sum
                 l ... link number
                 c ... creation timestamp
                 m ... last modification timestamp
                 a ... last access timestamp
                 u ... owner UID
                 g ... owner GID
                 d ... device number
                 r ... relative device number
                 i ... inode number
-m <mdtype>      --message-digest=<mdtype>
                 chooses a message digest type
   MD5           RSA Data Security, Inc. MD5 message-digest (16 bytes)
   SHA-1         SHA-1 message-digest (20 bytes, default)
   SHA-224	 SHA-224 (28 bytes)
   SHA-256	 SHA-256 (32 bytes)
   SHA-384	 SHA-384 (48 bytes)
   SHA-512	 SHA-512 (64 bytes)
   RIPEMD-160	 RIPEMD-160 (20 bytes)
-e <encoding>	 --encoding=<encoding>
		 chooses an encoding for the message digest:
   HEX		 ASCII-Hex encoding (default)
   ASCII-85	 ASCII-85 encoding
   R-ASCII-85	 reverse ASCII-85 encoding
-r               --recursive
                 traverses subdirectories too
-t <filetypes>   --type=<filetypes>
                 restricts files to inspect to a set of given types:
                 f ... regular files
                 d ... directories
                 p ... pipes
                 c ... character special devices
                 b ... block special devices
                 s ... sockets
                 o ... all other files
-l <symlinks>    --links=<symlinks>
                 restricts the depth of symbolic links to follow
		 (specify a number or "unlimited")
-f               --stay-on-filesystem
                 stops at filesystem borders
-s               --summary
                 gives a summary before quitting.
-d <how>         specifies how to handle directory names from the
                 command line. If the string contains a "d" the
		 program issues information about the directory
		 itself, if it contains a "c" it lists the contents.
		 One can combine "d" and "c".

kls combines features from both ls and du. Output is configurable,
you can specify the order of columns.

The program uses the dkapp library and it's preferences mechanism
to provide permanent options.

The following preferences are recognized:

/directory  a string telling how to handle directory names given on
            the command line. See the "-d" option.

/recursive  is a boolean flag specifying whether or not to traverse
            subdirectories. See "-r".

/links      is a string specifying the maximum depth of
            symbolic links to follow. See "-l".

/print      specifies the order of output columns. See "-p".

/summary    chooses whether or not to print a summary. See "-s".

/type       selects the file types to inspect. See "-t".

One can set permanent options using "-c", i.e. when running

  kls -c -ptsn -ddc -s

you get no output, the options "-ptsn -ddc -s" are stored as
permanent options instead.
If you run

  kls <directory>

the program behaves as if the options "-ptsn -ddc -s" were specified.

To remove all permanent options, use

  kls -u

