sum 命令介绍和使用案例
sum
命令在 Linux 系统中用于计算并显示指定文件的校验和与文件所占用的磁盘块数。校验和是一个通过对文件内容进行数学计算生成的唯一值,用于验证文件在传输或存储过程中是否发生了变化
命令格式
sum [选项]... [文件]...
常用选项
-r
: 使用 BSD 加和算法,以 1KB 为一个块。-s, --sysv
: 使用 System V 加和算法,以 51 双字节为一个块。--help
: 显示帮助信息并退出。--version
: 显示版本信息并退出。
使用案例
计算文件校验码和块数
sum test.sh
该命令会计算 test.sh
文件的校验和以及占用的磁盘块数。
使用 BSD 加和算法
sum -r test.sh
该命令使用 BSD 算法计算 test.sh
文件的校验和。
使用 System V 加和算法
sum -s test.sh
该命令使用 System V 算法计算 test.sh
文件的校验和。
计算多个文件的校验和
sum file1.txt file2.txt file3.txt
该命令会分别计算 file1.txt
、file2.txt
和 file3.txt
的校验和。
计算目录下所有文件的校验和
sum folder/*
该命令会计算 folder
目录下所有文件的校验和。
其他用法
虽然 sum
命令主要用于计算文件校验和,但也可以结合其他命令进行数字累加.
例如,可以使用 seq
命令生成一系列数字,然后使用 awk
命令进行累加:
sum=$(seq 1 3 | awk '{sum+=$1} END {print sum}') echo $sum
在这个例子中,seq 1 3
生成了数字 1、2、3,然后这些数字通过 awk
命令进行累加,最后将结果赋值给变量 sum
,再打印 sum
的值。
注意事项
sum
命令的校验和结果可以用于验证文件在传输过程中是否发生了改变. 通过比较传输前后的校验和,可以确定文件是否被篡改