
# LinuxLabX
**The Ultimate Interactive Linux Terminal Simulator for VS Code**
*By Ankit Singh*

Practice Linux commands, explore virtual file systems, and master the CLI—right inside your editor, without the risk of breaking your real machine.
🚀 Why LinuxLabX?
Whether you're a beginner taking your first steps in bash, a student preparing for Linux certification, or a developer testing script logic, LinuxLabX provides a safe, fully in-memory sandbox. It sits quietly in your Activity Bar, ready whenever you need to spin up a terminal session.

✨ Key Features
- 🛡️ Zero-Risk Sandbox: An entirely in-memory virtual file system. Make mistakes, delete files, and run commands without ever touching your real OS.
- 💡 Smart Auto-Completion: Press
Tab for intelligent command and path auto-completion.
- ⚠️ Danger Warnings & Real-time Hints: Get instant contextual feedback when typing potentially destructive commands like
rm -rf / or chmod 777.
- 🎓 Interactive Guided Tutorials: Type
tutorial to launch built-in, step-by-step missions that teach you Linux fundamentals interactively.
- 🔗 Pipes & Chaining: True terminal feel with support for command chaining (
&&, ;) and data piping (|).
- 💾 Session Persistence: Close VS Code and come back later; your virtual filesystem state is automatically saved and restored.
🛠️ Supported Commands
LinuxLabX emulates standard GNU/Linux utilities natively in JavaScript.
| Command |
Description |
Example Usage |
pwd |
Print working directory |
pwd |
ls |
List directory contents |
ls -la |
cd |
Change directory |
cd /home/user |
mkdir |
Create new directory |
mkdir -p docs/assets |
touch |
Create empty file |
touch script.sh |
cat |
Display file contents |
cat script.sh |
echo |
Write text into a file |
echo "Hello" > msg.txt |
rm |
Remove file or directory |
rm -rf old_folder |
cp |
Copy file or directory |
cp config.json backup/ |
mv |
Move or rename file |
mv temp.txt final.txt |
chmod |
Change file permissions |
chmod 755 script.sh |
grep |
Search text in file |
grep "error" log.txt |
find |
Search for files |
find . -name "*.js" |
wc |
Count lines, words, bytes |
wc main.ts |
head/tail |
View file boundaries |
tail -n 10 server.log |
clear |
Clear terminal screen |
clear |
🕹️ Getting Started
- Click on the LinuxLabX icon in the left Activity Bar.
- The terminal will instantly boot up with a fresh session.
- Type
help to see available commands, or tutorial to start learning.
- To reset your sandbox environment to factory defaults, click the Restart Session button in the toolbar.
⚙️ Extension Settings
Customize LinuxLabX through your VS Code settings (settings.json):
| Setting |
Type |
Default |
Description |
linuxlabx.autoRestoreSession |
boolean |
true |
Enable/disable restoring the virtual filesystem and tutorial state between VS Code sessions. |
🤝 Contributing
This project is open-source! If you want to add new bash commands, improve the terminal UI, or add more tutorials, feel free to submit a Pull Request on GitHub.
📜 License
MIT License © Ankit Singh