it-swarm-eu.dev

Jak vymažu historii terminálu Gnome?

Když použijeme příkaz clear nebo Ctrl+L v terminálu vymaže terminál, ale stále se můžeme posunout zpět a zobrazit poslední použité příkazy. Existuje způsob, jak terminál zcela vyčistit?

59
hpn

Můžeš použít tput reset.

Kromě reset a tput reset můžete použít následující skript Shell.

#!/bin/sh
echo -e \\033c

To odešle řídicí znaky Esc-C do konzoly, která resetuje terminál.

Klíčová slova Google: Sekvence řízení konzoly Linux

man console_codes říká:

Sekvence ESC c způsobí reset terminálu, což je to, co chcete, pokud je obrazovka celá zkomolená. Časté "echo ^ V ^ O" způsobí, že G0 bude aktuální, ale není žádná záruka, že G0 ukazuje na tabulku a). V některých distribucích je program reset (1), který prostě "echo ^ [c". Pokud je váš terminfo vstup pro konzoli správný (a má záznam rs1 =\Ec), pak bude fungovat také „resetování tput“.

69
Sachin Divekar

Můžete použít příkaz reset, který resetuje nastavení terminálu.

15
enzotib

Vím, že jste na terminálu gnome, ale myslel jsem, že odpovím s tipem pro ostatní, kteří by mohli být (jako já) na počítači Mac:

Pokud používáte Terminal.app nebo iTerm.app pak Control+L se posouvá nahoru, aby terminál vypadal prázdný, ale Cmd+K bude skutečně resetovat terminál/vymazat rolování zpět.

Nebo, pokud jste schopni nastavit předvolby klávesnice pro váš terminál, možná budete moci přiřadit něco jako Ctrl+K k zadání echo -e \\033c jak bylo uvedeno výše.

14
cwd

Anthonova odpověď funguje v KDE Konsole, ale ne urxvt. V urxvtu jsem resetoval několik let, abych vyčistil rolovací zpět (spolu se všemi ostatními věcmi, které dělá), a nebyl jsem spokojen, že to nefungovalo v Konsole. Teď pro Linux mám nový alias:

alias allclear='clear; echo -e "\033c\e[3J"'

Ale na OS X to nefunguje.

tput reset nefunguje v žádném kontextu AFAICT.

V KDE Konsole ctrl-shift-k vymaže scrollback (včetně aktuálního Shell Prompt, takže je zcela prázdný). V iTerm nebo terminálu Apple na OS X cmd-shift-k také vymaže scrollback. Chcete-li přidat tuto funkci do urxvt, přidejte ji do ~/.Xresources:

urxvt*keysym.C-S-K: command:\033c
9
ecloud

Našel jsem to na internetu před lety a funguje mi dobře. Úplně vymaže terminál bez historie posouvání.

echo -e "\e[3J"
3
canon

[Ubuntu 16.04]

Po zavření terminálu je v domovském adresáři uživatele vytvořen soubor . Bash_history .

Je to užitečné, ale pokud si to přejete, můžete je smazat. Přesto by se vytvořilo pokaždé, když ukončíte používání terminálu.

Můžete je odstranit ručně z:

  • prohlížeč souborů.

  • terminál: pamatujte, že při zavření terminálu bude vytvořen nový soubor .bash_history (založený na jeho výchozí konfiguraci).

Nebo můžete zavolat vlastní funkci, pokud uložíte potřebnou funkčnost do souboru propojeného s bashrc .. můžete upravit samotný bashrc, pokud tam chcete kód vložit, ale další příklady jsou v samostatném souboru

Upřímně to pro mě není užitečné, ale pokud si přejete smazat historii příkazů před ukončením, můžete to udělat:

. bash_custom #this je můj vlastní soubor

blotout() {
    HISTSIZE=0
    rm $HOME/.bash_history
    exit
}

potom v dolní části přidejte název a cestu k mému souboru
bashrc # toto je konfigurační soubor pro bash (myslím)

# existent code
#...
#..

# import user customizations
source $HOME/.bash_custom

a to je vše.

VUT v Brně, dělat přesně to, co chcete, stačí tuto funkci ve vašem vlastním souboru a propojit ji:

refresh() {
        tput reset
        H=HISTSIZE
        HISTSIZE=0
        HISTSIZE=H
}

Nebo jen vložte funkci do .bashrc, pokud chcete, ale tak pravděpodobně budete potřebovat exportní příkaz po funkci Nejsem si jistý a pokud je soubor aktualizován, pravděpodobně ztratil své funkce .. Nejsem si tím také jistý: D.
Nezapomeňte, že při úpravách souboru .bashrc nebo vašeho „vlastního“ souboru musíte terminál znovu spustit.

2
Federico Gallo

Zmapoval jsem F12 vymaže obrazovku v každém z následujících prostředí: bash , csh a rybí skořápka . Můj příkaz se liší od všech předchozích, protože zachovává vše, co jste již zadali v aktuálním řádku.
(Poznámka: všechny níže uvedené konfigurace jsou závislé na terminálu, ale doufám, že budou fungovat prakticky všude)

bash

Otevřete soubor ~/.inputrc A vložte následující řádek:

"\e[24~": "\C-k \C-uecho -ne '\\ec\\e[3J'; history -d $((HISTCMD-1))\n\C-y\C-?"

Chcete-li mít k dispozici novou vazbu klíčů, otevřete nový terminál nebo typ Ctrl+X pak Ctrl+R načíst soubor .inputrc v aktuálním terminálu.

Vysvětlení
Soubor ~/.inputrc řídí vázání kláves bash terminálu.

O řádku:

  1. První část řádku "\e[24~" Mapuje klíč F12.
  2. C-k (Ctrl+X) vymaže zabijací kroužek (bashova kopie a minulost).
  3. Prostor zamezuje pípnutí v dalším příkazu.
  4. C-u (Ctrl+U) odešle aktuální řádek do zabijáku a smaže jej.
  5. Funkce echo -ne '\\ec\\e[3J'; history -d $((HISTCMD-1))\n odešle terminálu dva seskupené příkazy. Jsou odděleny ; A ukončeny \n.
    • Obrazovka echo -ne '\\ec\\e[3J' Vymaže obrazovku.
    • Funkce history -d $((HISTCMD-1)) zabraňuje zadávání těchto dvou příkazů v historii.
  6. C-y (Ctrl+Y) vloží kill-ring uložený příkazem C-u.
  7. C-? (Ctrl+?) je ekvivalentní Backspace a odstraní místo vložené v kroku 3 výše.

Odkazy:

csh

Zadejte příkaz níže.
bindkey -c "^[[24~" "echo -ne '\ec\e[3J'"
Může být také vložen do vašeho souboru .cshrc A načíst vazbu klíčů na každý nový terminál.
(Ano, je to mnohem jednodušší než v bash)

rybí skořápka

Zadejte příkaz níže.
bind -k f12 "echo -ne '\ec\e[3J'; commandline -f repaint"
Funkci fish_user_key_bindings Můžete upravit a uložit tak, aby se na každý nový terminál načítalo vázání kláves.
(Ano, je to mnohem jednodušší než v bash)

Pro mě, pomocí PuTTY proti CentOS 7, clear opustí pouze clear příkaz v scrollbacku, ale spuštěním „clear && clear“, dvou instancí clear příkazu současně, zcela vymažete scrollback a nechá mě bez posuvníku. Zkus to. Je to podivné řešení, ale žádný z nich zde účinně nevyčistil rolování, a to ano.

1
Zoltan Shapiro

Ve Fedoře 30 se mazání historie provádí odstraněním souboru $ HOME/.bash_history. Nejjednodušší způsob, jak vymazat soubor historie terminálu pomocí klávesnice, je:

  • Lis Alt+F4 zavřete všechna okna terminálu GNOME a projíždějte okny přes Alt+Tab nebo Alt+Shift+Tab podle potřeby. (Všechna okna terminálu musí být zavřená, protože soubor .bash_history je vytvořen nebo aktualizován, když jsou zavřena.)
  • Lis Alt+F2.
  • Zadejte nautilus a stiskněte Enter klíč k otevření aplikace (GNOME) Files (dříve známé jako Nautilus).
  • Lis Ctrl+H v případě potřeby zobrazit skryté soubory.
  • Zadejte .bash_history (které by se mělo objevit na vyhledávacím panelu, pokud je zadáno ihned po otevření okna; jinak se na vyhledávací lištu dostanete prostřednictvím Ctrl+L).
  • Stisknutím tlačítka se šipkou dolů vyberte soubor, který by měl být jediným výsledkem vyhledávání.
  • Lis Shift+Delete trvale smazat soubor. (Pokud používáte neupravený Delete namísto toho bude soubor .bash_history stále přístupný ve složce Koš.)
0
Patrick Dark

Přidáno k ~/.inputrc svázat celé zúčtování s F12:

"\e[24~":'!echo -ne \047\\0033\\0143\047\r'
0
Velkan