Welcome to littleutils 1.4.0.  The littleutils are a collection of small and
simple utilities that I believe users (and script-writers in particular) will
find useful.  [The latest version of littleutils can always be found at
https://sourceforge.net/projects/littleutils/]

The basic littleutils include the following utilities:
  filedate - print the modification times of the specified files
  filehash - print various hash digests and filesizes for the specified files
  filemode - print the file access permissions of the specified files
  filenode - print the inode number of the specified files
  fileown - print the uid/gid/username/groupname of the specified files
  filesize - print the file size of the specified files
  lrealpath - print the real path of the specified files
  lsysinfo - print out information from sysinfo(2) and sysconf(2)
  randomize - randomize lines from one or more files or from stdin
  tempname - create a unique temporary file for use by shell scripts

There are some image processing utilities:
  imagdiff - show the differences between two images files in a third file
  imagsize - figure out the image size of various image formats
  jpgcom - print any comments present in the specified JPEG image files
  rot-jpg - losslessly rotate JPEG image files
  pngrecolor - rewrite a PNG file with a minimal palette
  pngstrip - rewrite a PNG file with all extraneous information removed

There are some text file "cleanup" utilities:
  notabs - convert all tab characters to spaces in text files
  notrail - remove all trailing spaces characters from text files
  lreplace - perform string substitutions on text files using sed
  preplace - perform string substitutions on text files using Python replace

There are some compression optimization utilities:
  opt-gif - losslessly optimize GIF image files
  opt-jpg - losslessly optimize JPEG image files
  opt-png - losslessly optimize PNG image files
  rar2tarcat - convert .rar (or .RAR) to .tar via stdout
  recomp-jpg - recompress JPEG image files to a lower quality level
  to-gzip - convert .Z (compress) and .lzo (lzop) to .gz (gzip)
  to-bzip2 - convert .Z, .lzo, and .gz files to .bz2 (bzip2)
  to-bzip3 - convert .Z, .lzo, .gz, and .bz2 files to .bz3 (bzip3)
  to-7zip - convert .Z, .gz, .lzo, .bz2, and .bz3 files to .7z (p7zip)  [extra only]
  to-lzip - convert .Z, .gz, .lzo, .bz2, and .bz3 files to .lz (lzip)
  to-lzma - convert .Z, .gz, .lzo, .bz2, and .bz3 files to .lzma (lzma/lzma_alone)
  to-xz - convert .Z, .gz, .lzo, .bz2, and .bz3 files to .xz (xz)
  to-zst - convert .Z, .gz, .lzo, .bz2, and .bz3 files to .zst (zstd)
  zip2tarcat - convert .zip (or .ZIP) to .tar via stdout

There are some file maintenance utilites:
  lowercase - rename files to all-lowercase filenames
  uppercase - rename files to all-uppercase filenames
  frenum - rename/renumber files using a variety of renaming schemes
  pren - rename files using Perl regular expressions  [extra only]
  repeats, repeats.pl, repeats.py - search for duplicate files
  wipe-free - overwrite all free space in a partition with zeros

There are some utilities that work with PDF files [extra only]:
  opt-pdf - optimize PDF files using poppler or ghostscript
  pdfbw4 - reduce PDF files composed of bitmaps to pure black-and-white (not
           grayscale) pixels
  pdfidiff - show the differences between two PDF files in a third PDF
  pdfquant - reduce the size of the colormap used by PDF files composed of
             bitmaps

For information on compiling and installing the littleutils, see the INSTALL
file (INSTALL is the boilerplate instruction file distributed with autoconf).

Generally, you should run:

  ./configure   # for full list of options, run: ./configure --help
  make
  make install  # as root or user with proper file system permissions

And optionally, if you're feeling brave, you can install utilities from the
"extra" subdirectory:

  make install-extra  # as root or user with proper file system permissions

It is very important to do the "make install" step to ensure that all of the
littleutils work properly.

GNU make is required.  Version 3.79.1 or later is recommended.

It should be noted that the littleutils make use of several other free software
packages.  To make *full* use of the littleutils, make sure that all of these
packages are installed.  [If some of the packages are not, the configure script
will cause the particular littleutils that rely on them will be skipped on
install.  This will not affect the operation of the other littleutils.]  Most
of these should already be present on your system, but if not, here is where
source code and binaries can be found:

  bash:         https://www.gnu.org/software/bash/
  perl:         https://www.perl.com/
  python:       https://www.python.org/

  CryptX:       https://metacpan.org/pod/CryptX
  file:         https://astron.com/pub/file/
  gifsicle:     https://www.lcdf.org/gifsicle/
  ghostscript:  https://www.ghostscript.com/
  img2pdf:      https://pypi.org/project/img2pdf/
  Imlib2:       https://sourceforge.net/projects/enlightenment/files/
  jpegtran:     https://ijg.org/
  libpng:       https://www.libpng.org/pub/png/libpng.html
  optipng:      https://optipng.sourceforge.net/
  pngcrush:     https://pmt.sourceforge.net/pngcrush/
  poppler:      https://poppler.freedesktop.org/

  bzip2:        https://www.sourceware.org/bzip2/
  bzip3:        https://github.com/kspalaiologos/bzip3
  gzip:         https://gzip.org/
  lzip:         https://www.nongnu.org/lzip/lzip.html
  lzma_alone:   https://www.7-zip.org/sdk.html  (lzma_alone is in the SDK)
  lzop:         https://www.lzop.org/
  xz,lzma:      https://tukaani.org/xz/
  zstd:         https://github.com/facebook/zstd
  7z,7za,7zr:   https://sourceforge.net/projects/p7zip/

Enjoy!

Brian Lindholm
