Skip to content

About

A CLI App for learning Linux commands through an interactive shell simulator and a built-in quiz system - all within a safe, in-memory virtual file system (VFS) that never touches your real files.

Topics

Resources

Stars

1 star

Watchers

3 watching

Forks

 
 

Repository files navigation

LinuxLingo

LinuxLingo is a command-line application for learning Linux commands through an interactive shell simulator and a built-in quiz system. It is optimised for Computer Science students who want to build confidence with the Linux command line by typing real commands, seeing real output, and testing their knowledge with quizzes — all within a safe, in-memory virtual file system (VFS) that never touches your real files.

Features

  • Shell Simulator — Practice 35 Linux commands (ls, cd, grep, chmod, find, and more) in a Linux-like environment. Supports piping (|), redirection (>, >>, <), logical operators (&&, ||, ;), glob expansion, aliases, variable expansion, and command history.
  • Exam System — Test your knowledge with topic-based quizzes featuring multiple-choice, fill-in-the-blank, and practical (VFS-verified) questions.
  • Safe Sandbox — All file operations run on an in-memory virtual file system. No real files are ever created, modified, or deleted.
  • Environment Persistence — Save, load, and manage snapshots of your virtual file system across sessions.

Quick Start

Prerequisites: Java 17 or above.

  1. Download the latest LinuxLingo.jar from the releases page.

  2. Open a terminal, cd into the folder containing the JAR, and run:

    java -jar LinuxLingo.jar
  3. At the linuxlingo> prompt, type help to see available commands, or shell to enter the Shell Simulator.

You can also run a single command without entering the shell:

java -jar LinuxLingo.jar exec "echo hello"

Building from Source

This project uses Gradle for build automation and dependency management (a wrapper is included — use ./gradlew).

./gradlew build   # build the project
./gradlew run     # run the application
./gradlew test    # run the JUnit tests

To run the I/O redirection (Text UI) tests, navigate to the text-ui-test folder and run the runtest(.bat/.sh) script.

Code style is enforced via Checkstyle, and GitHub Actions runs the build and tests automatically on every push and pull request.

Documentation

  • User Guide — Full command reference and usage instructions.
  • Developer Guide — Architecture, design decisions, and implementation details.
  • About Us — Meet the team.

Acknowledgements

About

A CLI App for learning Linux commands through an interactive shell simulator and a built-in quiz system - all within a safe, in-memory virtual file system (VFS) that never touches your real files.

Topics

Resources

Stars

1 star

Watchers

3 watching

Forks

Releases

Packages

Used by

Contributors

Languages