1. Izvršite zadnju naredbu s !!
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 ovo pročitati stari post.
2. Izvršite zadnju naredbu, ali ispravljajući pogrešku u tipkanju
Ovaj je trik doista koristan kada naredbu unesemo jednostavnom tipkovnicom. Na primjer, ako pokrenemo:
izbaciti "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 s ž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 sprema povijest izvršenih naredbi, čemu je vrlo jednostavno pristupiti pomoću strelica tipkovnice ili Ctrl + R (za izvođenje a obrnuta pretraga u povijesti).
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 ranije izvršena naredba bila
cp file.txt / var / www / wp-content / uploads / 2009/03 /
Da biste pristupili dotičnom direktoriju, možete unijeti naredbu cd slijedi Alt +. o Esc +. :
cd "ALT +."
Ovo je samo skraćeni način ulaska:
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 je -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, izravno 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. Saznajte 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 učiniti nešto drugo? Pa, moguće je napraviti neku vrstu cut-paste, tako da je kasnije lakše ponovno 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 (Bilo bi to nešto poput "reza").
Unesite naredbu koju je trebalo prvo pokrenuti. Pretpostavimo ...
je -l
... a zatim pritisnite Ctrl + y (Djeluje poput "paste").
9. Lako očistite terminal
s 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 užitak. 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:
povijest | awk '{a [$ 2] ++} END {for (i in a) {print a [i] "" i}}' '| razvrstati -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
Ljubiteljima terminala, poput ovog poslužitelja, preporučujem posjet naredbeni redakfu. Također, zašto ne, ne prestanite gledati Arhiva s našeg bloga.
Bio sam jedan koji sam upotrijebio, a izostavio je velika slova u svom inputrc-u, jer iskreno, mnoge datoteke koje su započele ovako kliznule bi u mene.
Mislim da je jedna od najvažnijih naredba povijesti u kojoj vraća numerirani popis
naredbi koje ste koristili, a ako želite koristiti bilo koju od njih, upotrijebite sljedeći redak
! 22
koja će izvršiti naredbu koja je u vašoj povijesti na broju 22 😀
Traženje naredbe s automatskim dovršavanjem je
ctrl + r
Također uvijek koristim Ctrl + r za ponavljanje posljednje naredbe; nakon što se pojavi posljednji, možete se pomicati natrag kroz povijest pritiskom na gore (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ćuje otvaranje aplikacija koje ste ranije zaustavili pomoću "Ctrl + z".
A s 'bg' ih šaljete u pozadinu 🙂
Pogledaj se ... dobar trik! Hvala što ste ga podijelili.
Zagrliti! Pavao.
Izvrsna pošta, 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.
Nevjerojatno, nisam znao da je dodavanje razmaka naredbi izostalo iz Povijesti.
Puno vam hvala, pozdrav !!
da biste koristili automatsko dovršavanje povijesti filtriranja dodajte u datoteku $ HOME / .inputrc
"\ E [5 ~": povijest-pretraživanje unatrag
"\ E [6 ~": povijest-pretraživanje unaprijed
i na primjer u nekom trenutku ste koristili:
$ cd / a / put / duže / duže / od / tog / sranja
a sada ga želite ponovno 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'), a pritiskom na Ctrl + R vidjet ćete sve naredbe koje ga sadrže dok ne dođete do one koju želite. Očito je da ako je neposredno prethodni, dobit ćete je.
Vrlo dobro!
Zapravo bi ls / tmp trebao biti dovoljan za navođenje direktorija bez napuštanja trenutnog.
Naredbu također možete povezati pomoću ";" kao u primjeru br. 10 to bi bilo ovako:
(cd / tmp; ls)
pozdravi
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 proširimo, postoji operator «||» (ili), u ovom se slučaju druga naredba izvršava samo ako prva baci pogrešku na izlaz. Pozdrav.
Da bi svaki redak koji pamti povijest imao datum i vrijeme, u ~ .bashrc normalnog korisnika ili korijena mora postojati varijabla okoline.
# nano .bashrc
izvoz HISTTIMEFORMAT = »% F% T»
# povijest
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 ažuriranob
Postoji više opcija, a to je za količinu linija koje sprema, ja ih testiram.
Vrlo dobar post. Stvarno vrlo korisno. Trik broj 4, onaj izvršavanja naredbe bez spremanja u povijest, djelovao mi je samo u Ubuntuu, ne u Debianu, niti u Centosu.
Uspjelo mi je na raspbian, a ne na arch.
Merveilleux!!
Pozdrav,
što staviti razmak prije izvršavanja naredbe kako ne bi bio registriran u povijesti jer ne radi ...
[korisnik @ domaćin /] $ ls -l
Ukupno 104
dr-xr-xr-x. Korijen 2 korijena 4096 21. kolovoza 03:55 bin
dr-xr-xr-x. Korijen 5 korijena 3072 20. kolovoza 17:26 pokretanje
drwxr-xr-x. Korijen 2 korijena 4096 9. prosinca 2013. cgroup
[user @ host /] $ povijest
1024 ls
1025 ls
1026 povijest
1027 ls -l
1028 povijest
zanimljiv članak ..
pozdravi
Oprostite, jer nisam pročitao sve postove,
Test se radi i u centima.
Dobro s Ctrl + U i Ctrl + Y.
U mom sustavu, popis najčešće korištenih naredbi radio je za mene mijenjajući varijablu u 5 dolara.
Izlazni primjer:
1122 sudo
362 ls
279 vedro
214 cd
142 kopati
141 godine
130 vnstat
122 mv
petak 112
112 povijest
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 u isto vrijeme koristili nekoliko terminala.
Sad, ne znam bih li vam rekao da je to trik s terminalima, ali budući da obično imam mnogo prozora ili koristim zaslon da bih otvorio nekoliko terminala, to omogućuje bilo koju naredbu unesenu u jedan od tih terminala, jer će se to odraziti u sve.
To ide u datoteku .bashrc:
VELIČINA = 90000
HISTFILESIZE = $ HISTSIZE
HISTCONTROL = ignorira prostor: ignorira
povijest () {
_bash_history_sync
ugrađena povijest "$ @"
}
_bash_history_sync () {
ugrađena povijest -a # 1
HISTFILESIZE = $ HISTSIZE # 2
ugrađena povijest -c # 3
ugrađena povijest -r # 4
}
PROMPT_COMMAND = _bash_history_sync
Vrlo dobar doprinos! Hvala na prolasku.
Zagrliti! Pavao.
Svaka čast na članku.
Vrlo praktično i naučio sam nekoliko naredbi.
Iako sam već pomalo "iskusan" u tim stvarima, ovi trikovi se uvijek cijene, pa ... za trunku trikova !!!
super, hvala na trikovima, stvarno su korisni 😀
Staze konzole su neupitne 😉
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 ulaza i izlaza nego što se čini. Tty imaju neke kontrolne znakove koji mijenjaju njihov status, na primjer, ponekad mi se dogodilo da mackam 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:
tisak '33c'
To će očistiti zaslon (kao da trčite čisto).
Ostale kombinacije, kao što su control + L za čišćenje zaslona dolaze iz ljuske koja se koristi, klasične / bin / sh školjke obično ne donose ovu značajku.
Uz to, 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 redaka 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 ulaznog međuspremnika može ga otkriti.
Na primjer, ponekad sam prilikom programiranja došao da koristim fcntl da bih dobio neblokirajući ulazni međuspremnik, koji sam koristio čak i s knjižnicama ncurses (manipuliram kontrolnom tty prije pokretanja ncurses u programu).
Saludos!
Za one koji na početku nisu radili s prostorom, 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 tako da se ignorira u povijesti.
U nekim instalacijama ova varijabla ne dolazi iz
Pozdrav i dobar post! izravno na favorite!
Imajte na umu da sam u komentarima vidio i nekoliko zanimljivosti .. !!
Sve stvarno vrlo korisno. Hvala vam.