hashfolder

0.0.4 • Public • Published

hashfolder

npm

Simple command line tool that can create/update an sqlite database that contains the hash (by default SHA256) of all files inside a specified root folder.

  • Install globally:
npm install -g hashfolder
  • For the purpose of this tutorial, create a simple folder with some files, including a duplicate file:
mkdir myRootFolder
echo "content" > myRootFolder/myIndividualFile
cp myRootFolder/myIndividualFile myRootFolder/myIndividualFile2
  • Create or update the database of file hashes:
hashfolder update myDb.db myRootFolder

This also prints the hash of the whole content:

SHA256: b1413456f4c52e05a3db19fa3c7ac819766be08a70b6069af911507a92622057

It is possible to configure which hash algorithms are used with the --algorithm parameter (possibly repeated to compute multiple hashes).

Note that hashfolder supports the GIT-SHA1 and GIT-SHA256 algorithms that git uses to compute the hash of blob and tree objects (i.e. files and directories).

  • Show the hash of the whole content from the previously created database:
hashfolder show-hash myDb.db .
  • Show the hash of an individual file from the previously created database:
hashfolder show-hash myDb.db myIndividualFile
SHA256: 434728a410a78f56fc1b5899c3593436e61ab0c731e9072d95e96db290205e53

It should display the same checksum as running:

sha256sum myRootFolder/myIndividualFile
  • Find duplicates:
hashfolder find-duplicates myDb.db

It displays something like this:

Type    Copies  Size    SHA256
file    2       8       434728a410a78f56fc1b5899c3593436e61ab0c731e9072d95e96db290205e53
1 duplicate file(s), 8 bytes
  • Find all files/folders with the given checksum:
hashfolder find-hash myDb.db 434728a410a78f56fc1b5899c3593436e61ab0c731e9072d95e96db290205e53

It displays something like this:

Type    Size    Path
file    8       myIndividualFile
file    8       myIndividualFile2

Package Sidebar

Install

npm i hashfolder

Weekly Downloads

0

Version

0.0.4

License

MIT

Unpacked Size

24 kB

Total Files

5

Last publish

Collaborators

  • divde