LINUX BLOG SAFARI

Should the Command Line Be Deep-Sixed?

In what’s surely a testament to Linux’s increasingly mainstream-ready graphical user interfaces, it seems to be par for the course that every once in a while someone will suggest that there’s no longer any need for the command line.

Last week, it happened again.

TuxRadar was the one to ask the question this time, and it’s been echoing around the blogosphere ever since.

“Is it finally time to do away with the command line?” TuxRadar asked in a recent podcast.

Linux geeks had their answers ready.

‘Still My Primary Interface’

“Absolutely not,” Slashdot blogger David Masover hastened to reply. “It’s still my primary interface. It still lets you do things GUIs don’t. It’s still useful for repairing problems when GUIs aren’t. It’s still much more efficient over a network.”

The command line is “actually _more_ useful for tech support,” Masover suggested. “Someone has a problem; I can give them a sequence of commands to run, and they can simply copy and paste.”

When someone has a Windows problem, by contrast, “I have to give them a series of difficult-to-follow steps, possibly with screenshots,” he explained.

‘No One Should Be Forced’

Same goes with errors, Masover added. “With the command line, they can just copy and paste — with a GUI, I have to teach them to take a screenshot.”

Of course, “no one should be forced to use a command line unless it’s their job to do so,” such as programmers and sysadmins, Masover asserted.

By the same token, however, “no one should be forced to choose between GUI and command line,” he concluded. “You get a GUI unless you know enough to make that choice for yourself. But that choice is the greatest asset Linux and OSS in general has.”

‘YES YES YES!’

Of course, unanimity is about as rare in the Linux blogosphere as choice is in the proprietary world.

“YES YES YES! CLI needs to DIAF if Linux is ever gonna gain critical mass!” countered Slashdot blogger hairyfeet.

“This is something I’ve been saying for years,” hairyfeet added. “Do Windows and OSX have a command line? Yep, but NOBODY outside of servers and power users EVER uses it. Working in PC repair, I can count the number of times I’ve had to go CLI on one hand, with fingers left over.”

‘Nothing but a Crutch’

Linux’s command line is “nothing but a crutch, because you haven’t designed a decent user interface,” hairyfeet charged. “The simple fact is home users will NOT use CLI…period, full stop. They won’t do things your way, no matter how much you tell them to ’embrace the power of CLI’ like it’s the force.

“And why should they?” he added. “It’s 2010, not 1979. Why should the ONLY answer to 90 percent of the problems in Linux be, ‘open up Bash and type…’ some convoluted mess in a lame 70s-era terminal interface that lacks even the most basic of amenities, like spellcheck and auotcomplete?”

The answer, hairyfeet opined, “is Linux snobbery combined with developers that couldn’t design a decent UI if their life depended on it.”

In fact, a good test for Linux fans is to stop using Bash for six months, hairyfeet suggested.

“Just pretend you are the average PC non-tech user for a while — you’ll quickly find that without CLI access, Linux quickly becomes about as useful as Windows ME,” he predicted. “How sad that an OS with such a solid foundation should be crippled by such a fundamental weakness as lack of a decent UI, especially for fixing problems.”

‘I Still Want the Option’

Other bloggers saw it differently.

“Don’t take the command line,” Montreal consultant and Slashdot blogger Gerhard Mack entreated. “Some of us actually use that on a daily basis.

“Despite what the point-and-click crowd says, it is still the easiest way to make complex configuration changes on a server,” Mack explained. “In fact, Microsoft did an about-face on the command line some time ago, and now pushes PowerShell for all of your CLI needs on Windows.”

That said, however, “I’m happy with the progress being made on eliminating the need for command-line use for desktop, but even there I still want the option.”

‘Scripting Will Never Vanish’

The command line “could theoretically go away one day, but scripting will never vanish,” Hyperlogos blogger Martin Espinoza pointed out. “Thus the command line will never really go away, because interactive script execution is one of the common means of script development.

“Even for it to vanish, we would need better-defined interfaces so that we could ‘script’ by connecting GUI blocks,” Espinoza concluded.

Indeed, “the command line is the lingua franca of Unix-like operating systems,” blogger Robert Pogson agreed. “It should no more be done away with than C or other venerable programming languages.”

‘The Right Way to Do Lots of Things’

The command line “brings together the art of computer programming and system administration,” Pogson explained. “It is the right way to do lots of things, particularly in combination with SSH.

“One is not limited by the OS when the command line is used; one is not limited by the particular client machine,” he added. “One is only limited by one’s imagination.”

Lack of imagination, meanwhile, “is a problem for fans of that other OS, but not for FLOSS,” Pogson opined. “Fans of that other OS believe with a certainty that M$ is the font of all wisdom in IT, when in fact M$ is the bane of IT.”

24 Comments

  • I AM a windows administrator and i use the CLI everyday. Every OS has its advantages and disadvantages, but CLI is not one of the disadvantages anywhere. It is where the nitty gritty is done. IMHO. If you don’t like the gui interfaces available on linux; use windows,OSX,unix. If those do not suit you, write your own. I would be very interested in seeing the perfect GUI. Your arguments are as useful as a screen door on a submarine.

    • There you go again… "customers" and "product". You can’t let go of the wrong notion. While we are at it, let’s address this inappropriate metaphor.

      Gnu/Linux is NOT a take it or leave it world. Your insistence on this mischaracterization tells us much about how informed you really are in the subject. The genius of gnu/linux is that it is very much like a smorgasbord at the family reunion. Don’t want turkey? Fine… have some ham. You like turkey but this one is too dry? (this would be your intellectually honest "turd sandwich") Fine… add some gravy or (more likely, given your demonstrated proclivity) get gramma to add the gravy for you…. or perhaps even make a new one just for her ickle hairyfeet. The point is that there is this huge feast of stuff for the taking. Some of it is better than others for you. Other people have different tastes. You can mix and match anything you want… yet you insist that the people who cooked it cook it to you liking. I’m rather surprised more people have not told you where to go and what to do with yourself when you got there. Are you invited to a lot of parties? That’s rhetorical… I don’t give a damn.

      You want the 10 course meal for $50? Don’t realize that the 10 courses are whatever the chef thinks you should have… however he wants to prepare it? Think $50 really gets you 10 courses? Do you think that the bill will only be $50 when you are done? Live in that world. I don’t care. Just stop polluting discourse on linux with your petulant demands based on a presumption that just ain’t true. Gnu/Linux is not a product. It is a gift. You are not a customer. You are a parasite. Start from there and then listen to yourself complain.

      • I actually run my own business selling PCs. You know, the things you wish Linux was on? Yeah, those things. You see, what you and the others keep sticking your head in the sand and refusing to accept is this…LEVERAGE…You do NOT have it, and you more than anyone else NEED it.

        With users, which for the sake of discussion I will continue to call customers because THAT IS WHAT THEY ARE and you can say "oh just make it yourself" but the world is NOT filled with CS grads but actual normal people with better things to do than write code just to get their OS to work, but without those customers you have NO power of leverage with OEMs, you have NO power of leverage with hardware manufacturers. Think Linux wireless stinks now? Wait until all the next gen smart wireless chips come along and NONE of them will give you specs!

        NOW do you see the problem? You NEED customers, without them you have NO chance of gaining market and getting beyond a hobbyist OS, because a good 90%+ of manufacturers aren’t gonna bother for a 1% OS, that’s why. You also NEED guys like me to sell your OS in B&M stores where customers can actually see and purchase machines with Linux, but guess what? The reliance on CLI and the total mess that is the 6 month upgrade death march (you know how many of the 4 test rigs I had came through ANY of the upgrades with ALL their hardware still working? NONE) means we won’t touch you with a 50 foot pole.

        Finally nobody BUT YOU cares that the chef decides the 10 course meal for $50 because again they AREN’T CHEFS and have neither the time nor the inclination to spend weeks in culinary school just to make their own dinner. Got any idea how much McDonald’s makes in a year?

        It is as I said, you are busy growing or busy dying, and Linux on the desktop sure as heck ain’t growing. You can stand on a mountain screaming "free as in freedom" and nobody will care but you if the GUI doesn’t work, the drivers suck, and the ONLY way to fix anything is "open up bash and type".

        Whether you choose to believe it or not, you DO HAVE competition, in the form of Windows 7 and OSX. And both are Stomping the living heck out of you. In FIFTEEN years you haven’t been able to get above 1%. If you had anything but a hobbyist OS someone would ask by now "what are we doing wrong" which retailers have tried to point out, but you don’t care. Because for you are what I’ve come to call a "FLOSSie" and like a Moonie you care not about the actual functionality of your OS, but its cause. But zealotry gets you nowhere, a functional product does. The quicker you accept you DO have a product that needs to be SOLD to the customer, even by just getting them to use it, the better of you and the FOSS landscape will be.

  • How many times do I have to read demands that the developers do this or do that? How many petulant little bedwetters stamp their feet day after day and throw down brave ultimatums like "if you don’t do what I think you should, then no one is going to play with you" ?!?

    Let’s remember who the Linux developers are. They are people who are doing this for free. If they get paid, they are getting paid by a company that is not asking to be paid for the developments they fund.

    Too many of these blog comments sound like the complaints department a Chuck E. Cheese… "the clown gave me a balloon doggie but I wanted a new bicycle!"

    You want a GUI good enough to never ever use the CLI again? Fine. Write one. No skills? Thought so. Go find someone with skills and get them to do it.

    Linux development is free and open. If you want it to go in a certain direction, pick up the yoke and lean in. If you are along for the ride, then by gawd be appreciative of the genius and work that has been applied to Linux so far and shut up.

    Linux has room for non-code-writing suggestions, feedback and steering… but this is starting to sound like the welfare state. Back down on the demagoguery and engage in some sane dialectic. It will probably get you more of what you want and will eventually tone down the impression that linux users are a disorganized mob of crazed Pharisees.

    • You realize THAT is what you have, don’t you? it is like offering a guy a free meal and when he sits down you offer him a turd sandwich and say "don’t complain, its free!"

      Well then quit trying to pretend your "Free OS" is anything but an hobbyist OS for developers then, okay? REAL products actually listen to their CUSTOMERS, okay? If the only answer is "do it yourself or take the turd sandwich" and the guy across the street is offering a 10 course meal for $50, which do you think is gonna sell? Do we seen any comparisons to the market today yet? Like how Linux is at 1%, which is lower than Win2K and Win98 put together, two long dead OSes?

      Either listen to your customers or stay in the basement. You NEED those customers, because without them you have NO leverage on hardware manufacturers. Why should they support a 1% OS? they shouldn’t it is a waste of resources. If you ain’t busy growing you’re busy dying. One final note, isn’t it funny the ONLY places Linux is growing is in places like Android, where there is NO command line and a functional GUI? I rest my case.

  • …thing i’ve heard yet, wrt linux. too much trouble to add a xterm? cli and gui both have uses, chaining commands and asigning variables,or options to commands is easier on cli. all of those things can be done on a gui but for the work you’d have to do to configure it, you could be done with the task and have your chain saved and ready for next time.

    full consoles on the other hand, aren’t necessary, at least not more than two, but that can easily be done from an xterm, if you have the privileges necessary.

    • Only the walls are more interesting. Being a retailer of computers and related products I KNOW what it takes to sell to customers, I wouldn’t be here if I didn’t. I also remember what it was like when we had Atari and commodore and real competition, but sadly it seems the Linux devs are bound and determined to make sure Linux stays a niche.

      Why would they do that? Simple, they have decided THEIR way is the RIGHT way, and have fawning fans that will agree no matter how stupid their reasoning. For example something that Linux has needed for years, a stable hardware ABI so drivers that work in Foo will work in Foo+1, something which Windows has had through WDM for ages, likewise OSX. You read Linus’s thoughts and his arguments basically boil down to ‘I don’t like them" yet fanboys will jump to his defense, even when anybody with a logical mind will see that having drivers breaking constantly makes the entire system look like a hobbyist OS.

      It would take so little to make Linux a real contender, yet snobbery and elitism simply won’t allow it. A stable ABI that works across ALL distros, so one would only need to write a single driver to support Linux. a focus on making the user experience job #1, with CLI looked upon as a failure to design a decent UI for the user, and finally a focus on QA and bug fixing over whizz bang "Me too!" features, which just add more instability and bugs.

      Instead what we get is users being told they are noobs, that need to "embrace the power of CLI" like it is the force or something. It would be a bad joke if it weren’t for the fact it is seriously hurting any chance Linux has of success in the desktop. sadly I believe Linux will remain strictly a server OS, where admins are paid good $$$ to deal with CLI all day and actually enjoy it, whereas in the desktop and mobile realm it’ll remain a niche so low as to be not worth counting. Isn’t it funny the ONLY big selling Linux is Droid, which takes the CLI away from the user and hides it? I rest my case.

      • I love how you just pretend that no one has been working on making Linux more user friendly.

        Fact is that each successive release of Ubuntu has reduced the need for the average user to go anywhere near the command line. I’ve been watching since 1995 when you had to write your own script to even manage a dialup connection and feed manual frequency values to the Xwindows config.

        And get over the whole driver thing, NVIDIA is proved that you can make closed source drivers without making life hard for the users.

        • ubuntu? The Os that becomes MORE unstable each release? How many outstanding bugs are over a YEAR old with that one? Something like 700+ last count? Sure Canonical puts a pretty gloss on top, hell they all put a pretty gloss on top, and that is NOT what I’m talking about if you’d actually read anything I posted you’d know.

          What I’ve been talking about the ENTIRE time is what happens …when things go wrong…which thanks to everything from the kernel on up being about as stable as the shifting sand is quite often. For a decade now you have been able to right click in device manager and select "update driver" for those things that have none in Windows. i understand OSX has something similar. where pray tell is that button in Linux?

          And Nvidia? Who has to REWRITE their driver every. single. time? You call that progress? I can take a driver from a DECADE ago written for Win2K and it works just fine in XP Sp3? I can take 4 year old Vista drivers and do the same in Windows 7. Can you? Can you even guarantee me that the hardware that works in Ubuntu 10 will work in Ubuntu 11?

          THAT right there is. the. point. I’m trying to make. As a retailer I can NOT sell your product because it is a broken unstable mess. I can sell an XP or Windows 7 box RIGHT NOW and it will continue to work with the SAME drivers until it is EOLed. I tried Ubuntu on FOUR bog standard machine with basic hardware and not ONCE did it do an upgrade it didn’t break something. Not. Once. And please don’t compare it to a Windows XP-7 upgrade, because they are NOTHING alike. I can hand my customers a PC and get on average a decade of support. There is NO desktop that gives even half that without jumping on the upgrade treadmill, which you end up with broken hardware.

          No B&M retailer will carry your product, even though it will save us money. NO B&M retailer, not BB, not staples, not Walmart, and not the little shops. If it is all FUD, why will nobody take your free product? Because it is broken and nobody is fixing it, that’s why! Listen to your customers, instead of expecting the world to do things YOUR way, and maybe you have a shot. But as it is now you are going on 15 years and still have numbers lower than the margin for error.

  • I completely understand why both sides think they are "right". General users don’t want to interact with the command line because it is intimidating. Power users don’t want to have it removed because there are simply too many things you can do on the command line that you cannot do through a GUI. Plus, most power users know that most actions can be accomplished with one line on the command line as opposed to several screens and even more mouse clicks to accomplish the same task using a GUI. So, who is right? Both really. If Linux wants to rise above it’s 1% – 2% user base (which it doesn’t care about I assure you, but desktop distro do care about, not the point here though) it has to focus more on the GUI. One problem with this is the fact that Linux is not really meant to be a desktop OS it was shaped to work as one. Suggestions for replacing the X-Window system have been debated for years. The problem comes when kernel developers maintain their stance that the kernel should be small and sleek and anything that replaces X will have to be about the same size or smaller but do more. I don’t think you’ll see the command line go anywhere any time soon. Yet, distributions such as Ubuntu and openSUSE have been focusing far more on the desktop/GUI experience. It’s these distributions that we should be talking about here. I know many people that have spent their whole Ubuntu career without ever touching the command line, yet they are also fortunate enough to have hardware that is 100% compatible with Linux right "out-of-the-box". I think you will see Linux distributions such as Ubuntu move closer and closer to a "no command line ever" type of experience but I also think that the terminal will always be there if you want to use it since choice is a big factor with Linux.

  • Answer: No. Use the gui, use the cli, use both, as I do. I had an application recently that wouldn’t launch properly from the gui and just closed. So I used the command line to launch it and got back the error messages that helped me solve the problem. If you don’t want to use the cli, don’t, but don’t propose killing it for everyone else. If that’s your gig use Windows or a MAC…secret: they have a cli too!

  • We all live in a world where we interact with various computers – many being servers running Linux. I tend to have several such interactions going on from my personal PC at any time.

    Improved network speed and bandwidth over the years still has not made the cost of running remote GUI sessions non-trivial. Hence part of my work day always involves this set of core command-line technology:

    ssh, scp, bash, vi

    (and then followed the plethora of command-line tools sported by Unix/Linux OS)

    It is super efficient to remotely interact with this set of software technology. Connection and session sign-on is very fast. The vi editor is usable over the poorest VPN tunnels, etc.

    For the Unix and Linux computers I have to interact with, this set of technology can be counted on to be ubiquitous.

    Yet for the Windows servers there very seldom is a setup ready to tap for command-line access, though even ssh servers exist for Windows. Is just that it often involves 3rd-party software and our IT people never bother to setup standardized command-line oriented access to our Windows servers. So it’s always the slower, higher over-head remote GUI technology.

    From my perspective, the command-line of Linux still rules!

  • One of the ironies of this debate is that the most efficient users of GUI apps (for example ____ Office) use keyboard shortcuts. Even my I-can’t-do-anything-without-a-mouse father learned to use the keyboard shortcuts very effectively. By the time you account for the CTRL, CTRL-SHIFT, ALT, ALT-SHIFT and ALT-CTRL modifiers, there are a lot of shortcuts to keep track – some of which invoke different functions in different apps. Seems a lot like a CLI.

  • I like the CLI and want for it to stay. But, just as OSX and MS Windows have strong reputations for not needing CLI use, Linux has the opposite. Often times some one watching me use my laptop will react with fear when I mention I AM running Linux, exclaiming "I could never get used to having to type commands!" despite witnessing me using only GUI applications. It’s as though they had been watching me typing commands in the CLI. The association between Linux and the CLI is quite strong. Demonstrating that the CLI is not required might necessitate actually getting rid of it – completely. Including getting rid of shell scripts. (Other scripting languages might be ok (except possibly Python) – especially some kind of graphical scripting "language".) True, this is extreme, but it may be the only way to break the perception that you can’t use Linux without the CLI. (Which is possible. My wife uses her Linux powered netbook entirely via the GUI – and without me even touching or otherwise accessing it.)

  • I’m a hardware guy. There are certain intractable problems that cannot be addressed when wading through a GUI because of the multitude of nested error messages, some of which are duplications as well a down right time wasters. It’s the equivalent of asking me to give up my soldering iron.

  • Hey, that would be great news and would be a big step to attracting Joe the consumer to Linux. But it won’t happen. Linux itself is still not there. Not at least the distributions I have tried. Linux needs to unify its way of updating and distributing. I like the way Red Hat does things. But I like Ubuntu. What Linux needs is a big Computer company to adopt a Distro and setup servers, fast servers to update and allow users to download Applications. To have a good support system in place to assist customers instead of forums and Google searches trying to solve issues. But nope, that is never going to happen.

    • You are so right. The only thing stopping Linux is the Linux people themselves. They want everyone to come to them instead of them coming to users. Look at the two dominating operating systems. OS X and Windows. Both knew success with consumers depended on a simple interface that consumers illiterate with computers could understand. Linux is not that!

  • "Ladies and Gentleman of the class of 97"

    Like anything in life, not everything is for everyone.

    I’ve been doing this for a living for good while now. With a console, I always have 3 tabs of it open, you can interact with the underpinnings of an OS directly. The computer in front of you right now does not work in "technocolor", it deals in zeros and ones, the next iteration up is ASCII… that is where it happens, Case close.

    The day the command line disappear is the day computers will not be needed no more.

    This is a moot debate, actual waste as the tech who runs the servers this is on uses many consoles.

    Never a GUI front end will cover all what can be done on the command line… it would be a whole OS on top of another one.

    YES… it is difficult… it is meant to be.

    You don’t like it… get out of the kitchen.

    WA DA YA THINK ? That I was going to preach for somebody else’s parish ?

  • I’ll try not to offend the *buntu crowd….take this for what it is, I’m not trying to be an elitist.

    Ubuntu is good example of this and possibly the reason for it’s popularity. It could be argued that you can keep from touching the command line in perpetuity when using ubuntu. It’s linux simplified (from a user point of view) , yet gives the user the linux "strut". There is something to be said of the wobbling windows, perceived security, and other unique options that are offered. Admin is simplified, and it’s an easy, fun experience that still fulfills the geek "tweak" fix that some yearn.

    Is this a bad thing? Not at all. Does the user really need to know what a Use flag is, or how to change the config of a build script? Doubt it.

    But, the attraction of linux is rooted in it’s choices. Personally, I’m quicker to pop a command or tweak something in a terminal than I AM to mess with GUI. But that’s me. Linuxuser1134 may prefer his pretty windows. I don’t see the command line going away any time soon, nor do I see this even being an issue. It’s a cheap heat question, and I’m sure the author has succeeded in generating some decent traffic b/c of it.

  • Probably the best example of a popular GUI with an underlying bash shell interface is OS X. No matter what you think of OS X compared to Linux, the GUI interface is popular, powerful, and able to handle a lot of even system level work on OS X servers. Bash is still there, but you don’t need it for most things.

    I don’t think the acceptance problem for Linux is the GUI though. It’s more like VHS vs Betamax. No matter how wonderful Linux is or becomes, in the average person’s mind, they just aren’t interested in hearing about it because they’re already committed to Windows.

  • I’m not even a Linux guy and it is clear to me that you would not want to lose a CLI. Why even ask?

    Well, the sensationalist headline got me to reply, so I guess that answers that…

    The bigger issue was framed best in this paragraph:

    "It’s 2010, not 1979. Why should the ONLY answer to 90 percent of the problems in Linux be, ‘open up Bash and type…’ some convoluted mess in a lame 70s-era terminal interface that lacks even the most basic of AM enities, like spellcheck and auotcomplete?"

    Ironically, the comment reply interface has spell-check and highlighted two spelling mistakes in that paragraph!

    • It has NOTHING to do with me, I grew up in DOS and before that VIC20 and therefor know how to script, which BTW one does not need to have EVERYTHING running in CLI to script, ever hear of a batch file?

      This is about YOUR CUSTOMERS, the rest of the planet, okay? It is high time the Linux world started looking at them as that, and not "noobs" which should "go back to windblowz" if they don’t "embrace the power of CLI". UI is everything! Just ask Jobs, who is frankly slaughtering Linux! Just ask Ballmer, who is selling win 7 as fast as he can get them out the door!

      I have been dealing with retail for over 20 years okay? I know of which I speak. Users will NOT USE CLI, no matter what you say, no matter how much you talk about its "power" which frankly they couldn’t care less about. They want easy. They want clicky clicky, they want GUIs. You try to force them to use that CLI mess and you know what the next words out of their mouth will be? "How much for Windows Home again?"

      Treat your users as customers, listen to them. Nobody cares about 3d wobbly junk, nobody cares about CLI except a bunch of old greybeards and hardcore scripters. Look at your competition, is MSFT pushing CLI onto their customers? Is Apple? Heck no! And don’t bring up Powershell because in the wild I have seen that on exactly ZERO non servers.

      It is YOUR choice, Linux guys. Demand a modern GUI based OS or enjoy sitting at 1% while Jobs and Ballmer rack up the rewards. Remember You NEED them, without customers you have NO power over manufacturers, no drivers from said manufacturers, and no support in retail. stop treating those that don’t act like you (the majority of the planet) as noobs and treat them as potential customers. But as long as that 70s era junk is the ONLY way to fix 90% of Linux problems? Well nobody is gonna buy, full stop.

  • Not only NO, but FORK NO! I realize that people like Hairy Feet are all visual. Not EVERYONE is though. If the command line is done away with, someone had BETTER come up with an audible interface that works as good as, or better than, the CLI. Visuals are fine, but don’t try to force the whole world onto a pretty desktop. I’m still of the opinion that desktops were a necessity because most people are to stupid to memorize a few commands . . .

Leave a Comment

Please sign in to post or reply to a comment. New users create a free account.

More by Katherine Noyes
More in Community

E-commerce Times Channels