diff options
author | Jindrich Novy | 2005-11-07 15:07:33 +0100 |
---|---|---|
committer | Ruediger Meier | 2018-06-12 14:23:25 +0200 |
commit | cabf1c1cb7409db30917e1d7e8546ec850e43c1d (patch) | |
tree | c565532d53522d2666b3c85cbf1f840a81172379 /misc-utils | |
parent | Document hardlink command line options. (Ville Skytta) (#161738) (diff) | |
download | kernel-qcow2-util-linux-cabf1c1cb7409db30917e1d7e8546ec850e43c1d.tar.gz kernel-qcow2-util-linux-cabf1c1cb7409db30917e1d7e8546ec850e43c1d.tar.xz kernel-qcow2-util-linux-cabf1c1cb7409db30917e1d7e8546ec850e43c1d.zip |
add -h option
Diffstat (limited to 'misc-utils')
-rw-r--r-- | misc-utils/hardlink.1 | 39 | ||||
-rw-r--r-- | misc-utils/hardlink.c | 8 |
2 files changed, 44 insertions, 3 deletions
diff --git a/misc-utils/hardlink.1 b/misc-utils/hardlink.1 new file mode 100644 index 000000000..7ffc2b460 --- /dev/null +++ b/misc-utils/hardlink.1 @@ -0,0 +1,39 @@ +.TH "hardlink" "1" +.SH "NAME" +hardlink \- Consolidate duplicate files via hardlinks +.SH "SYNOPSIS" +.PP +\fBhardlink\fP [\fB-c\fP] [\fB-n\fP] [\fB-v\fP] [\fB-h\fP] directory1 [ directory2 ... ] +.SH "DESCRIPTION" +.PP +This manual page documents \fBhardlink\fP, a +program which consolidates duplicate files in one or more directories +using hardlinks. +.PP +\fBhardlink\fP traverses one +or more directories searching for duplicate files. When it finds duplicate +files, it uses one of them as the master. It then removes all other +duplicates and places a hardlink for each one pointing to the master file. +This allows for conservation of disk space where multiple directories +on a single filesystem contain many duplicate files. +.PP +Since hard links can only span a single filesystem, \fBhardlink\fP +is only useful when all directories specified are on the same filesystem. +.SH "OPTIONS" +.PP +.IP "\fB-c\fP" 10 +Compare only the contents of the files being considered for consolidation. +Disregards permission, ownership and other differences. +.IP "\fB-n\fP" 10 +Do not perform the consolidation; only print what would be changed. +.IP "\fB-v\fP" 10 +Enable verbose logging. +.IP "\fB-h\fP" 10 +Show help. +.SH "AUTHOR" +.PP +\fBhardlink\fP was written by Jakub Jelinek <jakub@redhat.com>. +.PP +Man page written by Brian Long. +.PP +Man page updated by Jindrich Novy <jnovy@redhat.com> diff --git a/misc-utils/hardlink.c b/misc-utils/hardlink.c index 1e102101f..fd511c894 100644 --- a/misc-utils/hardlink.c +++ b/misc-utils/hardlink.c @@ -96,10 +96,11 @@ void doexit(int i) void usage(char *prog) { - fprintf (stderr, "Usage: %s [-cnv] directories...\n", prog); + fprintf (stderr, "Usage: %s [-cnvh] directories...\n", prog); fprintf (stderr, " -c When finding candidates for linking, compare only file contents.\n"); fprintf (stderr, " -n Don't actually link anything, just report what would be done.\n"); fprintf (stderr, " -v Operate in verbose mode.\n"); + fprintf (stderr, " -h Show help.\n"); exit(255); } @@ -125,7 +126,7 @@ void rf (char *name) int fd, i; f * fp, * fp2; h * hp; - char *p, *q; + char *p = NULL, *q; char *n1, *n2; int cksumsize = sizeof(buf); unsigned int cksum; @@ -292,7 +293,7 @@ int main(int argc, char **argv) d * dp; DIR *dh; struct dirent *di; - while ((ch = getopt (argc, argv, "cnv")) != -1) { + while ((ch = getopt (argc, argv, "cnvh")) != -1) { switch (ch) { case 'n': no_link++; @@ -303,6 +304,7 @@ int main(int argc, char **argv) case 'c': content_only++; break; + case 'h': default: usage(argv[0]); } |