Shell (informatica): differenze tra le versioni

Contenuto cancellato Contenuto aggiunto
Aggiunto collegamento ad una pagina esistente sulla "Text-based user interface"
Funzionalità collegamenti suggeriti: 3 collegamenti inseriti.
 
(16 versioni intermedie di 13 utenti non mostrate)
Riga 1:
{{F|sistemi operativi|marzo 2013}}
[[File:Gnome-3.18.2-showing-overview.png|thumb|upright=1.4|L'interfaccia grafica di [[GNOME]] dei sistemi [[GNU/Linux]] e [[Solaris (sistema operativo)|Solaris]]]]
La '''shell''' (detta in italiano '''interprete dei comandi'''), in [[informatica]], è la componente fondamentale di un [[sistema operativo]] che permette all'utente il più alto livello di interazione con lo stesso. Tramite dila essoshell è possibile impartire [[istruzione (informatica)|comandi]] e richiederichiedere l'avvio di altri [[Programma (informatica)|programmi]]. Insieme al [[kernel]], la shell costituisce una delle componenti [[software]] imprescindibili di un sistema operativo.
 
Il suo nome "shell" proviene dall'[[lingua inglese|inglese]] e significa "guscio", a conferma del fatto che questa componente viene considerata l'involucro, la parte visibile del sistema ed è dunque definibile come l'[[interfaccia utente]] o il programma [[software]] che la rende possibile. L'interfaccia di una ''shell'' può essere [[Interfaccia grafica|grafica]] (GUI), testuale ([[Text-based user interface|TUI]]) o [[Interfaccia a riga di comando|a riga di comando]] (CLI).
Insieme al [[kernel]] costituisce una delle componenti [[software]] imprescindibili di un sistema operativo.
Nei moderni Sistemi (es. [[Windows]]), rispetto al passato (spec. anni 80'-90')sistemi è possibile utilizzarne più di una nello stesso ambiente.
 
Il suo nome proviene dall'[[lingua inglese|inglese]] e significa "guscio" a conferma del fatto che questa componente viene considerata l'involucro, la parte visibile del sistema ed è dunque definibile come l'[[interfaccia utente]] o il programma [[software]] che la rende possibile.
 
L'interfaccia di una ''shell'' può essere grafica ([[Graphical user interface|GUI]]), testuale ([[:en:Text-based_user_interface|TUI]]) o a ''riga di comando'' ([[Command line interface|CLI]]).
Nei moderni Sistemi (es. [[Windows]]), rispetto al passato (spec. anni 80'-90') è possibile utilizzarne più di una nello stesso ambiente.
 
== Descrizione ==
Line 14 ⟶ 10:
 
* quando si parla semplicemente di ''"shell"'', o anche di "terminale", si intende di solito una ''shell'' testuale con cui l'utente interagisce attraverso un [[terminale (informatica)|terminale]] o un [[terminale virtuale]] (quest'ultimo può anche far parte della ''shell'' stessa anziché essere un programma a parte) tramite un'[[interfaccia a riga di comando]];
* nel caso di ''shell'' grafiche è comune fare riferimento ai cosiddetti ''[[Ambiente desktop|ambienti environmentdesktop]] (''desktop environment''), che forniscono agli utilizzatori un ambiente grafico da cui è possibile gestire [[file]] e avviare programmi.
 
=== Shell testuali ===
Line 36 ⟶ 32:
Le moderne ''shell'' testuali posseggono diverse funzionalità ergonomiche, tra le quali:
* la cronologia dei comandi eseguiti (o ''command history''), che permette di ripetere gli ultimi comandi digitati;
* il completamento dei comandi (o ''[[command-line completion]]''), che permette di completare automaticamente nomi di programmi e di file
* il ''job control'', che permette di [[esecuzione in background|avviare in ''background''secondo piano]] più programmi o di sospenderli temporaneamente.
 
Le ''shell'' testuali dei sistemi [[Unix]] integrano un [[linguaggio di scripting]] con il quale è possibile scrivere veri e propri programmi che possono ad esempio automatizzare le operazioni di amministrazione di sistema, semplificandola. La [[sintassi]] di tale linguaggio è un'estensione di quella usata interattivamente, per cui chi è familiare con l'uso interattivo della ''shell'' trova facile e naturale creare degli script.
 
Alcune delle funzionalità delle ''shell'' dei sistemi Unix sono state riprese in varia misura anche dalle ''shell'' testuali per i sistemi [[Microsoft Windows]], tuttavia esistono prodotti che offrono un ambiente Unix-like (e le relative ''shell'') per tali sistemi, come ad esempio quello del progetto [[Cygwin]], o anche Microsoft Windows Services for UNIX<ref>{{en}}[https://technet.microsoft.com/it-it/library/bb463212%28en-us%29.aspx Introduction to Microsoft Windows Services for UNIX 3.5]</ref> o ancora lo MKS [[Toolkit]].<ref>{{en}} [https://www.mkssoftware.com/ MKS Toolkit]</ref>
 
Il comando per cambiare la shell di [[login]] di un utente è ''[[chsh]]''.
 
=== Shell grafiche ===
Line 49 ⟶ 45:
[[File:Interfaccia_Windows_7_Basic.png|thumb|[[File Explorer]] di [[Microsoft Windows]]]]
[[File:Finder_macOS_Sierra.png|thumb|[[Finder]] di [[MacOS]]]]
L'evoluzione grafica delle shell è rappresentata dalle cosiddette [[Interfaccia grafica|GUIinterfacce grafiche]] o GUI (''Graphic User Interface'', interfacce grafiche utente), che hanno una rappresentazione dei dati pensata per essere molto più vicina al modo di percepire il mondo da parte degli esseri umani e quindi più [[user-friendlyUsabilità|facile da usare]].
 
Con le GUI il computer e il suo contenuto non sono più rappresentati da linee di testo, ma da icone e finestre che permettono di fare operazioni complesse con un clic del [[mouse]]. In molti sistemi le operazioni attivate dai click su icone e pulsanti mappano le rispettive istruzioni delle interfacce testuali che rappresentano dunque l'interfaccia diretta con il kernel del sistema operativo o il ''core'' delle applicazioni.
Line 66 ⟶ 62:
* [[Bash]] (shell tipica dei sistemi [[GNU/Linux]])
* [[Bourne shell]] (shell dei primi sistemi [[Unix]])
* [[C shell]] (shell un tempo popolare su sistemi [[Unix]])
* [[zsh|Z shell]] (conosciuta come zsh)
* [[Korn shell]] (shell comunemente disponibile su sistemi [[Unix]])
* [[Debian Almquist shell]] (shell usata in [[Debian]] e derivati per eseguire gli script di sistema)
* [[cmd.exe]] (shell dei sistemi operativi della famiglia [[Windows NT]])
Line 83 ⟶ 79:
* [[File Explorer]] (la shell dei sistemi [[Microsoft Windows]])
* [[GreenGnome]] (shell replacement per sistemi [[Microsoft Windows]])
* [[Unity (software)|Unity]] (precedente shell ufficiale di [[Ubuntu]])
 
== Note ==
Line 92 ⟶ 88:
* [[Interfaccia utente]]
* [[One-liner]]
* [[FileEsplora Explorerfile]]
* [[Shell Unix]]
* [[Script]]
Line 99 ⟶ 95:
 
== Altri progetti ==
{{interprogetto|preposizione=sulla}}
* [[File:Wikipedia-logo.svg|18px|Collabora a Wikipedia]] '''[[Wikipedia in inglese]]''' contiene la voce '''[[w:Comparison of command shells|Confronto fra shell di comando]]'''
 
== Collegamenti esterni ==
* {{Collegamenti esterni}}
* {{FOLDOC||shell}}
 
{{Portale|Informatica}}