Forgot your password?
typodupeerror
Education Linux

Learn Linux the Hard Way 185

Posted by Soulskill
from the for-the-really-hard-way-close-your-eyes-first dept.
An anonymous reader writes "Here is a free interactive beta of Learn Linux The Hard Way; a web-based virtual Linux environment which introduces the command line and other essential Linux concepts in 30 exercises. It's written in the style of Zed A. Shaw's Learn Code the Hard Way lessons. The authors says, 'You will encounter many detailed tables containing lists of many fields. You may think you do not need most of this information, but what I am trying to do here is to teach you the right way to approach all this scary data. And this right way is to interpret this data as mathematical formulas, where every single symbol has its meaning.' Of course, my first entry was rm -rf /* which only produced a stream of errors. I wish I had discovered something like a long time ago."
This discussion has been archived. No new comments can be posted.

Learn Linux the Hard Way

Comments Filter:
  • by DiamondGeezer (872237) on Friday December 21, 2012 @11:17AM (#42359749) Homepage
    ...slashdotted immediately
    • it's been on reddit and hn too - and who knows where else.

    • by SilentStaid (1474575) on Friday December 21, 2012 @11:31AM (#42359877)
      They did say the hard way. If someone wanted to learn the easy way they'd have installed Ubuntu... which I assume would have:

      booted up
      connected to the closest availble wifi
      ...cracking the password if needed
      googled for stories relevant to itself
      posted this witty comment
      became self aware
      Skynet.
      updated Unity
      became unusably cluttered and bloated, thereby saving the human race.
      ...
      Profit??? I mean, that's the MS did it, right? ...getting cluttered and unusable?
      • by Anonymous Coward

        I installed Ubuntu for my father who is in his 80's. Not only does he know nothing about Linux, he doesn't even know that he is using Linux.

        The website is intended for people who actually want to open the hood and learn the internals. The point is to learn skills that employers will pay for.

        Personally, I train green students with a formatted HDD and a Gentoo ISO. A rigorous and relevant curriculum produces technicians who can earn money and support their families. Many go on to lucrative careers in Linu

        • If they want to dive in to the deep end all the have to do is install ubuntu 12.04(I still choose ubuntu despite the crap because the install is the most painless and has all of the proprietary drivers fonts and codex) then hold down the CTRL ALT and any of the F* keys other then F7 and they will be dropped into a terminal. And since this is a web based app I doubt the project will contain all that deep a level stuff like building your own kernel or swapping out gnu utils for others versions (BSD utils Infe

        • I installed Ubuntu for my father who is in his 80's. Not only does he know nothing about Linux, he doesn't even know that he is using Linux.

          Yep, same experience here: I installed Ubuntu for my girlfriend to upgrade from XP when Windows 7 came out.

          "Ubuntu"? Does that mean "Windows" in, like, African? OMG, I heard of something like this! You bought me the expensive African version to help out all those starving kids! ::smooch::

          I never had the heart to tell her it wasn't Windows.

          • by mcrbids (148650)

            ... which works fine until she "needs" to run Sims3, or some obscure compiled video tool used at the University to encode videos. Suddenly, she'll feel betrayed, and those brownie points turn into brown stains in your pants.

    • by Hillgiant (916436) on Friday December 21, 2012 @11:57AM (#42360171)

      ...slashdotted immediately

      How to set up a web based Linux test environment the hard way.

    • by sheehaje (240093)

      Take down the website the easy way - post a link to it on Slashdot.

    • by greg1104 (461138)

      This is learning the hard way, only it's the maintainer of the site who's learning.

      Any tutorial is not the hard way. Everything important I know about UNIX systems was learned while the server and Internet were down. I learned Solaris that hard way; here's how that works. I started a job where I replaced a Solaris admin at an ISP. I was a Linux person, had to learn as I went how to deal with Sun hardware and software. My second day the DNS server crashed and wouldn't come back up. I had a Solaris docu

  • by plaukas pyragely (1630517) on Friday December 21, 2012 @11:20AM (#42359779)
    Who will be the first to make a Puppet [puppetlabs.com] tutorial running multiple networked Linux instances in your browser?
  • The usual (Score:5, Interesting)

    by Razgorov Prikazka (1699498) on Friday December 21, 2012 @11:23AM (#42359803)
    The hard way is saying NO to Google, fora, newsgroups ant the like, and saying YES to Manpages, --help options, txt files that came with the package using cat maybe accompanied by | grep or | grep -v
    That is how I learned it in the mid-90's. Heck, google wasnt even there yet!
    Anyway, I am going to do the course, see what I make of it :-)
    • the problem with those Manpages, is that they were written in the mid-90's and haven't been updated since, even though the product has been updated through several revisions.
    • Re:The usual (Score:5, Insightful)

      by arielCo (995647) on Friday December 21, 2012 @12:04PM (#42360253)

      That approach falls short when:
      * You don't know *what* program does what you need ("man -k" and "apt-cache search" are not always helpful)
      * There's a quirk / unexpected behaviour / bug (man pages seldom admit the former)
      * You don't even know the right terms to start searching
      * You lack understanding of something too fundamental for a manpage (e.g., initrd)
      * The docs are downright poor

      OTOH, fora are terrible: full of obsolete hints (especially in rapid-changing distros), awful S/N ratio. To me, wikis are the way to share knowledge (updatable, searchable, concise) and fora are for:
      * asking for pointers to that knowledge
      * suggesting one-off solutions
      * troubleshooting
      * tossing ideas about
      Once something is settled, there is no reason why a forum thread should be its repository; it irks me every time I read "use the search function, you'll find a whole thread dedicated to that".

      Incidentally, I'm an Ubuntu user and many times the clearest, most comprehensive help I've found is an Arch wiki page.

      • by Hatta (162192)

        * You don't know *what* program does what you need ("man -k" and "apt-cache search" are not always helpful)

        Try 'apropos'.

        • by arielCo (995647)

          apropos is usually equivalent to 'man -k' - search the short descriptions of all commands. 'man -K' searches the bodies of all manpages (yup, slow), and none account for synonyms or subtleties like "filesystem" vs "file system". That makes Google a nice choice, especially since most likely someone has gone through the same before; filtering by date and refining with extra words and exclusions helps the toughest cases.

      • That needs to be in large bold caps. I've gotten a few of those "Google it. You can do this" comments, too, without even the courtesy of suggesting appropriate search terms. Obviously I don't know them, if my searches so far haven't done better than land me on that forum. Lack of an easy, fast clear way to find current answers is the biggest thing holding linux back.
        • by arielCo (995647)

          My general approach is googling until I get a hang of the concepts and terms. Then I can make more efficient queries, and if that fails I'm better equipped to ask the right questions in a forum / IRC channel (desperate measure).

          My big peeve with browsing/searching forums is that the answer may lie in post #xxx of any of several threads, buried in chatter, missed shots and solutions that no longer apply.

        • Wikis are where information goes to die.

        • by quixote9 (999874)
          And I agree with all the comments to my comment. Use goog, get oriented, ask question (noting how previous searches didn't find the answer) on the right forum ... get told to use search to find answer deeply buried in noise. (To anyone who leaves that kind of comment: You know what? If you're so smart, provide the direct link to that answer.)

          Yup. I've heard of IRC. It's like Mary in Mary Had A Little Lamb. When it's good, it's very very good, and when it's bad, it's awful. See signal deeply buried in noi
    • You could always alias your man command to do a wget with the proper GET to a Google search page.

      So a 'man kudzu' would do a 'wget www.google.com?q=kudzu'.. maybe return the full page, run it through html2txt and then display.. Now that would be a cool script...

      But of course, 'man man ' and 'man snmp' would likely get your system locked out from the GoodNiceQuery proxy...

      And don't even get me started on 'man gimp', 'man latex', 'man size', or 'man dump'.

    • LOL - one day, your grandchild is going to look up at you, and ask, "Did they have Google when you were little?" If you answer honestly, the kid will categorize you with tyrannosaurus rex.

    • My first experience with Linux was on my Amiga running Linux/68k. There were no distributions, just an (outdated) image from some Atari dudes hard drive. Guess I can be thankful, at least I had a C compiler. I bought a slackware cd set full of glorious source code!

      Google didn't exist, but NNTP did.

    • cat maybe accompanied by | grep or | grep -v

      Please don't ever do this. grep is a big boy and can open files all on it's own.

    • by Anonymous Coward on Friday December 21, 2012 @11:30AM (#42359859)

      Gentoo isn't hard, it's just time consuming. And not even your time, CPU time.

      • Installing Gentoo is not difficult per se, but it's certainly an effective way to learn low level system administration and a lot about the Linux ecosystem. Now of course it's entirely possible to install Gentoo and not take away anything from it (i.e. just mindlessly copy-and-paste from the Gentoo Handbook and never attempt to understand what's going on), but even if you just apply minimal effort, it's a great way to learn a lot about Linux.

        For example, a typical Stage 3 install will involve manually part

  • LFS (Score:5, Interesting)

    by owlman17 (871857) on Friday December 21, 2012 @11:30AM (#42359857)

    Linux From Scratch boosted my Linux knowledge about a hundredfold. I cut my teeth on a modified LFS 5.1. Following the instructions, while tedious, was doable and straightforward. What made it more difficult for me was that my host distro was a bit too old for the then-current LFS (5.1). With a slow and expensive internet connection, downloading an entire distro was out of the question. Downloaded the official tarballs, mixed and matched on my Celeron 366, and I eventually got it up and running.

  • Wait! (Score:5, Funny)

    by Jmc23 (2353706) on Friday December 21, 2012 @11:42AM (#42359989) Journal
    Is there actually an easy way???

    Might have saved me the past two decades...

  • There's an old Jack Tramiel quote about computer pricing (referring to Apple II prices):
    "

    We need to build computers for the masses, not the classes."

    I believe that Linux can be for the masses as well:

    Linux for the masses, not just those who have taken programming classes.

    Things like this "Linux the Hard Way" is the last thing we need. We need better tutorials, better documentation in general, something "better" than crappy gnu info (there's nothing I hate more than a man page that directs me to use gnu info, how I hate that thing) Making Linux more non-nerd friendly makes it better for everyone. It even saves nerds time. I'm not just talking Ubuntu here, after all there was a time when Red Hat was considered the Linux Distro for the Masses. Personally in my Linux usage, I prefer to take the "Easy Button" way whenever possible, I have a "set it and forget it" philosophy and I like "reasonable defaults". Sure, some things are faster in a terminal, but even there I take the easy way by using mrxvt, and not the incomprehensible geek=favorite...gnu screen.

    • by MacTO (1161105) on Friday December 21, 2012 @12:26PM (#42360489)

      Then use the "easy button" and ignore the other stuff.

      Different interfaces are developed for people who think and operate in different ways. Graphical interfaces are great for some people, while command driven interfaces are great for other people. Making the assumption that "geeks" will find graphical interfaces as easy to use as command driven interfaces is just as elitist as the assumption that "the masses" are ignorant because they cannot handle command driven interfaces. There is not a single "right way" to do things.

      • Making the assumption that "geeks" will find graphical interfaces as easy to use as command driven interfaces is just as elitist as the assumption that "the masses" are ignorant because they cannot handle command driven interfaces. There is not a single "right way" to do things.

        While I agree, for the most part, the problem is there aren't "Easy Button" methods to do certain things that there should be "Easy Buttons" for. And many things aren't explained or documented clearly.

        As for whether geeks might find GUI's useful. I've been using Linux since 2002, while I find some things easier in a terminal, there are others that I prefer to use a GUI for.

    • by claar (126368)

      Things like this "Linux the Hard Way" is the last thing we need. We need better tutorials, better documentation in general

      Agreed that better tutorials, better documentation, better defaults, and things that "Just Work (TM)" out of the box are wonderful and needed. But it's so easy to fall off the other slope when you start making "Linux for the masses" -- the needs of the "masses" are simply not the same as the needs of sysadmins and programmers. If you're not careful you get projects like Gnome and Windows 8 that hide everything useful in the name of the "Easy Button".

      • the needs of the "masses" are simply not the same as the needs of sysadmins and programmers.

        That is true, but there are more people who are NOT sysadmins and programmers than are. The FSF doesn't say it's goal is to create "Free" software for just sysadmins or programmers. Though it seems they focus most of their efforts of software only sysadmins and programmers use...and that's a serious fault in my opinion. Everyone deserves good "Free" software, from the person coding C in emacs to the person who wants something like "Print Shop" on Linux.

        If you're not careful you get projects like Gnome and Windows 8 that hide everything useful in the name of the "Easy Button".

        Personally I blame Win8, Gnome3, and Unity on progr

    • Linux desktop is a mess man. Nothing just works as intended - it almost forces you to learn to use a shell..
    • Re: (Score:3, Interesting)

      While I agree with your post I think you are combining two extremes of Linux. "Linux Distributions" should be easy but Learning Linux should be hard. The masses should be able to choose a distribution that easy and will work out of the box (ala RHEL, Ubuntu, Linux Mint...). Learning Linux itself (kernels, command line, compiling from source, customize it to your liking) will never and shouldn't be easy because of the sheer amount of information. While condescending elitism has no place in any subject,
      • What this guy said. TFA isn't an attempt to make Linux difficult, it's a difficult crash course on *learning* linux. It should be easy to use, but learning in a difficult way still has a lot of value for people who need to deal with things in a more in-depth way.
      • but Learning Linux should be hard

        Why, why should it be hard? Should we keep on going on about "sweat equity" and "RTFM" until no one but sysadmins and programmers uses it?

        Learning Linux itself (kernels, command line, compiling from source, customize it to your liking) will never and shouldn't be easy

        I'm going to be BadCarAnalogyPerson for a moment:

        To use a car I don't need to know about thermodynamics or how gas-air mixtures behave under pressue...I just need to know how to drive it. To use a TV, I don't need to know the ins and outs of NTSC/ATSC specifications or about how CRT guns are magnetically aimed, or how LCD crystals twist when a current is applied, I ju

    • by h4rr4r (612664)

      Which will of course mean Linux becomes useless for those of us not inclined to stick to the shiny buttons and poke at the screen.

      I would rather have less users, than cripple what we have now.

      A common ground can be found, but it is hard. It means remembering that every program should run fine without X(even VLC has text output video), that the display and the program may not be on the same machine and that the pipe is still a useful tool. Frontends are nice, but if you program requires it you are already go

      • by fnj (64210)

        Agreed. *I* use linux and I couldn't care less if linux desktop market share ever rises above 1%, and as you say it would just turn into mass market shit if it rose to 90% anyway. We already have a shitty version of linux. It's called OS X.

        How big is Ferrari's share of the share of the automobile market?

      • Which will of course mean Linux becomes useless for those of us not inclined to stick to the shiny buttons and poke at the screen.

        Why does that have to be the case, even in the most "Linux for the Masses" distros, they still have development tools and you can still live in emacs in a terminal, or god forbid on the console if you want.

        But we still don't have good documentation or "Easy Button" tools for some tasks.

        I would rather have less users, than cripple what we have now.

        Who says it would be crippled. For example, just because GUI tools exist doesn't mean neckbearded suspender wearing Unix-y graybeards have to use them. Just like the fact that GNU screen exists, doesn't mean I can't use an

        • by h4rr4r (612664)

          I am not sure why it has to be the case, but look at ubuntu and unity. Enough said. If that was not enough said think what unity does to FFM and other geek type norms.

          Whenever something becomes very popular it does that by sacrificing everything at the alter of that. Look at the worlds most popular beer, bud light, it got that way by being very nearly water.

          Your easy to use tabbed terminal solves different problems than screen. Screen is great because I can use it remotely and detach and reattach at will. S

    • by Hatta (162192)

      Try 'urxvt'. It does tabbing like 'mrxvt'. It also has unicode support, and provides a daemon so every terminal runs under the same process. This saves memory and launches new terminals faster. You can even configure it to act like a quake console, if you're a yakuake fan. IMO urxvt is far and away the best terminal emulator around.

    • The problem with your idea is that you are assuming that Linux as it exists today is a bad consumer desktop OS. From a certain perspective this is true.

      Linux is not really anything in and of itself. It is a platform for constructing other things. You can use a Linux system to serve web pages, crunch numbers, or throw some eye candy on the screen, but the project itself will always be focused around the ease of use for people who are building such things, and not the end users.

      In fact, the versatility of Lin

      • but the project itself will always be focused around the ease of use for people who are building such things, and not the end users.

        But Users are why software exists. Don't end users who are NOT programmers or sysadmins deserve high quality "Free" software. The FSF doesn't say that their software is just for sysadmins and programmers they say it's for "everyone" (though sadly, they really only seem to care to write software for Unix graybears)

    • by Arker (91948)
      Yes, indeed, we need to dumb linux down to the point where it is useless to us, in order to convince people that dont like it and want something entirely different... wait, why?
    • [...] something "better" than crappy gnu info (there's nothing I hate more than a man page that directs me to use gnu info, how I hate that thing)

      I feel your pain. I can't stand info either. Maybe if I had to use it more frequently, I would finally memorize the keybindings, but even then I find it awkward to use. I'm not ashamed to admit that I tend to fall back to an easier, more masses-compatible way of reading info pages: KDE's KIO slaves. I just hit Alt-F2 and type "info:gettext", which displays the info contents for GNU gettext in a browser as a set of nicely formatted HTML pages. All manpages and info pages are also browsable and listed alphab

  • by Cuban Devil (1288992) on Friday December 21, 2012 @11:46AM (#42360053)
    Site is down... someone is learning capacity planning the hard way.
  • ...that there was any easy way to learn Linux. Must be buried in the man pages somewhere.
  • sudo (Score:5, Funny)

    by Tarlus (1000874) on Friday December 21, 2012 @12:11PM (#42360351)

    Of course, my first entry was rm -rf /* which only produced a stream of errors.

    Try it again as root. =)

    • by fnj (64210)

      Or just wait while the error messages fly by until it gets to your home directory. Hint: it does a LOT more than only produce a stream of errors.

      • The way I understand it, removing /home really isn't that problematic to your system.
        You obviously lose your data, but I'd say that the most sensitive folders are /usr, /bin /var and maybe /etc.

    • I can't check the site because it's not working, but I get the impression that the submitter may not have been the site author, and that the submitter tried rm -rf / in the web-based interactive environment to see what would happen?

  • by Chelloveck (14643) on Friday December 21, 2012 @01:43PM (#42361453) Homepage

    So, the intro goes on about how you need to take the time to learn the details, even the little things that you think you can skip for the time being. The example given is the output of ls -l. We are told that we will never understand Linux if we gloss over the confusing bits. We must dive in and know what each element of the output means.

    And to do so, we're given a full in-browser emulator that boots Linux including pages and pages of boot-time console messages. Where's the explanation for these? Why is it okay to gloss over them when it's not okay to gloss over parts of a directory listing? Wouldn't "the hard way" be to start with the very first console message and work through the boot process?

    Or is this just the author's way of saying, "You need to learn all the details up to the level that I know them. But the stuff I don't know about, like all that console garbage, isn't important anyway."?

  • In my early Linux days my first real Linux system was my Sony P3 600 laptop circa 2001. I got Debian working 100% about a month prior to that and I had quite a few documents and other files I created. I was trying to delete every file in a directory, probably some tar ball, and ran "rm -rf *". It looked good until I opened up my home directory and found nothing. WTF! Then I realized that I ran that command in the root of my home directory because I was in the wrong terminal window. Man I was pissed.

  • by ryzvonusef (1151717) on Saturday December 22, 2012 @09:05AM (#42368479) Journal

    I mean the hard was *is* the better way, I mean why use those pesky function keys or use the GUI slider, when you can

    echo 7 | sudo tee /sys/class/backlight/acpi_video0/brightness

    That's why my Kubuntu 12.10 has prevented the Fn keys or the brightness slider in the power option from *actually* performing any action. It's for our own benefit! The fact the they function in Lubuntu is clearly to our disadvantage, KDE is looking after our long term interest, unlike those pesky LXDE guys.

    Vive le Linux!

    ----

    Sarcasm side, I have nothing against learning bash commands or getting to know the depth of the the system,. I mean, who can argue that sudo apt-get whatever is faster and neater than going into synaptic or muon or whatever... But for humanity's sake, let us learn on *our* pace, don't force it down our throats, check if the god damn GUI works, even if *you* will never use it.

    Let them decide, to use an example, if they want to sudo apt-get install && sudo apt-get update or want to click the system update button on the muon popup. See, I am a friggin' accountant, I am not even supposed to understand the word linux and yet here I am discussing some simple commands, but albeit those which I learnt on my *own* pace, I don't appreciate that for simple functions I have bring out the Konsole, and it's not one of those "we don't have the drivers" type excuses, acpi_video0 is a generic folder, not specific to any particular video card or screen (AFAIK), surely they could check to see if the damn slider works?

    I am sorry for the rant, it's just that I had to remove an otherwise working Kubuntu install because of this and other minor niggles, let's see if the latest LM has these minor issues fixed...

    You know what will be the year of Linux on desktop? When they make a distro that forgets to contain a console, and no one notices...

Forty two.

Working...