I somehow got into a hurry when I was writing this so I guess I didn't pick a good example. So hopefully here is a better one; say you want to donwload a FreeBSD iso file. There is a file in the same directory called CHECKSUM.MD5 that holds md5 hashes of files so you could check the integrity. Off course, as a smart guy you always check the file:
Code:
$ ftp ftp://ftp.freebsd.org/pub/FreeBSD/releases/i386/ISO-IMAGES/8.0/8.0-RELEASE-i386-disc1.iso
$ ftp ftp://ftp.freebsd.org/pub/FreeBSD/releases/i386/ISO-IMAGES/8.0/CHECKSUM.MD5
$ ls
8.0-RELEASE-i386-disc1.iso CHECKSUM.MD5 md5_check.sh
$ ./md5_check.sh 8.0-RELEASE-i386-disc1.iso CHECKSUM.MD5
OK: (8.0-RELEASE-i386-disc1.iso)
$
Script is much useful if you got more files, say a
FreeBSD source:
Code:
$ ftp -V ftp://ftp.freebsd.org/pub/FreeBSD/releases/i386/8.0-RELEASE/src/
Trying 87.51.34.132...
ftp> get CHECKSUM.MD5
ftp> mget *.a*
mget sbase.aa [anpqy?]? a
Prompting off for duration of mget.
^C
ftp>
ftp> quit
$ ll
total 16930
drwxrwxrwt 2 soxxx soxxx - 360 Jan 16 23:52 ./
drwxr-xr-x 21 soxxx soxxx - 512 Jan 15 15:54 ../
-rw-r--r-- 1 soxxx soxxx - 5758 Nov 21 17:07 CHECKSUM.MD5
-rwxrwxrwx 1 soxxx soxxx - 192 Jan 16 23:31 md5_hash.awk*
-rw-r--r-- 1 soxxx soxxx - 75919 Nov 21 17:07 sbase.aa
-rw-r--r-- 1 soxxx soxxx - 521808 Nov 21 17:07 sbin.aa
-rw-r--r-- 1 soxxx soxxx - 976127 Nov 21 17:07 scddl.aa
-rw-r--r-- 1 soxxx soxxx - 1425408 Nov 21 17:07 scontrib.aa
-rw-r--r-- 1 soxxx soxxx - 1425408 Nov 21 17:07 scontrib.ab
-rw-r--r-- 1 soxxx soxxx - 1425408 Nov 21 17:07 scontrib.ac
-rw-r--r-- 1 soxxx soxxx - 1425408 Nov 21 17:07 scontrib.ad
-rw-r--r-- 1 soxxx soxxx - 1425408 Nov 21 17:07 scontrib.ae
-rw-r--r-- 1 soxxx soxxx - 1425408 Nov 21 17:07 scontrib.af
-rw-r--r-- 1 soxxx soxxx - 1425408 Nov 21 17:07 scontrib.ag
-rw-r--r-- 1 soxxx soxxx - 1425408 Nov 21 17:07 scontrib.ah
-rw-r--r-- 1 soxxx soxxx - 1425408 Nov 21 17:07 scontrib.ai
-rw-r--r-- 1 soxxx soxxx - 1425408 Nov 21 17:07 scontrib.aj
-rw-r--r-- 1 soxxx soxxx - 1425408 Nov 21 17:07 scontrib.ak
-rw-r--r-- 1 soxxx wheel - 0 Jan 16 23:51 scontrib.al
-rw-r--r-- 1 soxxx wheel - 55920 Jan 16 23:51 scontrib.am
$ ./md5_hash.awk "s*" CHECKSUM.MD5
OK: (sbase.aa)
OK: (sbin.aa)
OK: (scddl.aa)
OK: (scontrib.aa)
OK: (scontrib.ab)
OK: (scontrib.ac)
OK: (scontrib.ad)
OK: (scontrib.ae)
OK: (scontrib.af)
OK: (scontrib.ag)
OK: (scontrib.ah)
OK: (scontrib.ai)
OK: (scontrib.aj)
OK: (scontrib.ak)
ERROR: (scontrib.al)
ERROR: (scontrib.am)
$