historie er en kommando i Unix - systemer , der giver dig mulighed for at se historikken for brugerens arbejde med kommandolinjen. Opstod i den originale Berkely Unix csh (2BSD), hvor den var en indbygget. Forbedring af interaktivitet var et af hovedformålene med udviklingen af csh, så det kan fremhæve et helt sæt funktioner relateret til arbejde med historie, især når du redigerer den aktuelle kommando, er det tilladt at erstatte den sidste kommando og erstatte en understreng i det ved hjælp af et regulært udtryk. Med fremkomsten af GNU History Library (nu en del af GNU Readline ), er interaktive kommandohistorikudvidelser dukket op i næsten alle kommercielle skaller.
Det er ofte praktisk i tilfælde, hvor du har brug for at finde ud af handlingsforløbet udført tidligere eller huske det glemte navn på en kommando, der engang blev brugt.
Outputtet består af en liste
Som standard vises en liste med halvanden til to dusin seneste kommandoer.
I tidlige versioner af Unix var historiekommandoen et separat program. De fleste skaller har dog længe inkluderet historiekommandoen som en indbygget skal, så et separat program bruges ikke længere.
Kommandoen fungerer med et kommandoarkiv, der er gemt i en fil i brugerens hjemmemappe. Navnet på filen bestemmes af værdien af HISTFILE- miljøvariablen , og det nøjagtige format af indtastningen i filen afhænger af den specifikke shell og dens build-indstillinger og kan omfatte starttidspunktet og varigheden af kommandoen i sekunder.
Under drift gemmer den interaktive shell eksekveringshistorikken for kommandoerne for den aktuelle session i en RAM-buffer, som skrives til en arkivfil ved normal nedlukning. Denne buffer bruges både til selve historiekommandoen og til interaktive udvidelser (ordsubstitution med et '!' præfiks) og redigering, især kommandoer for at vende tilbage til den forrige eller næste kommando. Ved opstart fylder skallen denne buffer med kommandoer fra arkivfilen. At gemme historikken for den aktuelle session kræver normalt eksistensen af en arkivfil på disken, og hvis den ikke blev oprettet automatisk, da brugeren blev oprettet, skal den oprettes manuelt.
De fleste moderne skaller har muligheder, der styrer processen med at skrive historie til disk (maksimal filstørrelse, udskiftning af indholdet af arkivet eller tilføjelse af data fra den aktuelle session, lagring af historik periodisk under drift, synkronisering af indhold mellem flere samtidige sessioner, undgå på hinanden følgende gentagelser, fjernelse af ekstra mellemrum osv. .P).
Unix-kommandoer | ||||||||
---|---|---|---|---|---|---|---|---|
| ||||||||
|