「Cksum (UNIX)」の版間の差分
削除された内容 追加された内容
m CmplstofB がページ「利用者:CmplstofB/sandbox/cksum」を「Cksum (UNIX)」に移動しました: 草稿が完成 |
→使用法: 国際標準について改訂の旨 |
||
13行目: | 13行目: | ||
出力は,巡回冗長検査及び各ファイルの容量である{{sfn|OG}}{{rp|at=STDOUT}}。 |
出力は,巡回冗長検査及び各ファイルの容量である{{sfn|OG}}{{rp|at=STDOUT}}。 |
||
巡回冗長検査には[[巡回冗長検査#主な標準CRC|幾つか変種がある]]が,cksumコマンドは[[国際標準化機構]]及び[[国際電気標準会議]]が'''ISO/IEC 8802-3''':1996「情報技術――システム間の遠距離通信及び情報交換 |
巡回冗長検査には[[巡回冗長検査#主な標準CRC|幾つか変種がある]]が,cksumコマンドは[[国際標準化機構]]及び[[国際電気標準会議]]が'''ISO/IEC 8802-3''':1996「情報技術――システム間の遠距離通信及び情報交換-局所及び都市圏ネットワーク-特定の要件-3部: 衝突検出 (CSMA/CD) アクセス手法を用いた媒体検知多重アクセス及び物理層の仕様」{{efn|2019年現在,本規格は三度の改訂を経て'''ISO/IEC 8802-3''':2017「情報技術-システム間の遠距離通信及び情報交換-局所及び都市圏ネットワーク-特定の要件-3部: イーサネット標準」となっている<ref>{{cite web |
||
|title=ISO - ISO/IEC/IEEE 8802-3:2017 |
|||
|publisher=[[国際標準化機構]] |
|||
|url=https://www.iso.org/standard/72048.html|accessdate=2019-09-04 |
|||
}}</ref>が,cksum側の仕様書を優先した。}}で定めるCRC誤り検出に用いられる[[多項式]]に基づいている{{sfn|OG}}{{rp|at=DESCRIPTION}}。 |
|||
多項式は以下の通り: |
多項式は以下の通り: |
||
: {{math|G({{mvar|x}}) {{=}} {{mvar|x}}{{sup|32}} + {{mvar|x}}{{sup|26}} + {{mvar|x}}{{sup|23}} + {{mvar|x}}{{sup|22}} + {{mvar|x}}{{sup|16}} + {{mvar|x}}{{sup|12}} + {{mvar|x}}{{sup|11}} + {{mvar|x}}{{sup|10}} + {{mvar|x}}{{sup|8}} + {{mvar|x}}{{sup|7}} + {{mvar|x}}{{sup|5}} + {{mvar|x}}{{sup|4}} + {{mvar|x}}{{sup|2}} + {{mvar|x}} + 1}} |
: {{math|G({{mvar|x}}) {{=}} {{mvar|x}}{{sup|32}} + {{mvar|x}}{{sup|26}} + {{mvar|x}}{{sup|23}} + {{mvar|x}}{{sup|22}} + {{mvar|x}}{{sup|16}} + {{mvar|x}}{{sup|12}} + {{mvar|x}}{{sup|11}} + {{mvar|x}}{{sup|10}} + {{mvar|x}}{{sup|8}} + {{mvar|x}}{{sup|7}} + {{mvar|x}}{{sup|5}} + {{mvar|x}}{{sup|4}} + {{mvar|x}}{{sup|2}} + {{mvar|x}} + 1}} |
2019年9月3日 (火) 17:02時点における版
cksumコマンドはUnix系オペレーティングシステムのコマンドであり,ファイルの巡回冗長検査を算出する。 cksumコマンドはSingle UNIX Specification (IEEE Std 1003.1-2008) で定められている。
check sum(検査合計)という英語に由来する名前ではあるが,実際には巡回冗長検査を算出する。
使用法
オプションは取らず[注釈 1],対象のファイル郡を第1引数に指定する[2](SYNOPSIS)。 ファイルが指定されなければ標準出力を入力と見做す[2](OPERANDS)。
$ cksum [ファイル...]
出力は,巡回冗長検査及び各ファイルの容量である[2](STDOUT)。 巡回冗長検査には幾つか変種があるが,cksumコマンドは国際標準化機構及び国際電気標準会議がISO/IEC 8802-3:1996「情報技術――システム間の遠距離通信及び情報交換-局所及び都市圏ネットワーク-特定の要件-3部: 衝突検出 (CSMA/CD) アクセス手法を用いた媒体検知多重アクセス及び物理層の仕様」[注釈 2]で定めるCRC誤り検出に用いられる多項式に基づいている[2](DESCRIPTION)。 多項式は以下の通り:
- G(x) = x32 + x26 + x23 + x22 + x16 + x12 + x11 + x10 + x8 + x7 + x5 + x4 + x2 + x + 1
実装例
- git
.savannah .gnu .org /cgit /coreutils .git /tree /src /cksum .c%20cksum .c - GNUプロジェクトによる実装。 - cvsweb
.openbsd .org /cgi-bin /cvsweb /src /usr .bin /cksum / - OpenBSDプロジェクトによる実装。
脚注
注釈
出典
参考文献
- “cksum: Print CRC checksum and byte counts”. GNU Coreutils. Free Software Foundation. 2019年8月23日閲覧。
- “cksum - write file checksums and sizes”. The Open Group. 2019年8月23日閲覧。
関連項目
外部リンク
cksum
– The Open Group基本仕様書第7号2018年版「シェル及びユーティリティ」cksum(1)
– Solaris11.4マニュアルページ「ユーザーコマンド」章(日本語)