Как удалить последние символы из строки?

Как показывают другие ответы, вы можете проанализировать / proc / mounts с помощью grep или awk , например, вы можете перечислить монтирования только для чтения:

$ grep "\sro[\s,]" /proc/mounts

или

$ awk '$4~/(^|,)ro($|,)/' /proc/mounts

Альтернативой синтаксическому анализу содержимого / proc / mounts , которое вы можете попробовать, является

$  grep '^ro$' /proc/fs/*/<device>/options

, где <устройство> - имя узла устройства файловой системы в / dev .Например,

$ grep '^ro$' /proc/fs/*/sdc1/options

вернет ro , если / dev / sdc1 смонтирован только для чтения.

Если вы хотите проверить наличие блочного устройства только для чтения (вместо смонтированной файловой системы), вы можете использовать

$ cat /sys/block/<device>/ro

, который возвращает 1 , если файловая система доступна только для чтения, или 0 при чтении-записи.

Обратите внимание, что выше относится к узлу реального устройства. Если вы хотите проверить устройство символьной ссылки (например, созданное device-mapper или by-uuid ссылки), вы можете использовать basename и readlink , чтобы получить имя узла устройства. Как эти примеры:

$ grep '^ro$' /proc/fs/*/$(basename $(readlink -f /dev/mapper/foo)/options
$ cat /sys/block/$(basename $(readlink -f /dev/mapper/foo)/ro
7
20.10.2017, 20:57
0 ответов

Теги

Похожие вопросы