In informatica la shell (o terminale) è la parte di un sistema operativo che permette agli utenti di interagire con il sistema stesso, impartendo comandi e richiedendo l'avvio di altri programmi. Insieme al kernel costituisce una delle componenti principali di un sistema operativo. Il suo nome (dall'inglese shell, guscio) deriva dal 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.
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 o un emulatore di terminale (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 desktop environment, che forniscono agli utilizzatori un ambiente grafico da cui è possibile gestire file e avviare programmi.