Che cos’รจ una shell?

Una shell รจ un tipo di programma per computer che consente all’utente di controllare il sistema operativo tramite un’interfaccia a riga di comando (CLI) o un’interfaccia grafica (GUI). In sostanza, le shell sono modi diretti per comunicare al sistema operativo le azioni da eseguire, di solito attraverso l’automazione. Queste azioni possono andare dai backup giornalieri al monitoraggio dei sistemi e delle attivitร , fino all’esecuzione di audit di routine.

Shell e kernel

Non si puรฒ parlare di shell senza prima capire come si differenziano dai kernel. In parole povere, i kernel sono gli aspetti fondamentali di un sistema operativo. รˆ il livello principale tra l’hardware e i software del computer, con il kernel responsabile dell’interazione con l’hardware.

Le shell sono il punto di connessione intermedio tra l’utente e il kernel. Eseguono i comandi impartiti dall’utente al kernel, traducendo prima i comandi dell’utente in chiamate di sistema che richiedono al kernel di eseguire un compito specifico. Per questo motivo le shell vengono talvolta definite interpreti di comandi; interpretano ciรฒ che chiedi in modo che il kernel possa capire cosa fare successivamente.

Come funziona un programma shell?

Una shell puรฒ essere una CLI o una GUI e non deve essere confusa con un terminale. Un terminale fornisce un prompt di comandi per lavorare con una shell, ma la shell stessa utilizza lo shell scripting per impostare l’automazione. Per esempio, in un dispositivo Windows, il terminale predefinito si chiama Prompt dei comandi (rispetto ai dispositivi macOS, in cui si chiama Terminale) e si presenta cosรฌ:

Un prompt dei comandi per l'articolo "Che cos'รจ una shell?"

L’uso del Prompt dei comandi di Windows puรฒ essere relativamente semplice, ma oggi un numero sempre maggiore di utenti utilizza PowerShell, una shell a riga di comando e un linguaggio di scripting molto piรน completi, per eseguire le azioni desiderate. Tieni presente che il Prompt dei comandi non รจ una shell, ma il terminale in cui รจ possibile eseguire una shell, come PowerShell. PowerShell puรฒ avere questo aspetto:

Che cos'รจ una shell?

Come puoi vedere, fornisce le informazioni necessarie in modo rapido e semplice, a seconda del comando. PowerShell puรฒ essere eseguito su qualsiasi sistema operativo, anche se viene utilizzato principalmente sui dispositivi Windows.

Vuoi imparare le basi di PowerShell in soli 30 minuti?

Iscriviti a questo corso intensivo on-demand.

รˆ bene notare che gli script di shell non sono chiamati nello stesso modo in tutti i sistemi operativi. Per esempio, alcuni script possono essere chiamati Sh, Bash, csh e tesh. Nei sistemi operativi VM di IBM si chiamano EXEC, mentre gli script di shell in ambiente DOS sono chiamati file batch.

In ogni caso, tutte le shell utilizzano un terminale per visualizzare comandi leggibili dall’uomo ed eseguire l’interazione o l’operazione desiderata.

Diversi tipi di shell

Bourne shell

La Bourne shell, talvolta indicata come la shell Unix originale e abbreviata in “sh”, รจ stata sviluppata nel 1979 da Stephen Bourne. Contiene funzionalitร  come il controllo di flusso e una migliore gestione delle stringhe, che rendono la shell piรน facile da usare e da capire come linguaggio di programmazione. Tuttavia, questa shell รจ nota per essere poco flessibile e poco interattiva.

Anche se รจ stata sostituita dalla C Shell e dalla KornShell (tra le altre), la Bourne shell rimane ancora oggi popolare per la sua velocitร  e compattezza.

Riga di comando (C Shell)

La C Shell (“csh”) รจ una shell di comando per Unix e sistemi Unix-like. รˆ stata creata nel 1978 dalla Berkeley Software Distribution e offre diversi miglioramenti rispetto alla precedente Bourne Shell, soprattutto per l’uso interattivo.

Puรฒ avere un aspetto simile a questo:

Un'immagine delle shell bourne

KornShell

I Bell Labs introdussero KornShell (“ksh”) all’inizio degli anni Ottanta. Include molte caratteristiche della C shell, ma รจ notevolmente piรน veloce. Oltre a eseguire script Bourne Shell e funzioni simili a C, dispone anche di aritmetica integrata.

GNU Bourne-Again shell

La Bourne-Again shell (“bash”), rilasciata nel 1989 da Brian Fox per il Progetto GNU, รจ un’alternativa open source alla Bourne Shell. รˆ paragonabile a KornShell e C Shell, ma include tasti freccia mappati automaticamente per modifica e richiamo dei comandi piรน rapidi. Bash รจ oggi considerata la shell predefinita per la maggior parte delle distribuzioni Linux e utilizza il Bash scripting.

Cosa fa lo shell scripting?

Invece di digitare manualmente ogni comando ogni volta che hai bisogno di fare qualcosa, le shell, grazie al loro scripting, possono eseguire diverse attivitร  contemporaneamente, come backup, esecuzione di programmi, ecc. Possono anche automatizzare le attivitร  ripetitive, riducendo la probabilitร  di errore umano, minimizzando l’impatto potenziale dei dirty data e migliorando in modo significativo l’efficienza IT.

Detto questo, gli shell script non sono progettati per compiti complessi o su vasta scala. Inoltre, come succede per le lingue, possono richiedere del tempo per essere padroneggiati. Una imperfezione di sintassi, per esempio, puรฒ causare errori importanti, e dovrai esaminare ogni comando per capire dove si รจ verificato l’errore.

Vantaggi della shell

Utilizzare shell puรฒ permettere ai tecnici IT di avere piรน tempo per concentrarsi su progetti maggiormente strategici. Oltre ad aiutarti a svolgere diverse attivitร , le shell ti consentono anche di personalizzare i tuoi script in base agli obiettivi e alle esigenze specifiche.

Svantaggi delle shell

Le shell possono essere impegnative dal punto di vista della sintassi. Un singolo errore puรฒ essere difficile da identificare e costoso nel lungo periodo. Per chiarire, la sintassi delle shell รจ simile a quella utilizzata nel linguaggio naturale. Si riferisce all’ordine delle operazioni e alla disposizione di parole e frasi.

Shell per una maggiore efficienza IT

Le shell e, di conseguenza, il relativo shell scripting potrebbero non essere la prima cosa a cui pensi quando stai valutando soluzioni di endpoint management. Tuttavia, le shell svolgono un ruolo essenziale nel modo in cui i tecnici IT possono automatizzare le attivitร  e fornire un servizio migliore a te, alla tua organizzazione e ai tuoi utenti finali. Anche se non รจ necessario padroneggiare le shell, dovresti comunque comprenderne le basi per ottenere risultati aziendali migliori.

Vuoi diventare un Ninja dellโ€™IT?

Scopri come NinjaOne puรฒ aiutarti a semplificare le operazioni IT.

Guarda una demoร—
ร—

Guarda NinjaOne in azione!

Inviando questo modulo, accetto La politica sulla privacy di NinjaOne.

Inizia una prova gratuita della piattaforma RMM numero 1 su G2

Non รจ richiesta alcuna carta di credito e si ha accesso completo a tutte le funzionalitร .