shafs
is a tool to help you SHA256
an entire filesystem, file by file, storing its hash and file size in a SQLite database.
Dependencies
shafs
requires sqlite3
On Ubuntu do:
sudo apt install sqlite3
sudo apt install libsqlite3-dev
Please check your distribution for the appropriate packages.
Build
git clone https://github.com/rektbuildr/shafs.git
cd shafs
./build.sh
Installation
To install locally, uncomment last line in build.sh
and re-run it or run :
sudo make install
Manual Build + Install
git clone https://github.com/rektbuildr/shafs.git
cd shafs
mkdir -p m4
autoreconf --install
./configure
make
sudo make install
Usage
shafs [-v] <src_dr> <sqlite_file>
Example
shafs -v /usr/lib ~/usrlib_hashed.db
Finding Duplicate eBooks
$ shafs ~/ebooks/ ~/ebooks.db
$ sqlite3 ~/ebooks.db
sqlite> select filepath, count(*) as duplicates from shafs group by filehash having duplicates > 0 order by duplicates desc;
Finding Largest Files
sqlite> select * from shafs order by filesize desc;
License
shafs is released under the terms of the MIT license
See the LICENSE file at our Github source repository for details