command-line interface (CLI)

Wat is een command-line interface?

een command-line interface (CLI) is een tekstgebaseerde gebruikersinterface (UI) die wordt gebruikt om programma ‘ s uit te voeren, computerbestanden te beheren en met de computer te communiceren. Command-line interfaces worden ook wel command-line user interfaces, console user interfaces en character user interfaces. CLIs accepteren als invoeropdrachten die via het toetsenbord worden ingevoerd; de opdrachten die worden aangeroepen op de opdrachtprompt worden vervolgens door de computer uitgevoerd.

tegenwoordig bieden de meeste leveranciers de grafische gebruikersinterface (GUI) aan als standaard voor besturingssystemen zoals Windows, Linux en macOS. De meeste huidige Unix-gebaseerde systemen bieden zowel een command-line interface als een grafische gebruikersinterface.

het MS-DOS-besturingssysteem en de command shell in het Windows-besturingssysteem zijn voorbeelden van command-line interfaces. Daarnaast kunnen ontwikkelplatforms voor programmeertalen zoals Python command-line interfaces ondersteunen.

de commandoregel daalde in populariteit na de introductie van GUI-gebaseerde personal computer-besturingssystemen zoals Microsoft Windows en Apple ‘ s “klassieke” Mac OS in de jaren 1980. de commandoregel blijft een belangrijk hulpmiddel voor IT-professionals, softwareontwikkelaars, sys-admins, netwerkbeheerders en vele anderen die de voorkeur geven aan een meer nauwkeurige en reproduceerbare interface voor hun systemen.

Wat is een shell?

in Computers biedt een shell-programma toegang tot de componenten van een besturingssysteem. De shell geeft gebruikers (of andere programma ‘ s) een manier om “binnen” het systeem te krijgen om programma ‘ s uit te voeren of configuraties te beheren. De shell definieert de grens tussen binnen en buiten.

de volgende twee typen besturingssysteemshells:

  • CLI-gebaseerde shells bieden gebruikers een beknopte en efficiënte wijze van interactie met het besturingssysteem, zonder dat de overhead van een grafische gebruikersinterface.
  • GUI-gebaseerde shells worden beschouwd als gemakkelijker te gebruiken voor beginners, maar ze bevatten ook een CLI-gebaseerde shell voor systeembeheerders of ervaren gebruikers die de voorkeur geven aan Interactie op een opdrachtprompt.

Bash is de meest gebruikte commandoregel shell Voor Unix-gebaseerde besturingssystemen, waaronder Linux.

de software die de opdrachtregelinterface afhandelt wordt gewoonlijk een opdrachttaalinterpreter, een opdrachtprocessor of opdrachtinterpreter genoemd. Twee bekende CLI shells zijn PowerShell voor Windows en Bash voor Linux en macOS.

Shells zijn de buitenste laag van het besturingssysteem en zijn vaak gescheiden van de onderliggende OS-kernel. Een shell werkt als een applicatie en kan naar behoefte worden vervangen. Een besturingssysteem kan meer dan één shell beschikbaar hebben, zoals in de volgende voorbeelden:

  • Microsoft Windows bevat de opdrachtprompt-app en de PowerShell-applicatie, die beide kunnen worden gebruikt om rechtstreeks met de computer te communiceren. Het Windows subsysteem voor Linux biedt ook een CLI toegang tot het onderliggende systeem.
  • Linux en andere Unix-gebaseerde besturingssystemen bieden meestal de Bourne-Again Shell (bash) als de standaard shell. Andere shells, waaronder de C shell, Z shell en anderen, kunnen worden geconfigureerd als de standaard systeem shell.

omdat de shell slechts één laag boven het besturingssysteem is, kunnen gebruikers bewerkingen uitvoeren die niet beschikbaar zijn in andere interfacetypen, zoals het verplaatsen van bestanden binnen systeemmappen en het verwijderen van vergrendelde bestanden.

om het grootste voordeel te halen uit het gebruik van een CLI shell, moeten gebruikers een scripttaal leren. De meeste commandoregel shells kunnen sequenties van commando ‘ s opslaan in een script of batch bestand dat volledig programmeerbaar kan zijn. Shell scripting is de basis van eenvoudige systeembeheer automatisering.

Hoe werkt CLIs?

zodra een computersysteem draait, wordt de CLI geopend op een leeg scherm met een opdrachtprompt en kunnen opdrachten worden ingevoerd.

typen CLI-opdrachten omvatten de volgende:

  • systeemcommando ‘ s die zijn gecodeerd als onderdeel van de interface van het besturingssysteem;
  • uitvoerbare programma ‘s die, indien succesvol aangeroepen, tekstgebaseerde of Grafische toepassingen uitvoeren; en
  • batchprogramma’ s (of batchbestanden of shell-scripts) die tekstbestanden zijn met een reeks opdrachten. Wanneer met succes aangeroepen, een batch-programma draait zijn opdrachten die zowel systeem commando ‘s en uitvoerbare programma’ s kunnen bevatten.

CLI is meer dan een eenvoudig command/response systeem, omdat de meeste extra functies hebben waardoor het ene de voorkeur heeft boven het andere. Sommige functies omvatten de volgende:

  • Scriptmogelijkheid stelt gebruikers in staat om programma ‘ s te schrijven die vanaf de opdrachtregel op het systeem kunnen worden uitgevoerd.
  • Commandopijpen stellen gebruikers in staat om de uitvoer van een programma om te zetten in de invoer voor een ander programma (“piping” de stroom van gegevens).
  • Systeemvariabelen kunnen worden ingesteld op de opdrachtregel, of de waarden van deze variabelen worden weergegeven.
  • functies in de opdrachtgeschiedenis stellen de gebruiker in staat om eerdere opdrachten terug te roepen. Sommige opslaan opdrachtgeschiedenis voor de sessie( zoals PowerShell), anderen kunnen worden geconfigureerd om sessiegeschiedenis langer op te slaan (zoals bash).

commando ‘ s en syntaxis voor CLIs zijn meestal zeer stabiel in de tijd, deels om achterwaartse compatibiliteit voor scripts mogelijk te maken.

Prompts en commando ‘s

afhankelijk van het besturingssysteem en de CLI kunnen er honderden of zelfs duizenden verschillende uitvoerbare commando’ s beschikbaar zijn. De set van commando ‘ s kan sterk variëren tussen besturingssystemen of toepassingen.

Microsoft definieert bijvoorbeeld honderden cmdlets als “lichtgewicht commando’ s ” die in PowerShell moeten worden gebruikt; PowerShell-functies zijn lijsten van cmdlets die op de opdrachtregel kunnen worden uitgevoerd.

sommige commando ‘s die op de commandoregel zelf worden uitgevoerd, zoals het commando dir:

C:\> dir

commando’ s kunnen ook worden gebruikt met argumenten (soms aangeduid als parameters) die wijzigen hoe het commando moet worden uitgevoerd. Argumenten volgen de opdracht en geven extra details of details.

De cd “change directory” commando in veel CLIs wordt gebruikt om de huidige werkmap wanneer de gewenste nieuwe pad is opgenomen als een argument, maar in sommige gevallen (zoals in MS-DOS of Windows command prompt) om de opdracht zelf geeft de huidige werkmap.

dit commando stelt de huidige werkmap opnieuw in:

cd \ documents \ user \ working

met argumenten kunnen opdrachtregelgebruikers zeer specifieke resultaten krijgen die soms niet beschikbaar zijn via een grafische interface.

moderne CLIs bieden leidingen, of mechanismen voor het nemen van de uitvoer van een commando en het verzenden van het als invoer naar een ander commando. De verticale balk, of ” / ” symbool, wordt vaak gebruikt voor dit doel.

de volgende “one-liner” gebruikt pipes om meerdere PowerShell-opdrachten samen te stellen om gedetailleerde netwerkconfiguratie-informatie van een Windows-machine op te halen:

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

hoewel deze string wordt ingevoerd op de opdrachtregel alsof het een enkele opdracht, het bevat de volgende opeenvolgende commando ‘ s:

  • Get-Netipadress haalt alle IP-configuratie-informatie voor de computer op wanneer deze zonder argumenten wordt ingevoerd.
  • Sorteer InterfaceIndex accepteert als invoer de uitvoer van de Get-Netipadress cmdlet en sorteert deze op basis van de InterfaceIndex-waarde die is gekoppeld aan elk IP-adres in de computerconfiguratie.
  • FT InterfaceIndex, InterfaceAlias, AddressFamily, ipadres gebruikt de opdracht Format-Table (FT) om de gesorteerde uitvoer van de vorige opdracht te formatteren en geeft de opgegeven waarden voor elk IP-adres weer.

achterwaartse compatibiliteit is vaak een doel wanneer nieuwe CLI ‘s worden geïntroduceerd om bestaande CLI’ s te vervangen, zoals wanneer Microsoft MS-DOS verving door de Windows Command Prompt. Hoewel sommige MS-DOS commando ‘ s niet langer ondersteund worden, zullen de meeste nog steeds in PowerShell werken zoals oorspronkelijk bedoeld.

gemeenschappelijke MS-DOS commando ‘s omvatten de volgende commando’ s::

opdracht voorbeeld opmerkingen
CD C: \ > CD \ user \ programs
C:\user \ programs>
verandert de huidige map naar het opgegeven pad. Wanneer ingevoerd zonder pad, toont het de naam van de huidige werkmap. Als het pad is opgenomen in de opdrachtprompt, zal de prompt veranderen zoals in het voorbeeld (zie ook PROMPT hieronder).
CHKDSK C:\> CHKDSK a: controleert de opgegeven schijf — in dit geval de floppy disk in de a: drive — en geeft een statusrapport terug met de grootte van de schijf, Het aantal bestanden en mappen in gebruik en het aantal gebruikte bytes.
KOPIE C:\ > autoexec kopiëren.BBT autoexec.BAK kopieert opgegeven bestand of bestanden. Kan worden gebruikt om bestanden te kopiëren naar duplicaten met verschillende bestandsnamen of om bestanden naar een andere map te kopiëren zonder namen te veranderen.
DEL C:\> DEL autoexec.BAK
C:\> DEL C:\backups\*.BAK
verwijdert een bestand of bestanden. Kan worden gebruikt om bestanden te verwijderen in de huidige werkmap of in een andere map. Kan ook worden gebruikt met jokertekens om groepen bestanden te verwijderen.
map C:\> map
C:\> map c:\backups\*.txt
toont alle inhoud — bestanden en mappen — in de opgegeven map. Als er geen map is opgegeven, verwijst deze naar de inhoud van de huidige map. Het kan ook worden gebruikt met jokertekens om alleen specifieke bestanden weer te geven.
EDLIN C:\> Edlin autoexec.BBT start edlin, een Regeleditor die kan worden gebruikt om tekstbestanden te bewerken. In dit voorbeeld wordt het gebruikt om de autoexec te bewerken.bat bestand.
formaat C:\> formaat A: formatteert een schijf zodat deze met MS-DOS kan worden gebruikt.
MKDIR C:\> MKDIR c:\NewDIR maakt een nieuwe map aan in het opgegeven pad.
meer C:\> meer autoexec.BBT geeft de inhoud van een bestand weer, scherm voor scherm. Het wordt meestal gebruikt voor tekstbestanden.
PROMPT C:\> prompt $p $d$g
C:\UTIL VR 11-05-2021>
wijzigt de standaardprompt. In dit voorbeeld worden parameters gebruikt met de opdracht om het prompt-display in te stellen als het huidige station en PAD, de dag en datum en het groter-dan-symbool. De resulterende prompt wordt weergegeven in het voorbeeld.
RMDIR C:\> rmdir c:\backup verwijdert een map.
TYPE C:\> type autoexec.BBT geeft de inhoud van een tekstbestand weer, zonder Pagina-einden.

CLI versus GUI

de grafische gebruikersinterface is vandaag de meest populaire gebruikersinterface. Een GUI gebruikt windows, menu ‘s en pictogrammen om commando’ s uit te voeren. Het gebruik van een muis is de meest voorkomende manier om door een GUI te navigeren, hoewel veel GUI ‘s enige navigatie en uitvoering van programma’ s via een toetsenbord toestaan.

Microsoft Word is een voorbeeld van een GUI-gebaseerde toepassing. Een gebruiker kan opties voor pagina-opmaak en stijlen wijzigen door het bijbehorende pictogram of pull-down menu met een muis of toetsenbord te selecteren.

een PowerShell-opdrachtregel
een voorbeeld van uitvoer van de PowerShell-opdrachtregel

een voordeel van een GUI is dat de interface beschikbare functies visueel kan weergeven. Echter, omdat het afhankelijk is van een grafische weergave, kan een GUI niet hetzelfde niveau van functionaliteit en granulaire controle hebben als een command-line interface. Het kan bijvoorbeeld een groot aantal klikken en beweging door meerdere dialoogvensters in een GUI vereisen om hetzelfde resultaat te bereiken als een enkele opdrachtregel.

bovendien ondersteunen GUI ‘ s scripting of automatisering niet gemakkelijk. Voor algemene taken moet een gebruiker elke klik herhalen of handmatig door elk dialoogvenster in de GUI navigeren.

Systeembeheerders die mogelijk honderden-of honderdduizenden-systemen en configuraties moeten beheren, zullen een GUI veel minder efficiënt vinden dan een CLI. Een eenvoudige CLI-opdracht kan eenvoudig configuraties voor een grote groep systemen tegelijk aanpassen.

commando ‘ s en argumenten kunnen ook worden gecombineerd en opgeslagen en vervolgens als een script worden uitgevoerd telkens wanneer een specifieke actie — of een uitgebreide reeks acties — vereist is. De CLI is de voorkeur tool voor vele enterprise-brede systemen management taken.

een voorbeeld van de grafische gebruikersinterface van Windows 11
Windows 11 GUI: het menu Start

CLI voor-en nadelen

de volgende voordelen van een opdrachtregelinterface:

  • granulaire besturing van een besturingssysteem of toepassing;
  • efficiënter beheer van een groot aantal systemen;
  • mogelijkheid om scripts op te slaan om reguliere taken te automatiseren; en
  • basiskennis van de opdrachtregelinterface kan het oplossen van problemen met netwerkverbindingen of het oplossen van andere systeemtaken mogelijk maken.

de nadelen van een opdrachtregelinterface zijn de volgende::

  • GUI is gebruiksvriendelijker;
  • steilere leercurve geassocieerd met het onthouden van commando ‘s en complexe syntaxis/argumenten; en
  • verschillende commando’ s gebruikt in verschillende shells.

de opdrachtregel is een geweldige plek om een expert te worden in het gebruik van een computer. Als je er eenmaal klaar voor bent, is het ook de enige plek om te leren hoe je shell scripts moet schrijven.

Leave a Reply