Вы были близки. Если вам нужна вся строка:
iptables -S | grep -- "-P" | grep -E "ACCEPT|DROP|REJECT"
Вывод
-P INPUT ACCEPT
-P OUTPUT DROP
-P FORWARD REJECT
Если вам нужны только совпадающие слова:
iptables -S | grep -- "-P" | grep -oE "ACCEPT|DROP|REJECT"
Вывод
ACCEPT
DROP
REJECT
Похоже, что вы ищете uevent
псевдофайл -в файловой системе /sys
sysfs.
Записывая команды в этот файл (, например "remove"
), ядро будет пересылать их обработчику событий устройства в пользовательском пространстве, которым является udevd.
Таким образом, выполнение эквивалента следующего фрагмента (с использованием оболочки для примера )должно сделать то, что вы хотите, запросив удаление udev устройства /dev/sda1
:
# echo -n "remove" >/sys/class/block/sda1/uevent
Вы можете использовать API-интерфейсы libudev (, например, udev _устройство _get _syspath (3 ), чтобы помочь вам найти правильный путь sysfs для данного устройства..
Вы можете найти некоторую документацию со стороны ядра в разделе kobject .
Вы также найдете некоторые упоминания о "uevents" в документации udev, например, "systemd -udevd прослушивает uevents ядра" из справочной страницы udevd .
Но похоже, нигде нет много документации по uevent
псевдо-файлу sysfs...