Provided by: cfv_1.18.3-2_all bug

NAME

       cfv - Verify file consistency with .sfv, .csv, .crc, .md5, md5sum, sha1sum, .torrent, par,
       or par2 files

SYNOPSIS

       cfv [-p dir] [-v|-V|-VV] [-r|-rr|-R] [-n|-N] [--renameformat <s>] [-s|-S]  [-zz|-z|-Z|-ZZ]
       [-T|-C]  [-m|-M]  [-i|-I]  [-u|-uu|-U]  [--unquote <b>] [--fixpaths <s>] [--showpaths <i>]
       [--list/--list0 <l>] [--announceurl <u>]  [--piece_size_pow2  <n>]  [-t  type]  [-f  file]
       [files...]

DESCRIPTION

       cfv  verifies  that  the files you have are the same as those that the were used to create
       the checksum file.

OPTIONS

       -v     Enable printing of extra messages.

       -V     Disable printing of extra messages. (default)

       -VV    Like -V, but don't print status line at end either.

       -q     Like -VV, but not even error messages are printed.  Check the exit status.

       -Q     Only status lines are printed, but not individual errors.

       --progress VAL
              Set when cfv should  display  progress  bars.   If  no,  progress  bars  are  never
              displayed.   If  auto,  progress  bars  are  displayed  when  the  output  is  to a
              tty.(default) If yes, progress is always displayed.

       -r     Recursive mode 1.  In create mode, make seperate chksum files for each dir.

       -rr    Recursive mode 2.  In create mode make a single file with deep listing in it.  Both
              recursive modes are equivilant for test mode.

       -R     Disable recursive mode (default)

       -l     Follow directory symlinks in recursive mode. (default)

       -L     Don't follow directory symlinks in recursive mode.

       -T     Set test mode. (default)

       -C     Set create mode.

       -m     Check only for missing files (don't compare checksums)

       -M     Check checksums (default)

       -n     Rename bad files.  With -s, also renames misnamed files to the correct name.

       -N     Don't rename bad files (default)

       --renameformat string
              Format  string  to  use  with  -n  option.   Simply,  put  any  of  the  4  strings
              %(fullname)s, %(name)s, %(ext)s, and %(count)i in the  format  string,  along  with
              whatever other text you wish.
              The default is '%(name)s.bad-%(count)i%(ext)s'
              In  detail,  this  is  a  standard  python format string with mapping that contains
              {'fullname':  original  filename,  'name':   fullname   minus   extension,   'ext':
              extension(including  .),  'count':  rename attempt}.  If the format string does not
              contain count, then cfv will append '-%(count)i'  to  the  filename  if  the  first
              attempt fails.

       -s     Search  for  misnamed  files.   No  effect in create mode.  Also, keep in mind that
              using -m together with -s will do nothing if  the  checksum  type  doesn't  include
              filesizes,  and  if  it  does, can give false positives if some files have the same
              size.

       -S     Don't search for misnamed files. (default)

       -i     Ignore case.  Currently has no effect in create mode.

       -I     Don't ignore case (default)

       -u     Show unverified files.  If no files in a directory are verified, shows  dir/*.   If
              no  files  in a directory or its subdirs are verified, shows dir/**.  Has no effect
              in create mode.

       -uu    Show each unverified file individually, no  special  directory  handling.   Has  no
              effect in create mode.

       -U     Don't show unverified files (default)

       -zz    Force  making/reading  checksum  files  as gzipped files, even if not ending in .gz
              (mainly useful for "-f -")

       -z     Make gzipped files in create mode.

       -Z     Don't create gzipped files automatically. (default)

       -ZZ    Never use gzip, even if file ends in ".gz".

       --unquote BOOL
              If yes, handle checksum files that were generated  by  buggy  encoders  that  quote
              filenames  in checksum formats that don't need it.  Default is no, since quotes can
              be a valid character in a filename and we don't want to remove  them  if  they  are
              actually part of the filename.

       --fixpaths string
              Convert  all  occurances  of  any characters in string to the dir seperator for the
              current platform.  No effect in create mode. Use an empty string to disable.

       --strippaths VAL
              Strip NUM leading components  from  file  names  in  test  mode.   Similar  to  the
              -p/--strip  options of patch.  VAL may be 'none': leave exactly as is, 'all': strip
              everything but the filename, 0: strip the leading driveletter/slash (if  any),  1+:
              strip this many path components in addition.  The default is 0.

       --showpaths VAL
              Show  paths  in  displayed  filenames.   VAL  should be one of yes/1/no/0/auto/2 or
              absolute/relative, or one from first list and one from second joined by a  -.   For
              backwards  compatability,  1=yes,  0=none,  2=auto.   The default is auto-relative.
              Abrieviations are accepted.  Examples: --showpaths=y-a always shows absolute paths.
              --showpaths=n never shows paths.

       -p dir Change to directory before doing anything.

       -f file
              Specify  the name of the checksum file to test or create.  If file is -, stdin (for
              -T) or stdout (for -C) will be used.

       -t type
              Specify the type of the file.  Can be sfv, sfvmd5,  csv,  csv2,  csv4,  sha1,  md5,
              bsdmd5, par, par2, torrent, crc, auto, or help.  If the type is help, or an unknown
              type is given, a list of the types and their descriptions  will  be  printed.   The
              default  is  auto, which will detect the file type for you.  When creating, if type
              is auto an sfv will be made, unless a different default has been set in the  config
              file.

       --list listset
              Prints  a  raw  listing  of files in the given set (ok, bad, unverified, notfound).
              Usually used with -q, but not strictly needed since specifying --list will redirect
              all other messages to stderr.

       --list0 listset
              Like  --list  but  files  are seperated by a null char.  Useful in combination with
              xargs -0.

       --announceurl URL
              Tracker announce URL for .torrent file creation.

       --piece_size_pow2 N
              Power of two to set piece size to for .torrent file creation.  The default  is  18,
              which gives a piece size of 2^18=256KB.

       -h/--help
              Print help info.

       --version
              Print version of cfv and modules it uses.

       sfv is a Simple File Verify format file
       sfvmd5 is a Simple File Verify format file, using MD5 checksums rather than crc32.
       csv is a Comma Seperated Value file, with the fields being name,size,crc32,
       csv2 is a Comma Seperated Value file, with the fields being name,size,
       csv4 is a Comma Seperated Value file, with the fields being name,size,crc32,path
       sha1 is a sha1sum format file
       md5 is a md5sum format file
       bsdmd5 is a BSD md5 format file
       par is parchive v1 format file (test-only)
       par2 is parchive v2 format file (test-only)
       torrent is a BitTorrent metainfo file
       crc is a JPEG Sheriff format crc file

EXIT STATUS

       The exit status of cfv can be examined to determine what kind of errors, if any, occured.

       An exit status of 1 indictates a command line argument error, or an unhandled exception.

       Otherwise, the exit status will be a bitwise OR of:

       2      badcrc (a file had a different checksum than listed in the checksum file)

       4      badsize  (a  file  had  a different size than listed. Not all checksum file formats
              include file size)

       8      notfound (a file that was listed was not found)

       16     ferror (some other file error occured when trying to open/read a file)

       32     unverified (a file was not verified, only with -u)

       64     cferror (a checksum file was not found or not recognized)

NOTES

       Since different platforms represent the path seperator differently, using recursive mode 2
       (-rr) is not recommended for anything other than personal usage.  Although the addition of
       the fixpaths option can be used to work around this, it  isn't  guaranteed  that  whatever
       program others user have will have a similar feature.

       The -s option is not currently implemented for .torrent files. (Unless you also use -m)

EXAMPLES

       If  no  options  are  specified,  the  default  will be -T -t auto, and it will search the
       current directory for any supported checksum files.
       cfv

       Force the file to test:
       cfv -f funny.name

       Test only the files you have, (avoid file not found errors):
       cfv *

       Create a csv file for all the files in the current dir:
       cfv -C -tcsv

       Create a csv file for only the zip files in the current dir, and specify the filename:
       cfv -C -fsomezips.csv *.zip

       Check if all files in current and subdirs are verified,  but  don't  verify  checksums  of
       files  that  are.   (For example, before writing a directory to a cdr and you want to make
       sure all the files are verified.):
       cfv -r -m -u

CONFIGURATION

       Upon startup, cfv will test for ~/.cfvrc and if it exists, read configuration  information
       from  it.   The file consists of any number of lines, each having a single option name and
       the value seperated by a space.  Empty lines and lines beginning with a # are ignored.

EXAMPLE CONFIGURATION

       #this is an example .cfvrc that specifies all the default options
       #don't be verbose (set to 1 or v for -v, 0 or V for -V, -1 or VV for -VV, -2 or q for  -q,
       -3 or Q for -Q)
       verbose V
       #use  progress  meter when output is to a terminal (yes for always, no for never, auto for
       when output isatty)
       progress auto
       #create sfv files by default
       default sfv
       #sort dir listings before creating a checksum file
       dirsort 1
       #sort command line specified files
       cmdlinesort 1
       #expand wildcards in command line (yes for always, no for never, auto for when os.name  is
       os2, nt, or dos)
       cmdlineglob auto
       #don't be recursive (set to 0 for -R,  1 for -r,  2 for -rr)
       recursive 0
       #follow symbolic links
       dereference 1
       #don't show unverified files (set to 0 for -U, 1 for -u, 2 for -uu)
       showunverified 0
       #don't ignore case
       ignorecase 0
       #don't use workaround for buggy encoders that quote filenames unnecessarily
       unquote 0
       #don't  fix any paths (note that there is a single space after fixpaths, thus the value it
       gets set to is an empty string)
       fixpaths
       #A more useful example would be:
       #fixpaths /\
       #don't strip leading directories (all to strip all path info, 0+ to strip  the  leading  /
       and the first X components, none for nothing)
       strippaths 0
       #show  full  paths  in  recursive  mode  (set  to 0 for never, 1 for always, 2 for only in
       recursive mode)
       showpaths 2
       #access checksum filenames that end with .gz as gzipped files (-1 for never,  0  for  with
       .gz, and 1 to make -C make .gz files automatically)
       gzip 0
       #don't rename bad files
       rename 0
       #format to use for renaming bad files with -n
       renameformat %(name)s.bad-%(count)i%(ext)s
       #don't search for files
       search 0
       #filename_type  can  be  used  to  override  what  type  of  file  to create when -t isn't
       specified.
       #The format of the argument is <typename>=<regex>.  Can be specified multiple  times,  the
       earlier instances having higher priority.
       #for  example,  the following line would cause cfv -C -f foo.md5 to create a 'sfvmd5' file
       rather than a 'md5' file.
       #filename_type sfvmd5=md5$

       #torrent options:
       # you can specify a default announce url:
       #announceurl http://foo.bar/announce
       # piece size of 2^18 bytes (256KB):
       piece_size_pow2 18

FILES

       ~/.cfvrc
              cfv configuration file.  See configuration section.

       ~/_cfvrc
              alternate configuration file name.  (Since  windows  won't  let  you  create  files
              starting with a dot.)

ENVIRONMENT

       HOME   Where  to  look  for  cfvrc  file.   Note  that  win9x doesn't set this to anything
              automatically.

       CFV_NOFCHKSUM
              Set to a non-empty value to disable usage of python-fchksum module.

       CFV_NOMMAP
              Set to a non-empty value to disable usage of mmap.

AUTHOR

       Matthew Mueller <donut AT dakotacom DOT net>

       The latest version can be found at any of:
       http://cfv.sourceforge.net/
       http://www.dakotacom.net/~donut/programs/cfv.html
       ftp://sunsite.unc.edu/pub/Linux/utils/file/

       Other programs I have written can be found at:
       http://www.dakotacom.net/~donut/programs/

SEE ALSO

       md5sum(1), sha1sum(1), md5(1), xargs(1)

                                           01 Feb 2005                                     cfv(1)