FilzaNix is an experimental command-line environment developed from scratch using Java 21.
Inspired by Linux shells and virtual operating systems, FilzaNix provides its own simulated filesystem, command interpreter, interactive terminal interface, and execution environment.
The project is built as an educational systems-programming project to explore how command-line interfaces, shell interpreters, filesystem operations, terminal input, and system abstractions work internally.
Status: Active Development โ Networking Utilities Implemented
FilzaNix is designed to evolve into a Linux-inspired virtual computing environment with its own filesystem, command execution engine, scripting capabilities, system utilities, and simulated operating-system concepts.
Rather than simply forwarding commands to the Windows operating system, FilzaNix implements its own command handling and virtual filesystem using Java.
The long-term goal is to build a small, understandable environment where operating-system and systems-programming concepts can be explored through actual implementation.
filzanix: terminal prompt> and >>| Command | Description |
|---|---|
help | Display available commands |
echo <text> | Print text |
echo <text> > <file> | Write text to a file |
echo <text> >> <file> | Append text to a file |
pwd | Display current working directory |
ls | List files and directories |
mkdir <directory> | Create a directory |
cd <directory> | Change directory |
touch <file> | Create a file |
cat <file> | Display file contents |
rm <file> | Remove a file |
rmdir <directory> | Remove an empty directory |
history | Display command history |
date | Display date and time |
whoami | Display current user |
uname | Display operating system information |
uname -a | Display extended system information |
arch | Display system architecture |
hostname | Display hostname |
sysinfo | Display JVM memory information |
ip | Display network information |
ip addr | Display network interfaces |
ip route | Display routing table |
nslookup <host> | Resolve hostname |
ping <host> | Test host connectivity |
curl <url> | Send HTTP request |
netstat | Display network connections |
traceroute <host> | Trace network route |
tracert <host> | Windows traceroute alias |
portscan <host> | Scan common TCP ports |
exit | Shut down FilzaNix |
clear terminal command.bar scripting engine| Technology | Purpose |
|---|---|
| Java 21 | Core application |
| Java Standard Library | Filesystem operations and application logic |
| JLine 3 | Interactive terminal input and command history |
| Jansi | Terminal support |
| Windows Batch | Build and application launcher |
| Git | Version control |
| GitHub | Source control and project hosting |
FilzaNix currently does not use Maven or Gradle. External JAR dependencies are managed manually through the lib/ directory.
FilzaNix/
โ
โโโ src/
โ โโโ main/
โ โโโ java/
โ โโโ com/
โ โโโ filzanix/
โ โ
โ โโโ Main.java
โ โ
โ โโโ shell/
โ โ โโโ Shell.java
โ โ
โ โโโ filesystem/
โ | โโโ VirtualFileSystem.java
| โโโ commands/
โ โโโ NetworkCommand.java
โ
โโโ env/
โ โโโ home/
โ โโโ etc/
โ โโโ tmp/
โ โโโ root/
โ
โโโ lib/
โ โโโ jansi-2.4.2.jar
โ โโโ jline-reader-3.30.17.jar
โ โโโ jline-terminal-3.30.17.jar
โ โโโ jline-terminal-jansi-3.30.17.jar
โ
โโโ logs/
โโโ out/
โ
โโโ FilzaNix.bat
โโโ .classpath
โโโ .gitignore
โโโ README.md
src/ โ Java source code.shell/ โ Interactive terminal and command handling.filesystem/ โ Virtual filesystem implementation.env/ โ Root directory for the simulated environment.lib/ โ External JAR dependencies.logs/ โ Application logs.out/ โ Compiled Java classes.FilzaNix.bat โ Windows launcher and build script.Before running FilzaNix, make sure the following are installed:
Git is optional if you are downloading the repository directly.
Open Command Prompt and run:
java -version
javac -version
You should see Java 21 or a newer JDK.
git --version
git clone https://github.com/Peshimam-Ashar-Mohammed/FilzaNix.git
Enter the project directory:
cd FilzaNix
Make sure the lib directory exists:
lib/
โโโ jansi-2.4.2.jar
โโโ jline-reader-3.30.17.jar
โโโ jline-terminal-3.30.17.jar
โโโ jline-terminal-jansi-3.30.17.jar
These dependencies are required for the interactive terminal functionality.
If you cloned the complete repository, they should already be present.
Open the FilzaNix project folder and double-click:
FilzaNix.bat
The launcher automatically:
out directory when necessary.lib.Open Command Prompt and navigate to the project:
cd C:\path\to\FilzaNix
Then run:
FilzaNix.bat
Example:
cd C:\Users\HP\Desktop\Java\FilzaNix
FilzaNix.bat
Open PowerShell in the project directory:
.\FilzaNix.bat
FilzaNix uses the project's env/ directory as its simulated filesystem.
The launcher automatically executes:
cd /d "%~dp0"
This ensures FilzaNix starts relative to the directory containing FilzaNix.bat.
For the most reliable behavior, launch the application through:
FilzaNix.bat
==================================================
F I L Z A N I X
Virtual Computing Environment
==================================================
[BOOT] Initializing environment...
[BOOT] Loading Java runtime...
[BOOT] Preparing system...
[ OK ] System initialized.
FILZANIX v0.1
Runtime: Java 21
filzanix:/home$ help
Available commands:
help - Show this help message
echo - Print text to the terminal
exit - Exit the program
pwd - Print the current working directory
ls - List files in the current working directory
mkdir - Create a new directory
cd - Change the current working directory
touch - Create a new file
cat - Display the contents of a file
rm - Remove a file
rmdir - Remove an empty directory
history - Show command history
filzanix:/home$ mkdir projects
filzanix:/home$ cd projects
filzanix:/home/projects$ touch hello.txt
filzanix:/home/projects$ echo Hello FilzaNix > hello.txt
filzanix:/home/projects$ cat hello.txt
Hello FilzaNix
filzanix:/home/projects$ ls
hello.txt
filzanix:/home/projects$ history
1 help
2 mkdir projects
3 cd projects
4 touch hello.txt
5 echo Hello FilzaNix > hello.txt
6 cat hello.txt
7 ls
8 history
filzanix:/home/projects$ exit
Shutting down FilzaNix...
FilzaNix uses JLine 3 to provide interactive terminal input.
While the shell is running, previously entered commands can be recalled using the keyboard.
โ
โ
Commands can be recalled, edited, and executed again.
FilzaNix also provides a separate built-in:
history
command that displays the commands entered during the current session.
When running FilzaNix through a Windows Command Prompt window, the console's scrollback buffer can be used to inspect previous terminal output.
This is separate from JLine's command history.
Therefore:
Both can be used independently.
FilzaNix maintains a simulated filesystem inside the project's env/ directory.
env/
โโโ home/
โโโ etc/
โโโ tmp/
โโโ root/
Commands such as mkdir, cd, touch, cat, rm, and rmdir operate within this simulated environment.
For example:
filzanix:/home$ mkdir test
filzanix:/home$ cd test
filzanix:/home/test$ touch example.txt
filzanix:/home/test$ echo Hello > example.txt
filzanix:/home/test$ cat example.txt
Hello
The filesystem implementation is handled by:
src/main/java/com/filzanix/filesystem/VirtualFileSystem.java
FilzaNix supports basic Linux-inspired output redirection using > and >>.
echo Hello > file.txt
This writes the supplied text to the file.
echo Another line >> file.txt
This appends the text to the existing contents.
Example:
filzanix:/home$ echo Hello > test.txt
filzanix:/home$ echo FilzaNix >> test.txt
filzanix:/home$ cat test.txt
Hello
FilzaNix
FilzaNix includes networking utilities implemented using Java networking APIs and selected native operating-system tools.
filzanix:/home$ nslookup github.com
HTTP Request
filzanix:/home$ curl https://example.com
Connectivity Test
filzanix:/home$ ping github.com
Route Inspection
filzanix:/home$ traceroute github.com
TCP Port Scanner
filzanix:/home$ portscan localhost
The port scanner checks a predefined collection of common TCP ports and
reports connection outcomes and conventional service names.
Use port scanning only on systems you own or are authorized to test.
---
---
# Architecture
FilzaNix currently uses a simple layered architecture:
```text
Main
โ
โผ
Shell
โ
โโโ Command Parsing
โโโ Command Dispatch
โ
โโโ NetworkCommand
โ โโโ DNS Resolution
โ โโโ HTTP Requests
โ โโโ Connectivity Tests
โ โโโ Route Inspection
โ โโโ Network Statistics
โ โโโ TCP Port Scanner
โ
โโโ VirtualFileSystem
โ
โผ
VirtualFileSystem
โ
โโโ Virtual Root
โโโ Path Resolution
โโโ Directory Operations
โโโ File Operations
โโโ Filesystem Protection
โ
โผ
env/
Main.javaThe application entry point.
Responsible for starting the FilzaNix environment and creating the shell.
Shell.javaResponsible for:
VirtualFileSystem.javaResponsible for:
| Version | Milestone |
|---|---|
| v0.1 | Terminal initialization and command handling |
| v0.2 | Interactive shell improvements |
| v0.3 | Virtual filesystem |
| v0.4 | File and directory manipulation |
| v0.5 | Environment variables and logging |
| v0.6 | Advanced command parsing |
| v0.7 | Permissions and simulated users |
| v0.8 | Custom scripting engine |
| v0.9 | Process and system simulation |
| v1.0 | Stable virtual command-line environment |
FilzaNix is being developed incrementally, with emphasis on understanding the mechanisms behind command-line environments rather than simply relying on existing operating-system behavior.
The project explores:
Each feature is implemented incrementally so that the system remains understandable, testable, and extensible.
FilzaNix is not a real operating system.
It currently does not provide:
- Networking utilities are not a replacement for Nmap.
- Port scanning currently uses a predefined set of common TCP ports.
- Service names are inferred from conventional port assignments.
- Network route and connection information may depend on native OS utilities.
The filesystem and system behavior are simulations implemented in Java.
---
# Development
FilzaNix is currently built without Maven or Gradle.
The project uses a manual compilation process through:
```text
FilzaNix.bat
The launcher compiles the following source files:
src/main/java/com/filzanix/Main.java
src/main/java/com/filzanix/shell/Shell.java
src/main/java/com/filzanix/filesystem/VirtualFileSystem.java
External dependencies are loaded from:
lib/
Compiled classes are placed in:
out/
FilzaNix is currently an independent experimental project.
Bug reports, suggestions, and technical discussions are welcome.
Before submitting changes, verify that the application still launches successfully using:
FilzaNix.bat
and that existing filesystem and shell commands continue to work.
FilzaNix is an experimental Java-based virtual computing environment.
It is not a Linux distribution, Linux kernel, hypervisor, hardware-level virtual machine, or replacement for an operating system.
The project is intended for educational and software-development purposes.
Ashar
Independent Java systems-programming project.
GitHub:
https://github.com/Peshimam-Ashar-Mohammed
Repository:
https://github.com/Peshimam-Ashar-Mohammed/FilzaNix
No license has been selected for the project yet.
I also verified the repository URL you provided resolves to the public `Peshimam-Ashar-Mohammed/FilzaNix` repository on GitHub, with `main` as its default branch.
Java
98.9%
Batchfile
1.1%
FilzaNix is an experimental command-line environment developed from scratch using Java 21.
Inspired by Linux shells and virtual operating systems, FilzaNix provides its own simulated filesystem, command interpreter, interactive terminal interface, and execution environment.
The project is built as an educational systems-programming project to explore how command-line interfaces, shell interpreters, filesystem operations, terminal input, and system abstractions work internally.
Status: Active Development โ Networking Utilities Implemented
FilzaNix is designed to evolve into a Linux-inspired virtual computing environment with its own filesystem, command execution engine, scripting capabilities, system utilities, and simulated operating-system concepts.
Rather than simply forwarding commands to the Windows operating system, FilzaNix implements its own command handling and virtual filesystem using Java.
The long-term goal is to build a small, understandable environment where operating-system and systems-programming concepts can be explored through actual implementation.
filzanix: terminal prompt> and >>| Command | Description |
|---|---|
help | Display available commands |
echo <text> | Print text |
echo <text> > <file> | Write text to a file |
echo <text> >> <file> | Append text to a file |
pwd | Display current working directory |
ls | List files and directories |
mkdir <directory> | Create a directory |
cd <directory> | Change directory |
touch <file> | Create a file |
cat <file> | Display file contents |
rm <file> | Remove a file |
rmdir <directory> | Remove an empty directory |
history | Display command history |
date | Display date and time |
whoami | Display current user |
uname | Display operating system information |
uname -a | Display extended system information |
arch | Display system architecture |
hostname | Display hostname |
sysinfo | Display JVM memory information |
ip | Display network information |
ip addr | Display network interfaces |
ip route | Display routing table |
nslookup <host> | Resolve hostname |
ping <host> | Test host connectivity |
curl <url> | Send HTTP request |
netstat | Display network connections |
traceroute <host> | Trace network route |
tracert <host> | Windows traceroute alias |
portscan <host> | Scan common TCP ports |
exit | Shut down FilzaNix |
clear terminal command.bar scripting engine| Technology | Purpose |
|---|---|
| Java 21 | Core application |
| Java Standard Library | Filesystem operations and application logic |
| JLine 3 | Interactive terminal input and command history |
| Jansi | Terminal support |
| Windows Batch | Build and application launcher |
| Git | Version control |
| GitHub | Source control and project hosting |
FilzaNix currently does not use Maven or Gradle. External JAR dependencies are managed manually through the lib/ directory.
FilzaNix/
โ
โโโ src/
โ โโโ main/
โ โโโ java/
โ โโโ com/
โ โโโ filzanix/
โ โ
โ โโโ Main.java
โ โ
โ โโโ shell/
โ โ โโโ Shell.java
โ โ
โ โโโ filesystem/
โ | โโโ VirtualFileSystem.java
| โโโ commands/
โ โโโ NetworkCommand.java
โ
โโโ env/
โ โโโ home/
โ โโโ etc/
โ โโโ tmp/
โ โโโ root/
โ
โโโ lib/
โ โโโ jansi-2.4.2.jar
โ โโโ jline-reader-3.30.17.jar
โ โโโ jline-terminal-3.30.17.jar
โ โโโ jline-terminal-jansi-3.30.17.jar
โ
โโโ logs/
โโโ out/
โ
โโโ FilzaNix.bat
โโโ .classpath
โโโ .gitignore
โโโ README.md
src/ โ Java source code.shell/ โ Interactive terminal and command handling.filesystem/ โ Virtual filesystem implementation.env/ โ Root directory for the simulated environment.lib/ โ External JAR dependencies.logs/ โ Application logs.out/ โ Compiled Java classes.FilzaNix.bat โ Windows launcher and build script.Before running FilzaNix, make sure the following are installed:
Git is optional if you are downloading the repository directly.
Open Command Prompt and run:
java -version
javac -version
You should see Java 21 or a newer JDK.
git --version
git clone https://github.com/Peshimam-Ashar-Mohammed/FilzaNix.git
Enter the project directory:
cd FilzaNix
Make sure the lib directory exists:
lib/
โโโ jansi-2.4.2.jar
โโโ jline-reader-3.30.17.jar
โโโ jline-terminal-3.30.17.jar
โโโ jline-terminal-jansi-3.30.17.jar
These dependencies are required for the interactive terminal functionality.
If you cloned the complete repository, they should already be present.
Open the FilzaNix project folder and double-click:
FilzaNix.bat
The launcher automatically:
out directory when necessary.lib.Open Command Prompt and navigate to the project:
cd C:\path\to\FilzaNix
Then run:
FilzaNix.bat
Example:
cd C:\Users\HP\Desktop\Java\FilzaNix
FilzaNix.bat
Open PowerShell in the project directory:
.\FilzaNix.bat
FilzaNix uses the project's env/ directory as its simulated filesystem.
The launcher automatically executes:
cd /d "%~dp0"
This ensures FilzaNix starts relative to the directory containing FilzaNix.bat.
For the most reliable behavior, launch the application through:
FilzaNix.bat
==================================================
F I L Z A N I X
Virtual Computing Environment
==================================================
[BOOT] Initializing environment...
[BOOT] Loading Java runtime...
[BOOT] Preparing system...
[ OK ] System initialized.
FILZANIX v0.1
Runtime: Java 21
filzanix:/home$ help
Available commands:
help - Show this help message
echo - Print text to the terminal
exit - Exit the program
pwd - Print the current working directory
ls - List files in the current working directory
mkdir - Create a new directory
cd - Change the current working directory
touch - Create a new file
cat - Display the contents of a file
rm - Remove a file
rmdir - Remove an empty directory
history - Show command history
filzanix:/home$ mkdir projects
filzanix:/home$ cd projects
filzanix:/home/projects$ touch hello.txt
filzanix:/home/projects$ echo Hello FilzaNix > hello.txt
filzanix:/home/projects$ cat hello.txt
Hello FilzaNix
filzanix:/home/projects$ ls
hello.txt
filzanix:/home/projects$ history
1 help
2 mkdir projects
3 cd projects
4 touch hello.txt
5 echo Hello FilzaNix > hello.txt
6 cat hello.txt
7 ls
8 history
filzanix:/home/projects$ exit
Shutting down FilzaNix...
FilzaNix uses JLine 3 to provide interactive terminal input.
While the shell is running, previously entered commands can be recalled using the keyboard.
โ
โ
Commands can be recalled, edited, and executed again.
FilzaNix also provides a separate built-in:
history
command that displays the commands entered during the current session.
When running FilzaNix through a Windows Command Prompt window, the console's scrollback buffer can be used to inspect previous terminal output.
This is separate from JLine's command history.
Therefore:
Both can be used independently.
FilzaNix maintains a simulated filesystem inside the project's env/ directory.
env/
โโโ home/
โโโ etc/
โโโ tmp/
โโโ root/
Commands such as mkdir, cd, touch, cat, rm, and rmdir operate within this simulated environment.
For example:
filzanix:/home$ mkdir test
filzanix:/home$ cd test
filzanix:/home/test$ touch example.txt
filzanix:/home/test$ echo Hello > example.txt
filzanix:/home/test$ cat example.txt
Hello
The filesystem implementation is handled by:
src/main/java/com/filzanix/filesystem/VirtualFileSystem.java
FilzaNix supports basic Linux-inspired output redirection using > and >>.
echo Hello > file.txt
This writes the supplied text to the file.
echo Another line >> file.txt
This appends the text to the existing contents.
Example:
filzanix:/home$ echo Hello > test.txt
filzanix:/home$ echo FilzaNix >> test.txt
filzanix:/home$ cat test.txt
Hello
FilzaNix
FilzaNix includes networking utilities implemented using Java networking APIs and selected native operating-system tools.
filzanix:/home$ nslookup github.com
HTTP Request
filzanix:/home$ curl https://example.com
Connectivity Test
filzanix:/home$ ping github.com
Route Inspection
filzanix:/home$ traceroute github.com
TCP Port Scanner
filzanix:/home$ portscan localhost
The port scanner checks a predefined collection of common TCP ports and
reports connection outcomes and conventional service names.
Use port scanning only on systems you own or are authorized to test.
---
---
# Architecture
FilzaNix currently uses a simple layered architecture:
```text
Main
โ
โผ
Shell
โ
โโโ Command Parsing
โโโ Command Dispatch
โ
โโโ NetworkCommand
โ โโโ DNS Resolution
โ โโโ HTTP Requests
โ โโโ Connectivity Tests
โ โโโ Route Inspection
โ โโโ Network Statistics
โ โโโ TCP Port Scanner
โ
โโโ VirtualFileSystem
โ
โผ
VirtualFileSystem
โ
โโโ Virtual Root
โโโ Path Resolution
โโโ Directory Operations
โโโ File Operations
โโโ Filesystem Protection
โ
โผ
env/
Main.javaThe application entry point.
Responsible for starting the FilzaNix environment and creating the shell.
Shell.javaResponsible for:
VirtualFileSystem.javaResponsible for:
| Version | Milestone |
|---|---|
| v0.1 | Terminal initialization and command handling |
| v0.2 | Interactive shell improvements |
| v0.3 | Virtual filesystem |
| v0.4 | File and directory manipulation |
| v0.5 | Environment variables and logging |
| v0.6 | Advanced command parsing |
| v0.7 | Permissions and simulated users |
| v0.8 | Custom scripting engine |
| v0.9 | Process and system simulation |
| v1.0 | Stable virtual command-line environment |
FilzaNix is being developed incrementally, with emphasis on understanding the mechanisms behind command-line environments rather than simply relying on existing operating-system behavior.
The project explores:
Each feature is implemented incrementally so that the system remains understandable, testable, and extensible.
FilzaNix is not a real operating system.
It currently does not provide:
- Networking utilities are not a replacement for Nmap.
- Port scanning currently uses a predefined set of common TCP ports.
- Service names are inferred from conventional port assignments.
- Network route and connection information may depend on native OS utilities.
The filesystem and system behavior are simulations implemented in Java.
---
# Development
FilzaNix is currently built without Maven or Gradle.
The project uses a manual compilation process through:
```text
FilzaNix.bat
The launcher compiles the following source files:
src/main/java/com/filzanix/Main.java
src/main/java/com/filzanix/shell/Shell.java
src/main/java/com/filzanix/filesystem/VirtualFileSystem.java
External dependencies are loaded from:
lib/
Compiled classes are placed in:
out/
FilzaNix is currently an independent experimental project.
Bug reports, suggestions, and technical discussions are welcome.
Before submitting changes, verify that the application still launches successfully using:
FilzaNix.bat
and that existing filesystem and shell commands continue to work.
FilzaNix is an experimental Java-based virtual computing environment.
It is not a Linux distribution, Linux kernel, hypervisor, hardware-level virtual machine, or replacement for an operating system.
The project is intended for educational and software-development purposes.
Ashar
Independent Java systems-programming project.
GitHub:
https://github.com/Peshimam-Ashar-Mohammed
Repository:
https://github.com/Peshimam-Ashar-Mohammed/FilzaNix
No license has been selected for the project yet.
I also verified the repository URL you provided resolves to the public `Peshimam-Ashar-Mohammed/FilzaNix` repository on GitHub, with `main` as its default branch.
Java
98.9%
Batchfile
1.1%