# The Shell Serena OS comes with a powerful shell that allows you to run applications, work with files, directories, expressions and to write and execute scripts. Contrary to traditional shell languages, the Serena shell language is a fully formally defined language which features expressions, a formally defined type system, scoping, immutable and mutable variables, flow control constructs and a large array of builtin commands. See the chapters below for more information about various shell topics. ## Introduction * [Quick Tour](docs/QuickTour.md) * [Line Editor](docs/LineEditor.md) ## The Language * [Introduction](docs/Language.md) * [Expressions](docs/Expressions.md) * [Variables](docs/Variables.md) * [Control Flow](docs/ControlFlow.md) * [Scripts](docs/Scripts.md) ## Commands * [Commands](docs/Commands.md) * [Operators](docs/Operators.md) ## Design Documentation * [Tokens](docs/Tokens.md) * [Grammar](docs/Grammar.md) * [Semantic](docs/Semantic.md)