<<<<<<< HEAD
TinyShell is an open-source, basic, simple, user-friendly terminal application like Command Prompt, PowerShell. Its main features include working with process, running executable/batch files, and more to discover.
Table of Contents
- Study about Windows process management APIs.
- Understand how to setup and work with Shell.
- Working with process: Create, Stop, Resume and Kill Processes with Foreground and Background Mode
- Working with Directory Path
- Working with environment variables
- Open Notepad, Calculator, executable/batch/text files, etc
This program is created by 3 Students of Talented in Computer Science - K66, HUST
The program works in Windows Machine with a C++ compiler installed (MinGW, VC++ or Clang) with standard C++11 or higher.
To run this program, download this repository from Github. If you have Git installed, you can clone this repository to your machine:
git clone https://github.com/ngsitrong26/OS-Project
cd TinyShellRun Tiny.exe directly from Windows Explorer or using Command Prompt:
./TinyIf there are any errors while running the app, see Issues
Shell must wait for the process to finish
<Command> [-fore|-f]Example:
run notepad -foreShell and process run in parallel
<Command> [-back|-b]Example:
run notepad -backPrint out list of the processes (process Id, Cmd name, status)
process [list|l]Stop a running process
process [stop|s] <Id/Name>Resume a stopped process
process [resume|r] <Id/Name>Kill a process:
process [kill|k] <Id/Name>To kill all processes:
process [kill|k] [-all|-a]Run Notepad with mode:
run notepad <Mode>Run Calculator with mode:
run calc <Mode>Run executable/batch file with mode:
run path/to/file <Mode>Display the value of an environment variable
env <Id>To print list of environment variables:
env [list|l]Add new environment variable
env [add|a] <Name> <Value>Delete existing environment variable
env [delete|del|d] <Name>Show list contents of the current directory
cdChange current directory to <Path>
cd <Path>Change current directory to its parent directory:
cd ..Reset current directory to the Initial Path
cd [reset|r]historyTo clear command history:
clearDisplay current date and time
timeRun countdown program (With mode):
time [countdown|c] <Mode>exitRecompile Tiny.cpp with flag -std=c++11 and run again.
Example: using g++
g++ -std=c++11 Tiny.cpp -o Tiny && ./TinyRecompile src/commands/time/countDown.cpp with flag -std=c++11 and try again
Example: using g++
g++ -std=c++11 src/commands/time/countDown.cpp -o src/commands/time/countDownRecompile tic_tac_toe/TheImpossibleTicTacToe.cpp with flag -std=c++11 and try again
Example: using g++
g++ -std=c++11 tic_tac_toe/TheImpossibleTicTacToe.cpp -o tic_tac_toe/TheImpossibleTicTacToeNguyễn Sỹ Trọng - Outlook
Project link: https://github.com/ngsitrong26/OS-Project