Com executar una comanda de Linux sense desar-la a l'historial
Per defecte, totes les ordres que executeu al vostre terminal són emmagatzemades per l'intèrpret d'ordres (intèrpret d'ordres) en un fitxer determinat anomenat fitxer d'historial o historial d'ordres de l'intèrpret d'ordres. A Bash (les distribucions de Linux en tenen 500.
Per comprovar la mida de l'historial a Bash, executeu aquesta ordre:
$ echo $HISTSIZE
Per veure les ordres més antigues que heu executat, podeu utilitzar l'ordre history per mostrar l'historial d'ordres de shell:
$ history
De vegades, és possible que vulgueu desactivar l'intèrpret d'ordres de registre d'ordres al seu historial d'ordres. Podeu fer-ho de la següent manera.
Suprimeix una ordre de Linux de l'historial després d'executar-se
Podeu suprimir una ordre immediatament de l'historial de l'intèrpret d'ordres després d'executar-la a la línia d'ordres afegint-hi l'ordre history -d $ (history 1)
.
La subordre $ (history 1)
recupera l'última entrada de l'historial a la sessió de terminal actual, on 1 és el desplaçament i l'opció -d
ajuda a suprimeix-ho.
Qualsevol ordre executada normalment es desa a l'historial de l'intèrpret d'ordres.
$ echo "This command is saved in history" $ history | tail
Tanmateix, quan afegiu l'ordre history -d $ (history 1)
a una línia d'ordres, s'elimina immediatament de l'historial de l'intèrpret d'ordres tal com es mostra a la captura de pantalla següent:
$ echo "This command is not saved in history";history -d $(history 1) $ history | tail
Una altra manera d'evitar que l'intèrpret d'ordres desi una ordre a l'historial és prefixar l'ordre amb un espai. Però això depèn completament del valor de la variable d'intèrpret d'ordres $HISTCONTROL
definida al fitxer d'inici de ~/.bashrc Bash. S'hauria de configurar per tenir un d'aquests valors: ignorespace o ignoreboth, perquè aquest mètode funcioni.
Podeu comprovar el valor de la variable $HISTCONTROL
tal com es mostra.
$ echo $HISTCONTROL OR $ cat ~/.bashrc | grep $HISTCONTROL
Si s'estableix la variable de l'intèrpret d'ordres esmentada anteriorment, qualsevol ordre amb un espai prefixat no es desa a l'historial:
$ echo "This command is not prefixed with space, it will be saved in history!" $ echo "This command is prefixed with space, it will not be saved in history!"
Aquí hi ha alguns altres articles interessants sobre la història de Bash i les ordres d'historial:
- 2 maneres de tornar a executar les darreres ordres executades a Linux
- Com esborrar l'historial de la línia d'ordres BASH a Linux
- Definiu la data i l'hora per a cada comanda que executeu a l'historial de Bash
Això és tot de moment! Utilitzeu el formulari de comentaris a continuació per compartir els vostres pensaments amb nosaltres sobre aquest tema. Fins la propera vegada, queda amb nosaltres.