kommandoradsgränssnitt (CLI)

vad är ett kommandoradsgränssnitt?

ett kommandoradsgränssnitt (CLI) är ett textbaserat användargränssnitt (UI) som används för att köra program, hantera datafiler och interagera med datorn. Kommandoradsgränssnitt kallas också kommandoradsgränssnitt, konsolgränssnitt och teckengränssnitt. CLIs accepterar som inmatningskommandon som matas in av tangentbordet; kommandona som anropas vid kommandotolken körs sedan av datorn.

idag erbjuder de flesta leverantörer det grafiska användargränssnittet (GUI) som standard för operativsystem (operativsystem) som Windows, Linux och macOS. De flesta nuvarande Unix – baserade system erbjuder både ett kommandoradsgränssnitt och ett grafiskt användargränssnitt.

MS-DOS-operativsystemet och kommandoskalet i Windows-operativsystemet är exempel på kommandoradsgränssnitt. Dessutom kan programmeringsspråkutvecklingsplattformar som Python stödja kommandoradsgränssnitt.

kommandoraden sjönk i popularitet efter introduktionen av GUI-baserade Persondatoroperativsystem som Microsoft Windows och Apples “klassiska” Mac OS på 1980-talet. kommandoraden är fortfarande ett viktigt verktyg för IT-proffs, programutvecklare, sys-administratörer, nätverksadministratörer och många andra som föredrar ett mer exakt och reproducerbart gränssnitt framför sina system.

Vad är ett skal?

i datorer ger ett skalprogram åtkomst till operativsystemets komponenter. Skalet ger användare (eller andra program) ett sätt att få “inuti” systemet för att köra program eller hantera konfigurationer. Skalet definierar gränsen mellan insidan och utsidan.

följande är de två typerna av operativsystemskal:

  • CLI-baserade skal erbjuder användarna ett kortfattat och effektivt sätt att interagera med operativsystemet, utan att kräva ett grafiskt användargränssnitt.
  • GUI – baserade skal anses vara lättare för nybörjare att använda, men de innehåller också ett CLI-baserat skal för systemadministratörer eller avancerade användare som föredrar att interagera vid en kommandotolk.

Bash är det vanligaste kommandoradsskalet för Unix-baserade operativsystem inklusive Linux.

programvaran som hanterar kommandoradsgränssnittet kallas vanligtvis en kommandotolk tolk, en kommandoprocessor eller kommandotolk. Två välkända CLI-skal är PowerShell för Windows och Bash för Linux och macOS.

skal är det yttersta lagret av operativsystemet och separeras ofta från den underliggande OS-kärnan. Ett skal fungerar som en applikation och kan bytas ut efter behov. Ett operativsystem kan ha mer än ett skal tillgängligt, som i följande exempel:

  • Microsoft Windows innehåller Command Prompt-appen samt PowerShell-applikationen, som båda kan användas för att interagera direkt med datorn. Windows-delsystemet för Linux ger också en CLI med åtkomst till det underliggande systemet.
  • Linux och andra Unix-baserade operativsystem tillhandahåller vanligtvis Bourne-Again-skalet (bash) som standardskal. Andra skal, inklusive C-skalet, Z-skalet och andra, kan konfigureras som standardsystemskalet.

eftersom skalet bara är ett lager ovanför operativsystemet kan användare utföra operationer som inte är tillgängliga i andra gränssnittstyper, till exempel att flytta filer i systemmappar och ta bort låsta filer.

för att få största möjliga nytta av att använda ett CLI-skal bör användarna lära sig ett skriptspråk. De flesta kommandoradsskal kan spara sekvenser av kommandon i ett skript eller en batchfil som kan vara helt programmerbar. Shell scripting är grunden för grundläggande system management automation.

hur fungerar CLIs?

när ett datorsystem körs öppnas dess CLI på en tom skärm med en kommandotolk och kommandon kan anges.

typer av CLI-kommandon inkluderar följande:

  • systemkommandon som kodas som en del av operativsystemgränssnittet;
  • körbara program som, när de har åberopats, kör textbaserade eller grafiska applikationer; och
  • batchprogram (eller batchfiler eller skalskript) som är textfiler som visar en sekvens av kommandon. När framgångsrikt åberopas kör ett batchprogram sina kommandon som kan innehålla både systemkommandon och körbara program.

CLI är mer än ett enkelt kommando/svarssystem, eftersom de flesta har ytterligare funktioner som gör att man föredrar en annan. Vissa funktioner inkluderar följande:

  • Scripting kapacitet gör det möjligt för användare att skriva program som kan köras på systemet från kommandoraden.
  • Kommandorör gör det möjligt för användare att rikta utmatningen från ett program för att vara ingången för ett annat program (“rörledning” dataflödet).
  • Systemvariabler kan ställas in på kommandoraden eller värdena för dessa variabler visas.
  • Kommandohistorikfunktioner gör det möjligt för användaren att återkalla tidigare utfärdade kommandon. Vissa sparar kommandohistorik för sessionen (som PowerShell), andra kan konfigureras för att lagra sessionshistorik längre (som bash).

kommandon och syntax för CLIs tenderar att vara mycket stabila över tiden, delvis för att möjliggöra bakåtkompatibilitet för skript.

prompter och kommandon

beroende på operativsystem och CLI kan det finnas hundratals eller till och med tusentals olika körbara kommandon tillgängliga. Uppsättningen kommandon kan variera dramatiskt mellan operativsystem eller applikationer.

Microsoft definierar till exempel hundratals cmdlets som “lätta kommandon” som ska användas i PowerShell; PowerShell-funktioner är listor över cmdlets som kan köras på kommandoraden.

vissa kommandon körs på kommandoraden av sig själva, till exempel kommandot dir:

C:\> dir

kommandon kan också användas med argument (ibland kallade parametrar) som ändrar hur kommandot ska köras. Argument följer kommandot och ger ytterligare detaljer eller detaljer.

cd-kommandot “Ändra katalog” i många CLIs används för att ändra den aktuella arbetskatalogen när den önskade nya katalogvägen ingår som ett argument-men i vissa fall (som i MS-DOS eller Windows-kommandotolken) returnerar kommandot i sig den aktuella arbetskatalogen.

detta kommando återställer den aktuella arbetskatalogen:

cd \documents\user\working

argument gör det möjligt för kommandoradsanvändare att få mycket specifika resultat som ibland inte är tillgängliga via ett grafiskt gränssnitt.

moderna CLIs tillhandahåller rör eller mekanismer för att ta utmatningen från ett kommando och skicka det som inmatning till ett annat kommando. Den vertikala stapeln, eller ” / ” – symbolen, används ofta för detta ändamål.

följande” one-liner ” använder rör för att stränga ihop flera PowerShell-kommandon för att hämta detaljerad nätverkskonfigurationsinformation från en Windows-maskin:

Get-NetIPAddress | Sort InterfaceIndex | FT InterfaceIndex, InterfaceAlias, AddressFamily, IPAddress

även om den här strängen anges på kommandoraden som om det var ett enda kommando, innehåller den följande kommandon i följd:

  • Get-NetIPAddress hämtar all IP-konfigurationsinformation för datorn när den anges utan några argument.
  • Sortera InterfaceIndex accepterar som inmatning utmatningen från Get-NetIPAddress cmdlet och sorterar den med InterfaceIndex-värdet associerat med varje IP-adress som ingår i datorkonfigurationen.
  • FT InterfaceIndex, InterfaceAlias, AddressFamily, IPAddress använder kommandot Format-Table (FT) för att formatera den sorterade utmatningen från föregående kommando och visar de angivna värdena för varje IP-adress.

bakåtkompatibilitet är ofta ett mål när nya CLIs introduceras för att ersätta befintliga CLIs, som när Microsoft ersatte MS-DOS med Windows-kommandotolken. Även om vissa MS-DOS-kommandon inte längre stöds, kommer de flesta fortfarande att fungera i PowerShell som ursprungligen tänkt.

vanliga MS-DOS-kommandon inkluderar följande:

kommando exempel anteckningar
CD C:\> CD \ användare \ Program
C:\ user \ programs>
ändrar den aktuella katalogen till den angivna sökvägen. När den skrivs in utan sökväg visas den aktuella arbetskatalogens namn. Om sökvägen ingår i kommandotolken ändras prompten som i exemplet (se även PROMPT, nedan).
CHKDSK C:\> CHKDSK a: kontrollerar den angivna disken – i det här fallet disketten i A: drive – och returnerar en statusrapport som visar diskstorleken, antalet filer och kataloger som används och antalet byte som används.
KOPIERA C:\ > kopiera autoexec.bat autoexec.BAK kopior specificerad fil eller filer. Kan användas för att kopiera filer till dubbletter med olika filnamn eller kopiera filer till en annan katalog utan att ändra namn.
DEL C:\> del autoexec.BAK
C:\> DEL C:\backups\*.BAK
tar bort en fil eller filer. Kan användas för att ta bort filer i den aktuella arbetskatalogen eller i någon annan katalog. Kan också användas med jokertecken för att ta bort grupper av filer.
DIR C:\> DIR
C:\> DIR c:\backup\*.txt
visar allt innehåll – filer och kataloger-i den angivna katalogen. Om ingen katalog anges hänvisar den till innehållet i den aktuella katalogen. Den kan också användas med jokertecken för att visa endast specifika filer.
EDLIN C: \ > edlin autoexec.bat startar edlin, en radredigerare som kan användas för att redigera textfiler. I det här exemplet används det för att redigera autoexec.bat-fil.
FORMAT C: \ > FORMAT a: formaterar en disk så att den kan användas med MS-DOS.
MKDIR C:\> MKDIR c:\NewDIR skapar en ny katalog i den angivna sökvägen.
mer C:\> mer autoexec.bat visar innehållet i en fil, en skärm i taget. Det används mest för textfiler.
fråga C:\> fråga $p $d $ g
C:\UTIL fre 11-05-2021>
ändrar standardprompten. I det här exemplet används parametrar med kommandot för att ställa in snabbvisningen som aktuell enhet och sökväg, dag och datum och symbolen större än. Den resulterande prompten visas i exemplet.
RMDIR C:\> rmdir c:\backup tar bort en katalog.
typ C:\> typ autoexec.bat visar innehållet i en textfil, utan sidbrytningar.

CLI versus GUI

det grafiska användargränssnittet är det mest populära användargränssnittet idag. Ett GUI använder fönster, menyer och ikoner för att utföra kommandon. Att använda en mus är det vanligaste sättet att navigera genom ett GUI, även om många Gui tillåter viss navigering och programkörning via ett tangentbord.

Microsoft Word är ett exempel på en GUI-baserad applikation. En användare kan ändra alternativ för sidlayouter och stilar genom att välja motsvarande ikon eller rullgardinsmeny med en mus eller tangentbord.

en PowerShell kommandorad
ett exempel på utdata från PowerShell kommandoraden

en fördel med ett GUI är gränssnittet kan visuellt visa tillgängliga funktioner. Eftersom det är beroende av grafisk visning kanske ett GUI inte har samma nivå av funktionalitet och granulär kontroll som ett kommandoradsgränssnitt. Det kan till exempel kräva många klick och rörelse genom flera dialogrutor i ett GUI för att uppnå samma resultat som en enda kommandorad.

Dessutom stöder Gui inte lätt skript eller automatisering. För vanliga uppgifter måste en användare upprepa varje klick eller navigera i varje dialogruta i GUI manuellt.

systemadministratörer som kan behöva hantera hundratals-eller hundratusentals-system och konfigurationer kommer att hitta en GUI mycket mindre effektiv än en CLI. Ett enkelt CLI-kommando kan enkelt justera konfigurationer för en stor grupp system samtidigt.

kommandon och argument kan också kombineras och sparas, sedan exekveras som ett skript varje gång den specifika åtgärden-eller omfattande uppsättning åtgärder-krävs. CLI är det föredragna verktyget för många företagsövergripande systemhanteringsuppgifter.

ett exempel på det grafiska användargränssnittet i Windows 11
Windows 11 GUI: Startmenyn

CLI fördelar och nackdelar

följande är fördelar med ett kommandoradsgränssnitt:

  • granulär kontroll av ett operativsystem eller en applikation;
  • effektivare hantering av ett stort antal system;
  • möjlighet att lagra skript för att automatisera vanliga uppgifter; och
  • grundläggande kommandoradsgränssnittskunskap kan möjliggöra felsökning av nätverksanslutningsproblem eller lösa andra systemuppgifter.

nackdelarna med ett kommandoradsgränssnitt är följande:

  • GUI är mer användarvänligt;
  • brantare inlärningskurva i samband med memorera kommandon och komplexa syntax/argument; och
  • olika kommandon som används i olika skal.

kommandoraden är ett bra ställe att bli expert på att använda en dator. När du är redo är det också det enda stället att lära dig att skriva skalskript.

Leave a Reply