Overview
Terminal Lab features:- 22 Interactive Lessons: From basics to advanced topics
- Guided Mode: Type each command to advance
- Free Mode: Explore Unix commands without restrictions
- Real Terminal Emulation: Authentic bash-like experience
- Tab Completion: File and command completion
- Command History: Arrow keys to recall commands
Opening Terminal Lab
Launch from the CDE panel or application menu. The lab opens with a welcome screen:The 22 Lessons
Lesson 1: Navigation Basics
Learn fundamental navigation commands:whoami- Display current usernamepwd- Print working directoryls- List files and directoriesls -la- List all files with detailsdate- Show system date and time
Lesson 2: Working with Directories
Directory operations:cd Documents- Change directorymkdir project_web- Create new directorytouch index.html style.css script.js- Create files- Verify with
ls
Lesson 3: File Operations
Basic file manipulation:echo '<h1>Hello World</h1>' > index.html- Write to filecat index.html- Display file contentscp index.html index_backup.html- Copy filemv style.css styles.css- Rename filerm index_backup.html- Delete file
Lesson 4: Permissions & Search
File permissions and searching:chmod 755 index.html- Change permissionsls -l index.html- View permissionsfind . -name '*.html'- Find files by patterngrep 'Hello' index.html- Search text in files
Lesson 5: Processes & Resources
System monitoring:ps aux | head -5- List processestop -b -n 1 | head -5- System monitor snapshotfree -h- Memory usagedf -h- Disk space usage
Lesson 6: Package Management & Networking
System administration:apt update- Update package list (as root)apt upgrade -y- Upgrade packagesping -c 3 google.com- Test connectivitycurl -I https://debian.org- Fetch HTTP headers
Lesson 7: Shell Tricks & History
Shell productivity:history | tail -5- Recent commandsalias ll='ls -la'- Create command aliascd ~- Return to homeclear- Clear terminal screen
Lesson 8: System Information
System details:uname -a- Kernel and architecturehostname- System hostnameuptime- System uptime and loadwho- Logged-in userslast -5- Recent login history
Lessons 9-10: User Management
User and group operations:useradd -m -s /bin/bash alice- Create userpasswd alice- Set passwordgroupadd developers- Create groupusermod -aG developers alice- Add user to groupid alice- Show user IDscat /etc/passwd | grep alice- View user infosudo -l- List sudo privileges
Lesson 11: Getting Help
Documentation access:man ls- Manual page for ls commandwhereis bash- Locate binary and docslocate crontab- Find files by name
Lesson 12: Archiving Files
Compression and archives:tar -czf archive.tar.gz Documents/- Create tarballtar -tzf archive.tar.gz- List tarball contentsgzip -l archive.tar.gz- Compression infozip -r project.zip Documents/- Create zipunzip -l project.zip- List zip contents
Lesson 13: Process Signals
Service and process management:systemctl status ssh- Service statusjournalctl -n 5- Recent log entriescrontab -l- List cron jobscrontab -e- Edit cron jobs
Lesson 14: Network Interfaces
Process control:ps aux | grep ssh- Find SSH processeskill -9 1234- Kill process by PIDpkill -f sshd- Kill by nametop -b -n 1 | grep 'Cpu(s)'- CPU usage
Lesson 15: DNS & Remote Files
Network configuration:ifconfig- Network interfacesip addr show- Alternative network infoss -tuln- Listening portstraceroute -m 3 google.com- Trace route
Lesson 16: Disk & Filesystem
DNS and downloads:nslookup debian.org- DNS lookupdig debian.org- Detailed DNS querywget -O- https://httpbin.org/ip- Download file
Lessons 17-18: Text Processing
Text manipulation tools:head -3 index.html- First 3 linestail -2 script.js- Last 2 lineswc -l index.html- Count linessort names.txt | uniq -c- Count unique linescut -d: -f1 /etc/passwd- Extract fieldssed 's/Hello/Hi/' index.html- Text replacementawk -F: '{print $1}' /etc/passwd- Process columnstr '[:lower:]' '[:upper:]' < index.html- Case conversion
Lesson 19: Environment Variables
Shell environment:env | head -3- List variablesexport MY_VAR='Hello'- Set variableecho $MY_VAR- Print variableset | head -3- All shell variables
Lesson 20: Symbolic Links & File Info
Links and file inspection:ln -s /path/to/file link_name- Create symlinkls -l link_name- View symlink detailsreadlink link_name- Show symlink targetfile index.html- Determine file type
Lesson 21: Advanced Permissions (ACL)
Access control lists:chown alice:developers file.txt- Change ownersetfacl -m u:user:rw file.txt- Set ACLgetfacl file.txt- View ACL entries
Lesson 22: Utilities & Job Control
Final advanced topics combining previous lessons.Free Mode
Switching to Free Mode
Typefree or click the “Free Mode” button to explore Unix commands without guidance:
Available Commands in Free Mode
File Operations:ls,cd,pwd,cat,mkdir,touch,rm
whoami,hostname,uname,date
echo,grep,head,tail,wc
history,clear
alias,unalias,export,env
lynx [url]- Open Lynx browserman [command]- Open man page viewer
Bash Features in Free Mode
Pipes: Chain commands togetherKeyboard Shortcuts
| Shortcut | Action |
|---|---|
Ctrl+C | Cancel current input |
Ctrl+L | Clear screen |
Ctrl+U | Clear current line |
Ctrl+A | Move to start of line |
Ctrl+E | Move to end of line |
↑ / ↓ | Browse command history |
Tab | Auto-complete commands/files |
Tab Completion
Command Completion
In guided mode:File Completion
When typing file paths:Meta-Commands
These special commands work in both modes:| Command | Action |
|---|---|
hint | Show the expected command (guided mode) |
skip | Skip current step (guided mode) |
free | Toggle free mode |
tutorial | Return to guided mode |
clear | Clear terminal screen |
Progress Tracking
The top bar shows:- Current lesson number and title
- Progress bar (percentage complete)
- “LESSON 5 / 22 — Processes & Resources”
Integration with Other Apps
Launching Applications
From Terminal Lab in free mode: Lynx Browser:Virtual Filesystem
All file operations use the Time Capsule VFS:- Changes persist across sessions
- Integrated with File Manager
- Real file creation, modification, deletion
Tips and Tricks
Getting Unstuck
Getting Unstuck
If you’re stuck on a command:
- Type
hintto see the expected command - Type
skipto move to the next step - Use Tab completion to help with typing
- Type
freeto experiment without restrictions
Learning Strategy
Learning Strategy
For best results:
- Type each command manually (no copy-paste)
- Read the output explanations
- Experiment in free mode after completing lessons
- Use
mancommand to learn more about each tool
Command History
Command History
Navigate previous commands:
- Press
↑to recall earlier commands - Press
↓to move forward in history - Edit recalled commands before running
- History persists within the session
Realistic Output
Realistic Output
The Terminal Lab provides authentic Unix output:
- Real file listings from VFS
- Accurate command syntax
- Actual error messages
- Authentic directory structure
Source Code
Terminal Lab is implemented in:/src/scripts/features/lab.ts: Core tutorial engine (771 lines)/src/data/tutorial.json: 22 lessons with 100+ steps- Full bash-like command map with pipes, variables, wildcards
- Tab completion for commands and files
- Command history with arrow key navigation

