<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="sv">
	<id>https://wiki.linux.se/index.php?action=history&amp;feed=atom&amp;title=cksum%281p%29</id>
	<title>cksum(1p) - Versionshistorik</title>
	<link rel="self" type="application/atom+xml" href="https://wiki.linux.se/index.php?action=history&amp;feed=atom&amp;title=cksum%281p%29"/>
	<link rel="alternate" type="text/html" href="https://wiki.linux.se/index.php?title=cksum(1p)&amp;action=history"/>
	<updated>2026-05-06T19:54:04Z</updated>
	<subtitle>Versionshistorik för denna sida på wikin</subtitle>
	<generator>MediaWiki 1.38.4</generator>
	<entry>
		<id>https://wiki.linux.se/index.php?title=cksum(1p)&amp;diff=9262&amp;oldid=prev</id>
		<title>Admin: /* Sidor som hänvisar till denna sida */</title>
		<link rel="alternate" type="text/html" href="https://wiki.linux.se/index.php?title=cksum(1p)&amp;diff=9262&amp;oldid=prev"/>
		<updated>2026-05-06T09:26:13Z</updated>

		<summary type="html">&lt;p&gt;&lt;span dir=&quot;auto&quot;&gt;&lt;span class=&quot;autocomment&quot;&gt;Sidor som hänvisar till denna sida&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;table style=&quot;background-color: #fff; color: #202122;&quot; data-mw=&quot;interface&quot;&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;sv&quot;&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;← Äldre version&lt;/td&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;Versionen från 6 maj 2026 kl. 09.26&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l298&quot;&gt;Rad 298:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Rad 298:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br/&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br/&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* &amp;#039;&amp;#039;&amp;#039;[[wc(1p)]]&amp;#039;&amp;#039;&amp;#039;&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* &amp;#039;&amp;#039;&amp;#039;[[wc(1p)]]&amp;#039;&amp;#039;&amp;#039;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;= Sidslut =&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;Orginalhemsidan på Engelska https://man7.org/linux/man-pages/man1/cksum.1p.html&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;Det här är en maskinöversättning av Linux man sidor till svenska. Om du hittar fel är vi tacksamma om du rapporterar dem via formuläret som finns på &lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;https://www.linux.se/kontaka-linux-se/&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;&amp;lt;BR&gt;&amp;lt;BR&gt;Tack till [https://datorhjalp.se/web Datorhjälp] som har  sponsrat [https://www.linux.se Linux.se] med webbhotell.&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;[[Kategori:Linuxmanual grupp 1]]&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;[[Kategori:Linuxmanual]]&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</summary>
		<author><name>Admin</name></author>
	</entry>
	<entry>
		<id>https://wiki.linux.se/index.php?title=cksum(1p)&amp;diff=9261&amp;oldid=prev</id>
		<title>Admin: /* cksum(1p) – Linux manualsida */</title>
		<link rel="alternate" type="text/html" href="https://wiki.linux.se/index.php?title=cksum(1p)&amp;diff=9261&amp;oldid=prev"/>
		<updated>2026-05-06T09:25:34Z</updated>

		<summary type="html">&lt;p&gt;&lt;span dir=&quot;auto&quot;&gt;&lt;span class=&quot;autocomment&quot;&gt;cksum(1p) – Linux manualsida&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;table style=&quot;background-color: #fff; color: #202122;&quot; data-mw=&quot;interface&quot;&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;sv&quot;&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;← Äldre version&lt;/td&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;Versionen från 6 maj 2026 kl. 09.25&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l1&quot;&gt;Rad 1:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Rad 1:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;= cksum(1p) – Linux manualsida =&lt;/del&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-added&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;&lt;/del&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-added&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;== Prolog ==&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;== Prolog ==&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br/&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br/&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</summary>
		<author><name>Admin</name></author>
	</entry>
	<entry>
		<id>https://wiki.linux.se/index.php?title=cksum(1p)&amp;diff=9260&amp;oldid=prev</id>
		<title>Admin: Skapade sidan med &#039;= cksum(1p) – Linux manualsida =  == Prolog ==  Den här manualsidan är en del av &#039;&#039;&#039;POSIX Programmer&#039;s Manual&#039;&#039;&#039;.  Linux-implementationen av detta gränssnitt kan skilja sig åt. Se motsvarande Linux-manualsida för detaljer om Linux-beteende. Gränssnittet kanske inte heller är implementerat på Linux.  == Namn ==  &#039;&#039;&#039;cksum&#039;&#039;&#039; – skriv filers kontrollsummor och storlekar.  == Synopsis ==  &lt;pre&gt; cksum [fil...] &lt;/pre&gt;  == Beskrivning ==  Verktyget &#039;&#039;&#039;cksum&#039;&#039;&#039; ska be...&#039;</title>
		<link rel="alternate" type="text/html" href="https://wiki.linux.se/index.php?title=cksum(1p)&amp;diff=9260&amp;oldid=prev"/>
		<updated>2026-05-06T09:25:15Z</updated>

		<summary type="html">&lt;p&gt;Skapade sidan med &amp;#039;= cksum(1p) – Linux manualsida =  == Prolog ==  Den här manualsidan är en del av &amp;#039;&amp;#039;&amp;#039;POSIX Programmer&amp;#039;s Manual&amp;#039;&amp;#039;&amp;#039;.  Linux-implementationen av detta gränssnitt kan skilja sig åt. Se motsvarande Linux-manualsida för detaljer om Linux-beteende. Gränssnittet kanske inte heller är implementerat på Linux.  == Namn ==  &amp;#039;&amp;#039;&amp;#039;cksum&amp;#039;&amp;#039;&amp;#039; – skriv filers kontrollsummor och storlekar.  == Synopsis ==  &amp;lt;pre&amp;gt; cksum [fil...] &amp;lt;/pre&amp;gt;  == Beskrivning ==  Verktyget &amp;#039;&amp;#039;&amp;#039;cksum&amp;#039;&amp;#039;&amp;#039; ska be...&amp;#039;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Ny sida&lt;/b&gt;&lt;/p&gt;&lt;div&gt;= cksum(1p) – Linux manualsida =&lt;br /&gt;
&lt;br /&gt;
== Prolog ==&lt;br /&gt;
&lt;br /&gt;
Den här manualsidan är en del av &amp;#039;&amp;#039;&amp;#039;POSIX Programmer&amp;#039;s Manual&amp;#039;&amp;#039;&amp;#039;.&lt;br /&gt;
&lt;br /&gt;
Linux-implementationen av detta gränssnitt kan skilja sig åt. Se motsvarande Linux-manualsida för detaljer om Linux-beteende. Gränssnittet kanske inte heller är implementerat på Linux.&lt;br /&gt;
&lt;br /&gt;
== Namn ==&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;cksum&amp;#039;&amp;#039;&amp;#039; – skriv filers kontrollsummor och storlekar.&lt;br /&gt;
&lt;br /&gt;
== Synopsis ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
cksum [fil...]&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Beskrivning ==&lt;br /&gt;
&lt;br /&gt;
Verktyget &amp;#039;&amp;#039;&amp;#039;cksum&amp;#039;&amp;#039;&amp;#039; ska beräkna och skriva en cyklisk redundanskontroll, CRC, för varje indatafil till standardutmatning. Det ska också skriva antalet oktetter i varje fil till standardutmatning.&lt;br /&gt;
&lt;br /&gt;
CRC:n som används baseras på polynomet som används för CRC-felkontroll i standarden ISO/IEC 8802-3:1996, Ethernet.&lt;br /&gt;
&lt;br /&gt;
Kodningen för CRC-kontrollsumman definieras av det genererande polynomet:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
G(x)=x^32+x^26+x^23+x^22+x^16+x^12+x^11+x^10+x^8+x^7+x^5+x^4+x^2+x+1&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Matematiskt ska CRC-värdet som motsvarar en given fil definieras med följande procedur:&lt;br /&gt;
&lt;br /&gt;
# De &amp;#039;&amp;#039;n&amp;#039;&amp;#039; bitar som ska utvärderas betraktas som koefficienterna i ett modulo 2-polynom &amp;#039;&amp;#039;M(x)&amp;#039;&amp;#039; av graden &amp;#039;&amp;#039;n&amp;#039;&amp;#039;−1.&lt;br /&gt;
# Dessa &amp;#039;&amp;#039;n&amp;#039;&amp;#039; bitar är bitarna från filen, där den mest signifikanta biten är den mest signifikanta biten i filens första oktett och den sista biten är den minst signifikanta biten i filens sista oktett. De fylls ut med nollbitar om det behövs för att uppnå ett helt antal oktetter. Därefter följer en eller flera oktetter som representerar filens längd som ett binärt värde, med minst signifikanta oktetten först. Det minsta antal oktetter som kan representera detta heltal ska användas.&lt;br /&gt;
# &amp;#039;&amp;#039;M(x)&amp;#039;&amp;#039; multipliceras med &amp;#039;&amp;#039;x^32&amp;#039;&amp;#039;, det vill säga skiftas 32 bitar åt vänster, och divideras med &amp;#039;&amp;#039;G(x)&amp;#039;&amp;#039; med modulo 2-division, vilket producerar en rest &amp;#039;&amp;#039;R(x)&amp;#039;&amp;#039; av grad ≤ 31.&lt;br /&gt;
# Koefficienterna i &amp;#039;&amp;#039;R(x)&amp;#039;&amp;#039; betraktas som en 32-bitarssekvens.&lt;br /&gt;
# Bitsekvensen inverteras, och resultatet är CRC:n.&lt;br /&gt;
&lt;br /&gt;
== Flaggor ==&lt;br /&gt;
&lt;br /&gt;
Inga.&lt;br /&gt;
&lt;br /&gt;
== Operander ==&lt;br /&gt;
&lt;br /&gt;
Följande operand ska stödjas:&lt;br /&gt;
&lt;br /&gt;
; &amp;#039;&amp;#039;fil&amp;#039;&amp;#039;&lt;br /&gt;
: En sökväg till en fil som ska kontrolleras.&lt;br /&gt;
:&lt;br /&gt;
: Om inga &amp;#039;&amp;#039;fil&amp;#039;&amp;#039;-operander anges ska standardinmatning användas.&lt;br /&gt;
&lt;br /&gt;
== Standardinmatning ==&lt;br /&gt;
&lt;br /&gt;
Standardinmatning ska användas om inga &amp;#039;&amp;#039;fil&amp;#039;&amp;#039;-operander anges.&lt;br /&gt;
&lt;br /&gt;
Standardinmatning ska också användas om en &amp;#039;&amp;#039;fil&amp;#039;&amp;#039;-operand är &amp;#039;&amp;#039;&amp;#039;-&amp;#039;&amp;#039;&amp;#039; och implementationen behandlar &amp;#039;&amp;#039;&amp;#039;-&amp;#039;&amp;#039;&amp;#039; som standardinmatning.&lt;br /&gt;
&lt;br /&gt;
I övriga fall ska standardinmatning inte användas. Se avsnittet [[#Indatafiler|Indatafiler]].&lt;br /&gt;
&lt;br /&gt;
== Indatafiler ==&lt;br /&gt;
&lt;br /&gt;
Indatafilerna kan vara av vilken filtyp som helst.&lt;br /&gt;
&lt;br /&gt;
== Miljövariabler ==&lt;br /&gt;
&lt;br /&gt;
Följande miljövariabler ska påverka körningen av &amp;#039;&amp;#039;&amp;#039;cksum&amp;#039;&amp;#039;&amp;#039;:&lt;br /&gt;
&lt;br /&gt;
; &amp;#039;&amp;#039;&amp;#039;LANG&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
: Anger ett standardvärde för internationaliseringsvariabler som är osatta eller tomma.&lt;br /&gt;
:&lt;br /&gt;
: Se POSIX.1-2017, Base Definitions, avsnitt 8.2, &amp;#039;&amp;#039;Internationalization Variables&amp;#039;&amp;#039;, för företrädesordningen för internationaliseringsvariabler som används för att bestämma värden för lokalkategorier.&lt;br /&gt;
&lt;br /&gt;
; &amp;#039;&amp;#039;&amp;#039;LC_ALL&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
: Om den är satt till en icke-tom sträng åsidosätter den värdena för alla andra internationaliseringsvariabler.&lt;br /&gt;
&lt;br /&gt;
; &amp;#039;&amp;#039;&amp;#039;LC_CTYPE&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
: Bestämmer lokalinställningen för tolkning av byteföljder i textdata som tecken, till exempel enkelbyte- jämfört med multibytetecken i argument.&lt;br /&gt;
&lt;br /&gt;
; &amp;#039;&amp;#039;&amp;#039;LC_MESSAGES&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
: Bestämmer lokalinställningen som ska användas för att påverka formatet och innehållet i diagnostiska meddelanden som skrivs till standardfel.&lt;br /&gt;
&lt;br /&gt;
; &amp;#039;&amp;#039;&amp;#039;NLSPATH&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
: Bestämmer platsen för meddelandekataloger vid bearbetning av &amp;#039;&amp;#039;&amp;#039;LC_MESSAGES&amp;#039;&amp;#039;&amp;#039;.&lt;br /&gt;
&lt;br /&gt;
== Asynkrona händelser ==&lt;br /&gt;
&lt;br /&gt;
Standardbeteende.&lt;br /&gt;
&lt;br /&gt;
== Standardutmatning ==&lt;br /&gt;
&lt;br /&gt;
För varje fil som behandlas korrekt ska &amp;#039;&amp;#039;&amp;#039;cksum&amp;#039;&amp;#039;&amp;#039; skriva i följande format:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;quot;%u %d %s\n&amp;quot;, &amp;lt;kontrollsumma&amp;gt;, &amp;lt;antal oktetter&amp;gt;, &amp;lt;sökväg&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Om ingen &amp;#039;&amp;#039;fil&amp;#039;&amp;#039;-operand angavs ska sökvägen och dess föregående mellanslag utelämnas.&lt;br /&gt;
&lt;br /&gt;
== Standardfel ==&lt;br /&gt;
&lt;br /&gt;
Standardfel ska endast användas för diagnostiska meddelanden.&lt;br /&gt;
&lt;br /&gt;
== Utdatafiler ==&lt;br /&gt;
&lt;br /&gt;
Inga.&lt;br /&gt;
&lt;br /&gt;
== Utökad beskrivning ==&lt;br /&gt;
&lt;br /&gt;
Ingen.&lt;br /&gt;
&lt;br /&gt;
== Avslutningsstatus ==&lt;br /&gt;
&lt;br /&gt;
Följande avslutningsvärden ska returneras:&lt;br /&gt;
&lt;br /&gt;
; &amp;#039;&amp;#039;&amp;#039;0&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
: Alla filer behandlades utan fel.&lt;br /&gt;
&lt;br /&gt;
; &amp;#039;&amp;#039;&amp;#039;&amp;gt;0&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
: Ett fel inträffade.&lt;br /&gt;
&lt;br /&gt;
== Följder av fel ==&lt;br /&gt;
&lt;br /&gt;
Standardbeteende.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;Följande avsnitt är informativa.&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
== Programanvändning ==&lt;br /&gt;
&lt;br /&gt;
Verktyget &amp;#039;&amp;#039;&amp;#039;cksum&amp;#039;&amp;#039;&amp;#039; används vanligtvis för att snabbt jämföra en misstänkt fil med en betrodd version av samma fil, till exempel för att säkerställa att filer som skickats över störda medier har kommit fram intakta.&lt;br /&gt;
&lt;br /&gt;
Denna jämförelse kan dock inte betraktas som kryptografiskt säker. Sannolikheten att en skadad fil producerar samma CRC som originalet är liten. Avsiktligt bedrägeri är svårt, men troligen inte omöjligt.&lt;br /&gt;
&lt;br /&gt;
Även om indatafiler till &amp;#039;&amp;#039;&amp;#039;cksum&amp;#039;&amp;#039;&amp;#039; kan vara av vilken typ som helst, behöver resultaten inte vara de som förväntas för teckenspecialfiler eller för filtyper som inte beskrivs av POSIX.1-2017, System Interfaces.&lt;br /&gt;
&lt;br /&gt;
Eftersom denna volym av POSIX.1-2017 inte anger blockstorleken som används vid inmatning behöver kontrollsummor för teckenspecialfiler inte behandla alla data i dessa filer.&lt;br /&gt;
&lt;br /&gt;
Algoritmen uttrycks i termer av en bitström uppdelad i oktetter. Om en fil överförs mellan två system och genomgår någon datatransformation, till exempel ändring från little-endian-byteordning till big-endian, kan identiska CRC-värden inte förväntas. Implementationer som utför sådana transformationer kan utöka &amp;#039;&amp;#039;&amp;#039;cksum&amp;#039;&amp;#039;&amp;#039; för att hantera sådana situationer.&lt;br /&gt;
&lt;br /&gt;
== Exempel ==&lt;br /&gt;
&lt;br /&gt;
Inga.&lt;br /&gt;
&lt;br /&gt;
== Bakgrund ==&lt;br /&gt;
&lt;br /&gt;
Följande C-program kan användas som modell för att beskriva algoritmen.&lt;br /&gt;
&lt;br /&gt;
Det antar att en &amp;#039;&amp;#039;&amp;#039;char&amp;#039;&amp;#039;&amp;#039; är en oktett. Det antar också att hela filen är tillgänglig för en enda genomgång av funktionen. Detta gjordes för enkelhetens skull vid demonstration av algoritmen, inte som en implementeringsmodell.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
static unsigned long crctab[] = {&lt;br /&gt;
0x00000000,&lt;br /&gt;
0x04c11db7, 0x09823b6e, 0x0d4326d9, 0x130476dc, 0x17c56b6b,&lt;br /&gt;
0x1a864db2, 0x1e475005, 0x2608edb8, 0x22c9f00f, 0x2f8ad6d6,&lt;br /&gt;
0x2b4bcb61, 0x350c9b64, 0x31cd86d3, 0x3c8ea00a, 0x384fbdbd,&lt;br /&gt;
0x4c11db70, 0x48d0c6c7, 0x4593e01e, 0x4152fda9, 0x5f15adac,&lt;br /&gt;
0x5bd4b01b, 0x569796c2, 0x52568b75, 0x6a1936c8, 0x6ed82b7f,&lt;br /&gt;
0x639b0da6, 0x675a1011, 0x791d4014, 0x7ddc5da3, 0x709f7b7a,&lt;br /&gt;
0x745e66cd, 0x9823b6e0, 0x9ce2ab57, 0x91a18d8e, 0x95609039,&lt;br /&gt;
0x8b27c03c, 0x8fe6dd8b, 0x82a5fb52, 0x8664e6e5, 0xbe2b5b58,&lt;br /&gt;
0xbaea46ef, 0xb7a96036, 0xb3687d81, 0xad2f2d84, 0xa9ee3033,&lt;br /&gt;
0xa4ad16ea, 0xa06c0b5d, 0xd4326d90, 0xd0f37027, 0xddb056fe,&lt;br /&gt;
0xd9714b49, 0xc7361b4c, 0xc3f706fb, 0xceb42022, 0xca753d95,&lt;br /&gt;
0xf23a8028, 0xf6fb9d9f, 0xfbb8bb46, 0xff79a6f1, 0xe13ef6f4,&lt;br /&gt;
0xe5ffeb43, 0xe8bccd9a, 0xec7dd02d, 0x34867077, 0x30476dc0,&lt;br /&gt;
0x3d044b19, 0x39c556ae, 0x278206ab, 0x23431b1c, 0x2e003dc5,&lt;br /&gt;
0x2ac12072, 0x128e9dcf, 0x164f8078, 0x1b0ca6a1, 0x1fcdbb16,&lt;br /&gt;
0x018aeb13, 0x054bf6a4, 0x0808d07d, 0x0cc9cdca, 0x7897ab07,&lt;br /&gt;
0x7c56b6b0, 0x71159069, 0x75d48dde, 0x6b93dddb, 0x6f52c06c,&lt;br /&gt;
0x6211e6b5, 0x66d0fb02, 0x5e9f46bf, 0x5a5e5b08, 0x571d7dd1,&lt;br /&gt;
0x53dc6066, 0x4d9b3063, 0x495a2dd4, 0x44190b0d, 0x40d816ba,&lt;br /&gt;
0xaca5c697, 0xa864db20, 0xa527fdf9, 0xa1e6e04e, 0xbfa1b04b,&lt;br /&gt;
0xbb60adfc, 0xb6238b25, 0xb2e29692, 0x8aad2b2f, 0x8e6c3698,&lt;br /&gt;
0x832f1041, 0x87ee0df6, 0x99a95df3, 0x9d684044, 0x902b669d,&lt;br /&gt;
0x94ea7b2a, 0xe0b41de7, 0xe4750050, 0xe9362689, 0xedf73b3e,&lt;br /&gt;
0xf3b06b3b, 0xf771768c, 0xfa325055, 0xfef34de2, 0xc6bcf05f,&lt;br /&gt;
0xc27dede8, 0xcf3ecb31, 0xcbffd686, 0xd5b88683, 0xd1799b34,&lt;br /&gt;
0xdc3abded, 0xd8fba05a, 0x690ce0ee, 0x6dcdfd59, 0x608edb80,&lt;br /&gt;
0x644fc637, 0x7a089632, 0x7ec98b85, 0x738aad5c, 0x774bb0eb,&lt;br /&gt;
0x4f040d56, 0x4bc510e1, 0x46863638, 0x42472b8f, 0x5c007b8a,&lt;br /&gt;
0x58c1663d, 0x558240e4, 0x51435d53, 0x251d3b9e, 0x21dc2629,&lt;br /&gt;
0x2c9f00f0, 0x285e1d47, 0x36194d42, 0x32d850f5, 0x3f9b762c,&lt;br /&gt;
0x3b5a6b9b, 0x0315d626, 0x07d4cb91, 0x0a97ed48, 0x0e56f0ff,&lt;br /&gt;
0x1011a0fa, 0x14d0bd4d, 0x19939b94, 0x1d528623, 0xf12f560e,&lt;br /&gt;
0xf5ee4bb9, 0xf8ad6d60, 0xfc6c70d7, 0xe22b20d2, 0xe6ea3d65,&lt;br /&gt;
0xeba91bbc, 0xef68060b, 0xd727bbb6, 0xd3e6a601, 0xdea580d8,&lt;br /&gt;
0xda649d6f, 0xc423cd6a, 0xc0e2d0dd, 0xcda1f604, 0xc960ebb3,&lt;br /&gt;
0xbd3e8d7e, 0xb9ff90c9, 0xb4bcb610, 0xb07daba7, 0xae3afba2,&lt;br /&gt;
0xaafbe615, 0xa7b8c0cc, 0xa379dd7b, 0x9b3660c6, 0x9ff77d71,&lt;br /&gt;
0x92b45ba8, 0x9675461f, 0x8832161a, 0x8cf30bad, 0x81b02d74,&lt;br /&gt;
0x857130c3, 0x5d8a9099, 0x594b8d2e, 0x5408abf7, 0x50c9b640,&lt;br /&gt;
0x4e8ee645, 0x4a4ffbf2, 0x470cdd2b, 0x43cdc09c, 0x7b827d21,&lt;br /&gt;
0x7f436096, 0x7200464f, 0x76c15bf8, 0x68860bfd, 0x6c47164a,&lt;br /&gt;
0x61043093, 0x65c52d24, 0x119b4be9, 0x155a565e, 0x18197087,&lt;br /&gt;
0x1cd86d30, 0x029f3d35, 0x065e2082, 0x0b1d065b, 0x0fdc1bec,&lt;br /&gt;
0x3793a651, 0x3352bbe6, 0x3e119d3f, 0x3ad08088, 0x2497d08d,&lt;br /&gt;
0x2056cd3a, 0x2d15ebe3, 0x29d4f654, 0xc5a92679, 0xc1683bce,&lt;br /&gt;
0xcc2b1d17, 0xc8ea00a0, 0xd6ad50a5, 0xd26c4d12, 0xdf2f6bcb,&lt;br /&gt;
0xdbee767c, 0xe3a1cbc1, 0xe760d676, 0xea23f0af, 0xeee2ed18,&lt;br /&gt;
0xf0a5bd1d, 0xf464a0aa, 0xf9278673, 0xfde69bc4, 0x89b8fd09,&lt;br /&gt;
0x8d79e0be, 0x803ac667, 0x84fbdbd0, 0x9abc8bd5, 0x9e7d9662,&lt;br /&gt;
0x933eb0bb, 0x97ffad0c, 0xafb010b1, 0xab710d06, 0xa6322bdf,&lt;br /&gt;
0xa2f33668, 0xbcb4666d, 0xb8757bda, 0xb5365d03, 0xb1f740b4&lt;br /&gt;
};&lt;br /&gt;
&lt;br /&gt;
unsigned long memcrc(const unsigned char *b, size_t n)&lt;br /&gt;
{&lt;br /&gt;
/*  Input arguments:&lt;br /&gt;
 *  const unsigned char*   b == byte sequence to checksum&lt;br /&gt;
 *  size_t                 n == length of sequence&lt;br /&gt;
 */&lt;br /&gt;
&lt;br /&gt;
    register size_t i;&lt;br /&gt;
    register unsigned c, s = 0;&lt;br /&gt;
&lt;br /&gt;
    for (i = n; i &amp;gt; 0; --i) {&lt;br /&gt;
        c = *b++;&lt;br /&gt;
        s = (s &amp;lt;&amp;lt; 8) ^ crctab[(s &amp;gt;&amp;gt; 24) ^ c];&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
    /* Extend with the length of the string. */&lt;br /&gt;
    while (n != 0) {&lt;br /&gt;
        c = n &amp;amp; 0377;&lt;br /&gt;
        n &amp;gt;&amp;gt;= 8;&lt;br /&gt;
        s = (s &amp;lt;&amp;lt; 8) ^ crctab[(s &amp;gt;&amp;gt; 24) ^ c];&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
    return ~s;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Den historiska praxisen att skriva antalet ”block” har ändrats till att skriva antalet oktetter. Detta är inte bara mer användbart, utan historiska implementationer har inte heller varit konsekventa med vad ett ”block” betyder.&lt;br /&gt;
&lt;br /&gt;
Algoritmen som används valdes för att öka den operativa robustheten hos &amp;#039;&amp;#039;&amp;#039;cksum&amp;#039;&amp;#039;&amp;#039;.&lt;br /&gt;
&lt;br /&gt;
Varken System V- eller BSD-algoritmen för &amp;#039;&amp;#039;&amp;#039;sum&amp;#039;&amp;#039;&amp;#039; valdes. Eftersom dessa var olika och var standardbeteende på respektive system fanns ingen realistisk kompromiss om någon av dem valdes: vissa historiska program skulle sluta fungera. Därför ändrades namnet till &amp;#039;&amp;#039;&amp;#039;cksum&amp;#039;&amp;#039;&amp;#039;.&lt;br /&gt;
&lt;br /&gt;
Även om de historiska &amp;#039;&amp;#039;&amp;#039;sum&amp;#039;&amp;#039;&amp;#039;-kommandona sannolikt fortsätter att tillhandahållas under många år, bör program som är avsedda att vara portabla mellan system använda det nya namnet.&lt;br /&gt;
&lt;br /&gt;
Den valda algoritmen baseras på den som används av standarden ISO/IEC 8802-3:1996, Ethernet, för fältet frame check sequence.&lt;br /&gt;
&lt;br /&gt;
Algoritmen som används motsvarar inte den tekniska definitionen av en &amp;#039;&amp;#039;checksumma&amp;#039;&amp;#039;. Termen används av historiska skäl.&lt;br /&gt;
&lt;br /&gt;
Filens längd ingår i CRC-beräkningen eftersom detta motsvarar att Ethernet inkluderar ett längdfält i sin CRC, men också eftersom det skyddar mot oavsiktliga kollisioner mellan filer som börjar med olika serier av nolloktetter.&lt;br /&gt;
&lt;br /&gt;
Sannolikheten att två olika filer producerar identiska CRC-värden är mycket större när deras längder inte beaktas. Att hålla filens längd och själva filens kontrollsumma separata skulle ge en något mer robust algoritm, men historisk användning har alltid varit att ett enda nummer, kontrollsumman som skrivs ut, representerar filens signatur. Det beslutades att historisk användning var viktigare.&lt;br /&gt;
&lt;br /&gt;
Tidiga förslag innehöll ändringar av Ethernet-algoritmen som innebar att tabellvärden hämtades när ett mellanresultat blev noll. Detta visades vara mindre robust än den nuvarande metoden och matematiskt svårt att beskriva eller motivera.&lt;br /&gt;
&lt;br /&gt;
Beräkningen som används är identisk med den som anges i pseudokod i den refererade artikeln av Sarwate.&lt;br /&gt;
&lt;br /&gt;
Pseudokoden är:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
X &amp;lt;- 0; Y &amp;lt;- 0;&lt;br /&gt;
for i &amp;lt;- m -1 step -1 until 0 do&lt;br /&gt;
    begin&lt;br /&gt;
    T &amp;lt;- X(1) ^ A[i];&lt;br /&gt;
    X(1) &amp;lt;- X(0); X(0) &amp;lt;- Y(1); Y(1) &amp;lt;- Y(0); Y(0) &amp;lt;- 0;&lt;br /&gt;
    comment: f[T] and f&amp;#039;[T] denote the T-th words in the&lt;br /&gt;
        table f and f&amp;#039; ;&lt;br /&gt;
    X &amp;lt;- X ^ f[T]; Y &amp;lt;- Y ^ f&amp;#039;[T];&lt;br /&gt;
    end&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Pseudokoden återges exakt som den anges. Observera dock att i fallet &amp;#039;&amp;#039;&amp;#039;cksum&amp;#039;&amp;#039;&amp;#039; representerar &amp;#039;&amp;#039;&amp;#039;A[i]&amp;#039;&amp;#039;&amp;#039; en byte i filen, orden &amp;#039;&amp;#039;&amp;#039;X&amp;#039;&amp;#039;&amp;#039; och &amp;#039;&amp;#039;&amp;#039;Y&amp;#039;&amp;#039;&amp;#039; behandlas som ett enda 32-bitarsvärde, och tabellerna &amp;#039;&amp;#039;&amp;#039;f&amp;#039;&amp;#039;&amp;#039; och &amp;#039;&amp;#039;&amp;#039;f&amp;#039;&amp;#039;&amp;#039;&amp;#039; är en enda tabell som innehåller 32-bitarsvärden.&lt;br /&gt;
&lt;br /&gt;
Den refererade artikeln av Sarwate diskuterar även hur tabellen genereras.&lt;br /&gt;
&lt;br /&gt;
== Framtida riktning ==&lt;br /&gt;
&lt;br /&gt;
Ingen.&lt;br /&gt;
&lt;br /&gt;
== Se även ==&lt;br /&gt;
&lt;br /&gt;
* POSIX.1-2017, Base Definitions, kapitel 8, &amp;#039;&amp;#039;Environment Variables&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
== Upphovsrätt ==&lt;br /&gt;
&lt;br /&gt;
Delar av denna text är återgivna och reproducerade i elektronisk form från:&lt;br /&gt;
&lt;br /&gt;
* IEEE Std 1003.1-2017, &amp;#039;&amp;#039;Standard for Information Technology -- Portable Operating System Interface (POSIX)&amp;#039;&amp;#039;&lt;br /&gt;
* The Open Group Base Specifications Issue 7, 2018 Edition&lt;br /&gt;
&lt;br /&gt;
Copyright © 2018 Institute of Electrical and Electronics Engineers, Inc. och The Open Group.&lt;br /&gt;
&lt;br /&gt;
Vid avvikelse mellan denna version och den ursprungliga IEEE- och The Open Group-standarden gäller den ursprungliga standarden som referensdokument.&lt;br /&gt;
&lt;br /&gt;
Den ursprungliga standarden kan hämtas online från:&lt;br /&gt;
&lt;br /&gt;
* http://www.opengroup.org/unix/online.html&lt;br /&gt;
&lt;br /&gt;
Eventuella typografiska fel eller formateringsfel på denna sida har troligen införts vid konverteringen av källfilerna till man-sideformat.&lt;br /&gt;
&lt;br /&gt;
För att rapportera sådana fel, se:&lt;br /&gt;
&lt;br /&gt;
* https://www.kernel.org/doc/man-pages/reporting_bugs.html&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Sidor som hänvisar till denna sida ==&lt;br /&gt;
&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;[[wc(1p)]]&amp;#039;&amp;#039;&amp;#039;&lt;/div&gt;</summary>
		<author><name>Admin</name></author>
	</entry>
</feed>