المجموع (يونكس)
أداة sum هي أداة قديمة متوفرة في بعض أنظمة التشغيل يونكس والأنظمة الشبيهة بيونكس . تُخرج هذه الأداة مجموعًا اختباريًا (checksum) مكونًا من 16 بتلكل ملف وسيط ، بالإضافة إلى عدد الكتل التي يشغلها على القرص. [ 1 ] تُستخدم خوارزميتان مختلفتان لحساب المجموع الاختباري. وقد تم التخلي عن معيار POSIXلصالح cksum .sum
ملخص
برنامج الجمع مفيد عمومًا لأغراض تاريخية فقط، وهو ليس جزءًا من معيار POSIX. يتوفر عادةً خوارزميتان: خوارزمية BSD للتحقق من المجموع وخوارزمية SYSV للتحقق من المجموع . وكلاهما أضعف من خوارزمية CRC ذات 32 بت الضعيفة أصلًا المستخدمة في برنامج cksum . [ 2 ]
الخوارزمية الافتراضية في أنظمة FreeBSD و GNU هي خوارزمية التحقق BSD. ويتم التبديل بين الخوارزميتين عبر خيارات سطر الأوامر. [ 2 ] [ 1 ]
الخوارزميتان الأكثر استخداماً هما كما يلي.
مجموع BSD، و-r في GNU sum و-o1 في FreeBSD cksum:
- قم بتهيئة مجموع التحقق إلى 0
- لكل بايت من دفق الإدخال
- قم بإجراء تدوير يمين بت 16 بت بمقدار بت واحد على مجموع التحقق
- أضف البايت إلى مجموع التحقق، ثم طبّق باقي القسمة 2^16 على النتيجة، وبذلك تحافظ على حجمها ضمن 16 بت.
- والنتيجة هي مجموع اختباري مكون من 16 بت
ظهرت الخوارزمية المذكورة أعلاه في الإصدار السابع من يونكس .
مجموع النظام الخامس، -s في GNU sum و -o2 في FreeBSD cksum:
- checksum0 = مجموع جميع بايتات دفق الإدخال modulo 2 ^ 32
- checksum1 = checksum0 modulo 2 ^ 16 + checksum0 / 2 ^ 16
- المجموع الاختباري = المجموع الاختباري 1 modulo 2^16 + المجموع الاختباري 1 / 2^16
- والنتيجة هي مجموع اختباري مكون من 16 بت يتم حسابه من مجموع البايتات الأصلي المكون من 32 بت
بناء الجملة
يتم استدعاء أداة الجمع من سطر الأوامر وفقًا للصيغة التالية:
المجموع [خيار]... [ملف]...
مع إمكانية تحديد معلمات الخيارات التالية:
- -r
- استخدم خوارزمية التحقق من المجموع الاختباري لنظام BSD ، واستخدم 1000 كتلة (يتغلب على -s ).
- -s ، --sysv
- استخدم خوارزمية التحقق من المجموع الاختباري SYSV ، واستخدم كتلًا بحجم 512 بايت.
- --يساعد
- اعرض شاشة المساعدة واخرج
- --إصدار
- عرض معلومات الإصدار والخروج
عندما لا يتم تحديد معلمات الملف، أو عندما يكون FILE هو - ، يتم استخدام الإدخال القياسي كملف إدخال.
مثال على الاستخدام:
$ echo Hello > testfile $ sum testfile 36978 1مثال على استخدام الخيار -s في برنامج GNU sum:
$ echo Hello > testfile $ sum -s testfile 510 1 testfileمثال على استخدام المدخلات القياسية، والمعامل -r، ودالة printf لتجنب سطر جديد:
$ printf Hello | sum -r 08401 1انظر أيضاً
- أدوات جنو الأساسية
- نقل UnxUtils إلى نظام التشغيل Win32 الأصلي
مراجع
روابط خارجية
- لا يحدد المجموع في مواصفات UNIX® الموحدة، الإصدار 2، 1997، opengroup.org خوارزمية التحقق من المجموع
- ج.4 الأدوات المساعدة في المواصفات الأساسية لمجموعة Open Group، الإصدار 7، طبعة 2018، opengroup.org – يشير إلى إزالة المجموع
- – دليل مبرمج يونكس الإصدار 7
- – صفحات الدليل من GNU coreutils
- – دليل الأوامر العامة لنظام FreeBSD – يوضح خوارزميات الجمع في الخيارين -o1 و-o2 لـ cksum
- – دليل مستخدم لينكس – أوامر المستخدم من Manned.org
- – دليل مرجعي لأوامر المستخدم لنظام التشغيل Solaris 11.4
- شجرة يونكس ، tuhs.org - الشفرة المصدرية للإصدارات القديمة من يونكس
- برامج إدارة حزم لينكس
- برامج إدارة حزم يونكس
- برامج أمان لينكس
- برامج متعلقة بأمان أنظمة يونكس
