- Overview 📜
- Installation 🔧
- Usage ⚙️
- Commands 💻
- Repo Structure 🏗️
- Modules 🧩
- ShellSystem 💼
- Disk 💾
- Entry 📝
 
- Lessons Learned 📚
- Demo Video 🎥
- Contribution 🤝
Simple Shell and File System Program offers efficient file system management and navigation. It provides a range of commands for directory manipulation, file handling, and debugging tasks. Users can easily execute commands, access detailed help, and exit the shell.
- 
Clone the repository: git clone https://github.com/Omar7001-B/ShellX.git 
- 
Navigate to the project directory: cd ShellX
- 
Compile and run the program: dotnet run 
- After running the program, you'll be prompted with a shell interface.
- Enter a command followed by any required arguments.
- Use the helpcommand to see detailed information about each command.
- Use the quitcommand to exit the shell.
| Command | Description | 
|---|---|
| help | Provides Help information for commands. | 
| cls | Clear the screen. | 
| quit | Quit the shell. | 
| Command | Description | 
|---|---|
| cd | Changes the current directory. | 
| dir | List the contents of directory. | 
| copy | Copies one or more entry to another location. | 
| cut | Cut one or more entry to another location. | 
| md | Creates a directory. | 
| rd | Removes a directory. | 
| rename | Renames a file. | 
| Command | Description | 
|---|---|
| echo | Displays text or variables, write or append to files. | 
| type | Displays the contents of a text file. | 
| del | Deletes one or more files. | 
| import | Import text file(s) from your computer. | 
| export | Export text file(s) to your computer. | 
| Command | Description | 
|---|---|
| meta | Show meta data of a file. | 
| tree | List the tree of a directory. | 
| fat | Shows The Fat File System. | 
| mds | Creates n directories. | 
| rds | Removes n directories. | 
├── Program.cs
│
├── 📁 Disk
│   ├─ FatTable.cs
│   └─ VirtualDisk.cs
│
├── 📁 Entry
│   ├─ Directory.cs
│   ├─ DirectoryEntry.cs
│   └─ FileEntry.cs
│
├── 📁 ShellSystem
│   ├─ FileSystem.cs
│   └─ Shell.cs
│
└── 📁 bin
    └── 📁 Debug
        └── 📁 net6.0
            ├─ Disk.txt
            ├─ 📁Exports
            └─ 📁Imports
| Module | Summary | Documentation | 
|---|---|---|
| ShellSystem | Handles shell and file system operations. | Documentation | 
| Disk | Manages virtual disk and FAT operations. | Documentation | 
| Entry | Handles directory and file entries. | Documentation | 
- Object-oriented programming (OOP)
- Constructors
- Inheritance
- Virtual Classes
- Override
- Overload
 
- Recursive algorithms (e.g., BFS)
- Data structures (e.g., dictionaries, lists)
- File system management
- String manipulation
- File I/O operations
- Directory and file manipulation
- Software testing (unit testing)
ShellX.Demo.Video.mp4
We welcome contributions from the community. Please fork the repository and submit pull requests for any improvements or bug fixes.
