Насколько мне известно, извлечение файла конфигурации .config
из ядра возможно только в том случае, если вы скомпилировали его с параметром конфигурации CONFIG_IKCONFIG
(, доступным в меню конфигурации как записьGeneral setup > Kernel.config support
). Вот документация по этому параметру конфигурации:
CONFIG_IKCONFIG:
This option enables the complete Linux kernel ".config" file
contents to be saved in the kernel. It provides documentation
of which kernel options are used in a running kernel or in an
on-disk kernel. This information can be extracted from the kernel
image file with the script scripts/extract-ikconfig and used as
input to rebuild the current kernel or to build another kernel.
It can also be extracted from a running kernel by reading
/proc/config.gz if enabled (below).
Последнее предложение относится к дополнительной опции конфигурации CONFIG_IKCONFIG_PROC
, которая дает вам доступ к конфигурации работающего ядра через файл в файловой системе proc
псевдо -.
Если ваше ядро не было скомпилировано с CONFIG_IKCONFIG
, я не думаю, что вы сможете легко восстановить его конфигурацию. В противном случае это так же просто, как
gunzip /proc/config.gz >.config
, если было выбрано CONFIG_IKCONFIG_PROC
и вы в настоящее время используете ядро /boot/vmlinuz-linux
, или
scripts/extract-ikconfig /boot/vmlinuz-linux
Сценарий extract-ikconfig
доступен вместе с исходными кодами ядра в папке scripts
.
Хотя readline принимает несколько входных форматов для указания последовательностей клавиш, как описано в readline (3 )и bash (1 ), выходной формат проще (на основе моих наблюдений):
\e
Escape (последовательно нажимается перед следующим символом)\C-
при нажатии Control (одновременно со следующим символом)\\
— обратная косая черта \"
— двойная кавычка \nnn
(где nnn — 3 цифры )— один байт в восьмеричной системе Вместо последовательного нажатия \ea
можно также удерживать то, что readline (3 )вызывает клавишу Meta, и набрать a
. И аналогично для других букв. Поскольку большинство современных клавиатур не имеют мета-клавиши, это можно считать в основном историческим названием. На клавиатуре ПК вместо нее используется клавиша Alt.
Более длинные управляющие последовательности, такие как \eOQ
или \e[15~
, не предназначены для ввода вручную, а создаются с помощью специальных клавиш на клавиатуре. Упомянутые примеры - это F2 и F5 на моей машине в данный момент.
Последовательность \e[200~
, показанная в вопросе, не создается напрямую какой-либо функциональной клавишей. Эмуляторы терминала могут вставлять его, когда пользователь вставляет текст, а не набирает его. (Эта функция управляется переменной readlineenable-bracketed-paste
)
Поскольку (особенно в 1970-х и 1980-х )разные типы клавиатур порождали (d )разные escape-последовательности, readline связывает многие команды с несколькими последовательностями. Не ожидайте, что все эти последовательности воспроизводятся вашей клавиатурой.
Чтобы увидеть, что выдает ваша клавиатура и эмулятор терминала, вы можете использовать showkeys -a
. Обратите внимание, что некоторые клавиши перехватываются оконным менеджером или эмулятором терминала. Так что они никогда не попадут в showkeys
или readline
.