Slashdot Mirror


The Command Line - Best Newbie Interface?

An anonymous reader writes "This essay describes the surprising results of a brief trial with a group of new computer users about the relative ease of the command line interface versus the GUIs now omnipresent in computer interfaces. It comes from practical experience I have of teaching computing to complete beginners or newbies as computer power-users often term them."

17 of 885 comments (clear)

  1. Re:The 'help' command by pandrijeczko · · Score: 5, Informative
    Just do an alias of "help" to "man -k".

    As long as "makewhatis" is setup first, that will do about the same thing.

    --
    Gentoo Linux - another day, another USE flag.
  2. Re:4Dos by muffen · · Score: 4, Informative

    Remember??

    I still today spend way more time in a 4DOS (or well, 4NT) prompt than I do in the windows GUI.
    Virtually everything I do at work is done via 4NT BTM files (batchfiles that only work in 4DOS/4NT).

    The CMD line interface is really good, and it makes me a little sad that new computerusers don't realize this.
    Some things are just done so much quicker using the CMD interface...

    For example, I use multiple computers at work, and I have to transfer files between them all the time.. I do this using 4NT BTM's, and it takes a few seconds to transfer a file... doing the same thing in a FTP app takes much longer...

  3. Re:The 'help' command by PowerBert · · Score: 5, Informative

    bash has a help builtin which will direct the user to man and info commands.

    $ help foobar
    -bash: help: no help topics match `foobar'. Try `help help' or `man -k foobar' or `info foobar'.

  4. Perfect Example - ImageMagick by Gothmolly · · Score: 3, Informative

    bash$> for tif in `ls *.tif` ; do convert $tif -border 50 -bordercolor \#FFFFFF -quality 100 -scale 25% -resolution 96 `cat $tif | cut -f1 -d"."`.jpg ; done

    Put THAT in your GUI.

    --
    I want to delete my account but Slashdot doesn't allow it.
    1. Re:Perfect Example - ImageMagick by ScRoNdO · · Score: 4, Informative

      Well, that would be better:

      for image in *.tif; do convert $image -border 50 -bordercolor \#FFFFFF -quality 100 -scale 25% -resolution 96 ${image%.tif}.jpg; done

      no need to do `ls *.tif`, and the bash specific construct ${image%.tif} removes a trailing occurence of the word '.tif' from the string $image

  5. Obligatory IBM Model M link by oneiros27 · · Score: 5, Informative
    The Model M is still being made, under a different name, but you can now get them with a 'windows' key, or even in black.
    http://www.pckeyboard.com/customizer.html
    --
    Build it, and they will come^Hplain.
  6. Re:Microsoft demonized the command prompt... by Big+Nemo+'60 · · Score: 3, Informative

    ...and oddly enough, (a) Microsoft added some sixty (!) command-line functions in Windows Server 2003 and (b) "Longhorn" (ETA most likely 2006 by now) is due to have a *NIX-grade Command Shell (IIRC the codename for development is "monad")

    These tools seem mostly geared towards system and network administrators and such. However, looks like they have changed their mind a bit on the matter...

    --
    In the long run we are all dead. - John Maynard Keynes (1883 - 1946)
  7. Re:Command line is your friend by adept256 · · Score: 3, Informative

    I couldn't agree more. I went without a mouse for two weeks using winXP. Why? Long story! Anyhow, I became so familiar with the keyboard shortcuts, I was soon using the GUI faster than when I was using a mouse.

    The keyboard shortcuts are faster (in general) than the mouse-work it would take to do the same thing. There are stumbling blocks, somethings are *impossible* with a keyboard, but on the whole I found a way to do most things. Getting the context-menu from an icon in the system tray isn't as fast as with a mouse, but it's not impossible. Selecting text in IE is impossible, but you can always 'view source' and copy from there.

    I still use a mouse of course! They're indispensible, but I'm not as reliant on it. I do shudder when I see someone take as many as 10 mouse-clicks in what can be done in 3 keystrokes. Yes, the keyboard is powerful, and under-rated.

    On-topic: I thought the whole idea of GUIs was to make the whole experience more 'user-friendly' for beginners. Maybe in the beginning, but looking around my GUI and it's myriad dispirit elements it's easy to see how a simple 'C:\>' would be a far easier to comprehend starting point for newbies.

    --

    I ran a benchmark on my quantum computer, now I can't find it anywhere!
  8. Re:CLI vs GUI Ease of Use by Lussarn · · Score: 3, Informative

    Your pathnames argument is just wrong. Ever heard of tab completion? GUIs mostly suck because they don't have it. Of course the much critisized GTK+ file selector is one of those that do have it. Learn it and use it, never click again.

  9. Re:CLI vs GUI Ease of Use by CoolToddHunter · · Score: 3, Informative

    Your whole argument does a poor job telling me why a GUI is better than a CLI. What is does an excellent job at is telling me the differences between the two and the situations in which I would use one or the other, and I really think that is the key.

    There are huge differences between the GUI and CLI and they do entirely different things. You use the example of Photoshop or other "applications" that don't really translate well to the CLI. You need the GUI for that. In the CLI, we use "programs" that take care of a specific task and no more. As you say, "fully specified." Great for automation or batch jobs.

    I think this is why most people who use *NIX on a personal machine have some sort of desktop on which they can run "applications" and will drop into a shell when they need to run a "program".

    Now, which is easier for newbies is obviously up for debate. It's been a long time for me, so I'm really poorly qualified to comment on that.

  10. Re:CLI vs GUI Ease of Use by ajs318 · · Score: 3, Informative
    Precisely. Try doing the equivalent of this in a GUI;
    for i in *wav; do lame -h $i && rm $i; done
    You can spend more time fart-arsing around with a drag-and-drool interface than it would have taken you to do it on the command line. That was what I loved about AutoCAD R12 ..... you could type in exact co-ordinates instead of trying to get a pixel-perfect click, and it cared not which method you chose. Ah, happy days. I seem to remember there may have been an AutoCAD for Unix. Anyone ever get it to compile on Linux?
    --
    Je fume. Tu fumes. Nous fûmes!
  11. And now, everybody read by bkhl · · Score: 3, Informative

    In the Beginning was the Command Line, by Neal Stephenson. It's available in text form from http://cryptonomicon.com/beginning.html.

  12. Re:The 'help' command by Skweetis · · Score: 3, Informative

    I think you just redesigned bash completion. This does the "cd a" thing exactly how you want it to. I don't think it handles the argument expansion thing yet though. That would be doable though. Most programs use getopt() to parse arguments, it is probably possible to put hooks into that function that bash could use to do the expansion. It wouldn't be trivial, since you would have to run the program in the background to see what arguments it accepts (probably something similar to how ldd runs a program to determine what libraries it uses), but it could be done.

  13. Re:The 'help' command by Bitmanhome · · Score: 3, Informative

    That was great! However, he actually appears with four eyes and a squiggly hair. This looks much better:

    PS1="\w \`if [ \$? = 0 ]; then echo :\\\); else echo :\\\(; fi\` "

    --
    Not that this wasn't entirely predictable.
  14. A very good idea by Pan+T.+Hose · · Score: 3, Informative

    I'd wager that computer literacy amongst people who've tried Linux would be twice what it is today if when you typed help foobar bash would perform a man foobar if 'foobar' wasn't a builtin command. And it'd probably be double that if you incorporated some kind of search facility too. Type in help disk space and get a hit on the df command, for instance.

    I think that is a very good idea and for that reason after reading your comment I decided to write such a program according to your specification.

    Just remember who has just made Linux four times what it was today: me, Pan T. Hose, PhD.

    That having been said, I'll post that program in another comment, because I have to post it as "Code" instead of "HTML." Please mod it up (the actual code, as well as the instructions below) as Score:5, Insightful, so everyone could read it and install, because I think every Slashdotter deserves to have her Linux four times better than it has ever been.

    You have to save my program as /usr/local/bin/smarthelp, then run:

    chmod a+rx /usr/local/bin/smarthelp

    as root and insert this line in your ~/.bashrc file:

    [ $PS1 ] && alias help=smarthelp

    Remember to give me credit and to not violate the GNU General Public License it is hereby released under. The code follows:

    --
    Sincerely,
    Pan Tarhei Hosé, PhD.
    "Homo sum et cogito ergo odi profanum vulgus et libido."
  15. The PTH(R) Smart Help(TM) program - PLEASE MOD UP! by Pan+T.+Hose · · Score: 3, Informative

    #!/bin/bash

    # save it as /usr/local/bin/smarthelp
    # chmod a+rx /usr/local/bin/smarthelp
    # and insert this line in ~/.bashrc:
    #
    # [ $PS1 ] && alias help=smarthelp

    # PTH(R) Smart Help(TM) v1.0.1-pre2
    # http://slashdot.org/comments.pl?sid=99801&cid=8510 901
    # Copyright (C) 2004 Pan T. Hose, PhD.
    # http://slashdot.org/~Pan+T.+Hose
    #
    # This program is free software; you can redistribute it and/or modify
    # it under the terms of the GNU General Public License as published by
    # the Free Software Foundation; either version 2 of the License, or
    # (at your option) any later version.
    #
    # This program is distributed in the hope that it will be useful,
    # but WITHOUT ANY WARRANTY; without even the implied warranty of
    # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
    # GNU General Public License for more details.
    #
    # You should have received a copy of the GNU General Public License
    # along with this program; if not, write to the Free Software
    # Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA

    a=${@:-help}; help "$a" 2>/dev/null || man "$a" || apropos "$a"

    --
    Sincerely,
    Pan Tarhei Hosé, PhD.
    "Homo sum et cogito ergo odi profanum vulgus et libido."
  16. Re:The 'help' command by zaphod110676 · · Score: 4, Informative

    I've never found info intuitive at all. The pinfo command however works great. It is a lynx style viewer for info pages. It required little work to figure out and is great when you hit those man pages that say:
    "The full documentation for ls is maintained as a Texinfo manual."

    --
    To Do: 1. Take over world 2. Pick up Milk and Bread on the way home