TinyShell is a minimalist shell for operating system simulations, developed as part of the Operating Systems course at Hanoi University of Science and Technology (HUST). It provides a basic shell environment with commands for managing files, directories, processes, and system information.
To install TinyShell, follow these steps:
- Clone the repository:
git clone https://github.com/datphamvn/TinyShell_OS_HUST.git- Navigate to the TinyShell directory:
cd TinyShell_OS_HUST- Compile the source code (ensure you have the necessary compilers installed):
make allRun TinyShell with the command:
./tinyshellOnce started, you can use the following commands within TinyShell:
help: Provide help information for commands.cd ..: Change to the parent directory of the current directory.cd <path>: Change the current directory to the specified path. Use quotes for paths with spaces.dir | ls: Display list of files in the current directory.mkdir <name>: Create a new folder in the current directory.rmdir <name>: Delete a folder in the current directory.date: Display the current date.time: Display the current time.run mspaint -f|bg: Open MS Paint in foreground or background mode.run notepad -f|bg: Open system Notepad in foreground or background mode.run [*.exe] -f|bg: Execute an executable in the current directory in foreground or background mode.list: Display list of processes.stop 'ID': Stop a running process.resume 'ID': Resume a stopped process.kill 'ID': Kill a running process.kill -a: Kill all running processes.run [*.bat]: Execute a batch file and run a list of command lines.env: Display all environment variables and their values.env <name>: Display the value of the specified environment variable.addenv -n <name> -v <value>: Add an environment variable with the specified value.delenv <name>: Delete the specified environment variable.clear | cls: Clear the TinyShell console.exit: Exit TinyShell.
- Command parsing and execution
- Directory navigation
- File and process management
- Environment variable manipulation
- System information display
We welcome contributions to TinyShell. If you have suggestions or improvements, please fork the repository, make your changes, and submit a pull request.
TinyShell is released under the MIT License. For more details, see the LICENSE file in the repository.