Historie

Den aktuelle version af siden er endnu ikke blevet gennemgået af erfarne bidragydere og kan afvige væsentligt fra den version , der blev gennemgået den 15. marts 2013; checks kræver 8 redigeringer .

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.

Arbejdsmekanisme

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).

Links

  1. Brug af historie interaktivt . GNU bash manual .
  2. GNU historiebibliotek . GNU readline manual .
  3. Zsh historie muligheder . Z shell online manual .