Вот вам альтернатива. Мои awk
навыки только зарождаются, и я был бы признателен за любые отзывы о том, как улучшить использование, показанное здесь.
show_mount_prefix() {
# $1 is a directory prefix. Display all current mounts that have that prefix.
printf '"%s" ' $(mount | awk -v prefix=" on ${1}[/ ]" '$0~prefix {print $3}')
printf '\n'
}
Без аргумента show_mount_prefix()
отображает все точки монтирования [разрывы строк добавлены для удобочитаемости]:
$ show_mount_prefix
"/sys" "/proc" "/dev" "/dev/pts" "/run" "/" "/sys/kernel/security"
"/dev/shm" "/run/lock" "/sys/fs/cgroup" "/sys/fs/cgroup/unified"
"/sys/fs/cgroup/systemd" "/sys/fs/pstore" "/sys/fs/cgroup/perf_event"
"/sys/fs/cgroup/memory" "/sys/fs/cgroup/cpu,cpuacct" "/sys/fs/cgroup/pids"
"/sys/fs/cgroup/devices" "/sys/fs/cgroup/freezer" "/sys/fs/cgroup/blkio"
"/sys/fs/cgroup/rdma" "/sys/fs/cgroup/cpuset" "/sys/fs/cgroup/net_cls,net_prio"
"/sys/fs/cgroup/hugetlb" "/dev/mqueue" "/sys/kernel/debug"
"/proc/sys/fs/binfmt_misc" "/dev/hugepages" "/sys/kernel/debug/tracing"
"/sys/fs/fuse/connections" "/sys/kernel/config" "/snap/core/7270"
"/snap/core/7396" "/data" "/var/lib/lxcfs" "/run/user/370880" "/run/user/0"
С аргументом:
$ show_mount_prefix /dev
"/dev" "/dev/pts" "/dev/shm" "/dev/mqueue" "/dev/hugepages"
К сожалению, этот алгоритм не обрабатывает аргумент /
, который предположительно будет перечислять все монтирования, как и в случае без аргумента -. Когда-то это было так, но добавление атома [/ ]
в паттерн awk
нарушило это. Этот атом необходим, учитывая, что OP не хочет, чтобы /d
соответствовало /dev
и /data
и тому подобное.
По традиции/историческим причинам все основные дистрибутивы устанавливают только четыре tty-консоли, а седьмая зарезервирована для графического интерфейса.
Если вы хотите его изменить, найдите в man файл syslogd.conf (5 ). И/или /etc/systemd/logind.conf
Он указывает, сколько tty должно быть и какой из них является графическим интерфейсом.