Linux Commands for Beginners 15 - Bash History
Indholdsfortegnelse:
- Brug af
history
og historieudvidelser - Gemme historielisten
- Rydning af historie
- Ændring af historiens opførsel
- Konklusion
, vil vi tale om
history
kommandoen, som giver dig mulighed for at se en liste over tidligere udførte kommandoer, søge gennem listen og manipulere historiefilen.
Brug af
history
og historieudvidelser
history
er et shell, der er indbygget, og dets adfærd kan afvige lidt fra shell til shell. Vi vil dække Bash-indbyggede version af
history
.
I sin enkleste form viser
history
kommandoen, når der kaldes op uden mulighed eller argument, hele historielisten med linjenumre.
history
… 467 git push 468 tail -f var/logs/error 469 nano +22, 5 functions.sh 470 source project-env/bin/activate 471 history
Skrivning
!n
udfører den n-th kommando fra historielisten og
!-n
kommandoen n linjer tilbage. I det følgende eksempel udfører vi kommandoen på linje
467
:
!467
En anden måde at udføre en kommando er at bruge
!word
Ordudvidelse.
word
henviser til den seneste kommando, der begynder med 'ord'.
history
viser typisk mange outputlinjer, der ikke passer på skærmen. For at se output en side ad gangen, rør det til et personsøgerprogram som
more
eller
less
kommando:
history | less
Hvis du vil vise de sidste
n
linjer, skal du vende nummeret som et argument til kommandoen. Hvis du f.eks. Kun vil se de sidste fem linjer fra historielisten, skriver du:
history -5
Brug pil
up
og pil
down
for at navigere i posterne på listen. Når den kommando, du har søgt efter, vises, skal du trykke på
Enter
at udføre den.
Type
!!
at udføre den forrige kommando:
!!
Dette er især nyttigt, når du glemmer at lægge en kommando med
sudo
, og i stedet for at indtaste kommandoen igen, kan du skrive:
sudo !!
!-1
er det samme som
!!
og udfører den sidste kommando fra historielisten, !
!-2
sekund til sidst osv.
^word1^word2^
udvidelse giver dig mulighed for at køre den sidste kommando igen og erstatte “word1” med “word2”. Hvis du ved en fejltagelse har skrevet
sduo command
stedet for
sudo command
, kan du gentage kommandoen ved hjælp af det rigtige ord med:
^sduo^sudo^
Brug
grep
kommandoen til at filtrere output. For eksempel at se alle kommandoer inklusive "nano", du kører:
history | grep nano
302 sudo nano /etc/resolv.conf 356 nano setup.py 413 sudo nano /etc/hosts 469 nano +22, 5 functions.sh
Hvis du nu vil køre kommandoen
nano setup.py
blot skrive:
!356
En anden måde at søge igennem kommandohistorikken er ved at trykke på
Ctrl-R
. Anmodningen ændres til følgende, og du kan begynde at søge efter en tidligere udført kommando.
(reverse-i-search)`':
Skallen viser en matchende linje. Tryk på
Ctrl-R
igen for at gå til det næste matchede forslag.
Se i Bash-manualen for at få flere oplysninger om History Expansion, modifikatorer og designatorer.
Gemme historielisten
Ved start af en ny session læser Bash som standard historielisten fra
.bash_history
filen. Listen over kommandoer, der udføres i den aktuelle session, opbevares i hukommelsen og gemmes i filen, når sessionen er lukket.
Funktionen
-a
giver dig mulighed for at gemme den aktuelle
.bash_history
filen
.bash_history
:
history -a
Indstillingen
-w
skriver den komplette historieliste til historiefilen.
Rydning af historie
Med kommandoen
history
kan du rydde den komplette historieliste eller fjerne bestemte dele.
For at rydde historielisten skal du bruge indstillingen
-c
:
history -c
Hvis du vil slette en bestemt linje eller linjer mellem en start- og slutposition fra historielisten, skal du bruge indstillingen
-d
.
For eksempel at fjerne linjerne mellem 365 og 375 (inklusive disse linjer), skriver du:
history -d 365 375
Når der bruges et negativt heltal, tælles linjerne tilbage fra slutningen af historielisten.
Kommandoerne ovenfor rydder historielisten, som opbevares i hukommelsen, men fjerner ikke poster fra
.bash_history
filen på disken. For at rydde filen skal du skrive historielisten til filen:
Ændring af historiens opførsel
Opførelsen af Bash-historikken kan defineres ved hjælp af flere forskellige miljøvariabler. Når du ændrer historiens opførsel, skal du indstille variablerne i
~/.bashrc
eller enhver anden konfigurationsfil, der indlæses, når brugeren logger på.
Som standard holder Bash 500 linier på listen over kommandohistorik.
HISTSIZE
variablen giver dig mulighed for at ændre denne værdi. For at indstille den til 10000 skal du tilføje følgende linje til din
.bashrc
fil:
HISTSIZE=10000
HISTCONTROL
variablen accepterer en kolon-adskilt liste over værdier, der definerer, hvordan kommandoerne gemmes i historielisten:
-
ignorespace
- kommandoer, der starter med plads, gemmes ikke på historielisten.ignoredups
- duplikatkommandoer gemmes ikke.ignoreboth
- er enignoreboth
, der inkluderer bådeignorespace
ogignoredups
.
HISTCONTROL=ignoreboth
Når variablen
HISTTIMEFORMAT
er indstillet, afhænger Bash af et tidsstempel for udførelsen af kommandoen på hver linje.
Hvis du f.eks. Indstiller:
HISTTIMEFORMAT="%F %T: "
Historikken vises i følgende format:
413 2019-10-27 21:13:07: sudo nano /etc/hosts
Konklusion
history
viser en liste over tidligere udførte kommandoer. For eksempel kan du bruge historikken til at se en lang kommando, du har brugt før, som du ikke kan huske.
Sådan får du vist og slettet Opkalds- og SMS-historik fra Facebook for altid

Stop Facebook fra at samle din Opkalds- og SMS-teksthistorik. Hvis du har installeret Messenger App, har du givet Facebook til alle dine telefonkontakter. Facebook har derefter adgang til alle telefonopkald og SMS-sms-beskeder, der sendes af dig, og den opretholder en logbog.
Fix: Download Windows Search for at forbedre historik og favoritresultater i IE prompt

Når du skriver noget i adressefeltet i Internet Explorer 8, du får følgende meddelelse: "Download Windows Search for at forbedre historik og favoritresultater", du kan gøre følgende
Sådan genereres en WiFi-historik eller WLAN-rapport i Windows 10

Med netsh-værktøjet kan du generere en interaktiv WLAN-rapport i Windows 10, der omfatter hele WiFi History i et HTML-format. Hvis det mislykkes med fejl 0x3A98, skal du opdatere modemet.