One of the challenges of learning (or teaching) the command line is that different operating systems have default access to a command line terminal, whereas others will not (e.g., Windows versus Mac versus Linux). In a classroom session, this is especially frustrating, because time must be spent bringing all computers to the same starting position. Browser emulator Codecademy offers a fantastic alternative to this challenge because it has a terminal emulator directly in the browser, so you can practice and execute all the commands in the emulator, regardless of what operating system you have.
In practice Another feature of codecademy command line interface that I like is that tutorials have students first implement a command, then afterwards there is an explanation of what the command does. This allows students to practice first, observe what happens, and then read through a detailed explanation.
So far, students in the lab have liked this tutorial. We start with Codecademy, then work on installing local terminal/Linux-like environments (e.g., cygwin for people with Windows machines).