Как удалить bash_history только для текущего дня?

Я думаю, что лучшим программным обеспечением для этой ситуации будет DirSyncPro (V1.4). Вы можете проверить их сайт здесь. Это программное обеспечение написано с использованием java, поэтому его не нужно устанавливать и очень портативно. Он имеет несколько функций, таких как резервное копирование, синхронизация файлов, зеркалирование дисков и бесплатное решение.

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

Я приложил скриншот программного обеспечения ниже.

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

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

0
задан 10 April 2017 в 19:47

8 ответов

Линии в истории Bash сохраняются как простые строки текста без какой-либо метаинформации, такой как временная метка вызова. Таким образом, невозможно автоматически стереть всю историю команд за один день, потому что вы просто не можете больше сказать, какую команду выполняли, когда.

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

Удаление буфера истории приведет к пустой истории в памяти для текущего сеанса, что означает, что никакие команды не появятся, если вы нажмете ↑ и т. д. После выхода из сеанса Bash все новые команды которые были введены после того, как клиринг будет добавлен к файлу истории, и в следующем сеансе вы снова увидите всю историю, только пробел между началом вашего последнего сеанса и отсутствующей командой clear.
history -c
Замена текущего буфера истории памяти содержимым файла истории с диска будет иметь тот же конечный результат, что и очистка буфера истории, за исключением того, что в текущем сеансе у вас будет доступ к старой истории команд вместо пустой список.
history -r

Если это не поможет вам, потому что вы хотите убрать записи из предыдущих сеансов или только частичный сеанс, то хирургический метод вам нужен:

Синхронизируйте свой текущий буфер памяти в памяти с файлом истории на диске, а затем откройте этот файл в текстовом редакторе и удалите все оскорбительные записи вручную.

Чтобы добавить историю из своего текущую сессию в файл истории вручную (поскольку это происходит автоматически при выходе из сеанса), запустите это сначала:

history -a

После этого откройте файл истории Bash ~/.bash_history в вашем любимом текстовом редакторе (как вы на сервере, я бы предположил, например, nano) и отредактировал список команд вашим любимым. Файл перечисляет все записанные команды в хронологическом порядке, последние команды - последними.

После этого вы должны перезагрузить измененную историю в свой буфер истории в памяти, используя приведенную ниже команду, чтобы предотвратить добавление старых записей из памяти в извлеченный файл истории при выходе из сеанса:

history -r
0
ответ дан 22 May 2018 в 23:47
  • 1
    Эй, @bytecommander - это именно то, что я искал. Чтобы быть понятным, хотя вы упоминаете «Когда вы выходите из своего сеанса Bash, все новые команды, которые были введены после очистки, будут добавлены в файл истории и в следующем сеансе, вы увидите всю историю снова». Когда вы скажете «вы снова увидите всю историю», вы имеете в виду полную историю до очищенного сеанса? Например, я открываю ubuntu и запускаю git add., Git commit x и т. Д., Тогда я запускаю историю -a и закрываю, когда я перезагружу, я не увижу git add .. и git commit x правильно? только команды раньше? – Anthony Pinto 11 April 2017 в 00:14
  • 2
    Да, предложение продолжается: "... вы снова увидите всю историю, только диапазон между началом вашего последнего сеанса и отсутствующей командой clear. & Quot; - завершение История & Quot; вы увидите в следующем сеансе все до вашего текущего сеанса плюс все, начиная с текущего сеанса, после команды history -c или history -r. Если вы запустите history -a (-a = append), вы будете записывать текущий сеанс в файл истории (добавление, а не переписывание). – Byte Commander 11 April 2017 в 10:42
  • 3
    Кроме того, в случае, если ваш вопрос будет полностью решён сейчас, не забудьте принять ответ, который вам больше всего помог, нажав кнопку серого цвета слева от него. – Byte Commander 11 April 2017 в 10:43

Линии в истории Bash сохраняются как простые строки текста без какой-либо метаинформации, такой как временная метка вызова. Таким образом, невозможно автоматически стереть всю историю команд за один день, потому что вы просто не можете больше сказать, какую команду выполняли, когда.

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

Удаление буфера истории приведет к пустой истории в памяти для текущего сеанса, что означает, что никакие команды не появятся, если вы нажмете ↑ и т. д. После выхода из сеанса Bash все новые команды которые были введены после того, как клиринг будет добавлен к файлу истории, и в следующем сеансе вы снова увидите всю историю, только пробел между началом вашего последнего сеанса и отсутствующей командой clear. history -c Замена текущего буфера истории памяти содержимым файла истории с диска будет иметь тот же конечный результат, что и очистка буфера истории, за исключением того, что в текущем сеансе у вас будет доступ к старой истории команд вместо пустой список. history -r

Если это не поможет вам, потому что вы хотите убрать записи из предыдущих сеансов или только частичный сеанс, то хирургический метод вам нужен:

Синхронизируйте свой текущий буфер памяти в памяти с файлом истории на диске, а затем откройте этот файл в текстовом редакторе и удалите все оскорбительные записи вручную.

Чтобы добавить историю из своего текущую сессию в файл истории вручную (поскольку это происходит автоматически при выходе из сеанса), запустите это сначала:

history -a

После этого откройте файл истории Bash ~/.bash_history в вашем любимом текстовом редакторе (как вы на сервере, я бы предположил, например, nano) и отредактировал список команд вашим любимым. Файл перечисляет все записанные команды в хронологическом порядке, последние команды - последними.

После этого вы должны перезагрузить измененную историю в свой буфер истории в памяти, используя приведенную ниже команду, чтобы предотвратить добавление старых записей из памяти в извлеченный файл истории при выходе из сеанса:

history -r
1
ответ дан 18 July 2018 в 15:13

Линии в истории Bash сохраняются как простые строки текста без какой-либо метаинформации, такой как временная метка вызова. Таким образом, невозможно автоматически стереть всю историю команд за один день, потому что вы просто не можете больше сказать, какую команду выполняли, когда.

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

Удаление буфера истории приведет к пустой истории в памяти для текущего сеанса, что означает, что никакие команды не появятся, если вы нажмете ↑ и т. д. После выхода из сеанса Bash все новые команды которые были введены после того, как клиринг будет добавлен к файлу истории, и в следующем сеансе вы снова увидите всю историю, только пробел между началом вашего последнего сеанса и отсутствующей командой clear. history -c Замена текущего буфера истории памяти содержимым файла истории с диска будет иметь тот же конечный результат, что и очистка буфера истории, за исключением того, что в текущем сеансе у вас будет доступ к старой истории команд вместо пустой список. history -r

Если это не поможет вам, потому что вы хотите убрать записи из предыдущих сеансов или только частичный сеанс, то хирургический метод вам нужен:

Синхронизируйте свой текущий буфер памяти в памяти с файлом истории на диске, а затем откройте этот файл в текстовом редакторе и удалите все оскорбительные записи вручную.

Чтобы добавить историю из своего текущую сессию в файл истории вручную (поскольку это происходит автоматически при выходе из сеанса), запустите это сначала:

history -a

После этого откройте файл истории Bash ~/.bash_history в вашем любимом текстовом редакторе (как вы на сервере, я бы предположил, например, nano) и отредактировал список команд вашим любимым. Файл перечисляет все записанные команды в хронологическом порядке, последние команды - последними.

После этого вы должны перезагрузить измененную историю в свой буфер истории в памяти, используя приведенную ниже команду, чтобы предотвратить добавление старых записей из памяти в извлеченный файл истории при выходе из сеанса:

history -r
1
ответ дан 24 July 2018 в 20:35

Линии в истории Bash сохраняются как простые строки текста без какой-либо метаинформации, такой как временная метка вызова. Таким образом, невозможно автоматически стереть всю историю команд за один день, потому что вы просто не можете больше сказать, какую команду выполняли, когда.

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

Удаление буфера истории приведет к пустой истории в памяти для текущего сеанса, что означает, что никакие команды не появятся, если вы нажмете ↑ и т. д. После выхода из сеанса Bash все новые команды которые были введены после того, как клиринг будет добавлен к файлу истории, и в следующем сеансе вы снова увидите всю историю, только пробел между началом вашего последнего сеанса и отсутствующей командой clear. history -c Замена текущего буфера истории памяти содержимым файла истории с диска будет иметь тот же конечный результат, что и очистка буфера истории, за исключением того, что в текущем сеансе у вас будет доступ к старой истории команд вместо пустой список. history -r

Если это не поможет вам, потому что вы хотите убрать записи из предыдущих сеансов или только частичный сеанс, то хирургический метод вам нужен:

Синхронизируйте свой текущий буфер памяти в памяти с файлом истории на диске, а затем откройте этот файл в текстовом редакторе и удалите все оскорбительные записи вручную.

Чтобы добавить историю из своего текущую сессию в файл истории вручную (поскольку это происходит автоматически при выходе из сеанса), запустите это сначала:

history -a

После этого откройте файл истории Bash ~/.bash_history в вашем любимом текстовом редакторе (как вы на сервере, я бы предположил, например, nano) и отредактировал список команд вашим любимым. Файл перечисляет все записанные команды в хронологическом порядке, последние команды - последними.

После этого вы должны перезагрузить измененную историю в свой буфер истории в памяти, используя приведенную ниже команду, чтобы предотвратить добавление старых записей из памяти в извлеченный файл истории при выходе из сеанса:

history -r
1
ответ дан 31 July 2018 в 23:37

Вы можете удалить строки истории с помощью

 history -d NNN

, где nnn - трехзначный номер строки. см. также man history. Вы можете удалить историю текущего сеанса оболочки с помощью:

 history -c 
0
ответ дан 22 May 2018 в 23:47
  • 1
    Спасибо, поэтому, если я удалю текущий сеанс оболочки с историей -c, в следующий раз, когда я или кто-то войдет на этот сервер, они не смогут увидеть историю, которую я удалил, правильно? – Anthony Pinto 10 April 2017 в 22:07
  • 2
    Да. это правда – 0x0C4 11 April 2017 в 12:42

Вы можете удалить строки истории с помощью

history -d NNN

, где nnn - трехзначный номер строки. см. также man history. Вы можете удалить историю текущего сеанса оболочки с помощью:

history -c
0
ответ дан 18 July 2018 в 15:13

Вы можете удалить строки истории с помощью

history -d NNN

, где nnn - трехзначный номер строки. см. также man history. Вы можете удалить историю текущего сеанса оболочки с помощью:

history -c
0
ответ дан 24 July 2018 в 20:35
  • 1
    Спасибо, поэтому, если я удалю текущий сеанс оболочки с историей -c, в следующий раз, когда я или кто-то войдет на этот сервер, они не смогут увидеть историю, которую я удалил, правильно? – Anthony Pinto 10 April 2017 в 22:07
  • 2
    Да. это правда – 0x0C4 11 April 2017 в 12:42

Вы можете удалить строки истории с

history -d NNN

, где NNN-это 3-значный номер строки. посмотрите также man history Вы можете удалить историю текущего сеанса оболочки с:

history -c
0
ответ дан 31 July 2018 в 23:37
  • 1
    Спасибо, поэтому, если я удалю текущий сеанс оболочки с историей -c, в следующий раз, когда я или кто-то войдет на этот сервер, они не смогут увидеть историю, которую я удалил, правильно? – Anthony Pinto 10 April 2017 в 22:07
  • 2
    Да. это правда – 0x0C4 11 April 2017 в 12:42

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

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