Open Ballot: Is the command line a crusty old relic?

Podcast

We've slowly been posting our series of LPI tutorials to level up our readers (if you haven't seen them and want to catch up, we've created a handy index). The most recent part covered advanced command line techniques and opened with the following comment:

"...the command line isn’t a crusty, old-fashioned way to interact with a computer, made obsolete by GUIs, but rather a fantastically flexible and powerful way to perform tasks..."

In response, MSP suggested that there were a few errors in the post and said they could be corrected with the following snippet:

"...the command line is a crusty, old-fashioned way to interact with a computer, made obsolete by GUIs, but a small hardcore of people who refuse to move on still use it..."

For this week's open ballot, we want to know, who do you agree with: us (well, Mike!) or MSP? Let us know your thoughts in the comments and we'll discuss them in this week's podcast.

You should follow us on Identi.ca or Twitter


Your comments

I love the CLI.

I'm young, I discovered Linux with Ubuntu, and I wouldn't really classify myself as "hardcore", I have not mastered Bash-scripting, sed, awk, or even many common command line tools, and yet I love the command line.

GUIs are wonderful, but they have similar downsides to all WYSIWYG tools. It's good for doing routine, simple tasks, and it looks pretty. But as the complexity of the task grows, the usefulness of the GUI decreases.

Besides for things like quicker navigation if you know where you're going (even roughly, with tab-completion), things like multiple moves or conditional moves (eg move all the jpeg files to images), or quick batch renaming are done more easily with the command line than with standard GUI file management tools. And I'm sure there are tools out there to help with this, but I've never found the need for one, and I doubt that any is as flexible and lightweight as a terminal.

And the command line is precise. I've overwritten an old HDD with the new HDD I was supposed to be copying to, and yet I still appreciate that the command line, relative to any GUI tool, will do exactly what I tell it to. It responds quickly and usually obviously (relatively speaking...), and I can tell it to do whatever I want it to. If it doesn't understand me, it will tell me. I can't stand trying to figure out whether a file-transfer dialogue is hanging, working, or just trying to figure out what error to show me. And I can't stand having to jump through directory structure hoops when I can simply tab-tab-tab and be where I need to be. Sometimes I'll run the file browser or the GUI text editor from there.

I don't (and wouldn't) use the CLI exclusively, but I would never want to give it up!

NO!

No no no no nononononononono no no....no! No!

NO!

The CLI is elegant, efficient, incredibly powerful, and pure awesome. Some things need point + click, and that's fine. The CLI isn't much use when it comes to editing photos, or wasting time on Facebook, for instance, but equally some things are much easier to achieve on the CLI, with a bit of education.

I remember my Dad getting a dictionary written for a language that previously had none, in a modified font, all on the command-line in DOS. He still tells me he misses some of the command-line tools that seemed to do the job so much more efficiently and simply than Word can now.

The key is education. We need kids to be taught how to use the command-line to do actually useful stuff, like learning some scripting languages (Ruby FTW!), how to use man pages, the stuff that can be done with "grep", "find", "diff", pipes etc... So much brilliant stuff; who would want to be anchored to the mouse when you can FLY!

Because MS has let the CLI languish since Windows 3.1, though, most computer users have this idea of the CLI as an archane, vestigial irrelevance, and that's because Microsoft is doing it WRONG. Mac users are slightly more educated in this regard.

Another problem is that the default configuration of most CLIs is ugly and unhelpful. More should be done to the default configuration to bring colour and friendliness by default.

My favourite thing about

My favourite thing about using CLI's is that when I'm up to no good at work people come over to my desk take one look at the screen and walk away with a glazed expression on their face. No questions asked!

I'll take a bet each way!

I think for many tasks a GUI is definitely the way to go. I still hear of people using bash commands to edit photographs. Pretty difficult to do and really only makes sense if you're doing changes for many files at once. Similarly I can't see the point of burning CDs or DVDs from the command line unless what you're doing is highly unusual. Another example: Try creating a complex document in a mark-up language using a text editor - it can be done, but generally using a graphical WYSIWYG interface is a far faster and accurate approach (a lot less guesswork involved).

OTOH, I frequently find using the command line to move or copy files between directories is so much faster than using a GUI.

The real bet each way is using a utility like zenity to allow entry of data from a GUI, get graphical feedback, etc. while still using the power of a bash script in the background.

I feel very sorry for users of Windows, where until very recently there was no real alternative to using a GUI-based application someone else wrote for you - now powerful scripting languages are far more available on all platforms and Windows also has its PowerShell.

Anyway, my final comment: Use whatever tools are most applicable to any task - stretching the old UNIX philosophy regarding tool usage - GUIs where they conveniently perform what you're after and the command line elsewhere (even if hidden via zenity-style GUI).

Command line still has its uses

I think its great that distros like Linux Mint attempt to make Linux accessible to newer users without the need of little command line knowledge. However, for advanced users it still has its uses!

Microsoft Windows Powershell

Anyone insisting the command line is a relic of a by-gone time is hopelessly deluded, don't get me wrong, I don't want to see it as the first thing when I log into my computer, I have a very nice xfce set up at home, with lots of graphical applications, but I just find it quicker to write scripts and use the shell than to hunt through menu's to find what I want.

Microsoft Powershell made my life at work considerably easier with it's .Net integration and a logical scripting language running on Windows 7, with just the default installation (sadly I can't change my OS at work).

To milk the Microsoft example further they spent their early years trying to stop being a graphical shell to DOS and have now had to implement a shell emulator and scripting language to satisfy system admins.

I like to think the GUI vs CLI like Manual and Automatic transmission cars, automatic's are great and all, but I learned in a manual and dammit I just would just keep reaching for the gear stick if I had to drive an automatic.

On the flip side if you learned in an automatic don't act all superior it comes across as laziness, incompetence and an unwillingness to learn a perfectly valid means by which to drive a vehicle (OS).

To paraphrase, each to their own, but respect each other. I like the terminal, but can see why some might not, but don't tell me my workflow is antiquated.

LOL

I think the one who write this article should pass to windows 8 so this way he doesn't get to interact with the console. The GNU/Linux environment must have the console in order to do all kind of things, and if somebody want to have GUI the have to chose from multiple shells KDE,GNOME,XFCE, etc. The problem is that are dumb people and smart people, those who read the manuals and those who don't. So feel free to use windows.

Its still an essential skill I think

Yes, distros have become incredibly user friendly in recent years, and for some users maybe the CLI is becoming obsolete. However, what do you do when things go wrong, the most common crash I come across is a non-responsive desktop, if I couldn't do a Ctrl+Alt+F1 to get to a terminal and restart the process where would we be?
I also use it extensively for moving files around on my netbook, the small screen makes it impossible to browse through large folders inside the file manager, but convert it to text on the CLI and its easy to see what you need, find what you need and move it to where it needs to be.
There are other reasons to be familiarized with the CLI tools, some of which are standard across multiple platforms, especially for students like myself where we end up working on Linux, BSD, Mac OS X and Solaris (as well as windows obviously). Need to edit a text file? Only ssh connection available? What tools can we use? I would be willing to put money on Vi will be installed on any of the computers I am using. Its maybe not the prettiest or easiest text editor to use, but it works what more do you need!

Absolutely Not

The command line is a great tool, in its place, just as a GUI interface is a great tool, in its place. There are things you can do in the command line so much quicker and easier than in a GUI, especially for remote server administration, especially over a slower line - why have the overhead of a remote GUI when you can SSH in and do everything in the command line?
I love the command line, it's quick, simple and elegant, plus you know exactly what's happening. I also use GUI tools to simplify certain tasks. It's up to the user themselves which they use, and also for what, but it's so nice to have both options - why do you think Cygwin is available: a decent command shell in Windows - you gotta love it (and I still use it, regularly)!
Sorry, no disrepect intended, but I think MSP needs to get a reality check and learn a little about appropriate tools for jobs.

I love the GUI but...

I'm GUI mad. I'd much rather use one than CLI for 99.9% of things. But just occasionally, I find CLI useful for something to the point where (in my eyes) it exceeds the ability of a GUI. Updates are like this.

I could use a GUI and do the Mint Update. I could click, enter password, wait for it to refresh, then hit update, then wait more... Or I could open up the terminal and cycle back to where I last typed sudo bash (usually a button or two away) then the same for my update which also includes cleanup, then minimise while it does it's thing.

I also use it for when files are playing silly devils in the GUI. It's soooo useful when the GUI starts mucking you about with permissions. sudo solved!

Don't expect the CLI to be the be all and end all, but don't dismiss the awesomeness of it. There is room for both.

WHA?

I can hardly read this without wondering what drugs the people were on when they wrote it. From install to completion of my Fedora VM server and subsequent vm's I used the cli probably more then 100 times. How do you edit config files? How do you gain root access with sudo? How would you install apps that let you do that graphically without using a god forsaken package manager? This is absolute craziness. What about iptables? gah

With Mike All The Way!

It's no surprise to me to see so many people defending the command line. The truth of the matter is that content on a computer comes in different forms, and we need different ways of interacting with it to be efficient. Web browsing, photo editing, games, etc... all benefit greatly from a mouse and GUI, because the content is visual.

Working with the system configuration, managing files, etc... these are all done much much better on the CLI, because it can be done smartly. There is no benefit is "seeing" all my files when I just want to move them or perform some other operation on them. The Desktop metaphor breaks down.

I think that even the most basic user should be able to manage their system and files, and the best way to do that is using the CLI. Personally, you'll have to clutch it from my cold dead hands.

Why one or the other? Can't

Why one or the other? Can't we use GUI's when we find it practical and CLI when practical as well?

Seriously, this is a rather lame attempt at creating a big fuzz over nuthin'. But you had to go for it to bring some comments in, so I guess the joke's on me.

Open Ballot: Is the command line a crusty old relic?

The command line is wonderful!

I've been using Linux for about fifteen years so had to use the command line in the early years.

Until Linux I had been a Mac user, which then used exclusively a GUI interface. Pre OS X, the Mac didn't have a command line at all.

I liked the idea of Linux and Free Software so persevered, got Linux functional, and used the GUI for everything I could, but as I had to use the command line to do a lot of system admin I began to realize that it was an amazingly efficient way to do things.

As the GUI became more prevalent as Linux grew I found myself preferring the command line for doing things - it was just easier.

There are also a lot of command line applications that are fantastic for doing all the things I need to do: for CD ripping I use abcde; for maintaining my iPod I use gnupod; for collecting podcasts, including yours, I use podget; for trans-coding audio and video I use ffmpeg; for viewing video I use MPlayer; the list can go on.

To make things even easier, I've written some Bash scripts to automate the use of some of these command line application. I'm not a programmer by desire or inclination, but there is an enormous sense of achievement and satisfaction when I get my script to do what I want it to do, and it's thanks to Linux and the Free Software philosophy that allows me to do it.

I've saved the best to last: Emacs.

I've recently started using Emacs properly because for my work I have to write documents that need to be distributed in several formats. By using Emacs, in the command line of course, to write my documents, I format them using Markdown, then, accessing the command line still in Emacs, I can process them using Pandoc to any number of formats such as HTML, ODT, PDF, DOC, DOCX, and a number of slideshow formats, my favourite being S5.

Having to use Windows in work, I've installed Cygwin which allows me to continue using the command line and Emacs, maintaining a significant rate of work-flow.

The modern Linux GUI is a wondrous thing, but to get things done quickly and efficiently, and with a great deal of flexibility, then the command line just can't be beaten.

+1 what the majority above said.

Quite often, the command line is the most appropriate, powerful and flexible tool for the job even on a purely 'desktop' machine. Even on a rooted Android phone you wouldn't want to be without it!

The CLI rocks

For me, the CLI still has plenty of uses. Although I run Ubuntu, which is very much designed to be a GUI-only operating system, the command line still comes in useful in so many ways:

Starting a (GUI) application to see why it is silently failing to run (Ubuntu seems particularly bad at notifying failures back to the user)

Grep-ing an application's help or man output to find information

Running wget when a website (I'm looking at you Comedy Central) has useless iTunes links to free content that they also have sitting on their website, but haven't bothered their arse to link to properly

Writing a simple bash script with Zenity to give 'get_iplayer' a GUI front-end tailored to *exactly* how I want to interact with it

I wouldn't use Linux if here were no CLI

I cannot imagine me using an OS without a command line interface.

There are simply tasks that are really made for the CLI:

(1) Have anyone tried to decode/encode/convert video file using any of the GUI's available? I found out (after many failures with all kind of GUI's) that simply using the ffmpeg CLI tool is perfect for the task.

(2) How much work would i need to listen to my huge music collection (that is stored on a MACOSX server) on any computer at work using a GUI? How can any GUI be simpler that mounting an sshfs folder on my home and fire up moc player? How great is that i can use my android to connect via ssh to my computer and issue commands to moc player? (with my phone and my wireless headphones I can now listen to my entire music collection in every room of my office).

(3) I would have to open 20 instances of thunar/nautilus/etc... to perform file management operations (such as remote transfers). How great is that i can do all this simply issuing cp, mv, scp or sftp commands in the clean and verbose environment of my terminal?

(4) I get all my torrents using rtorrent: simply connecting to a screen session in the remote machine that has access to the outside and firing up rtorrent. After that i simply put the .torrents on the remote machine (using scp for example). How much easier can it get? Using GUI's i would have to connect to a VNC session and fire up a graphical torrent interface for example.

For me the CLI is far from defunct and still the tool of choice for power users. This is what makes linux different from other OS's: the power of the command line :)

no

doing things and finding out commands on the CLI is far more fun than using a gui

You kids get off my lawn!

If you already have "Opinion_Registrar" on your computer, go to step 3).

1) Load Opinion_Registrar software:
Goto "Start" menu and select "Software Manager".
Search on the term "opinion", find "Opinion_Registrar" from list presented and load the software.
Close "Software Manager" window.
Note: Windows users, find software via Google search and be ready with credit card # to purchase. Double click on the icon, follow instructions and reboot.

2) Open "Opinion_Registrar"
Goto "Start" "Applications" "Office" "Opinion_Registrar."
Note: Windows users, enter license number when prompted. License number is automatically emailed to you when you purchase the software. Check your email continuously until license number arrives. Cut and paste the license number from the email, or write it down and re-enter it, if you don't know what cut and paste mean.
Note: Windows users, you can express up to 10 opinions with unlicensed software, but they will be considered moot until a valid license number has been registered.
Note: Windows users, it may be necessary for your security software to scan the new program. We advise you do as the security software recommends. If necessary, contact the security software authors for additional help.

3) Voice your Opinion!
In "Opinion Registrar" Window, find the category "Computers and Computing" and the subcategory "*nix and other esoterica." Select "Is the command line a crusty old relic?" from the left hand drop down list. Select "Yes" or "No" from the right hand drop down list. Select "Register Opinion" or hit "Enter" key.
Close "Opinion Registrar" window. Feel empowered.
Simple.

Very advanced users might consider using the command line. Misuse of the command line can cause seriously damage to your computer and might render it unbootable.:
set commandline_crustyrelic = no

I don't bother to install a GUI on my servers

They sit headless running Ubuntu Server 12.04. All setup was done on the CLI, including RAID5. Now they are accessed using SSH from a terminal - why do I need anything else?
My desktop machines run a variety of GUIs but I still use the CLI for editing config files, moving & copying files, system backup using rsync, reassembling multipart files, using mencoder etc.
I usually have a terminal window open most of the time I am working.
As mentioned above, even Microsoft have done some catching up and introduced Powershell (which they force you to learn even if you just want to administer Office 365).
So learn to use the correct tools for the job, whether they are CLI or GUI.

Direct Contact

I hardly use the commandline, mainly because I've grown up with GUIs and also don't know/can't remember most of the commands.

However, I do appreciate the ability to talk directly to the computer, and know if I need to, the option is there (albeit having to look it up first on the internet!)

Having to rely upon GUIs and other "layers" that prevent me talking to my computer directly isn't really "free" enough for my liking. I vote to keep the commandline!

I don't want a car with a sealed hood

Like it or not, any decent operating system extensively uses some sort of "command line" script language for about everything it does from the moment it boots... Only this other operating system that is 100% GUI doesn't use such scripts for its startup and other operations, and therefore nobody seems to understand how things work inside, or don't (and this is probably a feature, not a bug).

If the GUI is like a car dashboard, bash scripts are wheels, pulleys, cables and pipes, and the CLI is a convenient way for me to connect all these how I want to do useful things. With the other OS, not only the motor hood is sealed, but when you manage to open it, you discover more dashboards inside!

Yes and no

I do believe that lots of Linux distributions are at a stage where nobody has to use the command line any more, and I also think this definitely is progress!

But I myself love the command line and find it far more efficient for lots of things.

And, especially for you magazine people, I believe the command line will have to be around if for nothing else then as a result of distro proliferation - you don't want to write "If you are using Ubuntu with Unity, click on x, y and z, if you are using Fedora with Gnome, click on..." etc.

Crusty CLI

The CLI has to be present. How else can us SysAdmins charge exorbitant rates for our services if we get these GUI Johhnys taking our jobs!

I'm confused

I am running Mint13 and using Gimp 2.8. I could not imagine having to use the command line to move files or other mundane tasks. To get Gimp 2.8 in Mint13, both with their excellent user interfaces, you have to use the command line. I ducked ducked goed the commands I needed, so no real hardship.

I love Linux, I Love Mint, I love the GNU Image Manipulation Program, I love the power of the command line, I love the ease of GUI's, I love unnecessary apostrophes that make words look better, I love freedom, I love the mag and the podcasts.

The command line sucks!

The only reason people love the command line is because the GUI tools aren't there, or don't work reliably. The presence of the command line in Desktop Linux is one of the reasons Linux will never be successful on the desktop. You don't have to fix what's broken if you can tell people the easy/better way is to use the command line. I am certain that if in the early days of Linux people commonly used paper tapes and punch cards there would still be people extolling their virtues. The ugly reality is that if you are a young person who never used DOS or an Apple II, you don't know what a command line is and don't want to know.

Re: Mr. Oracle DBA

You are under the mistaken impression that the GUI is better or somehow more advanced than the CLI, which just simply wrong! For some tasks the GUI is the right tool, but for others, the CLI is the superior tool. There are many tasks which are MUCH faster and easier using a CLI than they could ever be using a GUI, because the CLI is explicit and the GUI is not.

If you really think things would be better doing everything with a GUI, then I question whether you have ever truly used a CLI properly, because I don't know anybody who is proficient with a CLI, of any age, that would trade it for anything.

Reach out and grep someone...

Am I the only one who sees some irony in a text-only* page, run by a magazine that relies on text, asking whether the command line is redundant? Surely this will bias your results!

Why didn't you post the question as a video, preferably acted out like a game of charades, and allow us to upload video replies?

I suspect the answer lies in a combination of the following: Text can be read at the user's own speed; large amounts can be displayed at once on one screen, allowing fast random access; it's easily searched, either by human or machine; it requires little bandwidth; it's extremely light on resources; there's a well-defined language structure which can avoid ambiguity; it's easily converted to speech for those who need it.

Of course, the above applies equally to the command-line interface, and I haven't even mentioned the convenience of standardised input & output streams, pipes and redirection. I'm definitely with Mike on this one.

*Formatted text, but text nonetheless.

_
On a somewhat off-topic note, could jokeyrhyme please explain why marriage "ought to have died off by now?" I find it works extremely well, thanks. :o)

It can do things GUI can't

1. You double click the icon and nothing happens, run the same command in Terminal and you find out why "nothing" happened!

2. Try moving >10000 files from one place to another (or just view >10000 files in Nautilus) and you will need plenty of time. In the Terminal ls will find these files and mv will move them somewhere else very quickly. (A cron script file achieves this for me every day for files generated with motion and a simple USB webcam looking out of the front of my house 24/7.)

Absolutely, positively, without a doubt, NOT!!!

Sure GUI tools are useful, they allow non technical users to get things done on their systems and I wholeheartedly agree that every option that can be set via the command line should be available for setting via a GUI. However I am dead set against the GUI being the only way. There needs to be a sensible medium where everything can be done in both the GUI and the command line. The command line allows you to execute a command very quickly that would otherwise have you doing about 20 different clicks with the mouse in a GUI which cannot be described as progress. I would actually put across the opposite - if we were to force users to exclusively use the GUI and not reach for the command line productivity would take a nosedive and it would actually make administrating systems more difficult rather than easier.

One only has to look at Windows which is pretty much GUI only - sure it has the Powershell now but you still have to get the system booted in the first place to load it up. Many occasions in the past I have had a Windows install fail to boot, and Safe Mode also fail to boot and the only option was completely reinstall the system. On Linux however, with a command line that can be booted to without loading the GUI it allows the user to boot the command line, try starting X and see where things have gone wrong which may be as simple as a one line fix such as reinstalling a package or editing the config file with vim.

It's how I use my Raspberry Pi

I run Debian on my Rasp Pi as a headless server, mucking about with the command line through SSH is great fun. Obviously as far as Linux is concerned it's a great tool. If you couldn't get rid of the GUI on Linux it would never have gained such a market share as it has now especially on servers where you don't want the unnecessary overhead of a desktop environment that you don't use.
I am no expert as far as the command line is concerned but if you Google a problem you can't fix yourself most times the fix you find will be on the command line.

Repetition Repetition ...

The command line is a) often the fastest method of getting something done and b) reliable and repeatable - you can not store a GUI action and repeat it. There is a huge value in having a written record of the task (in the form of the commands used) and the means to repeat it, exactly, on other machines and at other times.

options > x: comandline, options < x: GUI

I see the fundamental difference between command-lines and GUIs as: command-lines work best with large numbers of options, GUIs work best with small.

This is because GUIs show the users all of the options, letting them pick one. While command-lines have the user pick blind unless they need to see the options. When there too many options, looking for the option one wants takes longer than just typing out the name.

You may say "You can just use the find function to find what you want. Just start typing and it will highlight the one you want.". What you fail to realize is that the find function is just a weakened command-line.

As for command-lines being unintuitive, if someone would invent a natural language shell (like is used in interactive fiction) then that point would be close to moot.

More than useful

The commandline will never grow old

Where else could you type

man unzip, man mount , man zip and finally man nice

Puerile humour it may be but it seems to run through the whole design

After all who can seriously say that the boot up manager and its associated manual was not done on purpose!

Long live the commandline

toolbox clutter

Crusty and old? Perhaps. A useful tool for a quick address ping, file permission tweak or ssh to a headless server? Undenyable.

Its prominance in Linux may have changed over time with GUIs and applications improving by the day and its possible to use some distros without it, but it remains a choice in most menus and is infinitely capable.

Not essential, but seriously handy in a jam.

P.s - did Mike know that the rest of the EU is about to collapse and after bailing everyone out, Germany would become a supercountry that owns lots of banks and as a result of the knowldge, he left to establish an high place in the new order?

Super Germany

Would owning loads of banks make Germany powerful? The banks I (jointly) own won't even give me a mortgage. :op

Niche

As mentioned by the TuxRadar team lots of times, the command-line is the way to get things done quickly. Although it has mostly been replaced and ignored by most users, it is, and will stay for as long as computers is going to exist. Command line is the way 'modern' computers are first used, and even with the development of touch-screens and other GUI stuff, the command line will stay as a niche. (I have a terminal emulator for my andriod just to use nano and vi on it.)

It's about CHOICE you dimwit

Great gui's are essential these days. However, anyone who claims that they're the ONLY method you need is someone whose opinion (and sanity) I'd doubt.

That's the great thing about Linux - it can be driven by touch only (Android), or "conventional" mouse and keyboard, or "headless" by keyboard only. _YOU_ the humble user pick the method that suits you - and even switch as needed. E.g. this is being done with Chrome (GUI), but to install that I was apt-get-ing at the command line - _I_ picked the appropriate tool for the job.

Even Microsoft recognise that some users need a (Power)Shell so who the heck are we to argue with them! ;) And if that wasn't enough "proof" then please note that the Apple Mac - a paragon of GUIness - also ships a command line ... as standard!

Next thing this MSP will be saying that we all need to be forces to use Unity.

It's about CHOICE you dimwit - part 2

That last bit should have said "Next thing this MSP will be saying that we all need to be forced to use Unity".

Oh, and on the subject of keyboardness - the best thing about the Unity interface in Pangolin is that HUD feature that let's you _quickly_ select a program by typing it's name. Invaluable and useful!

Still cool

Let's not forget that when Hollywood wants to show some cool computery hacking type activity they almost always show a command line type screen.

It always works!

The CLI always works, despite the distro, desktop, or window manager. In an environment of nearly constant change, Linux has always has this to fall back on.

As for getting help on a forum, how long would it take you to describe [sudo apt-get dist-upgrade --fix-missing] using a GUI?

The CLI is distro-agnostic...

The big advantage of the Command Line is that it is more efficient of course, but it is also universal. I run Xubuntu/Ubuntu, but I often find answers to questions I have about how to perform certain tasks in other forums. If the solutions are via the command line, they just work.

The only down side of the CLI is that you obviously have to know the commands, though typically these are easy enough to find.

The CLI is wonderful, but the folks who grew up with windoze GUI

Don't like it.
I love it, one can work a lot just typing few commands.
It's awesome!
Sure, folks who started on that other OS don't like it.
Just like folks who have to read books, but prefer colorful drawings to just simple text. At the end, the readers of plain text accomplished more. And the folks who like colorful drawings, are still reading Dr. Seuss like stories.

Linux should be like Windows?

Is the command line a crusty old relic?

From a Linux Magazine, I'll take this as a PR bait to drive up the numbers, you guys should know the answers :D

Try removing a directory with gigs of files should give you a hint of the answer.

Rant alert :
============

Of course, if the idea of Linux should be like windows
- settings only available in registry-like "tool"
- configuration done only in highly customised front end
- runs only on computer with new hardware
- upgrades available only after reboot
- more upgrades available only after second reboot

Let's just hope
- Ubuntu would dumb down everything
- Fedora don't emulate windows style too much (remember reboot after upgrade and no simple config with text file)
- Gnome also don't emulate windows too much (we know better than users so hide all conf tools in registry like tool.
- Gnome3 also don't emulate windows too much (we only supports new hardware)

Anyway, with the direction that big distros are going, maybe we should all just forget about the opensource thing and just get a MAC......

CLI versus GUI? - Actually no.

I was brought up on DOS, BBC, RISCOS CLI (Archimedes) and used the Windows CMD - i.e. what's left of it. Personally, I look for a GUI option, but for repetitive actions I may use the CLI alternative. It's not elitism, but what works for me. At the end of the day, I still need the CLI to get me out of a hole.

Real men don't use GUIs?

Well I don't visit here often, but I do seem to have caused a little stir! My usual policy online is to read what others have to say, say what I have to say and then go away. However, given that this is a new set of comments, I will comment just once more of this issue.

I started working with computers in the late 1960s so its not as if I didn't have to use command line interfaces at one time and before that I was entering commands in binary via banks of hand switches. I was a real whiz with George IV command language! Been there done that and moved on. When I first started developing “graphical” user interfaces it was before decent graphics displays were generally available and it involved using “gotoxy” serial terminal commands with “+”, “-” and “|” characters used to draw lines and boxes for menus and windows. My first graphical input device used to create direct manipulation interfaces was a digitizer tablet used in conjunction with an early object oriented database.

I also worked through the era when “real men only wrote programs in assembly language”. This was of course nonsense. Relative to today, slow processors, small memories and primitive compilers often made assembly language necessary and I taught people how to do it safely by translation from higher level representations. I ditched assembly language before most, preferring to trade increasing processor speed and memory size for ease of construction and maintainability. Long before Java existed, I was a big fan of interpreted systems because of their inherent portability. When hitting real time constrains was an issue, the trick was to use the minimum amount of assembly language, often as little as a dozen lines, to do the critical bits and to write everything else in a high level language.

I still occasionally write assembly language programs just for fun, but there aren't many circumstances that would cause me to use it for anything serious.

I can't help but see a parallel here with people clinging on to command line interfaces. “Real men don't use GUIs”? However I think that this is predominantly a Linux problem. I can't remember the last time I needed to use the command line to do something on Windows and I don't think I ever have on the Mac (these are just systems I use. I'm not a particular fan of either).

When people using a particular system say “the command line is better because it can do things you can't do in the GUI” they are not talking about the strengths of the command line interface, but about the shortcomings in the GUI. You mostly have to use the command line to configure Linux because developers don't bother to write GUI facilities to do it. The same is not true to nearly the same extend in Windows or on the Mac. This is a particular problem for “ordinary users” who are persuaded to take on Linux as a free, open source GUI based alternative to MS or Apple products, and only later realise that they have been conned because the GUI is only partially implemented. The penny usually drops the first time they have a problem and go online to search for a solution. There they are confronted by people who hardly ever seem to have used the GUI and, however helpful their intentions, seem unable to appreciate that ordinary users are not programmers, do not speak Bash and should have no reason to do so.

And then we get “but using the command line you can compose lots of commands together to do really complex things!” Well complexity is what proper programming languages have been developed to overcome. A lot of effort has been put into developing advanced modern programming languages and sophisticated development environments that help the user to avoid mistakes. No matter how clever you think you are[1], complexity is more likely to catch you out if you use primitive tools. I have a recurring nightmare that somewhere some of my critical online data is being maintained by someone who touch types shell commands at 500 characters a minute and doesn't know the meaning of the phrase “more haste, less speed”.

Did someone mention that I'd have everyone using Unity? Can't stand it. Once you follow fashion and dumb down a GUI to suit people who only need to stab a big fat finger on to a button to choose between their web browser or a photo album, it becomes very difficult to use for people who have more complex requirements. It's very silly really as configuring a fully general GUI to make it easier for users with restricted needs is quite straightforward. We used to call them “turnkey systems”. However once you seriously dumb something down it becomes useless for more advanced users. One size will never fit all, but a decent system should be configurable to suit most.

References.

1. Unskilled and Unaware of It: How Difficulties in Recognizing One's Own Incompetence Lead to Inflated Self-Assessments. Justin Kruger and David Dunning. Cornell University. Journal of Personality and Social Psychology. 1999, Vol 77, No 6, 1121-1134.

CLI for teh win

I'm a huge fan of CLI, and I often prefer using locally screen/tmux with an editor, a IRC client, midnight commander, mutt and tin (and elinks too) -or at least a tiling window manager - to get my job done. The truth is, I prefer a quick and dirty way to do things, instead of clicking everywhere. I mean, I really appreciate hard work of developers for Linux distributions, desktop environments and all the software we all use every day for (un)common tasks, but sometimes this simply doesn't work.

(Maybe OT here).

Lot of fragmentation IMHO, makes the opposite effect for new users who want to escape from closed source logic (or don't want to spend lots of money for licenses and stuff, or maybe because they think that "free software" stands for "freeware", but that's another story). Lots of them don't even want to learn basic commands, or blame because this or that software sucks. Yeah, I know that the freedom of choice we have is awesome, but there's too much of that.

Is the command line a crusty old relic?

If the Command Line is a crusty old relic, Oh why great GUI masters did Microsoft bring in PowerShell? The answer is to lure as many Unix/Linux Admins away as they could and knew they had to do it with a CLI of there own.

As a former Windows Admin I can't counts the times I've used VB,VBS,VBA or Python to handle a job that Windows or Linux GUI couldn't.

I'm glad to know of those souls who can do everything by the GUI more power to them. But I suggest they read Unskilled and Unaware of It again. Of course,the researchers may have drawn the wrong conclusions, perhaps most people really are above average.

There is room for both and should be.

From One Crusty Relic to Another

I'm glad you're still with us my old friend. :)

I've been using Linux since 1993 and the shell is still is an important tool for me. I use Linux at work and the majority of my day is spend in a terminal of some sort.

Why? It's hard to ignore awk, sed and a host of tools that were written to be used in the shell. As mentioned some things are better off done in a GUI, But for the rest there is the shell.

Funny.... The question asks about the "command line". It made me think of DOS at first. I don't use the term "command line" in the same conversation as Linux. After all how many times have you heard of people offering "command line" accounts on servers?

CLI all the way

CLI is still the best way to get a lot of work done. Anyone who has to admin/manage/configure/whatever computers knows what I am talking about. I hope it never goes away.

Comment viewing options

Select your preferred way to display the comments and click "Save settings" to activate your changes.

Post new comment

CAPTCHA
We can't accept links (unless you obfuscate them). You also need to negotiate the following CAPTCHA...

Username:   Password:
Create Account | About TuxRadar