Recursive file/directory change-detection

Filed under: Command line tools, One-liners

Version 2

Another, much faster method would be to use ls -lR to browse over the filesystem. On a newly installed Debian virtual machine (on Xen) hashing the entire filesystem (the root directory) took approximately 1.7 seconds. So, here it is:

ls -lR "$D" | sha1sum | sed 's/[ -]//g'

This method is sensitive to file name, size and modification size; usually that would be enough but if you need more control use…

Version 1

Detect when the contents of a file or directory ($D) changes:

find "$D" | while read f; do stat -t "$f"; done | sha1sum | sed 's/[ -]//g'

This yields a hash of the current state of the file or directory which is extremely sensitive to even the most subtle changes (even a simple touch to any file/directory somewhere inside "$D" changes the generated hash).

Read the rest of this entry »

Posted on November 6th, 2009 by Valeriu Paloş

4 Comments »

Copyright ©2012 Valeriu Paloş. All rights reserved. Design based on a template from Hive Designs ported by Theme Lab.