În acesta, primul meu articol pentru DesdeLinux, vreau să fac o scurtă referire la o consolă sau o comandă shell nu foarte cunoscută, dar foarte practică, a oricărui Linux. Vreau să spun istorie.
Aproape toată lumea care folosește Linux știe că, dacă apăsăm săgeata sus într-un terminal, aceasta ne va arăta comanda folosită anterior și că, dacă continuăm să apăsăm, vom merge înapoi în acea listă de comenzi. Întoarce asta !! vom executa ultima comandă folosită. Ei bine, asta datorită istorie, dar potențialul său nu se termină aici, deoarece dacă îl executăm direct, vom obține o listă cu ultimele mii de comenzi:
sebastian:~$ history
1543 ping -c 2 desdelinux.net
1544 clear
1545 sudo apt-get update
1546 uname
1547 history
Lista în sine va fi mai lungă, dar cu câteva exemple este suficientă. De acum incolo putem vedea tot istoricul comenzilor utilizate împreună cu un număr care ne va permite să îl localizăm pe cel pe care îl dorim în lista respectivă. Dacă doriți, puteți face și asta istorie arată data executării aceleiași.
Deci, scriind ! plus numărul liniei, shell-ul va executa comanda care corespunde acelei linii:
sebastian:~$ !1543
ping -c 2 desdelinux.net
PING desdelinux.net (192.31.186.28) 56(84) bytes of data.
Dar, putem executa și prin litere, deoarece dacă punem !+un va executa linia "1546", deoarece rulați ultima comandă care începe cu literele respective.
sebastian@soporte-mesi01:~$ !un
uname
Linux
Aveți grijă, deoarece acest lucru poate fi riscant, deoarece nu știm care este ultima comandă care începe cu acele litere și deci cel mai bun lucru pentru a recupera o comandă folosită anterior este cu combinația de taste CTRL+r, unde ne va oferi un motor de căutare și, pe măsură ce tastăm, ne va arăta ultima comandă completă care se potrivește. Deci cu stoarcere introduce îl va executa.
Dacă, pe de altă parte, dorim să enumerăm de fiecare dată când folosim o comandă, trebuie să folosim grep:
sebastian:~$ history | grep uname
1499 uname -r
1500 uname -a
1546 uname
1549 uname
1550 history | grep uname
Cu care va afișa doar liniile în care se află cuvântul căutat, în acest caz «uname“.
Grozav! Vă mulțumim pentru sfaturi
Felicitări, pont excelent
Asta se căuta, mulțumesc !!!
Nu știam Ctrl + r, o voi practica, așa că rămâne în baza de date a creierului.
De asemenea, ați putea adăuga la postarea comenzii ¨ $ history -c ¨ care, după cum știți, este folosită pentru a șterge istoricul, de multe ori util dacă nu dorim să lăsăm indicii sau dacă ne murdărim tastând o comandă greșită.
Salutări și mulțumiri pentru postare !!
Cel care a folosit parametrul -c l-am cunoscut, dar adevărul nu l-am folosit niciodată
Comandă rapidă foarte interesantă „Ctrl + r”. Adăugați că, dacă avem mai multe terminale deschise, comanda „istoric” arată doar cea a terminalului respectiv până când se deschide un alt terminal nou.
Poate fi folosit și cu comanda „coadă” (pentru a vedea ultimele comenzi) sau cu „mai puțin” pentru a le vedea după pagină.
Salutări!
Sunt acele mici sfaturi pe care le uiți din când în când, dar sunt foarte utile, mulțumesc 😉
Minunat.
Datorită acestui fapt, în loc să scrieți rsync -avl -stats -progress / media / data / WEBS / / media / WD / WEBS
Trebuia doar să scriu! 496, și de acum înainte va fi!
Regret întotdeauna că am început târziu cu Linux și mă simt întotdeauna norocoasă că am început Linux.
Vă mulțumim pentru aceste comenzi. Cu siguranță sunt în om, dar nu mă uit niciodată la el, la fel ca atunci când cumpăr un gadget, ultimul lucru la care mă uit este manualul.
Mulţumesc.
Primeste un salut cald.
Vito, rețineți că numărul liniei din istorie se va schimba, pe măsură ce se vor adăuga mai multe linii. Ceea ce vă recomand să faceți pentru a evita tastarea întregii linii este să-l adăugați ca alias la .bashrc-ul dvs., astfel doar prin tastarea numelui aliasului pe care l-ați atribuit, va fi executată întreaga linie pe care ați atribuit-o.
Salutări!
Mulţumesc.
Numărul a fost exemplul cazului meu. Numărul respectiv era în evidența mea și, cu asta, am încercat sfatul. Știu că se schimbă și, de fiecare dată când îl rulez, apare aceeași comandă cu un număr nou.
Despre aliasurile din .bashrc, îl știu și îl folosesc doar pentru a opri monitoarele cu „pan” în loc de comanda corespunzătoare (sleep 1 && xset dpms force off), dar nu folosesc aliasuri prea mult, deoarece sunt multe comenzi pe care le folosesc, apoi am problema de a trebui să-mi amintesc aliasul; Și ajung să am de două ori mai multe probleme. Amintiți-vă comanda sau amintiți-vă aliasul comenzii.
Astfel, este economic pentru mine să-mi amintesc „istoria” sau chiar mai ușor „istoria | grep rsync »pentru când trebuie să-mi fac backup. Acesta din urmă este un exemplu al unuia dintre utilitățile pe care le văd.
Cu siguranță, îl văd foarte util, cel puțin în cazul meu, pentru a-mi păstra memoria creierului, care este foarte rar. Deci nu trebuie să-mi amintesc zeci de comenzi.
Multumesc pentru raspunsul tau.
Cele mai bune urări.
De asemenea, este foarte util să executați (fără ghilimele) „history> historia.txt” și astfel să salvați comenzile pe care le-am executat într-un fișier text.
Da, puteți chiar să filtrați întotdeauna folosind grep în mijloc, de exemplu cu ceva de genul
history | grep uname >pru.txt
Și apoi, txt-ul ar salva rezultatele doar cu comanda «uname» 😉
Cel mai bun: Ctrl + r
Articol bun și foarte util. Vă mulțumim pentru informații 🙂