cksum entire dir??

Gary Kline kline at
Wed Sep 12 05:09:35 UTC 2012

On Tue, Sep 11, 2012 at 09:18:13PM -0400, kpneal at wrote:
> On Tue, Sep 11, 2012 at 05:24:08PM -0700, Gary Kline wrote:
> > On Wed, Sep 12, 2012 at 01:14:43AM +0200, Polytropon wrote:
> > > But I also tried cksum directly with a directory
> > > like
> > > 
> > > 	% cksum <directory>
> > > 
> > > and could obtain a checksum - so it _seems_ to work.
> > > After alteration of one file within the hierarchy a
> > > different result was printed.
> > 	I think I tried something like your second example last night.
> > 	I think I did
> > 
> > 	% cksum foodir/*
> > 
> > 	and had to compare each file from another file I was copying from.
> > 	it was tiresome to check each of dozens of files tho. I was here at 
> > 	desk for something obscene -- over 12 hrs. getting my new [slightly
> > 	used:)] computer back to normal.  
> > 
> > 	if there isn't anything that can compare entire dirs, it looks like
> > 	it's time to hack a small program.  tx, polyt.
> Unix was originally created to do text manipulation. No need for a new
> program when you can do it from the command line.
> cd dir1 ; cksum * | sort > /tmp/dir1-cksum
> cd dir2 ; cksum * | sort > /tmp/dir2-cksum
> diff /tmp/dir?-cksum
> Don't forget to remove temporary files when you are done.
> Other useful commands:
> cut
> paste
> You can use awk to pull out and rearrange columns:
> cksum * | awk '{ print $3, $1, $2; }' | sort
> This gives you a little easier diff in case you do have changes.
> Friendly tip: if you did comparisons by hand for 12 hours then you
> may have missed something.

	no, it was several other tasks that I had t  o do very carefully
	by hand.  I was going to write an awk script.  I figured there
	were others ways.

	my desktop is a flavor of linux that i don't  know.  it seems to be
	lacking in many common unix binaries; md5 is one that I spent
	an hour checking.  zero.

	your first way works very well and will serve.   many thanks.
	now I can listen to:

	/Lectures on the Critique of Pure Reason

	which is now safely in my home directory in several mp3 files.
> It's a real shame Unix doesn't have a really good tool for comparing
> two directory trees. You can use 'diff -r' (even on binaries), but that
> fails if you have devices, named pipes, or named sockets in the
> filesystem. And diff or cksum don't tell you if symlinks are different.
> Plus you may care about file ownership, and that's where the stat
> command comes in handy.

	right.  these are things you only discover the hard way.   
> Not that I'm volunteering, mind you. I ended up instead writing a
> Python script to do copies of filesystems off of old machines I'm
> putting to pasture. It's amazing how badly old versions of dump and
> tar behave. 

	REmember CP/M and MP/M?  I started out with a dual 8085/80888 box 
	with MP/Mand wrote notes and letters that were stored on 8"
	twin floppies.  circa mid-1980's I transferred a boatload of floppies
	onto my 386 with SVR2 with uucp and others C programs on the 8088 box. 
	it took forever and things keep faulting, but I got it done.

> -- 
> Kevin P. Neal                      
>    "I like being on The Daily Show." - Kermit the Frog, Feb 13 2001

More information about the freebsd-questions mailing list