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? |
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.
|
Quoth masonm
Quote:
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. |
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.
|
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... |
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 ... . |
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. |
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. |
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. |
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 ... . |
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.
|
Quote:
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 ;) |
Quote:
Quote:
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. |
Quote:
|
I like the command line, in the rare case that X fails on me. Need to be prepared for anything. :)
|
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. |
"The only intuitive interface is the nipple."
For more info on that, see: http://www.greenend.org.uk/rjk/2002/08/nipple.html |
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 |
A few random thoughts on the CLI
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 |
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.) |
Quote:
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). |
crashmeister, is your mind reading interface playing up a little?
Were you thinking: 'rm -rf /star'? (You missed off the recursively bit.) :D |
Told you - it ain't going to work :rolleyes:
|
CLI + completion + bash3 + lip-reading --> no GUI needed ;)
|
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? |
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 |
Quote:
|
Quote:
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. |
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 |
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 |
Quote:
;) :wq |
not me, I allways try to save with [esc],[esc],Z,Z
or even more often with [F2],[enter] newer with [Ctrl]+s :( Damn |
Quote:
|
All times are GMT -5. The time now is 04:03 PM. |