Только отобразите диапазон записей из истории удара

Действительно ли возможно определить постоянный номер для команды "истории", чтобы только показать определенное количество объектов истории как 100 вместо всего с начала времени?

2
задан 21 September 2014 в 12:25

2 ответа

history n печать только n строки истории. Например:

$ history 4
 2000  type history
 2001  help
 2002  help history
 2003  history 4
$

Таким образом, мы можем сделать псевдоним в Вашем .bashrc:

alias h="history 100"

От help history:

history: history [-c] [-d offset] [n] or history -anrw [filename] or history -ps arg [arg...]
    Display or manipulate the history list.

    Display the history list with line numbers, prefixing each modified
    entry with a `*'.  An argument of N lists only the last N entries.

Это полезно, если Вы хотите сохранить большой набор истории, возможно, даже неограниченный. С HISTCONTROL=ignoreboth:erasedups и инвертируйте возрастающий поиск, это - особый случай, когда Вы на самом деле работаете history команда.

4
ответ дан 5 August 2019 в 01:04

Установка HISTFILESIZE и HISTSIZE можно ограничить размер команды истории.

, Например HISTFILESIZE=100 и HISTSIZE=100. Это ограничит файл истории для хранения 100 строк и HISTFILE, который хранит cureent команду сессии в памяти к 100 строкам.

, Когда оболочка запускает, история инициализируется из файла, названного HISTFILE переменная (значение по умолчанию ~/.bash_history). Файл, названный значением HISTFILE, является усеченным, при необходимости, для содержания не больше, чем количества строк, определенных значением HISTFILESIZE переменная.

можно добавить HISTFILESIZE=100 и HISTSIZE=100 в Вашем ~/.bashrc файл. Измените 100 с числом, которое Вы хотите.

Объяснение

HISTFILESIZE=10 и HISTSIZE=10

  1. Вы запускаете свою сессию.
    1. Ваш HISTFILE (файл, который хранит Вашу историю команд удара), является усеченным для содержания строк HISTFILESIZE=10.
  2. Вы пишете 50 строк.
  3. В конце Ваших 50 команд, только команды 41 - 50 находятся в Вашем списке предыстории, размер которого определяется HISTSIZE=10.
  4. Вы заканчиваете свою сессию.
    1. Принятие histappend не включено, команды 41 - 50 сохраняются к Вашему HISTFILE, который теперь имеет 10 команд, которые это содержало вначале плюс 10 недавно записанных команд.
    2. Ваш HISTFILE является усеченным для содержания строк HISTFILESIZE=10.
  5. у Вас теперь есть 10 команд в Вашей истории - последние 10, что Вы просто ввели на сессии, которую Вы только что закончили.
  6. при запуске новой сессии Вы запускаете в 1 с HISTFILE HISTFILESIZE=10.

HISTFILESIZE=10 и HISTSIZE=5

  1. Вы запускаете свою сессию.
    1. Ваш HISTFILE (файл, который хранит Вашу историю команд удара), является усеченным для содержания в большинстве строк HISTFILESIZE=10.
  2. Вы пишете 50 строк.
  3. В конце Ваших 50 команд, только команды 46 - 50 находятся в Вашем списке предыстории, размер которого определяется HISTSIZE=5.
  4. Вы заканчиваете свою сессию.
    1. Принятие histappend не включено, команды 46 - 50 сохраняются к Вашему HISTFILE, который теперь имеет 10 команд, которые это содержало вначале плюс 5 недавно записанных команд.
    2. Ваш HISTFILE является усеченным для содержания строк HISTFILESIZE=10.
  5. у Вас теперь есть 10 команд в Вашей истории - 5 от предыдущей сессии и последних 5, что Вы просто ввели на сессии, которую Вы только что закончили.
  6. при запуске новой сессии Вы запускаете в 1 с HISTFILE HISTFILESIZE=10.

HISTFILESIZE=5 и HISTSIZE=10

  1. Вы запускаете свою сессию.
    1. Ваш HISTFILE (файл, который хранит Вашу историю команд удара), является усеченным для содержания в большинстве строк HISTFILESIZE=5.
  2. Вы пишете 50 строк.
  3. В конце Ваших 50 команд, только команды 41 - 50 находятся в Вашем списке предыстории, размер которого определяется HISTSIZE=10.
  4. Вы заканчиваете свою сессию.
    1. Принятие histappend не включено, команды 41 - 50 сохраняются к Вашему HISTFILE, который теперь имеет 5 команд, которые это содержало вначале плюс 10 недавно записанных команд.
    2. Ваш HISTFILE является усеченным для содержания строк HISTFILESIZE=5.
  5. у Вас теперь есть 5 команд в Вашей истории - последние 5, что Вы просто ввели на сессии, которую Вы только что закончили.
  6. при запуске новой сессии Вы запускаете на шаге 1 с HISTFILE HISTFILESIZE=5.

Это большое объяснение from:stackoverflow.com

3
ответ дан 5 August 2019 в 01:04

Другие вопросы по тегам:

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