Android

Historia-komento linuxissa (bash history)

Sisällysluettelo:

Anonim

, puhumme history , jonka avulla voit tarkastella luetteloa aiemmin suoritetuista komennoista, etsiä luetteloa ja manipuloida historiatiedostoa.

history ja historialaajennusten käyttäminen

history on kuorirakenteinen, ja sen käyttäytyminen voi hieman vaihdella kuoresta toiseen. Käytämme history Bash-sisäänrakennetulla versiolla.

history komento näyttää yksinkertaisimmassa muodossaan ilman vaihtoehtoa tai argumentteja, ja koko historialuettelo sisältää rivinumeroita.

history

… 467 git push 468 tail -f var/logs/error 469 nano +22, 5 functions.sh 470 source project-env/bin/activate 471 history

Kirjoittamalla !n suorittaa n: nnen komennon historialuettelosta ja !-n komennon n riville takaisin. Seuraavassa esimerkissä suoritamme komennon rivillä 467 :

!467

Toinen tapa suorittaa komento on käyttää !word -Sanalaajennusta. word tarkoittaa viimeisintä komentoa, joka alkaa 'sana'.

Yleensä history näyttää useita rivejä tulosteita, jotka eivät sovi näytölle. Jos haluat nähdä tulosteen yhdellä sivulla kerrallaan, liitä se hakulaiteohjelmaan, kuten more tai less komento:

history | less

Jos haluat näyttää viimeisen n rivin, välitä numero argumentiksi komennolle. Jos haluat esimerkiksi tarkastella vain kirjoittamasi historialuettelon viittä viimeistä riviä:

history -5

Selaa luettelon merkintöjä up ja down -näppäimillä. Kun etsimäsi komento näkyy, paina Enter suorittaaksesi sen.

Kirjoita !! suorittaa edellinen komento:

!!

Tämä on erityisen hyödyllistä, kun unohdat kommentoida sudo -komennon ja kirjoittaa komennon sen sijaan, että kirjoitat komennon uudelleen:

sudo !!

!-1 on sama kuin !! ja suorittaa viimeisen komennon historialuettelosta, ! !-2 sekunti viimeiseksi, ja niin edelleen.

^word1^word2^ laajennus antaa sinun suorittaa viimeisen komennon korvaamalla ”sana1” sanalla ”sana2”. Jos kirjoitit vahingossa sduo command sudo command sduo command sijasta, voit toistaa komennon oikealla sanalla seuraavilla:

^sduo^sudo^

Käytä grep komentoa suodattaaksesi tulosteen. Jos esimerkiksi haluat tarkastella kaikkia komentoja, joihin sisältyy “nano”, suoritat:

history | grep nano

302 sudo nano /etc/resolv.conf 356 nano setup.py 413 sudo nano /etc/hosts 469 nano +22, 5 functions.sh

Kirjoita nyt nano setup.py -komento uudelleen:

!356

Toinen tapa etsiä komentohistoriasta on painamalla Ctrl-R . Pyyntö vaihtuu seuraavaan, ja voit aloittaa aiemmin suoritetun komennon etsimisen.

(reverse-i-search)`':

Kuoressa näkyy vastaava rivi. Siirry seuraavaan vastaavaan ehdotukseen painamalla Ctrl-R uudelleen.

Katso Bash-käsikirjasta lisätietoja historian laajennuksesta, muuntajista ja osoittajista.

Historialuettelon tallentaminen

Oletusarvon mukaan aloittaessasi uutta istuntoa Bash lukee historialuettelon .bash_history tiedostosta. Luettelo nykyisessä istunnossa suoritetuista komennoista pidetään muistissa ja tallennetaan tiedostoon, kun istunto päättyy.

.bash_history vaihtoehdon avulla voit tallentaa nykyisen istuntohistorialuettelon .bash_history tiedostoon:

history -a

-w vaihtoehto kirjoittaa täydellisen historialuettelon historiatiedostoon.

history -w

Selvityksen historia

history avulla voit tyhjentää täydellisen historialuettelon tai poistaa tietyt osat.

Voit tyhjentää historialuettelon käyttämällä -c vaihtoehtoa:

history -c

Jos haluat poistaa tietyn rivin tai rivit aloitus- ja lopetuspaikkojen välillä historialuettelosta, käytä -d vaihtoehtoa.

Voit esimerkiksi poistaa rivit 365–375 (mukaan lukien nämä rivit) kirjoittamalla:

history -d 365 375

Kun käytetään negatiivista kokonaislukua, rivit lasketaan takaisin historialuettelon lopusta.

Yllä olevat komennot tyhjentävät historialuettelon, joka säilyy muistissa, mutta ei poista merkintöjä levyn .bash_history tiedostosta. Tiedoston tyhjentämiseksi sinun on kirjoitettava historialuettelo tiedostoon:

history -c history -w

Historiakäyttäytymisen muuttaminen

Bash-historian käyttäytyminen voidaan määritellä käyttämällä useita erilaisia ​​ympäristömuuttujia. Kun muokkaat historiakäyttäytymistä, aseta muuttujat ~/.bashrc tai muuhun määritystiedostoon, joka ladataan käyttäjän kirjautumisen yhteydessä.

Oletuksena Bash pitää 500 riviä komentohistorialuettelossa. HISTSIZE muuttujan avulla voit muuttaa tätä arvoa. Aseta se arvoon 10000 lisää seuraava rivi .bashrc tiedostoon:

HISTSIZE=10000

HISTCONTROL muuttuja hyväksyy kaksoispiste-erotetun luettelon arvoista, jotka määrittelevät, kuinka komennot tallennetaan historialuetteloon:

  • ignorespace avaruus - välilyönnillä alkavat komennot eivät tallennu historialuetteloon. ignoredups - päällekkäisiä komentoja ei tallenneta. ignoreboth - on lyhenne ignoreboth , jotka sisältävät sekä ignoredups että ignoredups .

HISTCONTROL=ignoreboth

Kun HISTTIMEFORMAT -muuttuja on asetettu, Bash asettaa jokaiselle riville komennon suorittamisen aikaleiman.

Jos esimerkiksi määrität:

HISTTIMEFORMAT="%F %T: "

Historia näytetään seuraavassa muodossa:

413 2019-10-27 21:13:07: sudo nano /etc/hosts

johtopäätös

history näyttää luettelon aiemmin suoritetuista komennoista. Esimerkiksi, voit käyttää historiaa tarkastellaksesi pitkää komentoa, jota olet käyttänyt aiemmin ja jota et muista.

historian terminaali