LinuxQuestions.org

LinuxQuestions.org (/questions/)
-   General (https://www.linuxquestions.org/questions/general-10/)
-   -   Why I (Try to) Use The Command Line (https://www.linuxquestions.org/questions/general-10/why-i-try-to-use-the-command-line-570246/)

Forezt 07-17-2007 08:08 PM

Why I (Try to) Use The Command Line
 
For whatever compulsion, in my recent return to gnu/linux following a lengthy stroll through the world of OS X and its tasty-looking user interface, I've been trying to make myself do as much as possible with the command line. Perhaps it's that the command line's simple modularity and its logical power make it superior to any pre-concieved GUI could ever be, or that I simply like to look nerdy in front of a green-on-black terminal.

Whatever the reason, I've been thinking a lot about computer interfaces lately. Using OS X, Windows, and X (all kinds of configurations) at various times in my life, I've never been able to shirk the feeling that GUIs are roundabout, incomplete emulations of physical tools. Especially after reading Neal Stephenson's In The Beginning was the Command Line, I've come to think that we're in a very transient stage of computer history, when computers are confined to live in screens. Whether it's nanotechnology, virtual reality, or augmented reality, I think that we'll soon be in a world where the tools of mind are as tangible and manifold in form as the tools of matter.

Or maybe I've just over-thought all of it. Anyway, I'm trying to use the command line more because I think it's a superior computer interface in the sense that it is a more complete and consistent metaphor than the GUI, closer to the core of what computers really are.

What do you think?

masonm 07-17-2007 08:15 PM

I think you should use whatever tools and/or interface allows you to get the job done most efficiently and forget all the other crap. A computer is a tool to do a job, nothing more nothing less.

wjevans_7d1@yahoo.co 07-17-2007 08:24 PM

Quoth masonm

Quote:

A computer is a tool to do a job, nothing more nothing less.
That depends on your point of view.

To some, a garden rake is much more than a garden rake, because of their love of gardening. They love the sound of leaves being gathered in the fall, for example.

To some, a computer can make the heart sing. For a few of these, it requires a GUI to do so. For others, the command line can be the path to Nirvana. (I'm not particularly exaggerating here, and I'm certainly not joking or being sarcastic.)

YMMV, of course.

masonm 07-17-2007 08:28 PM

Don't get me wrong, I am into computers and do get a lot of enjoyment out of using them, but in the end it isn't the computer itself but what I can do with it. Much like the rake.

rkelsen 07-17-2007 09:16 PM

Paraphrasing masonm; Use whatever works for you to achieve the results you want.

Up until recently, I'd use the CLI for burning CDs. Nowadays, I find it easier to use K3B.

That said, I still find the CLI to be much quicker for most other things.

I always laugh when Windows users complain about having to open a terminal. "You mean I have to MANUALLY edit a text file!?" hehe... Maybe I have a twisted sense of humour...

alred 07-18-2007 10:13 AM

without the command line or apps in their command line form , people will have no choice but to choose between being stucked at where they are forever or write their own and start all over from scratch or "updating" with their own hands by being forced to read others scripture which doesnt concern them in any sense ...

i suspect that those who respect and feel thankfull to the developers of apps in command line form actually love to use apps in gui form more than anyone else ...


.

jiml8 07-18-2007 10:19 AM

The nice thing about a gui is that it keeps you from having to take the time to learn the commands. Your choices are all there for you, and you can pick and choose what you want to do. So long as what you want to do falls within the limitations of the gui, carry on with relatively little pain and a short learning curve.

I love gui commands and frontends, for routine things. But when the going gets tough, there is no substitute for the command line.

b0uncer 07-18-2007 10:28 AM

Easiness of GUI is relative. There's already enough graphical user interfaces that are so difficult to learn and use that I often think "god, why didn't they just provide me with a few simple commands rather than endless forests of menus, cryptic buttons and boxes, and in addition my favourite program was just hidden behind that awkward messagebox, ..."

GUIs are good for simple tasks where you need one finger and something to move the cursor. Good thing is that you'll see several things at once, bad thing is you can't, at least today, combine the tools as powerfully as in console environment. GUIs just don't bend so easily to the form you need.

Like somebody said, as kids we learn to draw and play with images, and when we grow up, we learn to read and write.

manlydan 07-18-2007 10:59 AM

For the average jo user, a GUI is all that is needed. But to really appreciate the system and how it works then knowing the command line becomes a necessity.

I actually got to the point to where even when I start X windows, the first thing I do is bring up a terminal :)

After getting used to typing in my commands rather than clicking them, I feel more comfortable with the terminal than I do with the GUI tools.

alred 07-18-2007 11:08 AM

unless the gui that you clicked can also bring up a command line ... ^_^


//seriously ... what is the difference between a command line "lover" and a gui "lover" ... probably there isnt such a thing as if there are really two distinct types of computer users ...


.

slackhack 07-18-2007 11:14 AM

i like the command line for routine and administrative tasks. but i can't stand it for things like video editing. it seems a little ridiculous that someone should have to remember three lines of options just to perform one command. so for me it all depends on the task.

raska 07-18-2007 11:18 AM

Quote:

Originally Posted by b0uncer
....cryptic buttons and boxes....

That just made me remember of a Solaris consultant who often visits us here, let's call him Charlie.

So, Charlie is like a thirty-something-years-old Unix guru, he can type faster on vi (I'm not saying vim nor elvis, just plain old, Unix vi) any script or code than you could ever dream of. CLI is his natural working environment and he utterly fears any kind of button to click over. Charlie is always saying things like "you can't quite know what that button does", so if there is a way to do something on CLI, he would know about it and prefer it that way.

He mainly helps us with the Veritas volume manager on RAIDed arrays on our production SAP systems, and his fear comes obvious of a graphical interface possibly crashing, or doing something it should not, and leaving us with a wiped-off, screwed up system. Better use the line commands and following his "read ten times, type once" philosophy.

That is just an example of when a GUI is not the best shot ;)

jiml8 07-18-2007 11:35 AM

Quote:

Easiness of GUI is relative. There's already enough graphical user interfaces that are so difficult to learn and use that I often think "god, why didn't they just provide me with a few simple commands rather than endless forests of menus, cryptic buttons and boxes, and in addition my favourite program was just hidden behind that awkward messagebox, ..."
*shrug* That's when you drop to the command line.
Quote:

GUIs are good for simple tasks where you need one finger and something to move the cursor.
They are also good for very complicated jobs where what you want to do is exactly what the gui supports.

Just yesterday on this site I worked someone through a fairly serious problem that had arisen at least in part due to an excessive dependence on gui tools. Along the way I told her (I think it was a her and a fairly young one at that) to ignore the gui tool she had been using because things had gone wrong and we needed to work on the command line. Before we were done, I had her editing hex (using khexedit...a gui tool :) ) and patching her master boot record.

Got the immediate problem fixed, too.

GUI tools certainly have their place. But so does the command line.

manlydan 07-18-2007 11:52 AM

Quote:

Originally Posted by slackhack
i like the command line for routine and administrative tasks. but i can't stand it for things like video editing. it seems a little ridiculous that someone should have to remember three lines of options just to perform one command. so for me it all depends on the task.

Yeah, I use GUI tools for cd/dvd recording (k3b) and sound editing (audacity). Of course I always call the programs from a terminal though ;)

Jorophose 07-18-2007 01:22 PM

I like the command line, in the rare case that X fails on me. Need to be prepared for anything. :)

Forezt 07-18-2007 01:39 PM

I guess that, on a societal scale, things do kind of follow a kind of natural selection, if-the-tool-works-use-it approach (though at the same time this is doubtful since it's not possible for everyone to know and consider all options; and it's really not possible for everyone to consider them on the same criteria or with the same degree of reason. Perhaps in truth marketing has more to do with it than anything else). For businesses, efficiency is the name of the game. A lot of people work the same way.

Out of necessity, everyone has to follow the efficiency rule to some degree (for us perhaps within the constraints of "is it open source / free software?"). Some people, like the person who talked about the rake explained, are more swayed by the artistic, aesthetic, or philosophical implications contained within the tools they use. Maybe, it turns out, these other considerations lead us to more efficient solutions in the end, a loose example being the vi expert mentioned earlier.

With things like video editing, which were visual, intuitive tasks before the digital age, it's definitely much better to use a GUI. Using the command line would be, in the age before computers, like sitting in a room with a bag over your head and telling someone else in a foreign language how to cut your reel, and where to splice, etc. With things that weren't done visually before, though, the command line works beautifully. For example, I manage and listen to my whole music library through Bash. With scripting, I can do almost everything that iTunes did and in a clear, open way that is so beautifully simple it makes my heart race.

But, in the end, like I said (and I may be going out on a limb), I don't think this is where things will be for long. I think that eventually our technology will reach a point when computers, instead of being a tool confined in and of themselves, will be integrated, embedded, form a symbiotic relationship with the tools that we use already. Maybe it's an idea I got from reading too much science fiction, but it seems to stand to my reason, at least.

wjevans_7d1@yahoo.co 07-19-2007 06:16 AM

"The only intuitive interface is the nipple."

For more info on that, see:

http://www.greenend.org.uk/rjk/2002/08/nipple.html

kcarun 07-31-2007 08:40 PM

Hi Friends , I am newbie in this , I dont know whether i have to participate in this discussion,

I think command line is much good for administrative purposes, and it is better for our eyes also!!!

...Arun

jerril 07-31-2007 10:17 PM

A few random thoughts on the CLI
 
  • The great thing about the knowing how to use command line tools and a little scripting is that it gives us the potential to do more than just the few things that are available in a specific program. It can free us to the things we want to do.
  • Practice with the CLI keeps those skills sharp.
  • Every version of Windows seems to have removed itself from these capabilities. Which can be interpreted as dummying down the OS, removing control from the user, and creating fear of a powerful tool.
  • The Longhorn spec included an OO-CLI, I haven't touched Vista, have they done anything interesting with their CLI?
  • It is possible to mess things up very badly with what can seem like a small error. Most of us who experiment with the CLI will quickly learn ways of preventing disaster not only from errors using the CLI but also with console and GUI applications. It is also probably why people who don't learn from their mistakes don't like the CLI.
  • It can often take more time and effort to write a silly little script to do what would have done manually, but we learn more and get more out of the result. If done well, it can end up adding a tool to our own tool box.
  • The CLI operates at a more fundamental level, the knowledge gained here can give us better insight on how to control things at a higher level. It can also get in the way, especially if an application ignores those fundamental concepts.
  • I often find it harder to remember where things are (which menu, tab, setting, etc.) than it is to remember equivalent commands.

Use the right tool for the job. The CLI gives us a bigger toolbox. Including the tools to make more tools. GPL is the ultimate power tool, it helps us to share those tools nicely. Whenever I give thought to the CLI, I have to give thanks to the wonderful people that give me wings.

Have a nice day.
jer

wjevans_7d1@yahoo.co 08-01-2007 07:18 AM

Another advantage to CLI:

At least for me (and for anyone else who has learned to touch type rapidly), there's a certain kinesthetic memory involved in commonly performed tasks. For some of these, I'm no longer aware of what my individual fingers are doing when I ask the computer to do something. It's as though I were "talking" to the computer.

A common example: I can no longer tell you how to do half the things I do in vi. My fingers have learned how to do them. (I'm not bigoted; I'm sure emacs works the same way, but I wouldn't want my daughter to marry one.)

crashmeister 08-01-2007 08:00 AM

Quote:

Originally Posted by Forezt
I've come to think that we're in a very transient stage of computer history, when computers are confined to live in screens. Whether it's nanotechnology, virtual reality, or augmented reality, I think that we'll soon be in a world where the tools of mind are as tangible and manifold in form as the tools of matter.

Do you reeeally believe that the same guys that do the gui interfaces will be able to read your mind and have the computer do what you want anytime soon?

What it comes down to is after all designing the interface - be it graphical or reading direct from your mind.They don't do a great job now and the mindreading wont be any easier.

Actually that could be fun:
'But I did think rm -f /star NOT rm -f /*!'

And if you touch around in midair (like the movies) you'd still need something to touch at (Hint: GUI).

hacker supreme 08-01-2007 11:38 AM

crashmeister, is your mind reading interface playing up a little?

Were you thinking: 'rm -rf /star'? (You missed off the recursively bit.)
:D

crashmeister 08-01-2007 02:57 PM

Told you - it ain't going to work :rolleyes:

SCerovec 08-04-2007 07:10 PM

CLI + completion + bash3 + lip-reading --> no GUI needed ;)

SlowCoder 08-04-2007 09:14 PM

GUIs are nothing more than eye-candy, adding visual appeal to an otherwise blah CLI.

To me, a properly designed GUI would be truly intuitive. For this to happen, the interface would need to be true 3D, just like our world. Something we can almost tangibly touch and see as if it is real, right in front (or behind) us.

Instincts are a powerful God given asset. They provide us subconscious insight that our intellect alone may not see. In a proper GUI our instincts can aide us in our task at hand, rather than leaving us to our intellect only.

I believe if I was in this GUI, with the computer "desktop" floating around me in 3D, I could utilize my machine faster, and my physical responses would be much faster than I could ever perform with a mouse. Think about utilizing both hands and both feet to do your job?

I don't believe this type of GUI should be too far in the future. We already have 3D games capable of virtual reality. Why not use that technology to create a desktop?

SCerovec 08-05-2007 04:57 AM

Only thing I can imageine using my two hands and both foots for GUI is landing on my back :D
I would prefer voice control over that picture first :)

Imagine:
1. You sitting and gazin trough a window with gorgeous landscape...
2. The computer listens ...
3. John: "Box, invite peter and his girlfriend to lunch tomorrow"
4. Box: "Shall I invite them separately, or both on peter's email"
5. John: "Both"
6. Box: "The mail is sent successfully"
7. silence
8. Box: "You have new mail, shall I read it out?"
9 John: "Yes please..."
10. Box: "Subject: Returned mail: see transcript for details,..."

:D

For practice of above scenario, use a pall at You disposal and have him (or her) be the interface between the OS and the operator :D

manlydan 08-05-2007 12:48 PM

Quote:

Originally Posted by SlowCoder
I don't believe this type of GUI should be too far in the future. We already have 3D games capable of virtual reality. Why not use that technology to create a desktop?

Such a desktop would eat up resources, making the system much slower than it would be otherwise. Unless you have a monster of a machine with tons of ram, multiple processors, and multiple video cards, then I don't think this kind of desktop would be practical just yet.

SlowCoder 08-05-2007 02:53 PM

Quote:

Originally Posted by manlydan
Such a desktop would eat up resources, making the system much slower than it would be otherwise. Unless you have a monster of a machine with tons of ram, multiple processors, and multiple video cards, then I don't think this kind of desktop would be practical just yet.

Very true. But if you'll remember, it was only about 20 years ago that computers only had 640KB RAM, and had 8MHz processors. 20 years from now, gosh ...

Also, there appears to be a return to centralized and distributed computing. In a few years, we could all be contributing our unused processing cycles for a central means of collaboration. With that type of resource sharing, I can see it as very feasible that we could participate in a true virtual 3D world.

Besides, the technology is already here. We have "Second Life", an online 3D world, created specifically for commerce and collaboration. We have virtual reality hardware (goggles, gloves, body suits that the movie business uses for 3D modelling).

Put all that together, along with the Internet, and you've got something nice.

Robhogg 08-05-2007 03:47 PM

I use both GUIs and the CLIs (often at the same time, for slightly different purposes). I could not always say exactly why I use one or the other for a particular purpose, other than that it seems right to do so, but (for example) in Linux I will usually search for files using find and/or grep because of the greater flexibility (alas not available with the Windows CLI).

Using databases, it strikes me that the command line is easier when dealing with batches of data (even in MS access, it is often better to edit the SQL directly for complex queries). However, for working with and modifying single records the GUI wins hands-down (and the CLI is a right pain).

At work, we have a Ubuntu server which my colleague usually accesses via VNC. I haven't yet bothered to install the client on my PC, finding ssh the most natural way to work with it.

When using a GUI text editor, I sometimes find myself unconsciously typing <ESC>:w when I want to save.

:twocents:

Rob

jerril 08-05-2007 06:06 PM

Rob

Thanks for reminding me, I use SSH so often I tend to forget that I connect to my home server using ssh. I can do all of my day-to-day tasks from the shell so I can use any machine in the house to work with my server.

When I was still having problems running Linux on my laptop; it made little difference, I used PuTTy to work with my files.

The shell is the easiest way to work with a remote machine. Now I add the -X option to the SSH command I use to work with my server; this makes it easy to use many of the GUI apps that are on the remote machine.

The odd bit here: if I launch Mozilla from the networked shell -- it uses the client version of Mozilla not the one on the host.

jer
:w

hacker supreme 08-05-2007 06:24 PM

Quote:

Originally Posted by Robhogg
When using a GUI text editor, I sometimes find myself unconsciously typing <ESC>:w when I want to save.

You too?

;)

:wq

SCerovec 08-06-2007 08:11 AM

not me, I allways try to save with [esc],[esc],Z,Z
or even more often with [F2],[enter]
newer with [Ctrl]+s
:(
Damn

rkelsen 08-06-2007 06:11 PM

Quote:

Originally Posted by SCerovec
or even more often with [F2],[enter]

Heh. My F2 and F5 keys are really shiny too!


All times are GMT -5. The time now is 04:03 PM.