File: cksfv.1

package info (click to toggle)
cksfv 1.3.14-2
  • links: PTS
  • area: main
  • in suites: bullseye, buster, jessie, jessie-kfreebsd, sid, stretch, wheezy
  • size: 368 kB
  • sloc: ansic: 819; sh: 314; makefile: 35
file content (126 lines) | stat: -rw-r--r-- 3,424 bytes parent folder | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
.TH CKSFV 1
.\" NAME should be all caps, SECTION should be 1-8, maybe w/ subsection
.\" other parms are allowed: see man(7), man(1)
.SH NAME
cksfv \- tests and creates simple file verification (SFV) listings
.SH SYNOPSIS
.B cksfv
.I "[-bciqrL] [-C dir] [-f file] [-g path] [file ...]"
.br
.SH "DESCRIPTION"
.BR cksfv
is a tool for verifying CRC32 checksums of files. CRC32 checksums are
used to verify that files are not corrupted. The algorithm is
cryptographically crippled so it can not be used for security purposes.
.BR md5sum
(1) or
.BR sha1sum
(1)
are much better tools for checksuming files. cksfv should only
be used for compatibility with other systems.

cksfv has two operation modes: checksum creation and checksum verification

In
.BR checksum\ creation\ mode
cksfv outputs CRC32 checksums of files to
to stdout, normally redirected to an .sfv file.

In
.BR checksum\ verification\ mode
cksfv reads filenames from an sfv file, and compares the
recorded checksum values against recomputed checksums of files.

.SH OPTIONS
These options are available
.TP
.B \-b
Strip dirnames from filenames that are checksumed. loads the files from
original positions, but prints only basenames to catalogue in sfv file.
.TP
.B \-c
Use stdout for printing progress and final resolution (files OK or
some errors detected). This is useful for external programs analysing
output of cksfv. This also forces fflushes on the output when needed.
.TP
.B \-C dir
.BR
Change current directory before proceeding with a verification operation.
This option is mostly obsoleted with -g option. Earlier this was used
to verify checksums in a different directory: cksfv -C foo -f foo/bar.sfv
.TP
.B \-f file
Verify checksums in the sfv file
.TP
.B \-g file
Change current directory to the path name of the file and verify checksums
in the sfv.
.TP
.B \-i
Ignore case in filenames. This is used in the checksum verification mode.
.TP
.B \-L
Follow symlinks when recursing subdirectories. This option is used with
the -r option.
.TP
.B \-q
Enable QUIET mode (instead of verbose mode), only error messages are printed
.TP
.B \-v
Enable VERBOSE mode, this is the default mode
.TP
.B \-r
recurse directories and check the .sfv files in each. Symlinks are not
followed by default. This option cannot be used with -f and -g options.

.SH EXAMPLES
.nf
Verify checksums of files listed in 'foo/files.sfv':
.ft B
cksfv -g foo/files.sfv

.ft R
Create checksums for a set of files:
.ft B
cksfv *.gz > files.sfv

.ft R
Verify checksums of case-insensitive filenames listed in 'files.sfv'.
This is sometimes useful with files created by operating systems
that have case-insensitive filesystem names.
.ft B
cksfv -i -g files.sfv

.ft R
Check checksums of files 'foo' and 'bar' listed in 'files.sfv':
.ft B
cksfv -g files.sfv foo bar

.ft R
Create checksums of files matching /foo/bar/* and strip dirnames away:
.ft B
cksfv -b /foo/bar/* > files.sfv

.ft R
Recursively scan /foo/bar and verify each .sfv file:
.ft B
cksfv -C /foo/bar -r

.ft R
Same as previous, but starting from the current working directory 
and also following symlinks during recursion:
.ft B
cksfv -r -L

.SH "SEE ALSO"
.BR basename (1)
.BR dirname (1)
.BR md5sum (1)
.BR sha1sum (1)

.SH AUTHOR
This manual page was originally written by
Stefan Alfredsson <stefan@alfredsson.org>.
It was later modified by
Heikki Orsila <heikki.orsila@iki.fi> and
Durk van Veen <durk.van.veen@gmail.com>.