Kommandolinjegrensesnitt

Et kommandolinjegrensesnitt eller CLI (engelsk kommandolinjegrensesnitt , ofte forkortet CLI ) er et menneske-maskin-grensesnitt der kommunikasjon mellom brukeren og datamaskinen foregår i tekstmodus  :

Et kommandolinjegrensesnitt kan brukes både til å starte utførelsen av forskjellige programvarer ved hjelp av en kommandotolk , og for dialoger med brukeren av denne programvaren. Det er den grunnleggende interaksjonen mellom et menneske og en datamaskin (eller annet datautstyr).

Når et grensesnitt er klart til å motta en kommando, indikerer det dette med en ledetekst . Dette, noen ganger referert til som rask anglisisme , består av noen få tegn i begynnelsen av en linje (vanligvis brukerens kontonavn og / eller standard logiske enhet , og / eller standardbane., Og / eller dato ...), slutter med et kjent tegn (ofte “  ]  ”, “  #  ”, “$” eller “  >  ”), og inviterer brukeren til å skrive en kommando.

Historisk

Kommandolinjegrensesnittet er det eldste samtalegrensesnittet som er utviklet på datamaskiner. Før det arbeidet datamaskiner med batchbehandling  : data som ble spilt inn på en serie stansede kort eller stanset bånd ble sendt til datamaskinen . Disse dataene fortalte datamaskinen hvilke programmer som skulle kjøres og hvilken informasjon disse programmene måtte kjøre. Resultatet av behandlingen (vellykket eller feil) ble skrevet ut uten at noen dialog med brukeren hadde funnet sted.

Fremveksten av teletyper1960-tallet , og deretter senere konsoller fra 1970-tallet , som er enheter som mottar og sender tegn til datamaskinen, tillot datamaskinarbeid i form av økter . Dialogen mellom brukeren og datamaskinen ble deretter utført på kommandolinjen.

Fra 1980-tallet tillot utseendet av terminaler i grafisk modus og mus utvikling av grafiske grensesnitt , mer verdsatt av allmennheten, kanskje fordi de ikke krever å lære navnene på forskjellige kommandoer før d. 'For å bruke en datamaskin. Dette paradigmeskiftet fra kommandolinjegrensesnittet til grafiske brukergrensesnitt (GUI) er spesielt knyttet til markedsføringen av Apple av Lisa iJanuar 1983, da spesielt Macintosh iJanuar 1984: disse to datamodellene er de første offentlige datamaskiner som bruker Windows- grensesnitt , ikoner, menyer og pekeenheter (WIMP) , som kan manipuleres med musen og som bruker skrivebordsmetaforen på skjermen . Men spesielt på driftssystemer som stammer fra Unix , kommandolinjegrensesnitt er fortsatt populært med noen dataforskere i dag , gitt rikdom av sine muligheter.

Kommandolinjegrensesnittet under Unix

En av særegenheter ved Unix- operativsystemet , som Linux er hentet fra, er at den fra starten av hadde over hundre programmer, som ofte utførte veldig enkle prosesser, som alle kan brukes fra kommandolinjen.

Generell kommandosyntaks

De grunnleggende kommandoene under Unix har formen:

$> commande options fichiers_ou_données

Kommandoen som vises i begynnelsen av en linje er nesten alltid navnet på et program. Dette programmet kan være en operativsystemkommando, brukerskrevet programvare (ofte på C-språk ) eller et skall . Noen få kommandoer som kommandoen cd ( c hange of of ossier / directory ) kan ikke adresseres riktig av en bestemt programvare. I dette tilfellet blir de direkte henrettet av kommandotolken .

Noen av disse kommandoene kan utføres ved å skrive bare navnet deres på tastaturet. Men de fleste kommandoer godtar alternativer (en bindestrek etterfulgt av en eller flere bokstaver) som gjør det mulig å bruke kommandoen annet enn i standard driftsmodus. Til slutt blir mange kommandoer fulgt av ett eller flere filnavn , katalog eller annet, som de vil fungere med. All informasjon atskilt med mellomrom til høyre for kommandonavnet kalles kommandolinjeargumenter .

Den C-språk er designet for å gjøre det enkelt å hente kommandolinjeargumentene fra programvare som bruker dem.

Til slutt, for å vite hvordan du bruker en programvare, er en dokumentasjon ( Man-sider ) tilgjengelig for brukeren. Den brukes ved å gå foran kommandoen med mennesket .

Alternativ

Ett eller flere kommandolinjealternativer (også noen ganger kalt et flagg ) endrer måten en kommando fungerer. Effekten av opsjonen avhenger av rekkefølgen. Vanligvis følger alternativene umiddelbart kommandonavnet på kommandolinjen og skilles fra hverandre med mellomrom.

Formatet på alternativene er veldig variabelt. Syntaksen som brukes er ofte basert på en konvensjon i stedet for et operativsystemkrav. Oftest, i Unix, blir alternativene introdusert av - og er store og små bokstaver. Monogrammer er vanlige, men nylige programmer har en tendens til å tilby alternativer med lengre og tydeligere navn.

Det er umulig å vite på forhånd hvilke alternativer et program gjenkjenner, med mindre du ser i dokumentasjonen. Imidlertid er det vanlig (men ikke alltid) praksis for et program å vise et sammendrag av alternativene når det startes fra kommandolinjen med ett av følgende alternativer :? ; -? ; -h ; /? ; / h ; -hjelp ; eller --hjelp .

I / O-viderekoblinger

Som standard henter samtalekommandoer data skrevet av brukeren på tastaturet. Resultatet av utførelsen vises på skjermen. I tilfelle en feil under utførelsen, vises også feilmeldinger på skjermen.

Det er mulig å indikere for skallet at inn- eller utdata skal hentes / lagres i filer i stedet for på tastaturet og skjermen. For dette er forskjellige typer inn / ut-omdirigering tilgjengelig:

Eksempler:

sort monfichier

viser linjene i filen minfil i alfabetisk rekkefølge på skjermen . Hvis myfile- filen ikke eksisterer, vises en feilmelding på skjermen.

sort monfichier > resultat 2> problemes

butikker i resultat fil linjene i filen myfile klassifisert i alfabetisk rekkefølge. Hvis myfile- filen ikke eksisterer, vises en feilmelding i problemfilen .

Sekvens av kommandoer

Operativsystemer av Unix-type tillater kjøring av flere kommandoer. Datautgang fra en kommando brukes som inngang til neste kommando uten behov for mellomfiler.

Den generelle syntaksen er:

commande1 options arguments | commande2 options | commande3...

Eksempel:

find / -size +1000k -mtime -7 | sort | tee trace | less

I en enkelt kommandolinje søker kommandoen ovenfor i alle katalogene på datamaskinen etter filer på mer enn 1000 kilobyte endret i løpet av de siste 7 dagene, viser dem side for side med mulighet for å flytte i listen over baner sortert i alfabetisk retning. ordre, og lagrer også disse banene i sporingsfilen .

Metategn

Metategn kan brukes i kommandolinjer for å uttrykke filnavn som har en felles del:

Eksempler:

Bruker resultatet av en kommando som et argument for en annen

De ` omgir en kommando muliggjør et resultat av denne kommandoen som skal brukes som argument (er) på kommandolinjen.

Eksempler:

$> echo "Nous sommes le" `date +%d/%m/%y` "et il est" `date +%H:%M:%S`

viser en setning som inneholder gjeldende dato og klokkeslett. For dette utføres dato- kommandoen to ganger med et annet utdataformat.

$> echo "2 + 2 =" `expr 2 + 2`

viser 2 + 2 = 4 etter å ha gjort beregningen.

Andre særegenheter

MS / DOS-kommandolinjegrensesnittet

MS-DOS ble opprettet på begynnelsen av 1980-tallet . Det fungerer fra kommandolinjen med samme type syntaks som Unix-kommandoer. Men listen over kommandoer som er tilgjengelige under MS-DOS er mye mindre.

Noen kommandoer som sort spiller den samme rollen under Unix og MS-DOS.

Andre kommandoer har forskjellige navn i de to operativsystemene. Så finn- kommandoen  :

MS-DOS kommandolinjer har i utgangspunktet samme syntaks som Unix-kommandoer, men mulighetene er mer begrensede.

MS-DOS tillater:

Windows NT kommandolinjegrensesnitt

cmd.exe er kommandolinjegrensesnittet for operativsystemer i Windows NT- familien (inkludert Microsoft Windows 2000 , Microsoft Windows XP , Microsoft Windows Vista ...). Det er en utvikling av MS-DOS- grensesnittet .

Med Windows Vista vises et nytt Windows PowerShell- kommandolinjemiljø som også kjører Windows XP SP2.

Merknader og referanser

  1. Thierry Benjamin , Å gi for å se, å tillate å handle. Oppfinnelsen av grafisk interaktivitet og konseptet bruker innen databehandling og telekommunikasjon i Frankrike (1961-1990) , Paris (Frankrike),10. desember 2013, 1019  s. ( SUDOC  176590951 , lest online ) , “The Wimp graphical interface, a new dominant paradigm of human-machine interaction”, s.  604-605

Relaterte artikler