L’un des moyens les plus courants de déterminer si deux fichiers sont identiques (en supposant que leur taille corresponde) consiste à utiliser un programme pour créer un " hachage " (essentiellement une empreinte digitale) d’un fichier. Les plus communs sont md5sum
et sha1sum
.
Par exemple:
$ md5sum file1 file2
e0e7485b678a538c2815132de7f9e878 file1
4a14aace18d472709ccae3910af55955 file2
Si vous devez vérifier plusieurs fichiers, par exemple si vous transférez un répertoire plein de fichiers d'un système à un autre, vous pouvez rediriger la sortie du système d'origine vers un fichier, puis md5sum
/ sha1sum
peut utiliser automatiquement ce fichier pour indiquer vous quels fichiers sont différents:
$ md5sum file1 file2 > MD5SUMS
... copy file1, file2, MD5SUMS across
$ md5sum --check MD5SUMS
file1: OK
file2: OK
A trouvé une solution - l'outil cmp fourni avec la plupart des versions de Linux.
la source
Si je veux juste savoir s'ils sont identiques, je préfère utiliser sha1sum s'il est disponible, ou md5 comme solution de secours.
Si je veux savoir en quoi elles sont différentes ou différentes, une chose qui fonctionne est de les lancer toutes les deux via od ('octal dump', qui a généralement une option hexadécimale) pour créer des fichiers temporaires, puis les différencier.
la source
Je viens de lancer quelques tests sur un fichier de plus de 100 Mo. diff était le plus rapide, cmp venait en deuxième position et md5sum arrivait en dernier.
J'ai recommencé l'exercice avec un fichier de 4,3 Go, et j'ai dû supprimer et recréer le fichier avec dd car la mise en cache de la RAM affectait grandement les résultats.
Sur la base de ces résultats, je recommanderais de déplacer les fichiers vers un montage RAMFS et de coller avec diff.
la source