TwinSeeker is a C++ based command-line utility that recursively scans given directories and identifies duplicate files. By utilizing SHA-256 hashing, this tool efficiently compares files to help free up storage space by identifying redundant files, making it easier to manage your data.
- Recursively scans directories for duplicate files.
- Efficient comparison of files using SHA-256 hashing.
- Handles symbolic links and ignores identical directory paths.
- Handles file read errors gracefully.
- Reports zero byte files (empty files) as duplicates.
- A C++17 compliant compiler
- CMake version 3.10 or above
-
Clone this repository to your local machine.
git clone https://github.com/Saad-Hussain31/TwinSeeker.git
-
Navigate into the TwinSeeker directory and execute the
generate_samples.sh
script.cd TwinSeeker ./generate_samples.sh
This script generates sample files in the
samples
directory for testing TwinSeeker. -
Create a build directory.
mkdir build
-
Change to the build directory, run CMake to configure the build, and then compile the code.
cd build cmake .. make
-
The
twinSeeker
executable will be created in thebuild
directory.
Run twinSeeker
followed by the directories you want to scan. The tool will recursively scan the directories and output any duplicate files it finds. Here is a basic example:
./twinSeeker ../samples