Администрирование Linux. Лекция 1
Innehållsförteckning:
- Använda
historykommando- och historiautvidgningar - Spara historielistan
- Rensar historik
- Ändra historia beteende
- Slutsats
, kommer vi att prata om
history
, som låter dig se en lista med tidigare utförda kommandon, söka igenom listan och manipulera historikfilen.
Använda
history
kommando- och historiautvidgningar
history
är ett skal inbyggt, och dess beteende kan variera något från skal till skal. Vi kommer att täcka den inbyggda Bash-versionen av
history
.
I den enklaste formen, när den åberopas utan något alternativ eller argument, visar historikkommandot hela historielistan med radnummer.
history
… 467 git push 468 tail -f var/logs/error 469 nano +22, 5 functions.sh 470 source project-env/bin/activate 471 history
Att skriva
!n
kör det n-th-kommandot från historielistan och
!-n
kommandot raderar tillbaka. I följande exempel kör vi kommandot på rad
467
:
!467
Ett annat sätt att köra ett kommando är att använda
!word
expansion.
word
hänvisar till det senaste kommandot som börjar med 'word'.
Vanligtvis visar
history
många utmatningsrader som inte passar på skärmen. För att se utgången en sida i taget, rör den till ett personsökarprogram som
more
eller
less
kommando:
history | less
För att visa de sista
n
raderna, skicka numret som ett argument till kommandot. Om du till exempel bara vill visa de fem senaste raderna från historielistan skriver du:
history -5
Använd
up
och nedpiltangenterna för att navigera i posterna i listan. När kommandot du letat efter visas tryck på
Enter
att köra det.
Skriv
!!
för att köra det föregående kommandot:
!!
Detta är särskilt användbart när du glömmer att perpendera ett kommando med
sudo
, och istället för att skriva om kommandot kan du skriva:
sudo !!
!-1
är samma som
!!
och kör det sista kommandot från historielistan, !
!-2
sekund till sista, och så vidare.
^word1^word2^
expansion gör att du kan köra det sista kommandot igen och ersätta "word1" med "word2". Om du av misstag skrev
sduo command
istället för
sudo command
du upprepa kommandot med rätt ord med:
^sduo^sudo^
Använd
grep
kommandot för att filtrera utdata. Om du till exempel vill visa alla kommandon inklusive "nano" skulle du köra:
history | grep nano
302 sudo nano /etc/resolv.conf 356 nano setup.py 413 sudo nano /etc/hosts 469 nano +22, 5 functions.sh
Om du nu vill köra kommandot
nano setup.py
bara:
!356
Ett annat sätt att söka igenom kommandohistoriken är genom att trycka på
Ctrl-R
. Frågan kommer att ändras till följande, och du kan börja söka efter ett tidigare utfört kommando.
(reverse-i-search)`':
Skalet visar en matchande rad. För att gå till nästa matchade förslag trycker du på
Ctrl-R
igen.
Se Bash-manualen för mer information om History Expansion, modifierare och designatorer.
Spara historielistan
Som standard läser Bash historielistan från
.bash_history
filen när du startar en ny session. Listan med kommandon som körs under den aktuella sessionen lagras i minnet och sparas i filen när sessionen är stängd.
Alternativet
-a
låter dig spara den aktuella
.bash_history
filen
.bash_history
:
history -a
Alternativet
-w
skriver hela historielistan till historikfilen.
Rensar historik
Med
history
kan du rensa hela historielistan eller ta bort vissa delar.
För att rensa historielistan använder du alternativet
-c
:
history -c
Om du vill radera en specifik rad eller rader mellan en start- och slutposition från historielistan använder du alternativet
-d
.
Om du till exempel vill ta bort raderna mellan 365 och 375 (inklusive de raderna) skriver du:
history -d 365 375
När ett negativt heltal används räknas raderna tillbaka från slutet av historielistan.
Kommandona ovan rensar historielistan, som finns i minnet, men tar inte bort poster från
.bash_history
filen på disken. För att rensa filen måste du skriva historielistan till filen:
Ändra historia beteende
Bash-historiens beteende kan definieras med hjälp av flera olika miljövariabler. När du ändrar historikbeteendet ställer du in variablerna i
~/.bashrc
eller någon annan konfigurationsfil som laddas när användaren loggar in.
Som standard håller Bash 500 rader i listan med kommandohistorik.
HISTSIZE
variabeln låter dig ändra detta värde. För att ställa in den till 10000 lägger du till följande rad i din
.bashrc
fil:
HISTSIZE=10000
HISTCONTROL
accepterar en kolonnseparerad lista med värden som definierar hur kommandona sparas i historielistan:
-
ignorespace- kommandon som börjar med utrymme sparas inte i historielistan.ignoredups- duplicerade kommandon sparas inte.ignoreboth- är en kortfattning, inklusive bådeignorespaceochignoredups.
HISTCONTROL=ignoreboth
När variabeln
HISTTIMEFORMAT
är inställd beror Bash på en tidsstämpel för körning för kommandot på varje rad.
Om du till exempel ställer in:
HISTTIMEFORMAT="%F %T: "
Historiken kommer att visas i följande format:
413 2019-10-27 21:13:07: sudo nano /etc/hosts
Slutsats
history
visar en lista med tidigare utförda kommandon. Till exempel kan du använda historiken för att visa ett långt kommando som du använde tidigare som du inte kommer ihåg.
Oktober månad kan ha dominerats mer eller mindre av Ubuntu Linux för de som förutser den senaste Quantal Quetzal-versionen, men i veckan gjorde Linux Mint-projektet ett spännande meddelande om
I synnerhet lanserade Linux Mint-projektet på tisdag att det nu har en onlinebutik komplett med flera datorer som erbjuder Linux Mint förladdad. "
Samlingen "Linux Diversity": Ett kit, 10 Linux distros
Om du handlar om ett nytt OS , kommer den här uppsättningen att ge dig en mängd olika de senaste populära alternativen.
Linux: Linux Live USB Creator gör det lättare att installera Linux
Linux har alltid stött på de flesta som något för komplicerat att installera och lära. Men med Linux Live USB Creator kan du nu installera ett av många Linux-operativsystem på din USB-stick och använda det helt enkelt.







