GSP
Quick Navigator

Search Site

Unix VPS
A - Starter
B - Basic
C - Preferred
D - Commercial
MPS - Dedicated
* Sign Up! *

Support
Customer Portal
Contact Us
Online Help
Handbooks
Domain Status
Man Pages

FAQ
Virtual Servers
Pricing
Billing
Technical

Network
Facilities
Connectivity
Topology Map

Miscellaneous
Server Agreement
Year 2038
Credits
 

USA Flag

 

 

Man Pages
BITS(1) User Commands BITS(1)

bits - convert bit masks from/to various formats

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

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

<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.

-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.

-h, --help

Display help text and exit.

-V, --version

Display version and exit.

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.

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

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

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/>.

2025-09-22 util-linux 2.41.2

Search for    or go to Top of page |  Section 1 |  Main Index

Powered by GSP Visit the GSP FreeBSD Man Page Interface.
Output converted with ManDoc.