Как создать md5-файл для каждой папки в диске рекурсивно?

Ваш вопрос не достаточно конкретен для знания то, что Вы на самом деле ищете. Если Вы захотите возможности типа удаленного рабочего стола, то один из многих предоставленных ответов сделает то, что Вы хотите.

Если с другой стороны, Вы желаете использовать ту же мышь и клавиатуру для управления вторым компьютером (с его собственным монитором), то совместные действия должны сделать точно, что Вы хотите, и это работает в Windows, Linux и Mac.

3
30.08.2012, 16:54
2 ответа

Для получения .md5 файла для любых файлов в соответствии с определенным каталогом можно использовать следующий сценарий:

#!/bin/bash
if [ $# -ne 1 ] ; then
        echo "Usage $0 [directory]" 
        exit 1
fi
find $1 -type f  -print0 | while IFS= read -r -d $'\0' file; do
    (
    cd "$(dirname "$file")"
    filename="$(basename "$file")"
    md5sum "$filename" > "$filename".md5
    )
done

В zsh, то же для всех файлов под текущим каталогом может быть сделано с короткой командой (включает файлы, запускающиеся с точки):

for i in **/*(/D) ; do ( cd $i ; for j in *(.D) ; do md5sum $j > $j.md5 ; done ) ; done 
5
27.01.2020, 21:14
  • 1
    @la_tristesse я переписал свой ответ. Будьте более конкретными в своих вопросах в будущем. –  jofel 30.08.2012, 17:03

Некромантия конечно, но я знаю, как мы любим 1 линейных

#find / -type f  -exec md5sum {} + > CheckSums

лично, я бы использовал sha512sum, и ограничился бы / home или чем-то еще, но если вы хотите получить контрольную сумму корня, тогда сделайте это.

1
27.01.2020, 21:14

Теги

Похожие вопросы