top | item 28819387

Bashcrawl: Learn Linux commands by playing a simple text adventure

344 points| free-malloc | 4 years ago |gitlab.com | reply

37 comments

order
[+] bitwize|4 years ago|reply
This looks neat. Once upon a time -- back in the 80s -- there was a utility called 'learn' that was a Unix command line tutorial. After each lesson, you could do these exercises where you were dropped into a fake shell, replete with fake directories and that, and had to get things into a certain expected state. They were typical business-related tasks, nothing cool and dungeon-y, but I learned my basic Unix commands that way. It's good to see learning tools like this re-emerge.
[+] stormcode|4 years ago|reply
Reminds me a little of one of the games built into emacs... You ftp around and do other stuff that teaches you commands. Not positive, might be called dunnet.
[+] johnchristopher|4 years ago|reply
Oh come on, first room and I already learn something new despite using linux for years :D

  alias ls='ls -F'
I am going to spend some time with it, I hope the awk rituals are explained later on :).

edit: Maybe the author should provide a list of commands that will be taught ?

[+] BiteCode_dev|4 years ago|reply
It's pretty well done, I almost forgot I was in my shell, and when the games gets to "tree to map the dungeon", I was almost surprised I didn't think about it before: I felt like playing a game, not coding in bash :)
[+] tyingq|4 years ago|reply
"Then drag and drop the entrance directory from this folder into your terminal"

Kind of a funny way to start out a "text" adventure :)

[+] nine_k|4 years ago|reply
It's for those not yet accustomed to typing shell commands.
[+] sodality2|4 years ago|reply
I learned with Kano OS (kid's computer kit) running on a Raspberry Pi at age 12. A similar console-type game that taught me all the common commands still sticks with me to this day. This will be a good refresher, years later. :)

https://allthingsd.com/20131203/the-99-kids-computer-kit-kan...

[+] clajiness|4 years ago|reply
> I learned with Kano OS (kid's computer kit) running on a Raspberry Pi at age 12.

I wish I had been able to use a Pi at age 12. :) I had a Commodore64 that I LOVED.

[+] xrd|4 years ago|reply
Kano looks amazing. I wish it wasn't Windows even though I'm sure it would be a bad idea for most people to run Linux on it. But what a cool company. The peripherals are so cool.

Anyone know of a similar option for Linux based kids computer?

[+] monkeycantype|4 years ago|reply
The terminal quest game on Kano was very clever, i wonder if there is a repo just for that somewhere?
[+] nanomonkey|4 years ago|reply
Anyone know the depth of information presented? Is there a list of commands that are covered?

Is this fun?

[+] LewisVerstappen|4 years ago|reply
I played around with it for 5-10 mins and found it pretty fun.

I think this is a great idea.

That being said, I think it's a bit too advanced for someone with no CLI experience whatsoever.

It would be great if this could be combined with a codecademy type thing so you can have clear instructions on the left and a terminal on the right.

[+] praveen9920|4 years ago|reply
This is the future of learning anything. I would rather play an engaging game than read 300 pages of text book and still has to Google for doing anything meaningful.
[+] beebeepka|4 years ago|reply
I can't learn anything really new to me by simply reading. Very much a hands on guy. School was hard. But not everyone is like that and while I agree that learning should be fun, I would very much like to not force what works for me on everyone else.

One man's fun is another man's nightmare

[+] fantalamera|4 years ago|reply
Shameless self promotion: if you don't want to learn bash you can instead use this tool to get the bash commands directly from natural language, right in the terminal: https://github.com/davidfant/terminal-x
[+] ofrzeta|4 years ago|reply
It's interesting. It failed on "x git reset last commit" but returned "git reset --soft HEAD~1" for "x reset last commit".
[+] mdp2021|4 years ago|reply
It is genius. But also since the "action on objects" is based on executing files, should not be the first command a `chroot` - just to put the learner in the right mindset?
[+] SamPatt|4 years ago|reply
How do you kill the robot? I keep getting electrocuted.
[+] qoolowl|4 years ago|reply
how do i get the treasure... it only teaches me ls and cd?? im at the end of the hall
[+] tvb12|4 years ago|reply
The instructions are in the armoury.

cat cellar/armoury/scroll

[+] johnklos|4 years ago|reply
It's one thing that so many people who really should know better call anything Unix-y Linux.

Now we're completely going the whole way and calling macOS Linux, too?

It's pedantic, I know, but when I see this, I can't help but imagine the person who chose to use the phrase "Linux commands" doesn't really know what they're doing.

[+] monsieurbanana|4 years ago|reply
> This is a game to teach you the basics of using a POSIX (Linux, BSD, UNIX) terminal.

Second line of the README.

You're not the target for this.

If you just installed your first Linux distribution, don't know anything about the command line, you're not going to click on something called "Learn POSIX shell...".

[+] pbhjpbhj|4 years ago|reply
I'm fine with being pedantic. However, they _are_ "Linux commands", they're just not exclusively so (and no, I'm not going to get into 'but Linux is a kernel ...').

It's like having 'a guide to kitchen tools' and you complain that cleavers are also used outside kitchens -- for sure, but they're still "kitchen tools".

A lot of people won't be using a POSIX shell, XNU is what it says it is, ... what are you going to call it? 'Linux-like commands'? You're going to lose a load of learners who are looking for 'the command line, y'know, linux' rather than something that's not it but is like it.

Kinda a premature specification.

[+] jfk13|4 years ago|reply
To be fair, the README does make it more general:

> This is a game to teach you the basics of using a POSIX (Linux, BSD, UNIX) terminal.