A custom terminal shell built in C# using .NET — Unix-like experience, extensible by design.
NShell is a Unix-like shell for .NET that gives you:
- Unix-style command-line experience on Windows and cross-platform .NET runtimes
- File and directory management (
ls,cd,pwd,touch,rm,mkdir, and more) - Network utilities (
ping,nslookup,ipconfig) - Command aliases and input history with arrow-key navigation
- Extensible architecture for adding custom commands at runtime
No external dependencies. Runs entirely on .NET — clone, build, and go.
Getting started with NShell is fast:
- Clone the repo —
git clone https://github.com/Nmarino8/Nshell-Terminal.git - Open in Visual Studio — load the
.slnsolution file - Build the project — use Debug or Release configuration
- Navigate to the output —
cd NShell/bin/Debug/net7.0 - Launch the shell — run
./NShelland start typing commands
Tip
Type help or -h inside NShell to see the full list of available commands and their usage.
git clone https://github.com/Nmarino8/Nshell-Terminal.git
# Open NShell.sln in Visual Studio, then Build → Rungit clone https://github.com/Nmarino8/Nshell-Terminal.git
cd NShell
dotnet build
cd bin/Debug/net7.0
./NShellRun NShell from the built executable:
cd NShell/bin/Debug/net7.0
./NShellUse built-in commands:
ls, cd, pwd, touch, rm, mkdir, clear, ping, ipconfig, nslookupGet help at any time:
help # or -h- Unix-like Shell — familiar command-line experience built entirely on .NET
- File Management —
ls,cd,pwd,touch,rm,mkdirand more - Network Tools —
ping,nslookup, andipconfigfor network diagnostics - Command Aliases — define shorthand for any command
- Input History — navigate previous commands with arrow keys
- External App Support — run external executables within the same terminal session
- Extensible Design — built to make adding new custom commands straightforward
Note
Visual examples of NShell in action, demonstrating key commands and functionality.
Help Command
The help or -h command lists all available commands and their usage.
IP Configuration and NSLookup
The ipconfig and nslookup commands display network information including IP addresses, gateways, and DNS resolution.
NShell stores no user data. All commands run locally — nothing leaves your machine.
Note
NShell is a learning project and experimental platform for exploring shell architecture, command parsing, and runtime extensibility in .NET.
Warning
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
NShell does not accept feature implementations via pull requests.
Feature requests and bug reports are welcome through GitHub Issues.
© 2026 Niko Marinović. All rights reserved.


