2

У меня два вопроса.

Q1. Я читал статью http://www.thegeekstuff.com/2014/05/linux-keybindings/comment-page-1/#comment-1750752 в этом cntrl+/ прекрасно работает для повторного редактирования последнего отмененного редактирования, но Cntrl+? doenot. Мои системные данные

[mike@localhost rshare]$ lsb_release -a
LSB Version:    :core-3.1-amd64:core-3.1-ia32:core-3.1-noarch:graphics-3.1-amd64:graphics-3.1-ia32:graphics-3.1-noarch
Distributor ID: RedHatEnterpriseServer
Description:    Red Hat Enterprise Linux Server release 5.4 (Tikanga)
Release:        5.4
Codename:       Tikanga

и настройки терминала

[mike@localhost rshare]$ stty
speed 9600 baud; line = 0;
erase = ^H;
-brkint ixoff -imaxbel

Пожалуйста, предоставьте хорошую ссылку для сочетания клавиш bash.


Q2. $ echo * печатает все файлы в текущем каталоге, пока $ echo . просто печатает "." (без кавычек).Мой вопрос, почему он не печатает все файлы, включая скрытые файлы в текущем каталоге?

1 ответ1

2

1. Сочетания клавиш

Как предлагается в этой статье, bind -p перечисляет сочетания клавиш.

$ bind -p | egrep 'redo|undo'
"\C-x\C-u": undo
"\C-_": undo
# vi-redo (not bound)

Обратите внимание, что в bash есть режимы vi и emacs. Клавиши ведут себя по-разному в зависимости от того, какие режимы вы выбрали.

2. расширение подстановочного знака оболочки

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

echo .*

или же

echo .??*

потому что меня обычно это не интересует . и .. и не имеют скрытых файлов с крошечными именами.

Майкл Кьёрлинг отметил превосходную модель:

echo .[^.]*

это всего лишь пара символов больше, чтобы напечатать.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .