1. Izvršite zadnju naredbu sa !!
Naslov govori sve, samo unesite sljedeće u terminal ...
!!
… Za ponovno izvršavanje posljednje unesene naredbe. Ovaj trik je vrlo koristan kada zaboravimo ući sudo na početku. U tom slučaju morali biste unijeti:
znoj !!
Da biste otkrili složenije načine kako izvući maksimum iz ovog trika, preporučujem vam da ovo pročitate stari post.
2. Izvršite zadnju naredbu, ali ispravljajući grešku u kucanju
Ovaj trik je stvarno koristan kada unesemo naredbu jednostavnom tipkarskom greškom. Na primjer, ako pokrenemo:
izbacio"desdelinuxz"
Možete ga ispraviti unosom sljedećeg:
^z
3. Pozovite uređivač teksta da unesete dugu naredbu
Ponekad u terminal trebate unijeti beskrajne naredbe. U tom slučaju pomoć jednostavnog uređivača teksta, kao što je nano ili emacs, može biti korisna.
Da biste otvorili uređivač, samo pritisnite Ctrl + x + e u terminalu. Tekst koji ste do sada unijeli kopirat će se u uređivač teksta nakon što se otvori.
Sa svoje strane će se koristiti uređivač naveden u varijabli $ EDITOR. Da biste promijenili ovu konfiguraciju, moguće je izvršiti ...
izvoz UREDNIK = nano
... Zamjena nano-a sa željenim uređivačem.
4. Izvršite naredbu bez spremanja u povijest
Pravi haker ne može zanemariti ovaj trik. Kao što svi znaju, bash čuva istoriju izvršenih naredbi, čemu je vrlo lako pristupiti pomoću strelica na tastaturi ili Ctrl + R (za izvođenje a obrnuta pretraga u istoriji).
U ovom slučaju, ono što morate učiniti da se unesena naredba ne sačuva u povijesti je da stavite prostor ispred:
naredba
5. Automatski postavite zadnji parametar naredbe
Pretpostavimo da je naredba izvršena ranije bila
cp file.txt / var / www / wp-content / uploads / 2009/03 /
Da biste pristupili dotičnom direktoriju, možete unijeti naredbu cd praćeno Alt +. o Esc +. :
cd 'ALT +.'
Ovo je samo kratki način unosa:
cd / var / www / wp-content / uploads / 2009/03 /
6. Izvršite naredbu u određeno vrijeme
Da, da, za to postoji Cron. Međutim, ponekad želimo pokrenuti naredbu za pokretanje u određeno vrijeme, ali samo jednom.
Pretpostavimo da želimo izvršiti naredbu ls-l u ponoć. U tom slučaju moramo ga izvršiti na sljedeći način:
odjek "ls -l" | u ponoć
7. Nabavite svoj vanjski IP
Zahvaljujući usluzi koju pruža http://ifconfig.me/ Moguće je znati razne podatke vaše internetske veze, direktno s terminala:
curl ifconfig.me/ip // IP adresa curl ifconfig.me/host // Udaljeni poslužitelj curl ifconfig.me/ua // Korisnički agent curl ifconfig.me/port // Port
8. Naučite kako koristiti Ctrl + u i Ctrl + y
Koliko vam se puta dogodilo da ste počeli tipkati naredbu i sjetili se da je prije bilo potrebno nešto drugo učiniti? Pa, moguće je napraviti neku vrstu cut-paste, tako da je kasnije lakše ponovo unijeti naredbu koja je ostala napola.
Pretpostavimo da ste počeli pisati ...
cd / home / user
i sjetili ste se toga prije nego što ste morali provjeriti nešto u trenutnom direktoriju. U tom slučaju pritisnite Ctrl + u (To bi bilo nešto poput "reza").
Unesite naredbu koju je trebalo prvo pokrenuti. Pretpostavimo ...
ls-l
... a zatim pritisnite Ctrl + y (Djeluje poput "paste").
9. Lako očistite terminal
con Ctrl + l terminal se može začas očistiti.
10. Idite u direktorij, pokrenite naredbu i vratite se u trenutni direktorij
Ovaj trik je oduševljen. Da biste izvršili niz naredbi bez napuštanja trenutnog direktorija, samo ih grupirajte u zagrade. Kao što gotovo svi znaju, da biste izvršili niz naredbi, morate ih spojiti pomoću &&. Koristeći ove koncepte, možemo izvršiti nešto poput sljedećeg:
(cd / tmp && ls)
Rezultat ove naredbe (obratite pažnju na zagrade) bit će popis datoteka i direktorija u mapi / tmp. Sve bez napuštanja našeg trenutnog direktorija. Dragulj!
Yapa. Navedite najčešće korištene naredbe
Da ih vidim najčešće korištene naredbe samo izvršite sljedeće:
istorija | awk '{a [$ 2] ++} END {for (i in a) {print a [i] "" i}}' '| sort -rn | glava
U mom slučaju, pobjednici su:
450 yaourt 415 sudo 132 git 99 cd 70 listopad 70 killall 68 ls 52 pacman 50 xrandr 45 top
Za ljubitelje terminala, poput ovog servera, preporučujem posjet commandlinefu. Takođe, zašto ne, ne prestanite gledati arhiva s našeg bloga.
Bio je jedan koji sam koristio, a izostavio je velika slova u svom inputrc-u, jer iskreno, mnogi fajlovi koji su započeli ovako bi mi skliznuli.
Mislim da je jedna od najvažnijih naredba history u kojoj vraća numeriranu listu
naredbi koje ste koristili i ako želite koristiti bilo koju od njih, upotrijebite sljedeći redak
! 22
koja će izvršiti naredbu koja je u vašoj historiji pod brojem 22 😀
Traženje naredbe s automatskim dovršavanjem je
ctrl + r
Takođe uvijek koristim Ctrl + r da ponovim poslednju naredbu; nakon što se pojavi posljednji, možete se pomicati kroz povijest pritiskom na tipku Up Pag (strelica prema gore).
Pozdrav.
Dobar članak. Hvala što ste podijelili te savjete.
Želim podijeliti jedan koji svakodnevno koristim, a to je 'fg', koji vam omogućava otvaranje aplikacija koje ste ranije zaustavili pomoću 'Ctrl + z'.
A sa 'bg' ih šaljete u pozadinu 🙂
Pogledaj se ... dobar trik! Hvala što ste ga podijelili.
Zagrljaj! Paul.
Objava je izvrsna, uvijek vas natjeraju da se sjetite stvari koje ste znali i na kraju zaboravili, ali koje su zaista korisne.
Varalice na terminalu su uvijek dobrodošle.
Nevjerovatno nisam znao da je dodavanje razmaka naredbi izostavljeno iz historije.
Puno vam hvala, pozdrav !!
za korištenje povijesti automatskog dovršavanja filtriranja dodajte u datoteku $ HOME / .inputrc
"\ E [5 ~": pretraživanje povijesti unatrag
"\ E [6 ~": istorija-pretraživanje unaprijed
i na primjer u nekom trenutku ste koristili:
$ cd / one / path / longer / than / the / shit
i sada ako ga želite ponovo koristiti, morate učiniti:
$ cd
a zatim pritisnite tipke "Page Up" ili "Page Down" da biste se kretali kroz sve naredbe u povijesti koje su započele s "cd".
ILI…. Bez ikakvog uređivanja pritisnite Ctrl + R, a zatim cd (ako želite nešto potražiti pomoću 'cd') i pritiskajući Ctrl + R više puta vidjet ćete sve naredbe koje ga sadrže dok ne dođete do one koju želite. Očigledno je da ako je neposredno prethodni, dobit ćete je.
Veoma dobro!
Zapravo bi ls / tmp trebao biti dovoljan za navođenje direktorija bez napuštanja trenutnog.
Naredbu možete povezati i pomoću ";" kao u primjeru br. 10 to bi bilo ovako:
(cd / tmp; ls)
Saludos
On ";" Radi drugačije od "&&" (i), kada radimo command-1 && command-2, druga se naredba izvršava samo ako je izlaz prve "0", to jest bez greške. U slučaju točke sa zarezom, druga se naredba izvršava bez obzira na izlaz prve. Da produžimo, postoji operator «||» (ili), u ovom se slučaju druga naredba izvršava samo ako prva baci grešku na izlaz. Pozdrav.
Tako da svaka linija koja pamti historiju ima datum i vrijeme, postoji varijabla okoline u ~ .bashrc normalnog korisnika ili korijena.
# nano .bashrc
izvoz HISTTIMEFORMAT = »% F% T»
# istorija
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 itd-ažuriranje
496 2014-09-02 14:31:54 emerge –depclean – pretvarati se
497 2014-09-02 14:39:08 updatedb
Postoji više opcija, a to je za količinu linija koje on sprema, ja ih testiram.
Vrlo dobar post. Zaista vrlo korisno. Trik broj 4, izvršavanje naredbe bez spremanja u historiju, djelovao mi je samo na Ubuntuu, ne i na Debianu ili Centosu.
Uspjelo mi je na malinjak, a ne na luk.
Merveilleux!!
zdravo,
šta staviti razmak prije izvršavanja naredbe da se ne registrira u povijesti, jer ne radi ...
[korisnik @ host /] $ ls -l
ukupno 104
dr-xr-xr-x. Korijen 2 korijena 4096 21. avgust 03:55 bin
dr-xr-xr-x. 5 root root 3072 20. avgust 17:26 pokretanje
drwxr-xr-x. 2 root root 4096 9. decembra 2013. cgroup
[user @ host /] $ historija
1024 ls
1025 ls
1026 istorija
1027 ls -l
1028 istorija
zanimljiv članak ..
Hvala!
Žao nam je, što nisam pročitao sve postove,
Test se takođe radi u centima.
Dobro sa Ctrl + U i Ctrl + Y.
U mom sistemu, lista najčešće korištenih naredbi djelovala je kod mene tako što sam promijenila varijablu u $ 5.
Izlazni primjer:
1122 sudo
362 ms
279 jasno
214 CD
142 dig
141 god
130 vnstat
122 mv
petak 112
112 istorija
To je zato što u svojoj .bashrc datoteci imam sljedeći redak:
# Prikažite datum naredbi povijesti
izvoz HISTTIMEFORMAT = '% F% T:'
Gotovo sam siguran da su mnogi ovdje okolo istovremeno koristili nekoliko terminala.
Sad, ne znam da li da vam kažem da je to trik na terminalu, ali kako obično imam mnogo prozora ili koristim zaslon da bih otvorio nekoliko terminala, ovo omogućava bilo koju naredbu unesenu u jedan od tih terminala, jer će se to odraziti na sve.
Ovo ide u datoteku .bashrc:
HISTSIZE = 90000
HISTFILESIZE = $ HISTSIZE
HISTCONTROL = ignorespace: ignoredups
istorija () {
_bash_history_sync
ugrađena istorija "$ @"
}
_bash_history_sync () {
ugrađena istorija -a # 1
HISTFILESIZE = $ HISTSIZE # 2
ugrađena istorija -c # 3
ugrađena istorija -r # 4
}
PROMPT_COMMAND = _bash_history_sync
Vrlo dobar doprinos! Hvala na polaganju.
Zagrljaj! Paul.
Čestitam na članku.
Vrlo praktično i naučio sam nekoliko naredbi.
Iako sam već pomalo "iskusan" u ovim stvarima, ovi trikovi se uvijek cijene, pa ... za trunku trikova !!!
super, hvala na trikovima, stvarno su korisni 😀
Staze konzole su nesagledive 😉
Trik pritiskanja control + u i control + y ne ovisi o ljusci, već o konfiguraciji koju imaju tty. Do danas su pod Linuxom tty vrlo složeni entiteti, zapravo istraživao sam njihov rad i mogu uvjeriti da imaju mnogo više ulazaka i izlaza nego što se čini. Tty imaju neke kontrolne znakove koji mijenjaju njihov status, na primjer, ponekad mi se dogodilo da mačim binarnu datoteku, a nakon što se sav "smeće" pojavi na ekranu, upit je čudan ili s drugim kodiranjem. To je zato što u slučajnoj datoteci postoji velika vjerojatnost susreta s tty kontrolnim znakovima.
Na primjer, pokrenite ovo u ljusci:
print '33c'
To će očistiti ekran (kao da trčite čisto).
Ostale kombinacije, kao što su control + L za čišćenje ekrana dolaze iz same ljuske koja se koristi, klasične / bin / sh školjke obično ne donose ovu značajku.
Pored toga, danas postoji puno složenih opcija za rukovanje datotekama i utičnicama pod Linuxom. Na primjer, ako otvorite tty uređaj pomoću open (), u AIO (Asynchronous Input / Output) načinu, proces će dobiti SIGIO svaki put kada su podaci dostupni u ulaznom međuspremniku.
Ako, na primjer, bash radi jednostavno čitanjem linija i izvršavanjem naredbi (kao što je to slučaj prilikom izvršavanja skripte), pritiskom na control + L, ovaj slijed znakova jednostavno bi bio uključen kao dio naredbi, ali budući da bash ima kontrolu me uspremnika unosa može to otkriti.
Na primjer, ponekad sam prilikom programiranja koristio fcntl da dobijem neblokirajući ulazni međuspremnik, koji sam koristio čak i sa bibliotekama ncurses (manipuliram kontrolnom tty prije pokretanja ncurses u programu).
Hvala vam!
Za one koji na početku nisu radili s razmakom, a možda i da bi ga dodali u bilješku, postoji varijabla koja se naziva HISTIGNORE gdje je znak koji je dodan prije naredbe konfiguriran da se ignorira u povijesti.
U nekim instalacijama ova varijabla ne dolazi
Pozdrav i dobar post! direktno na favorite!
Imajte na umu da sam u komentarima vidio i nekoliko zanimljivosti .. !!
Sve zaista korisno. Hvala ti.