Почему эта команда для открытия страницы man и выполнения поиска не работает? [duplicate]

В вашей системе файлы в /tmp исчезают при перезагрузке, верно? Возможно, это не лучшее место для постоянного решения. При установке ACL на каталог, который должен применять ACL ко всем новым объектам файловой системы в каталоге, не забудьте установить две маски: (1) маску для самого каталога и (2) маску по умолчанию (для всех новых объектов файловой системы).

setfacl -m u::rwx,g::r-x,o::--- /tmp/test
setfacl -d -m u::rwx,g::r-x,o::--- /tmp/test

Выше, переключатель -m является маской для /tmp/test, а переключатель -d делает эту маску маской по умолчанию для всех новых объектов файловой системы в том же каталоге. Это эквивалентно 0750. Также могут использоваться восьмеричные значения.

Маски пользователя, группы и другие работают аналогичным образом: g:groupname:--- или в комбинации: u:username:---,g:groupname:---,o::---. Если не указывать имя пользователя или имя группы, маска применяется к текущему владельцу пользователя/группы.

Имейте в виду, что не все программное обеспечение знает ACL. Например, не все клиенты SFTP/SCP знают о них.

1
13.04.2017, 15:36
2 ответа

Используйте переменную окружения LESS, переопределив ее для одной выполняемой команды.

Смотрите также:

LESS='+/LESS[[:space:]]*Options' man less
LESS='+/\+cmd' man less
LESS='+/optional variable assignments' man bash
LESS=+/SIMPLE\ COMMAND\ EXPANSION man bash

Я также обсуждал это в более общем плане в мета-посте некоторое время назад:


Есть одна вещь, которую следует иметь в виду при создании шаблона поиска: если вы выберете несколько последовательных слов из середины длинного абзаца, есть вероятность, что они не будут в одной строке, когда эта man-страница просматривается на терминале другого размера. Например, следующее работает на полноэкранном терминале (на мониторе my), но не на терминале с 80 столбцами, потому что слова разделяются по строкам:

LESS=+/allowing' a shell script' man bash

И из-за того, как man обрабатывает интервалы между словами, следующее также ненадежно в терминалах:

LESS=+/"The latest version" man bash

Следующие две команды поступят в одни и те же места, но более портативно:

LESS=+/^INVOCATION man bash
LESS=+/^BUG man bash
1
27.01.2020, 23:48

Проблема заключалась в том, что при запуске less и передаче поискового запроса в качестве опции поиск будет чувствительным к регистру.
Поэтому решение состоит в том, чтобы использовать шаблон поиска с использованием того же случая. Например, эти работы

man tmux | less +/^FORMAT

еще лучше - для защиты от расширения оболочки

man tmux | less '+/^FORMAT'

или альтернативно

man tmux | less -p '^FORMAT'

Background

Всякий раз, когда я использовал меньше/man поиски, были нечувствительны к регистру, поэтому я ожидал того же при передаче аргумента поиска при вызове.
Похоже, это связано с тем, что версия человека, которую использует Ubuntu, открывается меньше с опцией -i, что делает поиск нечувствительным к регистру.
Таким образом, когда меньше вызывается без этой опции, вы получаете меньшее поведение по умолчанию, и внезапно меньшее количество поисковых запросов становится чувствительным к регистру.

0
27.01.2020, 23:48

Теги

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