Насколько я могу судить, это история MAKEDEV
в Linux:
/INSTALL/mkdev
; /dev/MAKEDEV
в версии 0.96 корневой дискеты; Таким образом, ключом к названию скрипта является переключение с /INSTALL/mkdev
на /dev/MAKEDEV
. Я предполагаю, что это было в верхнем регистре, чтобы избежать любой потенциальной путаницы и конфликтов пространств имен с именами узлов устройств, поскольку они (всегда?) начинаются с буквы нижнего регистра. Это было задолго до FHS, когда двоичные файлы располагались в разных местах (включая /etc
), поэтому иметь сценарий создания узла устройства в /dev
было достаточно разумно.
Связки (независимо от того, есть они в руководстве или нет) появляются при вводе
bind -p
Например (частичный листинг):
"\C-g": abort
"\C-x\C-g": abort
"\e\C-g": abort
"\C-j": accept-line
"\C-m": accept-line
# alias-expand-line (not bound)
# arrow-key-prefix (not bound)
# backward-byte (not bound)
"\C-b": backward-char
# backward-byte (not bound)
"\C-b": backward-char
"\eOD": backward-char
"\e[D": backward-char
"\C-h": backward-delete-char
"\e[3;5~": backward-delete-char
"\C-?": backward-delete-char
"\C-x\C-?": backward-kill-line
"\e\C-h": backward-kill-word
"\e\C-?": backward-kill-word
"\eb": backward-word
"\e<": beginning-of-history
Руководство документирует опцию -p
:
Команда
bind -p
отображает Readline имена функций и связки в формате, который можно поместить непосредственно в файл инициализации. См. Bash Builtins.
Связки (чтение исходного кода) зависят от карты клавиш. Те, что я процитировал, взяты из emacs keymap, которая инициализируется из встроенной таблицы перед применением скриптов. Существует соответствующий файл с таблицами для vi keymap.
Все это является частью Readline (который поставляется в комплекте с bash
). Когда bash
запускается, он определяет привязки, используя эти таблицы. В зависимости от других файлов, которые он читает из /etc/inputrc
, ~/.inputrc
, он может добавить, изменить или удалить некоторые из этих встроенных привязок.
Как указано в разделе «1.3 Readline Init File» руководства, на которое вы ссылаетесь, библиотека readline настраивается. Привязки клавиш могут быть определены либо в /etc/inputrc
, либо в локальном ~/.inputrc
.