使用哈希的md5给文件加指纹,如果文件被更改,指纹信息就会不匹配,从而确定文件的原值是否被改动。
[root@b test]# md5sum a.txt > zhiwen.txt
[root@b test]# md5sum -c zhiwen.txt #-c参数检查文件指纹有没有发生变化
a.txt: OK
[root@b test]# echo aa >> a.txt
[root@b test]# md5sum -c zhiwen.txt
a.txt: FAILED
md5sum: WARNING: 1 computed checksum did NOT match
[root@b test]# vim backup_tar.sh
cd / &&\
#其中&&\表示前面的命令执行成功,继续执行后面的命令,中间不间断
tar zcfh /backup/sys_config_$(date+%F).tar.gz var/spool/cron /etc/rc.local /serv
er/scripts &&\
tar zcfh /backup/webdata_$(date+%F).tar.gz /var/html/www/ &&\
#tar的-h选项表示打包的目标文件如果为软连接,则将其源文件也进行打包,防止打包后文件不能使用。
tar zcf /backup/access_log_$(date+%F).tar.gz /app/logs &&\
find /backup -type f -name "*.tar.gz"| xargs md5sum >/backup/flag_$(date +%F)
#其中xargs作用是将所有的打包文件进行md5校验,验证生成的文件是否被他人篡改
[root@b ~]# for i in `seq 1000`;do echo $RANDOM |md5sum |tr 'a-z' '0-9'|cut -c 1-32 >>aa.txt;done
[root@b ~]# cat aa.txt |sort -nr |uniq -c |awk '{if($1>1){print $0}}'
#echo $RANGDOM输出一个系统随机数,通过md5加密,用tr将所有字母换成数字,截取其前32个字符追加到aa.txt文件,通过for语句循环1000次;过滤aa.txt文件。查看其重复次数超过1次的所有md5值
tr是个简单的替换命令,从标准输入中替换、缩减和/或删除字符,并将结果写到标准输出。
tr常见命令参数
用法:tr [选项]... SET1 [SET2]
从标准输入中替换、缩减和/或删除字符,并将结果写到标准输出。
-c, -C, --complement 首先补足SET1
-d, --delete 删除匹配SET1 的内容,并不作替换
-s, --squeeze-repeats 如果匹配于SET1的字符在输入序列中存在连续的
重复,在替换时会被统一缩为一个字符的长度
-t, --truncate-set1 先将SET1 的长度截为和SET2 相等
--help 显示此帮助信息并退出
--version 显示版本信息并退出