Menu Home End users Hacking Humour Interviews Opinons Reviews All articles Issues Books
Free Software magazine
Gary Richmond [hacking]

Who needs the command line? (Well, actually, we all do) [cli] [command-line]

As you might have guessed this is going to be a brazen and shameless plug for the command line. I write it to throw in my tuppence-worth after my own Linux experiences. I am also concerned about a new generation of users coming to GNU/Linux without a proper understanding of the underlying reasons for its superiority over Windows but this not a blow by blow comparison.

Since I began using GNU/Linux the desktop has made enormous advancesand recently, with the imminent release of Windows Vista hoving intoview there has been some understandable hubris in an attempt to showthat if Vista is going to have it the Linux desktop probably already hasit: 3D desktop, wobbly windows and rotating cubes. However, leavingaside the fact that GNU/Linux was often designed to run on fast andstable on low end systems that Windows simply couldn't hack (no punintended), even old 486 systems, the arrival of memory and processorhungry graphical bells and baubles might be construed as a retrogradestep. I hate to seem ungrateful or churlish in saying this as someonewho can't (yet) program for toffee but I am not alone. Some writers,like the estimable JemMatzen, think that the desktop is heading in the wrong direction andI have a good deal of sympathy with him. I have always found his websitefull of Linux goodness and good sense. It's well worth a visit.

The problem for GNU/Linux programmers, designers and writers inluring Windows users away is to make the transition as painless aspossible, as user friendly and familiar as possible - but withoutobscuring or compromising the reasons hardened and seasoned Linuxers useit. In other words, security, stability, choice and ethical integrity.At one extreme you have Xandros which attempts to replicate aWindows lookalike environment. It and other distros frequently succumbto a virulent outbreak of myitis - my pictures, my music etc. At theother extreme you have the uncompromising austerity of distros like pureDebian 3.1, SlackWare or Gentoo which take no prisoners and make relatively fewconcessions to sissy Windows users.

How can the circle be squared? How can you introduce and promoteGNU/Linux to a new generation of users without selling its manifestvirtues short and diluting it to the point where it starts to look likea Windows clone? Starting from the command line would be likeintroducing a computer virgin to Windows by way of a DOS tutorial or afirst lesson in that digital midden, the registry.

That said, the solution does lie in the command line - not any oldcommand line, but a command line explained in an approachable friendly,knowledgeable manner and most importantly, buttressed by hundreds ofworked examples as they say in maths textbooks. This is the key to a goodbook on the command line and it is probably the biggest selling point. There are manyprolific and enthusiastic GNU/Linux writers: Kyle Rankin and MarcelGagne to name but two. Let me add Scott Granneman to that list. He has asubstantial output both in treeware and in cyberspace. His latest offering _Linux Phrasebook_is 382 pages of wholesome command line goodness. Every command is givena robust workout by way of those vital examples and whether you are a beginner or anintermediate user you are sure to discover some little nugget you didn'tknow. This book may be small enough to fit in your pocket (or, in my case,accompany me on the exercise bike!) but it covers all the familiar basesyou would expect: file attributes, file navigation, permissions,ownerships, networking (including wireless), piping, less, more, grep,monitoring system resources, installing software' printing, filetransfer. You could do a lot worse than cite it as a prime example of how to sell the command line and that is why I decided to give it an honourable mention in this blog.

One of my favourites has always been the alias command. In some waysit is the perfect touchstone of the power of the command line andshowing and explaining it to the newcomer could enthuse them. Onceyou've worked in the virtual terminal and experienced the sheer powerand flexibility of it and seen the computer do your bidding it isexhilerating and you will never feel the same again about rsi-inducingclick and point. As Solon, the Athenian Lawgiver and lyric poet might havesaid: "Call no man happy who has not mastered the command line." You'rein control, not Bill Gates or Steve Ballmer. A moderate investment oftime will yield a disproportionate accumulation of power and control.After that, as Arthur Daly would say, the world is your lobster.

Any book on GNU/Linux which failed to include a chapter on softwareinstallation would be fundamentally deficient. You will be be relievedto hear that if you decide to shell out your hard-earned pounds ordollars for books like Linux Phrasebook you will not be disappointed but... well, there isa but and it is no criticism of the author. Software installation andpackage management is a big subject, and I mean big, very big. Wholebooks could be and have been devoted to it.

For example I'm currently in the middle of reading Michael Jang'sLinux Patch Management:Keeping Linux Systems Up To Date (PrenticeHall, 2006).It is one the admirable books in the Bruce Perens' OpenSource Series and you can do yourself a favour by pointing your browserat the website.In the true spirit of open source many of the books are free for (pdf)download under the OpenPublication License but please think about buying the odd book byway of giving back in return for so much given so freely.

Even Jang's book, which introduced me to some useful and powerful Yumcommands, is not definitive or exhaustive. Authors like Granneman do enough withApt-get and Yum to ease the reader into a complex, powerful and criticalarea. He recognises this and at the appropriate points in thetext inserts useful web references which will themselves lead on toother web-based sources and this should be the benchmark for all good books on the subject if newcomers are to be fully empowered GNU/Linux users.If you still need your graphical comfort zone and your havingone of those pig-out evenings when you just want to get that latestpiece of software on your machine sans alpha-geek customisation optionsand flags then there is always Synaptic, Gnome-Apt, Adept, Kyum,Portage, Yumex et al. GNU/Linux is all about choice and you can haveit all.

Books like this are a timely reminder that the command line mattersand why it matters. After you have read it you will know that GNU/Linuxwas written by people who knew what they were doing for people who wantto know what they are doing. Despite that it is a truism that theabsolute beginner will probably need to paddle around in the graphicalshallows before tentatively dipping a cautious toe in the deep end ofthe pool. HicSunt Dracones!

Like death and taxes the command line will always be with us - but atleast it is a positive good. Distros come and go, fancy graphicaldesktops fade in and out of view but the command line endures andtherefore there will always be a renewable audience for authors like Rankin, Gagne and Granneman. I foresee reprints for such authors and when they do cutdown a few more trees what about a generic title: "How I StoppedWorrying About The Future Of The Graphical Desktop and Learned to LoveThe Command Line". For those who like the infectious enthusiasm of Marcel Gagne but sometimes findhis style a little too effusively baroque, authors like Scott Granneman are a welcome antidote - less in your face, ironic, self-deprecating but alwaysreassuringly knowledgeable.

"We'll always have Paris", Humphrey Bogart said to Ingrid Bergman inthe iconic climax of Casablanca - and we will always have thecommand line. Here's looking at you kid!


Verbatim copying and distribution of this entire article are permitted worldwide, without royalty, in any medium, provided this notice is preserved.