/PonyLinux

A fun pony-themed game for teaching bash shell

Primary LanguageShellGNU General Public License v3.0GPL-3.0

Welcome to PonyLinux!

Logo for PonyLinux, which is a blue pony with a streak through the mane

PonyLinux is a very basic tutorial on using the command line in Unix operating systems, such as Ubuntu Linux.

Walk through a series of tutorial sections that will teach you different commands, what they do, and how to use them. The tutorials are interactive, with mini sessions to ensure you get more practice and engagement. Your task will be to take the knowledge you gained during the tutorials to find the Princess in the dungeon! So go on brave one, and be a hero while learning about Linux!


Curriculum

The PonyLinux curriculum is broken up into multiple sessions to make it less overwhelming. The following list shows the concepts we will cover in each section.

SECTION ONE

Section one introduces the structure of things that are typed into the command line, and the concept that programs can be run using text. We delve into basic movement between folders and showing what is inside a folder. Understanding and setting permission to view, open, and change files and folders is covered, as well as how to read the contents of a file.

Screen capture of game starting up.

We go over the following commands:

cd
ls
pwd
find
chmod
less

Section One wraps up with a challenge. Use the commands you learned during the tutorials to defeat a dungeon set up using files and folders right in the Linux environment. Your goal is to find the Princess in the dungeon with the knowledge you earned in the tutorial.

SECTION TWO

We go over the following commands:

head
tail
wc
cat
less
nano
cp
alias
mv
rm
touch
mkdir

The goals of section two will be to start getting into more bash commands that will introduce you to file handling in Linux - how to read, edit, generate, and remove files. Your goal is to use your new skills to navigate the dungeon, which is now a ruin and overrun with animals, to find the Princess's key.

SECTION THREE - Coming Soon

This section will focus on manipulation of files for advance use, including full-text searches using grep, rearrangements with awk, replacements with sed, and creating shortcuts with ln.

Getting Started

Jetstream Logo The easiest way to get started with PonyLinux is to use Jetstream, located at https://jetstream-cloud.org/. You may find this NCGAS blog on Jetstream helpful - https://blogs.iu.edu/ncgas/2017/10/18/getting-started-on-jetstream/

You will need to do the following:

  1. Go to the Jetstream link above. Click on "Request Trial Account".
    1. Screen capture of signing up for Jetstream.
  2. Get an XSEDE account following instructions in the link in step 1. Enroll in Jetstream Trial Access.
  3. Login to Jetstream: https://use.jetstream-cloud.org/login.
  4. Go ahead and Launch a New Instance!
  5. Search for PonyLinux in the image search. You can launch this with the default settings, usually 😄
  6. When your instance is available, click on the Web Desktop to the right to bring up a desktop on your new cloud computer.
  7. You should see a pony icon on the desktop. Double click on it to get started!

You can also git clone https://github.com/NCGAS/PonyLinux on your computer if you have a terminal program (Mac and Ubuntu users, for instance). Then just cd PonyLinux and finally, ./Ponylinux.sh. That will start the game!

FAQ

  • Q: Is PonyLinux a Linux distribution (distro)?

  • A: Nope. It's just some shell scripts. But if you crave a Pony-themed operating system, maybe check out PonyOS at https://ponyos.org/.

  • Q: What do ponies and Linux have to do with bioinformatics?

  • A: NCGAS teaches many workshops on bioinformatic techniques, doing certain experiments, and working with certain kinds of data. So much software that we use is written for Linux primarily, that we require workshop attendees to come in with some familiarity with command line. PonyLinux is meant to be a primer we can give our attendees to get them ready for our classes and completing their research in HPC environments.

  • Q: Why are there ponies? Why not something else?

  • A: Former NCGAS staff member, Carrie, found ponysay while surfing the web, and was so excited about putting images into bash that we thought it would make it easier to learn bash. If there are other images out on the web, fork the project and make it happen!

  • Q: You use terminal, bash, shell, command line, Unix, and Linux all interchangeably. What gives?

  • A: It's true, these concepts are all related. How bout this: Many software projects I deal with only run on Linux operating systems, which are a subset of UNIX standards from way back when. I primarily interact with this software through a command line interface, which is just text, as opposed to a graphical interface, which has pictures. Bash is a shell program, which means it understands what commands you type into the terminal. The terminal emulates a direct connection to the operating system, similar to a CMD or DOS window. There are other shell programs that speak slightly different languages from bash.

National Center for Genome Analysis Support and HPC

The National Center for Genome Analysis Support (NCGAS) gives a 'first impression' introduction to high performance computing (HPC) at Indiana University and IUPUI roughly in the beginning of each semester. We provide this workshop to help new users learn about what HPC resources are available to them, talk about other course offerings, and NCGAS services.

Links to Supercomputing Series

This material is part of the Supercomputing for Everyone Series at Indiana University. The full HPC Onboarding for Biologists course is available to non-IU students - more information can be found at https://ittraining.iu.edu/explore-topics/titles/scfes/index.html

More about NCGAS

The National Center for Genome Analysis Support is a center in the Pervasive Technology Institute at Indiana University. Pervasive Technology Institute at Indiana University website: https://pti.iu.edu/

Follow NCGAS on Social Media!

Twitter icon Twitter - https://twitter.com/ncgas
Youtube icon Youtube Video - https://www.youtube.com/watch?v=EP_mPtvhLGU&list=PLqi-7yMgvZy_qGhVYev1waN00-GJabSG9&index=1
Github icon GitHub - https://github.com/NCGAS