Quan executem una comanda en qualsevol consola de linux, es guarda un historial més o menys llarg que correspont a totes les comandes que has executat fins al moment, ok? Bé, us ha passat mai, que teniu un munt de comandes que són iguals? i que heu d’estar apretant la fletxeta d’amunt o d’avall un munt de cops? Es degut a que hem executat molts cops seguits una comanda (“make” per exemple). Llavors volem recordar les comandes anteriors i em d’estar buscant en una llista relativament llarda de comandes executades, havent de passar per tots els “makes” i finalment torbar la comanda que haviem executat abans d’executar la ràfaga de “makes”.
Per evitar que al executar dos comandes seguides iguals siguin guardades totes dues a l’historial, hem de fer servir variable d’entorn HISTIGNORE de la següent forma:
set HISTIGNORE="&"
Amb el caracter & aconseguim evitar aquest problema. Però hi ha més coses. Si no volem que a l’historial es guardin certes comandes que utilitzem molt poc i a les que no cal que busquem per l’historial (date, mutt, …), perque s’executen de forma esporàdica, hem de posar el nom d’aquestes comandes de la següent forma–>
set HISTIGNORE="&:mutt:date"
,és a dir, separat pel caràcter “:”.
per tal que això es compleixi en totes les sesions de consola, actualitzarem el nostre fitxer .*_profile (es troba al directori HOME de cada usuari), introduint les linies anteriors de la mateixa forma.
Són coses útils que UNIX amaga i que segur que n’hi han un fart.
Autor: jeusdi
Somos nosotros que nos tapamos los ojos (ver man bash, sección “shell variables”), o tenemos pereza para aprender cómo funciona lo que utilizamos…
Por otro lado, un artículo de estas características siempre es de agradecer, que parece que os hayáis olvidado de ese gran amigo que es el shell, y que nos “esconde” tantos truquitos como el del post. Muy bueno!!
Aunque yo para resolver ese tipo de problemas lo hago de otro modo, utilizando la orden ‘history’ que te saca todas las órdenes introducidas, y la ‘orden’ ‘!’. Por ejemplo:
479 mutt
480 tar jtf liblist-0.2.tar.bz2
481 vim test.c
482 ls
483 vim list.h
484 jobs
Y si quieres ejecutar el tar de nuevo, sin tener que dejarte el dedo en la flechaparriba, haces:
$ !480
i vualá 😀 Por supuesto también puedes utilizar grep o cualquier cosa que se te ocurra con esta lista para filtrar el historial.
Y me da la risa cuando me dicen que el ratón es mejor que el teclado y que la ‘pantalla negra’ es algo obsoleto… 😉
Jo el que faig servir per cercar aquestes “comandes llargues ja executades” és
(reverse-i-search)`: que apareix a la shell quan prems [Crtl]+r
Fàcil no? 😉
També són de molta utilitat les següents
[Crtl]+l netega la pantalla
[Crtl]+d logout o exit
[Crtl]+t transposar dues lletres. ex: vm_ “[Crtl]+t” mv_
[Crtl]+a anar al principi de la comanda escrita
[Crtl]+e anar al final de la comanda escrita
n’hi ha chorromil però aquestes són les que faig servir normalment.
Salva.
Anava a postejar aixó mateix … però veient que t’has avançat, doncs n’afegeixo unes quantes :
Jo estic viciat amb les d’avançar/retrocedir paraula, però de vegades segons el tipus de terminal/programa que s’estigui utilitzant no funcionen :-/
Per qui tingui curiositat, aquestes combinacions de tecles provenen en gran part del EMACS …. agenolleu-vos infidels!!! 🙂