Ini ialah arahan freebsd-cksum yang boleh dijalankan dalam penyedia pengehosan percuma OnWorks menggunakan salah satu daripada berbilang stesen kerja dalam talian percuma kami seperti Ubuntu Online, Fedora Online, emulator dalam talian Windows atau emulator dalam talian MAC OS.
JADUAL:
NAMA
cksum, jumlah — paparkan jumlah semak fail dan kiraan blok
SINOPSIS
cksum [-o 1 | 2 | 3] [fail ...]
jumlah [fail ...]
DESCRIPTION
. cksum utiliti menulis kepada output standard tiga medan dipisahkan ruang putih untuk setiap satu
fail input. Medan ini ialah checksum CRC, jumlah bilangan oktet dalam fail dan
nama fail. Jika tiada nama fail dinyatakan, input standard digunakan dan tiada nama fail
bertulis.
. jumlah utiliti adalah sama dengan cksum utiliti, kecuali ia lalai menggunakan historic
algoritma 1, seperti yang diterangkan di bawah. Ia disediakan untuk keserasian sahaja.
Pilihannya adalah seperti berikut:
-o Gunakan algoritma bersejarah dan bukannya algoritma lalai (unggul).
Algoritma 1 ialah algoritma yang digunakan oleh sistem BSD bersejarah sebagai jumlah(1) algoritma
dan oleh sistem AT&T System V UNIX yang bersejarah sebagai jumlah(1) algoritma apabila menggunakan -r
pilihan. Ini ialah jumlah semak 16-bit, dengan putaran yang betul sebelum setiap penambahan;
limpahan dibuang.
Algoritma 2 ialah algoritma yang digunakan oleh sistem AT&T System V UNIX yang bersejarah sebagai
lalai jumlah(1) algoritma. Ini ialah jumlah semak 32-bit, dan ditakrifkan seperti berikut:
s = jumlah semua bait;
r = s % 2^16 + (s % 2^32) / 2^16;
cksum = (r % 2^16) + r / 2^16;
Algoritma 3 adalah apa yang biasa dipanggil algoritma '32bit CRC'. Ini adalah 32-bit
checksum.
Kedua-dua algoritma 1 dan 2 menulis kepada output standard medan yang sama seperti lalai
algoritma kecuali saiz fail dalam bait digantikan dengan saiz
fail dalam blok. Atas sebab bersejarah, saiz blok ialah 1024 untuk algoritma 1 dan
512 untuk algoritma 2. Blok separa dibundarkan ke atas.
CRC lalai yang digunakan adalah berdasarkan polinomial yang digunakan untuk semakan ralat CRC dalam
standard rangkaian ISO/IEC 8802-3:1989. Pengekodan checksum CRC ditakrifkan oleh
menghasilkan polinomial:
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
Secara matematik, nilai CRC yang sepadan dengan fail tertentu ditakrifkan oleh yang berikut
prosedur:
. n bit yang akan dinilai dianggap sebagai pekali bagi polinomial mod 2
M(x) darjah n-1. Ini n bit ialah bit daripada fail, dengan paling banyak
bit signifikan ialah bit paling ketara bagi oktet pertama fail dan
bit terakhir ialah bit paling tidak ketara bagi oktet terakhir, berlapik dengan bit sifar (jika
perlu) untuk mencapai bilangan integral oktet, diikuti oleh satu atau lebih oktet
mewakili panjang fail sebagai nilai binari, oktet paling tidak ketara dahulu.
Bilangan oktet terkecil yang mampu mewakili integer ini digunakan.
M(x) didarab dengan x^32 (iaitu, dianjak ke kiri 32 bit) dan dibahagikan dengan G(x) menggunakan mod
2 bahagian, menghasilkan baki R(x) darjah <= 31.
Pekali R(x) dianggap sebagai urutan 32-bit.
Urutan bit dilengkapkan dan hasilnya ialah CRC.
EXIT STATUS
. cksum and jumlah utiliti keluar 0 apabila berjaya, dan > 0 jika ralat berlaku.
Gunakan freebsd-cksum dalam talian menggunakan perkhidmatan onworks.net