27. May 2014

Command Line Tuesdays - The Introductory

Nenad Latinović

Hi Geekos!

Today we’re introducing a new series, called ‘Command Line Tuesdays’. Why command line Tuesdays? Because in this series, everyday computer enthusiasts like yours truly, will try to step a little out of bounds of the Graphical User Interface (GUI) Culture, which is today synonymous to ‘making stuff easier for the masses’.

Of course, if you visited any of the GNU/Linux related community forums, you’ve probably read, and this is an assumption, a very fiery debate over which is actually easier. Using GUI for everything, or simply learning and enjoying the Command-line Interface (CLI). TerminalThere are many arguments for or against the use of GUI tools. One of the most commonly referred pros is that we’ve been brought up in the point-and-click computing paradigm, so it’s basically a form of a language, or culture if you may, in which we interact with our machine. The patterns are mostly recurring, with big button clicking doing everything we need it to do.

On the other side, one of the most interesting comments I’ve read about the pros of command-line was: you can simply do more via the command-line much quicker, easier and faster than when using GUI tools. But there’s a catch: you have to learn the commands. Yes, learn them, as if learning a poem. Now, since to us, the semi-indoctrinated clueless users, it all sounds like some useless geek overreaching and overdoing, let me humanize it with a fable:

##

The Fable

I’ve been using Linux for more then 3 years now. I’m a 27 year old literature major, who never held much of an interest in technology of any sort. I didn’t even own a computer until I was in high-school, so let’s say somewhere around 17. That’s barely ten years of computer usage. The only three programs I ever ran were BS Player, Winamp and Football Manager, with occasional usage of MS Word. Three and bit years ago, a colleague at a precarious job I was performing at the time was talking to another coworker, saying there’s a new edition of something which immediately occupied my attention, as it looked different. It was Ubuntu’s Natty Narwhal, I think. After discussing it with him, he pointed out the usual pros we gospel to the newcomers, no antivirus necessary, faster boot, better security, software center blah blah blah, and the peak of it: Free and Open Source (FOSS) philosophy behind it. And he did it in a very non-invasive, non fanboyish manner.

I decided to give it a go, and I never turned back since then. How I got into openSUSE around the 11.4 release, shortly after trying out Ubuntu for the first time is going to have to fit in another time, and how I find it to be the perfect sweet spot is a whole different story. The point is, I finally entered the Linux realm. It was fun, it was different, it made my computer run better, it was more stable. I barely had issues with it (seems I not-knowingly purchased fairly orthodox hardware). It seems that Linux came really far regarding the desktop, so I barely had to use the terminal. But let’s just say it was one of the most dreadful, terrifying and horrific tools to use in Linux. If there wasn’t a GUI for a specific operation, I immediately became nervous as I didn’t know what I was getting into when copy/pasting commands from the forums. After time, things changed. As opposed to other consumer-oriented systems, what happened to me was maybe somewhat of a human reverse-engineering. Instead of me consuming the system, I feel that in three years, the system consumed me. I learned how to search for basic issues, file bug reports, properly ask questions on forums. With every issue I had, I learned how to be better at providing the information needed for someone more competent to help me with my problem.

A short while ago, my girlfriend commented how she can’t believe I’m using my computer mostly for the sake of using the computer, rather than doing anything else. ‘You use it only for your music collection and Linux thingies, Nenad. Gaawd.’ It made me think, and think hard. Linux, specifically the openSUSE distro has become a hobby of mine. Not at an expert level, by any means, which is reasonable since it isn’t my area of expertise. But I know enough to get around, fix minor issues, play around with some configuration files etc. But what I came to know, is that with my increasing playing and tinkering around the system, I really need to get familiar with CLI. I learned that I’m playing around without knowing of the basics under the hood. What for crying out loud is ETC?!?!? What’s BIN? Why is there .sh at the end? Why is this file here, and this file there? Why do I have to click through gazillion of folders to find the right file to modify? Then I read you can easily list all the files somewhere with a single command. It became interesting. I suddenly felt an urge to try it out.

So Let’s Do It!

…and here we are. As a new openSUSE news contributor, I’ll try to contribute in a way I see productive for what I suppose is a large portion of the community. It’s time to plant the banner and start learning the command-line together. If philosophy is what attracted you to Linux and openSUSE, like me, it got you this far. Now it’s time to take a step further. Pinky And The BrainLook, I know there’s a bunch of you like me out there. I know you maybe don’t see the point in all that 90’s geeky black-screen-green-letters-quick-typing-make-everything-go-boom thing. But it’s useful in many aspects. We’ll learn in a fun and communal way which directories are for what, what files are located where, most commonly used terminal commands. It will make our lives easier when we learn to perform tasks through the console, make it even more rewarding when we run into issues. It will also make the lives of bug-squashers easier when they receive proper information from our end, and it will make our hobby infinitely more fun. I mean, for crying out loud, you’ve already made a transition to a phase where Dilbert and xkcd are actually funny. It’s time for the terminal!

P.S.:

Reference material that will be used: William Shotts – The Linux Command Line and a short tutorial on most commonly used commands by a Croatian hacker Velimir Baksa aka Lutherus. Requirements on your part: - **An hour or two of spare time weekly ** - **A pint of cold beer or any other beverage ** - **Someone already pointed out that using Gedit,** or a manual notepad (you know, pen and paper hehe) would be good for easier learning.

The book by Mr Shotts is exquisite. But there’s probably an issue of time/will-power etc. This way, I’ll try to humanize the lessons a bit more, take some time off your hands, and what’s most important – I count on us learning together, helping each other together (Comments and Forums, people!!) and tying a close-knit openSUSE community! This time next week (it will be June already!), we’ll learn our first commands. And remember…

…have a lot of fun!

Share this post: