Jūs, iespējams, zināt vēstures komandas pamata lietošanu, taču tā var darīt daudz vairāk. Bash vēsture parasti tiek saglabāta failā ~ /.bash_history. Tas ļauj efektīvi atsaukt un atkārtoti izmantot saglabāto ierakstu, lai pēc iespējas labāk izmantotu bash vēstures saglabāšanas funkciju. Ne tikai to, bet jūs varat arī pielāgot un kontrolēt bash komandu izvadi vēlamajā veidā.
Šajā rakstā mēs izskaidrosim, kā efektīvi izmantot un pielāgot bash komandu vēsturi, lai pēc iespējas vairāk izmantotu tās funkcijas.
Šajā rakstā minēto komandu un procedūru izpildei mēs izmantojām Debian 10.
Bash komandu vēstures izmantošana
1. Bash vēstures apskate
Lai skatītu visu čaulas komandu vēsturi, varat palaist šādu komandu terminālā:
$ vēstureTajā tiks uzskaitīta visa konkrēta lietotāja vēsture no vēstures faila, kas glabājas tieši šim lietotājam. Jūs redzēsiet visas komandas, sākot ar numuru, kas piešķirts katrai no tām. Augšdaļā tiks uzskaitītas vecākās komandas, sākot ar 1. numuru, un jaunākās komandas apakšā.
2. Meklēšana vēstures iznākumā
Varat arī meklēt noteiktu atslēgvārdu no vēstures izvades. Savienojiet vēstures komandu ar grep un noteiktu atslēgvārdu, lai meklētu komandas, kas atbilst jūsu norādītajam atslēgvārdam šādi:
$ vēsture | grep [atslēgvārds]Piemēram, lai uzskaitītu visas komandas, kurās ir atslēgvārds “atrast”, komanda būtu šāda:
$ vēsture | grep atrast
3. Pēdējo n komandu apskate
Vēstures komandā pēc noklusējuma ir uzskaitīti pēdējie 1000 lietotāju izpildīto komandu skaits. Gadījumā, ja vēlaties uzskaitīt tikai noteiktu numuru, teiksim n pēdējās izpildītās komandas numuru, izpildiet šādu komandu Terminal:
$ vēsture nPiemēram, lai uzskaitītu pēdējās 7 izpildītās komandas, tā būtu:
$ vēsture 7Lai skatītu pēdējo n palaisto komandu skaitu, kas ietver noteiktu atslēgvārdu, varat izmantot šādu sintaksi:
$ vēsture | grep atslēgvārds | asti -nPiemērs tam būtu apskatīt pēdējās 4 izpildītās komandas ar atslēgvārdu “java”.
$ vēsture | grep java | asti -n
4. Vecāko komandu apskate
Lai skatītu vecāko n komandu skaitu, terminālā varat izmantot šādu sintaksi:
$ vēsture | galva -nLai skatītu vecāko n komandu skaitu, kas ietver noteiktu atslēgvārdu, izmantojiet šādu sintaksi:
$ vēsture | grep atslēgvārds | head -nPiemērs tam būtu apskatīt vecākās 4 izpildītās komandas ar atslēgvārdu “java”.
$ vēsture | grep java | galva -4
5. Pilnībā notīrīt Bash vēsturi
Lai noņemtu visu bash vēsturi, izpildiet šādu komandu terminālā:
$ vēsture -cwBash komandu vēstures pielāgošana
Lai pielāgotu bash komandu vēsturi, mums būs jāveic izmaiņas ~ /.bashrc fails. Lai rediģētu ~ /.bashrc failu, izmantojiet šādu komandu:
$ nano ~ /.bashrcKad esat pabeidzis faila modificēšanu, izmantojiet Ctrl + O un Ctrl + X, lai saglabātu un aizvērtu nano redaktoru.
Pēc tam izpildiet šo komandu, lai lietotu modifikācijas:
$ avots ~ /.bashrc1. Pievienojiet datumu un laika zīmogu Bash vēsturei
Ja vēlaties parādīt datumu un laika zīmogu kopā ar komandu vēsturi, to varat izdarīt, pievienojot šādu rindu ~ /.bashrc:
$ export HISTTIMEFORMAT = '% F,% T'Tagad palaidiet vēsture komandu, un tā parādīs komandu vēsturi ar atbilstošiem datiem un laika zīmogu.
2. Bash vēstures palielināšana
Bash pēc noklusējuma vēstures sarakstā saglabā 500 komandas. Tomēr mēs varam mainīt šo vērtību, izmantojot vērtību HISTSIZE.
Lai skatītu pašreizējo bash vēstures lielumu, izpildiet šādu komandu Terminal:
$ echo $ HISTSIZELīdzīgi arī bash vēstures faila noklusējuma lielums ir 500. Vēstures failā ir maksimālais ierakstu skaits.
Lai palielinātu bash vēstures lielumu, teiksim, 10000, pievienojiet šādas rindas ~ /.bashrc fails:
$ HISTSIZE = 10000$ HISTFILESIZE = 10000
Lai pārbaudītu, vai bash vēstures lielums ir veiksmīgi mainīts, palaidiet šīs komandas terminālā:
$ echo $ HISTSIZE$ echo $ HISTFILESIZE
3. Pievienojiet Bash komandas vēstures failam
Kad bash sesija ir slēgta, varat izvēlēties, vai vēstures failā pārrakstīt vai pievienot komandas, izmantojot mainapp histappend. Lai skatītu pašreizējos iestatījumus, izpildiet šādu komandu Terminal:
$ shopt histappend“Ieslēgts” izvadē parāda, ka opcija histappend ir iespējota, un komandas tiks pievienotas vēstures failā, nevis pārrakstīšana. Kamēr rāda “off”, histappend opcija ir atspējota un fails tiks pārrakstīts.
Atveriet ~ /.bashrc fails un:
Pievienojiet šo rindu, ja vēlaties komandas pievienot vēstures failam, nevis pārrakstīt:
$ shopt -s histappendVai pievienojiet šo rindu, ja vēlaties atspējot opciju Pievienot un vēlaties, lai iziešanas laikā pārrakstītu failu:
$ shopt -u histappend4. Nekavējoties saglabājiet Bash vēsturi
Pēc noklusējuma Bash saglabā sesiju bash vēstures failā tikai pēc sesijas beigām. Lai mainītu šo noklusējuma uzvedību un liktu tai uzreiz saglabāt katru izpildīto komandu, varat izmantot PROMPT_COMMAND.
Rediģēt ~ /.bashrc failu un pievienojiet šādu rindu:
$ PROMPT_COMMAND = 'vēsture -a'Tagad, kad izpildāt kādu komandu, tā nekavējoties tiks pievienota vēstures failam.
5. Kontrolējiet Bash vēsturi
Mēs varam kontrolēt veidu, kā bash saglabā mūsu komandu vēsturi, izmantojot HISTCONTROL mainīgo. Mēs to varam norādīt, lai ignorētu ierakstu dublikātus un / vai lai ignorētu ierakstus ar baltām atstarpēm.
- ignorē atstarpi - novērš komandas, kas sākas ar kosmosa vēstures sarakstu.
- ignoredups - novērst komandu dublikātus.
- ignoreboth - iespējojiet gan ignorētos, gan ignorēšanas atstarpes
- izdzēst - izslēdz dublikātus no visa saraksta
Lai lietotu šīs funkcijas, atveriet ~ /.bashrc un pievienojiet šādu rindu ar vērtībām, kas atdalītas ar kolu šādi:
$ export HISTCONTROL = ignorespace: ignoredups6. Ignorēt īpašas komandas
Mēs varam arī kontrolēt, kuras komandas ignorēt vēsturē, izmantojot mainīgo HISTIGNORE. Tas ir ar kolu atdalīts rakstu saraksts, kurā mēs varam norādīt visas komandas, kuras mēs vēlamies ignorēt no vēstures.
Piemēram, ja mēs nevēlamies vēstures sarakstā uzskaitīt tādas pamatkomandas kā vēsture, ls, pwd, tad ~ /.bashrc fails:
$ export HISTIGNORE = "vēsture: ls: pwd:"Izmantojot Linux bash komandu vēsturi, jūs varat darīt daudz vairāk nekā tikai atkārtot vecās komandas. Šajā rakstā mēs esam iemācījušies izmantot bash vēsturi, lai apskatītu iepriekš izpildītās komandas, kā arī iemācījies kontrolēt veidu, kā bash saglabā komandu vēsturi.