bits(1) — Linux manual page

NAME | SYNOPSIS | DESCRIPTION | POSITIONAL ARGUMENTS | OPTIONS | CONVERSION MODE | EXAMPLES | AUTHORS | REPORTING BUGS | AVAILABILITY

BITS(1)                       User Commands                       BITS(1)

NAME         top

       bits - convert bit masks from/to various formats

SYNOPSIS         top

       bits [-h] [-V] [-w <NUM>] [<MODE>] [<MASK_OR_LIST>...]

DESCRIPTION         top

       The bits utility converts bit masks into various formats. It
       supports combining multiple masks together using bitwise
       operations.

POSITIONAL ARGUMENTS         top

       <MASK_OR_LIST>
           A set of bits specified as a hexadecimal mask value (e.g.
           0xeec2) or as a comma-separated list of bit IDs.

       If no argument is specified, the sets of bits will be read from
       standard input; one group per line.

       Consecutive ids can be compressed as ranges (e.g. 5,6,7,8,9,105-10).

       Optionally, if an argument starts with a comma, it will be parsed
       as a single hexadecimal mask split in 32bit groups (e.g.
       ,00014000,00000000,0002000017,78,80).

       By default all groups will be OR’ed together. If a group has one
       of the following prefixes, it will be combined with the resulting
       mask using a different binary operation:

       &<MASK_OR_LIST>
           The group will be combined with a binary AND operation. I.e.
           all bits that are set to 1 in the group AND the combined
           groups so far will be preserved to 1. All other bits will be
           reset to 0.

       ^<MASK_OR_LIST>
           The group will be combined with a binary XOR operation. I.e.
           all bits that are set to 1 in the group AND to 0 the combined
           groups so far (or the other way around) will be set to 1. Bits
           that are both to 1 or both to 0 will be reset to 0.

       ~<MASK_OR_LIST>
           All bits set to 1 in the group will be cleared (reset to 0) in
           the combined groups so far.

OPTIONS         top

       -h, --help
           Display help text and exit.

       -V, --version
           Print version and exit.

       -w <NUM>, --width <NUM>
           Maximum number of bits in the masks handled by bits (default
           8192). Any bit larger than this number will be truncated.

CONVERSION MODE         top

       One of the following conversion modes can be specified. If not
       specified, it defaults to -m, --mask.

       -m, --mask
           Print the combined args as a hexadecimal mask value (default).

       -g, --grouped-mask
           Print the combined args as a hexadecimal mask value in 32bit
           comma separated groups.

       -b, --binary
           Print the combined args as a binary mask value.

       -l, --list
           Print the combined args as a list of bit IDs. Consecutive IDs
           are compressed as ranges.

EXAMPLES         top

           ~$ 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

AUTHORS         top

       Robin Jarry.

REPORTING BUGS         top

       For bug reports, use the issue tracker
       <https://github.com/util-linux/util-linux/issues>.

AVAILABILITY         top

       The bits command is part of the util-linux package which can be
       downloaded from Linux Kernel Archive
       <https://www.kernel.org/pub/linux/utils/util-linux/>. This page is
       part of the util-linux (a random collection of Linux utilities)
       project. Information about the project can be found at 
       ⟨https://www.kernel.org/pub/linux/utils/util-linux/⟩. If you have a
       bug report for this manual page, send it to
       util-linux@vger.kernel.org. This page was obtained from the
       project's upstream Git repository
       ⟨git://git.kernel.org/pub/scm/utils/util-linux/util-linux.git⟩ on
       2025-02-02. (At that time, the date of the most recent commit that
       was found in the repository was 2025-01-30.) If you discover any
       rendering problems in this HTML version of the page, or you
       believe there is a better or more up-to-date source for the page,
       or you have corrections or improvements to the information in this
       COLOPHON (which is not part of the original manual page), send a
       mail to man-pages@man7.org

util-linux 2.41.devel-938-0a... 2025-01-15                        BITS(1)