您的位置:首页 > 运维架构 > Linux

Linux命令之文件管理篇

2015-07-27 22:47 621 查看

md5sum

功能说明

md5sum命令可以同时对一批文件进行256位的MD5编码,并可以通过比较前后二次编码值来检测一个文件是否给修改过。

语法

md5sum [options]…[file]…

参数

-b,–binary 以二进制模式读取

-c,–check 读取并检测文件的MD5值

-t,–text 默认以文本模式读取

–quiet 不为每个验证成功的文件打印OK

–status 不输出任何东西,状态码显示成功

-w,–warn 针对格式不正确的校验文件发出警告

–strict with –check,exit non-zero for any invalid input

–help 显示帮助并退出

–version 输出版本信息并退出

实例

1、为某个文件产生MD5值

$ md5sum file > file.md5 或者 md5sum file >> file.md5


2、验证文件(将file与file.md5放在同一个目录下)

$ md5sum -c file.md5


由于此命令执行效率较高,所以常可用于大批文件的编译过程中,比如执行第一次编译时,产生每个文件的MD5编码,当第二次或以后编译时,通过MD5编码来确定一个文件是否有修改,而只对有变化的文件进行编译,这样可以大大节省编译的时间。

假设所有需要编译的文件名列表在文件allfiles.txt中:

$ cat allfiles.txt | xargs md5sum > md5sum_result.txt


md5sum_result.txt中的内容为:

f86bc2cf7fd33e483c02c8d0668b0ed0 ./files/main_zero_array.cpp

d2fb00791f215a5bf5273d6256dec650 ./files/subdir/var_func_para.cpp

844a9b14aaeeb819280b3b346fc89922 ./files/subdir/performance_test.c

efae21a9d993de8b0f29cea04cbcaa3a ./files/main.cpp

c2d956bc14cb2c71efbea91e2a1bc538 ./files/main1.cpp

a33a78c5f03d2fae9a5b79ae8295e6e6 ./files/main.c

b7d16e9dd2c60961501a221091571faf ./files/output_args.c

018ae4b01bbde0d7ffded48419499be1 ./files/case.cpp

如果对./files/case.cpp进行一些修改,再运行命令

$ cat allfiles.txt | xargs md5sum -c md5sum_result.txt


会得到以下的输出结果:

./files/main_zero_array.cpp: OK

./files/subdir/var_func_para.cpp: OK

./files/subdir/performance_test.c: OK

./files/main.cpp: OK

./files/main1.cpp: OK

./files/main.c: OK

./files/output_args.c: OK

./files/case.cpp: FAILED
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: