1. Executați ultima comandă cu !!
Titlul spune totul, doar introduceți următoarele într-un terminal ...
!!
… Pentru a executa din nou ultima comandă introdusă. Acest truc este foarte util atunci când uităm să intrăm sudo la inceput. În acest caz, va trebui să introduceți:
sudo!!
Pentru a descoperi modalități mai complexe de a profita la maximum de acest truc, vă recomand să citiți acest lucru postare veche.
2. Executați ultima comandă, dar corectând o eroare de tastare
Acest truc este foarte util atunci când introducem o comandă cu o greșeală simplă. De exemplu, dacă rulăm:
ecou "desdelinuxz"
Îl puteți corecta introducând următoarele:
^z
3. Invocați un editor de text pentru a introduce o comandă lungă
Uneori trebuie să introduceți comenzi nesfârșite în terminal. În acest caz, ajutorul unui editor de text simplu, cum ar fi nano sau emacs, poate fi de ajutor.
Pentru a deschide editorul, trebuie doar să apăsați Ctrl + x + e într-un terminal. Textul pe care l-ați introdus până acum va fi copiat în editorul de text după deschidere.
La rândul său, editorul utilizat va fi cel specificat în variabila $ EDITOR. Pentru a modifica această configurație, este posibil să executați ...
export EDITOR = nano
… Înlocuirea nano cu editorul preferat.
4. Executați o comandă fără a o salva în istoric
Un hacker adevărat nu poate ignora acest truc. După cum știți cu toții, bash salvează istoricul comenzilor executate, care este foarte ușor de accesat folosind săgețile tastaturii sau Ctrl + R (a efectua un căutare inversă în istorie).
În acest caz, ceea ce trebuie să faceți pentru ca comanda introdusă să nu fie salvată în istoric este să puneți un spațiu în față:
comanda
5. Plasați automat ultimul parametru al unei comenzi
Să presupunem că comanda executată anterior a fost
cp file.txt / var / www / wp-content / uploads / 2009/03 /
Pentru a accesa directorul în cauză, puteți introduce comanda cd urmat de Alt +. o Esc +. :
cd „ALT +”.
Acesta nu este altceva decât o modalitate scurtă de a intra:
cd / var / www / wp-content / uploads / 2009/03 /
6. Executați o comandă la un moment specificat
Da, da, pentru asta există cron. Cu toate acestea, uneori vrem să executăm o comandă pentru a rula la un anumit moment, dar o singură dată.
Să presupunem că vrem să executăm comanda ls -l la miezul nopții. În acest caz, trebuie să-l executăm în felul următor:
ecou "ls -l" | la miezul nopții
7. Obțineți adresa IP externă
Mulțumim serviciului oferit de http://ifconfig.me/ Este posibil să cunoașteți diferite date ale conexiunii dvs. la internet, direct de la terminal:
curl ifconfig.me/ip // adresa IP curl ifconfig.me/host // Server la distanță curl ifconfig.me/ua // Agent utilizator curl ifconfig.me/port // Port
8. Aflați cum să utilizați Ctrl + u și Ctrl + y
De câte ori ți s-a întâmplat să începi să tastezi o comandă și ți-ai amintit că înainte era necesar să faci altceva? Ei bine, este posibil să faceți un fel de lipire, astfel încât mai târziu să fie mai ușor să reintroduceți comanda care a rămas pe jumătate.
Să presupunem că ai început să scrii ...
cd / acasă / utilizator
și ți-ai amintit că înainte trebuia să verifici ceva în directorul curent. În acest caz, apăsați Ctrl + u (Ar fi ceva de genul unei „tăieturi”).
Introduceți comanda care trebuia executată mai întâi. Să presupunem că ...
ls -l
... și apoi apăsați Ctrl + y (Funcționează ca o „pastă”).
9. Curățați terminalul cu ușurință
cu Ctrl + l terminalul poate fi curățat într-o clipită.
10. Mergeți la un director, executați o comandă și reveniți la directorul curent
Acest truc este o încântare. Pentru a executa o serie de comenzi fără a părăsi directorul curent, grupați-le între paranteze. După cum știe aproape toată lumea, pentru a executa o serie de comenzi, trebuie să le concatenați folosind &&. Folosind aceste concepte, putem executa ceva de genul:
(cd / tmp && ls)
Rezultatul acestei comenzi (observați parantezele) va fi o listă a fișierelor și directoarelor din dosar / tmp. Toate fără a părăsi directorul nostru actual. O bijuterie!
Yapa. Enumerați cele mai utilizate comenzi
Sa ii vedem cele mai utilizate comenzi pur și simplu executați următoarele:
istorie | awk '{a [$ 2] ++} END {for (i in a) {print a [i] "" i}}' | sort -rn | cap
În cazul meu, câștigătorii au fost:
450 yaourt 415 sudo 132 git 99 cd 70 leafpad 70 killall 68 ls 52 pacman 50 xrandr 45 top
Pentru fanii terminalelor, cum ar fi acest server, vă recomand să vizitați commandlinefu. De asemenea, de ce nu, nu încetați să vă uitați la arhivă de pe blogul nostru.
A fost unul pe care l-am folosit, care a omis majusculele în inputrc-ul meu, pentru că sincer multe fișiere care au început așa ar pătrunde în mine.
Cred că una dintre cele mai importante este comanda istoric în care returnează o listă numerotată
dintre comenzile pe care le-ați folosit și dacă doriți să utilizați oricare dintre ele, utilizați doar următoarea linie
! 22
care va executa comanda care este în istoricul dvs. la numărul 22 😀
Pentru a căuta o comandă cu completare automată este
Ctrl + r
De asemenea, folosesc întotdeauna Ctrl + r pentru a repeta ultima comandă; odată ce apare ultimul, puteți derula înapoi prin istoric apăsând Pag sus (săgeată sus).
Salutări.
Bun articol. Vă mulțumim că ne-ați împărtășit aceste sfaturi.
Vreau să vă împărtășesc una pe care o folosesc zilnic, care este „fg”, care vă permite să deschideți aplicațiile pe care le-ați oprit mai devreme cu „Ctrl + z”.
Și cu „bg” le trimiteți în fundal 🙂
Uită-te la tine ... truc bun! Vă mulțumim că l-ați distribuit.
Îmbrăţişare! Paul.
Postarea este excelentă, vă fac întotdeauna să vă amintiți lucruri pe care le știați și le-ați uitat în cele din urmă, dar care sunt cu adevărat utile.
Trucurile terminale sunt întotdeauna binevenite.
Incredibil, nu știam că adăugarea unui spațiu la comandă a fost omisă din Istorie.
Multumesc frumos, Salutari !!
pentru a utiliza istoricul de filtrare completă automată adăugați în fișierul $ HOME / .inputrc
„\ E [5 ~”: istoric-căutare-înapoi
„\ E [6 ~”: istoric-căutare-înainte
și, de exemplu, la un moment dat ați folosit:
$ cd / one / path / longer / than / the / shit
și acum doriți să-l utilizați din nou, trebuie să faceți:
$ cd
și apoi apăsați tastele „Page Up” sau „Page Down” pentru a naviga prin toate comenzile din istoric care au început cu „cd”.
SAU…. Fără a edita nimic, apăsați Ctrl + R și apoi cd (dacă doriți să căutați ceva cu „cd”) și apăsând în mod repetat Ctrl + R veți vedea toate comenzile care îl conțin până ajungeți la cea dorită. Evident, dacă este cel imediat precedent, veți primi unul.
Foarte bine!
De fapt, ls / tmp ar trebui să fie suficient pentru a lista directorul fără a părăsi actualul.
De asemenea, puteți concatena comanda folosind „;” ca în exemplul nr. 10 ar fi așa:
(cd / tmp; ls)
În ceea ce priveşte
El ";" Funcționează diferit de „&&” (și), când facem comanda-1 && comanda-2 a doua comandă este executată numai dacă ieșirea primei este „0”, adică fără erori. În cazul punctului și virgula, a doua comandă este executată indiferent de ieșirea primei. Pentru a extinde, există operatorul «||» (sau), în acest caz a doua comandă este executată numai dacă prima aruncă o eroare pe ieșire. Salutari.
Pentru ca fiecare linie care își amintește istoricul să aibă data și ora, există o variabilă de mediu în ~ .bashrc a utilizatorului normal sau a rădăcinii.
# nano .bashrc
export HISTTIMEFORMAT = »% F% T»
# istorie
492 2014-09-02 14:25:57 revdep-rebuild -i -v
493 2014-09-02 14:31:14 eclean-dist -d
494 2014-09-02 14:31:23 localepurge -v
495 2014-09-02 14:31:29 etc-update
496 2014-09-02 14:31:54 emerge –depclean –pretend
497 2014-09-02 14:39:08 actualizatb
Există mai multe opțiuni, care sunt pentru cantitatea de linii pe care le economisește, le testez.
Post foarte bun. Foarte util. Trucul numărul 4, acela de a executa o comandă fără a fi salvat în istorie, a funcționat doar pentru mine pe Ubuntu, nu pe Debian sau Centos.
A funcționat pentru mine pe raspbian și nu pe arc.
Merveilleux!!
Buna,
ce să puneți un spațiu înainte de a executa o comandă, astfel încât să nu fie înregistrată în istorie, deoarece nu funcționează ...
[user @ host /] $ ls -l
Total 104
dr-xr-xr-x. 2 rădăcină rădăcină 4096 21 aug 03:55 bin
dr-xr-xr-x. 5 rădăcină rădăcină 3072 20 aug 17:26 boot
drwxr-xr-x. 2 rădăcină rădăcină 4096 9 dec 2013 cgroup
[user @ host /] $ history
1024 ls
1025 ls
1026 istorie
1027 ls -l
1028 istorie
articol interesant ..
Un saludo
Ne pare rău, pentru că nu ați citit toate postările,
Testul se face și în centos.
Bine cu Ctrl + U și Ctrl + Y.
În sistemul meu, lista celor mai utilizate comenzi a funcționat pentru mine, schimbând variabila la 5 USD.
Exemplu de ieșire:
1122 sudo
362 l
279 clar
214 cd
142 săpa
141 iaurt
130 vnstat
122 mv
vineri 112
112 istorie
Acest lucru se datorează faptului că în fișierul meu .bashrc am următoarea linie:
# Afișați data la comanda istoric
export HISTTIMEFORMAT = '% F% T:'
Sunt aproape sigur că mulți de aici au folosit mai multe terminale în același timp.
Acum, nu știu dacă să vă spun că este un truc pentru terminal, dar, de obicei, am multe ferestre sau folosesc ecranul pentru a avea mai multe terminale deschise, acest lucru permite orice comandă introdusă într-unul dintre aceste terminale, așa cum va fi reflectată în toate.
Acest lucru intră în fișierul .bashrc:
HISTSIZE = 90000
HISTFILESIZE = $ HISTSIZE
HISTCONTROL = ignoră spațiul: ignorate
istorie () {
_bash_history_sync
istoricul încorporat „$ @”
}
_bash_history_sync () {
istoria încorporată -a # 1
HISTFILESIZE = $ HISTSIZE # 2
istoria încorporată -c # 3
istoria încorporată -r # 4
}
PROMPT_COMMAND = _bash_history_sync
Foarte bună contribuție! Multumesc pentru trecere.
Îmbrăţişare! Paul.
Felicitări pentru articol.
Foarte practic și am învățat câteva comenzi.
Deși sunt deja oarecum „experimentat” în aceste chestiuni, aceste trucuri sunt întotdeauna apreciate, așa că ... pentru portbagajul de trucuri !!!
minunat, mulțumesc pentru trucuri, sunt foarte utile 😀
Căile consolei sunt de neîncercat 😉
Trucul apăsării control + u și control + y nu depinde de shell, ci de configurația pe care o are tty. Până în prezent, sub Linux, tty sunt entități foarte complexe, de fapt, am cercetat funcționarea lor și pot asigura că au mult mai multe intrări și ieșiri decât pare. Tty-ul are câteva caractere de control care își schimbă starea, de exemplu mi s-a întâmplat uneori să pisez un fișier binar și, după ce tot „gunoiul” apare pe ecran, promptul este ciudat sau cu o altă codare. Acest lucru se datorează faptului că într-un fișier aleatoriu există o mare probabilitate de a întâlni caractere de control tty.
De exemplu, rulați acest lucru într-un shell:
tipărește „33c”
Aceasta va șterge ecranul (ca și cum ați rula clar).
Alte combinații, cum ar fi control + L pentru a șterge ecranul provin de la shell-ul în sine, care este utilizat, clasicele / bin / shells nu aduc de obicei această caracteristică.
În plus, astăzi există o mulțime de opțiuni complexe pentru gestionarea fișierelor și soclurilor sub Linux. De exemplu, dacă deschideți un dispozitiv tty folosind open (), în modul AIO (Asynchronous Input / Output), procesul va primi un SIGIO de fiecare dată când există date disponibile în bufferul de intrare.
Dacă, de exemplu, bash funcționează pur și simplu citind liniile și executând comenzi (așa cum se întâmplă atunci când executați un script), atunci când apăsați control + L, această secvență de caractere ar fi pur și simplu inclusă ca parte a comenzilor, dar deoarece bash are control a tamponului de intrare îl poate detecta.
De exemplu, uneori, când programez, am ajuns să folosesc fcntl pentru a obține un tampon de intrare neblocant, pe care l-am folosit chiar și cu bibliotecile ncurses (manipulați controlul tty înainte de a începe ncurses în program).
Salutări!
Pentru cei care nu au lucrat cu spațiul la început și poate pentru a-l adăuga la notă, există o variabilă numită HISTIGNORE în care caracterul care este adăugat înainte de o comandă este configurat astfel încât să fie ignorat în istorie.
În unele instalații, această variabilă nu provine
Salutări și postare bună! direct la favorite!
Rețineți că în comentarii am văzut și câteva lucruri interesante .. !!
Toate chiar foarte utile. Mulțumesc.