Feeds

Sysadmins! There's no shame in using a mouse to delete files

Only losers back just one side in the GUIs v CLIs holy war

Next gen security for virtualised datacentres

Sysadmin blog I am curious about the thought process of some systems administrators.

When Linux is mentioned in an El Reg article, the discussion in the comments section can collapse into a tired debate of GUIs versus CLIs: a bitterly fought war over point-and-click visual interfaces in software versus typing out lines of commands and reading screenfuls of text.

It's an argument that has cropped up in fora all over the web for decades.

Both sides talk about the pros and cons fairly openly, even coming to many of the same conclusions. Unfortunately in a lot of cases, debaters seem to spend more time talking past each other instead of engaging in meaningful debate.

Graphical user interface (GUI) supporters say the visual nature of the interface makes it easy to use, and helps users find features and work out which bits of an application depend on other parts: select an option over here and an option over there changes as well

As long as users understand the fundamentals of "how the computer works", then a GUI allows them to find whatever it is they need quickly and efficiently. They can rely on visual cues so they don't have to pay rapt attention to the screen at all times.

For my part, I have found GUIs useful. If an application has a graphical interface that follows any of the common design conventions, I am confident I can make it work; even if I've never seen it before in my life. I can make the transition from Windows NT directly to Windows Server 2012 over to Mac OS X and through to Gnome, Unity and even Webmin without having to relearn everything from scratch.

The downside to GUIs is that they rely on this steady consistency. Any change to a user interface has to be handled delicately, and it almost never is. This is part of the reason why I don't get along well with Microsoft's Metro interface for Windows 8./p>

Where's the power?

The other side of the debate is the "real men use the command line" camp. They lead in with the hard-to-counter fact that command-line interfaces (CLI) are more powerful and flexible than GUIs. What you can do with Bash, Grep and regular expressions is light years ahead of anything offered via searches in a point-and-click interface, even today. As an added bonus, CLI-optimised systems tend to store configurations and settings in flat human-readable files. Flat config files are easier to backup, migrate, and create scripts to manipulate.

If you really know what you're doing, then a powerful CLI employing Bash can allow you to truly unlock the potential of your computer in a way that a GUI never will. A GUI is always limited to the preconceptions of its designers; the metaphors they use, the combinations of commands and scriptlets they felt should, would and could work together.

Most CLIs allow you to chain together commands (sadly Goosh still doesn't). Chaining is powerful; it allows a systems administrator to marry commands, scripts and entire applications in ways never intended by their designers. CLIs allow a systems administrator to push the boundaries of what is possible with the software available. There are whole categories of work that are child's play in a CLI that would be tedious (if not impossible) in a GUI.

The flip side of the coin is that CLIs require a great deal more rote learning and memorisation to use. You need to read a lot of documentation and manuals before it becomes more powerful than a GUI, and there are still plenty of things a GUI takes care of for you that would be monotonous in a CLI.

Lack of standardisation is another issue; we don't live in a utopia where every operating system uses the same CLI. I, for one, have zero interest in learning a new CLI for every OS. It will take me quite some time to become as familiar with the intricacies of PowerShell for Windows as I am with Bash and its fellow tools.

With the basic arguments of both sides laid out, the root of my confusion with this debate is how very polarising it is. Forum denizens the internet over seem to view CLI versus GUI as a binary choice; you either use one or you use the other. I simply cannot grasp this; why limit yourself either way?

Avoiding CLIs entirely borders on career suicide. By the same token, if a GUI makes a certain administration task easier, why not make use of that tool? There is more than enough room for both forms of computer interaction within the practice of systems administration. ®

Next gen security for virtualised datacentres

Whitepapers

Endpoint data privacy in the cloud is easier than you think
Innovations in encryption and storage resolve issues of data privacy and key requirements for companies to look for in a solution.
Implementing global e-invoicing with guaranteed legal certainty
Explaining the role local tax compliance plays in successful supply chain management and e-business and how leading global brands are addressing this.
Advanced data protection for your virtualized environments
Find a natural fit for optimizing protection for the often resource-constrained data protection process found in virtual environments.
Boost IT visibility and business value
How building a great service catalog relieves pressure points and demonstrates the value of IT service management.
Next gen security for virtualised datacentres
Legacy security solutions are inefficient due to the architectural differences between physical and virtual environments.