>Hit F7 to pull up a list in an overdrawn 'window' to chose from the last 7 or so commands or hit up, down, left or right keys
>The the arrows only give you a history of 7 too?
No. F7 puts up a text box of the last several commands, numbered 0 to 10, which you can select. I didn't know about F7. The command history, accessed by arrows, defaults to 200 command lines, but you can set it to 5000 at least, if you like. Function keys F1 through F9 all do something useful. I knew about F3 from DOS.
>2)TAB - complete
>Which is very annoying because of the fact that you have to keep hitting tab to cycle through the options
What does bash do; read thoughts so you don't have to press any key? But seriously, if bash does it nicer, I missed it.
>3. Write a script that will do a backup of your home folder into a compressed archive
> that stores it on a local FTP server.
>All these things are possible, but they aren't easy in Windows CLI. ..
I don't get why this should be harder in Windows, if you have command line versions of the relavent utilities. Write a batch file. The are CL zip utilities. XP has some command line ftp utility.
Command line ftp doc
"Ftp
Transfers files to and from a computer running a File Transfer Protocol (FTP) server service such as Internet Information Services. Ftp can be used interactively or in batch mode by processing ASCII text files.
"
Command-line reference A-Z
>But lets be frank. Command line processors are relics. They are crap. Their only rationale is
> their ease of implementation.
>You ever try to write one? Writing a decent one isn't easy.... I would think writing a
>simple GUI environment (given a framework that lets you create buttons/etc...
>like in VB or Java + SWT) wouldn't take as long.
That's because Windows is already written. Now if you had to write Windows first ...
I state the obvious and I get an argument. Why? The fact remains: A CLI's only rationale is the ease of implementation. You know it. I know it. The good GUIs for linux took years to write, and they are not complete, and that's with X already there to use. This, despite the fact that a GUI's only difference is the presentation to the user. A lot of the apps are "frontends" to a command line version, I understand. However, the main aspect of "ease of implementation" I was referring to is compactness and device independence. A lot less to go wrong. That's why the XP "recovery console" is not a recovery GUI.
I know its hard to write ANY program, because I am a very, very amateur programmer. I never write an interface. I do:
cout << " this is it. x =" << x << "\n";
or I just examine the variable in the Visual Studio debugger. If I need to keep the output, I run the program at a command prompt and redirect the output to a file. I do it that way not because it the best way. I'd like to have it in pretty, mathematically correct symbolic typography. That would be hard. I do it the crappy way because its easy.
>You're saying the commandline is good now?
yourself. Command line shells stink on ice. There is probably nothing that couldn't be accomplished easier and the function presented more clearly with a more complex interface. I always have multiple versions of Windows on my HD for cases where I would have to resort to a command line (like recovery console) for things the main OS won't allow you to do to it while it is running. I don't have a phobia toward using a CL interface if that's all there is. It just sucks toenails. I was using CP/M on an S100 Z80, and a Heathkit CRT terminal for many years before the IBM PC showed up. CP/M was totally CLI. I had a "music" board that basically output programmable waveforms, and I wrote a progam in 8080 assembly language to make it useful. The assembler was a command line assembler, of course. Even back then assemblers had 30 command line switches. My program took musical notation that I read from sheet music and I typed in a text format of my own creation into a text editor, and translated that to a compiled file. It had multiple defined instuments and multiple notes per instrument, variable level per note, etc. Then the program took the compiled form and transformed it into waves that were assemble into notes, that were assembled into songs and fed to the music board. It was a command line program, of course. You can imagine how bad that sucked: typing in musical notation as text. It worked, but don't tell me it was good. Now, admittedly even at the time I used a full screen editor (as they were called then), so 99% of the work was not at a CL. Full screen editors were kind of new and expensive. I got the first cheap one there was, not WordStar. The usual editor was a line editor. That's right: you entered a line at time, and revised the text painstakingly by giving commands to access a given line, and giving commands to alter the line a certain way. The way you saw what it might look like was to give a command to type say 16 lines, and the 16 lines would scroll. No cursor keys, no page keys, no scroll bars and of course no mouse because terminals didn't have one. You namby-pamby pampered linux cyberpunks have no real idea of what a CL is unless you use a line oriented editor, like I did for quite a while. DO NOT PREACH TO ME ABOUT HOW BEAUTIFUL AND PRECIOUS A CL IS! Back then the cyberpunks all insisted that a line editor was better than a full screen editor. And you are still at it.
>MS's commandline is well-thought-out? Try "netstat -?". Then try "dir -?". ...
CMDs built in commands are comparitively well thought out as these thing go. This is starting from a statistical norm that is rotten. Most things in general start out straightforward, then new things are added whidh can't be made to fit quite right, and finally are a hodge podge of ad hoc incomprehensibility. The NT/XP utilitiies (external commands) look like MS is using unix style switches (to be POSIX compatible) for anything beyond the old DOS commands, while the old DOS commands keep the old style for compatibility. netstat /? does work though. In fact all the netstat switches seem to work with either a - or /. Maybe unix utilities prodigious array of switches have this origin: perhaps some are due to a later revision or reorganization, while the older set are kept for compatibility with old scripts. Or maybe liinux afficiandos all have super-sized brains for which endless profusion is no obstacle. Linux command lines are compact programs in themselves.
>source run_spice.csh -log foo.txt && sort -n +18 foo.txt |head -n 5
Ok, so maybe it took me half an hour to figure out how to do that the first time.
>But once I do it the first time, I can just do "!sou" to run it again in the
> same shell. If that was a GUI, you'd be clicking... and clicking... and clicking.
No reason it could not be simpler to work out this command with a better interface. It is a kind of short program, which is error prone for most normal people. IAC, it would just be a so-called macro you run in a GUI.