csum 命令

用途

csum 命令使用指定的散列算法计算指定文件的消息摘要。

语法

卡苏姆 [-o outputfile] [- 算法] [-] [File1, File2, ... | - ]

csum -i inputfile [-h algorithm] 算法

描述

csum 命令使用指定的散列算法计算指定文件的消息摘要。 这提供了验证文件完整性的可靠的方法。

csum 命令将消息摘要写至稍后可用于验证文件整体性的指定文件。 请注意,可以使用绝对或相对路径名来指定文件。

不将指定多个 -i-o-h 标志考虑为错误;将使用指定标志的最近实例。 然而,同时使用 -i-o 标志将为错误。

标志

描述
- 从标准输入指定输入。
-a 指定将对于所有文件生成一个消息摘要。
-h 算法 指定 csum 命令将使用哪种散列算法来生成消息摘要或当使用 -i 选项时验证消息摘要值。 以下选项是可用的:
  • SHA1:使用 SHA-1 算法生成 20 字节消息摘要。
  • MD5:使用 MD5 算法生成 16 字节消息摘要。
注: 这些选项区分大小写。
如果未使用该 -h 选项,那么 csum 命令将缺省为对于生成和验证消息摘要都使用 MD5 算法。
-i 输入文件 指定由 -o 标志生成的输入文件,该文件包含可信的消息摘要值。 csum 命令计算在输入文件中指定的文件的消息摘要值,并验证它们匹配现有文件的实际消息摘要值。

-h 标志应结合 -i 标志使用,以指定哪种加密散列算法用于生成输入文件。 如果没有指定,那么将使用 MD5 算法。

如果在输入文件中指定的文件生成消息摘要值不同于在输入文件中存储的值,或者该文件不存在,那么该文件的测试将失败且 csum 命令将继续处理输入文件中指定的文件。

-o 输出文件 指定 csum 命令将用于写消息摘要值的输出文件。 该标志不能和 -i 标志一起使用。 如果指定的文件已存在,那么它将被覆盖。

退出状态

该命令返回以下值:

描述
重大安全事件数量 成功。
> 0 发生错误。

示例

  1. 要计算文件 carstrucks 的消息摘要,请输入:
    csum cars trucks
    因为 -h 选项未指定,所以计算文件 carstrucks 的 MD5 值。
    如果 9875DD0B18C15899988F29E9D85346A4E8C3ABB5E1D48FA519135EAB0FE40932 分别为 carstrucks 的 MD5 值,csum 命令输出以下内容:
    9875DD0B18C15899988F29E9D85346A4        cars
    E8C3ABB5E1D48FA519135EAB0FE40932        trucks
  2. 要计算文件名以 file 开头的所有文件的消息摘要并将输出文件存储在名为 mdvalues 的文件中,请输入:
     csum -o mdvalues file*
    如果执行 csum 命令的目录包含文件 file1file2,那么输出文件 mdvalues将包含以下文本。 以及这些文件的 file3 和 MD5 值如下所示:
    B026324C6904B2A9CB4B88D6D61C81D1        file1
    26AB0DB90D72E28AD0BA1E22EE510510        file2
    D7FCE9FEE471194AA8B5B6E47267F03         file3
  3. 要验证文件 mdvalues 中的消息摘要匹配这些相同文件的当前消息摘要值,请输入:
    csum -i mdvalues
  4. 要使用 SHA-1 算法计算文件 user.dat 的消息摘要,请输入:
    csum -h SHA1 user.dat
    如果 user.dat 文件的 SHA-1 值为 A77CBB748AC336558AFA1AE7F2B73F3765728E7B,那么 csum 命令将输出以下内容:
    A77CBB748AC336558AFA1AE7F2B73F3765728E7B        user.dat

位置

/usr/bin/csum