Skip site navigation (1)Skip section navigation (2)

  
 
  

home | help
BITS(1) 			  User Commands 			 BITS(1)

NAME
     bits - convert bit masks from/to various formats

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

DESCRIPTION
     The  bits utility converts bit masks into various formats. It supports com-
     bining multiple masks together using bitwise operations.

POSITIONAL ARGUMENTS
     <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,10 -> 5-10).

     Optionally, if an argument starts with a comma, it will be parsed as a sin-
     gle     hexadecimal     mask     split	in     32bit	 groups    (e.g.
     ,00014000,00000000,00020000 -> 17,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 com-
	 bined groups so far.

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

CONVERSION MODE
     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 sep-
	 arated 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 com-
	 pressed as ranges.

EXAMPLES
	 ~$ 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
     Robin Jarry.

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

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

util-linux 2.41.2		   2025-09-22				 BITS(1)

Want to link to this manual page? Use this URL:
<https://man.freebsd.org/cgi/man.cgi?query=bits&sektion=1&manpath=FreeBSD+Ports+15.1.quarterly>

home | help