Skip to content

nikomarinovic/Nshell-Terminal

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

18 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

NShell Logo
NShell

A custom terminal shell built in C# using .NET — Unix-like experience, extensible by design.


What is NShell?

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.


How It Works

Getting started with NShell is fast:

  1. Clone the repogit clone https://github.com/Nmarino8/Nshell-Terminal.git
  2. Open in Visual Studio — load the .sln solution file
  3. Build the project — use Debug or Release configuration
  4. Navigate to the outputcd NShell/bin/Debug/net7.0
  5. Launch the shell — run ./NShell and start typing commands

Tip

Type help or -h inside NShell to see the full list of available commands and their usage.


Installation

Windows

git clone https://github.com/Nmarino8/Nshell-Terminal.git
# Open NShell.sln in Visual Studio, then Build → Run

macOS / Linux

git clone https://github.com/Nmarino8/Nshell-Terminal.git
cd NShell
dotnet build
cd bin/Debug/net7.0
./NShell

Usage

Run NShell from the built executable:

cd NShell/bin/Debug/net7.0
./NShell

Use built-in commands:

ls, cd, pwd, touch, rm, mkdir, clear, ping, ipconfig, nslookup

Get help at any time:

help    # or -h

Features

  • Unix-like Shell — familiar command-line experience built entirely on .NET
  • File Managementls, cd, pwd, touch, rm, mkdir and more
  • Network Toolsping, nslookup, and ipconfig for 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

Screenshots

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.

NShell Help Command

IP Configuration and NSLookup The ipconfig and nslookup commands display network information including IP addresses, gateways, and DNS resolution.

NShell IPConfig & NSLookup


Data & Privacy

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.

About

NShell is a custom terminal shell built in C# using .NET. It offers a Unix-like command-line experience with built-in commands for navigation, file management, and networking. NShell supports command aliases, input history with arrow-key navigation, and is designed as an experimental learning project for shell architecture and command parsing.

Topics

Resources

License

Stars

Watchers

Forks

Packages

 
 
 

Contributors

Languages