Kā lietot savu Bash vēsturi Linux vai macOS terminālā

Satura rādītājs:

Kā lietot savu Bash vēsturi Linux vai macOS terminālā
Kā lietot savu Bash vēsturi Linux vai macOS terminālā

Video: Kā lietot savu Bash vēsturi Linux vai macOS terminālā

Video: Kā lietot savu Bash vēsturi Linux vai macOS terminālā
Video: P22 SMART WATCH: Things To Know // Real Life Review - YouTube 2024, Maijs
Anonim
Bash apvalks ir standarta termināla vide, kas ir iekļauta lielākajā daļā Linux sadalījumu, kas iekļauta macOS, un ir pieejama instalēšanai operētājsistēmā Windows 10. Tas atceras komandas, kuras jūs ievadāt un saglabājat vēsturiskajā failā. Jūs droši vien zināt dažus bash vēstures pamati, taču tas ir daudz jaudīgāks nekā jūs varētu saprast.
Bash apvalks ir standarta termināla vide, kas ir iekļauta lielākajā daļā Linux sadalījumu, kas iekļauta macOS, un ir pieejama instalēšanai operētājsistēmā Windows 10. Tas atceras komandas, kuras jūs ievadāt un saglabājat vēsturiskajā failā. Jūs droši vien zināt dažus bash vēstures pamati, taču tas ir daudz jaudīgāks nekā jūs varētu saprast.

Tastatūras saīsnes

Lai ritinātu jūsu bash vēsturi, varat izmantot dažus no bash daudzajiem noderīgiem īsinājumtaustiņiem. Nospiediet šos saīsnes, un komandas, kuras esat iepriekš izmantojis, parādīsies uzvednē.

  • Augšupvērstā bultiņa vai Ctrl + P: Pārejiet uz iepriekšējo komandu savā vēsturē. Nospiediet taustiņu vairākas reizes, lai iettu atpakaļ, izmantojot izmantotās komandas.
  • Bultiņa uz leju vai Ctrl + N: Pārejiet uz nākamo komandu savā vēsturē. Nospiediet taustiņu vairākas reizes, lai staigātu uz priekšu, izmantojot izmantotās komandas.
  • Alt + R: Atjaunojiet jebkuras izmaiņas komandā, kuru esat izvilcis no vēstures, ja to esat labojis pašreizējā rindiņā.

Basham ir arī īpašs "atgādinājuma" režīms, ko varat izmantot, lai meklētu komandas, kuras jūs izmantojāt iepriekš, nevis ritiniet tos pa vienam.

  • Ctrl + R: Atgādina pēdējo komandu, kas atbilst jūsu norādītajām rakstzīmēm. Nospiediet šo saīsni un sāciet rakstīt, lai meklētu komandu ar savu bash vēsturi.
  • Ctrl + O: Izpildiet komandu, kuru atradāt ar Ctrl + R.
  • Ctrl + G: Atstājiet vēstures meklēšanas režīmu, neveicot komandu.
Image
Image

Skatiet savu Bash vēsturi

Jūs varat izdrukāt visu savu bash vēsturi ekrānā, izpildot vienu komandu:

history

Jūs redzēsiet visu komandu sarakstu savā bash vēsturē kopā ar skaitli pa kreisi no katras puses. Komanda ar "1" blakus tam ir vecākā komanda jūsu bash vēsturē, bet komanda ar visaugstāko skaitu ir visjaunākā.

Ar izlaidi jūs varat darīt visu, kas jums patīk. Piemēram, varat to caurlaidei uz
Ar izlaidi jūs varat darīt visu, kas jums patīk. Piemēram, varat to caurlaidei uz

grep

komandu, lai meklētu komandu vēsturi.

history | grep your_search

Jūs varētu arī caurulīt to uz
Jūs varētu arī caurulīt to uz

tail

komanda, lai apskatītu tikai nedaudzas nesenās komandas, kuras esat palaidis. Piemēram, šī komanda parādīs pēdējos 5 ierakstus jūsu vēsturē.

history | tail -5

Image
Image

Palaist komandas no tavas vēstures

Bash var ātri "paplašināt" iepriekšējās komandas, vai arī izvērst tās un modificēt. Šī funkcija ir pazīstama kā "vēstures paplašināšana" un izmanto izsaukuma zīmi, kas pazīstama kā "sprādziens". Vienkārši ierakstiet tos uzvednē un nospiediet taustiņu Enter, lai palaistu tos, piemēram, jūs palaistu jebkuru citu komandu.

Lai palaistu konkrētu komandu no savas vēstures pēc tā numura, izmantojiet šādu komandu:

!#

Piemēram, pieņemsim, ka jūs vēlaties palaist 12. komandu no bash vēstures. Tā ir komanda ar "12" pa kreisi no tās, kad palaižat

history

komandu Jūs vēlaties ierakstīt šādu komandu.

!12

Lai atkārtoti palaistu pēdējo komandu, kuru jūs izmantojāt, ierakstiet šādu. Tam ir tāds pats efekts kā vienreiz nospiežot bultiņu uz augšu, lai apskatītu iepriekšējo komandu un pēc tam nospiežot taustiņu Enter.
Lai atkārtoti palaistu pēdējo komandu, kuru jūs izmantojāt, ierakstiet šādu. Tam ir tāds pats efekts kā vienreiz nospiežot bultiņu uz augšu, lai apskatītu iepriekšējo komandu un pēc tam nospiežot taustiņu Enter.

!!

Jūs varat arī atsaukties uz komandu noteiktu skaitu līniju atpakaļ. Piemēram,

!-2

varētu palaist otro, lai izpildītu pēdējo komandu, kuru tu vadīji.

!!

nozīmē to pašu, kas

!-1

This expansion works anywhere on the line. You can add anything you like before or after
This expansion works anywhere on the line. You can add anything you like before or after

!!

vai kāda cita izteiciena šajā sadaļā. Piemēram, jūs varat ievadīt šādu komandu, lai atkārtoti ievadītu pēdējo komandu, kuru jūs izmantojāt

sudo

piešķirot tai root privilēģijas. Tas ir īpaši noderīgi, ja aizmirstat pievienot

sudo

pirms komandas palaišanas.

sudo !!

Vai arī, piemēram, jūs varētu atkārtoti palaist iepriekšējo komandu un caurvēt savu izvadi grep, lai meklētu kādu tekstu.

!! | grep text

Lai meklētu komandu savā vēsturē un palaistu to, ierakstiet šādu informāciju. Tas darbosies ar pēdējo komandu, kas atbilst norādītajam tekstam:
Lai meklētu komandu savā vēsturē un palaistu to, ierakstiet šādu informāciju. Tas darbosies ar pēdējo komandu, kas atbilst norādītajam tekstam:

!text

Tātad, ja jūs nesen vadījāt komandu, kas sākās ar

ping

jūs varat palaist šādu komandu, lai meklētu to. Tas meklēt atpakaļ pa savu vēsturi, atrodiet visjaunāko komandu, kas sākas ar"

pi

Un nekavējoties palaidiet to:

!pi

Jūs varat pievienot a
Jūs varat pievienot a

:p

uz jebkuru no iepriekšminētajām paplašinājumiem un bash izdrukās komandu uz termināli, to nedarbinot. Tas ir noderīgi, ja jūs vēlaties apstiprināt, ka izvēlaties pareizu komandu, pirms to palaižat.

!12:p

!!:p

!text:p

Image
Image

Atkārtoti izmantojiet argumentus no vēstures

Bash arī ļauj jums palaist jaunu komandu, bet izmantot vēsturi iepriekšējo komandu argumentus. Tas var palīdzēt ātri atkārtoti izmantot garus vai sarežģītus argumentus, nepieprasot tos atkārtot.

command !$

Piemēram, pieņemsim, ka jūs vadījāt komandu

touch /home/chris/some_long_file_name_you_dont_want_to_type_again

. Tagad jūs vēlaties palaist komandu

nano /home/chris/some_long_file_name_you_dont_want_to_type_again

. Tā vietā, lai rakstītu visu no nulles, jūs varētu palaist:

nano !$

The

!$

bash automātiski aizpildītu pēdējo argumentu no iepriekšējās komandas.

Tas aizpilda tikai pēdējo argumentu. Tātad, ja palaižat
Tas aizpilda tikai pēdējo argumentu. Tātad, ja palaižat

ping google.com -c 4

un pēc tam palaist

ping !$

tas vienkārši paplašināsies līdz"

ping 4

“.

Lai novērstu šo situāciju, varat izmantot šādu triku, lai izvērstu pirmo argumentu rindā, nevis pēdējo:

command !^

Tātad, ja jūs skrējāt

ping google.com -c 4

un tad skrēja

ping !^

bash varētu paplašināt šo uz"

ping google.com'

Lai aizpildītu visus argumentus, kas izmantoti iepriekšējā komandā, nevis tikai vienu argumentu, izmantojiet šo:
Lai aizpildītu visus argumentus, kas izmantoti iepriekšējā komandā, nevis tikai vienu argumentu, izmantojiet šo:

command !*

Tātad, ja jūs skrējāt

ping !*

Tā vietā bash automātiski aizpildīs visus argumentus, kurus izmantojāt iepriekšējā komandā.

Varat izmantot to pašu triku, kuru izmantojat, lai palaistu komandas no savas vēstures, lai iegūtu no tiem argumentus. Vienkārši izmantojiet šādu formu.
Varat izmantot to pašu triku, kuru izmantojat, lai palaistu komandas no savas vēstures, lai iegūtu no tiem argumentus. Vienkārši izmantojiet šādu formu.

command !abc:#

Piemēram, mēs vadījām komandu

sudo hostname ubuntu

agrāk. Ja mēs palaistu šādu komandu, bash meklēt atpakaļ pa vēsturi, lai atrastu pēdējo komandu, kas sākas ar rakstītajiem burtiem, un aizpilda norādīto argumentu. Tātad, ja mēs palaistu

echo !su:2

bash meklēs atpakaļ, lai atrastu pēdējo komandu, kas sākas ar"

su

"Un aizpildiet otro argumentu, kas ir"

ubuntu

“.

Citi triki darbojas kā jūs varētu sagaidīt. Piemēram, nomainot numuru ar zvaigznīti, kas pazīstams kā aizstājējzīme, izraisa bash, lai aizpildītu visus argumentus no komandas:

command !abc:*

Image
Image

Atkārtojiet iepriekšējo komandu un mainiet to

Bash arī ļauj atkārtot iepriekšējo komandu un norādīt kaut ko, kas būtu jāmaina. Tas var būt noderīgs, lai labotu neprecizitāti komandā. Piemēram, šī komanda atkārto iepriekšējo komandu, aizstājot tekstu"

abc

"Tajā ar tekstu"

xyz

“.

^abc^xyz

Piemēram, ja jūs nejauši skrējāt

ping gogle.com

tad tu varētu palaist

^gog^goog

un bash palaist komandu

ping google.com

tā vietā.

Image
Image

Kur tiek saglabāta jūsu vēsture un kā to iztīrīt

Bash čaula saglabā komandu vēsturi, kuru esat ievadījis sava lietotāja konta vēstures failā ~ /.bash_history pēc noklusējuma. Piemēram, ja jūsu lietotājvārds ir bobs, šis fails atrodams vietnē /home/bob/.bash_history.

Tā kā jūsu vēsture tiek saglabāta failā, tā turpinās starp sesijām. Jūs varat palaist dažas komandas, izrakstīties, atgriezties nākamajā dienā, un šīs komandas joprojām būs jūsu vēstures failā, kas būs gatavs skatīšanai un lietošanai. Katram lietotāja kontam ir savs vēstures failu ar atsevišķu komandu vēsturi.

Lai notīrītu bash vēsturi, varat palaist šādu komandu. Tas izdzēš jūsu lietotāja konta faila.bash_history saturu:

history -c

Bash tikai pēc noklusējuma atceras ierobežotu komandu skaitu, neļaujot vēstures failam kļūt pārāk liels. Vēsturisko ierakstu skaits bash atceras, ko kontrolē
Bash tikai pēc noklusējuma atceras ierobežotu komandu skaitu, neļaujot vēstures failam kļūt pārāk liels. Vēsturisko ierakstu skaits bash atceras, ko kontrolē

HISTSIZE

mainīgais. Pēc noklusējuma parasti ir 500 vai 1000 ieraksti. Varat palaist šādu komandu, lai apskatītu jūsu sistēmas vēstures lielumu.

echo $HISTSIZE

Lai iestatītu savu vēsturi uz nulli, palaidiet tālāk norādīto komandu.

HISTSIZE=0

Pašreizējās sesijas laikā bash neuzglabās nekādus vēstures ierakstus, ja vien jūs neizmantojat komandu, piemēram

HISTSIZE=1000

lai to atgrieztos noteiktā skaitā ierakstu.

Image
Image

Kā ignorēt telpas un dublikātus

Bash ļauj ignorēt vēstures ierakstus, kas sākas ar atstarpi, ja iestatāt

HISTCONTROL

mainīgais līdz

ignorespace.

HISTCONTROL=ignorespace

Ievadiet atstarpi pirms komandas, pirms to palaižat bash čaulā, un komanda darbosies pareizi, taču neparādīsies jūsu vēsturē, ja šis mainīgais ir aktivizēts. Tas ļauj saglabāt vēsturi mazliet tīrāku, izvēloties palaist komandas, lai tās netiktu parādītas jūsu vēsturē.

Bash arī ļauj ignorēt dublētus komandas, kas var pārblīvēt savu vēsturi. Lai to izdarītu, iestatiet
Bash arī ļauj ignorēt dublētus komandas, kas var pārblīvēt savu vēsturi. Lai to izdarītu, iestatiet

HISTCONTROL

uz

ignoredups.

HISTCONTROL=ignoredups

Lai izmantotu abus
Lai izmantotu abus

ignorespace

un

ignoredups

funkcija, iestatiet

HISTCONTROL

mainīgais līdz

ignoreboth.

HISTCONTROL=ignoreboth

Ņemiet vērā, ka iestatītie bash mainīgie saglabāsies tikai pašreizējās sesijas laikā. Jums būs jāpievieno šie faili sava lietotāja konta failā.bashrc, lai šīs vērtības tiktu automātiski iestatītas katrā startētajā bash sesijā, ja vēlaties.

Ieteicams: