- 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
help
command to see detailed information about each command. - Use the
quit
command 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.