BITS(1)

الاسم
bits - حوّل أقنعة أو قوائم البتات من/إلى تنسيقات متنوعة

موجز

bits [-h] [-V] [-w الرقم] [النمط] [القناع|القائمة]...

الوصف

تقوم أداة bits بالتحويل بين أقنعة البتات وقوائم البتات. وهي تدعم دمج أقنعة أو قوائم متعددة باستخدام العمليات الثنائية (bitwise).

المعاملات الموضعية

mask
    مجموعة من البتات المحددة كقيمة قناع ست عشري (على سبيل المثال: 0xeec2).

list
    مجموعة من البتات المحددة كقائمة من معرفات البتات مفصولة بفاصلة (على سبيل المثال: 1,5,29,32).

إذا لم يُحدد أي معطى، تُقرأ مجموعات البتات من المدخل القياسي، مجموعة واحدة لكل سطر.

يمكن ضغط المعرفات المتتالية في شكل نطاقات (على سبيل المثال: 5,6,7,8,9,10 → 5-10).

اختيارياً، إذا بدأ المعطى بفاصلة، فسيُحلل كقناع ست عشري واحد مقسم إلى مجموعات 32 بت (على سبيل المثال: ,00014000,00000000,00020000 → 17,78,80).

تُدمج جميع المجموعات مبدئياً باستخدام عملية OR المنطقية. إذا احتوت مجموعة على إحدى البوادئ & أو ^ أو ~، فستُدمج مع القناع الناتج باستخدام عملية ثنائية مختلفة:

&قناع|&قائمة
    ستُدمج المجموعة باستخدام عملية AND الثنائية. أي: أن جميع البتات التي ضُبطت على 1 في المجموعة وفي المجموعات المدمجة حتى الآن سيُحافظ عليها كـ 1. وستُصفر جميع البتات الأخرى إلى 0.

^قناع|^قائمة
    ستُدمج المجموعة باستخدام عملية XOR الثنائية. أي: أن جميع البتات التي ضُبطت على 1 في المجموعة وعلى 0 في المجموعات المدمجة حتى الآن (أو العكس) ستُضبط على 1. أما البتات التي ضُبطت كلاهما على 1 أو كلاهما على 0 فستُصفر إلى 0.

~قناع|~قائمة
    ستُمسح جميع البتات المضبوطة على 1 في المجموعة (تُصفر إلى 0) في المجموعات المدمجة حتى الآن.

الخيارات

-w رقم، --width رقم
    العدد الأقصى للبتات في الأقنعة التي يعالجها bits. المبدئي هو 8192. سيُقتطع أي بت أكبر من هذا العدد.

-h، --help
    اعرض نص المساعدة ثم اخرج.

-V، --version
    اعرض الإصدار واخرج.

وضع التحويل

يمكن تحديد أحد أوضاع التحويل التالية. إذا لم يُحدد، فسيُستخدم الوضع المبدئي -m أو --mask.

-b، --binary
    اطبع المعطيات المدمجة كقيمة قناع ثنائي.

-g، --grouped-mask
    اطبع المعطيات المدمجة كقيمة قناع ست عشري في مجموعات 32 بت مفصولة بفاصلة.

-l، --list
    اطبع المعطيات المدمجة كقائمة من معرفات البتات. تُضغط المعرفات المتتالية إلى نطاقات.

-m، --mask
    اطبع المعطيات المدمجة كقيمة قناع ست عشري (مبدئي).

أمثلة

    ~$ bits --mask 4,5-8 16,30
    0x400101f0

    ~$ bits --list 0xeec2
    1,6,7,9-11,13-15

    ~$ bits --binary 4,5-8 16,30
    0b100_0000_0000_0001_0000_0001_1111_0000

    ~$ bits --list ,00300000,03000000,30000003
    0,1,28,29,56,57,84,85

    ~$ bits --list 1,2,3,4 ~3-10
    1,2

    ~$ bits --list 1,2,3,4 ^3-10
    1,2,5-10

    ~$ bits --grouped-mask 2,22,74,79
    8400,00000000,00400004

    ~$ bits --width 64 --list 2,22,74,79
    2,22

المؤلفين

روبن جاري (Robin Jarry).

التبليغ عن الأخطاء

لتقارير العِلل، استخدم

التوفر

الأمر bits جزء من حزمة util-linux التي يمكن تنزيلها من