Shell (informatica): differenze tra le versioni

Contenuto cancellato Contenuto aggiunto
Nessun oggetto della modifica
Funzionalità collegamenti suggeriti: 3 collegamenti inseriti.
 
(30 versioni intermedie di 22 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 anchein italiano '''interprete dei comandi'''), in [[informatica]], è la partecomponente fondamentale di un [[sistema operativo]] che permette agliall'utente il più alto utentilivello di interagireinterazione con il sistemalo stesso,. Tramite la shell è possibile impartendoimpartire [[istruzione (informatica)|comandi]] e richiedendorichiedere l'avvio di altri [[Programma (informatica)|programmi]]. Insieme al [[kernel]], la shell costituisce una delle componenti principali di un sistema operativo. Il suo nome (dall'[[lingua inglese|inglesesoftware]] ''shell'',imprescindibili guscio)di deriva dal fatto che questa componente viene considerata l'involucro, la parte visibile delun sistema edoperativo. è dunque definibile come l'[[interfaccia utente]] o il programma [[software]] che la rende possibile.
bella per la pepe
 
Il 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).
Nei moderni sistemi è possibile utilizzarne più di una nello stesso ambiente.
 
== Descrizione ==
In generale esistono molti tipi di ''shell'', che si dividono principalmente in ''testuali'' e ''grafiche'':
 
* 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 ===
{{vedi anche|Interfaccia a riga di comando}}
Una ''shell'' testuale (o interprete dei comandi) è un programma dotato di un'[[interfaccia a riga di comando]], che viene eseguito all'interno di un [[terminale (informatica)|terminale testuale]]. L'utente digita un comando, ovvero richiede l'esecuzione di un programma, e il programma eseguito può interagire con l'utente e/o mostrare dati sul terminale.
[[File:Award_BIOS_setup_utility.png|thumb|Il setup del [[BIOS]] è molto spesso a interfaccia testuale]]
[[File:Windows_PowerShell_1.0_PD.png|thumb|[[Windows PowerShell]] ha una tipica interfaccia a riga di comando.]]
Una ''shell'' testuale (o interprete dei comandi) può definirsi in due varianti.
 
La prima è costituita da un ambiente simile alle interfacce grafiche, comprensivo quindi di finestre e pulsanti ma dall'assenza di qualsiasi componente grafica. Si utilizza tramite tastiera e, talvolta, mouse.
 
UnaLa ''shell'' testuale (o interprete dei comandi)seconda è un programma dotato di un'[[interfaccia a riga di comando]], che viene eseguito all'interno di un [[terminale (informatica)|terminale testuale]]. L'utente digita un comando, ovvero richiede l'esecuzione di un programma, e il programma eseguito può interagire con l'utente e/o mostrare dati sul terminale.
 
Una delle più note ''shell'' testuali è il tradizionale "prompt dei comandi", ben noto a quanti hanno familiarità con i sistemi operativi DOS ([[MS-DOS]], [[DR-DOS]], [[FreeDOS]]). Per gli utenti di [[MS-DOS]] e di alcuni dei sistemi [[Microsoft Windows]] la ''shell'' è il programma [[command.com]]. Anche i sistemi della famiglia [[Windows NT]] dispongono di una ''shell'' testuale, il programma [[cmd.exe]].
Line 21 ⟶ 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}}[httphttps://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}} [httphttps://www.mkssoftware.com/ MKS Toolkit]</ref>
 
Il comando per cambiare la shell di [[login]] di un utente è ''[[chsh]]''.
 
=== Shell grafiche ===
{{vedi anche|Ambiente desktop}}
L'evoluzione grafica delle shell è rappresentata dalle cosiddette [[Interfaccia grafica|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-friendly]].
[[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 45 ⟶ 59:
== Shell più diffuse ==
=== Shell testuali ===
[[File:Cmd_(windows).png|thumb|[[cmd.exe]] di [[Windows NT]]]]
 
* [[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 57 ⟶ 71:
 
=== Shell grafiche ===
[[File:CDE_2012_on_Linux.png|thumb|[[Common Desktop Environment]] di [[Unix]]]]
* [[GNOME]] (tipica dei sistemi [[GNU/Linux]] e [[Oracle Solaris|Solaris 10]])
* [[KDE]] (tipica dei sistemi [[GNU/Linux]])
Line 64 ⟶ 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 73 ⟶ 88:
* [[Interfaccia utente]]
* [[One-liner]]
* [[FileEsplora Explorerfile]]
* [[Shell Unix]]
* [[Script]]
* [[Sistema operativo]]
* [[PowerShell]]
 
== 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}}