Naučite Linux

Naredba povijesti u Linuxu s primjerima

Naredba povijesti u Linuxu s primjerima

Naredba history u Linuxu nije složeni žargon. To je točno ono što mislite da jest i iza njega nema skrivenog značenja. Na isti način na koji gledate povijest preglednika nakon dugog dana na Internetu, tako i vi doživljavate naredbu history. Sve se sastoji od praćenja vaših prethodnih pokreta i radnji, ali u ovom slučaju to je na Linux terminalu ili naredbenom retku.

Stoga naredbu history pod Linux domenom možemo komotno definirati kao način pregleda prethodno izvršenih naredbi. U ovom slučaju, terminal možemo gledati kao preglednik u kojem izvršavate razne naredbe u neprekidnom vremenskom okviru. Ove izvršene naredbe tumače se pojedinačno kao događaji. Potom se svakom događaju dodjeljuje broj događaja. Stoga imamo naredbe s id-ovima kao brojeve događaja pohranjene u povijesnoj datoteci nakon njihovog izvršenja terminala.

Značaj ID-a događaja očit je kada ćete kasnije možda trebati opozvati određenu naredbu koju ste izvršili. Također, možda ćete htjeti izmijeniti prethodno izvršenu naredbu. Stoga možemo zaključiti uvodno razumijevanje naredbe history za prikaz svih prethodno izvršenih naredbi ili samo određene naredbe na terminalu. Također, ne bismo smjeli zaboraviti održivu mogućnost izmjene navedene naredbe.

Dopuštanje povijesti da se ponovi

Ovaj povijesni članak možemo započeti na zabavan način i citirajući Georgea Santayanu. Ovaj poznati pojedinac povezuje nesposobnost prisjećanja prošlosti s kletvom ponavljanja. Međutim, kad zakoračimo u Linux svemir, ovaj se citat kvalificira samo kao mit. To je zato što je filozofija Linuxa realno suprotna citiranom Georgeu Santayani. Ako se ne možete sjetiti prošlih radnji na Linux terminalu, ne trebate se o tome brinuti jer su šanse da se to ikad rasplete.

Ako naravno ne postanete majstor Linux povijesti naredbe, tada možete putovati u prošlost i ispraviti svoje prijašnje grijehe na terminalu ako je to vaša želja. Korištenje naredbe za povijest Linuxa ni na koji način nije suradnik lijenosti. Štedi vrijeme zahvaljujući učinkovitosti. Kako napredujete u svladavanju operativnog sustava Linux, naći ćete se kako radite s dužim i složenijim naredbama. Čak i ako svoj IQ usporedite s onim Alberta Einsteina, nećete imati vremena prisjetiti se svih naredbi koje izvršavate i uskoro početi raditi grozne pogreške. Rad na Linux terminalu izložit će pojedinca dvjema vrstama pogrešaka:

O naredbi history možete misliti kao o nindži ratniku koji iskorjenjuje ove dvije vrste pogrešaka kako bi povećao vašu produktivnost. Riječ razmišljanja prije nego što započnemo s vodičem, naredba o povijesti Linuxa sadrži više od pukog korištenja tipke sa strelicom gore. Naš pristup učinit će da izgledate profesionalnije.

Unesite Linuxovu naredbu povijesti

Pokretanje naredbe history lako je poput unošenja riječi history na vaš Linux terminal. Zato upalite svoj terminal i prođite kroz ovaj jednostavni kviz pravopisa.

povijesti

naredba povijesti

Ako pritisnete Enter, dobit ćete popis svih naredbi koje ste izvršili na terminalu s dodijeljenim ID-ovima ili brojevima događaja. Sustav numeriranja koji koristi sučelje Linux terminala prikazuje najstariju naredbu na vrhu popisa i novotipkanu naredbu na dnu popisa. Kao što vidite, naredbi povijesti koju sam upravo upisao dodijeljen je id broj 24.

popis naredbi povijesti

Razmotrimo scenarij vrlo aktivnog Linux terminala. Ako bismo na ovom terminalu upisali naredbu history, izlaz bi bio, recimo, popis od 500 naredbi spremljenih u datoteku povijesti. Dakle, naredba history korisna je u filtriranju određenog grupiranog segmenta naredbi. Recimo da želimo pogledati zadnjih 10 naredbi izvršenih na terminalu. Filtrirat ćemo se kroz terminal utipkavanjem sljedećeg.

povijest 10

zadnjih deset naredbi na datoteci povijesti

Kao što vidite, naredba 'history 10' filtrirala je zadnjih deset naredbi korištenih na ovom terminalu i stavila ih na naš terminal s uključenjem u naredbu 'history 10'.

To je jedan od načina za postizanje ovog cilja. Još jedan štreberski način da to učinite je izvođenjem naredbe povijesti drugom naredbom koja se naziva rep naredba. Upišite sljedeću naredbu, kao što je preneseno na snimci zaslona u nastavku.

povijest | rep -n 10

pomoću naredbe tail za prikaz zadnjih deset naredbi u datoteci povijesti

Naredba također navodi zadnjih 10 izvršenih naredbi na Linux terminalu, uključujući onu koju smo upravo izvršili.

Zapravo ponavljajuća povijest

Vrijeme je za zabavni dio korištenja naredbe history. Kako bi bilo da započnemo tako što ćemo zapravo pustiti da se povijest ponavlja. Budući da ste upoznati s naredbama povijesti i s njima povezanim ID-ovima događaja, vratimo se na terminal. Da biste ponovili točno navedenu naredbu, uzmite u obzir njezin ID događaja i ismijajte sljedeću naredbu, kako je prikazano na snimci zaslona. Nemojte koristiti razmake prilikom tipkanja naredbe.

!17

koristeći ID događaja za izvršavanje prethodne naredbe

U mom slučaju želio sam pogledati datoteku Linux / etc / host i zatraženo je da unesem lozinku za provjeru autentičnosti. Čim su moje vjerodajnice odobrene, naredba se sama izvršila.

izvršena naredba na datoteci povijesti

Također postoji slučaj kada želite ponoviti prethodnu naredbu koju ste izvršili. Postizanje ovog cilja jednostavno je poput unosa dva uskličnika na terminal. Ne koristite razmake.

!!

ponovno izvršavanje prethodne naredbe

ponovno izvršena naredba povijesti

Kao što vidite, naredba nas je vratila u Linux / etc / host datoteku koju sam prethodno otvorio. Bila je potrebna dvostruka naredba uzvika da bih ponovno upotrijebila moju prethodnu naredbu, koja je izvršena sama. Možda ste navikli na tipkovnicu sa strelicom prema gore, koja je zahtijevala da izvršite dvije radnje, pomaknite se jednom prema gore i pritisnite tipku za unos. Međutim, naredba dvostrukog uzvika izgleda brže i profesionalnije jer trebate izvršiti samo jednu radnju.

Budući da naredba koju sam koristio zahtijeva Sudo privilegije, mogu svojim dvostrukim uskličnicima prefiksirati Sudo naredbu kako bih dala isti očekivani rezultat.

sudo !!

bavljenje naredbom povijesti Suda

Jedan broj uskličnika u kombinaciji s ID-om događaja izvršit će prikazanu naredbu vezanu za taj ID. Dvostruki uskličnik omogućuje vam izvršenje vaše posljednje korištene naredbe s mogućnošću dodavanja naredbe pred Sudo ako za izvršavanje zahtijeva korisnika sudoer-a.

Možda ćete također htjeti podići svoju nesmotrenost na sljedeću razinu i htjeti način da ponovite svoje 3rd ili 6th prethodna naredba. U tom ćete slučaju trebati uzeti na znanje id događaja povezan s naredbom. Zatim ćete kombinirati ID događaja s crticom i jednim uskličnikom kako slijedi.

!-21

izvršavanje bilo koje prethodne naredbe na datoteci povijesti

Na mom kraju, želio sam postaviti pitanje o svojoj 21sv prethodne naredbe, a ispostavilo se da je to ping zahtjev za moju lokalnu IP adresu. Korištenje ove sekvence naredbi korisno je kada želite provjeriti prethodno izvršenu naredbu i utvrditi jesu li parametri pomoću kojih ste je izvršili još uvijek valjani ili nisu pristrani.

Zapovjedni nizovi

Recimo da ste izvršili neku naredbu na svom terminalu, ali niste je potpuno zapamtili. Sigurni ste, međutim, u učinkovitost zapovijedi i kako vam je pomogla. Poznavanje dijela niza koji čini ovu naredbu vrlo je korisno. U mom sam slučaju vrlo siguran da sam jednom pokrenuo naredbu za ažuriranje svog sustava. Recimo da ovu naredbu za ažuriranje sustava još nisam u potpunosti zapamtio, ali znam da dio naredbe sadrži niz 'apt' kao početnu formulaciju naredbe. Da bih ponovno upotrijebio ovu naredbu, upišem sljedeću naredbu na svom terminalu. Međutim, budući da je za većinu naredbi za ažuriranje sustava potrebna autorizacija korisnika sudoer-a, stavit ću prefiks naredbenog niza koji želim koristiti sa Sudom.

sudo !prikladan

naredba povijesti sa nizovima

Kao što vidite, uspješno sam ažurirao svoj Linux sustav iz naredbenog retka bez korištenja potpune naredbe 'sudo apt update'. Ovaj hak iz priručnika za naredbe o povijesti Linuxa koristan je kada se bavite dužim naredbama koje bi mogle biti dosadne za tipkanje ili bi mogle dovesti do mučne greške. Možda uređujete datoteku čiji relativni put daje dugotrajnu naredbu ili samo kopirate datoteke. U svakom slučaju, potreban vam je pristup bez stresa za recikliranje ponavljajućih naredbi.

Budući da smo se dotakli aspekta autorizacije korisnika sudoer, mogli bismo na kraju udariti u zid ako ne budemo oprezni. Većina naredbi sudoer privilegiranih korisnika zahtijevat će prefiks Sudo za izvršenje. Stoga upišite naredbu niza poput '!sudo 'za naredbe koje počinju sa Sudo možda neće biti dovoljno jer bi moglo dovesti do izvršenja neželjenog niza naredbi. Međutim, možemo osigurati zaštitnu mrežu korištenjem parametra: p koji je modifikator ispisa. Stoga bi kombiniranje naše naredbe stringa s njom trebalo dati rezultate poput sljedećih.

!sudo: str

naredba history s modifikatorom ispisa

Naredba je ispisala dostupne Sudo naredbe koje sam upravo koristio. Da bih ponovno upotrijebio ovu naredbu, upotrijebit ću tipku sa strelicom gore i pritisnuti enter da bih je izvršio. Ako bi popis pokazivao više od jedne Sudo naredbe, i dalje bih koristio tipku sa strelicom gore za navigaciju do određene Sudo naredbe koju sam želio ponovno upotrijebiti.

Nisu sve mogućnosti koje imamo u vezi sa žicama. Također postoji slučaj kada znate samo određeni niz definiran u naredbi koju želite koristiti. To je slučaj kada niste sigurni u prve nizove koji definiraju naredbu koju ste prethodno koristili. Ovdje ćete upotrijebiti i uskličnik i upitnik da biste pronašli svoju naredbu.

!?ping

izvršavanje određene naredbe iz povijesne datoteke kroz nizove

Koristio sam!?slijed naredbe ping ', koji je trenutno izvršio moj prethodni zahtjev za ping. Ovu sekvencu možete koristiti za izvršavanje prethodnih naredbi na vašem terminalu koje su jedinstvene za druge.

Interaktivno pretraživanje

Pretpostavimo da imate nekoliko prethodnih naredbi koje ste izvršili i da imaju slične ili odgovarajuće sekvence nizova. Od svih ovih podudarnih znakova, možda biste željeli izvršiti samo određenu sekvencu naredbi u tom naboru. Interaktivno pretraživanje omogućuje vam da dođete do ove jedne naredbe koju želite izvršiti. Za pokretanje interaktivnog pretraživanja kombinirajte tipke Ctrl + r. Zaslon vašeg terminala za Linux trebao bi izgledati slično onome u nastavku.

naredba povijesti i interaktivno pretraživanje

Samo upišite trag za naredbu koju trebate izvršiti. U mom sam slučaju upisao "apt" i kao što vidite, pojavio se između apostrofa i backticka. Možete unijeti što više tragova o naredbi koja se traži, a interaktivno pretraživanje kontinuirano će ažurirati povezane rezultate. Pritiskom na enter odmah ćete izvršiti pronađenu naredbu.

sudo apt ažuriranje

pomoću interaktivnog pretraživanja

Štoviše, možda ćete htjeti urediti pronađenu naredbu prije izvršavanja. Da biste to učinili, upotrijebite lijevu i desnu strelicu tipkovnice. Pronađena naredba sada će se prikazati na terminalu, gdje možete unijeti potrebne promjene.

sudo apt update && cd FOSSLinux

uređivanje interaktivnog pretraživanja

Brisanje naredbi povijesti

Do sada sada možete dohvaćati, postavljati upite, ažurirati i izvršavati naredbe iz povijesne datoteke. Međutim, možda tražite način da ispraznite popis povijesti nekih ili svih njegovih naredbi. Možda ste ona vrsta korisnika koja ne želi da itko prati kako je koristio njihov Linux sustav. Parametar -d pomaže vam da se riješite nekih neželjenih naredbi na datoteci povijesti. U mom slučaju, moja povijesna datoteka sadrži pogrešno napisanu naredbu s ID brojem događaja 44.

naredba pronalaženja povijesti za brisanje

Da bih se riješio ove pogrešno napisane naredbe, učinit ću sljedeće na svom terminalu.

povijest -d 44

pomoću ID-a događaja za brisanje naredbe povijesti

Ponovno pokretanje naredbe 'history' pokazuje da je pogrešno napisana naredba izbrisana.

potvrđujući brisanje naredbe history

Opcija brisanja ne odnosi se samo na jednu naredbu, već obuhvaća i niz naredbi. Na primjer, razmotrite sljedeću naredbu.

povijest -d 10 20

Ova će naredba izbrisati unose u datoteku povijesti s ID-a događaja 10 na ID događaja 20. Sljedeća naredba o povijesti koju treba razmotriti je sljedeća.

povijest -d -6

Ovom će se naredbom riješiti posljednjih šest naredbi koje ste upisali na terminalu pohranjenom u datoteci povijesti.

Ako želite izbrisati sve s popisa povijesnih datoteka, možete se rugati sljedećoj naredbi.

povijest -c

izbriši sve naredbe iz povijesti

Zaključak

Sada imate sve potrebne informacije da biste odlučili hoće li se povijest terminala ponoviti ili ne. Za napredne korisnike postoje slučajevi u kojima biste mogli pokrenuti aplikaciju kroz terminal i možda će se zatražiti da iza sebe ostavite trag osjetljivih podataka. Datoteka povijesti također pohranjuje tako osjetljive podatke. Stoga je dobra praksa uvijek izbrisati svoju povijesnu datoteku prije izlaska iz naredbenog retka, posebno u slučajevima koji vode do pohrane osjetljivih podataka. Naredba history daje vam moć da proživite dobra vremena na terminalu i popravite svoje prošle pogreške u naredbenom retku.

Emulirajte klikove mišem lebdeći mišem bez klika u sustavu Windows 10
Korištenje miša ili tipkovnice u pogrešnom držanju pretjerane upotrebe može rezultirati mnogim zdravstvenim problemima, uključujući naprezanje, sindro...
Dodajte geste miša u sustav Windows 10 pomoću ovih besplatnih alata
Posljednjih godina računala i operativni sustavi uvelike su se razvili. Bilo je vrijeme kada su korisnici morali koristiti naredbe za navigaciju kroz ...
Kontrolirajte i upravljajte kretanjem miša između više monitora u sustavu Windows 10
Dvostruki zaslon upravitelja miša omogućuje vam kontrolu i konfiguriranje kretanja miša između više monitora, usporavajući njegovo kretanje blizu gran...