BITS(1) Polecenia użytkownika BITS(1)

bits - konwertuje listy lub maski bitowe z/do różnych formatów

bits [-h] [-V] [-w liczba] [tryb] [maska|lista]...

Narzędzie bits dokonuje konwersji pomiędzy maskami bitowymi a listami bitowymi. Obsługuje łączenie wielu masek lub list za pomocą operacji bitowych.

maska

Zbiór bitów określonych jako szesnastkowa wartość maski (np. 0xeec2).

lista

Zbiór bitów określonych jako lista identyfikatorów bitów rozdzielonych przecinkami (np. 1,5,29,32).

Jeśli nie poda się argumentów, odczytuje zbiór bitów ze standardowego wejścia, po jednej grupie na wiersz.

Kolejne identyfikatory można zapisać skrótowo jako zakresy (np. 5,6,7,8,9,105-10).

Opcjonalnie, jeśli argument zaczyna się przecinkiem, zostanie zinterpretowany jako pojedyncza maska szesnastkowa podzielona na 32-bitowe grupy (np. ,00014000,00000000,0002000017,78,80).

Domyślnie, wszystkie grupy są łączone binarnym OR. Jeśli grupa jest poprzedzona jednym z przedrostków &, ^ lub ~, zostanie połączona inną operacją binarną:

&maska|&lista

Grupy są łączone binarną operacją AND. Oznacza to, że wszystkie bity ustawione na 1 w grupie ORAZ w połączonych do tej pory grupach zostaną zachowane jako 1. Wszystkie inne bity są resetowane na 0.

^maska|^lista

Grupy są łączone binarną operacją XOR. Oznacza to, że wszystkie bity ustawione na 1 w grupie ORAZ na 0 w połączonych do tej pory grupach (lub na odwrót) zostaną ustawione na 1. Bity ustawione w obu na 1 oraz w obu na 0 są resetowane na 0.

~maska|~lista

Wszystkie bity ustawione na 1 w grupie zostaną wyczyszczone (zresetowane na 0) w połączonych do tej pory grupach.

-w liczba, --width liczba

Maksymalna liczba bitów w maskach obsługiwanych przez bits. Domyślnie 8192. Bity ponad tę liczbę zostaną obcięte.

-h, --help

Wyświetla ten tekst i wychodzi.

-V, --version

Wyświetla wersję i wychodzi.

Można podać jeden z poniższych trybów konwersji. Jeśli nie określi się żadnego, domyślnie stosowany jest -m, --mask.

-b, --binary

Wypisuje połączone argumenty jako wartość binarnej maski.

-g, --grouped-mask

Wypisuje połączone argumenty jako szesnastkową wartość maski w 32-bitowych grupach rozdzielonych przecinkiem.

-l, --list

Wypisuje połączone argumenty jako listę identyfikatorów bitów. Kolejne identyfikatory są skracane do zakresów.

-m, --mask

Wypisuje połączone argumenty jako szesnastkową wartość maski (domyślnie).

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

Problemy należy zgłaszać w systemie śledzenia błędów https://github.com/util-linux/util-linux/issues.

Polecenie bits jest częścią pakietu util-linux, który można pobrać ze strony Archiwum jądra Linux https://www.kernel.org/pub/linux/utils/util-linux/.

2026-09-02 util-linux 2.42.3