История команд — это функция во многих оболочках операционных систем , программах компьютерной алгебры и другом программном обеспечении , которая позволяет пользователю вызывать, редактировать и повторно запускать предыдущие команды .
История командной строки была добавлена в Unix в оболочке C Билла Джоя в 1978 году; Джой черпал вдохновение из более ранней реализации в Interlisp . [1] Она быстро стала популярной, поскольку сделала оболочку C быстрой и простой в использовании. С тех пор история стала стандартной функцией в других оболочках, включая ksh , Bash и cmd.exe от Microsoft . История рассматривала два важных сценария:
В оригинальной оболочке C Joy пользователь мог сослаться на предыдущую команду, введя восклицательный знак, !
, а затем дополнительные символы, чтобы указать конкретную команду, только определенные слова или отредактировать ее каким-либо образом перед вставкой обратно в командную строку. Например:
!!
имелось в виду вся предыдущая команда.!$
означало только последнее слово предыдущей команды.!abc
имелась в виду команда, начинающаяся с abc .Сегодняшняя обычная реализация — это объединение истории с редактированием командной строки. Клавиши курсора используются для перемещения вверх и вниз по списку истории и влево или вправо в любое место строки, где пользователь может просто ввести желаемое изменение. Но некоторые реализации основаны на меню : пользователь нажимает определенную функциональную клавишу, которая отображает меню последних команд, из которых пользователь может выбрать одну, введя номер.
Некоторые реализации, такие как Bash , поддерживают запись истории команд в файл ( history
command). [2] [3]