В вычислительной технике различные оболочки ведут учет команд, введенных пользователем во время текущего сеанса . history
Команда работает со списком истории команд . Когда команда введена без параметров, она выводит список истории. Пользователи могут указывать параметры и аргументы для команды, чтобы управлять отображением списка истории и его записей. На работу команды истории также могут влиять переменные окружения оболочки . Например, переменную окружения можно задать для управления количеством команд, сохраняемых в списке. [1]
В ранних версиях Unix команда history была отдельной программой . Однако большинство оболочек уже давно включают команду history как встроенную оболочку , поэтому отдельная программа больше не используется.
Команда доступна в различных оболочках Unix , а также в PowerShell , ReactOS , [2] и KolibriOS . [3] Она также включена как внешняя команда в PTS-DOS , где она сохраняет резидентную часть, иногда в обычной памяти. [4]
Поскольку большинство текущих команд истории являются встроенными в оболочку, детали зависят от выбора оболочки .
Команда history
имеет следующий синтаксис в bash : [5]
история [-c] [-d смещение] [n]история -awrn [имя файла]история -ps арг [арг...]
Команда history
имеет следующий синтаксис в tcsh :
история [ -hTr ] [n]история -S | -L | -M [имя файла] (+)история -c (+)
Первая форма печатает список событий истории. Если указано n, печатаются или сохраняются только n самых последних событий. С -h список истории печатается без начальных цифр. Если указано -T , временные метки печатаются также в форме комментариев . (Это можно использовать для создания файлов, подходящих для загрузки с помощью 'history -L' или 'source -h'.) С -r порядок печати — сначала самые последние, а не самые старые.
С -S вторая форма сохраняет список истории в filename. Если первое слово переменной оболочки savehist установлено на число, сохраняется не более указанного количества строк. Если второе слово savehist установлено на ` merge ', список истории объединяется с существующим файлом истории вместо его замены (если он есть) и сортируется по временной метке. (+) Объединение предназначено для среды, такой как X Window System с несколькими оболочками, используемыми одновременно. В настоящее время оно успешно выполняется только тогда, когда оболочки успешно завершают работу одна за другой.
С -L оболочка добавляет filename, который предположительно является списком истории, сохраненным опцией -S или механизмом savehist, к списку истории. -M похож на -L, но содержимое filename объединяется в список истории и сортируется по timestamp . В любом случае, если filename не указан, используется histfile, а если histfile не задан, используется ~/.history. `history -L' точно такой же, как 'source -h', за исключением того, что не требует имени файла.
Обратите внимание, что оболочки входа выполняют эквивалент `history -L' при запуске и, если задан savehist, `history -S' перед выходом. Поскольку обычно перед ~/.history исходит только ~/.tcshrc, histfile следует устанавливать в ~/.tcshrc, а не в ~/.login.
Если установлено histlit, первая и вторая формы печатают и сохраняют буквальную (неразвернутую) форму списка истории.
Последняя форма очищает список истории.
В PowerShell история — это предопределенный псевдоним команды для Get-History
cmdlet . Кроме того, PowerShell включает в себя cmdlets Add-History
, Clear-History
, Get-History
, и Invoke-History
. *-History
Командлеты служат той же цели, что и Unix -подобные history
команды.
Получить-Историю [[-Id] <Int64[]>] [[-Count] <Int32>] [<CommonParameters>]Добавить-Историю [[-InputObject] <PSObject[]>] [-Passthru] [<CommonParameters>]Очистить историю [[-Id] <Int32[]>] [[-Count] <Int32>] [-Newest] [-Confirm] [-WhatIf] [<CommonParameters>]Clear-History [[-Count] <Int32>] [-CommandLine <String[]>] [-Newest] [-Confirm] [-WhatIf] [<CommonParameters>]Invoke-History [[-Id] <String>] [-Confirm] [-WhatIf] [<CommonParameters>]
Команда командной строкиhistory
ReactOS в настоящее время поддерживает только печать списка истории.