Linux命令之文件管理篇

来源:互联网 发布:谷雨软件下载 编辑:程序博客网 时间:2024/06/05 02:48

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

0 0
原创粉丝点击