https://github.com/bamresearch/checksum-dir
simple script for creating and verifying file checksums for a directory recursively
Science Score: 13.0%
This score indicates how likely this project is to be science-related based on various indicators:
-
○CITATION.cff file
-
✓codemeta.json file
Found codemeta.json file -
○.zenodo.json file
-
○DOI references
-
○Academic publication links
-
○Academic email domains
-
○Institutional organization owner
-
○JOSS paper metadata
-
○Scientific vocabulary similarity
Low similarity (6.5%) to scientific vocabulary
Repository
simple script for creating and verifying file checksums for a directory recursively
Basic Info
Statistics
- Stars: 0
- Watchers: 2
- Forks: 0
- Open Issues: 0
- Releases: 0
Metadata Files
README.md
Manage checksums for a directory structure
A shell script around sha256sum, tested Linux and Windows.
On Windows, in a Miniforge environment,
it needs to be run by a shell interpreter (sh or bash), like this:
sh checksum-dir [<path to create checksums for> | <checksum file>]
Usage
Run checksum-dir [<path to create checksums for> | <checksum file>]
- Calculates checksums of all files in the given path recursively. The checksums are stored with relative paths in a file 'check_<datetimestamp>.sha256' in the given directory.
- When verifying checksums, it works with relative paths based on the checksum file location and absolute paths.
Change to the directory to checksum and run the script there ('$' indicates the shell prompt, it's not part of the command):
$ cd .dawn/
$ checksum-dir .
Creating '/home/ingo/.dawn/check_250206144142.sha256':
64c53a48d36274e052885fb4d8c04f51e3f45edda6d08d596b3aa23b4f666537 *./org.eclipse.osgi/.manager/.fileTable.2
d5ee4cb634e5381df0678d0e6628e82c7915b8c508b307f0864ff42b23502f64 *./org.eclipse.osgi/.manager/.fileTable.1
5901e6933874c7b8f3ff032eefb0f7ead8c0794eb7135d74d3b4413eb170d9d4 *./org.eclipse.osgi/framework.info.1
4c2fddf5208b747d0a1a4c808efc1fa662a57751f3c589ab6e9fe238ca6c730d *./org.eclipse.core.runtime/.table.1
b0912c3816220a45077e651f4b18f477f562a262be4e67719582338389edb3d8 *./org.eclipse.core.runtime/.manager/.fileTable.8
00810eba738b4ff11f442b6e6de9ca5714b8f13d789b04633b4590938410ca55 *./org.eclipse.core.runtime/.manager/.fileTable.7
a346de00c1e4d756dddab897fa58c83859fe58bc964b8119160e0ee20df3218d *./org.eclipse.core.runtime/.extraData.1
7a3c8416f5442595a3d470336eaa95d01336867ac390f1225b7af905a204bcd0 *./org.eclipse.core.runtime/.contributions.1
b65e15a186b2f3450a2ade3ac0f223483ca696d87668f09c9837dc54b53ff82a *./org.eclipse.core.runtime/.namespaces.1
d70677954e00d5256809e003a3f08842feb233a6e9e43899c3a2afe105437f51 *./org.eclipse.core.runtime/.mainData.1
c1c29e104bb2102ae714bbdd68c1171682ec31beb0fae136c04c3c78abbef9bc *./org.eclipse.core.runtime/.contributors.1
96a19174d3246c958053b5eb62ab594350cfba7ba97553e1f7a528744bd1a051 *./org.eclipse.core.runtime/.orphans.1
a2f678a4f4fd38ff2afd483ed9227f7f86f7f71fb979979965d2c666db0f7bc9 *./config.ini
526b190306b08b9869c458d20d8f258913686319f1ab5871866cc20ecf015374 *./org.eclipse.update/platform.xml
$ ls -la
total 32K
drwxrwx--- 6 ingo ingo 4,0K Feb 6 14:41 .
drwxr-x--- 28 ingo ingo 4,0K Feb 6 14:19 ..
-rw-rw-r-- 1 ingo ingo 1,5K Feb 6 14:41 check_250206144142.sha256
-rw-rw---- 1 ingo ingo 104 Jul 28 2022 config.ini
drwxrwx--- 3 ingo ingo 4,0K Jul 28 2022 org.eclipse.core.runtime
drwxrwx--- 3 ingo ingo 4,0K Jul 28 2022 org.eclipse.equinox.app
drwxrwx--- 3 ingo ingo 4,0K Jul 28 2022 org.eclipse.osgi
drwxrwx--- 2 ingo ingo 4,0K Jul 28 2022 org.eclipse.update
Check the directory and all its files by calling the script with the checksum file as argument from anywhere:
$ cd /
$ checksum-dir ~/.dawn/check_250206144142.sha256
Verifying checksums from '/home/ingo/.dawn/check_250206144142.sha256':
All good!
If there was an error:
$ checksum-dir ~/.dawn/check_250206144142.sha256
Verifying checksums from '/home/ingo/.dawn/check_250206144142.sha256':
./org.eclipse.core.runtime/.extraData.1: FAILED
sha256sum: WARNING: 1 computed checksum did NOT match
Install (on Linux)
Clone this repo first, to get the file:
cd $HOME
mkdir -p code && cd code # or another source code directory
git clone https://github.com/BAMresearch/checksum-dir.git
Link to the script in a directory which is in your $PATH,
/usr/local/bin for system-wide availablity here:
cd /usr/local/bin
sudo ln -s $HOME/code/checksum-dir/checksum-dir .
Owner
- Name: Bundesanstalt für Materialforschung und -prüfung
- Login: BAMresearch
- Kind: organization
- Email: oss@bam.de
- Location: Berlin/Germany
- Website: www.bam.de
- Repositories: 36
- Profile: https://github.com/BAMresearch
German Federal scientific research institute for materials testing and research
GitHub Events
Total
- Member event: 2
- Push event: 6
- Create event: 1
Last Year
- Member event: 2
- Push event: 6
- Create event: 1