Interpret de comandă

Un shell de comandă ( CLI pentru interpretul de linie de comandă în limba engleză) este un sistem software care face parte din componentele de bază ale unui sistem de operare . Funcția sa este de a interpreta de comenzi pe care un utilizator de pe tastatură în interfață linie de comandă .

Perspectiva istorica

Primele sisteme capabile să interpreteze liniile de comandă au apărut la începutul anilor 1960 , alături de tastatura computerului . Anterior, computerele erau utilizate doar în procesarea în serie .

Sub DOS

Sub DOS , indiferent de versiune ( MS-DOS , FreeDOS , DR-DOS , PC-DOS ...), există un interpret numit COMMAND . Există, de asemenea, 4DOS (sau versiunea Norton NDOS) un interpret mai avansat, dar care consumă mult mai multă memorie.

Sub Microsoft Windows

Interpretul de comandă este pornit de executabil COMMAND.COMsau cmd.exedin Windows NT . Până la Windows 3.x , Windows a fost doar o interfață grafică pentru DOS, dar a început să ofere mai multe funcționalități decât a oferit-o din Windows 95 . Familia Windows NT , până la Windows XP, care este versiunea 5.1, renunță aproape complet la linia de comandă, iar promptul de comandă pe care îl oferă este utilizat în esență ca un emulator restricționat de comenzi DOS .

De cand 24 martie 2009, un al treilea interpret de comenzi a fost dezvoltat de Microsoft: PowerShell 1.0 este distribuit ca o actualizare software opțională de către serviciul Windows Update din Windows XP și Vista . Este integrat nativ în versiunea 2.0 în Windows 7 .

Pe sistemele UNIX

Consola Konsole.  Puteți introduce toate comenzile acolo.  Observați bara liftului din dreapta pentru a naviga în rezultatele anterioare. Xterm 4.5 sub Mandrake Linux 10.2.

Pe UNIX , linia de comandă a fost întotdeauna mijlocul preferat de comunicare cu computerul. Bourne shell ( sh ) este interpretul original al UNIX mediu . La vremea sa, marea sa originalitate a fost utilizarea tuburilor (caracterul "|"), care permit conectarea ieșirii unei comenzi la intrarea alteia. Putem astfel scrie comenzi complexe din comenzi simple.

GNU / Linux , familia BSD și alte derivate UNIX au moștenit această particularitate, deși au și interfețe grafice complete (în special X Window și Xorg ).

Printre aceste derivate, macOS este prezentat ca un mediu în primul rând grafic, dar are un interpret de comenzi ( tcsh , bash sau zsh ) care este activat din utilitarul Terminal .

Dacă utilizatorul dorește, limbajele de scriptare precum Perl , Python sau Ruby pot înlocui unele funcționalități ale procesorului de linie de comandă, de exemplu manipularea expresiilor regulate.

Dependența interpretilor de comenzile externe face ca scripturile să nu fie foarte portabile, chiar dacă interpretii înșiși au fost transportați în alte medii decât mediul lor original UNIX.

În echipamentele de rețea

Dacă astăzi, tot mai multe dispozitive de rețea oferă o interfață de administrare grafică prin intermediul paginilor web, primele interfețe utilizator pentru acest tip de dispozitive au fost interfețele de linie de comandă.

Vom cita cazul echipamentelor Cisco și CLI integrate în sistemul de operare IOS , care rămâne o referință CLI ( Cisco Like Interface pentru cei care sunt inspirați de acesta).

Interpreți și medii grafice

Solicitarea este cea mai simplă interfață pentru a crea și păstrează multe avantaje față de mediile grafice  :

Multe servere pot fi administrate numai din linia de comandă, deoarece există puține motive pentru a avea nevoie de o interfață grafică pe un server, o interfață care ar putea fi o sursă de defecțiuni și a cărei telecomandă este mai dificilă. Excepție de Windows în care se impune interfața grafică, chiar dacă serverul nu are ecran, precum și multe utilitare precum Media Player. Rețineți totuși aspectul unei versiuni Core Server a MS 2008 Server , o versiune în care interfața grafică nu este instalată, controlul făcându-se în modul linie de comandă în limbajul de proprietate al Microsoft PowerShell sau prin intermediul consolelor de management Microsoft.

În utilizarea zilnică de birou, administratorii de fișiere grafice și alte meniuri de lansare a aplicațiilor tind să înlocuiască interpretul oferind o alternativă mai ușor de utilizat. Cu toate acestea, interpretul rămâne cel mai versatil instrument, încă de neînlocuit pentru anumite sarcini. Astfel, interpretul și software-ul utilitar în modul grafic sunt complementare în orice utilizare extinsă a instrumentului computerizat.

În programarea Windows , funcțiile exportate de Explorer sunt numite și funcții shell (sau shell API ) . De exemplu, funcția se ocupă de gestionarea fișierelor (copiere, mutare, ștergere etc.) SHFileOperation()

Bucla de interpretare

Sarcina oricărui interpret de comandă poate fi rezumată în următorul algoritm foarte simplu:

TANT QUE l'utilisateur ne ferme pas la session FAIRE # Émettre un signe d'invite (prompt) # Lire la ligne courante # Exécuter la commande indiquée sur cette ligne FIN

Unii interpreți populari

Interpret sub Windows

De fapt, în registrul Windows, foarte multe programe sunt considerate interpreti.

Interpreți Unix

Exemplu

O sesiune cu interpretul tcsh:

[ske:~] ske% cd /usr/ [ske:/usr] ske% ls bin lib local share include libexec sbin standalone [ske:/usr] ske% top [ske:/usr] ske% cd /tmp [ske:/tmp] ske% ls -l total 152 -rw-r--r-- 1 ske admin 68328 15 Apr 10:54 93633C68062E855100FCE70A -rw-r--r-- 1 ske admin 0 19 Apr 09:28 cs_cache_lock_501 -rw-r--r-- 1 root admin 644 23 Apr 09:05 mcx_compositor drwxr-xr-x 3 ske admin 102 19 Apr 11:39 pb-man -rw-r--r-- 1 ske admin 74 15 Apr 10:54 reload-stub.s srwxrw-rw- 1 root admin 0 23 Apr 09:04 slp_ipc [ske:/tmp] ske% echo Hello World >test.tmp [ske:/tmp] ske% cat test.tmp Hello World [ske:/tmp] ske% rm test.tmp [ske:/tmp] ske%

Vezi și tu

linkuri externe

  • (ro) SS64.com , referință pentru interfețele comune ale liniei de comandă (baze de date, sisteme de operare etc.)
  • (ro) Proiecte open source pentru crearea de interfețe de linie de comandă: CLI , CLI Parser , Natural CLI