GNU/Linux >> Znalost Linux >  >> Ubuntu

Jak smazat Bash_history pouze pro aktuální den?

Pracuji na klientském projektu, který je hostován v digitálním oceánu na serveru ubuntu, pracuji na něm s několika dalšími vývojáři a jsem tak trochu nový a vytvořil jsem spoustu příkazů a je to opravdu chaotické. Jak mohu odstranit historii příkazů až do určitého bodu?

Chtěl bych například odstranit všechny příkazy, které jsem dnes zadal, a ponechat všechny předchozí příkazy, je to možné?

Pro ostatní vývojáře je snazší najít předchozí příkazy, aniž by museli procházet všechny moje. Je možné vymazat bash_history až do určitého bodu, například pouze dnešní historii? Pokud ano, jak?

Prosím, poraďte!

Díky!

Přijatá odpověď:

Řádky v historii Bash jsou uloženy jako prosté řádky textu bez jakýchkoli metainformací, jako je časové razítko vyvolání. Není tedy možné automaticky vymazat celou historii příkazů z jednoho dne, protože už jednoduše nemůžete říct, který příkaz byl kdy spuštěn.

Pokud chcete jednoduše odstranit celou historii příkazů vaší aktuální relace Bash (tj. vše, co je stále pouze v paměti a ještě není zapsáno na disk), můžete buď vymazat vyrovnávací paměť historie v paměti, nebo ji nahradit starou historií. obsah souboru z disku.

  • Vymazání vyrovnávací paměti historie bude mít za následek prázdnou historii v paměti pro vaši aktuální relaci, což znamená, že pokud stisknete , nezobrazí se žádné příkazy atd. Jakmile opustíte relaci Bash, všechny nové příkazy, které byly zadané po vymazání, budou připojeny k souboru historie a v další relaci znovu uvidíte kompletní historii, pouze s rozsahem mezi začátkem vaší poslední relace a chybí příkaz clear.

    history -c
    
  • Nahrazení aktuální vyrovnávací paměti historie v paměti obsahem souboru historie z disku bude mít stejný konečný výsledek jako vymazání vyrovnávací paměti historie, kromě toho, že v aktuální relaci budete mít přístup ke staré historii příkazů namísto prázdného seznamu.

    history -r
    

Pokud to pro vás není užitečné, protože si chcete uklidit záznamy z předchozích sezení nebo pouze částečné sezení, potřebujete chirurgickou metodu:

Synchronizujte svou aktuální vyrovnávací paměť historie se souborem historie na disku a poté tento soubor otevřete v textovém editoru a ručně odstraňte všechny problematické položky.

Související:Které složky zahrnout do zálohy?

Chcete-li přidat historii z aktuální relace k souboru historie ručně (protože se to stane automaticky pouze při ukončení relace), spusťte nejprve toto:

history -a

Poté otevřete soubor historie Bash ~/.bash_history ve vašem oblíbeném textovém editoru (když jste na serveru, navrhoval bych např. nano ) a upravte seznam příkazů podle svých představ. Soubor uvádí všechny zaznamenané příkazy v chronologickém pořadí, nejnovější příkazy jsou poslední. Jednoduše odstraňte problematické řádky a uložte svou práci.

Poté byste měli znovu načíst upravenou historii do vyrovnávací paměti historie pomocí příkazu níže, abyste zabránili tomu, aby byly staré záznamy z paměti připojeny k souboru s upravenou historií, když ukončíte relaci:

history -r

Ubuntu
  1. Linux – Jak zrušit sdílení sítě pro aktuální proces?

  2. Jak provést příkaz Ping pouze pro N počet paketů

  3. Jak mohu vytvořit uživatele pouze pro sftp?

  1. Jak odstranit duplikáty v .bash_history, zachování pořádku?

  2. Jak smazat všechna nastavení pro Deja Dup?

  3. Jak přiřadit název obrazovce?

  1. Jak se mohu odhlásit z otevřené vzdálené relace SSH?

  2. Jak dostanu sar, aby se ukázal za předchozí den?

  3. Jak mohu použít swapový prostor pouze v případě nouze?