2024 Forfatter: Peter John Melton | [email protected]. Sidst ændret: 2024-01-09 10:23
Tastaturgenveje
For at rulle gennem din bash historie kan du bruge et par af bashs mange nyttige tastaturgenveje. Tryk på disse genveje, og kommandoer, du tidligere har brugt, vises under spørgsmålet.
- Pil op eller Ctrl + P: Gå til den forrige kommando i din historie. Tryk på tasten flere gange for at gå baglæns gennem de kommandoer, du har brugt.
- Pil ned eller Ctrl + N: Gå til næste kommando i din historie. Tryk på tasten flere gange for at gå fremad gennem de kommandoer, du har brugt.
- Alt + R: Gendan eventuelle ændringer til en kommando, du har trukket fra din historie, hvis du har redigeret den på den aktuelle linje.
Bash har også en særlig "recall" -tilstand, du kan bruge til at søge efter kommandoer, du tidligere har kørt, i stedet for at rulle gennem dem en efter en.
- Ctrl + R: Husk den sidste kommando, der matcher de tegn, du angiver. Tryk på denne genvej, og begynd at skrive for at søge i din bash-historie for en kommando.
- Ctrl + O: Kør kommandoen du fandt med Ctrl + R.
- Ctrl + G: Forlad historiksøgningstilstanden uden at køre en kommando.
Se din bashistorie
Du kan udskrive hele din bash-historie til skærmen ved at køre en enkelt kommando:
history
Du får vist en liste over alle kommandoer i din bash-historie sammen med et nummer til venstre for hver. Kommandoen med en "1" ved siden af den er den ældste kommando i din bash-historie, mens kommandoen med det højeste nummer er den seneste.
grep
kommando for at søge din kommandobeskrivelse.
history | grep your_search
tail
kommando for kun at se et lille antal af de seneste kommandoer, du har kørt. F.eks. Vil følgende kommando vise de sidste 5 poster i din historie.
history | tail -5
Kør kommandoer fra din historie
Bash kan hurtigt "udvide" tidligere kommandoer, eller udvide dem og ændre dem. Denne funktion er kendt som "historieudvidelse" og bruger et udråbstegn, kendt som et "bang". Indtast dem bare ved prompten, og tryk på Enter for at køre dem som om du ville køre en anden kommando.
Hvis du vil køre en bestemt kommando fra din historie med nummeret, skal du bruge følgende kommando:
!#
Lad os sige, at du ønskede at køre den 12. kommando fra din bash-historie. Det er kommandoen med en "12" til venstre for den, når du kører
history
kommando. Du skriver følgende kommando.
!12
!!
Du kan også henvise til en kommando et bestemt antal linjer tilbage. For eksempel,
!-2
ville køre den anden til sidste kommando du løb.
!!
betyder det samme som
!-1
!!
eller et hvilket som helst af de andre udtryk i dette afsnit. For eksempel kan du skrive følgende kommando for at genoprette den sidste kommando, du løb igennem
sudo
hvilket giver det rodrettigheder. Dette er især nyttigt, hvis du glemmer at tilføje
sudo
før du kører en kommando.
sudo !!
Eller for eksempel kan du gentage den foregående kommando og røre dens output til grep for at søge efter nogle tekst.
!! | grep text
!text
Så hvis du for nylig kørte en kommando, der begyndte med
ping
kan du køre følgende kommando for at søge efter det. Dette vil søge baglæns gennem din historie, find den seneste kommando, der begynder med"
pi
Og kør det øjeblikkeligt:
!pi
:p
til nogen af de ovennævnte udvidelser og bash vil udskrive kommandoen til terminalen uden at køre den. Dette er nyttigt, hvis du vil bekræfte, at du vælger den korrekte kommando, før du kører den.
!12:p
!!:p
!text:p
Genbrug argumenter fra din historie
Bash giver dig også mulighed for at køre en ny kommando, men brug argumenter fra tidligere kommandoer i din historie. Dette kan hjælpe dig med hurtigt at genbruge lange eller komplicerede argumenter uden at skulle skrive dem igen.
command !$
Lad os f.eks. Sige at du kørte kommandoen
touch /home/chris/some_long_file_name_you_dont_want_to_type_again
. Nu vil du køre kommandoen
nano /home/chris/some_long_file_name_you_dont_want_to_type_again
. I stedet for at skrive hele ting fra bunden, kan du køre:
nano !$
Det
!$
ville gøre bash automatisk udfylde det sidste argument fra din tidligere kommando.
ping google.com -c 4
og kør derefter
ping !$
dette ville bare udvide til"
ping 4
“.
For at rette denne situation kan du bruge følgende trick til at udvide det første argument på linjen, snarere end det sidste:
command !^
Så hvis du løb
ping google.com -c 4
og løb derefter
ping !^
bash ville udvide dette til"
ping google.com'
command !*
Så hvis du løb
ping !*
i stedet vil bash automatisk udfylde alle de argumenter, du brugte i den foregående kommando.
command !abc:#
For eksempel kørte vi kommandoen
sudo hostname ubuntu
tidligere. Hvis vi kører følgende kommando, vil bash søge baglæns gennem historien for at finde den sidste kommando, der begynder med de bogstaver, vi skriver, og udfylder det argument, vi angiver. Så hvis vi løber
echo !su:2
bash vil søge tilbage for at finde den sidste kommando, der begynder med"
su
"Og udfylde sit andet argument, som er"
ubuntu
“.
Andre tricks fungerer som du måske forventer. Hvis du for eksempel erstatter tallet med en stjerne, kendt som wildcard, får bash at udfylde alle argumenter fra kommandoen:
command !abc:*
Rerun den tidligere kommando og modificer den
Bash giver dig også mulighed for at genoprette den foregående kommando og angive noget, der skal ændres. Dette kan være nyttigt for at rette en skrivemaskine i en kommando. For eksempel vil den følgende kommando genoprette den forrige kommando og erstatte teksten"
abc
"I det med teksten"
xyz
“.
^abc^xyz
For eksempel, hvis du ved et uheld løber
ping gogle.com
så kan du køre
^gog^goog
og bash ville køre kommandoen
ping google.com
i stedet.
Hvor din historie gemmes, og hvordan du rydder den
Den bash shell gemmer historien om kommandoer, du har kørt i din brugerkontos historiefil ved ~ /.bash_history som standard. For eksempel, hvis dit brugernavn er Bob, finder du denne fil på /home/bob/.bash_history.
Fordi din historie er gemt i en fil, fortsætter den mellem sessioner. Du kan køre nogle kommandoer, logge ud, komme tilbage næste dag, og disse kommandoer vil stadig være i din historikfil klar til visning og brug. Hver brugerkonto har sin egen historikfil med en separat kommandop History.
For at rydde din bash historie kan du køre følgende kommando. Dette sletter indholdet af din brugerkonto's.bash_history-fil:
history -c
HISTSIZE
variabel. Standard er normalt 500 eller 1000 poster. Du kan køre følgende kommando for at se størrelsen af bash-historien på dit system.
echo $HISTSIZE
Hvis du vil indstille din historie til nul, skal du køre følgende kommando.
HISTSIZE=0
For den aktuelle session vil bash ikke gemme nogen historikposter, medmindre du kører en kommando som
HISTSIZE=1000
for at sætte det tilbage til et vist antal poster.
Sådan ignorerer du mellemrum og duplikater
Bash giver dig mulighed for at ignorere historikposter, der begynder med et mellemrum, hvis du indstiller
HISTCONTROL
variabel til
ignorespace.
HISTCONTROL=ignorespace
Indtast et mellemrum før en kommando, før du kører den i bash-skalen, og kommandoen kører normalt, men vises ikke i din historie, hvis du har denne variabel aktiveret. Dette giver dig mulighed for at holde din historie lidt renere og vælge at køre kommandoer uden at de vises i din historie.
HISTCONTROL
til
ignoredups.
HISTCONTROL=ignoredups
ignorespace
og
ignoredups
funktion, indstil
HISTCONTROL
variabel til
ignoreboth.
HISTCONTROL=ignoreboth
Bemærk, at bash-variabler, du indstiller, kun vil vare for den aktuelle session. Du skal tilføje disse til din brugerkontos.bashrc-fil for at få disse værdier automatisk indstillet i hver bash-session, du starter, hvis du foretrækker det.
Anbefalede:
Sådan installeres og bruges Linux Bash Shell på Windows 10
Windows-delsystemet til Linux, der blev introduceret i jubilæumsopdateringen, blev en stabil funktion i Fall Creators Update. Du kan nu køre Ubuntu og openSUSE på Windows, med Fedora og flere Linux-distributioner kommer snart.
Sådan bruges din kommandog History i Windows PowerShell
Windows PowerShell har en indbygget kommandobeskedsfunktion, som indeholder detaljerede oplysninger om de kommandoer, du har kørt. Ligesom kommandoprompt husker PowerShell kun din kommandop History for den aktuelle session.
De bedste tastaturgenveje til Bash (også Linux og MacOS Terminal)
Bash er standard kommandolinjeskal på de fleste Linux-distributioner, fra Ubuntu og Debian til Red Hat og Fedora. Bash er også standardskallen med MacOS, og du kan installere et Linux-baseret bash-miljø på Windows 10.
Sådan slettes Terminal History på Linux eller MacOS
Tryk på pil op i kommandolinjen Mac eller Linux, og du vil se den sidste kommando, du løb. Fortsæt med at trykke på "op", og du vil se flere kommandoer; Du kan gå tilbage dage, måneder eller endda år.
Sådan bruges funktionen Cloud Clipboard History i Windows 10
Lær, hvordan du aktiverer og bruger funktionen Cloud Udklipsholder i Windows 10. Med denne funktion kan du gemme Udklipshistorik og synkronisere kopieret tekst på tværs af enheder og en Android-telefon.