Почему история и .bash_history разные и как удалить запись в истории?

трекпад, работающий с использованием 17.10, сначала не работал, пока не был установлен фиксированный wifi, а затем в терминале запускалось sudo apt-get update. sudo apt-get upgrade предложит установить обновления из программного центра, а затем перезапустить. Работает отлично.

0
задан 29 April 2018 в 23:15

3 ответа

Здесь немного недоразумений, history не показывает содержание ~/.bash_history. Вместо этого он отображает текущее содержимое списка истории Bash в памяти для этого сеанса.

Предполагая настройку по умолчанию Bash и Ubuntu, управление историей работает следующим образом:

Всякий раз, когда вы открываете оболочка Bash, она будет считываться в содержимом вашего файла .bash_history и добавляет его в список истории сеансов. Вы вводите команды, заставляя Bash добавлять их в свой список истории сеансов. Когда вы снова закроете оболочку, Bash сохранит свой список истории на диске, добавив содержащиеся записи в ваш файл .bash_history.

Примечание: по умолчанию список истории усекается не более чем на 1000 записей, а файл истории - на 2000 записей.

Видите ли, файл истории никогда не будет обновляться до тех пор, пока конкретный конец сеанса оболочки, поэтому все, что вы делали в текущем окне терминала, еще не сохраняется на диске. Он остается в вашем списке истории в памяти.

Чтобы удалить определенную запись из списка истории, вы можете запустить history, чтобы отобразить полный список и узнать индекс номер вашей оскорбительной записи. Затем вы можете удалить его, используя

history -d NUMBER

. Вы также можете просто стереть весь список истории сеанса с помощью history -c.

Обратите внимание, что удаление записи из списка истории автоматически не удаляет ее из .bash_history, если она уже написана там, но также не удаляет запись из файла, удаляя ее из текущего списка истории сеансов, если вы открыли какие-либо сеансы Bash.

Чтобы удалить запись из файла истории, откройте ~/.bashrc в текстовом редакторе и удалите там оскорбительную строку. Вы должны либо закрыть весь терминал до этого, либо использовать графический редактор, либо убедиться, что вы удалите запись из файла и списков сеансов.

Для получения дополнительной информации о команде history введите . Более подробную информацию о Bash и его управлении историей, читайте соответствующие части man bash.

2
ответ дан 22 May 2018 в 11:07

Здесь немного недоразумений, history не показывает содержание ~/.bash_history. Вместо этого он отображает текущее содержимое списка истории Bash в памяти для этого сеанса.

Предполагая настройку по умолчанию Bash и Ubuntu, управление историей работает следующим образом:

Всякий раз, когда вы открываете оболочка Bash, она будет считываться в содержимом вашего файла .bash_history и добавляет его в список истории сеансов. Вы вводите команды, заставляя Bash добавлять их в свой список истории сеансов. Когда вы снова закроете оболочку, Bash сохранит свой список истории на диске, добавив содержащиеся записи в ваш файл .bash_history.

Примечание: по умолчанию список истории усекается не более чем на 1000 записей, а файл истории - на 2000 записей.

Видите ли, файл истории никогда не будет обновляться до тех пор, пока конкретный конец сеанса оболочки, поэтому все, что вы делали в текущем окне терминала, еще не сохраняется на диске. Он остается в вашем списке истории в памяти.

Чтобы удалить определенную запись из списка истории, вы можете запустить history, чтобы отобразить полный список и узнать индекс номер вашей оскорбительной записи. Затем вы можете удалить его, используя

history -d NUMBER

. Вы также можете просто стереть весь список истории сеанса с помощью history -c.

Обратите внимание, что удаление записи из списка истории автоматически не удаляет ее из .bash_history, если она уже написана там, но также не удаляет запись из файла, удаляя ее из текущего списка истории сеансов, если вы открыли какие-либо сеансы Bash.

Чтобы удалить запись из файла истории, откройте ~/.bashrc в текстовом редакторе и удалите там оскорбительную строку. Вы должны либо закрыть весь терминал до этого, либо использовать графический редактор, либо убедиться, что вы удалите запись из файла и списков сеансов.

Для получения дополнительной информации о команде history введите help history. Более подробную информацию о Bash и его управлении историей, читайте соответствующие части man bash.

2
ответ дан 17 July 2018 в 15:44

Здесь немного недоразумений, history не показывает содержание ~/.bash_history. Вместо этого он отображает текущее содержимое списка истории Bash в памяти для этого сеанса.

Предполагая настройку по умолчанию Bash и Ubuntu, управление историей работает следующим образом:

Всякий раз, когда вы открываете оболочка Bash, она будет считываться в содержимом вашего файла .bash_history и добавляет его в список истории сеансов. Вы вводите команды, заставляя Bash добавлять их в свой список истории сеансов. Когда вы снова закроете оболочку, Bash сохранит свой список истории на диске, добавив содержащиеся записи в ваш файл .bash_history.

Примечание: по умолчанию список истории усекается не более чем на 1000 записей, а файл истории - на 2000 записей.

Видите ли, файл истории никогда не будет обновляться до тех пор, пока конкретный конец сеанса оболочки, поэтому все, что вы делали в текущем окне терминала, еще не сохраняется на диске. Он остается в вашем списке истории в памяти.

Чтобы удалить определенную запись из списка истории, вы можете запустить history, чтобы отобразить полный список и узнать индекс номер вашей оскорбительной записи. Затем вы можете удалить его, используя

history -d NUMBER

. Вы также можете просто стереть весь список истории сеанса с помощью history -c.

Обратите внимание, что удаление записи из списка истории автоматически не удаляет ее из .bash_history, если она уже написана там, но также не удаляет запись из файла, удаляя ее из текущего списка истории сеансов, если вы открыли какие-либо сеансы Bash.

Чтобы удалить запись из файла истории, откройте ~/.bashrc в текстовом редакторе и удалите там оскорбительную строку. Вы должны либо закрыть весь терминал до этого, либо использовать графический редактор, либо убедиться, что вы удалите запись из файла и списков сеансов.

Для получения дополнительной информации о команде history введите help history. Более подробную информацию о Bash и его управлении историей, читайте соответствующие части man bash.

2
ответ дан 23 July 2018 в 16:41

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

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