【busybox记录】【shell指令】cksum

2024-05-06 05:44

本文主要是介绍【busybox记录】【shell指令】cksum,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

目录

内容来源:

【GUN】【cksum】指令介绍

【busybox】【cksum】指令介绍

【linux】【cksum】指令介绍

使用示例:

计算校验和 - 传统输出格式

默认输出 - 基础POSIX标准32位CRC校验和

其他校验指令对参数有更好的支持,请看其他校验指令

常用组合指令:

指令不常用/组合用法还需继续挖掘:


内容来源:

        GUN : Coreutils - GNU core utilities

        busybox v1.36.1 : 【busybox记录】【shell指令】基于的Busybox的版本和下载方式-CSDN博客

【GUN】【cksum】指令介绍

cksum 打印并验证文件校验和
默认情况下,cksum 为每个给定的文件计算32位循环冗余校验(CRC)校验和,如果没有给出标准输入,则为'-'文件计算标准输入。
cksum 还支持 -a/--algorithm 选项来选择要使用的摘要算法。
这些摘要的首选接口是 cksum, 它包含其他独立的校验和工具,可以使用cksum -a md5 --untagged "$@"等进行模拟。
简介:
cksum [option]... [file]...
通过比较接收文件的 cksum 输出与原始文件的 cksum 输出(通常在分发版中给出),通常使用 cksum 来确保文件没有被破坏。
6.3.1 cksum输出方式
传统输出格式默认情况下,cksum 打印每个文件的POSIX标准CRC校验和以及文件中的字节数和文件名,除非没有给出参数。使用的32位CRC是基于 SO/IEC 8802-3:1996 标准(以太网)中用于CRC错误检查的多项式。类似的输出格式用于其他可选择的 --algorithm=sysv 或 --algorithm=bsd 的遗留校验和,详情见6.2节[sum调用]。标记输出格式当 --algorithm 选项选择非传统校验和时,cksum命令默认输出如下表单:digest_name (file name) = digest独立校验和工具可以使用--tag选项来选择这种输出模式。无标签的输出格式如果使用 --untagged 选项和 --algorithm 选项选择非遗留校验和,则使用以下输出格式。这是独立校验和工具的默认输出格式。对于每个文件,我们打印校验和、空格、表示二进制或文本输入模式的标志以及文件名。二进制模式用'*'表示,文本模式用' '(空格)表示。在重要的系统上,二进制模式是默认的,否则文本模式是默认的。没有 --zero,并且使用非遗留输出格式,如果文件包含反斜杠、换行或回车,则该行以反斜杠开始,并且文件名中每个有问题的字符都用反斜杠进行转义,这样即使在存在任意文件名时,输出也不会有歧义。由于反斜杠字符本身是转义的,任何其他的反斜杠转义序列都保留为将来使用。
6.3.2 cksum通用选项
‘-a’
‘--algorithm’使用指定的摘要算法计算校验和。支持的传统校验和(不支持 --check):'sysv'             等价于sum -s'bsd'              等价于sum -r'crc'              等价于cksum(默认值)支持的更现代的摘要算法有:'md5'              等价于md5sum'sha1'             等价于sha1sum'sha224'           等价于sha224sum'sha256'           等价于sha256sum'sha384'           等价于sha384sum'sha512'           等价于sha512sum'blake2b'          等价于b2sum'sm3'              只能通过cksum使用
‘--base64’打印base64编码的摘要,而不是十六进制。这个选项会被 --check忽略。格式符合 RFC 4648#4 (https://datatracker.ietf.org/doc/html/rfc4648#section-4).每个base64编码的摘要有0、1或2个尾部填充('=')字节。填充的长度是对3取模的校验和位长,而--check解析器需要与输出完全相同的输入摘要字符串。例如,删除或添加任何`=`填充会导致摘要不匹配。
‘--debug’ 向stderr输出额外的信息,比如校验和的实现。
‘-l’
‘--length’更改(缩短)默认摘要长度。该值以bit为单位指定,因此必须是8的倍数。当指定--check时,此选项将被忽略,因为在检查时自动确定长度。
‘--raw’ 只打印单个输入未编码的原始二进制摘要。不要输出文件名或其他任何东西。适用时使用网络字节序(大端序):`bsd`、`crc`和`sysv`。此选项仅适用于单个输入。与其他输出格式不同,cksum不提供检查原始校验和的方法。
‘--untagged’输出使用原始的 Coreutils 格式,其他独立的校验和工具使用这种格式,例如md5sum。这种格式将校验和放在一行的开头,可能更适合其他实用程序进行进一步处理,特别是与 --zero选项结合使用时。这并不能确定用于校验和的摘要算法。有关此格式的详细信息,请参阅第43页第6.3.1节[cksum输出模式]。
6.3.3 cksum常用选项
‘-b’
‘--binary’cksum命令不支持此选项,因为它只以二进制模式运行。通过以二进制模式读取并输出`*`标志,将每个输入文件视为二进制文件。这是 --text的逆。在像GNU这样不区分二进制文件和文本文件的系统上,此选项仅将每种输入模式标记为二进制:校验和不受影响。这个选项是MS-DOS等区分二进制文件和文本文件的系统的默认选项,当标准输入是终端时,读取标准输入除外。
‘-c’
‘--check’ 从每个文件(如果没有指定文件,则从标准输入)读取文件名和校验和信息(不是数据),并报告校验和是否与指定文件的内容匹配。这种模式的输入通常是命令运行之前生成校验和的输出。支持三种输入格式。要么是上面描述的默认输出格式——tag输出格式,要么是类似于默认模式的BSD反向模式格式,但不使用字符来区分二进制和文本模式。对于cksum命令,当以 --tag格式输出校验和信息时,--check选项支持自动检测要使用的摘要算法。同样对于cksum命令,--check选项自动检测摘要编码,既接受标准的十六进制校验和,也接受通过cksum的——base64选项生成的校验和。--check不支持启用--zero的输出。对于每一行,cksum 读取指定文件并计算其校验和。然后,如果计算出的消息摘要与文件名所在行的消息摘要不匹配,则将该文件标记为未通过测试。否则,文件通过测试。默认情况下,对于每一个有效的行,都会向标准输出写入一行,以表明指定的文件是否通过了测试。在所有检查完成后,如果有任何失败,则对标准错误发出警告。使用--status选项来禁止该输出。如果列出的任何文件无法打开或读取,如果任何有效行与相关文件的校验和不一致,或者没有找到有效行,则 cksum 以非零状态退出。否则,退出成功。cksum命令不支持使用旧的`sysv`、`bsd`或`crc`算法进行检查。
‘--ignore-missing’此选项仅在验证校验和时有用。在验证校验和时,不要失败或报告任何丢失文件的状态。当给定一个较大的校验和列表来验证下载文件的子集时,这很有用。
‘--quiet’ 此选项只在校验校验和时有用。在验证校验和时,不要为每个成功检查的文件生成`OK`消息。验证失败的文件以默认的每行文件格式报告。如果有任何校验和不匹配,则打印一个警告,汇总失败到标准错误。
‘--status’此选项仅在验证校验和时有用。在验证校验和时,不要生成默认的逐行诊断,也不要输出总结任何失败的警告。打开或读取文件失败仍然会触发对标准错误的个别诊断。如果列出的所有文件都是可读的,并且与相关的校验和一致,则成功退出。否则,以指示失败的状态码退出。
‘--tag’ 输出BSD风格的校验和,表示使用的校验和算法。作为一个GNU扩展,如果不使用 --zero,带有问题字符的文件名会像上面描述的那样进行转义,使用与其他输出格式相同的转义指示器'\'。--tag选项意味着二进制模式,如果支持--text模式,则不允许使用--text模式,因为那样会使输出格式不必要地复杂化,而且没有什么好处。有关此格式的详细信息,请参阅第43页第6.3.1节[cksum输出模式]。cksum命令使用--tag作为默认的输出格式。
‘-t’
‘--text’ cksum命令不支持此选项。通过以文本模式读取并输出` `标志,将每个输入文件视为文本。这是二进制的倒数。在像GNU这样不区分二进制文件和文本文件的系统上,这个选项是默认的。在其他系统上,当标准输入是终端时,它是读取标准输入的默认值。如果使用 --tag,则不会默认使用此模式。
‘-w’
‘--warn’ 在验证校验和时,对格式不正确的校验和行发出警告。只有在选中的输入中只有几行有效时,这个选项才有用。
‘--strict’在验证校验和时,如果一个或多个输入行无效,在发出所有警告后退出 nonzero。
‘-z’
‘--zero’在每行末尾输出一个零字节(ASCII NUL),而不是换行符。该选项使其他程序能够解析输出,即使该输出包含嵌入换行符的数据。也不使用文件名转义。

【busybox】【cksum】指令介绍

NA

【linux】【cksum】指令介绍

用法:cksum [文件]...或:cksum [选项]
输出每个文件的 CRC 校验值和字节统计。--help		显示此帮助信息并退出--version		显示版本信息并退出GNU coreutils 在线帮助:<https://www.gnu.org/software/coreutils/>
请向 <http://translationproject.org/team/zh_CN.html> 报告 cksum 的翻译错误
完整文档请见:<https://www.gnu.org/software/coreutils/cksum>
或者在本地使用:info '(coreutils) cksum invocation'

使用示例:

计算校验和 - 传统输出格式

输出的格式:POSIX标准CRC校验和     文件中的字节数    文件名

指令:cksum test*

默认输出 - 基础POSIX标准32位CRC校验和

NA

其他校验指令对参数有更好的支持,请看其他校验指令

NA

常用组合指令:

NA

指令不常用/组合用法还需继续挖掘:

这篇关于【busybox记录】【shell指令】cksum的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/963550

相关文章

将sqlserver数据迁移到mysql的详细步骤记录

《将sqlserver数据迁移到mysql的详细步骤记录》:本文主要介绍将SQLServer数据迁移到MySQL的步骤,包括导出数据、转换数据格式和导入数据,通过示例和工具说明,帮助大家顺利完成... 目录前言一、导出SQL Server 数据二、转换数据格式为mysql兼容格式三、导入数据到MySQL数据

关于rpc长连接与短连接的思考记录

《关于rpc长连接与短连接的思考记录》文章总结了RPC项目中长连接和短连接的处理方式,包括RPC和HTTP的长连接与短连接的区别、TCP的保活机制、客户端与服务器的连接模式及其利弊分析,文章强调了在实... 目录rpc项目中的长连接与短连接的思考什么是rpc项目中的长连接和短连接与tcp和http的长连接短

Linux中shell解析脚本的通配符、元字符、转义符说明

《Linux中shell解析脚本的通配符、元字符、转义符说明》:本文主要介绍shell通配符、元字符、转义符以及shell解析脚本的过程,通配符用于路径扩展,元字符用于多命令分割,转义符用于将特殊... 目录一、linux shell通配符(wildcard)二、shell元字符(特殊字符 Meta)三、s

Oracle查询优化之高效实现仅查询前10条记录的方法与实践

《Oracle查询优化之高效实现仅查询前10条记录的方法与实践》:本文主要介绍Oracle查询优化之高效实现仅查询前10条记录的相关资料,包括使用ROWNUM、ROW_NUMBER()函数、FET... 目录1. 使用 ROWNUM 查询2. 使用 ROW_NUMBER() 函数3. 使用 FETCH FI

Python MySQL如何通过Binlog获取变更记录恢复数据

《PythonMySQL如何通过Binlog获取变更记录恢复数据》本文介绍了如何使用Python和pymysqlreplication库通过MySQL的二进制日志(Binlog)获取数据库的变更记录... 目录python mysql通过Binlog获取变更记录恢复数据1.安装pymysqlreplicat

shell脚本快速检查192.168.1网段ip是否在用的方法

《shell脚本快速检查192.168.1网段ip是否在用的方法》该Shell脚本通过并发ping命令检查192.168.1网段中哪些IP地址正在使用,脚本定义了网络段、超时时间和并行扫描数量,并使用... 目录脚本:检查 192.168.1 网段 IP 是否在用脚本说明使用方法示例输出优化建议总结检查 1

Servlet中配置和使用过滤器的步骤记录

《Servlet中配置和使用过滤器的步骤记录》:本文主要介绍在Servlet中配置和使用过滤器的方法,包括创建过滤器类、配置过滤器以及在Web应用中使用过滤器等步骤,文中通过代码介绍的非常详细,需... 目录创建过滤器类配置过滤器使用过滤器总结在Servlet中配置和使用过滤器主要包括创建过滤器类、配置过滤

正则表达式高级应用与性能优化记录

《正则表达式高级应用与性能优化记录》本文介绍了正则表达式的高级应用和性能优化技巧,包括文本拆分、合并、XML/HTML解析、数据分析、以及性能优化方法,通过这些技巧,可以更高效地利用正则表达式进行复杂... 目录第6章:正则表达式的高级应用6.1 模式匹配与文本处理6.1.1 文本拆分6.1.2 文本合并6

python与QT联合的详细步骤记录

《python与QT联合的详细步骤记录》:本文主要介绍python与QT联合的详细步骤,文章还展示了如何在Python中调用QT的.ui文件来实现GUI界面,并介绍了多窗口的应用,文中通过代码介绍... 目录一、文章简介二、安装pyqt5三、GUI页面设计四、python的使用python文件创建pytho

这15个Vue指令,让你的项目开发爽到爆

1. V-Hotkey 仓库地址: github.com/Dafrok/v-ho… Demo: 戳这里 https://dafrok.github.io/v-hotkey 安装: npm install --save v-hotkey 这个指令可以给组件绑定一个或多个快捷键。你想要通过按下 Escape 键后隐藏某个组件,按住 Control 和回车键再显示它吗?小菜一碟: <template