Spec-Zone.ru › Fish 3.5

history - показ и управление историей команд

Синопсис

history [search] [--show-time] [--case-sensitive]
                 [--exact | --prefix | --contains] [--max N] [--null] [--reverse]
                 [SEARCH_STRING ...]
history delete [--case-sensitive]
               [--exact | --prefix | --contains] SEARCH_STRING ...
history merge
history save
history clear
history clear-session

Описание

history используется для поиска, удаления и других манипуляций с историей интерактивных команд.

Доступны следующие операции (подкоманды):

поиск

Возвращает элементы истории, соответствующие строке поиска. Если строка поиска не указана, возвращает все элементы истории. Это основная операция, если не указана другая операция. Вы должны явно указать history search , если хотите выполнить поиск одной из подкоманд. Параметр поиска --contains будет использован, если вы не укажете другой параметр поиска. Элементы упорядочены по времени в порядке убывания, если не используется флаг --reverse. Если stdout подключен к tty, вывод будет перенаправлен через ваш диспетчер страниц функцией history. Встроенная функция history просто записывает результаты в stdout.

удаление

Удаляет элементы истории. Параметр поиска --contains будет использован, если вы не укажете другой параметр поиска. Если вы не укажете --exact, будет отображен запрос перед удалением элементов, спрашивающий, какие записи нужно удалить. Вы можете ввести слово «all» для удаления всех соответствующих записей. Вы можете ввести один идентификатор (число в квадратных скобках) для удаления только этой записи. Вы можете ввести более одного идентификатора, разделенных пробелом, для удаления нескольких записей. Просто нажмите [ввод], чтобы ничего не удалять. Обратите внимание, что интерактивное поведение удаления — это функция history. Встроенная функция history поддерживает только --exact --case-sensitive удаление.

слияние

Немедленно включает изменения истории из других сеансов. Обычно fish игнорирует изменения истории из сеансов, начатых после текущего. Эта команда применяет эти изменения немедленно.

сохранение

Немедленно записывает все изменения в файл истории. Оболочка автоматически сохраняет файл истории; этот параметр предоставлен для внутреннего использования и обычно не должен использоваться пользователем.

очистка

Очищает файл истории. Перед удалением истории отображается запрос, подтверждающий, что вы действительно хотите очистить всю историю, если не используется builtin history.

очистка-сессии

Очищает файл истории со всей активности текущего сеанса. Примечание: Если history merge или builtin history merge выполняется в сеансе, будет удалена только история после этого.

Доступны следующие параметры:

Эти флаги могут появляться перед или сразу после одной из подкоманд, перечисленных выше.

-C или --case-sensitive

Выполняет поиск, учитывая регистр. По умолчанию регистр не учитывается. Обратите внимание, что до fish 2.4.0 по умолчанию регистр учитывался.

-c или --contains

Ищет элементы в истории, содержащие указанную строку текста. Это значение по умолчанию для флага --search. В настоящее время это не поддерживается подкомандой удаление.

-e или --exact

Ищет или удаляет элементы в истории, которые точно совпадают с указанной строкой текста. Это значение по умолчанию для подкоманды удаление. Обратите внимание, что совпадение по умолчанию не учитывает регистр. Если вам действительно нужно точное совпадение, включая регистр букв, вы должны использовать флаг -C или --case-sensitive.

-p или --prefix

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

-t или --show-time

Добавляет дату и время записи каждого элемента истории. По умолчанию используется формат strftime # %c%n. Вы можете указать другой формат; например, --show-time="%Y-%m-%d %H:%M:%S " или --show-time="%a%I%p". Короткий параметр -t не принимает строку формата strftime; он использует только формат по умолчанию. Допускается любой формат strftime, включая %s для получения исходных UNIX-секунд с эпохи.

-z или --null

Заставляет записи истории, созданные операциями поиска, завершаться символом NUL, а не символом новой строки. Это позволяет обрабатывать вывод функцией read -z, чтобы корректно обрабатывать многострочные записи истории.

-*ЧИСЛО* -n *ЧИСЛО* или --max *ЧИСЛО*

Ограничивает совпадающие элементы истории первыми *ЧИСЛО* совпадающими записями. Это применимо только к history search.

-R или --reverse

Упорядочивает результаты поиска истории в обратном порядке, от старых к новым. Это порядок, используемый большинством оболочек. По умолчанию порядок — от новых к старым.

-h или --help

Отображает справку по этой команде.

Пример

history clear
# Deletes all history items

history search --contains "foo"
# Outputs a list of all previous commands containing the string "foo".

history delete --prefix "foo"
# Interactively deletes commands which start with "foo" from the history.
# You can select more than one entry by entering their IDs separated by a space.

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

По умолчанию интерактивные команды регистрируются в $XDG_DATA_HOME/fish/fish_history (обычно ~/.local/share/fish/fish_history).

Вы можете установить переменную fish_history на другое имя для текущего сеанса оболочки. Значение по умолчанию (когда переменная не задана) — fish , что соответствует $XDG_DATA_HOME/fish/fish_history. Если вы установите его, например, на fun, история будет записываться в $XDG_DATA_HOME/fish/fun_history. Пустая строка означает, что история вообще не будет храниться. Это похоже на функции частного сеанса в веб-браузерах.

Вы можете изменить fish_history в любое время (используя set -x fish_history "session_name"), и это изменение вступит в силу сразу. Если вы установите его на "default", будет использоваться имя сеанса по умолчанию (которое равно "fish").

Другие оболочки, такие как bash и zsh, используют переменную HISTFILE для аналогичных целей. Fish использует другое имя, чтобы избежать конфликтов и указать, что поведение отличается (имя сеанса вместо пути к файлу). Кроме того, если вы установите переменную на значение отличное от fish или default, импорт истории bash будет запрещен. Это связано с тем, что наиболее распространенным случаем использования этой функции является предотвращение утечки личной или конфиденциальной истории при проведении презентации.

Примечания

Если вы укажете как --prefix, так и --contains, будет использован последний из этих флагов.

Обратите внимание, что для обратной совместимости каждая подкоманда также может быть указана как длинный параметр. Например, вместо history search вы можете ввести history --search. Эти длинные параметры устарели и будут удалены в будущих релизах.

© 2022 fish-shell developers
Licensed under the GNU General Public License, version 2.
https://fishshell.com/docs/3.5/cmds/history.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API